:root,.theme-employee{--navy:#183153;--navy-ink:#fff;--surface:#fff;--surface-2:#f4f6f9;--surface-3:#eaf0f6;--ink:#263445;--ink-2:#5a6478;--line:#dfe5ec;--accent:#278c87;--gold:#d99a36;--amber:#b7791f;--amber-bg:#fdf3dd;--green:#23966a;--red:#d9535d;--red-bg:#fdecea;--shadow-pop:0 18px 45px #14243626;--line-strong:#c8d1dc;--radius-btn:8px;--radius-card:10px;--radius-input:8px;--sidebar-w:252px;--sidebar-bg:#e9edf3;--sidebar-ink:#183153;--sidebar-muted:#5a6478;--sidebar-hover:#18315314}.theme-client{--navy:#172b4d;--surface-2:#f7f8fa;--surface-3:#edf4f5;--ink:#1c2c40;--line:#dfe6e9;--accent:#0c9b91;--green:#1e9c70;--gold:#e6a23c;--red:#d95d65;--sidebar-bg:#172b4d;--sidebar-ink:#fff;--sidebar-muted:#fff9;--sidebar-hover:#ffffff1f}.theme-admin{--navy:#101f35;--surface-2:#f1f4f8;--surface-3:#e7edf4;--ink:#172638;--line:#d6dfe9;--accent:#527da8;--green:#21845b;--gold:#c58b32;--red:#c94f57;--sidebar-bg:#101f35;--sidebar-ink:#fff;--sidebar-muted:#fff9;--sidebar-hover:#ffffff1f}.theme-superadmin{--navy:#0c192b;--surface-2:#eef2f6;--surface-3:#e5ebf2;--ink:#162335;--line:#d2dce7;--accent:#2d9b91;--green:#21845b;--gold:#c58b32;--red:#c94f57;--sidebar-bg:#0c192b;--sidebar-ink:#fff;--sidebar-muted:#fff9;--sidebar-hover:#ffffff1f}[data-theme=dark]{--surface:#171e2e;--surface-2:#1f2940;--surface-3:#2a3652;--ink:#e8ecf3;--ink-2:#9aa5bb;--line:#2e3a55;--amber-bg:#3a2f14;--red-bg:#3d1f22}*{box-sizing:border-box}body{background:var(--surface-2);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Manrope,system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--navy)}[data-theme=dark] a{color:#aebadd}button,input{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--ink);border-radius:var(--radius-btn);justify-content:center;align-items:center;gap:8px;padding:8px 13px;font-size:12px;font-weight:700;transition:all .18s;display:inline-flex}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--navy);color:var(--navy-ink);border-color:var(--navy)}button.primary:hover{filter:brightness(1.12);transform:translateY(-1px)}.btn{min-height:38px;color:inherit;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 13px;font-size:12px;font-weight:700;transition:all .18s;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--navy);color:var(--navy-ink)}.btn-primary:hover{filter:brightness(1.12);transform:translateY(-1px)}.btn-secondary{border-color:var(--line);background:var(--surface);color:var(--ink)}.btn-secondary:hover{border-color:var(--line-strong);background:color-mix(in srgb, var(--surface-3) 45%, white)}.btn-ghost{color:var(--ink-2)}.btn-ghost:hover{background:var(--surface-3);color:var(--ink)}.btn-danger{background:var(--red);color:#fff}.full{width:100%}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 28%, transparent);outline-offset:2px}input{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius-input);width:100%;padding:10px 12px;font-size:13px}input::placeholder{color:var(--ink-2)}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)}select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius-input);padding:10px 12px;font-size:13px}textarea{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius-input);width:100%;padding:10px 12px;font-size:13px}.text-area{resize:vertical;min-height:96px}.chip{border:1px solid var(--line);color:var(--ink-2);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.chip.navy{background:var(--navy);color:var(--navy-ink);border-color:var(--navy)}.chip.amber{background:var(--amber-bg);color:var(--amber);border-color:var(--amber)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:20px}.muted{color:var(--ink-2)}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace}.error{background:var(--red-bg);color:var(--red);border:1px solid var(--line);border-radius:var(--radius-card);padding:14px 16px}.shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);color:var(--sidebar-ink);flex-shrink:0;height:100vh;padding:0;position:sticky;top:0;overflow:hidden}.sidebar a{color:var(--sidebar-ink);text-decoration:none}.sidebar .group-label{letter-spacing:.15em;text-transform:uppercase;color:var(--sidebar-muted);margin:0;padding:23px 22px 9px;font-size:9px}.sidebar .nav-item{text-align:left;width:100%;min-height:40px;color:var(--sidebar-ink);background:0 0;border:none;border-radius:7px;align-items:center;gap:12px;padding:8px 11px;font-size:12px;font-weight:600;display:flex}.sidebar .nav-item .nav-ico{flex-shrink:0;width:18px;height:18px}.sidebar .nav-item .nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sidebar .nav-item:hover{background:var(--sidebar-hover)}.sidebar .nav-item.active{color:var(--navy);background:#fff;box-shadow:0 1px 2px #1e2d3e0f}.theme-admin .sidebar .nav-item.active,.theme-superadmin .sidebar .nav-item.active{color:#fff;box-shadow:inset 3px 0 var(--accent);background:#ffffff1a}.theme-client .sidebar .nav-item.active{background:color-mix(in srgb, var(--accent) 24%, transparent);color:#8de8df;box-shadow:inset 3px 0 #35b8d0}.sidebar .nav-item .count{background:color-mix(in srgb, var(--accent) 14%, white);color:var(--accent);border-radius:10px;padding:2px 7px;font-size:10px}.sidebar .nav-item.restricted{color:var(--sidebar-muted)}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:color-mix(in srgb, var(--surface) 92%, transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:5;flex-wrap:nowrap;align-items:center;gap:16px;height:64px;padding:0 34px;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:78px;padding:18px 20px;display:flex}.brand-tile{background:var(--sidebar-ink);width:36px;height:36px;color:var(--sidebar-bg);letter-spacing:.02em;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:800;display:flex}.brand-name{letter-spacing:.12em;text-transform:uppercase;color:var(--navy);font-size:13px;font-weight:800;line-height:1.2}.brand-tagline{color:var(--sidebar-muted);font-size:8px;line-height:1.3}.theme-client .brand,.theme-admin .brand,.theme-superadmin .brand{background:#fff}.theme-client .sidebar .brand-name,.theme-admin .sidebar .brand-name,.theme-superadmin .sidebar .brand-name{color:#183153}.theme-client .sidebar .brand-tagline,.theme-admin .sidebar .brand-tagline,.theme-superadmin .sidebar .brand-tagline{color:#718096}.theme-client .brand-tile,.theme-admin .brand-tile,.theme-superadmin .brand-tile{background:var(--navy);color:var(--navy-ink)}.theme-employee .sidebar{background:#f2f6f9}.sidebar{flex-direction:column;display:flex}.sidebar nav{flex:1;min-height:0;padding:0 11px 16px;overflow-y:auto}.sidebar-footer{border-top:1px solid var(--sidebar-hover);align-items:center;gap:10px;padding:10px 11px 14px;display:flex;position:relative}.footer-menu-btn{color:var(--sidebar-ink);background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:4px 8px;font-size:18px}.footer-menu{background:var(--surface);border:1px solid var(--line);z-index:30;border-radius:10px;padding:6px;position:absolute;bottom:calc(100% + 8px);left:0;right:0;box-shadow:0 12px 32px #0000002e}.footer-menu button{text-align:left;background:0 0;border:none;justify-content:flex-start;width:100%}.sidebar-footer .avatar{background:color-mix(in srgb, var(--accent) 16%, white);width:35px;height:35px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:800;display:flex}.sidebar-footer .who{min-width:0}.sidebar-footer .who strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.sidebar-footer .who span{text-overflow:ellipsis;white-space:nowrap;color:var(--sidebar-muted);font-size:9px;display:block;overflow:hidden}.crumb{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;overflow:hidden}.crumb-root{color:var(--ink-2)}.crumb-current{color:var(--ink);font-weight:700}.top-date{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap;border-left:1px solid var(--line);margin-left:4px;padding-left:14px;font-size:9px;font-weight:800}.topbar .icon-btn{background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:inline-flex}.topbar .icon-btn:hover{background:var(--surface-3)}.topbar .icon-btn.on{color:var(--accent);background:var(--surface-3)}.topbar .icon-btn svg{width:20px;height:20px}.viewas-label{white-space:nowrap;border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:8px;padding:4px 8px 4px 10px;display:flex}.viewas-label span{color:var(--ink-2);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:700}.viewas-label select{width:auto;color:var(--ink);cursor:pointer;background:0 0;border:0;outline:none;font-size:11px;font-weight:700}#bf-menu-btn{display:none}.login-wrap{min-height:100vh;display:flex}.login-brand{min-width:390px;color:var(--navy-ink);background:linear-gradient(145deg,#101f35,#173553);flex-direction:column;flex:.9 1 0;justify-content:space-between;gap:20px;padding:46px 56px;display:flex}.login-brand .brand-tile{background:var(--navy-ink);color:var(--navy);border-radius:7px;width:36px;height:36px;font-size:15px}.login-brand .brand-name{letter-spacing:.12em;text-transform:uppercase;color:#fff;font-size:13px}.login-brand .brand-tagline{color:#ffffff94;font-size:8px}.login-brand-headline{letter-spacing:-.055em;margin:0;font-size:clamp(37px,4vw,58px);font-weight:750;line-height:1.08}.login-brand-sub{color:#ffffff94;max-width:430px;margin:20px 0 0;font-size:13px;line-height:1.8}.login-brand-foot{letter-spacing:.08em;text-transform:uppercase;color:#ffffff61;align-items:center;gap:10px;font-size:9px;display:flex}.login-brand-foot .brand-tile{color:#fff;background:#050505;width:30px;height:30px;font-size:13px}.login-form{flex:1.1 1 0;justify-content:center;align-items:center;padding:30px;display:flex}.login-form>.card{width:100%;max-width:410px}.login-eyebrow{letter-spacing:.14em;color:var(--accent);text-transform:uppercase;font-size:9px;font-weight:700}.login-headline{letter-spacing:-.04em;margin:8px 0;font-size:31px;font-weight:750;line-height:1.12}.login-sub{color:var(--ink-2);margin:7px 0 0;font-size:12px}.login-entrance{color:var(--ink-2);margin:2px 0 29px;font-size:12px}.login-form label{color:var(--ink);font-size:9px;font-weight:700}.login-form input{border-radius:8px;height:44px;padding:10px 12px;font-size:13px}.login-form button.primary{border-radius:8px;height:46px;font-size:12px;font-weight:700}.login-note{color:var(--ink-2);text-align:center;margin-top:14px;font-size:8px}.login-mobile-brand{display:none}.topbar .spacer{flex:1}.content{width:100%;max-width:1640px;margin:0 auto;padding:28px 34px 48px}.viewas-banner{border:2px solid var(--amber);background:var(--amber-bg);border-radius:var(--radius-card);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.notif-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);z-index:10;width:min(420px,92vw);max-height:70vh;position:absolute;top:60px;right:20px;overflow-y:auto;box-shadow:0 12px 32px #0000002e}.notif-item{text-align:left;border:none;border-bottom:1px solid var(--line);background:0 0;border-radius:0;width:100%;padding:12px 16px;display:block}.notif-item.unread{font-weight:700}.modal-layer{z-index:50;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-scrim{backdrop-filter:blur(3px);background:#0a182873;border:0;border-radius:0;width:100%;padding:0;position:absolute;inset:0}.modal-card{border:1px solid var(--line);background:var(--surface);width:min(520px,100%);box-shadow:var(--shadow-pop);border-radius:14px;animation:.2s ease-out rise;position:relative}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding:22px;display:flex}.modal-title{font-size:17px;font-weight:800}.modal-header p{color:var(--ink-2);margin:6px 0 0;font-size:10px;line-height:1.5}.modal-form{flex-direction:column;gap:14px;padding:22px;display:flex}.modal-form label{flex-direction:column;gap:6px;display:flex}.modal-form label>span{color:var(--ink);font-size:9px;font-weight:700}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal-actions{border-top:1px solid var(--line);background:var(--surface-2);border-radius:0 0 14px 14px;justify-content:flex-end;gap:8px;padding:15px 22px;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.badge{white-space:nowrap;border-radius:10px;align-items:center;width:fit-content;padding:4px 8px;font-size:9px;font-weight:800;display:inline-flex}.badge-good{background:color-mix(in srgb, var(--green) 12%, white);color:var(--green)}.badge-warn{background:color-mix(in srgb, var(--gold) 13%, white);color:color-mix(in srgb, var(--gold) 83%, #583c00)}.badge-bad{background:color-mix(in srgb, var(--red) 11%, white);color:var(--red)}.badge-info{background:color-mix(in srgb, var(--accent) 12%, white);color:var(--accent)}.badge-neutral{background:var(--surface-3);color:var(--ink-2)}.count{text-align:center;background:var(--red);color:#fff;border-radius:999px;min-width:20px;margin-left:4px;padding:1px 6px;font-size:12px;display:inline-block}.client-header{background:var(--navy);color:#fff;flex-wrap:wrap;align-items:center;gap:20px;padding:14px 24px;display:flex}.client-header a,.client-header button{color:#fff}.client-header button{background:0 0;border-color:#fff6}.client-header .nav-btn{background:0 0;border:none;padding:8px 4px}.client-header .nav-btn.active{text-underline-offset:6px;text-decoration:underline}.client-main{max-width:880px;margin:0 auto;padding:24px}.project-card{margin-bottom:16px}@media (width<=760px){.sidebar{z-index:20;transition:transform .2s;position:fixed;left:0;transform:translate(-105%)}.sidebar.open{transform:translate(0)}#bf-menu-btn{display:inline-block}.topbar{padding:12px 16px}.top-date{display:none}.login-wrap{flex-direction:column}.login-brand{max-width:none;padding:28px 24px}.login-brand-headline{font-size:34px}.content,.client-main{padding:16px}}@media (width<=900px){.login-brand{display:none}.login-mobile-brand{display:block}.login-form{padding:25px 20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.panel{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);min-width:0;overflow:hidden}.panel-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:16px 20px;display:flex}.panel-title .title{letter-spacing:-.01em;font-size:13px;font-weight:800}.page-intro{justify-content:space-between;align-items:flex-end;gap:22px;min-height:72px;display:flex}.eyebrow{color:var(--accent);letter-spacing:.14em;margin-bottom:7px;font-size:9px;font-weight:800}.page-heading{color:var(--ink);letter-spacing:-.04em;font-size:clamp(24px,2.1vw,31px);font-weight:750;line-height:1.12}.metric-strip{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);grid-template-columns:repeat(5,1fr);display:grid}.theme-superadmin .metric-strip{border-top:2px solid var(--accent)}.metric-item{border-right:1px solid var(--line);min-width:0;padding:17px 20px}.metric-item:last-child{border-right:0}.metric-label{color:var(--ink-2);letter-spacing:.1em;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:800;overflow:hidden}.metric-row{justify-content:space-between;align-items:baseline;gap:8px;margin-top:8px;display:flex}.metric-value{color:var(--ink);letter-spacing:-.04em;font-size:23px;font-weight:750}.metric-row>span{text-align:right;font-size:8px;font-weight:700}.metric-row .up{color:var(--green)}.metric-row .down{color:var(--red)}.metric-row .neutral{color:var(--ink-2)}@media (width<=1180px){.metric-strip{grid-template-columns:repeat(2,1fr)}.metric-item{padding:14px}.metric-item:nth-child(2n){border-right:0}.metric-item:nth-child(3){border-right:1px solid var(--line)}.metric-item:nth-child(n+3){border-top:1px solid var(--line)}.metric-item:last-child{border-right:0;grid-column:1/-1}.metric-value{font-size:20px}}.table-tools,.directory-tools{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px 20px;display:flex}.mini-search{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:6px;width:270px;padding-left:10px;display:flex}.mini-search .input,.mini-search input{height:35px;box-shadow:none;border:0;padding:6px}.data-table{width:100%;overflow-x:auto}.table-head,.table-row{align-items:center;gap:15px;min-width:850px;padding:0 20px;display:grid}.table-head{background:color-mix(in srgb, var(--surface-3) 45%, white);height:35px;color:var(--ink-2);letter-spacing:.07em;font-size:8px;font-weight:800}.table-row{border-top:1px solid var(--line);min-height:55px;color:var(--ink-2);font-size:9px}.table-row:hover{background:color-mix(in srgb, var(--surface-3) 35%, white)}.cell-main{color:var(--ink);font-weight:700}.more-button{width:28px;min-height:28px;padding:0}.pagination{border-top:1px solid var(--line);color:var(--ink-2);justify-content:space-between;align-items:center;padding:13px 20px;font-size:8px;display:flex}.pagination>div{gap:7px;display:flex}.track{background:var(--surface-3);border-radius:4px;height:5px;overflow:hidden}.track i{border-radius:inherit;background:var(--accent);height:100%;display:block}.track i.navy{background:#183153}.track i.blue,.track i.steel{background:#527da8}.track i.gold{background:#d8b56d}.track i.teal{background:#278c87}.progress-ring{background:conic-gradient(var(--accent) 0 67%, var(--surface-3) 67%);border-radius:50%;place-items:center;width:126px;height:126px;display:grid}.progress-ring:before{content:"";background:var(--surface);border-radius:50%;grid-area:1/1;width:97px;height:97px}.progress-ring>div{z-index:1;text-align:center;grid-area:1/1}.progress-ring strong,.progress-ring span{display:block}.progress-ring strong{letter-spacing:-.04em;font-size:25px}.progress-ring span{color:var(--ink-2);margin-top:2px;font-size:8px}
