:root{--bg:#f3f6f4;--surface:#ffffff;--ink:#14201c;--ink-muted:#5a6b64;--brand:#0f766e;--brand-strong:#0b5f59;--brand-soft:#d8efe9;--accent:#f59e0b;--accent-soft:#fff4d6;--danger:#b91c1c;--danger-soft:#fdeceb;--ok:#0f766e;--ok-soft:#d8efe9;--border:#d7e3de;--shadow:0 8px 24px rgba(20,32,28,0.06);--radius:16px;--font-display:"Outfit","Segoe UI",sans-serif;--font-body:"Nunito","Segoe UI",sans-serif;--dt:#1f4e79;--kitchen:#9a3412;--instore:#0f766e;--folder:#d4a017;--file:#5a7a90}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}a{color:var(--brand-strong);text-decoration:none}a:hover{text-decoration:underline}.brand,h1,h2,h3{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.shell{max-width:1180px;margin:0 auto;padding:1rem 1rem 2.5rem}.topnav{justify-content:space-between;gap:1rem;margin-bottom:1.25rem;padding:.7rem .2rem;border-bottom:1px solid var(--border)}.topnav,.topnav nav{display:flex;align-items:center}.topnav nav{flex-wrap:wrap;gap:.65rem 1rem;font-size:.95rem;font-weight:700}.topnav nav a{color:var(--ink);text-decoration:none}.topnav nav a.active,.topnav nav a:hover{color:var(--brand-strong);text-decoration:none}.topnav nav a.active{text-decoration:underline;text-underline-offset:4px}.brand-mark{font-size:1.35rem;color:var(--brand-strong);font-family:var(--font-display);font-weight:800}.brand-mark,.brand-mark:hover{text-decoration:none}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.15rem 1.25rem}.panel.tight{padding:0;overflow:hidden}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:none;border-radius:12px;padding:.7rem 1.1rem;font:inherit;font-weight:800;cursor:pointer;background:var(--brand);color:white;transition:background .15s ease,transform .15s ease}.btn,.btn:hover{text-decoration:none}.btn:hover{background:var(--brand-strong)}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--border)}.btn.secondary:hover{background:#f7faf8}.btn.btn-small{padding:.35rem .85rem;font-size:.9rem}.btn:disabled{opacity:.55;cursor:not-allowed}.muted{color:var(--ink-muted)}.error{color:var(--danger);font-size:.92rem}.ok{color:var(--ok);font-weight:700}.notice{padding:.85rem 1rem;border-radius:12px;background:var(--accent-soft);border:1px solid #f0d48a;color:#7a5200}.notice.ok{background:var(--ok-soft);border-color:#b9ddd4;color:var(--brand-strong)}.notice.bad{background:var(--danger-soft);border-color:#f0c4c0;color:var(--danger)}label{display:grid;gap:.35rem;font-size:.92rem;color:var(--ink-muted);margin-bottom:.85rem}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:.7rem .95rem;font:inherit;color:var(--ink);background:#fff}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(15,118,110,.15)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.section-head h1,.section-head h2{margin:0}.browse{display:grid;gap:1rem}.browse-hero-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.browse-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.browse-actions{display:flex;flex-wrap:wrap;gap:.45rem}.browse-search{flex:1;min-width:180px;max-width:320px;margin:0!important}.seg{display:inline-flex;padding:.2rem;border:1px solid var(--border);border-radius:12px;background:#f4f8f6;gap:.15rem}.seg button{border:0;background:transparent;font:inherit;font-weight:800;font-size:.9rem;padding:.45rem .85rem;border-radius:10px;color:var(--ink-muted);cursor:pointer}.seg button.on{background:#fff;color:var(--brand-strong);box-shadow:0 1px 3px rgba(20,32,28,.08)}.chip-btn{border:1px solid var(--border);background:#fff;font:inherit;font-weight:800;font-size:.88rem;padding:.45rem .8rem;border-radius:999px;color:var(--ink);cursor:pointer}.chip-btn:hover{background:#f7faf8}.chip-btn.on{background:var(--brand-soft);border-color:#b9ddd4;color:var(--brand-strong)}.day-grid,.leader-grid,.week-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.day-card,.leader-card,.week-card{display:grid;gap:.35rem;text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.05rem;font:inherit;color:var(--ink);cursor:pointer}.day-card:hover,.leader-card:hover,.week-card:hover{border-color:#b9ddd4;background:#f7faf8}.day-card.today,.leader-card.me,.week-card.today{border-color:#b9ddd4;background:var(--brand-soft)}.day-card-top,.daypart-card-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.day-card-parts{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.leader-card{grid-template-columns:auto 1fr;align-items:center;gap:.75rem}.leader-avatar{width:44px;height:44px;border-radius:50%;background:var(--brand-soft);color:var(--brand-strong);display:grid;place-items:center;font-weight:800;font-family:var(--font-display)}.leader-meta{display:grid;gap:.15rem;min-width:0}.daypart-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;padding:1rem}@media (max-width:800px){.daypart-cards{grid-template-columns:1fr}}.daypart-card{display:grid;gap:.45rem;text-align:left;border:1px solid var(--border);background:#fff;border-radius:14px;padding:1rem;font:inherit;color:var(--ink);cursor:pointer}.daypart-card:hover{border-color:#b9ddd4;background:#f7faf8}.daypart-card.empty{cursor:default;background:#fafcfb;opacity:.75}.daypart-card-leader{font-family:var(--font-display);font-size:1.45rem;font-weight:800;line-height:1.1}.daypart-train{margin-top:.25rem;font-size:.82rem;font-weight:700;color:#7a5200;background:var(--accent-soft);border-radius:8px;padding:.4rem .55rem}.browser-toolbar{display:flex;gap:.65rem;padding:.85rem 1rem;border-bottom:1px solid var(--border);background:#fbfcfb}.browser-toolbar,.crumb{flex-wrap:wrap;align-items:center}.crumb{display:inline-flex;gap:.2rem;font-size:.92rem;font-weight:700;color:var(--ink-muted);flex:1;min-width:0}.crumb a,.crumb button{border:0;background:transparent;color:var(--brand-strong);font:inherit;font-weight:800;cursor:pointer;padding:.1rem .25rem;border-radius:6px}.crumb a:hover,.crumb button:hover{background:var(--brand-soft);text-decoration:none}.crumb .here{color:var(--ink);padding:.1rem .25rem}.crumb .sep{color:var(--border)}.tree-item{display:flex;width:100%;align-items:center;gap:.55rem;border:0;background:transparent;text-align:left;padding:.55rem 1rem;font:inherit;font-weight:700;color:var(--ink);cursor:pointer}.tree-item:hover{background:#f4f8f6}.tree-item[data-active=true]{background:var(--brand-soft);color:var(--brand-strong)}.tree-item .icon{width:1.1rem;color:var(--folder);flex-shrink:0}.tree-item .count{margin-left:auto;font-size:.78rem;color:var(--ink-muted);font-weight:700}.file-table{width:100%;border-collapse:collapse;font-size:.95rem}.file-table th{text-align:left;font-weight:800;font-size:.78rem;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-muted);padding:.65rem 1rem;border-bottom:1px solid var(--border);background:#fbfcfb}.file-table td{padding:.7rem 1rem;border-bottom:1px solid #eef2f0;vertical-align:middle}.file-table tr{cursor:pointer}.file-table tr:hover td{background:#f7faf8}.file-table tr[data-today=true] td{background:var(--brand-soft)}.file-table tr.static{cursor:default}.file-table tr.static:hover td{background:transparent}.icon-folder{color:var(--folder);margin-right:.4rem}.icon-file{color:var(--file);margin-right:.4rem}.editor-sheet{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.editor-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--border)}@media (max-width:720px){.editor-meta{grid-template-columns:1fr 1fr}}.editor-meta-cell{padding:.75rem 1rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.editor-meta-cell .k{font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.editor-meta-cell .v{margin-top:.2rem;font-family:var(--font-display);font-size:1.15rem;font-weight:800}.floor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start}@media (max-width:960px){.floor-grid{grid-template-columns:1fr}}.floor-col{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.floor-col-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;border-top:4px solid var(--brand);border-bottom:1px solid var(--border);background:#fbfcfb;font-family:var(--font-display);font-size:1rem;font-weight:800}.floor-col-head span{color:var(--ink-muted);font-family:var(--font-body);font-size:.85rem;font-weight:700}.floor-station{padding:.85rem 1rem;border-bottom:1px solid #eef2f0}.floor-station:last-child{border-bottom:0}.floor-station[data-empty=true]{background:#fafcfb}.floor-station[data-locked=true]{background:var(--accent-soft)}.floor-station-label{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.4rem}.floor-station-name{font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.floor-lock{font-size:.65rem;font-weight:800;letter-spacing:.05em;background:var(--accent);color:#7a5200;border-radius:999px;padding:.15rem .45rem}.floor-person{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-top:.4rem}.floor-person-name{font-family:var(--font-display);font-size:1.2rem;font-weight:800;line-height:1.15}.floor-person-shift{font-size:.8rem;color:var(--ink-muted);font-weight:700;white-space:nowrap}.floor-empty{margin:.35rem 0 0;font-size:.85rem;color:var(--ink-muted)}.leader-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}@media (max-width:720px){.leader-edit-grid{grid-template-columns:1fr}}.leader-edit-grid label{display:grid;gap:.35rem;font-size:.78rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-muted)}.floor-station select,.leader-edit-grid select{width:100%;margin-top:.45rem;padding:.45rem .55rem;border:1px solid var(--border);border-radius:8px;background:#fff;font:inherit;font-size:.9rem;font-weight:600;color:var(--ink)}.pool{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);padding:.9rem 1rem;transition:background .15s ease,border-color .15s ease}.floor-station.drop-hot,.pool.drop-hot{background:var(--brand-soft);border-color:var(--brand)}.pool-chips{display:flex;flex-wrap:wrap;gap:.45rem}.pool-chip{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.45rem .7rem;border:1px solid var(--border);border-radius:10px;background:#fff;cursor:grab;text-align:left;font:inherit;color:var(--ink);box-shadow:0 1px 0 rgba(0,0,0,.03)}.pool-chip:active{cursor:grabbing}.pool-chip strong{font-family:var(--font-display);font-size:.98rem;font-weight:800}.pool-chip span{font-size:.72rem;font-weight:700;color:var(--ink-muted)}.pool-chip.placed{opacity:.55}.floor-person-drag.dragging,.pool-chip.dragging{opacity:.35}.floor-person-drag{display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:.5rem;margin:.15rem 0 0;padding:.35rem .45rem;border:1px dashed transparent;border-radius:8px;background:transparent;cursor:grab;text-align:left;font:inherit;color:inherit}.floor-person-drag:active{cursor:grabbing}.floor-person-drag:hover{border-color:var(--border);background:#f7faf8}.chip,.floor-station.drop-hot .floor-empty{color:var(--brand-strong);font-weight:800}.chip{display:inline-flex;align-items:center;padding:.2rem .65rem;border-radius:999px;background:var(--brand-soft);font-size:.78rem}