:root{--cuddly-coral:#ff5f6d;--cuddly-coral-dark:#e94856;--ink:#18212f;--muted:#687282;--line:#dfe4ea;--panel:#ffffff;--surface:#f7f8fa;--navy:#243246;--green:#0f8a5f;--amber:#b96b00;--red:#c93838;--blue:#2f6fb4}*{box-sizing:border-box}body,html{margin:0;min-height:100%;color:var(--ink);background:var(--surface);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.sidebar{background:var(--navy);color:white;padding:24px 18px;display:flex;flex-direction:column;gap:28px}.wordmark{color:var(--cuddly-coral);font-size:27px;font-weight:900;letter-spacing:0}.sidebar .wordmark{color:white}.nav-list{display:grid;grid-gap:8px;gap:8px}.nav-item{display:flex;align-items:center;gap:10px;min-height:42px;padding:10px 12px;border-radius:8px;color:rgba(255,255,255,.78)}.nav-item.active,.nav-item:hover{background:rgba(255,255,255,.1);color:white}.nav-button{width:100%;border:0;background:transparent;cursor:pointer}.sidebar-footer{margin-top:auto;display:grid;grid-gap:8px;gap:8px}.sidebar-footer>span{color:rgba(255,255,255,.72);font-size:13px;font-weight:700;padding:0 12px}.main{min-width:0}.topbar{min-height:72px;background:white;border-bottom:1px solid var(--line);justify-content:space-between;gap:18px;padding:16px 28px}.topbar,.topbar-actions{display:flex;align-items:center}.topbar-actions{gap:10px}.content{padding:28px}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.login-panel{width:min(440px,100%);display:grid;grid-gap:18px;gap:18px;padding:24px;border:1px solid var(--line);border-radius:8px;background:white;box-shadow:0 1px 2px rgba(20,32,48,.04)}.login-form{display:grid;grid-gap:12px;gap:12px}.compact-login-form{padding-top:18px;border-top:1px solid var(--line)}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(24,33,47,.42)}.modal-panel{width:min(460px,100%);display:grid;grid-gap:16px;gap:16px;padding:18px;border:1px solid var(--line);border-radius:8px;background:white;box-shadow:0 18px 48px rgba(20,32,48,.2)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-head h2{margin:0;font-size:20px}.debug-panel{width:min(680px,100%)}.debug-row{display:grid;grid-template-columns:160px minmax(0,1fr);grid-gap:12px;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.debug-row span{color:var(--muted);font-weight:800}.debug-row strong{min-width:0;overflow-wrap:anywhere}.page-title{margin:0;font-size:28px;line-height:1.15}.lede{margin:7px 0 0;color:var(--muted);line-height:1.45}.grid{display:grid;grid-gap:18px;gap:18px}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.section{margin-top:28px}.section-header{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:12px}.section-title{margin:0;font-size:18px}.card,.metric,.phone-panel,.table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 1px 2px rgba(20,32,48,.04)}.metric{padding:16px}.metric-label{color:var(--muted);font-size:13px}.metric-value{margin-top:8px;font-size:30px;font-weight:800}.metric-note{margin-top:6px;color:var(--muted);font-size:13px}.card{padding:16px}.card-title{margin:0 0 8px;font-size:16px}.muted{color:var(--muted)}.button{border:0;min-height:40px;padding:0 14px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;cursor:pointer;background:#eef1f5;color:var(--ink)}.button.primary{background:var(--cuddly-coral);color:white}.button.primary:hover{background:var(--cuddly-coral-dark)}.button.subtle{background:white;border:1px solid var(--line)}.button:disabled{cursor:not-allowed;opacity:.45}.icon-button{width:40px;padding:0}.segmented{display:inline-grid;grid-auto-flow:column;gap:2px;padding:3px;border:1px solid var(--line);border-radius:8px;background:white}.segment{border:0;border-radius:6px;padding:8px 12px;background:transparent;color:var(--muted);font-weight:700;cursor:pointer}.segment.active{background:var(--navy);color:white}.table-wrap{overflow:hidden}.table-toolbar{justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid var(--line);background:white}.search-field,.table-toolbar{display:flex;align-items:center}.search-field{min-height:40px;width:min(420px,100%);gap:9px;padding:0 12px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:#f8f9fb}.search-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit}.result-count{min-width:34px;min-height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#eef1f5;color:var(--muted);font-size:12px;font-weight:800}.table-message{margin:0;padding:10px 12px;border-bottom:1px solid var(--line);color:var(--muted);font-weight:700}.review-controls{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.review-controls label{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:13px;font-weight:800}.row-error{flex-basis:100%;color:var(--red);font-size:12px;font-weight:800}.availability-summary{min-width:260px;max-width:520px;display:flex;flex-wrap:wrap;gap:6px}.availability-pill{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:3px 8px;border:1px solid var(--line);border-radius:8px;background:#f8f9fb;font-size:12px;white-space:nowrap}.availability-pill strong{color:var(--ink)}.availability-pill span{color:var(--muted)}.compact-button{min-height:32px;padding:0 10px;font-size:13px}table{width:100%;border-collapse:collapse;background:white}td,th{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}th{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}tr:last-child td{border-bottom:0}.table-empty{height:92px;text-align:center;color:var(--muted);font-weight:700}.badge{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:800;background:#edf0f5;color:var(--muted)}.badge.green{background:#e3f6ee;color:var(--green)}.badge.amber{background:#fff0d9;color:var(--amber)}.badge.red{background:#ffe6e6;color:var(--red)}.badge.blue{background:#e7f1ff;color:var(--blue)}.status-list{display:grid;grid-gap:12px;gap:12px}.status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.status-row:last-child{border-bottom:0}.status-row strong{display:block;margin-bottom:2px}.approval-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:12px;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.approval-row:last-child{border-bottom:0}.approval-row .muted{display:block;margin-top:3px}.approval-actions{display:flex;gap:8px}.empty-state{min-height:160px;display:grid;place-items:center;text-align:center;grid-gap:8px;gap:8px;color:var(--muted)}.empty-state.compact{min-height:64px}.empty-state strong{color:var(--ink)}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:18px;gap:18px;align-items:start}.calendar-panel,.slot-form-panel .card{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 1px 2px rgba(20,32,48,.04)}.calendar-panel{padding:16px}.slot-form-panel{display:grid;grid-gap:18px;gap:18px}.calendar-toolbar{display:flex;align-items:center;gap:10px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(96px,1fr));border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--line)}.calendar-weekday{min-height:38px;padding:10px;background:#f1f3f6;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.calendar-day{min-height:126px;padding:9px;background:white;border:0;border-top:1px solid var(--line);color:var(--ink);cursor:pointer;display:grid;grid-template-rows:auto 1fr;grid-gap:7px;gap:7px;text-align:left}.calendar-day.empty{background:#f8f9fb;cursor:default}.calendar-day.weekend{background:#fffafa}.calendar-day.selected{box-shadow:inset 0 0 0 2px var(--cuddly-coral);z-index:1}.calendar-day:disabled{opacity:1}.calendar-date{font-size:13px;font-weight:800;color:var(--ink)}.calendar-summary{align-self:end;display:grid;grid-gap:4px;gap:4px}.calendar-summary strong{font-size:24px;line-height:1}.calendar-summary span{color:var(--muted);font-size:12px;font-weight:800}.calendar-status-dots{display:flex;align-items:center;gap:5px;min-height:9px}.status-dot{width:9px;height:9px;border-radius:999px}.status-dot.open{background:var(--green)}.status-dot.pending{background:var(--amber)}.status-dot.confirmed{background:var(--blue)}.selected-weekend-list{display:grid;grid-gap:0;gap:0;margin-top:12px;max-height:320px;overflow-y:auto}.selected-weekend-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.selected-weekend-row:last-child{border-bottom:0}.selected-weekend-row span,.selected-weekend-row strong{display:block}.selected-weekend-row .badge{white-space:nowrap}.calendar-row-actions{display:flex;align-items:center;gap:8px}.weekend-list{display:grid;grid-gap:10px;gap:10px;margin-bottom:12px}.weekend-option-card{border:1px solid var(--line);border-radius:8px;background:white;overflow:hidden}.weekend-option-card.selected{border-color:var(--cuddly-coral);box-shadow:0 0 0 2px rgba(255,95,109,.16)}.weekend-option{width:100%;border:0;border-radius:0;background:white;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;text-align:left}.weekend-option div{display:grid;grid-gap:3px;gap:3px}.weekend-option small,.weekend-option span{color:var(--muted);font-size:12px;font-weight:800}.weekend-option strong{font-size:15px}.weekend-option-chevron{color:var(--muted);flex:0 0 auto;transition:transform .16s ease}.weekend-option-card.selected .weekend-option-chevron{transform:rotate(180deg)}.weekend-claim-details{display:grid;grid-gap:12px;gap:12px;padding:0 12px 12px}.weekend-claim-details .segmented{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.form-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.form-grid{display:grid;grid-gap:13px;gap:13px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.field{display:grid;grid-gap:6px;gap:6px}.field span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}.field input,.field select{min-height:40px;padding:0 10px}.field textarea{min-height:104px;padding:10px;resize:vertical}.availability-field{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;border:0}.availability-field legend{margin-bottom:6px;padding:0;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.availability-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}.availability-day{min-width:0;min-height:38px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--muted);font-size:13px;font-weight:800;cursor:pointer}.availability-day.selected{border-color:var(--navy);background:var(--navy);color:white}.availability-windows{display:grid;grid-gap:8px;gap:8px}.availability-window{display:grid;grid-template-columns:minmax(84px,1fr) minmax(0,1fr) minmax(0,1fr);grid-gap:8px;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:8px;background:#f8f9fb}.availability-window strong{font-size:13px}.availability-window label{display:grid;grid-gap:4px;gap:4px}.availability-window label span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.availability-window select{min-width:0;min-height:38px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);padding:0 8px}.store-combobox{position:relative}.store-combobox input{width:100%}.store-combobox-menu{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;max-height:360px;min-height:220px;overflow-y:auto;border:1px solid var(--line);border-radius:8px;background:white;box-shadow:0 12px 30px rgba(20,32,48,.14)}.store-combobox-option{width:100%;border:0;border-bottom:1px solid var(--line);background:white;color:var(--ink);cursor:pointer;display:grid;grid-gap:3px;gap:3px;padding:10px 12px;text-align:left}.store-combobox-option:last-child{border-bottom:0}.store-combobox-option:focus,.store-combobox-option:hover{background:#f7f8fa}.store-combobox-empty,.store-combobox-option span{color:var(--muted);font-size:12px}.store-combobox-empty{padding:12px}.form-notice{margin:14px 0 0;color:var(--muted);font-size:13px;line-height:1.4}.success-callout{display:flex;align-items:center;gap:8px;border:1px solid #bcebd7;border-radius:8px;background:#e9f8f1;color:var(--green);font-weight:800;padding:11px 12px}.mobile-frame{max-width:430px;margin:0 auto;background:var(--surface);min-height:100vh}.mobile-header{background:var(--navy);color:white;padding:22px 18px 18px}.mobile-header .wordmark{color:white;font-size:24px}.mobile-content{padding:18px}.acting-as-field{margin-bottom:14px}.event-card{background:white;border:1px solid var(--line);border-radius:8px;padding:15px;display:grid;grid-gap:12px;gap:12px}.claimed-shifts{gap:0}.claimed-shifts-toggle{width:100%;border:0;background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;text-align:left;cursor:pointer}.claimed-shifts-toggle h2{margin:0}.claimed-shifts-chevron{flex:0 0 auto;transition:transform .16s ease}.claimed-shifts.expanded .claimed-shifts-chevron{transform:rotate(180deg)}.claimed-shifts-list{display:grid;grid-gap:12px;gap:12px;padding-top:14px}.claimed-shift-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.claimed-shift-row span,.claimed-shift-row strong{display:block}.claimed-shift-row .badge{white-space:nowrap}.event-card+.event-card{margin-top:12px}.event-card-head{display:flex;justify-content:space-between;gap:12px}.event-card h2{margin:0;font-size:17px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.detail{padding:10px;border-radius:8px;background:#f2f4f7}.detail span{display:block;color:var(--muted);font-size:12px;margin-bottom:3px}.public-shell{min-height:100vh;background:white}.public-header{border-bottom:1px solid var(--line);padding:22px 28px;display:flex;justify-content:space-between;align-items:center;gap:18px}.public-content{padding:28px;max-width:1100px;margin:0 auto}@media (max-width:920px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;padding:16px}.nav-list{grid-auto-flow:column;overflow-x:auto}.nav-item{white-space:nowrap}.calendar-layout,.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}.calendar-grid{grid-template-columns:repeat(7,minmax(74px,1fr))}.calendar-grid,.calendar-panel{overflow-x:auto}.content,.public-content,.public-header,.topbar{padding-left:18px;padding-right:18px}.public-header,.section-header,.topbar{align-items:flex-start;flex-direction:column}.table-wrap{overflow-x:auto}}