.sites-workspace{max-width:1440px;margin-inline:auto}.sites-workspace .team-workspace{margin-top:32px}.sites-workspace .team-selector-card,.sites-workspace .team-create-card,.sites-workspace .team-assign-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-bottom:20px;padding:24px;box-shadow:0 2px 5px #0f172a08}.sites-workspace .team-create-card{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:end;gap:18px 24px;display:grid}.sites-workspace h3{color:#0f2942;margin:0;font-size:18px}.sites-workspace .team-create-card h3,.sites-workspace .team-create-card .form-help{grid-column:1/-1}.sites-workspace .form-help{color:#526579;margin:0;font-size:14px}.sites-workspace label{color:#334155;flex-direction:column;gap:8px;font-size:14px;font-weight:600;display:flex}.sites-workspace input,.sites-workspace select{color:#172b40;width:100%;min-width:0;min-height:44px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:9px;margin-top:8px;padding:10px 12px;display:block}.sites-workspace label input{margin-top:0}.sites-workspace :is(input,select,button):focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.sites-workspace button{cursor:pointer;min-height:42px}.sites-workspace button:disabled{cursor:not-allowed;opacity:.65}.sites-workspace .team-create-card button{grid-column:1/-1;justify-self:start;padding-inline:22px}.sites-workspace .team-selector-card select{max-width:640px}.sites-workspace .team-assign-card{margin-top:20px}.sites-workspace .team-assign-card h3{margin-bottom:16px}.sites-workspace .team-assign-card select{max-width:640px;margin-bottom:12px}.sites-workspace .team-assign-card .api-state{margin-top:14px;margin-bottom:0}.sites-workspace .data-table{margin-block:16px 24px}.sites-workspace .data-table td{overflow-wrap:anywhere}.sites-workspace .data-table tbody tr:hover{background:#f8fafc}@media (width<=700px){.sites-workspace .team-create-card{grid-template-columns:minmax(0,1fr)}.sites-workspace .team-selector-card,.sites-workspace .team-create-card,.sites-workspace .team-assign-card{padding:16px}.sites-workspace .team-create-card button{width:100%}.sites-workspace .data-table{display:block;overflow-x:auto}.sites-workspace .data-table th{white-space:nowrap}}.hours-worker-picker{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;grid-column:1/-1;grid-template-columns:minmax(180px,1fr) minmax(240px,2fr);gap:12px 18px;padding:16px;display:grid}.hours-worker-picker>div{grid-column:1/-1}.hours-worker-picker label{min-width:0}.hours-worker-picker>label{grid-column:1/-1}.hours-worker-results{flex-direction:column;gap:4px;max-height:240px;display:flex;overflow-y:auto}.hours-worker-results button{text-align:left;padding:10px 12px}@media (width<=640px){.hours-worker-picker{grid-template-columns:1fr}}.worker-profile{background:#fff;border:1px solid #e2e8f0;border-radius:14px;max-width:1100px;margin:24px 0;padding:24px;box-shadow:0 2px 5px #0f172a0d}.worker-profile-header{margin-bottom:24px}.worker-profile-header h2{margin:0 0 8px}.worker-profile-header p,.worker-profile-help{color:#64748b;font-size:14px;line-height:1.6}.worker-profile-fields{border:0;min-width:0;margin:0;padding:0}.worker-profile-fields legend{margin-bottom:16px;padding:0;font-size:16px;font-weight:700}.worker-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;display:grid}.worker-profile .form-field{gap:8px;min-width:0}.worker-profile .form-field input{box-sizing:border-box;width:100%;min-width:0;min-height:42px;font:inherit}.worker-profile input[readonly]{color:#475569;background:#f1f5f9}.worker-profile input:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.worker-profile-access{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:20px}.worker-profile-access h3{margin:0 0 12px;font-size:16px}.worker-profile-access p{color:#64748b;font-size:14px;line-height:1.6}.worker-profile-check{align-items:center;gap:10px;margin:12px 0;font-size:14px;display:flex}.worker-profile-check input{accent-color:#2563eb;width:18px;height:18px;margin:0}.worker-profile-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.worker-profile-actions button{min-height:42px;padding:10px 18px}.worker-profile-photo{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:20px}.worker-profile-photo strong{color:#0f172a;font-size:16px}.worker-profile-photo input{background:#f8fafc;max-width:500px}@media (width<=640px){.worker-profile{padding:18px}.worker-profile-grid{grid-template-columns:1fr}.worker-profile-actions button{width:100%}}.payroll-schemes>summary{cursor:pointer;font-size:1.1rem;font-weight:700}.payroll-schemes p{max-width:90ch;line-height:1.6}.payroll-schemes .payroll-scheme-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin:20px 0;display:grid}.payroll-schemes label{flex-direction:column;gap:8px;min-width:0;display:flex}.payroll-schemes input:not([type=checkbox]),.payroll-schemes select{box-sizing:border-box;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:10px}.payroll-schemes label.payroll-check{flex-direction:row;align-items:center;margin:8px 0}.payroll-schemes .payroll-check input{flex-shrink:0;width:auto}.payroll-schemes button{margin:8px 8px 8px 0}.payroll-schemes fieldset{min-width:0}.payroll-schemes h3{margin-top:28px}:root{color:#111827;background:#f3f4f6;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}.app-shell{min-height:100vh;display:flex}.sidebar{color:#fff;background:#111827;width:260px;padding:24px 18px}.brand{margin-bottom:28px;font-size:20px;font-weight:700}.nav-link{color:#d1d5db;border-radius:8px;margin-bottom:6px;padding:11px 12px;text-decoration:none;display:block}.nav-link.active,.nav-link:hover{color:#fff;background:#2563eb}.content{flex:1;padding:24px}.topbar{background:#fff;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:14px 18px;display:flex;box-shadow:0 1px 3px #00000014}.secondary-button{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:8px 12px}h1{margin:0 0 8px}h2{margin-top:28px}.page-intro{color:#4b5563;margin-bottom:20px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric-card,.placeholder-panel{background:#fff;border-radius:12px;padding:18px;box-shadow:0 1px 3px #00000014}.metric-label{color:#6b7280;font-size:14px}.metric-value{margin-top:8px;font-size:30px;font-weight:700}.metric-hint{color:#6b7280;margin-top:6px;font-size:13px}.data-table{border-collapse:collapse;background:#fff;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 1px 3px #00000014}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:12px 14px}.data-table th{background:#f9fafb}.placeholder-panel{color:#374151;border:1px dashed #9ca3af}@media (width<=900px){.app-shell{flex-direction:column}.sidebar{width:100%}.metric-grid{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start;gap:12px}}.filter-bar{background:#fff;border-radius:12px;align-items:end;gap:12px;margin-bottom:16px;padding:14px;display:flex;box-shadow:0 1px 3px #00000014}.filter-bar label{color:#4b5563;flex-direction:column;gap:6px;font-size:13px;display:flex}.filter-bar input{border:1px solid #d1d5db;border-radius:8px;min-width:280px;padding:8px 10px}.api-state{color:#1e3a8a;background:#eff6ff;border:1px solid #93c5fd;border-radius:10px;margin-bottom:14px;padding:12px 14px}.error-state{color:#991b1b;background:#fef2f2;border-color:#fca5a5;justify-content:space-between;align-items:center;gap:12px;display:flex}.badge{border-radius:999px;padding:4px 8px;font-size:12px;font-weight:600;display:inline-block}.badge-ok{color:#166534;background:#dcfce7}.badge-warning{color:#92400e;background:#fef3c7}.badge-critical{color:#991b1b;background:#fee2e2}.auth-mode{color:#6b7280;font-size:13px}.admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.form-section{background:#fff;border-radius:12px;padding:18px;box-shadow:0 1px 3px #00000014}.form-section h2{margin-top:0}.form-section p{color:#6b7280;font-size:14px}.form-grid{flex-direction:column;gap:10px;display:flex}.form-field{color:#374151;flex-direction:column;gap:5px;font-size:13px;display:flex}.form-field input{border:1px solid #d1d5db;border-radius:8px;padding:8px 10px}.form-field select{color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;min-width:0;padding:8px 10px}.primary-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:9px 12px;font-weight:700}.primary-button:disabled{cursor:not-allowed;background:#93c5fd}.success-state{color:#065f46;background:#ecfdf5;border-color:#6ee7b7}.demo-data-panel{background:#f1fbff;border:1px solid #b8d8e8;border-radius:10px;justify-content:space-between;align-items:center;gap:24px;margin:22px 0;padding:18px;display:flex}.demo-data-panel h2{color:#17324d;margin:0 0 6px;font-size:16px}.demo-data-panel p{color:#4b5563;margin:0 0 9px;font-size:13px}.demo-data-status{color:#6b7280;font-size:12px}.demo-data-status.active{color:#166534;font-weight:600}.demo-data-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.demo-data-actions .secondary-button{cursor:pointer}.demo-data-actions .secondary-button:disabled{cursor:not-allowed;opacity:.55}@media (width<=1100px){.admin-grid{grid-template-columns:1fr}}.filter-bar select{border:1px solid #d1d5db;border-radius:8px;min-width:150px;padding:8px 10px}.checkbox-label{align-items:center;padding-bottom:8px;flex-direction:row!important;gap:8px!important}.executive-dashboard{max-width:1600px;margin:0 auto}.dashboard-heading{justify-content:space-between;align-items:end;gap:18px;margin-bottom:20px;display:flex}.dashboard-heading h1{margin-bottom:4px;font-size:28px}.dashboard-heading .page-intro{margin:0}.company-select{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;min-width:220px;padding:10px 12px}.executive-dashboard .metric-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.executive-dashboard .metric-card{border-top:3px solid #0864ba;min-height:116px;padding:15px}.dashboard-grid{gap:14px;margin-top:14px;display:grid}.dashboard-grid-top{grid-template-columns:minmax(0,2fr) minmax(230px,1fr) minmax(230px,1fr)}.dashboard-grid-bottom{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(440px,2fr)}.dashboard-panel{background:#fff;border:1px solid #e5e7eb;border-radius:10px;min-width:0;padding:16px;box-shadow:0 2px 8px #0f2b470f}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-heading h2{color:#17324d;margin:0;font-size:15px}.panel-heading a{color:#0864ba;white-space:nowrap;font-size:12px;font-weight:600;text-decoration:none}.panel-split{grid-template-columns:160px minmax(0,1fr);align-items:center;gap:14px;display:grid}.chart-with-legend,.summary-content{justify-content:center;align-items:center;gap:12px;display:flex}.projects-overview .chart-with-legend{flex-direction:column;gap:6px;min-width:150px}.projects-overview .chart-with-legend ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8px;width:100%;line-height:1.7;display:grid}.projects-overview .chart-with-legend li{white-space:nowrap}.ring-chart{background:conic-gradient(#0864ba 0 42%, #34c5d8 42% 72%, #f59e0b 72% 88%, #22c55e 88% 97%, #ef4444 97% 100%);border-radius:50%;flex-direction:column;flex:0 0 116px;justify-content:center;align-items:center;width:116px;height:116px;display:flex;position:relative}.ring-chart:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:13px}.ring-orange{background:conic-gradient(#0864ba 0 52%, #f59e0b 52% 83%, #22c55e 83% 96%, #9ca3af 96% 100%)}.ring-green{background:conic-gradient(#22c55e 0 84%, #ef4444 84% 90%, #9ca3af 90% 100%)}.ring-chart strong,.ring-chart span{z-index:1;white-space:nowrap;position:absolute;left:50%;transform:translate(-50%)}.ring-chart strong{color:#17324d;font-size:18px;top:43%}.ring-orange strong{white-space:nowrap;font-size:13px}.ring-chart span{color:#6b7280;font-size:10px;top:58%}.summary-panel .ring-chart strong{text-overflow:ellipsis;white-space:nowrap;max-width:82px;margin-left:0;font-size:12px;line-height:1;overflow:hidden}.summary-panel .ring-chart span{font-size:9px;line-height:1;top:58%}.chart-with-legend ul,.summary-content ul{color:#4b5563;margin:0;padding:0;font-size:11px;line-height:2;list-style:none}.summary-content{justify-content:flex-start;gap:8px}.summary-content ul{flex:1;min-width:0}.summary-content li{white-space:nowrap;align-items:center;gap:4px;font-size:10px;display:flex}.summary-content strong{color:#374151;white-space:nowrap;margin-left:auto;font-size:9px}.dot{border-radius:50%;flex:0 0 8px;width:8px;height:8px;display:inline-block}.dot.blue{background:#0864ba}.dot.cyan{background:#34c5d8}.dot.orange{background:#f59e0b}.dot.green{background:#22c55e}.dot.red{background:#ef4444}.dot.gray{background:#9ca3af}.compact-table{border-collapse:collapse;width:100%;font-size:10px}.compact-table th,.compact-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #eef0f2;padding:7px 5px}.projects-overview .compact-table{table-layout:auto;min-width:0}.compact-table th{color:#6b7280;font-size:9px;font-weight:600}.compact-table td{color:#374151}.status-cell{font-weight:600;color:#0864ba!important}.detail-panel dl{grid-template-columns:1fr auto;gap:13px 8px;margin:0;font-size:12px;display:grid}.detail-panel dt{color:#6b7280}.detail-panel dd{color:#17324d;text-align:right;margin:0;font-weight:600}.progress{vertical-align:middle;background:#e5e7eb;border-radius:3px;width:65px;height:5px;margin-left:6px;display:inline-block;overflow:hidden}.progress b{background:#22a66f;height:100%;display:block}.detail-panel em{margin-left:8px;font-style:normal}.activity-panel{overflow:hidden}.dashboard-data-source{margin-top:20px}.dashboard-data-source h2{margin:0 0 12px;font-size:16px}@media (width<=1250px){.executive-dashboard .metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid-top,.dashboard-grid-bottom{grid-template-columns:1fr 1fr}.projects-overview,.activity-panel{grid-column:1/-1}}@media (width<=700px){.dashboard-heading{flex-direction:column;align-items:stretch}.company-select{width:100%}.executive-dashboard .metric-grid,.dashboard-grid-top,.dashboard-grid-bottom{grid-template-columns:1fr}.projects-overview,.activity-panel{grid-column:auto}.panel-split{grid-template-columns:1fr}.compact-table{display:block;overflow-x:auto}.demo-data-panel{flex-direction:column;align-items:stretch;gap:14px}.demo-data-actions{justify-content:flex-start}}.sidebar{background:#032344;flex:0 0 270px;width:270px;height:100vh;padding:24px 12px;position:sticky;top:0;overflow-y:auto}.brand{padding:0 12px;font-size:26px}.brand span{color:#34c5d8}.brand small{color:#c3d5e5;margin-top:6px;font-size:11px;font-weight:400;display:block}.nav-link,.nav-group summary{align-items:center;gap:11px;font-size:14px;display:flex}.nav-group summary{cursor:pointer;color:#e4edf6;border-radius:8px;padding:12px;list-style:none}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:hover,.nav-group.current>summary{background:#123b60}.nav-icon{flex-shrink:0;width:19px;height:19px}.nav-chevron{margin-left:auto;font-size:22px;line-height:1}.nav-group[open]>summary .nav-chevron{transform:rotate(90deg)}.nav-children{border-left:1px solid #40607d;margin:3px 0 8px 20px;padding-left:9px}.nav-children .nav-link{margin-bottom:2px;padding:10px 8px;font-size:12px}.nav-children .nav-icon{width:15px;height:15px}.sidebar .nav-link.active{background:#0864ba}.sidebar a:focus-visible,.sidebar summary:focus-visible{outline-offset:2px;outline:2px solid #64deed}.content{min-width:0}.topbar-title{align-items:center;gap:12px;display:flex}.sidebar-toggle{display:none}@media (width<=900px){.app-shell{flex-direction:row}.sidebar{display:none}.sidebar.sidebar-open{z-index:20;height:calc(100dvh - 70px);display:block;position:fixed;top:70px;left:0;box-shadow:8px 0 24px #0004}.sidebar-toggle{display:inline-block}.content{width:100%;padding:12px}}
