:root{--ink:#15233b;--muted:#69758a;--line:#e8ebf2;--bg:#f5f7fb;--brand:#635bff;--brand2:#8b5cf6;--success:#0f9f6e;--danger:#dc3f4f;--sidebar:#111a2e;--white:#fff}*{box-sizing:border-box}html{color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app{min-height:100vh}.sidebar{background:var(--sidebar);color:#d7def0;z-index:30;flex-direction:column;width:244px;padding:24px 16px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#fff;padding:4px 12px 24px;font-size:20px;font-weight:800}.brand span{color:#8f89ff}.nav{gap:5px;display:grid}.nav a{border-radius:9px;padding:11px 12px;font-size:14px}.nav a:hover,.nav a.active{color:#fff;background:#26304a}.sidebar-user{border-top:1px solid #2b354e;margin-top:auto;padding:14px 12px}.sidebar-user small{color:#8994aa}.main{min-height:100vh;margin-left:244px}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;justify-content:space-between;align-items:center;height:68px;padding:0 28px;display:flex;position:sticky;top:0}.content{max-width:1600px;margin:auto;padding:28px}.page-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.page-head h1{margin:0;font-size:26px}.muted{color:var(--muted)}.btn{border:0;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:10px 15px;font-weight:650;display:inline-flex}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-danger{color:var(--danger)}.grid{gap:18px;display:grid}.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:22px}.card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:20px;box-shadow:0 3px 12px #26304a08}.metric .label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px;font-weight:700}.metric strong{margin-top:8px;font-size:25px;display:block}.charts{grid-template-columns:2fr 1fr}.chart-box{height:330px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field{gap:7px;display:grid}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:700}.field input,.field select,.field textarea,.search{background:#fff;border:1px solid #dfe3eb;border-radius:9px;min-width:0;padding:10px 11px}.field textarea{resize:vertical;min-height:110px}.actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.alert{color:#087853;background:#e9fbf4;border-radius:9px;margin-bottom:18px;padding:13px 16px}.alert-error{color:#b42335;background:#fff0f2}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:13px 15px;font-size:14px}th{text-transform:uppercase;color:var(--muted);font-size:12px}.badge{background:#eef0f6;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700;display:inline-flex}.empty{text-align:center;color:var(--muted);padding:44px}.kanban{align-items:flex-start;gap:14px;padding-bottom:14px;display:flex;overflow-x:auto}.kanban-column{background:#eef1f6;border-radius:13px;flex:0 0 300px;padding:12px}.column-title{justify-content:space-between;align-items:center;padding:5px 3px 12px;font-weight:750;display:flex}.kanban-list{gap:10px;min-height:80px;display:grid}.kanban-card{border:1px solid var(--line);background:#fff;border-radius:11px;padding:14px;box-shadow:0 2px 8px #14213d10}.kanban-card h3{margin:3px 0 8px;font-size:15px}.drag-handle{cursor:grab;color:#9aa3b5;float:right}.card-meta{color:var(--muted);justify-content:space-between;gap:8px;margin-top:9px;font-size:12px;display:flex}.mobile-status{width:100%;margin-top:10px;display:none}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:18px;display:flex;overflow:auto}.tabs a{white-space:nowrap;border-bottom:2px solid #0000;padding:11px 13px}.tabs a.active{color:var(--brand);border-color:var(--brand)}.detail-grid{grid-template-columns:2fr 1fr}.summary-list{gap:10px;display:grid}.summary-row{border-bottom:1px solid var(--line);justify-content:space-between;padding-bottom:9px;display:flex}.login-shell{grid-template-columns:1.2fr 1fr;min-height:100vh;display:grid}.login-art{color:#fff;background:linear-gradient(145deg,#151d36,#554de9);flex-direction:column;justify-content:center;padding:8vw;display:flex}.login-art h1{max-width:580px;font-size:48px;line-height:1.05}.login-panel{justify-content:center;align-items:center;padding:30px;display:flex}.login-box{width:min(410px,100%)}.login-box h2{margin-bottom:6px;font-size:28px}.login-box form{gap:15px;margin-top:25px;display:grid}.toast{color:#fff;z-index:100;background:#102d26;border-radius:10px;padding:13px 17px;position:fixed;bottom:20px;right:20px}.toast.error{background:#812b36}.menu-toggle{display:none}.pagination{margin-top:18px}.sidebar{transition:width .22s,transform .22s;overflow:hidden}.main{transition:margin-left .22s}.brand-image{align-items:center;height:70px;padding:2px 0 22px;display:flex;overflow:hidden}.brand-image img{flex:0 0 202px;width:202px;max-width:none;height:auto;display:block}.nav a{white-space:nowrap;align-items:center;gap:12px;min-height:43px;display:flex}.nav-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 20px;width:20px;height:20px}.nav-label,.sidebar-user-info{opacity:1;transition:opacity .12s}.sidebar-logout{width:100%;margin-top:10px}.sidebar-collapsed .sidebar{width:76px;padding-inline:16px}.sidebar-collapsed .main{margin-left:76px}.sidebar-collapsed .brand-image{width:44px}.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-user-info{opacity:0;pointer-events:none;width:0;overflow:hidden}.sidebar-collapsed .nav a{justify-content:center;padding-inline:12px}.sidebar-collapsed .sidebar-user{padding-inline:4px}.sidebar-collapsed .sidebar-logout{width:44px;padding-inline:11px}.menu-toggle{font-size:19px;line-height:1;display:inline-flex}.sidebar-backdrop{z-index:25;opacity:0;visibility:hidden;background:#07101f99;border:0;transition:all .2s;position:fixed;inset:0}.login-logo{width:min(390px,90%);height:auto;margin-bottom:38px;display:block}.password-field{position:relative}.password-field input{width:100%;padding-right:48px}.password-toggle{color:#69758a;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.password-toggle:hover,.password-toggle:focus-visible{color:#15233b;background:#eef0f6;outline:none}.password-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.password-toggle .eye-closed,.password-toggle.is-visible .eye-open{display:none}.password-toggle.is-visible .eye-closed{display:block}@media (width<=900px){.sidebar{transform:translate(-100%);width:244px!important}.sidebar-open .sidebar{transform:translate(0)}.sidebar-open .sidebar-backdrop{opacity:1;visibility:visible}.sidebar-collapsed .brand-image{width:auto}.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-user-info{opacity:1;pointer-events:auto;width:auto;overflow:visible}.sidebar-collapsed .nav a{justify-content:flex-start}.sidebar-collapsed .sidebar-user{padding:14px 12px}.sidebar-collapsed .sidebar-logout{width:100%;padding:10px 15px}.main{margin-left:0!important}.charts,.detail-grid{grid-template-columns:1fr}.login-art{display:none}.login-shell{grid-template-columns:1fr}.content{padding:20px}.topbar{padding:0 20px}.mobile-status{display:block}.drag-handle{display:none}}@media (width<=620px){.form-grid{grid-template-columns:1fr}.page-head{flex-direction:column;align-items:flex-start}.page-head .btn{width:100%}.content,.card{padding:16px}.kanban-column{flex-basis:86vw}}
