:root{--sidebar: #f8fafc;--sidebar-soft: #e8f0fe;--bg: #eef2f6;--surface: #ffffff;--surface-soft: #f8fafc;--line: #dde4ee;--line-strong: #c5cfdd;--text: #172033;--muted: #667085;--accent: #2563eb;--accent-soft: #eff6ff;--green: #16a34a;--green-soft: #dcfce7;--amber: #b45309;--amber-soft: #fef3c7;--red: #b91c1c;--red-soft: #fee2e2;--violet: #6d28d9;--violet-soft: #f3e8ff;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select{font:inherit}.btn,.nav-item,.page-buttons button,.icon-btn{white-space:nowrap}h1,h2,h3,p{margin:0}h1{font-size:22px;line-height:1.25}h2{font-size:18px;line-height:1.3}h3{font-size:15px;line-height:1.35}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.sidebar{background:var(--sidebar);color:var(--text);border-right:1px solid var(--line)}.brand{height:72px;display:flex;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid var(--line)}.brand-mark,.avatar{width:36px;height:36px;border-radius:8px;background:#34d399;color:#102018;display:grid;place-items:center;flex:0 0 auto;font-weight:800}.nav-list{display:grid;gap:4px;padding:14px 10px}.nav-item{min-height:44px;border:0;border-radius:8px;background:transparent;color:#344054;display:flex;align-items:center;gap:12px;padding:0 12px;cursor:pointer}.nav-item.active,.nav-item:hover{background:var(--sidebar-soft);color:#1d4ed8}.nav-glyph{width:26px;height:26px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;display:grid;place-items:center;flex:0 0 auto;font-size:12px}.main{min-width:0}.topbar{min-height:72px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 28px}.topbar-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.user-box{display:flex;align-items:center;gap:12px;min-width:0;color:var(--muted);font-weight:600}.user-box .btn{min-height:34px}.avatar{background:#d7fbf6;color:#0f766e}.content{padding:28px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.login-panel{width:min(420px,100%);display:grid;gap:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:22px;box-shadow:0 18px 45px #0f172a1f}.login-brand{height:auto;border:0;padding:0;color:var(--text)}.login-title{display:grid;gap:4px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.muted{color:var(--muted)}.head-actions,.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.user-actions{min-width:360px}.permission-list{display:flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:380px}.permission-list span{border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:#475467;padding:3px 8px;font-size:12px;font-weight:700}.admin-tabs{display:flex;gap:4px;margin-bottom:10px;border-bottom:1px solid var(--line)}.admin-tabs button{min-height:40px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);padding:0 14px;cursor:pointer;font-weight:800}.admin-tabs button.active{border-bottom-color:var(--accent);color:var(--accent)}.admin-tabs button span{margin-left:5px;color:inherit;font-size:12px}.role-summary{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line)}.role-summary span{color:var(--muted);font-size:13px}.risk-label{display:inline-grid;min-width:24px;min-height:24px;place-items:center;border:1px solid #f59e0b;border-radius:999px;background:#fffbeb;color:#b45309;font-size:12px;font-weight:800}.btn.compact{min-height:32px;padding:0 9px;font-size:12px}.role-editor-summary{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);padding:10px 12px;color:var(--muted);font-size:13px}.permission-group{display:grid;gap:6px}.permission-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px}.text-button{border:0;background:transparent;color:var(--accent);padding:4px;cursor:pointer;font-weight:700}.permission-check,.permission-row{min-height:48px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:7px;padding:8px 10px}.permission-check.risky,.permission-row.risky{border-color:#fbbf24;background:#fffbeb}.permission-check input{width:16px;height:16px;min-height:auto}.permission-check span,.permission-row span{min-width:0;flex:1;display:grid;gap:2px}.permission-check small,.permission-row small{color:var(--muted);font-size:11px}.permission-check>b,.permission-row>b{color:#b45309;font-size:11px}.effective-access-list{display:grid;gap:6px}.btn,select,input,textarea{min-height:38px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:var(--text);padding:0 12px}textarea{min-height:96px;padding:10px 12px;resize:vertical;font:inherit}.btn{font-weight:700;cursor:pointer}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn.primary{border-color:var(--accent);background:var(--accent);color:#fff}.btn.danger{border-color:#fecaca;color:var(--red)}.btn:disabled{cursor:not-allowed;opacity:.48}.work-surface,.calendar-shell{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 18px 45px #0f172a14}.calendar-shell{overflow:visible}.integration-grid{display:grid;grid-template-columns:repeat(2,minmax(360px,1fr));gap:16px}.integration-card{min-width:0;border:1px solid var(--line);border-top:4px solid #16a34a;border-radius:8px;background:var(--surface);box-shadow:0 18px 45px #0f172a14;overflow:hidden}.integration-verme{border-top-color:#2563eb}.integration-card-head{min-height:104px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px;border-bottom:1px solid var(--line)}.integration-identity{min-width:0;display:flex;align-items:flex-start;gap:12px}.integration-identity p{margin-top:4px;line-height:1.45}.integration-mark{width:42px;height:42px;border-radius:8px;background:#dcfce7;color:#166534;display:grid;place-items:center;flex:0 0 auto;font-size:18px;font-weight:800}.integration-verme .integration-mark{background:#dbeafe;color:#1d4ed8}.integration-state{min-height:26px;border-radius:999px;padding:5px 10px;background:#e2e8f0;color:#475569;flex:0 0 auto;font-size:12px;font-weight:800}.integration-state.connected{background:var(--green-soft);color:#166534}.integration-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line)}.integration-metrics>div{min-width:0;display:grid;gap:5px;padding:16px 18px;border-right:1px solid var(--line)}.integration-metrics>div:last-child{border-right:0}.integration-metrics span,.integration-sync span{color:var(--muted);font-size:12px;font-weight:700}.integration-metrics strong{font-size:24px;line-height:1}.integration-sync{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px 18px;background:var(--surface-soft)}.integration-sync>div{min-width:0;display:grid;gap:5px}.integration-sync strong{overflow-wrap:anywhere;font-size:13px}.integration-actions{display:flex;align-items:center;gap:8px;padding:16px 18px;border-top:1px solid var(--line)}.integration-actions .btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.filters{display:flex;gap:12px;padding:18px;border-bottom:1px solid var(--line);flex-wrap:wrap}.filters input{min-width:280px}.compact-search-row{align-items:center;padding-bottom:12px}.compact-search-row input{flex:1 1 360px}.configurable-filter-block{border-bottom:1px solid var(--line);background:#f8fafc}.pinned-filter-grid,.hidden-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.pinned-filter-grid{align-items:end;padding:12px 18px 16px}.compact-filter-field{min-width:0}.compact-filter-field span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-filter-field input,.compact-filter-field select{width:100%;min-width:0}.filter-toggle{min-height:40px;align-self:end}.filter-toggle.active{border-color:#2563eb;color:#1d4ed8;background:#eff6ff}.filter-settings-panel{padding:16px 18px 20px;border-top:1px solid var(--line);background:#fff}.filter-pin-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.filter-pin-list .check-row{min-width:0;background:#f8fafc}.filter-pin-list .check-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-subtitle{margin:18px 0 10px}.project-shortcuts-panel{padding:16px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fafc)}.section-head.compact{margin-bottom:12px}.actions-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.project-shortcut-grid{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));gap:10px}.project-shortcut-tile{min-height:86px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);display:grid;gap:4px;justify-items:start;padding:12px;text-align:left;cursor:pointer}.project-shortcut-tile:hover{border-color:var(--accent);background:#f9fbff}.project-shortcut-tile.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px #2563eb24}.project-shortcut-tile.empty{border-style:dashed;color:var(--muted)}.project-shortcut-tile span{color:var(--muted);font-size:11px;font-weight:800}.project-shortcut-tile strong{max-width:100%;overflow-wrap:anywhere;font-size:14px}.project-shortcut-tile small{max-width:100%;color:var(--muted);overflow-wrap:anywhere}.city-shortcut-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.city-shortcut-row>strong{margin-right:4px}.city-pill{min-height:32px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text);display:inline-flex;align-items:center;gap:6px;padding:0 12px;cursor:pointer}.city-pill.active{border-color:var(--accent);background:var(--accent);color:#fff}.city-pill span{min-width:22px;border-radius:999px;background:#0f172a14;padding:2px 6px;font-size:12px;font-weight:800;text-align:center}.city-pill.active span{background:#fff3}.table-wrap{overflow:auto}.analytics-panel{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) repeat(3,minmax(170px,1.2fr));gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);background:#f8fafc}.candidate-analytics-panel{grid-template-columns:repeat(5,minmax(110px,.8fr)) repeat(4,minmax(150px,1fr))}.assignment-analytics-panel{grid-template-columns:repeat(7,minmax(120px,1fr))}.analytics-breakdown{display:grid;gap:4px;min-width:0;border:1px solid var(--line);border-radius:7px;background:#fff;padding:10px 12px;color:var(--muted);font-size:12px}.analytics-breakdown strong{color:var(--text)}table{width:100%;min-width:860px;border-collapse:collapse}th,td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{background:var(--surface-soft);color:#475467;font-size:12px;text-transform:uppercase}td{font-size:14px}.coverage-cell{display:inline-grid;min-width:96px;gap:2px;border:1px solid var(--line);border-radius:8px;padding:7px 9px;background:#f8fafc}.coverage-cell strong{color:var(--text);font-size:14px}.coverage-cell span,.coverage-cell small{color:var(--muted);font-size:11px;line-height:1.25}.coverage-cell.done{border-color:#a7f3d0;background:#ecfdf5}.coverage-cell.done span{color:#047857}.coverage-cell.over{border-color:#fecaca;background:#fef2f2}.coverage-cell.over span{color:#b91c1c}.checkbox-cell{width:48px;padding-right:4px}.checkbox-cell input{min-height:auto;width:16px;height:16px}.row-click{cursor:pointer}.row-click:hover td{background:#f9fbff}.person-cell{display:flex;align-items:center;gap:10px;min-width:220px}.project-name-cell{min-width:230px}.project-name-cell span{display:block;margin-top:4px;overflow-wrap:anywhere}.project-directory{display:grid;gap:16px;padding:18px;border-top:1px solid var(--line);background:#f8fafc}.project-directory-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1.2fr);gap:16px}.project-directory-section{display:grid;gap:12px;min-width:0}.project-directory-section h3{font-size:14px}.service-list{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px}.directory-inline-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(100px,140px) auto;gap:8px}.service-item{display:grid;gap:5px;min-height:72px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.service-item strong{font-size:13px;line-height:1.3}.service-item span{color:var(--muted);font-size:12px}.project-city-list{display:flex;gap:8px;flex-wrap:wrap;align-content:start}.stores-section{padding-top:14px;border-top:1px solid var(--line)}.directory-store-form{display:grid;gap:14px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:14px}.directory-rate-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px}.compact-table table{min-width:720px}.empty-state.compact{padding:18px}.mini-avatar,.profile-photo{border-radius:8px;background:#e0f2fe;color:#075985;display:grid;place-items:center;flex:0 0 auto;font-weight:800}.mini-avatar{width:38px;height:38px;font-size:12px}.status{display:inline-flex;min-height:24px;border-radius:999px;padding:4px 10px;background:var(--green-soft);color:#166534;font-size:12px;font-weight:700}.status-candidate,.status-processing{background:var(--amber-soft);color:var(--amber)}.status-open{background:var(--accent-soft);color:#1d4ed8}.status-assigned,.status-processed,.status-ready{background:var(--violet-soft);color:var(--violet)}.status-rejected,.status-deleted,.status-closed{background:var(--red-soft);color:var(--red)}.status-inactive,.status-non_actual,.status-not_started{background:#e2e8f0;color:#475569}.status-in_progress{background:var(--amber-soft);color:var(--amber)}.status-passed{background:var(--green-soft);color:#166534}.status-found{background:var(--accent-soft);color:#1d4ed8}.status-screening{background:var(--amber-soft);color:var(--amber)}.status-ready_for_request{background:var(--green-soft);color:#166534}.status-rejected{background:var(--red-soft);color:var(--red)}.notice{margin-bottom:12px;border:1px solid #f59e0b;background:#fffbeb;border-radius:8px;padding:12px}.empty-state{padding:32px;color:var(--muted)}.pagination{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 18px;color:var(--muted);border-top:1px solid var(--line)}.selection-bar{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 18px;border-top:1px solid var(--line);background:#eef6ff}.page-buttons{display:flex;align-items:center;gap:6px}.page-buttons button{width:32px;height:32px;border:1px solid var(--line);border-radius:7px;background:#fff;cursor:pointer}.page-buttons button.active{background:var(--accent);border-color:var(--accent);color:#fff}.profile-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:18px}.profile-aside{display:grid;gap:12px;align-content:start}.profile-card,.profile-tabs,.profile-main{background:var(--surface);border:1px solid var(--line);border-radius:8px}.profile-card{padding:18px}.profile-photo{width:86px;height:86px;margin-bottom:14px;font-size:22px}.profile-card h2{margin-bottom:4px}.profile-meta{display:grid;gap:10px;margin-top:18px}.profile-meta div,.summary-item,.info-row{display:grid;gap:4px}.profile-meta span,.summary-item span,.info-row span,.field span{color:var(--muted);font-size:12px}.profile-tabs{display:grid;overflow:hidden}.profile-tabs button{min-height:46px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--text);text-align:left;padding:0 14px;cursor:pointer}.profile-tabs button:last-child{border-bottom:0}.profile-tabs button.active{background:var(--accent-soft);color:#1d4ed8;font-weight:800}.attach-mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff}.attach-mode-tabs button{min-height:40px;border:0;border-right:1px solid var(--line);background:#fff;color:var(--muted);font-weight:800;cursor:pointer}.attach-mode-tabs button:last-child{border-right:0}.attach-mode-tabs button.active{background:var(--accent-soft);color:#1d4ed8}.attach-mode-tabs button:disabled{color:#94a3b8;cursor:not-allowed}.profile-main{padding:18px;min-width:0}.section-title{margin-top:26px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px;margin-top:14px}.compact-form{grid-template-columns:repeat(2,minmax(180px,1fr));margin-top:0}.request-form-modal,.request-form-modal .form-grid{min-width:0}.modal.request-schedule-modal{width:min(1120px,100%)}.request-shift-editor{display:grid;gap:10px;min-width:0;padding-top:4px}.request-shift-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.request-shift-editor-head>div{display:grid;gap:3px}.request-shift-editor-head small{color:var(--muted)}.request-shift-list{display:grid;gap:8px}.request-shift-row{display:grid;grid-template-columns:28px minmax(145px,.8fr) minmax(110px,.55fr) minmax(110px,.55fr) minmax(190px,1.4fr) auto;gap:10px;align-items:end;min-width:0;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft)}.request-shift-number{align-self:center;color:var(--muted);font-weight:800;text-align:center}.request-shift-actions{display:flex;gap:6px}.field{min-width:0;display:grid;gap:6px}.field>input,.field>select,.field>textarea{width:100%;min-width:0;max-width:100%}.field>select{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-hint{color:var(--muted);font-size:12px}.modal-section-title{margin:4px 0 0;font-size:14px}.readonly-input{min-height:38px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);padding:9px 12px}.request-detail{padding:18px}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:16px}.summary-item{border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:14px}.request-detail .summary-grid{gap:6px;margin-bottom:10px}.request-detail .summary-item{min-height:42px;gap:2px;padding:7px 9px}.request-detail .summary-item span{font-size:11px;line-height:1.15}.request-detail .summary-item strong{font-size:14px;line-height:1.2;overflow-wrap:anywhere}.legend-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px;color:var(--muted)}.dot{width:9px;height:9px;display:inline-block;border-radius:50%;background:var(--green)}.dot.rejected{background:var(--red)}.dot.deleted_by_client{background:#64748b}.shift-strip{display:grid;grid-template-columns:minmax(190px,1.2fr) repeat(7,minmax(142px,1fr));min-width:1190px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.history-wrap{border:1px solid var(--line);border-radius:8px}.history-table{min-width:900px}.history-table th,.history-table td{padding:10px 12px}.strip-cell{min-height:96px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px;background:#fff}.strip-cell:nth-child(8n){border-right:0}.strip-head{min-height:42px;background:var(--surface-soft);color:#475467;font-size:12px;font-weight:800;text-transform:uppercase}.shift-chip,.time-chip{width:100%;border:1px solid #bfdbfe;border-radius:7px;background:var(--accent-soft);color:#1e3a8a;display:grid;gap:3px;padding:8px;text-align:left;white-space:normal;overflow-wrap:anywhere}.shift-chip+.shift-chip{margin-top:8px}.shift-chip-button{font:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease}.shift-chip-button:not(:disabled):hover{border-color:var(--accent);background:#dbeafe}.shift-chip-button:focus-visible{outline:2px solid #f59e0b;outline-offset:2px}.shift-chip-button.assigned,.shift-chip-button:disabled{cursor:default;opacity:1}.candidate-match-panel{margin-top:24px;border-top:1px solid var(--line);padding-top:4px}.candidate-match-table td{vertical-align:middle}.table-secondary{display:block;margin-top:3px;color:var(--muted);font-size:12px}.match-state{color:#166534;font-size:13px;font-weight:800}.candidate-match-list{display:grid;border:1px solid var(--line);border-radius:8px;overflow:hidden}.candidate-match-row{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;background:#fff}.candidate-match-row+.candidate-match-row{border-top:1px solid var(--line)}.candidate-match-row>div{min-width:0;display:grid;gap:4px}.candidate-match-row span{color:var(--muted);font-size:13px;overflow-wrap:anywhere}.candidate-match-section-actions{display:flex;align-items:center;gap:8px}.candidate-match-section-actions .btn{min-height:34px}.candidate-match-modal .empty-state{border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:18px}.modal.candidate-picker-modal{width:min(1240px,100%);overflow:hidden}.candidate-match-modal{grid-template-columns:minmax(360px,.9fr) minmax(480px,1.1fr);gap:0;height:min(720px,calc(100vh - 108px));padding:0}.candidate-match-column{min-width:0;overflow-y:auto;padding:18px}.candidate-match-specification{border-left:1px solid var(--line);background:var(--surface-soft)}.candidate-match-context{display:grid;gap:0}.candidate-match-section-head{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.candidate-match-section-head h3{margin:0;font-size:16px}.candidate-match-section-head span{min-width:26px;padding:3px 7px;border-radius:999px;background:var(--surface-soft);color:var(--muted);text-align:center;font-size:12px;font-weight:700}.candidate-match-specification .candidate-match-section-head{margin-top:0}.candidate-match-specification .specification-viewer{margin:0;background:var(--surface)}.calendar-toolbar,.calendar-totals{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px}.calendar-toolbar{position:sticky;top:0;z-index:8;height:62px;border-bottom:1px solid var(--line);border-radius:8px 8px 0 0;background:var(--surface)}.planning-period-nav,.planning-totals{display:flex;align-items:center;gap:8px}.planning-period-nav strong{margin-left:4px}.planning-arrow{width:34px;min-width:34px;padding:6px;font-size:22px;line-height:1}.planning-totals{flex-wrap:wrap;color:var(--muted);font-size:13px}.planning-totals span{border-left:1px solid var(--line);padding-left:10px}.planning-totals strong{color:var(--text)}.planning-filter-panel{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;gap:10px;border-bottom:1px solid var(--line);padding:12px 16px;background:var(--surface-soft)}.calendar-scroll{max-width:100%;overflow:visible}.calendar-grid{display:grid;width:100%;min-width:900px}.cal-cell{min-height:112px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:8px;background:#fff}.cal-head{position:sticky;top:62px;z-index:5;height:42px;background:var(--surface-soft);color:#475467;font-size:12px;font-weight:800;overflow:hidden;text-transform:uppercase}.cal-left{position:sticky;left:0;z-index:2;border-right:1px solid var(--line-strong)}.cal-head.cal-left{z-index:7}.object-cell{display:grid;gap:5px;align-content:start}.object-cell span{color:var(--muted);font-size:12px}.time-chip{min-height:72px;cursor:pointer}.planning-shift strong{font-size:12px;white-space:nowrap}.time-chip+.time-chip{margin-top:8px}.time-chip:hover{border-color:var(--accent)}.planning-shift.has-candidate-match{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.planning-shift.status-assigned,.planning-shift.status-confirmed{border-color:#ddd6fe;background:#f5f3ff;color:#5b21b6}.planning-shift.status-completed{border-color:#d0d5dd;background:#f9fafb;color:#475467}.calendar-empty{display:grid;place-items:center;gap:5px;min-height:180px;padding:24px;color:var(--muted);text-align:center}.calendar-empty strong{color:var(--text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:#0f172a5c}.modal{width:min(640px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;border-radius:8px;background:var(--surface);box-shadow:0 24px 60px #0f172a3d}.modal-head{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}.icon-btn{width:34px;height:34px;border:1px solid var(--line);border-radius:7px;background:#fff;cursor:pointer;font-size:22px;line-height:1}.modal-body{display:grid;gap:14px;padding:18px}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.template-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.split-actions{justify-content:space-between}.column-settings{display:grid;gap:8px;max-height:min(520px,60vh);overflow-y:auto;padding-right:4px}.column-setting-row{min-height:46px;display:grid;grid-template-columns:minmax(180px,.8fr) minmax(180px,1.2fr);align-items:center;gap:10px;border:1px solid var(--line);border-radius:7px;padding:7px 9px}.column-setting-row label{min-width:0;display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700}.column-setting-row label input{min-height:auto;width:16px;height:16px}.column-setting-row>input{min-height:34px}.shortcut-editor-list{display:grid;gap:8px}.shortcut-editor-row{display:grid;grid-template-columns:38px minmax(180px,1fr) minmax(150px,.8fr);gap:10px;align-items:center}.shortcut-editor-row>span{color:var(--muted);font-size:12px;font-weight:800}.wide-field{grid-column:1 / -1}.import-summary{display:grid;gap:6px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);padding:10px 12px;color:var(--muted);font-size:13px}.preview-errors{display:grid;gap:4px;color:var(--red)}.preview-table{min-width:0}.preview-table th,.preview-table td{padding:8px 10px;font-size:12px}.check-row{min-height:38px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:7px;padding:8px 10px}.check-row input{min-height:auto;width:16px;height:16px}.info-row{grid-template-columns:130px minmax(0,1fr);align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:10px}.biometric-table{min-width:0}.biometric-table th,.biometric-table td{padding:12px}.candidate-summary{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);background:#f8fafc}.analytics-page{display:grid;gap:16px}.analytics-section{display:grid;gap:14px;padding:18px}.analytics-section .analytics-panel{padding:0;border:0}.analytics-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px}.data-quality-panel{display:grid;gap:14px}.data-quality-summary{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px}.data-quality-list{border-top:1px solid var(--line)}.data-quality-row{border-bottom:1px solid var(--line)}.data-quality-row summary{min-height:62px;display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:12px;cursor:pointer;list-style:none;padding:10px 4px}.data-quality-row summary::-webkit-details-marker{display:none}.data-quality-row summary>span:nth-child(2){min-width:0;display:grid;gap:3px}.data-quality-row summary small,.data-quality-items span{color:var(--muted)}.quality-indicator{width:8px;height:8px;border-radius:50%;background:var(--muted)}.severity-critical .quality-indicator{background:var(--red)}.severity-warning .quality-indicator{background:#d97706}.severity-info .quality-indicator{background:var(--accent)}.severity-passed .quality-indicator{background:#16a34a}.data-quality-items{display:grid;gap:8px;border-top:1px solid var(--line);padding:12px 30px 14px;background:var(--surface-soft)}.data-quality-items>div{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(240px,1.3fr);gap:12px}.analytics-list{display:grid;gap:8px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);padding:12px}.analytics-list>div{min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:8px}.analytics-list span{min-width:0;overflow-wrap:anywhere}.assignment-outcome-list>div>span{display:grid;gap:3px}.assignment-outcome-list small{color:var(--muted)}.compact-field{gap:4px}.compact-field span{font-size:11px;color:var(--muted)}.candidate-reminders{display:grid;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);background:#fff7ed}.candidate-reminders .section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.candidate-reminders .section-head>strong{min-width:34px;height:34px;border-radius:7px;background:#fed7aa;color:#9a3412;display:grid;place-items:center}.reminder-list{display:grid;gap:8px}.reminder-item{min-height:48px;border:1px solid #fed7aa;border-radius:7px;background:#fff;color:var(--text);display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) 70px;align-items:center;gap:12px;padding:8px 12px;text-align:left}button.reminder-item{cursor:pointer}button.reminder-item:hover{border-color:#fb923c}.reminder-item span{min-width:0;display:grid;gap:2px}.reminder-item small{color:var(--muted)}.modal-tabs{display:flex;gap:8px;padding:0 18px 14px;border-bottom:1px solid var(--line)}.modal-tabs button{min-height:34px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--text);padding:0 12px;cursor:pointer;font-weight:700}.modal-tabs button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.candidate-history{display:grid;gap:10px}.history-item{display:grid;gap:6px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);padding:12px}.history-item>div{display:flex;justify-content:space-between;gap:12px}.history-item span,.history-item small{color:var(--muted)}.history-item p{overflow-wrap:anywhere}.training-layout,.training-admin{overflow:visible}.training-welcome{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;border-bottom:1px solid var(--line);background:#f8fafc}.training-kicker{display:inline-block;margin-bottom:8px;color:var(--accent);font-size:12px;font-weight:800;text-transform:uppercase}.training-progress{min-width:150px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:14px;text-align:center}.training-progress strong{display:block;font-size:22px}.training-progress span{color:var(--muted);font-size:12px;font-weight:700}.training-grid{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);min-height:520px}.training-stage-list{display:grid;align-content:start;gap:8px;padding:16px;border-right:1px solid var(--line);background:#fbfdff}.training-stage-tab{min-height:78px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px 10px;align-items:center;padding:12px;text-align:left;cursor:pointer}.training-stage-tab>span:first-child{width:30px;height:30px;border-radius:7px;background:var(--surface-soft);display:grid;place-items:center;font-weight:800}.training-stage-tab strong{overflow-wrap:anywhere}.training-stage-tab .status{grid-column:2;width:fit-content}.training-stage-tab.active{border-color:var(--accent);background:var(--accent-soft)}.training-stage-tab:disabled{cursor:not-allowed;opacity:.55}.training-stage-detail{display:grid;gap:16px;align-content:start;padding:18px}.training-content{border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:14px;line-height:1.55;white-space:pre-wrap}.training-question-list{display:grid;gap:12px}.training-question{display:grid;gap:8px;min-width:0;margin:0;border:1px solid var(--line);border-radius:8px;padding:14px}.training-question legend{padding:0 4px;font-weight:800}.training-option{min-height:38px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:7px;padding:8px 10px}.training-option input{min-height:auto;width:16px;height:16px}.training-admin-create,.training-admin-stage{padding:18px;border-bottom:1px solid var(--line)}.training-admin-list{display:grid}.training-question-admin-list{display:grid;gap:8px;margin-top:16px}.training-question-admin{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px}.training-question-create{display:grid;gap:12px;margin-top:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:14px}.project-directory-tabs{margin:-4px 0 2px}.project-directory>div[hidden]{display:none}.project-directory>div:not([hidden])>.project-directory-grid{margin-top:16px}.project-specifications{display:grid;gap:14px;min-width:0}.specifications-modal{width:min(1080px,100%)}.specification-sections,.specification-viewer{display:grid;gap:8px}.specification-sections details,.specification-viewer details,.store-selection-list details{border-top:1px solid var(--line)}.specification-sections summary,.specification-viewer summary,.store-selection-list summary{padding:12px 4px;color:var(--text);font-weight:700;cursor:pointer}.specification-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:4px 4px 16px}.specification-fields .field.wide{grid-column:1 / -1}.specification-fields .field>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.override-mark{color:#0f766e;font-size:11px}.link-button{justify-self:start;padding:0;border:0;background:transparent;color:var(--primary);cursor:pointer;font-size:12px}.store-selection-list{display:grid;max-height:390px;overflow:auto}.store-selection-list details>label{display:flex;align-items:flex-start;gap:10px;padding:8px 6px 8px 20px;border-top:1px solid #edf2f7}.store-selection-list label span,.store-selection-list label small{display:block}.store-selection-list label small{margin-top:2px;color:var(--muted)}.specification-viewer{padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.specification-viewer dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;margin:0;padding:2px 4px 14px}.specification-viewer dt{color:var(--muted);font-size:12px}.specification-viewer dd{margin:4px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.request-specification-block{display:grid;gap:10px;margin-top:14px}.request-specification-block>.btn{justify-self:start}.specification-warning{margin:14px 0 0;padding:10px 12px;border-left:3px solid #d97706;background:#fffbeb;color:#92400e}@media (max-width: 1180px){.form-grid,.summary-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.project-shortcut-grid{grid-template-columns:repeat(4,minmax(132px,1fr))}.project-directory-grid,.service-list{grid-template-columns:minmax(0,1fr)}.directory-rate-grid,.planning-filter-panel{grid-template-columns:repeat(2,minmax(160px,1fr))}}@media (max-width: 1180px){.calendar-shell{overflow:hidden}.calendar-toolbar{position:static;height:auto;flex-wrap:wrap}.calendar-scroll{overflow:auto}.cal-head{position:static}.cal-head.cal-left{position:sticky;top:auto}}@media (max-width: 860px){.request-shift-row{grid-template-columns:28px repeat(2,minmax(0,1fr))}.request-shift-comment,.request-shift-actions{grid-column:2 / -1}.column-setting-row{grid-template-columns:minmax(0,1fr)}.modal.candidate-picker-modal{overflow-y:auto}.candidate-match-modal{grid-template-columns:minmax(0,1fr);height:auto}.candidate-match-column{overflow:visible}.candidate-match-specification{border-top:1px solid var(--line);border-left:0}.specification-fields,.specification-viewer dl{grid-template-columns:minmax(0,1fr)}.specification-fields .field.wide{grid-column:auto}.app-shell{grid-template-columns:78px minmax(0,1fr)}.brand{justify-content:center;padding:0 10px}.brand strong,.nav-item span:last-child{display:none}.nav-item{justify-content:center;padding:0}.topbar,.page-head,.filters,.section-head,.pagination{align-items:flex-start;flex-direction:column}.user-box span{display:none}.content{padding:16px}.filters input,.filters select,.planning-filter-panel input,.planning-filter-panel select,.shortcut-editor-row input,.topbar-controls select{width:100%;min-width:0}.project-shortcut-grid,.shortcut-editor-row{grid-template-columns:minmax(0,1fr)}.calendar-toolbar,.planning-period-nav,.planning-totals{align-items:flex-start}.planning-period-nav,.planning-totals{flex-wrap:wrap}.planning-filter-panel{grid-template-columns:minmax(0,1fr)}.project-directory{padding:14px}.directory-inline-form,.directory-rate-grid{grid-template-columns:minmax(0,1fr)}.shortcut-editor-row>span{display:none}.profile-layout{grid-template-columns:minmax(0,1fr)}.training-welcome,.training-question-admin{align-items:flex-start;flex-direction:column}.training-grid{grid-template-columns:minmax(0,1fr)}.training-stage-list{border-right:0;border-bottom:1px solid var(--line)}.form-grid,.summary-grid,.candidate-summary,.analytics-panel,.analytics-detail-grid,.reminder-item,.integration-grid{grid-template-columns:minmax(0,1fr)}.data-quality-summary,.data-quality-items>div{grid-template-columns:minmax(0,1fr)}.integration-card-head,.integration-actions{align-items:flex-start;flex-direction:column}.integration-metrics,.integration-sync{grid-template-columns:minmax(0,1fr)}.integration-metrics>div{border-right:0;border-bottom:1px solid var(--line)}.integration-metrics>div:last-child{border-bottom:0}.candidate-match-row{align-items:stretch;flex-direction:column}.candidate-match-row .btn{width:100%}.modal-backdrop{padding:12px}.info-row{grid-template-columns:minmax(0,1fr)}}
