:root{--page: #f7f6f3;--card: #ffffff;--ink: #1c1b1a;--ink-2: #6f6c66;--hairline: #e3e0da;--teal: #0f766e;--teal-ink: #ffffff;--red: #b3261e;--chip: #f1efea}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--page);color:var(--ink);font:16px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}.card{max-width:720px;margin:0 auto;padding:20px 16px 64px}.brand{display:flex;align-items:center;gap:10px;margin:8px 0 4px}.brand .dot{width:10px;height:10px;border-radius:50%;background:var(--teal)}h1{font-size:22px;margin:0}.sub{color:var(--ink-2);font-size:14px;margin:2px 0 16px}.panel{background:var(--card);border:1px solid var(--hairline);border-radius:14px;padding:16px;margin:12px 0}.panel h2{font-size:16px;margin:0 0 4px}.panel .hint{color:var(--ink-2);font-size:13px;margin:0 0 12px}label.field{display:grid;gap:4px;font-size:13px;color:var(--ink-2);margin-bottom:12px}input[type=text],input[type=password],input[type=tel],input[type=number]{font:inherit;color:var(--ink);padding:10px 12px;min-height:44px;border:1px solid var(--hairline);border-radius:10px;background:#fff;width:100%}input:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal)}.btn{font:inherit;min-height:44px;padding:10px 16px;border-radius:10px;cursor:pointer;border:1px solid transparent}.btn.primary{background:var(--teal);color:var(--teal-ink);font-weight:600}.btn.secondary{background:transparent;border-color:var(--hairline);color:var(--ink)}.btn.ghost{background:transparent;color:var(--ink-2)}.btn.danger{background:transparent;color:var(--red);border-color:var(--hairline)}.btn:disabled{opacity:.45;cursor:default}.btn.compact{min-height:38px;padding:7px 12px;font-size:14px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.grow{flex:1 1 160px}.err{color:var(--red);font-size:14px;margin:8px 0}.ok{color:var(--teal);font-size:14px;margin:8px 0}.choice{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 16px}.choice .opt{font:inherit;padding:8px 14px;min-height:40px;border-radius:999px;cursor:pointer;border:1px solid var(--hairline);background:transparent;color:var(--ink)}.choice .opt[aria-pressed=true]{border-color:var(--teal);color:var(--teal);font-weight:600;box-shadow:inset 0 0 0 1px var(--teal)}.choice-label{font-size:13px;color:var(--ink-2);margin-bottom:4px}.weeknav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 12px}.day-tabs{display:flex;gap:4px;overflow-x:auto;padding-bottom:4px}.day-tab{min-width:44px;min-height:44px;padding:6px 8px;border-radius:8px;border:1px solid var(--hairline);background:transparent;color:var(--ink-2);font:inherit;text-align:center;cursor:pointer}.day-tab[aria-pressed=true]{color:var(--teal);border-color:var(--teal);font-weight:600}.day-tab .d{display:block;font-size:12px}.shift-section{border-top:1px solid var(--hairline);padding-top:12px;margin-top:16px}.shift-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.shift-title{font-weight:600}.shift-meta{color:var(--ink-2);font-size:12px;font-weight:400}.coverage{font-size:12px;font-weight:600}.coverage[data-ok=true]{color:var(--teal)}.coverage[data-ok=false]{color:var(--red)}.chip-wrap{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.person-chip{display:inline-flex;align-items:baseline;gap:6px;padding:8px 12px;min-height:44px;border:1px solid var(--hairline);border-radius:999px;background:transparent;color:var(--ink);font:inherit;cursor:pointer}.person-chip[data-selected=true]{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}.chip-sub{color:var(--ink-2);font-size:12px}.assign-panel{margin-top:16px;padding:16px;border:1px solid var(--hairline);border-radius:12px;display:grid;gap:12px}.request-card{border-top:1px solid var(--hairline);padding:12px 0;display:grid;gap:6px}.request-card[data-status=declined] .request-name,.request-card[data-status=declined] .request-detail{color:var(--ink-2)}.request-line{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.request-name{font-weight:600}.request-status{font-size:12px;color:var(--ink-2);text-transform:capitalize}.request-card[data-status=pending] .request-status{color:var(--teal);font-weight:600}.request-detail{color:var(--ink)}.request-actions{display:flex;gap:8px;flex-wrap:wrap}.settings-block{border-top:1px solid var(--hairline);padding-top:12px;margin-top:16px;display:grid;gap:12px}.settings-title{font-weight:600}.settings-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.settings-row{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.settings-row>*:first-child{flex:1 1 180px}.settings-sub{display:grid;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--hairline)}.week-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--hairline)}.week-row .d-name{font-weight:600}.week-row .d-detail{color:var(--ink-2);font-size:14px}.week-row .d-value{text-align:right;font-weight:600}.footer-note{color:var(--ink-2);font-size:12px;margin-top:24px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.topbar .who{font-size:14px;color:var(--ink-2)}
