:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.45;--bg-base: #0E0F12;--bg-raised: #16181C;--bg-surface: #1D2024;--bg-overlay: #25282D;--bg-hover: #25282D;--bg-elevated: #2D3036;--border: #25282D;--border-light: #1A1D21;--border-strong: #33363D;--text-primary: #D4D7DB;--text-secondary: #7E828A;--text-dim: #4A4E55;--accent-rgb: 176, 181, 189;--accent: rgb(var(--accent-rgb));--accent-hi: #C8CCD3;--accent-hover: #C8CCD3;--accent-dim: rgba(var(--accent-rgb), .1);--accent-soft: rgba(var(--accent-rgb), .1);--accent-edge: rgba(var(--accent-rgb), .22);--green: #22C55E;--yellow: #F59E0B;--red: #EF4444;--purple: #8B5CF6;--shadow-card: 0 1px 0 rgba(255,255,255,.02) inset, 0 6px 24px rgba(0,0,0,.25);--shadow-pop: 0 10px 30px rgba(0,0,0,.35);color:var(--text-primary);background:var(--bg-base)}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}code{background:var(--bg-overlay);border:1px solid var(--border);border-radius:6px;padding:2px 6px;color:var(--accent-hi);font-size:.9em}.loginShell{min-height:100vh;display:grid;place-items:center;padding:28px;background:var(--bg-base)}.loginPanel{width:min(400px,100%);background:var(--bg-raised);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-pop);padding:28px 28px 24px;text-align:center}.loginPanel .loginForm,.loginPanel .errorBox{text-align:left}.loginPanel h1{margin:0 0 20px;font-size:22px;letter-spacing:-.02em;color:var(--text-primary)}.brandMark,.sideBrand>svg{display:grid;place-items:center;width:58px;height:58px;border-radius:12px;background:var(--bg-overlay);color:var(--text-primary)}.loginPanel .brandMark{width:96px;height:96px;border-radius:18px;margin:0 auto 16px;background:var(--bg-overlay);border:1px solid var(--border)}.brandMark img,.sideBrand img.brandIcon{width:100%;height:100%;object-fit:contain;border-radius:10px;background:transparent;padding:6px}.loginPanel .brandMark img{border-radius:14px;padding:12px}.loginForm{display:grid;gap:14px}.loginForm label{display:grid;gap:6px;font-weight:600;font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em}input,select{border:1px solid var(--border);border-radius:10px;padding:10px 14px;background:var(--bg-surface);color:var(--text-primary);outline:none;transition:border-color .15s,box-shadow .15s}input::placeholder{color:var(--text-dim)}input:focus,select:focus{border-color:var(--border-strong);box-shadow:0 0 0 3px var(--accent-soft)}select option{background:var(--bg-surface);color:var(--text-primary)}.appShell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;width:232px;padding:18px 14px;background:var(--bg-raised);border-right:1px solid var(--border);color:var(--text-primary);display:flex;flex-direction:column;gap:4px;overflow:visible}.sideBrand{display:flex;align-items:center;justify-content:center;padding:8px 6px 18px;border-bottom:1px solid var(--border-light);width:100%;margin-bottom:8px}.sideBrand img.brandLogo{display:block;height:56px;width:auto;max-width:100%;object-fit:contain}.loginPanel .brandLogo{display:block;height:64px;width:auto;max-width:75%;margin:0 auto 12px;object-fit:contain}.sideBrand img.brandIcon{width:36px;height:36px;flex:0 0 auto;border-radius:8px;padding:4px;background:var(--bg-overlay)}.sideBrand strong{font-size:14px;font-weight:700}.sideBrand span{display:block;color:var(--text-secondary);font-size:11px;font-weight:500}nav{display:flex;flex-direction:column;gap:2px;width:100%}.navItem{display:flex;align-items:center;gap:10px;height:auto;width:100%;padding:9px 10px;border:0;border-radius:9px;color:#c2c5cc;background:transparent;cursor:pointer;font-size:14px;font-weight:500;text-align:left;transition:background .12s,color .12s,border-color .12s}.navItem svg{color:#9a9ea6;flex:0 0 auto}.navItem span{flex:1;min-width:0}.navItem:hover{background:var(--bg-hover);color:#fff}.navItem:hover svg{color:#fff}.navItem.active{background:var(--bg-elevated);color:#fff;font-weight:600;border:1px solid var(--border-strong);padding:8px 9px;box-shadow:inset 0 1px #ffffff0a}.navItem.active svg{color:#fff}.sideFooter{margin-top:auto;display:flex;flex-direction:column;gap:2px;width:100%;border-top:1px solid var(--border-light);padding-top:10px}.navItem.logout{color:var(--text-secondary)}.navItem .caret{margin-left:auto;color:var(--text-dim);transition:transform .15s,color .15s}.navItem.active .caret{color:var(--text-primary)}.navGroup{display:grid;gap:2px;padding:4px 0 6px 30px;margin:2px 0 4px;position:relative}.navGroup:before{content:"";position:absolute;left:18px;top:4px;bottom:6px;width:1px;background:var(--border)}.navSub{display:flex;align-items:center;gap:8px;padding:6px 9px;font-size:12.5px;color:var(--text-secondary);border:0;border-radius:6px;background:transparent;cursor:pointer;text-align:left;width:100%;transition:background .12s,color .12s}.navSub:hover{color:var(--text-primary);background:#ffffff08}.navSub.active{color:var(--text-primary);background:var(--bg-surface);font-weight:600}.navSub .ddot{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.55;flex:0 0 auto}.sideSectionLabel{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);padding:14px 10px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main{min-width:0;padding:28px 32px;background:var(--bg-base)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-light)}.topbar h1{margin:0 0 2px;font-size:22px;font-weight:700;letter-spacing:-.025em;color:var(--text-primary)}.topbar p{margin:0;color:var(--text-secondary);font-size:13px}.pageGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.card{background:var(--bg-raised);border:1px solid var(--border);border-radius:14px;padding:20px;min-width:0;box-shadow:var(--shadow-card)}.cardHeader{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.cardTitle{display:flex;align-items:center;gap:10px;min-width:0}.cardTitle h2{margin:0;font-size:15px;font-weight:600;letter-spacing:-.005em;color:var(--text-primary);text-transform:none}.cardTitle svg{color:var(--accent-hi);width:16px;height:16px}.btn{border:1px solid transparent;border-radius:999px;padding:9px 16px;display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-weight:600;font-size:13px;white-space:nowrap;transition:background .12s,color .12s,border-color .12s,opacity .12s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{color:var(--accent-hi);background:var(--accent-soft);border-color:var(--accent-edge)}.btn.primary:hover:not(:disabled){background:rgba(var(--accent-rgb),.2);border-color:rgba(var(--accent-rgb),.4)}.btn.secondary{color:var(--text-primary);background:var(--bg-surface);border-color:var(--border)}.btn.secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.btn.danger{color:#fca5a5;background:#ef44441f;border-color:#ef444447}.btn.danger:hover:not(:disabled){background:#ef444438;border-color:#ef444473}.btn.ghost{color:var(--text-secondary);background:transparent;border:0;padding:9px 12px}.btn.ghost:hover:not(:disabled){color:var(--text-primary);background:var(--bg-raised)}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.metricGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{border:1px solid var(--border);border-radius:10px;padding:14px;display:grid;gap:10px;background:var(--bg-surface)}.metric svg{color:var(--accent-hi);width:18px;height:18px}.metric span{display:block;color:var(--text-secondary);font-size:12px}.metric strong{display:block;margin-top:2px;font-size:14px;word-break:break-word;color:var(--text-primary)}.miniGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.miniStat{border-radius:10px;padding:14px;background:var(--bg-surface);border:1px solid var(--border)}.miniStat span{color:var(--text-secondary);font-size:12px;font-weight:500;display:block}.miniStat strong{display:block;margin-top:7px;font-size:24px;letter-spacing:-.03em;color:var(--text-primary);font-variant-numeric:tabular-nums}.pill{display:inline-flex;align-items:center;gap:6px;justify-content:center;width:fit-content;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:600;letter-spacing:0;text-transform:none}.pill.good{color:#86efac;background:#22c55e26;border:1px solid rgba(34,197,94,.3)}.pill.warn{color:#fcd34d;background:#f59e0b26;border:1px solid rgba(245,158,11,.3)}.pill.bad{color:#fca5a5;background:#ef444426;border:1px solid rgba(239,68,68,.3)}.pill.neutral{color:var(--text-secondary);background:var(--bg-overlay);border:1px solid var(--border)}.pill.info{color:var(--accent-hi);background:var(--accent-soft);border:1px solid var(--accent-edge)}.kv{display:grid;grid-template-columns:minmax(140px,.7fr) 1fr;gap:8px 14px}.kv span{color:var(--text-secondary);font-size:13px}.kv strong{word-break:break-word;color:var(--text-primary);font-size:13px}.timeline{display:grid;gap:12px}.timeline div{display:flex;gap:12px;align-items:flex-start}.timeline span{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-hi);font-weight:700;font-size:12px;flex:0 0 auto;border:1px solid var(--accent-edge)}.timeline p{margin:2px 0 0;color:var(--text-secondary);font-size:13px}.muted{color:var(--text-secondary);font-size:13px;margin:6px 0 0}.resultBox,.jsonBlock{margin:12px 0 0;padding:14px;border-radius:10px;background:#0a0b0e;color:var(--accent-hi);border:1px solid var(--border);overflow:auto;max-height:520px;font-size:12.5px}.dataLayout{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:start}.resourceList{display:grid;gap:4px}.resourceList button{border:1px solid transparent;background:transparent;border-radius:8px;padding:9px 11px;display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--text-secondary);font-weight:600;font-size:13px;transition:background .1s,color .1s,border-color .1s}.resourceList button.active,.resourceList button:hover{background:var(--bg-overlay);color:var(--text-primary);border-color:var(--border)}.resourceList button.active{color:var(--accent-hi);border-color:var(--accent-edge);background:var(--accent-soft)}.toolbar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.searchBox{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:999px;background:var(--bg-surface);padding:0 14px;min-width:min(100%,300px);transition:border-color .15s}.searchBox:focus-within{border-color:var(--border-strong);box-shadow:0 0 0 3px var(--accent-soft)}.searchBox input{border:0;box-shadow:none;padding-left:0;width:100%;background:transparent;color:var(--text-primary)}.searchBox svg{color:var(--text-dim);flex:0 0 auto}.tableWrap{margin-top:12px;overflow:auto;border:1px solid var(--border);border-radius:12px}table{width:100%;border-collapse:collapse;font-size:13.5px}th{background:var(--bg-surface);color:var(--text-secondary);text-align:left;padding:11px 14px;border-bottom:1px solid var(--border);white-space:nowrap;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}td{padding:11px 14px;border-bottom:1px solid var(--border-light);color:var(--text-primary);max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}tr:last-child td{border-bottom:0}tr:hover td{background:var(--bg-hover)}.tableNote{padding:0 12px 12px;color:var(--text-secondary);font-size:12px}.loading{padding:28px;color:var(--text-secondary);font-size:13px}.empty{border:1px dashed var(--border);border-radius:12px;padding:30px;display:grid;place-items:center;text-align:center;color:var(--text-dim);margin-top:12px}.empty strong{color:var(--text-secondary);margin-top:8px;font-size:14px}.empty p{margin:4px 0 0;font-size:13px}.empty svg{color:var(--text-dim);opacity:.5}.dropZone{position:relative;border:2px dashed var(--border);border-radius:12px;background:var(--bg-surface);min-height:160px;display:grid;place-items:center;text-align:center;padding:24px;color:var(--text-secondary);overflow:hidden;transition:border-color .15s,background .15s}.dropZone:hover{border-color:var(--border-strong);background:var(--bg-hover)}.dropZone strong{color:var(--text-primary);margin-top:8px}.dropZone input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.errorBox,.successBox,.errorStack div{display:flex;align-items:center;gap:8px;border-radius:10px;padding:10px 14px;font-weight:600;font-size:13px}.errorBox,.errorStack div{color:#fca5a5;background:#ef44441f;border:1px solid rgba(239,68,68,.3)}.successBox{color:#86efac;background:#22c55e1f;border:1px solid rgba(34,197,94,.3)}.errorStack{display:grid;gap:6px}.apiLayout{display:grid;grid-template-columns:minmax(320px,480px) 1fr;gap:16px;align-items:start}.endpointList{display:grid;gap:6px;margin-top:12px;max-height:70vh;overflow:auto;padding-right:4px}.endpointList button{border:1px solid var(--border);background:var(--bg-surface);border-radius:10px;padding:9px;display:grid;grid-template-columns:64px 1fr;gap:4px 8px;text-align:left;cursor:pointer;align-items:center;transition:background .1s,border-color .1s}.endpointList button:hover{border-color:var(--border-strong);background:var(--bg-overlay)}.endpointList code{background:transparent;border:0;padding:0;color:var(--accent-hi);word-break:break-all;font-size:12px}.endpointList small{grid-column:2;color:var(--text-secondary);font-size:11px}.method{width:fit-content;border-radius:6px;padding:3px 7px;color:var(--text-primary);font-weight:700;font-size:10px;letter-spacing:.04em;text-transform:uppercase;background:var(--bg-elevated)}.method.get{background:#22c55e33;color:#86efac}.method.post{background:var(--accent-soft);color:var(--accent-hi)}.method.put,.method.patch{background:#f59e0b33;color:#fcd34d}.method.delete{background:#ef444433;color:#fca5a5}.importReviewLayout{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(460px,1.1fr);gap:16px;align-items:start}.importReviewLayout .card:nth-child(3),.importReviewLayout .card:nth-child(4){grid-column:1 / -1}.importSummaryGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.summaryBox{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--bg-surface)}.summaryBox span{display:block;color:var(--text-secondary);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.summaryBox strong{display:block;margin-top:5px;font-size:22px;letter-spacing:-.03em;color:var(--text-primary);font-variant-numeric:tabular-nums}.summaryBox.good{background:#22c55e14;border-color:#22c55e33}.summaryBox.warn{background:#f59e0b14;border-color:#f59e0b33}.resultBanner{display:flex;gap:10px;align-items:flex-start;border-radius:10px;padding:12px;margin:10px 0}.resultBanner.good{background:#22c55e1a;color:#86efac;border:1px solid rgba(34,197,94,.22)}.resultBanner p{margin:2px 0 0;color:inherit;font-size:13px}.splitActions{justify-content:space-between;flex-wrap:wrap}.reviewTable code{white-space:normal;word-break:break-word;display:inline-block;max-width:520px}@media(max-width:1100px){.importReviewLayout{grid-template-columns:1fr}.importSummaryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.calendarToolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}.calendarToolbar select,.calendarToolbar input[type=date]{border:1px solid var(--border);border-radius:8px;padding:7px 11px;background:var(--bg-surface);color:var(--text-primary);outline:none;font-weight:600;font-size:13px}.calendarLegend{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 12px}.calendarLegend span{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-secondary);font-weight:600}.calendarLegend i{width:12px;height:12px;border-radius:3px;display:inline-block}.legendAvailable{background:#22c55e66}.legendPartial{background:#f59e0b73}.legendFull{background:#22c55eb3}.legendOver{background:#ef444480}.legendAbsence{background:#8b5cf680}.calendarShell{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--bg-raised)}.calendarGrid{display:grid;min-width:800px;font-size:13px}.calendarHead,.calendarRow{display:grid;grid-template-columns:220px repeat(var(--cal-days, 30),minmax(28px,1fr));align-items:stretch}.calendarRow{position:relative}.calendarHead{background:var(--bg-surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1}.calendarHead>div,.calendarRow>div{padding:6px 4px;border-right:1px solid var(--border-light);min-height:36px}.calendarHead>div:first-child,.calendarRow>div:first-child{position:sticky;left:0;background:var(--bg-raised);z-index:2;border-right:1px solid var(--border);text-align:left;padding-left:12px;font-weight:600}.calendarHead>div:first-child{background:var(--bg-surface)}.calendarRow:nth-child(2n)>div:first-child{background:var(--bg-surface)}.calendarRow:hover>div:first-child{background:var(--bg-overlay)}.calendarRow>div{font-size:0;position:relative}.calDay{background:var(--bg-raised)}.calDay.weekend{background:var(--bg-surface)}.calBar{position:absolute;top:4px;bottom:4px;left:0;right:0;border-radius:4px;font-size:11px;color:var(--text-primary);padding:0 4px;display:grid;align-content:center;text-align:center;cursor:pointer;font-weight:600;overflow:hidden}.calBar.assignment{background:linear-gradient(90deg,#3a4452,#2c3a4a);border:1px solid var(--border-strong)}.calBar.absence{background:linear-gradient(90deg,#4a3f5a,#574964);border:1px solid rgba(139,92,246,.3)}.calBar.over{background:linear-gradient(90deg,#5a3838,#6b4040);border:1px solid rgba(239,68,68,.35)}.calEmployee{display:flex;align-items:center;justify-content:space-between;gap:6px;height:100%;font-weight:600;cursor:pointer;font-size:13px}.calEmployee small{color:var(--text-secondary);font-weight:500;font-size:12px}.calStatusDot{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.calStatus-available{background:var(--green)}.calStatus-partial,.calStatus-mostly{background:var(--yellow)}.calStatus-full{background:#86efac}.calStatus-overbooked{background:var(--red)}.calStatus-absence{background:var(--purple)}.boardLayout{display:grid;grid-template-columns:minmax(260px,300px) 1fr;gap:16px;align-items:start}.roleColumns{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.roleColumn{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:12px;min-height:160px;transition:background .15s,border-color .15s}.roleColumn.drag-over{background:var(--accent-soft);border-color:var(--accent-edge)}.roleColumn h3{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);display:flex;justify-content:space-between;align-items:center}.roleColumn h3 small{color:var(--text-dim);font-weight:600}.empCard{background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:6px;cursor:grab;display:grid;gap:4px;-webkit-user-select:none;user-select:none;transition:border-color .12s,background .12s}.empCard:hover{border-color:var(--border-strong);background:var(--bg-overlay)}.empCard:active{cursor:grabbing}.empCard.dragging{opacity:.45}.empCard.warn{border-color:#f59e0b73}.empCard.over{border-color:#ef444473}.empCard.bulkChecked{border-color:var(--accent-edge);background:var(--accent-soft)}.empCard strong{font-size:13px;color:var(--text-primary)}.empCard small{color:var(--text-secondary);font-size:12px}.empCard .skills{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.empCheckbox{width:15px;height:15px;accent-color:var(--accent-hi);cursor:pointer;flex-shrink:0}.selectAllBtn{background:none;border:none;color:var(--accent-hi);font-size:12px;font-weight:600;cursor:pointer;padding:4px 0}.selectAllBtn:hover{text-decoration:underline}.bulkActionBar{display:flex;align-items:center;gap:8px;background:var(--accent-soft);border:1px solid var(--accent-edge);border-radius:10px;padding:8px 12px;margin-bottom:10px;flex-wrap:wrap}.bulkCount{font-size:13px;font-weight:700;color:var(--accent-hi);flex:1;min-width:80px}.bulkRoleSelect{border:1px solid var(--border);border-radius:8px;padding:5px 8px;font-size:13px;background:var(--bg-surface);color:var(--text-primary)}.bulkClearBtn{background:none;border:none;color:var(--text-secondary);font-size:16px;cursor:pointer;padding:2px 4px;line-height:1;border-radius:4px}.bulkClearBtn:hover{background:var(--bg-overlay);color:var(--text-primary)}.bulkResultBar{display:flex;gap:10px;font-size:13px;font-weight:600;padding:7px 12px;border-radius:10px;margin-bottom:8px}.bulkResultBar.success{background:#22c55e1f;color:#86efac;border:1px solid rgba(34,197,94,.22)}.bulkResultBar.partial{background:#f59e0b1f;color:#fcd34d;border:1px solid rgba(245,158,11,.22)}.skillTag{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-hi);border:1px solid var(--accent-edge);font-size:11px;font-weight:600}.skillTag.critical{background:#ef44441f;color:#fca5a5;border-color:#ef444440}.allocBar{margin-top:6px;height:5px;background:var(--border);border-radius:3px;overflow:hidden}.allocBar>i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--yellow) 60%,var(--red));transition:width .2s}.bulkLayout{display:grid;grid-template-columns:minmax(260px,300px) 1fr;gap:16px;align-items:start}.filterStack{display:grid;gap:10px}.filterStack label{display:grid;gap:4px;font-weight:600;color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.filterStack input,.filterStack select{border:1px solid var(--border);border-radius:8px;padding:8px 11px;background:var(--bg-surface);color:var(--text-primary);outline:none;font-size:13px}.confidence-high{background:#22c55e1f;color:#86efac}.confidence-medium{background:#f59e0b1f;color:#fcd34d}.confidence-low{background:#ef44441f;color:#fca5a5}.confidence-none{background:var(--bg-overlay);color:var(--text-secondary)}.bulkBar{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--accent-soft);border:1px solid var(--accent-edge);border-radius:10px;padding:9px 12px;margin-bottom:10px;flex-wrap:wrap}.bulkBar strong{color:var(--accent-hi)}.gapWarnings{display:grid;gap:8px}.gapWarning{display:flex;gap:10px;align-items:center;background:#f59e0b1a;border:1px solid rgba(245,158,11,.22);border-radius:10px;padding:9px 12px;color:#fcd34d;font-weight:600;font-size:13px}.gapWarning.critical{background:#ef44441a;border-color:#ef444438;color:#fca5a5}.skillsGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.skillCard{border:1px solid var(--border);border-radius:10px;padding:11px;background:var(--bg-surface)}.skillCard h4{margin:0 0 4px;font-size:13px;color:var(--text-primary)}.skillCard p{margin:3px 0 0;color:var(--text-secondary);font-size:12px}.modalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#08090bb8;display:grid;place-items:center;z-index:100;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--bg-raised);border:1px solid var(--border);border-radius:16px;padding:24px;width:min(540px,100%);box-shadow:var(--shadow-pop)}.modal h3{margin:0 0 18px;font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.modal label{display:grid;gap:5px;font-weight:600;font-size:12px;color:var(--text-secondary);margin-bottom:12px;text-transform:uppercase;letter-spacing:.04em}.modal label small{color:var(--text-dim);font-weight:500;text-transform:none;letter-spacing:0}.modal label input,.modal label select,.modal label textarea{border:1px solid var(--border);border-radius:10px;padding:9px 12px;font:inherit;background:var(--bg-surface);color:var(--text-primary)}.modal label input:focus,.modal label select:focus,.modal label textarea:focus{outline:none;border-color:var(--border-strong);box-shadow:0 0 0 3px var(--accent-soft)}.modal label textarea{min-height:60px;resize:vertical}.modalRow{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modalActions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.suggestion{display:grid;grid-template-columns:1fr auto;gap:8px;border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--bg-surface);margin-bottom:7px;align-items:center}.suggestion strong{font-size:13px;color:var(--text-primary)}.suggestion .reasons{color:var(--text-secondary);font-size:12px;margin-top:3px;line-height:1.5}.suggestion .category{color:var(--accent-hi);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin-top:3px}.suggestion .scoreTag{background:var(--accent-soft);color:var(--accent-hi);border:1px solid var(--accent-edge);padding:3px 10px;border-radius:999px;font-weight:700;font-size:12px}.backBtn{display:inline-flex;align-items:center;gap:5px;background:none;border:none;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;padding:5px 0;margin-bottom:14px;transition:color .15s}.backBtn:hover{color:var(--accent-hi)}.projectDetailHeader{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--bg-raised);border:1px solid var(--border);border-radius:14px;padding:18px 22px}.projectDetailMeta{display:flex;align-items:baseline;gap:10px;flex:1}.projectDetailCode{font-size:11px;color:var(--text-secondary);background:var(--bg-overlay);padding:3px 9px;border-radius:999px;font-weight:700}.projectDetailName{font-size:20px;font-weight:700;letter-spacing:-.025em;margin:0;color:var(--text-primary)}.projectDetailBadges{display:flex;gap:8px;align-items:center}.projectDetailDates{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--text-secondary)}.totalsRow td{border-top:2px solid var(--border);background:var(--bg-surface);padding-top:10px;padding-bottom:10px;font-weight:700}table tbody tr[style*="cursor: pointer"]:hover td{background:var(--bg-overlay)}.syncLayout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.syncProgressHeader{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.syncPhase{font-size:13px;font-weight:600;color:var(--text-secondary)}.syncPct{font-size:22px;font-weight:800;color:var(--accent-hi);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.syncProgressTrack{height:6px;background:var(--bg-overlay);border-radius:3px;overflow:hidden;margin-bottom:16px}.syncProgressFill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--accent-hi));transition:width .35s ease;min-width:3px}.syncProgressFill.indeterminate{width:32%!important;animation:sp-indeterminate 1.6s cubic-bezier(.4,0,.6,1) infinite}@keyframes sp-indeterminate{0%{margin-left:-35%}to{margin-left:110%}}.syncStats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.syncStat{display:flex;flex-direction:column;align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:10px 14px;min-width:72px;flex:1 1 72px}.syncStat .sLabel{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:3px}.syncStat .sValue{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text-primary);line-height:1}.syncStat.inserted .sValue{color:#86efac}.syncStat.updated .sValue{color:var(--accent-hi)}.syncStat.skipped .sValue{color:var(--text-secondary)}.syncStat.errors .sValue{color:#fca5a5}.syncStat.errors{border-color:#ef44444d;background:#ef44440f}.syncLog{background:#0a0b0e;border:1px solid var(--border);border-radius:10px;padding:12px 14px;max-height:260px;overflow-y:auto;font-family:Cascadia Code,Fira Code,Consolas,ui-monospace,monospace;font-size:12px;line-height:1.75;scroll-behavior:smooth}.syncLog::-webkit-scrollbar{width:5px}.syncLog::-webkit-scrollbar-track{background:transparent}.syncLog::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.syncLogEntry{display:flex;gap:12px;align-items:baseline}.syncLogTime{flex:0 0 48px;color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:11px}.syncLogInfo{color:var(--accent-hi)}.syncLogError{color:#fca5a5}.syncLogDone{color:#86efac}.syncHistoryItem{border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:var(--bg-surface)}.syncHistoryHeader{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:2px}.syncHistoryStats{display:flex;gap:12px;font-size:12px;color:var(--text-secondary);margin-top:5px;flex-wrap:wrap}.syncHistoryStats .good{color:#86efac;font-weight:700}.syncHistoryStats .bad{color:#fca5a5;font-weight:700}.employeeHeader{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--bg-raised);border:1px solid var(--border);border-radius:14px;padding:16px 22px}.employeeAvatar{width:52px;height:52px;border-radius:50%;background:var(--accent-soft);border:1px solid var(--accent-edge);display:grid;place-items:center;color:var(--accent-hi);font-size:18px;font-weight:800;flex:0 0 auto}.hourlyRateField{border-top:1px solid var(--border-light);padding-top:10px;margin-top:2px}.coworkerList{max-height:460px;overflow-y:auto;min-height:80px;padding:2px}.coworkerList::-webkit-scrollbar{width:5px}.coworkerList::-webkit-scrollbar-track{background:transparent}.coworkerList::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.nameLink{color:var(--text-primary);font-weight:600;cursor:pointer;background:none;border:none;padding:0;font:inherit;text-align:left;transition:color .12s}.nameLink:hover{color:var(--accent-hi);text-decoration:underline}@media(max-width:1100px){.appShell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;width:100%;flex-direction:row;overflow:auto;padding:10px 14px;gap:4px}.sideBrand{border-bottom:none;padding-bottom:0;padding-right:14px;margin-right:4px;margin-bottom:0;border-right:1px solid var(--border-light);justify-content:flex-start}.sideBrand img.brandLogo{height:36px}nav{flex-direction:row;flex:1;overflow-x:auto}.navItem{width:auto;padding:8px 12px}.navItem span{display:none}.sideFooter{margin-top:0;margin-left:auto;border-top:none;padding-top:0;flex-direction:row}.pageGrid,.dataLayout,.apiLayout,.boardLayout,.bulkLayout,.syncLayout{grid-template-columns:1fr}}@media(max-width:680px){.main{padding:16px}.topbar{align-items:flex-start;flex-direction:column}.metricGrid,.miniGrid{grid-template-columns:1fr}.sidebar{padding:10px 12px}.loginPanel{padding:24px 20px}}
