:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--main:#0b6e78;--main-hover:#095a62;--main-press:#074a51;--on-main:#fff;--accent:var(--main);--on-accent:var(--on-main);--accent-text:#0b6e78;--tint:#e6f0f1;--tint-text:#14212b;--red:#8e1b1b;--red-soft:#fde3e3;--amber:#5c4400;--amber-text:#5c4400;--amber-soft:#fff1c2;--bg:#f4f6f7;--surface:#fff;--text:#14212b;--muted:#55636e;--border:#dde3e6;--border-strong:#c5ced3;--control-border:#77858f;--focus:#0b6e78;--block:#d9edef;--block-edge:#0b6e78;--shadow:none;--shadow-float:0 6px 20px #14212b1a, 0 1px 3px #14212b14;--shadow-sheet:0 -6px 24px #14212b24;--shadow-thumb:0 1px 2px #14212b14;--shadow-side:-6px 0 24px #14212b1a;--backdrop:#0f171d52;--wave:#0b6e78;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--tap:44px;--radius:10px;--radius-card:14px;--radius-pill:999px;--gap:16px;--side-width:96px;--content-max:880px;--tabbar-height:56px;--tabbar-space:calc(var(--tabbar-height) + 8px);--header-height:48px;--dur-fast:.12s;--dur:.18s;--dur-slow:.22s;--ease-out:cubic-bezier(.2, .8, .2, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--main:#4cc2cc;--main-hover:#6bd0d8;--main-press:#8adbe1;--on-main:#0f171d;--accent-text:#4cc2cc;--tint:#20303a;--tint-text:#e7eef2;--red:#ffb4b4;--red-soft:#4d1f1f;--amber:#ffe08a;--amber-text:#ffe08a;--amber-soft:#4a3d12;--bg:#0f171d;--surface:#18232b;--text:#e7eef2;--muted:#9fb0bb;--border:#2a3a45;--border-strong:#3a4d59;--control-border:#677c89;--focus:#4cc2cc;--block:#173c43;--block-edge:#4cc2cc;--shadow-float:0 6px 20px #00000073, 0 1px 3px #0006;--shadow-sheet:0 -6px 24px #00000080;--shadow-thumb:0 1px 2px #0006;--shadow-side:-6px 0 24px #00000073;--backdrop:#00000080;--wave:#4cc2cc}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}h1,h2,h3{letter-spacing:-.005em;margin:0 0 12px;font-weight:650;line-height:1.25}h1{font-size:1.375rem}h2{font-size:1.0625rem}h3{font-size:1rem}p{margin:0 0 12px}a{color:var(--accent-text)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{min-height:var(--tap);min-width:var(--tap);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary:disabled,.btn-accent:disabled{opacity:1;background:var(--tint);border-color:var(--border-strong);color:var(--muted)}.btn:not(:disabled):active{background-color:var(--tint)}.btn-primary{background:var(--main);border-color:var(--main);color:var(--on-main)}@media (hover:hover){.btn:not(:disabled):hover{border-color:var(--control-border)}.btn-primary:not(:disabled):hover,.btn-accent:not(:disabled):hover{background:var(--main-hover);border-color:var(--main-hover)}}.btn-primary:not(:disabled):active,.btn-accent:not(:disabled):active{background:var(--main-press);border-color:var(--main-press)}.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-size:1.0625rem;font-weight:700}.btn-block{width:100%}.btn svg{flex:none;width:20px;height:20px}.btn .nav-icon{width:auto;height:auto}.icon{flex:none;width:20px;height:20px}.chip{min-height:var(--tap);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;padding:8px 16px}.chip[aria-pressed=true]{background:var(--main);border-color:var(--main);color:var(--on-main);font-weight:600}.chips{flex-wrap:wrap;gap:8px;display:flex}.segmented{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--tint);grid-auto-columns:1fr;grid-auto-flow:column;padding:2px;display:inline-grid;position:relative}.seg-thumb{width:calc((100% - 4px) / var(--seg-count,2));border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-thumb);transform:translateX(calc(100% * var(--seg-index,0)));position:absolute;top:2px;bottom:2px;left:2px}.seg-option{z-index:1;border-radius:var(--radius-pill);min-height:40px;color:var(--tint-text);font:inherit;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:.9375rem;font-weight:500;display:inline-flex;position:relative}.seg-option svg{width:18px;height:18px}.seg-option[aria-pressed=true]{color:var(--accent-text);font-weight:600}.field{margin-bottom:var(--gap);flex-direction:column;gap:6px;display:flex}.field label{font-weight:600}.field-hint{color:var(--muted);font-size:.875rem}.input{min-height:var(--tap);border:1px solid var(--control-border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;padding:10px 12px}.row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.row .input{flex:120px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:var(--gap);margin-bottom:var(--gap)}.muted{color:var(--muted)}.notice{border-radius:var(--radius);margin-bottom:var(--gap);border:1px solid;align-items:flex-start;gap:10px;padding:12px;display:flex}.notice-error{border-color:var(--red);background:var(--red-soft);color:var(--red)}.notice-warn{border-color:var(--amber);background:var(--amber-soft);color:var(--amber-text)}.notice-icon{flex:none;width:22px;height:22px}.notice-body{flex:1}.notice .btn{margin-top:8px}.facts{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0 0 12px;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0;font-weight:600}.upload-button{margin-bottom:var(--gap)}.summary-save{margin-top:var(--gap)}.cells-heading{margin:0 0 4px}.cells-note{margin:4px 0 0;font-size:.875rem}.cells{border-collapse:collapse;table-layout:fixed;width:100%}.cells th,.cells td{border-top:1px solid var(--border);text-align:left;vertical-align:top;overflow-wrap:anywhere;padding:8px 6px}.cells th{color:var(--muted);border-top:0;font-weight:600}.cells th:first-child,.cells td:first-child{padding-left:0}.cells-date{white-space:nowrap;width:6.5em}.cells th:last-child{width:32%}.saved-months{margin:0;padding:0;list-style:none}.saved-months li{border-top:1px solid var(--border);flex-wrap:wrap;gap:4px 16px;padding:8px 0;display:flex}.saved-months li:first-child{border-top:0;padding-top:0}.saved-month{min-width:9em;font-weight:600}.not-saved{color:var(--muted)}.not-saved-current{color:var(--amber-text);align-items:flex-start;gap:6px;font-weight:600;display:inline-flex}.unknown-raw{font-family:ui-monospace,Menlo,Consolas,monospace}.status{padding:32px var(--gap);text-align:center}.toast-slot{top:env(safe-area-inset-top);z-index:20;position:sticky}.toast{margin:8px var(--gap) 0;border-radius:var(--radius-card);background:var(--text);color:var(--bg);box-shadow:var(--shadow-float);z-index:20;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:8px 8px 8px 16px;display:flex}.toast-text{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex:10em;display:-webkit-box;overflow:hidden}.toast-actions{margin-left:auto;display:flex}.toast .btn{min-height:var(--tap);color:inherit;background:0 0;border-color:#0000}.toast .btn:not(:disabled):active{background-color:#0000}@media (width>=900px){.toast-slot{position:absolute}.toast{z-index:20;flex-wrap:nowrap;width:max-content;max-width:min(560px,100% - 48px);margin:0;position:fixed;bottom:24px;right:24px}}.login{min-height:100vh;padding:var(--gap);isolation:isolate;place-items:center;display:grid;position:relative;overflow:hidden}.login .card{width:100%;max-width:380px;box-shadow:var(--shadow-float);position:relative}.login-waves{z-index:-1;width:200%;height:34vh;color:var(--wave);position:absolute;bottom:0;left:0}.login-wave{fill:currentColor}.login-wave-back{opacity:.014}.login-wave-front{opacity:.021}.login h1{color:var(--text)}.btn-quiet{color:var(--text);background:0 0;border-color:#0000}.toast-error{border:2px solid var(--red)}.shell-main{padding:12px var(--gap) var(--gap);padding-bottom:calc(var(--tabbar-space) + 24px + env(safe-area-inset-bottom))}.content{max-width:var(--content-max);margin:0 auto}.phone-header{min-height:var(--header-height);padding:0 6px 0 var(--gap);background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;display:flex}.phone-brand{color:var(--text);letter-spacing:-.01em;font-weight:700}.phone-header .btn{min-height:40px;padding:6px 10px}.planner{min-width:0;position:relative}.planner-button{gap:6px;max-width:100%;min-height:40px;padding:6px 10px}.planner-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.planner-chevron{width:18px;height:18px;color:var(--muted)}.planner-menu{z-index:25;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);min-width:180px;box-shadow:var(--shadow-float);gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 4px);right:0}.planner-menu .btn{justify-content:flex-start;min-height:40px}.planner-side{display:none}.nav{left:12px;right:12px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:10;max-width:480px;height:var(--tabbar-height);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow-float);margin:0 auto;padding:0 6px;display:flex;position:fixed}.nav-brand{display:none}.nav-list{flex:1;margin:0;padding:0;list-style:none;display:flex}.nav-list li{flex:1;min-width:0}.nav-item{border-radius:var(--radius-pill);width:100%;height:100%;color:var(--muted);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 2px;font-size:.875rem;font-weight:500;line-height:1.2;text-decoration:none;display:flex;position:relative}.nav-item:before{content:"";background:var(--main);opacity:0;border-radius:3px;width:28px;height:3px;margin-left:-14px;position:absolute;top:2px;left:50%;transform:scaleX(.4)}.nav-icon{place-items:center;display:inline-grid}.nav-item svg{stroke-width:1.75px;width:24px;height:24px}.nav-item[aria-current=page]{color:var(--accent-text);font-weight:700}.nav-item[aria-current=page] svg{stroke-width:2.25px}.nav-item[aria-current=page]:before{opacity:1;transform:none}.nav-logout{display:none}@media (width>=900px){.shell{grid-template-columns:var(--side-width) minmax(0, 1fr);grid-template-rows:auto 1fr;min-height:100vh;display:grid}.phone-header{background:var(--bg);grid-area:1/2;padding:0 24px 0 40px}.shell-main{grid-area:2/2;padding:24px 40px 40px}.nav{max-width:none;width:var(--side-width);border:0;border-right:1px solid var(--border);height:100vh;box-shadow:none;border-radius:0;flex-direction:column;grid-area:1/1/span 2;margin:0;padding:16px 8px;position:sticky;top:0}.nav-list{flex-direction:column;flex:0;gap:6px}.nav-item{border-radius:var(--radius);height:auto;min-height:64px;padding:8px 4px}.nav-item:before{border-radius:0 3px 3px 0;width:3px;height:24px;margin:-12px 0 0;top:50%;left:-8px;transform:scaleY(.4)}.nav-item[aria-current=page]{background:var(--tint)}@media (hover:hover){.nav-item:not([aria-current=page]):hover{background:var(--tint);color:var(--text)}}}.content:has(>.plan){max-width:1240px}.btn-danger{color:var(--red);border-color:var(--red)}.form-error{color:var(--red);margin:4px 0 12px;font-weight:600}.form-hint-block{border-left:4px solid var(--amber);background:var(--amber-soft);color:var(--amber-text);border-radius:6px;padding:10px 12px;font-weight:600}.field-label{font-weight:600}.tag{border-radius:var(--radius-pill);background:var(--tint);color:var(--tint-text);padding:2px 8px;font-size:.875rem;font-weight:600}.mark{border-radius:6px;align-items:flex-start;gap:6px;padding:1px 8px 1px 6px;font-size:.9rem;font-weight:600;display:inline-flex}.mark-red{color:var(--red);background:var(--red-soft)}.mark-amber{color:var(--amber-text);background:var(--amber-soft)}.mark-icon{flex:none;width:16px;height:16px;margin-top:2px}.mark-amber .mark-icon{color:var(--amber)}.date-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px;margin-bottom:4px;display:flex}.date-nav{flex:auto;align-items:center;gap:0;min-width:0;display:flex}.date-nav>.btn{background:0 0;border-color:#0000;width:40px;min-width:40px;padding:0}.date-nav>.btn svg{width:22px;height:22px}.date-pick{flex:1;justify-content:center;align-items:center;min-width:0;display:flex}.half-switch .seg-option{min-width:40px;padding:0 8px}@media (width>=600px){.date-nav{flex:0 auto}}.date-label{white-space:nowrap;font-variant-numeric:tabular-nums;margin:0;font-size:1.0625rem;font-weight:650}.date-button{font:inherit;color:inherit;border:0;border-bottom:2px dotted var(--control-border);min-height:var(--tap);cursor:pointer;background:0 0;padding:0 2px}.date-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.plan-controls{flex-wrap:wrap;align-items:center;gap:4px 8px;margin-bottom:6px;font-size:.875rem;display:flex}.poc{flex:110px;align-items:center;gap:6px;min-width:0;display:flex}.view-toggle{flex:none}.view-toggle .seg-option{padding:0 10px}@media (width<=599px){.plan-controls .roster-line{flex-basis:100%;order:3}.view-toggle svg{display:none}}@media (width>=600px){.plan-controls .view-toggle{margin-left:auto}.poc{flex:0 320px}}.poc label{white-space:nowrap;font-weight:600}.poc .input{flex:1;min-width:0;min-height:40px;padding:6px 10px;font-size:.9375rem}.roster-line{color:var(--muted);white-space:nowrap}.roster-check{color:var(--amber-text);align-items:center;gap:4px;font-weight:600;display:inline-flex}.roster-check .mark-icon{color:var(--amber);margin:0}.banner .btn{margin-top:8px}.notice>.mark-icon{width:22px;height:22px;margin:0}.half-issues,.task-issues{gap:4px;margin:0 0 8px;padding:0;list-style:none;display:grid}.task-card .half-issues{margin:6px 0 0}.empty-plan{padding:16px 0}.task-card{margin-bottom:8px;padding:10px 12px;font-size:.9375rem}.task-card-red{border-left:4px solid var(--red)}.task-head{justify-content:space-between;align-items:flex-start;gap:4px;display:flex}.task-line{flex-wrap:wrap;flex:1;align-items:center;gap:4px 8px;min-width:0;display:flex}.task-time{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.task-name{overflow-wrap:anywhere;margin:0;font-size:1rem}.task-loc{color:var(--muted)}.task-busy{font-variant-numeric:tabular-nums;margin-top:2px;font-size:.875rem}.task-more,.pick-more{min-width:40px;min-height:40px;color:var(--muted);margin:-6px -6px -6px 0;padding:0 8px}.task-more svg,.pick-more svg{width:22px;height:22px}.pick-more{margin:0}.card-menu{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.card-form{border-radius:var(--radius);background:var(--bg);margin:8px 0;padding:12px}.card-form .row .field{flex:90px;margin-bottom:8px}.slot-list{margin:0 0 8px;padding:0;list-style:none}.slot-list li{justify-content:space-between;align-items:center;gap:8px;padding:4px 0;display:flex}.role{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.task-line.role{margin-top:0}.role-label{flex-wrap:wrap;align-items:center;gap:0 6px;display:inline-flex}.role-name{font-weight:600}.role-count{color:var(--muted);font-variant-numeric:tabular-nums}.role-short{color:var(--amber-text);font-weight:700}.role-needs{color:var(--amber-text);background:var(--amber-soft);border-radius:6px;align-items:center;gap:4px;padding:1px 6px;font-size:.875rem;font-weight:600;display:inline-flex}.role-needs .mark-icon{color:var(--amber);margin:0}.role-marks{flex-wrap:wrap;flex-basis:100%;gap:2px 12px;margin:0;padding:0;list-style:none;display:flex}.role-marks .mark{font-size:.875rem}.task-card .chip{min-height:32px;padding:3px 8px;font-size:.9375rem;position:relative}.task-card .chip:after{content:"";position:absolute;inset:-4px 0}.person-chip{align-items:center;gap:6px;display:inline-flex}.chip-x{width:14px;height:14px;color:var(--muted)}.chip-red{border-color:var(--red);color:var(--red);border-width:2px}.chip-amber{border-color:var(--amber);color:var(--amber-text);border-width:2px}.chip-add{border-style:dashed;border-color:var(--accent);color:var(--accent-text);font-weight:600}.chip-add[aria-pressed=true]{border-style:solid}.chip-static{cursor:default;align-items:center;display:inline-flex}.add-task{margin-bottom:var(--gap);border-style:dashed;border-color:var(--accent);color:var(--accent-text)}.plan-main{padding-bottom:76px}.plan-dock{left:12px;right:12px;bottom:calc(var(--tabbar-space) + 6px + env(safe-area-inset-bottom));z-index:9;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);max-width:480px;box-shadow:var(--shadow-float);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin:0 auto;padding:4px;display:grid;position:fixed}.copy-button{min-height:var(--tap);width:auto;padding:8px 14px}.free-toggle{width:100%;min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius);background:var(--tint);color:var(--tint-text);font:inherit;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:8px 14px;font-weight:700;display:flex}.free-toggle span:first-of-type{text-align:left;flex:1}.free-chevron{width:18px;height:18px}.free-toggle .mark-icon,.free-title .mark-icon{color:var(--red);margin:0}.free-toggle .mark-icon-amber,.free-title .mark-icon-amber{color:var(--amber)}.free-title{display:none}.free-list{max-height:45vh;display:none;overflow-y:auto}.free-open .free-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-float);padding:8px 12px;display:block;position:absolute;bottom:calc(100% + 8px);left:0;right:0}.free-list-items{margin:0;padding:0;list-style:none}.free-person{border-top:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:8px 4px;display:flex}.free-person:first-child{border-top:0}.free-name{font-weight:600}.free-empty{margin:0;padding:4px}@media (width<=399px){.free-toggle{padding:8px 10px;font-size:.9375rem}.copy-button{padding:8px 12px;font-size:1rem}}@media (width>=900px){.plan-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px;display:grid}.plan-main{padding-bottom:0}.plan-dock{z-index:1;max-width:none;padding:var(--gap);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100vh - 48px);margin:0;position:sticky;inset:24px auto auto}.free{display:contents}.free-toggle{display:none}.free-title{align-items:center;gap:8px;margin:0;display:flex}.free-list,.free-open .free-list{max-height:none;box-shadow:none;border:0;padding:0;display:block;position:static;overflow-y:auto}.plan-dock{grid-template-columns:minmax(0,1fr)}.copy-button{width:100%}.task-card{margin-bottom:10px;padding:12px 14px}.plan-grid-timeline{grid-template-columns:minmax(0,1fr) 232px;gap:20px}}.sheet-layer{z-index:30;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-layer-top{z-index:31}.sheet-backdrop{background:var(--backdrop);position:absolute;inset:0}.sheet{background:var(--surface);width:100%;max-height:88vh;box-shadow:var(--shadow-sheet);border-radius:16px 16px 0 0;outline:none;flex-direction:column;display:flex;position:relative}.sheet-head{padding:12px var(--gap);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;display:flex}.sheet-head h2{overflow-wrap:anywhere;margin:0;font-size:1.1rem}.sheet-body{padding:12px var(--gap) calc(24px + env(safe-area-inset-bottom));overflow-y:auto}.fixed-entries{margin-bottom:var(--gap);grid-template-columns:1fr 1fr;gap:8px;display:grid}.plain-list{margin:0;padding:0;list-style:none}.list-button{width:100%;min-height:var(--tap);border:0;border-top:1px solid var(--border);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:8px;padding:10px 4px;display:flex}.plain-list li:first-child .list-button{border-top:0}.pick-section{margin-bottom:var(--gap)}.pick-section h3{margin:0 0 6px}.pick-section-group{border-radius:var(--radius);background:var(--tint);padding:10px}.pick-section-group h3{color:var(--tint-text)}.pick-empty{margin:0}.pick-list{margin:0;padding:0;list-style:none}.pick{border-top:1px solid var(--border)}.pick:first-child{border-top:0}.pick-line{align-items:stretch;display:flex}.pick-main{min-height:var(--tap);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:flex-start;gap:10px;padding:6px 4px;display:flex}.pick-check{border:2px solid var(--control-border);width:28px;height:28px;color:var(--muted);border-radius:8px;flex:none;place-items:center;font-weight:700;display:grid}.pick-check svg{width:18px;height:18px}.pick-main[aria-pressed=true] .pick-check{background:var(--main);border-color:var(--main);color:var(--on-main)}.pick-main[aria-pressed=true] .pick-name{color:var(--text);text-underline-offset:3px;text-decoration:underline}.pick-text{flex-direction:column;gap:2px;min-width:0;display:flex}.pick-first{flex-wrap:wrap;align-items:baseline;gap:0 8px;display:flex}.pick-marks{flex-wrap:wrap;gap:2px 12px;display:flex}.pick-name{font-weight:700}.pick-meta,.pick-note{color:var(--muted);font-size:.875rem}.pick-reason{color:var(--muted);font-size:.9rem;font-weight:600}.pick-unavailable .pick-name{color:var(--muted)}.pick-menu{flex-wrap:wrap;gap:8px;padding:0 0 10px 38px;display:flex}@media (width>=900px){.sheet-layer{align-items:stretch;width:420px;left:auto}.sheet-backdrop{display:none}.sheet{border-left:1px solid var(--border);height:100%;max-height:none;box-shadow:var(--shadow-side);border-radius:0}}.sheet .row,.card-form .row{flex-wrap:wrap;align-items:flex-start}.sheet .row .field,.card-form .row .field{flex:110px}.sheet .row .field .input,.card-form .row .field .input{flex:none;width:100%}@media (width>=900px){body:has(.sheet-layer:not(.sheet-dialog)) .shell-main{padding-right:460px}body:has(.sheet-layer:not(.sheet-dialog)) .plan-grid{grid-template-columns:minmax(0,1fr)}body:has(.sheet-layer:not(.sheet-dialog)) .plan-dock{display:none}}.half-note{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap;align-items:center;gap:4px;font-size:.875rem;font-weight:600;display:inline-flex}.half-note-icon{flex:none;width:16px;height:16px}.time-marks{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.task-card-highlight{outline:3px solid var(--focus);outline-offset:2px}.list-button-highlight{background:var(--tint);color:var(--tint-text)}.form-error .mark-icon,.form-hint-block .mark-icon{vertical-align:-.15em}.task-card>.role-marks{margin-top:6px}.update-tag{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.update-dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.chip-new{border-radius:var(--radius-pill);background:var(--tint);color:var(--tint-text);margin-left:4px;padding:0 6px;font-size:.875rem;font-weight:700}.copy-row{align-items:center;gap:8px;display:flex}.copy-phase{gap:12px;display:grid}.copy-phase>p,.copy-phase h3,.copy-warnings h3,.copy-warnings p{margin:0}.copy-status{font-weight:600}.copy-warnings{gap:6px;display:grid}.copy-issue-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.copy-text{resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9375rem;line-height:1.4}.copy-edit{white-space:pre-wrap;overflow-wrap:anywhere;resize:none;flex:auto;width:100%;min-height:160px;padding:12px 14px;font-family:inherit;font-size:.9375rem;line-height:1.45;overflow-y:auto}.copy-edit-note{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;font-size:.875rem;display:flex}.copy-reset{text-underline-offset:3px;min-height:40px;padding:4px 8px;font-size:.875rem;text-decoration:underline}.copy-warnings-toggle{width:100%;min-height:var(--tap);border-radius:var(--radius);background:var(--surface);font:inherit;text-align:left;cursor:pointer;border:1px solid;align-items:center;gap:8px;padding:8px 12px;font-weight:700;display:flex}.copy-warnings-toggle.mark-red{color:var(--red);background:var(--red-soft)}.copy-warnings-toggle.mark-amber{color:var(--amber-text);background:var(--amber-soft);border-color:var(--amber)}.copy-warnings-chevron{width:18px;height:18px;margin-left:auto}.copy-warnings-toggle .mark-icon{flex:none;width:20px;height:20px}.copy-kind{gap:6px;display:grid}.copy-switch{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.copy-switch-option{min-height:var(--tap);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border:0;padding:8px 12px;font-weight:600}.copy-switch-option+.copy-switch-option{border-left:1px solid var(--border)}.copy-switch-option[aria-pressed=true]{background:var(--main);color:var(--on-main);text-underline-offset:3px;text-decoration:underline}.copy-switch-option:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.copy-footer{margin:0 calc(-1 * var(--gap));padding:12px var(--gap) calc(12px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);gap:8px;display:grid}.copy-error{align-items:center;gap:8px;margin:0;display:flex}.sheet-page .sheet-head{padding:6px var(--gap)}.sheet-page .sheet-body{flex-direction:column;flex:auto;min-height:0;padding-top:10px;padding-bottom:0;display:flex}.copy-page{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex}.copy-page>.copy-footer{margin-top:auto}.sheet-page .sheet-head{justify-content:flex-start}.sheet-back{flex:none}@media (width<=899px){.sheet-page{align-items:stretch}.sheet-page .sheet{height:100%;max-height:none;box-shadow:none;border-radius:0}.sheet-page .sheet-backdrop{display:none}}.copy-names{width:100%;font-weight:600}.copy-actions{flex-wrap:wrap;gap:8px;display:flex}.copy-preview{gap:8px;display:grid}@media (width>=900px){.sheet-layer.sheet-dialog{justify-content:center;align-items:center;width:auto;padding:32px;left:0}.sheet-dialog .sheet-backdrop{display:block}.sheet-dialog .sheet{border-radius:var(--radius-card);border:1px solid var(--border);width:min(600px,100%);height:auto;max-height:calc(100vh - 64px);box-shadow:var(--shadow-float)}.sheet-page .sheet{width:min(900px,92vw);height:90vh;max-height:90vh}}.content:has(>.manage){max-width:1240px}.screen-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.screen-head h1{margin:0}.screen-actions{flex-wrap:wrap;gap:8px;display:flex}.screen-actions .btn{min-height:40px;padding:6px 12px}.view-switch{margin-bottom:10px}.search-field{margin-bottom:8px}.search-field .input{width:100%;min-height:40px;padding:6px 12px}.list-section{margin-bottom:12px}.list-heading{text-transform:none;margin:8px 0 2px;font-size:.9375rem}.row-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:0 10px}.row-button{min-height:48px;padding:6px 2px}.row-button[aria-current=true]{background:var(--tint);color:var(--tint-text);box-shadow:inset 4px 0 0 var(--main);padding-left:8px}.row-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.row-title{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:6px;font-weight:700;display:flex}.row-sub{color:var(--muted);overflow-wrap:anywhere;font-size:.875rem}.row-tags{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.row-tags .mark{font-size:.875rem}.tag-small{padding:0 8px;font-size:.875rem}.row-chevron{width:18px;height:18px;color:var(--muted);flex:none}.list-heading+.field-hint,.split-list>.field-hint{margin-bottom:8px;display:block}.split-empty{padding:24px 0}@media (width<=899px){.split[data-open=true] .split-list,.split[data-open=false] .split-detail,.split[data-open=true]~*{display:none}}@media (width>=900px){.split{grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.split-detail{max-height:calc(100vh - 64px);position:sticky;top:32px;overflow-y:auto}.back-button{display:none}}.edit-pane{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:12px var(--gap) var(--gap)}.edit-head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.edit-head h2{overflow-wrap:anywhere;flex:1;margin:0}.back-button{min-height:40px;padding:6px 10px}.edit-pane .field{margin-bottom:12px}.edit-pane .row .field{flex:120px}.edit-pane .row .field .input{flex:none;width:100%}.edit-pane textarea.input{resize:vertical}.edit-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.field-error{color:var(--red);align-items:flex-start;gap:6px;font-size:.9375rem;font-weight:600;display:inline-flex}.input[aria-invalid=true]{border-color:var(--red);border-width:2px}fieldset.field{border:0;min-width:0;margin-inline:0;padding:0}.edit-pane .chip{min-height:40px;padding:6px 14px}.day-toggles{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.day-chip{text-align:center;padding:6px 0;font-size:.9375rem}.day-chip[aria-pressed=true]{background:var(--tint);border-color:var(--accent);color:var(--accent-text);font-weight:600}.role-edit{grid-template-columns:minmax(0,1fr) 72px auto;align-items:center;gap:6px;display:grid}.role-edit .input{width:100%;min-height:40px;padding:6px 10px}.role-edit input[readonly]{background:var(--tint);color:var(--tint-text)}.roles-field>.btn{justify-self:start;min-height:40px}.similar{border-radius:var(--radius);background:var(--tint);color:var(--tint-text);margin-bottom:12px;padding:10px}.similar h3{margin:0 0 4px}.similar-row{border-top:1px solid var(--border);align-items:center;gap:8px;padding:4px 0;display:flex}.similar-row:first-child{border-top:0}.similar-row .row-title{flex:1}.similar-row .btn{min-height:40px;padding:6px 12px}.inline-save{gap:8px;display:flex}.inline-save .input{flex:1;min-width:0}.inline-save .btn-accent{padding:8px 16px;font-size:1rem}.edit-pane>.mark{margin-bottom:10px}.edit-pane h3{margin:4px 0 6px}.history-table{margin-bottom:12px;font-size:.9375rem}.history-table .num{font-variant-numeric:tabular-nums;white-space:nowrap}.history-table th:not(:first-child),.history-table td:not(:first-child){width:4.8em}.history-table th:last-child,.history-table td:last-child{width:6em}.members .input{margin-bottom:6px}.member-list .pick-main{min-height:44px}.member-list .pick-main[aria-pressed=true] .pick-name{text-decoration:none}.manage .btn-accent:disabled{background:var(--tint);border-color:var(--border);color:var(--muted);opacity:1}.sheet-foot{border-top:1px solid var(--border);justify-content:center;margin-top:12px;padding-top:8px;display:flex}.sheet-foot .btn-quiet{min-height:44px;color:var(--muted);text-underline-offset:3px;font-size:1rem;font-weight:600;text-decoration:underline}.who-list .list-button{min-height:48px;padding:6px 4px}.who-list .list-button[aria-pressed=true]{background:var(--tint);color:var(--tint-text)}.sent-by{margin:-4px 0 8px;font-size:.875rem}.edit-pane .day-chip{min-width:0;padding:6px 0;font-size:.875rem}.roster-members li{border-bottom:1px solid var(--border);align-items:center;min-height:40px;display:flex}.roster-group-line{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;display:flex}.archive-confirm{margin-top:var(--gap);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);padding:12px 14px}.archive-confirm p{margin:0 0 8px}.switch-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.switch{min-height:var(--tap);min-width:var(--tap);color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:4px 8px;font-weight:600;display:inline-flex}.switch:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius)}.switch-track{border:2px solid var(--control-border);border-radius:var(--radius-pill);background:var(--surface);width:48px;height:28px;position:relative}.switch-knob{background:var(--muted);border-radius:50%;width:20px;height:20px;position:absolute;top:2px;left:2px}.switch[aria-checked=true] .switch-track{border-color:var(--main);background:var(--main)}.switch[aria-checked=true] .switch-knob{background:var(--on-main);transform:translate(20px)}.switch-text{text-align:left;min-width:2.5em}.times-field{gap:6px;display:grid}.times-field>.btn{justify-self:start;min-height:40px}.time-head,.time-edit{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 6rem;align-items:center;gap:6px;display:grid}.time-head{color:var(--muted);font-size:.875rem;font-weight:600}.time-head>span{padding-left:11px}.time-edit>.btn{width:100%;min-height:40px}.time-edit>.time-remove{color:var(--muted);gap:4px;padding:0 6px;font-weight:600}.time-remove svg{width:18px;height:18px}.time-edit .input{width:100%;min-height:40px;padding:6px 10px}.tag-dive{font-weight:700}.role-remove{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;margin-left:-6px;padding:0;display:inline-flex}.role-remove-icon{width:18px;height:18px}.role-remove:hover{color:var(--text)}.role-remove:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.task-note{width:100%;min-height:40px;color:var(--muted);font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;margin:0;padding:8px 0;font-size:.875rem;display:block}.task-note:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.task-foot{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:0 12px;margin-top:2px;display:flex}.link-button{min-height:40px;color:var(--accent-text);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin:-6px -6px -8px 0;padding:0 6px;font-size:.875rem;font-weight:600;text-decoration:underline}.link-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.pick-also{color:var(--muted);font-size:.875rem}.add-role,.note-form{gap:8px;display:grid}.add-role .field,.note-form .field{margin:0}.note-input{resize:vertical;width:100%;font:inherit}@media (width<=899px){.sheet-layer.sheet-page{top:var(--page-top,0px);height:100vh;height:var(--page-height,100dvh);bottom:auto}.sheet-page .copy-edit{min-height:80px}}.apply-list{gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.apply-list li{overflow-wrap:anywhere;align-items:baseline;gap:8px;display:flex}.apply-icon{text-align:center;flex:none;width:1.25em;font-weight:700}.apply-skipped{border-top:1px solid var(--border);color:var(--muted);margin:4px 0 12px;padding-top:8px}.apply-skipped h3{margin:0 0 4px;font-size:1rem}.tl{--tl-name-w:116px;--tl-any-w:88px;--tl-slot-w:64px;--lane-h:50px;margin-bottom:var(--gap)}.tl-no-any{--tl-any-w:0px}.tl-no-any .tl-any{visibility:hidden;border:0;padding:0}.tl-scroll{overscroll-behavior-x:contain;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);scroll-padding-inline-start:calc(var(--tl-name-w) + var(--tl-any-w) + 8px);overflow-x:auto}.tl-grid{width:max-content;min-width:100%}.tl-head,.tl-row{grid-template-columns:var(--tl-name-w) var(--tl-any-w) minmax(calc(var(--tl-slots) * var(--tl-slot-w)), 1fr);display:grid}.tl-rows,.tl-list{margin:0;padding:0;list-style:none}.tl-row{border-top:1px solid var(--border)}.tl-name,.tl-any{z-index:2;background:var(--surface);border-right:1px solid var(--border);min-width:0;position:sticky}.tl-name{flex-direction:column;justify-content:center;padding:6px 8px 6px 12px;display:flex;left:0}.tl-any{left:var(--tl-name-w);padding:4px 6px}.tl-person{overflow-wrap:anywhere;font-size:.9375rem;font-weight:600;line-height:1.25}.tl-count,.tl-reason{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.875rem;line-height:1.3}.tl-reason{color:var(--text);overflow-wrap:anywhere;font-weight:600}.tl-problem{color:var(--red);align-items:center;gap:4px;font-size:.875rem;font-weight:600;line-height:1.3;display:inline-flex}.tl-check{align-self:flex-start;margin-top:2px;font-size:.875rem}.tl-row-unfilled .tl-person{color:var(--muted)}.tl-section{border-top:1px solid var(--border);background:var(--red-soft)}.tl-section-title{color:var(--red);margin:0;padding:6px 12px;font-size:.875rem;display:inline-block;position:sticky;left:0}.tl-any .tl-list{gap:4px;display:grid}.tl-chip,.tl-block{border:1px solid var(--border-strong);color:var(--text);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:4px;font-size:.875rem;display:flex;overflow:hidden}.tl-chip{border-radius:var(--radius);background:var(--bg);width:100%;min-height:40px;padding:2px 8px}.tl-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.tl-line1,.tl-line2{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tl-line1{font-weight:600}.tl-line2{color:var(--muted)}.tl-head{color:var(--muted);font-size:.875rem;font-weight:600;position:relative}.tl-corner,.tl-any-head{justify-content:flex-end;padding-top:8px;padding-bottom:6px}.tl-any-head{white-space:nowrap;justify-content:flex-start;align-items:flex-end;padding-left:14px;display:flex}.tl-axis{min-height:36px;position:relative}.tl-hour{font-variant-numeric:tabular-nums;white-space:nowrap;position:absolute;bottom:6px;transform:translate(-50%)}.tl-hour-first{transform:translate(4px)}.tl-hour-last{transform:translate(calc(-100% - 4px))}.tl-track{min-height:calc(var(--lanes,1) * var(--lane-h) + 4px);background-image:linear-gradient(to right, var(--border-strong) 1px, transparent 1px), linear-gradient(to right, var(--border) 1px, transparent 1px);background-size:calc(200% / var(--tl-slots)) 100%, calc(100% / var(--tl-slots)) 100%;background-position:calc(100% * var(--tl-hour-shift,0) / (var(--tl-slots) - 2)) 0, 0 0;position:relative}.tl-block{top:calc(var(--lane,0) * var(--lane-h) + 4px);height:calc(var(--lane-h) - 4px);border-color:#0000;border-left:3px solid var(--block-edge);background:var(--block);border-radius:8px;min-width:40px;padding:0 4px 0 6px;position:absolute;container-type:inline-size}.tl-flags{flex:none;align-items:center;gap:2px;display:inline-flex}.tl-flag{align-items:center;gap:2px;font-weight:700;display:inline-flex}.tl-flag-word{display:none}@container (width>=72px){.tl-clash .tl-flag-word{display:inline}}.tl-mark{flex:none;width:16px;height:16px}.tl-outside{border-color:var(--red);border-style:dashed dashed dashed solid;border-left-color:var(--block-edge)}.tl-outside .tl-mark{color:var(--red)}.tl-clash,.tl-na{border-color:var(--red);border-left-color:var(--red);background:var(--red-soft);color:var(--red)}.tl-clash .tl-mark,.tl-na .tl-mark,.tl-clash .tl-line2,.tl-na .tl-line2{color:var(--red)}.tl-unfilled{border:1px dashed var(--control-border);background:var(--surface)}.tl-chip.tl-unfilled{background:var(--surface)}.tl-block:focus-visible,.tl-chip:focus-visible{z-index:3}@media (hover:hover){.tl-block:not(.tl-clash,.tl-outside,.tl-na,.tl-unfilled):hover,.tl-chip:not(.tl-na,.tl-unfilled):hover{border-color:var(--control-border)}}.tl-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 14px;margin:8px 2px 0;font-size:.875rem;display:flex}.tl-legend-item{align-items:center;gap:4px;font-weight:600;display:inline-flex}.tl-legend-red .tl-mark{color:var(--red)}.tl-legend-amber .mark-icon{color:var(--amber);margin:0}.tl-legend-swatch{border:1px dashed var(--control-border);border-radius:3px;width:16px;height:12px}.tl-problems{border-radius:var(--radius);border:1px solid;align-items:center;gap:8px;margin-bottom:8px;padding:0 4px 0 10px;font-size:.9375rem;font-weight:600;display:flex}.tl-problems-amber{border-color:var(--amber);background:var(--amber-soft);color:var(--amber-text)}.tl-problems-red{border-color:var(--red);background:var(--red-soft);color:var(--red)}.tl-problems .mark-icon{margin:0}.tl-problems-text{flex:1}.tl-see-list{min-height:40px;color:inherit;text-underline-offset:3px;padding:4px 10px;text-decoration:underline}@media (width>=900px){.tl{--tl-name-w:136px;--tl-any-w:104px;--tl-slot-w:0px}.tl-no-any{--tl-any-w:0px}}@media (prefers-reduced-motion:no-preference){@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}}@keyframes sheet-up{0%{opacity:.6;transform:translateY(24px)}}@keyframes sheet-left{0%{opacity:.6;transform:translate(24px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.98)}}@keyframes chip-in{0%{opacity:0;transform:scale(.9)}}@keyframes toast-down{0%{opacity:0;transform:translateY(-12px)}to{transform:none}}@keyframes toast-up{0%{opacity:0;transform:translateY(12px)}to{transform:none}}.sheet-backdrop{animation:fade-in var(--dur) var(--ease-out)}.sheet{animation:sheet-up var(--dur-slow) var(--ease-out)}.content>*{animation:fade-in var(--dur) var(--ease-out)}.free-open .free-list,.planner-menu,.card-menu{animation:rise-in var(--dur) var(--ease-out)}.person-chip.chip-added{animation:chip-in var(--dur-fast) var(--ease-out)}.toast{animation:toast-down var(--dur) var(--ease-out)}@media (width>=900px){.toast{animation-name:toast-up}}.btn,.chip,.seg-option,.list-button,.pick-main,.row-button,.nav-item,.link-button{transition:transform var(--dur-fast) var(--ease-out)}.btn:not(:disabled):active,.chip:active,.seg-option:active{transform:scale(.97)}.seg-thumb{transition:transform var(--dur) var(--ease-out)}.nav-item:before{transition:opacity var(--dur) var(--ease-out), transform var(--dur) var(--ease-out)}.switch-knob{transition:transform var(--dur-fast) var(--ease-out)}}@media (prefers-reduced-motion:no-preference) and (width>=900px){.sheet{animation-name:sheet-left}.sheet-dialog .sheet{animation-name:pop-in}}
