:root{--bg:#f5f8fc;--surface:#fff;--surface-muted:#f4f7fb;--surface-strong:#eaf0f8;--border:#e4e7ec;--border-soft:#eef2f6;--text:#101828;--text-muted:#667085;--text-soft:#98a2b3;--sidebar:#062a54;--sidebar-hover:#0d3a78;--sidebar-border:#ffffff14;--primary:#155eef;--primary-strong:#1d4ed8;--green:#13864c;--amber:#b56b00;--red:#c2352a;--blue:#105bd8;--purple:#4338ca;--orange:#cf5b13;--shadow:0 18px 42px #1e395e1a;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--bg:#0f172a;--surface:#111c2f;--surface-muted:#17243a;--surface-strong:#1f2f49;--border:#283852;--border-soft:#22324a;--text:#e8eef8;--text-muted:#a8b4c7;--text-soft:#75849b;--sidebar:#071d38;--sidebar-hover:#0c315f;--sidebar-border:#ffffff1a;--shadow:0 18px 42px #0003}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);margin:0}.login-page{background:radial-gradient(circle at top left, #155eef1f, transparent 34%), var(--bg);align-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;justify-self:center;gap:26px;width:min(100%,420px);max-width:420px;padding:26px;display:grid}.login-brand{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;display:grid}.login-brand strong,.login-brand span{display:block}.login-brand strong{color:var(--text);font-size:18px;font-weight:760;line-height:1.1}.login-brand span{color:var(--text-muted);margin-top:2px;font-size:13px}.login-mark{background:var(--sidebar);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.login-form{gap:14px;display:grid}.login-form h1,.login-form p{margin:0}.login-form h1{color:var(--text);font-size:28px;line-height:1.1}.login-form p{color:var(--text-muted);margin-top:6px;font-size:14px}.login-form label{gap:6px;display:grid}.login-form label span{color:var(--text-muted);font-size:12px;font-weight:620}.login-form input{background:var(--surface-muted);border:1px solid var(--border);color:var(--text);border-radius:8px;min-height:42px;padding:0 12px}.login-role-picker{border:0;gap:8px;margin:2px 0 0;padding:0;display:grid}.login-role-picker legend{color:var(--text-muted);margin-bottom:6px;padding:0;font-size:12px;font-weight:620}.login-role-picker label{background:var(--surface-muted);border:1px solid var(--border);cursor:pointer;border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:10px 12px;display:grid}.login-role-picker label.active{background:#eef5ff;border-color:#b9d2ff}:root[data-theme=dark] .login-role-picker label.active{background:#14243d;border-color:#2f65b8}.login-role-picker input{accent-color:var(--primary);width:16px;height:16px;min-height:auto;padding:0}.login-role-picker label>span{color:var(--text-muted);gap:2px;font-size:12px;font-weight:440;line-height:1.25;display:grid}.login-role-picker strong{color:var(--text);font-size:13px;font-weight:660}.login-submit{width:100%;margin-top:4px}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:120;background:#0f172a6b;place-items:start center;padding:7vh 24px 24px;display:grid;position:fixed;inset:0}.confirm-dialog{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:12px;gap:20px;width:min(100%,440px);max-width:440px;margin:0;padding:20px;display:grid;box-shadow:0 24px 70px #0000003d}.confirm-dialog h2,.confirm-dialog p{margin:0}.confirm-dialog h2{color:var(--text);font-size:18px;line-height:1.2}.confirm-dialog p{color:var(--text-muted);margin-top:8px;font-size:14px;line-height:1.45}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}.danger-button{background:var(--red);color:#fff;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-weight:700;display:inline-flex}.danger-button:hover{background:#a92920}.daily-app{grid-template-columns:264px minmax(0,1fr);min-width:0;height:100vh;display:grid}.daily-app.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.daily-shell{grid-auto-rows:max-content;gap:20px;min-width:0;height:100vh;padding:0 24px 18px;display:grid;overflow:auto}.daily-topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:30;justify-content:space-between;align-items:center;gap:12px;min-width:0;min-height:60px;margin:0 -24px;padding:0 24px;display:flex;position:sticky;top:0}.breadcrumb{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.breadcrumb strong{color:var(--text)}.brand-compact{grid-template-columns:42px minmax(0,1fr) 38px;align-items:center;gap:10px;min-width:0;display:grid}.brand-compact strong,.brand-compact span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.brand-compact span{color:#a8bdd8;font-size:12px;line-height:1.2}.brand-compact strong{letter-spacing:0;font-size:16px;font-weight:760;line-height:1.15}.source-dot{background:#42c484;border-radius:999px;width:10px;height:10px;display:inline-block}.sidebar-collapsed .brand-compact{grid-template-columns:42px;grid-auto-rows:42px;justify-items:center}.sidebar-collapsed .brand-compact .icon-button{grid-column:1;width:42px;height:42px;display:inline-flex}.sidebar-collapsed .brand-compact>div:not(.brand-mark),.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-item span,.sidebar-collapsed .nav-section-title,.sidebar-collapsed .source-panel div{display:none}.sidebar-collapsed .nav-item,.sidebar-collapsed .source-panel{justify-content:center;width:100%}.sidebar-collapsed .sidebar{align-items:center;padding-left:8px;padding-right:8px}.sidebar-collapsed .brand-compact,.sidebar-collapsed .side-nav,.sidebar-collapsed .nav-section{width:100%}.sidebar-collapsed .side-nav{padding-right:0;overflow-x:hidden}.sidebar-collapsed .nav-item{padding:0;position:relative}.sidebar-collapsed .nav-item:after{display:none}.sidebar-floating-tooltip{color:#fff;pointer-events:none;white-space:nowrap;z-index:80;background:#101828;border:1px solid #ffffff1a;border-radius:7px;padding:8px 10px;font-size:12px;font-weight:560;line-height:1;position:fixed;left:82px;transform:translateY(-50%);box-shadow:0 8px 24px #0000002e}.module-empty{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);text-align:center;border-radius:8px;place-items:center;gap:8px;min-height:300px;padding:24px;display:grid}.module-empty strong{color:var(--text);font-size:20px}.people-module{grid-template-rows:auto minmax(0,1fr);gap:18px;min-height:0;display:grid}.people-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:12px;grid-template-columns:minmax(150px,.5fr) minmax(240px,1fr) minmax(230px,auto) auto auto;align-items:end;gap:12px;padding:16px;display:grid;box-shadow:0 1px 2px #1018280a}.people-toolbar label{gap:5px;min-width:0;display:grid}.people-toolbar label span{color:var(--text-muted);font-size:12px;font-weight:620}.people-toolbar input,.people-toolbar select{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;width:100%;min-width:0;min-height:40px;padding:0 10px}.person-switches{flex-wrap:wrap;align-items:center;gap:8px;min-height:38px;display:flex}.person-switches label{background:var(--surface-muted);border:1px solid var(--border-soft);color:var(--text-muted);border-radius:8px;align-items:center;gap:6px;min-height:30px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.person-switches input{width:14px;height:14px;min-height:0}.people-content{grid-template-columns:minmax(0,1fr) 320px;gap:10px;min-height:0;display:grid}.people-table-wrap,.person-detail{background:var(--surface);border:1px solid var(--border);border-radius:12px;min-width:0;overflow:hidden;box-shadow:0 1px 2px #1018280a,0 1px 3px #10182808}.people-table-wrap{overflow:auto}.people-table{border-collapse:collapse;width:100%;min-width:1040px}.people-table th{background:var(--surface-muted);color:var(--text-muted);text-align:left;z-index:1;height:44px;font-size:12px;font-weight:650;position:sticky;top:0}.people-table th,.people-table td{border-bottom:1px solid var(--border-soft);vertical-align:middle;padding:10px 12px}.people-table tbody tr{cursor:default}.people-table tbody tr:hover,.people-table tbody tr.selected{background:color-mix(in srgb, var(--primary) 7%, transparent)}.people-table td{color:var(--text);font-size:13px}.people-table td strong,.people-table td span,.people-table td small{text-overflow:ellipsis;white-space:nowrap;max-width:260px;display:block;overflow:hidden}.people-table td span,.people-table td small{color:var(--text-muted);margin-top:2px;font-size:12px}.table-count{color:var(--text-muted);font-size:12px;font-weight:560}.flag-cell{color:var(--text-soft);text-align:center;width:44px}.flag-cell svg{color:var(--text-muted);vertical-align:middle;display:inline-block}.row-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.row-actions button{color:var(--text-soft);cursor:pointer;background:0 0;border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.row-actions button:hover{background:var(--surface-muted);color:var(--primary)}.table-pagination{border-top:1px solid var(--border-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.table-pagination>div{align-items:center;gap:8px;display:flex}.table-pagination span{color:var(--text-muted);font-size:12px}.table-pagination select{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;min-height:34px;padding:0 8px}.table-pagination button{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;min-height:34px;padding:0 10px}.table-pagination button:disabled{color:var(--text-soft);cursor:not-allowed;opacity:.62}.table-pagination button:not(:disabled):hover{background:var(--surface-muted);color:var(--primary)}.table-pagination .pagination-icon-button{justify-content:center;align-items:center;width:34px;padding:0;display:inline-flex}.person-form-panel{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:12px;margin:0;padding:0;display:grid;overflow:hidden;box-shadow:0 1px 2px #1018280a,0 1px 3px #10182808}.person-form-modal{width:min(100%,900px);max-width:900px;max-height:min(86vh,760px)}.person-form-content{min-height:0;display:grid}.person-form-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:9px 12px;padding:14px 16px 16px;display:grid;overflow:auto}.person-form-grid label,.inline-fieldset,.checks-fieldset{gap:6px;min-width:0;display:grid}.person-form-grid label span,.inline-fieldset legend,.checks-fieldset legend{color:var(--text-muted);font-size:12px;font-weight:560;line-height:1.2}.person-form-grid input,.person-form-grid select{background:var(--surface-muted);border:1px solid var(--border);color:var(--text);font:inherit;border-radius:8px;width:100%;min-width:0;min-height:36px;padding:0 10px;font-size:14px;line-height:1.2}.person-form-grid select{appearance:auto}.wide-field,.checks-fieldset{grid-column:span 2}.inline-fieldset,.checks-fieldset{border:1px solid var(--border-soft);border-radius:8px;margin:0;padding:7px 10px}.inline-fieldset{grid-template-columns:repeat(2,max-content);align-content:end}.checks-fieldset{grid-template-columns:repeat(3,max-content);align-content:center}.inline-fieldset legend,.checks-fieldset legend{padding:0 4px}.inline-fieldset label,.checks-fieldset label{color:var(--text);align-items:center;gap:7px;font-size:13px;font-weight:440;line-height:1.2;display:inline-flex}.inline-fieldset input,.checks-fieldset input{accent-color:var(--primary);width:auto;height:14px;min-height:0}.checks-fieldset .switch-field{gap:9px;position:relative}.switch-field input{opacity:0;width:1px;height:1px;position:absolute}.switch-control{background:var(--surface-strong);border:1px solid var(--border);border-radius:999px;flex:none;width:36px;height:20px;transition:background .14s,border-color .14s;display:inline-flex;position:relative}.switch-control:after{content:"";background:#fff;border-radius:999px;width:16px;height:16px;transition:transform .14s;position:absolute;top:1px;left:1px;box-shadow:0 1px 2px #1018282e}.switch-field input:checked+.switch-control{background:var(--primary);border-color:var(--primary)}.switch-field input:checked+.switch-control:after{transform:translate(16px)}.switch-field input:focus-visible+.switch-control{box-shadow:0 0 0 3px #155eef3d}.form-footer{background:var(--surface);border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:10px;padding:10px 16px;display:flex}.person-form-panel .panel-heading{min-height:58px;padding:10px 16px}.person-form-panel .panel-heading h2{font-size:18px;line-height:1.2}.modal-close-button{color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.modal-close-button:hover{background:var(--surface-muted);color:var(--text)}.person-flags{flex-wrap:wrap;gap:5px;display:flex}.flag{border-radius:999px;align-items:center;gap:4px;min-height:24px;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.flag.active{color:var(--green);background:#e3f4ea}.flag.frequent{color:var(--amber);background:#fff3dc}.flag.blocked{color:var(--red);background:#fee8e2}.person-detail{align-self:start}.person-detail-header{border-bottom:1px solid var(--border-soft);align-items:center;gap:12px;min-height:80px;padding:14px;display:flex}.person-avatar{color:var(--primary);background:#e2f1ed;border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;font-weight:860;display:flex}.person-detail-header h2{margin:0;font-size:18px}.person-detail-header span{color:var(--text-muted);margin-top:3px;font-size:13px;display:block}.person-actions{grid-template-columns:1fr 1fr;gap:8px;padding:14px;display:grid}.module-view{grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:0;display:grid}.module-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(3,minmax(150px,1fr)) auto;align-items:end;gap:10px;padding:10px;display:grid}.module-toolbar.wide{grid-template-columns:minmax(180px,1.2fr) minmax(150px,.9fr) minmax(140px,.7fr) minmax(140px,.7fr) minmax(140px,.7fr)}.module-toolbar label,.form-grid label{gap:5px;min-width:0;display:grid}.module-toolbar label span,.form-grid label span{color:var(--text-muted);font-size:12px;font-weight:780}.module-toolbar input,.module-toolbar select,.form-grid input,.form-grid select{background:var(--surface-muted);border:1px solid var(--border);color:var(--text);border-radius:8px;width:100%;min-width:0;min-height:38px;padding:0 10px}.module-split,.security-layout{grid-template-columns:minmax(0,1fr) 320px;gap:10px;min-height:0;display:grid}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:0;display:grid;overflow:auto}.reports-layout{grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:10px;min-height:0;display:grid}.table-panel,.side-panel,.report-preview{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;min-width:0;overflow:hidden}.table-panel{overflow:auto}.side-panel{align-self:start}.panel-heading{border-bottom:1px solid var(--border-soft);gap:3px;min-height:62px;padding:12px 14px;display:grid}.panel-heading.inline{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-heading h2,.panel-heading p{margin:0}.panel-heading h2{font-size:18px}.data-table{border-collapse:collapse;width:100%;min-width:900px}.data-table.compact-table{min-width:680px}.data-table th{background:var(--surface-muted);color:var(--text-muted);text-align:left;z-index:1;height:42px;font-size:12px;font-weight:820;position:sticky;top:0}.data-table th,.data-table td{border-bottom:1px solid var(--border-soft);vertical-align:middle;padding:9px 10px}.data-table tbody tr:hover,.data-table tbody tr.selected{background:#eef7f4}.data-table td{color:var(--text);font-size:13px}.data-table td strong,.data-table td span,.data-table td small{text-overflow:ellipsis;white-space:nowrap;max-width:280px;display:block;overflow:hidden}.data-table td span,.data-table td small{color:var(--text-muted);margin-top:2px;font-size:12px}.form-grid{gap:10px;padding:14px;display:grid}.form-grid.compact{grid-template-columns:1fr}.report-preview{padding:14px;overflow:auto}.report-paper{border:1px solid var(--border-soft);background:#fbfcfb;border-radius:8px;min-height:420px;padding:18px}.report-paper h2{margin:4px 0 16px;font-size:20px}.report-bars{border-bottom:1px solid var(--border);gap:10px;margin-bottom:16px;padding:8px 0 18px;display:grid}.report-bars span{background:linear-gradient(90deg, var(--primary), #6aa79d);height:16px;width:var(--bar);border-radius:999px;display:block}.role-list{display:grid}.role-item{border-bottom:1px solid var(--border-soft);gap:10px;padding:14px;display:grid}.role-item strong,.role-item span{display:block}.role-item>div>span{color:var(--text-muted);margin-top:2px;font-size:12px}.role-functions{flex-wrap:wrap;gap:6px;display:flex}.role-functions span{background:var(--surface-muted);border:1px solid var(--border-soft);color:var(--text-muted);border-radius:999px;min-height:24px;padding:5px 8px;font-size:11px;font-weight:780}.selection-list{gap:10px;padding:14px;display:grid}.selection-list strong{color:var(--text-muted);font-size:12px;font-weight:820}.selection-list div{flex-wrap:wrap;gap:6px;display:flex}.selection-list span{background:var(--surface-muted);border:1px solid var(--border-soft);color:var(--text);border-radius:999px;min-height:28px;padding:6px 10px;font-size:12px;font-weight:760}.weekly-grid{--day-count:7;grid-template-columns:92px repeat(var(--day-count), minmax(138px, 1fr));min-width:1060px;display:grid}.weekly-head,.weekly-time,.weekly-slot{border-bottom:1px solid var(--border-soft);border-right:1px solid var(--border-soft)}.weekly-head{background:var(--surface-muted);color:var(--text-muted);z-index:1;min-height:42px;padding:12px 10px;font-size:12px;font-weight:820;position:sticky;top:0}.weekly-time{background:var(--surface);color:var(--text-muted);align-items:center;min-height:74px;padding:10px;font-size:13px;font-weight:800;display:flex}.weekly-slot{color:var(--text);cursor:pointer;text-align:left;background:#f9fbf9;gap:4px;min-height:74px;padding:10px;display:grid}.weekly-slot.reserved{background:#fff8ea;border-left:4px solid #e7a738}.weekly-slot.paid{background:#edf8f1;border-left:4px solid #39a66f}.weekly-slot strong,.weekly-slot span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.weekly-slot span{color:var(--text-muted);font-size:12px}.class-layout{gap:10px;min-height:0;display:grid;overflow:auto}.class-row{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:minmax(0,1.2fr) minmax(240px,.7fr) minmax(180px,.4fr);gap:14px;min-width:0;padding:14px;display:grid}.class-row h2,.class-row p{margin:0}.class-row h2{margin-top:2px;font-size:18px}.class-row span{color:var(--text-muted);margin-top:4px;font-size:13px;display:block}.class-row dl{grid-template-columns:1fr 1fr;gap:8px;margin:0;display:grid}.class-row dt{color:var(--text-muted);font-size:12px;font-weight:780}.class-row dd{margin:2px 0 0;font-weight:820}.class-meter{background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:999px;align-self:center;height:18px;overflow:hidden}.class-meter span{background:var(--primary);height:100%;width:var(--fill);margin:0;display:block}.daily-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:8px;grid-template-columns:minmax(210px,1fr) minmax(150px,.6fr) minmax(160px,.6fr) auto minmax(280px,auto);align-items:end;gap:10px;min-width:0;padding:10px;display:grid}.proposal-toolbar{border-radius:12px;grid-template-columns:minmax(220px,1.25fr) minmax(200px,.9fr) minmax(170px,.7fr) auto minmax(190px,auto);padding:18px;box-shadow:0 1px 2px #1018280a}.daily-toolbar label{gap:5px;min-width:0;display:grid}.daily-toolbar label span{color:var(--text-muted);font-size:12px;font-weight:780}.daily-toolbar select,.daily-toolbar input{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;width:100%;min-width:0;min-height:38px;padding:0 10px}.today-button{color:var(--primary);min-width:58px;font-weight:800}.filter-reset{justify-self:end}.page-heading{justify-content:space-between;align-items:end;gap:18px;min-width:0;display:flex}.page-heading h1,.page-heading p{margin:0}.page-heading h1{font-size:28px;line-height:1.15}.page-heading p{color:var(--text-muted);margin-top:4px;font-size:14px}.search-cta{min-width:170px}.summary-grid{grid-template-columns:repeat(4,minmax(170px,1fr));gap:18px;min-width:0;display:grid}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:16px;min-width:0;min-height:110px;padding:18px;display:grid}.summary-card.blue{background:linear-gradient(90deg,#f8fbff,#fff);border-color:#b9d3ff}.summary-card.green{background:linear-gradient(90deg,#f3fbf6,#fff);border-color:#afd9bf}.summary-card.purple{background:linear-gradient(90deg,#f6f5ff,#fff);border-color:#c9c3ff}.summary-card.orange{background:linear-gradient(90deg,#fff7ef,#fff);border-color:#f4c89d}.summary-icon{border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;display:inline-flex}.summary-card.blue .summary-icon{color:var(--primary);background:#eaf2ff}.summary-card.green .summary-icon{color:var(--green);background:#e8f8ed}.summary-card.purple .summary-icon{color:var(--purple);background:#eeecff}.summary-card.orange .summary-icon{color:var(--orange);background:#fff0e2}.summary-card div{gap:4px;min-width:0;display:grid}.summary-card strong{color:var(--primary);font-size:13px}.summary-card.green strong{color:#0b6b3b}.summary-card.purple strong{color:var(--purple)}.summary-card.orange strong{color:var(--orange)}.summary-card b{color:var(--text);font-size:28px;line-height:1}.summary-card span:not(.summary-icon){color:var(--text-muted);font-size:12px}.summary-card.loading{position:relative}.summary-card.loading:after,.skeleton-card span,.skeleton-card div span{background:linear-gradient(90deg,#eef2f6 0%,#f8fafc 45%,#eef2f6 100%) 0 0/240% 100%;animation:1.35s linear infinite shimmer}.summary-card.loading:after{content:"";border-radius:12px;position:absolute;inset:12px}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.empty-state,.skeleton-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:12px;place-items:center;gap:14px;min-height:260px;padding:28px;display:grid;box-shadow:0 1px 2px #1018280a}.empty-state-icon{color:var(--primary);background:#eef4ff;border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;display:inline-flex}.empty-state strong,.empty-state span{display:block}.empty-state strong{font-size:18px}.empty-state div>span{color:var(--text-muted);margin-top:5px;font-size:14px}.skeleton-card{text-align:left;grid-template-columns:58px minmax(0,1fr);place-items:start stretch;min-height:120px}.skeleton-card>span{border-radius:12px;height:56px}.skeleton-card div{gap:10px;display:grid}.skeleton-card div span{border-radius:999px;height:14px}.skeleton-card div span:first-child{width:46%}.skeleton-card div span:nth-child(2){width:28%;height:24px}.skeleton-card div span:nth-child(3){width:64%}.compact-kpis{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;min-height:38px;display:flex}.compact-kpis span{background:var(--surface-muted);border:1px solid var(--border-soft);color:var(--text-muted);border-radius:999px;min-height:28px;padding:6px 10px;font-size:12px;font-weight:760}.selected-strip{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:center;gap:12px;min-width:0;min-height:48px;padding:7px 10px;display:flex}.selected-strip>strong,.selected-strip>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.selected-strip>span:not(.status-pill){color:var(--text-muted);font-size:13px}.selected-actions{gap:8px;margin-left:auto;display:flex}button,input,select{font:inherit}button{border:0}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #0f766e47}.app-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.app-shell.sidebar-collapsed{grid-template-columns:86px minmax(0,1fr)}.sidebar{background:var(--sidebar);color:#edf7f4;flex-direction:column;min-width:0;padding:16px 12px;display:flex;overflow:hidden}.brand-row{grid-template-columns:42px minmax(0,1fr) 38px;align-items:center;gap:10px;min-height:46px;display:grid}.brand-mark{color:#fff;background:#123d70;border:1px solid #345f8f;border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;font-weight:850;display:inline-flex}.brand-copy{gap:2px;min-width:0;display:grid}.brand-copy strong,.brand-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand-copy span{color:#b9cde8;font-size:12px}.icon-button,.ghost-button,.primary-button,.user-button,.nav-item,.slot{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;display:inline-flex}.icon-button{color:inherit;background:#ffffff14;width:38px}.icon-button.subtle{background:var(--surface-muted);color:var(--text)}.side-nav{scrollbar-color:#6f85a3 transparent;scrollbar-width:thin;gap:16px;margin-top:22px;padding-right:2px;display:grid;overflow:auto}.side-nav::-webkit-scrollbar{width:8px;height:8px}.side-nav::-webkit-scrollbar-track{background:0 0}.side-nav::-webkit-scrollbar-thumb{border:2px solid var(--sidebar);background:#6f85a3;border-radius:999px}.side-nav::-webkit-scrollbar-thumb:hover{background:#8ba0bb}.nav-section{gap:3px;display:grid}.nav-section-title{color:#91a8c7;letter-spacing:0;padding:0 8px 5px;font-size:11px;font-weight:620;line-height:1.2}.nav-item{color:#d3deec;background:0 0;justify-content:flex-start;width:100%;min-height:34px;padding:0 10px;font-size:13px;font-weight:440;line-height:1.2}.nav-item svg{flex:none;width:17px;height:17px}.nav-item:hover,.nav-item.active{color:#fff;background:#0f5fe0}.nav-item.active{font-weight:560}.source-panel{border:1px solid var(--sidebar-border);background:#ffffff14;border-radius:8px;align-items:center;gap:10px;min-height:58px;margin-top:auto;padding:10px;display:flex}.source-panel div{gap:2px;display:grid}.source-panel span{color:#a8bdd8;font-size:12px;line-height:1.2}.source-panel strong{font-size:13px;font-weight:560;line-height:1.2}.sidebar-collapsed .brand-row{grid-template-columns:42px}.sidebar-collapsed .brand-row .icon-button{display:inline-flex}.workspace{grid-template-rows:auto minmax(0,1fr);gap:18px;min-width:0;padding:18px;display:grid}.topbar{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.topbar h1,.topbar p,.section-heading h2,.section-heading p{margin:0}.topbar h1{font-size:28px;line-height:1.1}.eyebrow{color:var(--primary);text-transform:uppercase;font-size:12px;font-weight:800}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.ghost-button,.user-button{background:var(--surface);border:1px solid var(--border);color:var(--text);min-height:40px;padding:0 12px}.notification-button{color:var(--text);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;position:relative}.notification-button span{border:2px solid var(--surface);color:#fff;background:#b42318;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:850;display:inline-flex;position:absolute;top:1px;right:3px}.user-button{color:var(--text);background:0 0;border-color:#0000;gap:10px;min-width:184px;padding:0 10px 0 0}.user-menu-wrap{position:relative}.user-button.active,.user-button:hover{background:var(--surface-muted);border-color:var(--border)}.user-button>span:not(.user-avatar){color:var(--text-muted);text-align:left;font-size:12px;line-height:1.2;display:grid}.user-button strong{color:var(--text);font-size:13px}.user-avatar{background:var(--primary);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;font-weight:850;display:inline-flex}.user-menu{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);z-index:50;border-radius:10px;gap:8px;min-width:224px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.user-menu-header{border-bottom:1px solid var(--border-soft);gap:2px;padding:4px 4px 10px;display:grid}.user-menu-header strong{color:var(--text);font-size:13px;font-weight:640}.user-menu-header span{color:var(--text-muted);font-size:12px}.theme-switch{background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:8px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.theme-switch button,.user-menu-item,.logout-menu-item{color:var(--text-muted);cursor:pointer;border-radius:7px;align-items:center;gap:7px;min-height:32px;padding:0 9px;font-size:12px;font-weight:560;display:inline-flex}.theme-switch button{justify-content:center}.theme-switch button.active{background:var(--surface);color:var(--primary);box-shadow:0 1px 2px #10182814}.user-menu-item,.logout-menu-item{background:0 0;justify-content:flex-start;width:100%}.user-menu-item:hover{background:var(--surface-muted);color:var(--primary)}.logout-menu-item:hover{background:var(--surface-muted);color:var(--red)}.primary-button{background:var(--primary);color:#fff;min-height:40px;padding:0 14px;font-weight:760}.primary-button:hover{background:var(--primary-strong)}.reservations-layout{grid-template-columns:minmax(0,1fr) minmax(292px,340px);align-items:start;gap:18px;min-width:0;display:grid}.main-column{gap:14px;min-width:0;display:grid}.filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:8px;grid-template-columns:minmax(190px,1.2fr) minmax(160px,.8fr) minmax(170px,.8fr) auto;align-items:end;gap:12px;padding:14px;display:grid}.filter-bar label{gap:6px;min-width:0;display:grid}.filter-bar label span{color:var(--text-muted);font-size:12px;font-weight:760}.filter-bar select,.filter-bar input{background:var(--surface-muted);border:1px solid var(--border);color:var(--text);border-radius:8px;width:100%;min-width:0;min-height:40px;padding:0 10px}.date-stepper{gap:8px;display:flex}.metrics-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;display:grid}.metric{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:8px;min-height:112px;padding:14px;display:grid}.metric-icon{color:var(--primary);background:#e2f1ed;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.metric span{color:var(--text-muted);font-size:13px}.metric strong{font-size:24px;line-height:1}.schedule-section,.panel,.placeholder-view{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 2px #1018280a,0 1px 3px #10182808}.schedule-section{min-width:0;overflow:auto}.schedule-section.expanded{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.section-heading{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:10px 12px;display:flex}.section-heading h2{font-size:18px}.section-heading.compact{min-height:56px;padding:12px 14px}.status-legend{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.legend-item{border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:760;display:inline-flex}.legend-item.reserved,.status-pill.reserved{color:var(--amber);background:#fff3dc}.legend-item.confirmed,.status-pill.confirmed{color:var(--blue);background:#e6eefb}.legend-item.paid,.status-pill.paid{color:var(--green);background:#e3f4ea}.schedule-grid{--court-count:4;grid-template-columns:180px repeat(var(--court-count), 280px);min-width:max-content;min-height:0;max-height:none;display:grid;overflow:visible}.schedule-header,.schedule-time,.slot{border-bottom:1px solid var(--border-soft);border-right:1px solid var(--border-soft)}.schedule-header{background:var(--surface);z-index:2;text-align:center;align-content:center;gap:3px;min-height:46px;padding:10px 16px;display:grid;position:sticky;top:0}.schedule-header strong{color:var(--text);font-size:16px;font-weight:820;line-height:1.15}.schedule-header span{color:var(--text-muted);font-size:12px;line-height:1.2}.draggable-header{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none}.schedule-section.dragging .draggable-header{cursor:grabbing}.sticky-cell{background:var(--surface);z-index:5;left:0}.schedule-time{background:var(--surface);color:var(--text-muted);z-index:4;place-items:stretch center;gap:10px;min-height:118px;padding:14px 10px;font-size:13px;display:grid;position:sticky;left:0}.slot{background:var(--surface);color:var(--text);cursor:default;text-align:left;justify-content:stretch;align-items:stretch;gap:8px;min-width:0;min-height:104px;padding:7px;display:grid}.schedule-time>div{align-content:center;justify-items:center;gap:4px;display:grid}.schedule-time strong{color:var(--text);font-size:15px;font-weight:820;line-height:1.2}.schedule-time span{color:var(--text-muted);font-size:12px;line-height:1.2}.waitlist-button{background:var(--surface-muted);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:8px;align-self:end;align-items:center;gap:8px;min-height:32px;padding:0 8px;font-size:12px;font-weight:440;display:inline-flex}.waitlist-button span{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:6px;align-items:center;gap:3px;height:24px;padding:0 6px;font-size:12px;display:inline-flex}.reservation-card strong,.reservation-card span,.available-slot strong,.available-slot span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.slot:disabled{cursor:default}.slot-card{cursor:default;border:1px solid #f4cf7a;border-radius:8px;min-width:0;min-height:100%;padding:38px 9px 9px;display:grid;position:relative}.reservation-card{color:#101828;background:#fff8e9;grid-template-columns:minmax(0,1fr);gap:7px}.reservation-ref{color:#5c6678;font-size:11px;font-weight:560;line-height:1;position:absolute;top:14px;right:10px}.slot.confirmed .reservation-card{background:#eef7ff;border-color:#91caff}.slot.paid .reservation-card{background:#edf8f1;border-color:#abdeb9}.slot.blocked .reservation-card{border-color:var(--border);background:#f4f5f5}.slot.selected .reservation-card{box-shadow:0 0 0 2px #105bd857}.slot-main,.slot-meta,.available-slot{border-radius:10px}.slot-main{gap:8px;min-width:0;display:grid}.reservation-main{padding-right:48px}.slot-person{grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;min-width:0;display:grid}.slot-person>div{gap:3px;min-width:0;display:grid}.slot-person strong,.slot-person span{min-width:0;display:block}.slot-person strong{color:#101828;font-size:14px;font-weight:820;line-height:1.2}.slot-person span{color:#4f5f78;font-size:12px;line-height:1.2}.person-token{color:#344054;background:#f2b705;border-radius:999px;width:32px;height:32px;display:block;position:relative}.person-token svg{width:19px;height:19px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-42%)}.slot-badge{text-transform:uppercase;border-radius:6px;justify-content:center;align-items:center;min-width:70px;height:22px;padding:0 7px;font-size:11px;font-weight:850;line-height:1;display:inline-flex;position:absolute;top:9px;left:9px}.slot-badge.reserved{color:#875000;background:#ffe8a8}.slot-badge.confirmed{color:#1261a6;background:#d9edff}.slot-badge.paid,.slot-badge.available{color:#11723e;background:#dff5e5}.slot-meta{border-top:1px solid #efd595;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;padding-top:7px;display:flex;overflow:hidden}.slot-meta span{color:#101828;align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:440;line-height:1.2;display:inline-flex}.slot-meta strong{font-size:inherit;font-weight:440}.slot-actions{border-top:1px solid #efd595;grid-column:1/-1;justify-content:center;align-items:center;gap:12px;padding-top:5px;display:flex}.slot-actions button{color:#183b68;cursor:pointer;background:0 0;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.slot-actions button:hover{color:var(--primary)}.tooltip-button{position:relative}.tooltip-button:after{color:#fff;content:attr(data-tooltip);opacity:0;pointer-events:none;white-space:nowrap;z-index:40;background:#101828;border-radius:6px;padding:7px 8px;font-size:11px;font-weight:760;line-height:1;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.tooltip-button:hover:after,.tooltip-button:focus-visible:after{opacity:1;transform:translate(-50%)translateY(0)}.available-slot{color:#125f36;text-align:center;background:#f0fbf4;border-color:#abefc6;grid-template-columns:minmax(0,1fr);justify-items:center;gap:8px}.available-slot>div strong,.available-slot>div b,.available-slot>div span{text-align:center;display:block}.available-slot strong{color:#125f36;white-space:normal;font-size:14px;line-height:1.2}.available-slot b{color:#125f36;margin-top:3px;font-size:20px;font-weight:760;line-height:1.05}.available-slot>div>span{color:#426b52;white-space:normal;font-size:12px;line-height:1.2}.reserve-button{color:#126536;cursor:pointer;background:#fff;border:1px solid #17b26a;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:34px;padding:0 12px;font-size:13px;font-weight:680;display:inline-flex}:root[data-theme=dark] .daily-shell{background:var(--bg)}:root[data-theme=dark] .proposal-toolbar,:root[data-theme=dark] .schedule-section{box-shadow:0 1px 2px #00000038,0 14px 36px #00000029}:root[data-theme=dark] .daily-toolbar select,:root[data-theme=dark] .daily-toolbar input,:root[data-theme=dark] .module-toolbar input,:root[data-theme=dark] .module-toolbar select,:root[data-theme=dark] .person-form-grid input,:root[data-theme=dark] .person-form-grid select,:root[data-theme=dark] .form-grid input,:root[data-theme=dark] .form-grid select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:#0f1a2d}:root[data-theme=dark] .person-form-grid input[type=date]::-webkit-calendar-picker-indicator{filter:invert()opacity(.72)}:root[data-theme=dark] .person-form-grid select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] .person-form-panel{box-shadow:0 28px 80px #00000057}:root[data-theme=dark] .daily-toolbar select::placeholder,:root[data-theme=dark] .daily-toolbar input::placeholder{color:var(--text-soft)}:root[data-theme=dark] .schedule-header,:root[data-theme=dark] .sticky-cell,:root[data-theme=dark] .schedule-time,:root[data-theme=dark] .slot{background:#101b2e}:root[data-theme=dark] .schedule-header strong,:root[data-theme=dark] .schedule-time strong{color:#e8eef8}:root[data-theme=dark] .schedule-header span,:root[data-theme=dark] .schedule-time span{color:#a8b4c7}:root[data-theme=dark] .slot.selected .reservation-card{box-shadow:0 0 0 2px #60a5fab3}:root[data-theme=dark] .reservation-card{color:#f4ead7;background:#2a2418;border-color:#8a6a2e}:root[data-theme=dark] .slot.confirmed .reservation-card{background:#18283a;border-color:#3f78a8}:root[data-theme=dark] .slot.paid .reservation-card{background:#173024;border-color:#3f8f61}:root[data-theme=dark] .available-slot{color:#ccebd8;background:#142b20;border-color:#3b8a59}:root[data-theme=dark] .slot-person strong,:root[data-theme=dark] .slot-meta span,:root[data-theme=dark] .slot-meta strong{color:#f2f6fb}:root[data-theme=dark] .slot-person span,:root[data-theme=dark] .reservation-ref{color:#a8b4c7}:root[data-theme=dark] .slot-meta,:root[data-theme=dark] .slot-actions{border-color:#cda9526b}:root[data-theme=dark] .slot.confirmed .slot-meta,:root[data-theme=dark] .slot.confirmed .slot-actions{border-color:#6ba6dc6b}:root[data-theme=dark] .slot.paid .slot-meta,:root[data-theme=dark] .slot.paid .slot-actions{border-color:#5bb2796b}:root[data-theme=dark] .slot-actions button{color:#9fc5f8}:root[data-theme=dark] .available-slot strong,:root[data-theme=dark] .available-slot b{color:#b9f0cb}:root[data-theme=dark] .available-slot>div>span{color:#9cc8ad}:root[data-theme=dark] .waitlist-button{color:#a8b4c7;background:#17243a;border-color:#2b3c58}:root[data-theme=dark] .waitlist-button span{color:#cbd5e1;background:#0f1a2d;border-color:#2b3c58}:root[data-theme=dark] .user-button.active,:root[data-theme=dark] .user-button:hover{background:#17243a}:root[data-theme=dark] .reserve-button{color:#126536;background:#fff}.footer-legend{background:0 0;justify-content:flex-start;align-items:center}.mobile-schedule-list{display:none}.mobile-hour-group{border-bottom:1px solid var(--border-soft);gap:10px;padding:12px;display:grid}.mobile-hour-heading{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mobile-hour-heading strong{color:var(--text)}.mobile-hour-heading span{font-size:12px}.mobile-slot-wrap{gap:6px;display:grid}.mobile-slot-wrap>span{color:var(--text-muted);font-size:12px;font-weight:820}.footer-legend strong{background:var(--surface);border:1px solid var(--border);border-radius:8px;min-height:30px;padding:6px 12px;font-size:13px}.legend-item.available{color:var(--green);background:#e3f4ea}.status-pill.blocked{color:#596579;background:#eef2f7}.inspector{gap:14px;display:grid;position:sticky;top:18px}.panel{overflow:hidden}.status-pill{border-radius:999px;min-height:26px;margin:0 0 6px;padding:5px 10px;font-size:12px;font-weight:800;display:inline-flex}.detail-list{gap:0;margin:0;display:grid}.detail-list div{border-bottom:1px solid var(--border-soft);grid-template-columns:95px minmax(0,1fr);align-items:center;gap:12px;min-height:46px;padding:0 14px;display:grid}.detail-list dt{color:var(--text-muted);font-size:12px;font-weight:780}.detail-list dd{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.notes-box{background:var(--surface-muted);border:1px solid var(--border-soft);color:var(--text-muted);border-radius:8px;min-height:72px;margin:14px;padding:12px;line-height:1.45}.action-row{grid-template-columns:1fr 1fr;gap:8px;padding:0 14px 14px;display:grid}.activity-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.activity-list li{border-bottom:1px solid var(--border-soft);grid-template-columns:50px minmax(0,1fr);align-items:start;gap:10px;min-height:64px;padding:12px 14px;display:grid}.activity-list li:last-child{border-bottom:0}.activity-list time{color:var(--text-soft);font-size:12px;font-weight:780}.activity-list div{gap:2px;min-width:0;display:grid}.activity-list span{color:var(--text-muted);font-size:13px;line-height:1.35}.activity-list .success strong{color:var(--green)}.activity-list .warning strong{color:var(--amber)}.activity-list .danger strong{color:var(--red)}.empty-text{color:var(--text-muted);margin:0;padding:14px}.placeholder-view{gap:14px;padding:18px;display:grid}.placeholder-title{align-items:center;gap:10px;display:flex}.placeholder-title h2{margin:0}.placeholder-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;display:grid}.placeholder-row{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;min-height:74px;padding:14px;display:flex}.mail-strip{color:#855611;background:#fff7e9;border:1px solid #edd7b1;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:0 12px;display:flex}@media (width<=1120px){.module-split,.reports-layout,.security-layout,.catalog-grid{grid-template-columns:1fr}.side-panel{align-self:stretch}.people-content{grid-template-columns:1fr}.person-form-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.person-detail{order:-1;align-self:stretch}.daily-toolbar{grid-template-columns:minmax(190px,1fr) minmax(140px,.7fr) minmax(160px,.7fr) auto}.proposal-toolbar{grid-template-columns:repeat(2,minmax(190px,1fr))}.filter-reset{justify-self:stretch}.summary-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.compact-kpis{grid-column:1/-1;justify-content:flex-start}.reservations-layout{grid-template-columns:1fr}.inspector{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.schedule-grid{max-height:none}}@media (width<=860px){.daily-app{grid-template-columns:1fr;height:auto;min-height:100vh}.daily-app.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr);height:100vh;min-height:0}.daily-shell{height:auto;min-height:100vh}.daily-topbar{flex-direction:column;align-items:flex-start}.daily-toolbar{grid-template-columns:1fr 1fr}.page-heading{flex-direction:column;align-items:flex-start}.search-cta{width:100%}.module-toolbar,.people-toolbar{grid-template-columns:1fr 1fr}.person-form-grid,.checks-fieldset,.inline-fieldset{grid-template-columns:1fr}.wide-field,.checks-fieldset{grid-column:auto}.person-switches{grid-column:1/-1}.selected-strip{flex-wrap:wrap;align-items:flex-start}.selected-actions{margin-left:0}.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{grid-template-columns:1fr;gap:12px;padding:12px;display:grid}.brand-row{grid-template-columns:42px minmax(0,1fr) 38px}.side-nav{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0;display:grid}.sidebar-collapsed .side-nav{grid-template-columns:1fr}.sidebar-collapsed .nav-item span,.sidebar-collapsed .source-panel div{display:none}.nav-section{align-content:start}.nav-item{justify-content:center}.source-panel{display:none}.workspace{padding:12px}.topbar{flex-direction:column;align-items:flex-start}.topbar-actions{justify-content:flex-start;width:100%}.filter-bar{grid-template-columns:1fr 1fr}.metrics-grid,.placeholder-grid,.inspector{grid-template-columns:1fr}}@media (width<=560px){.daily-toolbar,.module-toolbar,.people-toolbar{grid-template-columns:1fr}.daily-shell{padding:16px}.summary-grid{grid-template-columns:1fr}.person-switches{grid-column:auto}.daily-topbar .topbar-actions,.selected-actions,.selected-actions .ghost-button,.selected-actions .primary-button{width:100%}.selected-actions{grid-template-columns:1fr 1fr;display:grid}.side-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-actions .ghost-button,.topbar-actions .primary-button,.user-button{flex:148px}.filter-bar{grid-template-columns:1fr}.date-stepper{grid-template-columns:1fr 1fr;display:grid}.date-stepper .icon-button{width:100%}.section-heading{flex-direction:column;align-items:flex-start}.status-legend{justify-content:flex-start}.schedule-grid{display:none}.mobile-schedule-list{display:grid}.schedule-time,.slot{min-height:118px}.slot.reserved,.slot.confirmed,.slot.paid{grid-template-columns:1fr}.slot-meta{border-top:1px solid #efd595;border-left:0;padding-top:8px;padding-left:0}.available-slot,.action-row,.person-actions{grid-template-columns:1fr}}
