:root{--color-primary:#1f3a5f;--color-on-primary:#fff;--color-accent:#e8890c;--color-on-accent:#000;--color-bg:#f5f6f8;--color-surface:#fff;--color-text:#1c2430;--color-muted:#5b6675;--color-border:#d5dae1;--color-error:#b3261e;--color-ok:#1b7a3d;--radius:10px;--gutter:16px;color:var(--color-text);background:var(--color-bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--color-bg:#12161c;--color-surface:#1b2129;--color-text:#e8ecf1;--color-muted:#a3adba;--color-border:#333c48;--color-error:#f2918b;--color-ok:#6fcf8e}}*{box-sizing:border-box}body{background:var(--color-bg);min-height:100vh;margin:0}h1{margin:0;font-size:1.4rem}h2{margin:0;font-size:1.1rem}p{margin:0}main{max-width:960px;padding:var(--gutter);margin:0 auto}main.narrow{max-width:420px;padding-top:8vh}.stack{flex-direction:column;gap:12px;display:flex}.center{justify-content:center;display:flex}.muted{color:var(--color-muted)}.error{color:var(--color-error)}.ok{color:var(--color-ok)}.warning{color:#8a5a00;border-left:4px solid var(--color-accent);padding-left:8px}@media (prefers-color-scheme:dark){.warning{color:var(--color-accent)}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--gutter)}label{flex-direction:column;gap:4px;font-size:.9rem;display:flex}input,select,button{font:inherit}input,select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);min-height:44px;padding:10px 12px}button{border-radius:var(--radius);cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-text);padding:0 16px}button.primary{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}button:disabled{opacity:.6;cursor:default}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.topbar{padding:8px var(--gutter);background:var(--color-surface);border-bottom:3px solid var(--color-primary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.topbar-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.brand-logo{width:auto;height:40px;display:block}.brand-name{color:var(--color-primary);font-size:1.2rem;font-weight:700}.tabs{padding:0 var(--gutter);background:var(--color-surface);border-bottom:1px solid var(--color-border);gap:4px;display:flex;overflow-x:auto}.tabs a{color:var(--color-muted);white-space:nowrap;border-bottom:3px solid #0000;padding:12px 14px;text-decoration:none}.tabs a.active{color:var(--color-text);border-bottom-color:var(--color-accent);font-weight:600}.segmented{border:1px solid var(--color-border);border-radius:var(--radius);display:inline-flex;overflow:hidden}.segmented button{border:0;border-radius:0;min-height:40px}.segmented button.active{background:var(--color-primary);color:var(--color-on-primary)}.segmented.tabs-board{flex-wrap:wrap;display:flex}.segmented.tabs-board button{flex:auto;padding:0 12px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.choices{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.choices button{text-align:left;width:100%;padding:12px 16px}a.button{border-radius:var(--radius);border:1px solid var(--color-border);min-height:44px;color:var(--color-text);background:var(--color-surface);justify-content:center;align-items:center;padding:0 16px;text-decoration:none;display:flex}a.button.primary{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}button.big,a.button.big{width:100%;min-height:56px;font-size:1.1rem;font-weight:600}button.danger{color:var(--color-error);border-color:var(--color-error);background:0 0;font-weight:600}textarea{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);width:100%;padding:10px 12px}fieldset{border:0;margin:0;padding:0}legend{margin-bottom:8px;padding:0;font-weight:600}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row>input,.row>select{flex:1;min-width:0}label.row{flex-flow:row;align-items:center}label.row>span{overflow-wrap:anywhere;min-width:0}input[type=checkbox]{flex:none;width:22px;height:22px;min-height:0;padding:0}.week-day{border-bottom:1px solid var(--color-border);flex-direction:column;gap:6px;padding-bottom:8px;display:flex}.between{justify-content:space-between}.stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.stat{color:inherit;flex-direction:column;gap:4px;text-decoration:none;display:flex}.stat-value{font-size:2rem;font-weight:700;line-height:1}.stat-label{color:var(--color-muted);font-size:.9rem}.stat-highlight{border-color:var(--color-accent);border-width:2px}.job-card{color:inherit;flex-direction:column;gap:4px;text-decoration:none;display:flex}.job-card:hover{border-color:var(--color-primary)}.badge{border:1px solid var(--color-border);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600;display:inline-block}.badge-ok{color:var(--color-ok);border-color:var(--color-ok)}.badge-bad{color:var(--color-error);border-color:var(--color-error)}.badge-warn{color:#8a5a00;border-color:var(--color-accent)}.badge-info{color:var(--color-primary);border-color:var(--color-primary)}@media (prefers-color-scheme:dark){.badge-warn{color:var(--color-accent)}.badge-info{color:var(--color-text)}}.needs-you{border:2px solid var(--color-accent)}.lines{border-collapse:collapse;width:100%}.lines th,.lines td{text-align:left;border-bottom:1px solid var(--color-border);padding:6px 4px}.lines .num{text-align:right;white-space:nowrap}.totals{grid-template-columns:1fr auto;gap:4px 16px;margin:0;display:grid}.totals dd{text-align:right;margin:0}.total-row{font-size:1.15rem}.choice{text-align:left;width:100%;padding:12px 16px}.choice.on{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));border-width:2px}.stars{gap:4px;display:flex}.star{min-width:48px;min-height:48px;color:var(--color-muted);padding:0;font-size:1.6rem}.star.on{color:var(--color-accent);border-color:var(--color-accent)}.timeline{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.gallery{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.gallery figure{flex-direction:column;gap:4px;margin:0;display:flex}.gallery img,.photo-placeholder{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);width:100%;display:block}.choice img{object-fit:contain;max-width:100%;max-height:200px;margin:0 auto;display:block}.gallery figcaption,.gallery li>span{font-size:.85rem}.notices{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.notice{text-align:left;flex-direction:column;gap:4px;width:100%;height:auto;padding:12px 16px;display:flex}.notice.unread{border-left:6px solid var(--color-accent);font-weight:600}.row{flex-wrap:wrap;gap:8px;display:flex}.row>button{flex:140px}.notice-list{flex-direction:column;gap:8px;margin:0;padding-left:20px;display:flex}.demo-accounts h3{color:var(--color-muted);margin:4px 0 0;font-size:.95rem}button.demo-account{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;height:auto;padding:8px 12px;display:flex}button.demo-account span{font-size:.85rem}.demo-footer{padding:16px var(--gutter);color:var(--color-muted);text-align:center;flex-wrap:wrap;justify-content:center;gap:4px 12px;font-size:.8rem;display:flex}.overlay{z-index:100;padding:var(--gutter);background:var(--color-bg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay .card{max-width:420px}.center-text{text-align:center}
