:root{--brand:#1f2937;--accent:#1f2937;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ink:#14181f;--ink-soft:#5b6472;--line:#e2e6ec;--surface:#fff;--page:#f6f7f9;--hover:#e6eaf0;--danger:#b42318;--radius:10px}*{box-sizing:border-box}body{font-family:var(--font);color:var(--ink);background:var(--page);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}h1{margin:0 0 .25rem;font-size:1.6rem}h2{margin:0;font-size:1.05rem}.boot{background:var(--page);min-height:100vh}.boot-error{text-align:center;max-width:30rem;margin:20vh auto;padding:2rem}.signin{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.signin-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:1rem;width:100%;max-width:24rem;padding:2rem;display:flex}.signin-brand{text-align:center;margin-bottom:.5rem}.signin-logo{max-width:180px;max-height:48px;margin-bottom:.75rem}.tagline{color:var(--ink-soft);margin:.25rem 0 0;font-size:.9rem}.signin-links{justify-content:center;gap:1rem;font-size:.8rem;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:10;align-items:center;gap:2rem;padding:.75rem 1.5rem;display:flex;position:sticky;top:0}.topbar-brand{color:var(--brand);align-items:center;gap:.6rem;font-weight:600;display:flex}.topbar-brand img{max-width:120px;max-height:28px}.topbar nav{flex:1;gap:1.25rem;display:flex}.topbar nav a{color:var(--ink-soft);border-bottom:2px solid #0000;padding:.35rem 0;font-size:.92rem;text-decoration:none}.topbar nav a.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:500}.topbar-user{align-items:center;gap:.75rem;font-size:.88rem;display:flex}main{max-width:52rem;margin:0 auto;padding:2rem 1.5rem 4rem}.stack{flex-direction:column;gap:1.25rem;display:flex}.page-intro p{color:var(--ink-soft);max-width:42rem;margin:.35rem 0 0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1.5rem 1.5rem}.card>header{align-items:center;gap:.6rem;margin-bottom:.25rem;display:flex}.card-sensitive{background:#fffdf7;border-color:#d9c9a3}.badge{text-transform:uppercase;letter-spacing:.04em;color:#7a5c15;background:#f3e9d2;border-radius:999px;padding:.15rem .45rem;font-size:.7rem;font-weight:600}.card-description{color:var(--ink-soft);max-width:44rem;margin:.35rem 0 0;font-size:.88rem}.fields{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;margin-top:1.25rem;display:grid}.field{flex-direction:column;gap:.3rem;display:flex}.field-wide{grid-column:1/-1}.field-label{color:var(--ink-soft);font-size:.82rem;font-weight:500}.field-hint{color:var(--ink-soft);font-size:.76rem}input,select,textarea{font:inherit;color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:7px;width:100%;padding:.5rem .65rem;font-size:.92rem}input[type=checkbox]{width:auto}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:-1px;border-color:var(--brand)}textarea{resize:vertical}.card-footer{justify-content:flex-end;align-items:center;gap:1rem;margin-top:1.25rem;display:flex}button{font:inherit;border:1px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer;border-radius:7px;padding:.5rem 1.1rem;font-size:.9rem;font-weight:500}button:disabled{opacity:.6;cursor:default}button.secondary{color:var(--brand);background:0 0}button.link,a{color:var(--brand)}button.link{cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.item-list{flex-direction:column;gap:.5rem;margin:1rem 0 1.25rem;padding:0;list-style:none;display:flex}.item-list li{border:1px solid var(--line);border-radius:7px;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .8rem;font-size:.9rem;display:flex}.row-actions{white-space:nowrap;align-items:center;gap:.9rem;font-size:.85rem;display:flex}.draft{border:1px dashed var(--line);border-radius:7px;margin-top:.5rem;padding:1rem}.draft .fields{margin-top:0}.muted{color:var(--ink-soft);font-size:.88rem}.error{color:var(--danger);margin:.5rem 0 0;font-size:.85rem}.saved{color:#067647;font-size:.85rem}.back{margin-bottom:.5rem;font-size:.85rem;text-decoration:none;display:inline-block}.card-notice{background:#f5f9ff;border-color:#b9d3f0}.card-notice .badge{color:#1c4e8a;background:#dceafb}.value{font-size:.92rem}.item-list li.refused{background:#fdf6f5;border-color:#e8c4c0}.item-list li>span:first-child{min-width:0}.spacer{flex:1}.pill{background:var(--line);color:var(--ink-soft);white-space:nowrap;border-radius:999px;padding:.12rem .5rem;font-size:.72rem}.pill-in_progress{color:#7a5c15;background:#fdf0d0}.scores{flex-direction:column;gap:1rem;margin-top:1.25rem;display:flex}.score-head{justify-content:space-between;align-items:baseline;margin-bottom:.3rem;display:flex}.score-name{font-size:.92rem;font-weight:500}.score-value{font-variant-numeric:tabular-nums;font-size:.92rem}.score-track,.progress{background:var(--line);border-radius:999px;height:8px;overflow:hidden}.score-fill,.progress-fill{background:var(--brand);border-radius:999px;height:100%;transition:width .25s}.progress{margin:1rem 0 1.5rem}.quote{border-left:3px solid var(--line);color:var(--ink);margin:.4rem 0;padding-left:.9rem;font-size:.93rem}.written+.written,.interpretations{margin-top:1rem}.question{margin:1.5rem 0}.question-text{margin:0 0 1.25rem;font-size:1.15rem;line-height:1.4}.scale{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.scale-label{color:var(--ink-soft);flex:1;font-size:.8rem}.scale-label:last-child{text-align:right}.scale-points{gap:.5rem;display:flex}.scale-point{background:var(--surface);width:44px;height:44px;color:var(--ink-soft);border:1px solid var(--line);border-radius:50%;font-size:.95rem}.scale-point.chosen{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.choices{flex-direction:column;gap:.6rem;display:flex}.choice{text-align:left;background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:.85rem 1rem;font-weight:400}.choice.chosen{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 8%, var(--surface));font-weight:500}.button-link{background:var(--brand);color:#fff;border-radius:7px;padding:.5rem 1.1rem;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-block}.questions-compact{margin:1.5rem 0 0}.question-row{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:.5rem 1.5rem;padding:1rem 0;display:grid}.question-row:first-child{border-top:none;padding-top:0}.question-row-text{margin:0;font-size:.95rem;line-height:1.45}.question-number{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin-right:.4rem}.question-row .field-hint{grid-column:1/-1;margin:0}.question-row textarea,.question-row .choices-compact{grid-column:1/-1}.scale-compact .scale-points{gap:.35rem}.scale-compact .scale-point{width:36px;height:36px;font-size:.85rem}.choices-compact{flex-flow:wrap;gap:.5rem}.choices-compact .choice{padding:.5rem .85rem;font-size:.88rem}@media (width<=640px){.question-row{grid-template-columns:1fr}.scale-compact .scale-points{justify-content:space-between;width:100%}}.builder-question{border-top:1px solid var(--line);padding:.9rem 0}.builder-question:first-of-type{border-top:none}.builder-question-head{flex-wrap:wrap;align-items:baseline;gap:.6rem;display:flex}.builder-question-text{flex:1;min-width:12rem;font-size:.95rem}.builder-meta{white-space:nowrap;font-size:.78rem}.builder-options{flex-direction:column;gap:.4rem;margin:.6rem 0 0 1.6rem;padding:0;list-style:none;display:flex}.builder-options li{align-items:center;gap:.75rem;font-size:.88rem;display:flex}.builder-options li>span:first-child{flex:1}.new-option{gap:.5rem!important}.new-option input:first-child{flex:1}.new-option input[type=number]{width:5rem}.pill-draft{color:#4a5260;background:#e8eaee}.pill-published{color:#08653c;background:#d9f2e4}.pill-archived{color:#6b5b52;background:#ece7e4}.pill-blocking{color:#8a2318;background:#f8dcd8}.pill-major{color:#7a5c15;background:#fdf0d0}.pill-minor{color:#4a5260;background:#e8eaee}.card h3{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:1.25rem 0 .35rem;font-size:.82rem}.card h3:first-of-type{margin-top:.5rem}.tabs{border-bottom:1px solid var(--line);gap:.25rem;margin-bottom:-.35rem;display:flex;overflow-x:auto}.tab{color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:.5rem .85rem;font-size:.9rem}.tab:hover{color:var(--ink)}.tab-current{color:var(--ink);border-bottom-color:var(--accent,#2b6cb0);font-weight:600}.readonly-value{color:var(--ink-soft);white-space:pre-wrap;padding:.45rem 0;display:block}.item-list li.editing{display:block}.logo-preview{max-width:16rem;max-height:4rem}.term-list li{align-items:flex-start}.term-list .fields{margin-top:.5rem}.role-picker{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:.4rem;display:flex}.role-choice{color:var(--ink-soft);align-items:center;gap:.3rem;font-size:.85rem;display:inline-flex}.handover{letter-spacing:.02em;background:var(--page);border:1px solid var(--line);border-radius:var(--radius);-webkit-user-select:all;user-select:all;padding:.6rem .8rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.05rem}.signin-tabs{margin-bottom:.25rem}.signin-note{text-align:center;margin:.25rem 0 0;font-size:.82rem}.calendar{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);text-align:center;padding:.3rem 0;font-size:.72rem}.calendar-day{aspect-ratio:1/.8;background:var(--page);cursor:pointer;color:var(--ink);border:1px solid #0000;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;font-size:.85rem;display:flex;position:relative}.calendar-day:hover{border-color:var(--line)}.calendar-outside{color:var(--ink-soft);opacity:.45}.calendar-today .calendar-date{color:var(--accent);font-weight:700}.calendar-selected{border-color:var(--accent);background:var(--surface)}.calendar-count{background:var(--accent);color:#fff;border-radius:999px;min-width:1.05rem;padding:0 .25rem;font-size:.65rem;line-height:1.05rem}.voice{margin-top:.75rem}.voice p{white-space:pre-wrap;margin:.15rem 0 0}.item-list.compact li{border:none;padding:.25rem 0}.done{color:var(--ink-soft);text-decoration:line-through}.pill-completed{color:#08653c;background:#d9f2e4}.pill-cancelled{color:#6b5b52;background:#ece7e4}.pill-no_show{color:#8a2318;background:#f8dcd8}.pill-scheduled{color:#4a5260;background:#e8eaee}.timegrid{grid-template-columns:3.25rem repeat(var(--timegrid-days), 1fr);gap:0 2px;display:grid;overflow-x:auto}.timegrid-corner{height:2.6rem}.timegrid-head{cursor:pointer;height:2.6rem;color:inherit;font:inherit;background:0 0;border:1px solid #0000;border-radius:6px 6px 0 0;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;display:flex}.timegrid-head:hover{border-color:var(--line)}.timegrid-dayname{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-size:.7rem}.timegrid-daynum{font-size:.95rem;line-height:1}.timegrid-head-today .timegrid-daynum{color:var(--accent);font-weight:700}.timegrid-head-selected{border-color:var(--accent);background:var(--surface)}.timegrid-gutter{flex-direction:column;display:flex}.timegrid-hour{height:3rem;position:relative}.timegrid-hour span{color:var(--ink-soft);font-size:.68rem;position:absolute;top:-.45rem;right:.4rem}.timegrid-col{z-index:0;border-left:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}.timegrid-cell{border-top:1px solid var(--line);height:3rem}.timegrid-event{background:var(--accent);color:#fff;border:1px solid var(--page);border-radius:4px;padding:.15rem .3rem;font-size:.72rem;line-height:1.15;position:absolute;overflow:hidden}.timegrid-event-off{background:var(--surface);color:var(--ink-soft);border:1px dashed var(--line);text-decoration:line-through}.timegrid-event-link{color:inherit;text-decoration:none;display:block}.timegrid-event-purpose{opacity:.85;display:block}.timegrid-now{background:var(--danger);z-index:1;height:2px;position:absolute;left:0;right:0}.timegrid-cell-open{cursor:pointer;background:0 0;border-bottom:none;border-left:none;border-right:none;border-radius:0;width:100%;padding:0}.timegrid-cell-open:hover{background:var(--hover)}.timegrid-cell-open:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.timegrid-col-shaded{background:var(--page)}.timegrid-open{background:var(--surface);z-index:-1;position:absolute;left:0;right:0}
