@font-face{font-family:DM Sans;src:url('/experts/dm.woff2') format('woff2');font-display:swap}
@font-face{font-family:Nunito Sans;src:url('/experts/nunito.woff2') format('woff2');font-weight:800;font-display:swap}
:root{color-scheme:light;--paper:#fffbf2;--card:#fffefa;--ink:#294968;--deep:#183047;--muted:#596978;--line:#e9e5da;--butter:#f2ca66;--soft:#fbefc9;--sky:#e0edf4;--sage:#e4eddd;--error:#943b32}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 'DM Sans',system-ui,sans-serif}
header{background:var(--card);border-bottom:1px solid var(--line)}
.bar,main{max-width:1240px;margin:auto;padding:16px clamp(16px,4vw,46px)}
.bar,.row,.task{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.brand,h1,h2,h3{font-family:'Nunito Sans',system-ui,sans-serif;font-weight:800;color:var(--deep)}
.brand{font-size:33px;letter-spacing:-.08em;text-decoration:none;line-height:1}
.brand span{color:#986900}.product{padding-left:12px;border-left:1px solid var(--line)}
#sign-out{margin-left:auto}
main{display:grid;gap:18px;padding-top:28px}
h1,h2,h3,p{margin:0}h1{font-size:clamp(29px,5vw,44px);letter-spacing:-.05em;line-height:1.1}
h2{font-size:21px}h3{font-size:16px}.muted,small{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:bold}
.grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:16px;align-items:start}
.stack,form,label{display:grid;gap:9px}.stack{gap:14px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:19px;padding:17px;display:grid;gap:13px;min-width:0}
.panel.sky{background:var(--sky);border-color:var(--sky)}.narrow{width:min(100%,475px);margin:30px auto}
.split,.task{justify-content:space-between}.task{padding-top:10px;border-top:1px solid var(--line)}
.badge{background:var(--soft);border-radius:24px;padding:4px 9px;font-size:12px;font-weight:bold}.badge.blue{background:var(--sky)}.badge.green{background:var(--sage)}
button,input,select,textarea{font:inherit;color:inherit;background:var(--card);border:1px solid #d9d8ce;border-radius:11px;padding:8px 11px;min-height:40px;min-width:0}
button{cursor:pointer;font-weight:bold}button:hover{border-color:var(--ink)}button:disabled{opacity:.55;cursor:wait}button.primary{background:var(--butter);border-color:var(--butter);color:var(--deep)}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
input[type=checkbox]{min-height:auto}textarea{width:100%;resize:vertical;min-height:74px}
.notice{padding:9px 12px;border-radius:10px;background:var(--sky)}.error{color:var(--error)}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:8px 5px;border-bottom:1px solid var(--line)}th{font-size:12px;color:var(--muted)}td input{width:100%;min-width:70px}
details>summary{cursor:pointer;font-weight:bold}details[open]>summary{margin-bottom:9px}
ul{margin:0;padding-left:22px}.qr{width:180px;height:180px}.answer{white-space:pre-wrap;overflow-wrap:anywhere}
[hidden]{display:none!important}
@media(max-width:720px){.grid{grid-template-columns:1fr}.panel{padding:13px}}

/* Workspace controls share the same keyboard and touch behavior. */
.workspace-nav {
  padding: 10px 0;
  border-block: 1px solid var(--line);
}
.workspace-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 5px 9px;
}
.workspace-nav a, .panel a, dialog a { color: var(--ink); }
button { min-height: 44px; }
fieldset {
  display: grid;
  gap: 10px;
  min-width: 0;
  margin: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
}
legend { padding: 0 5px; font-weight: bold; }
input[type=checkbox] { accent-color: var(--ink); }
.day-row {
  display: grid;
  grid-template-columns: minmax(100px, 1fr) minmax(0, 2fr);
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}
.day-options label, .check {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  gap: 6px;
  cursor: pointer;
}
.day-options label { padding: 0 6px; }
.day-row .row { gap: 8px; }
.task-card { padding: 12px; border: 1px solid var(--line); border-radius: 12px; }
.history { background: var(--paper); }
.history-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
#roster-editor { scroll-margin-top: 20px; }
#roster-editor form { gap: 14px; }
#source-dialog {
  position: fixed;
  inset: 12px 12px 12px auto;
  width: min(48vw, 760px);
  height: calc(100dvh - 24px);
  max-height: none;
  margin: 0;
  background: var(--card);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 12px 36px #18304730;
  padding: 14px;
}
#source-dialog[open] { display: grid; grid-template-rows: auto 1fr; gap: 8px; }
#source-dialog iframe { width: 100%; height: 100%; border: 0; }
body:has(#source-dialog[open]) main { margin-right: min(48vw, 760px); }
body:has(#source-dialog[open]) main > .grid { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 720px) {
  .day-row { grid-template-columns: 1fr; }
  .history-grid { grid-template-columns: 1fr; }
  #source-dialog { inset: 8px; width: calc(100vw - 16px); height: calc(100dvh - 16px); }
  body:has(#source-dialog[open]) main { margin-right: auto; }
}
