@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#202038;--muted:#8b8ba2;--line:#ececf3;--purple:#6d5ce8;--bg:#f8f8fc}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px}aside{position:fixed;inset:0 auto 0 0;width:232px;background:#fff;border-right:1px solid var(--line);padding:23px 16px;display:flex;flex-direction:column}.brand{width:38px;height:38px;border-radius:12px;background:linear-gradient(140deg,#7666f0,#5544cf);color:#fff;display:grid;place-items:center;font:800 21px Manrope;box-shadow:0 5px 15px #6555dd45}.side-label,.eyebrow{font-size:10px;letter-spacing:1.2px;color:#a0a0b3;font-weight:700}.side-label{margin:39px 10px 12px}.nav{border:0;background:transparent;padding:12px 13px;border-radius:10px;text-align:left;color:#77778f;margin:2px 0;cursor:pointer;font-size:16px}.nav span{font-size:13px;margin-left:10px}.nav.active{background:#f0edff;color:#604fe0;font-weight:700}.profile{margin-top:auto;border-top:1px solid var(--line);padding:16px 3px 0;display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#ebe8ff;color:#6152cf;font-weight:700}.profile b{display:block;font-size:12px}.profile small{font-size:10px;color:var(--muted)}.profile button{margin-left:auto;border:0;background:none;color:#999;cursor:pointer}.content{margin-left:232px;padding:37px 48px;max-width:1600px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}header .eyebrow{margin:0 0 7px}h1,h2,h3,p{margin-top:0}h1{font:700 27px Manrope;margin-bottom:0;letter-spacing:-.5px}h2{font:700 18px Manrope;margin-bottom:5px}h3{font:700 15px Manrope;margin:0}.top-right{display:flex;align-items:center;gap:15px}.period-tag{background:#fff;border:1px solid var(--line);padding:10px 13px;border-radius:9px;color:#68687e;font-size:12px}.stats{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:17px;margin-bottom:34px}.stats article{position:relative;background:#fff;border:1px solid #ededf4;border-radius:13px;padding:20px 22px;min-height:134px;box-shadow:0 2px 8px #24244705}.stats small{display:block;color:#9999ae;font-size:10px;letter-spacing:.7px;font-weight:700;margin:2px 0 10px}.stats strong{display:block;font:700 23px Manrope}.stats em{display:block;margin-top:6px;color:#a0a0b1;font-style:normal;font-size:11px}.stat-icon{position:absolute;right:19px;top:17px;font-size:16px;padding:8px;border-radius:9px}.violet{color:#7565e9;background:#f0edff}.blue{color:#4d8be6;background:#eaf3ff}.green{color:#31aa7d;background:#e7f8f1}.toolbar{display:flex;justify-content:space-between;align-items:center;margin:24px 0 16px}.toolbar p{margin:0;color:#9a9aad;font-size:12px}.actions{display:flex;gap:9px}button{font-family:inherit}.primary,.secondary{border-radius:8px;padding:10px 14px;cursor:pointer;font-size:12px;font-weight:600}.primary{background:var(--purple);color:white;border:1px solid var(--purple);box-shadow:0 3px 8px #6555dd25}.primary:hover{background:#5c4bd5}.secondary{background:#fff;border:1px solid #e7e7ef;color:#69697e}.filters{display:flex;gap:12px;align-items:end;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:11px 11px 0 0}.filters label,label{display:flex;flex-direction:column;gap:5px;color:#8d8da1;font-size:10px;font-weight:600}.filters input,.filters select,.form-grid input,.form-grid select,.form-grid textarea,.login input{border:1px solid #e8e8f0;background:#fff;border-radius:7px;padding:9px 10px;color:#424257;font:12px 'DM Sans',sans-serif;outline:none}.filters input:focus,.filters select:focus,input:focus,select:focus{border-color:#9b8ef0}.filter-reset{border:0;background:none;color:#7565dc;font-size:11px;cursor:pointer;padding:10px}.table-wrap{background:#fff;border:1px solid var(--line);border-top:0;overflow:auto;border-radius:0 0 11px 11px}table{border-collapse:collapse;width:100%;min-width:700px}th{text-align:left;padding:13px 15px;color:#aaaabc;font-size:9px;letter-spacing:.7px;font-weight:700;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:14px 15px;border-bottom:1px solid #f1f1f6;font-size:12px;white-space:nowrap}tr:last-child td{border-bottom:0}.right{text-align:right}.amount{font-weight:700;color:#2c2b43}.region-pill{background:#f2f0ff;padding:5px 8px;border-radius:14px;font-size:10px;color:#6759d4}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#8172eb;margin-right:8px}.muted{color:#a1a1b3}.icon-btn{border:0;background:transparent;color:#a0a0b0;cursor:pointer;padding:3px 6px}.icon-btn:hover{color:#6151df}.icon-btn.danger:hover{color:#e16378}.table-foot{padding:12px 15px;color:#9999aa;font-size:11px;display:flex;justify-content:space-between}.table-foot b{color:#4a4a61}.empty{text-align:center;color:#aaa;padding:35px}.login{width:min(390px,calc(100% - 36px));position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:0 15px 60px #39336512}.login .brand{margin-bottom:29px}.login h1{font-size:25px}.login>.muted{color:#9797aa;margin:8px 0 26px}.login form{display:grid;gap:16px}.login label{font-size:11px}.login input{font-size:13px;padding:12px}.login .primary{padding:13px;text-align:left;font-size:13px}.login .primary span{float:right}.login small{font-size:10px;color:#aaa;text-align:center}.overlay{position:fixed;inset:0;background:#201d3d65;display:grid;place-items:center;padding:20px;z-index:3}.dialog{position:relative;width:min(590px,100%);background:white;border-radius:16px;padding:29px;box-shadow:0 20px 80px #17152b35}.dialog h2{font-size:21px;margin:7px 0 24px}.close{position:absolute;right:19px;top:17px;border:0;background:#f4f3fa;border-radius:50%;width:29px;height:29px;cursor:pointer;color:#777}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{font-size:11px}.form-grid input,.form-grid select,.form-grid textarea{font-size:13px;padding:11px}.form-grid .full{grid-column:1/-1}.form-grid textarea{resize:vertical}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.catalog{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:15px}.catalog-card,.panel{padding:19px;background:#fff;border:1px solid var(--line);border-radius:12px}.catalog-head,.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.small{padding:7px 10px;font-size:10px}.article-item{border-top:1px solid #f1f1f6;padding:11px 2px;font-size:12px;color:#66667d}.article-item button{float:right;border:0;background:none;color:#9a94d4;font-size:10px;cursor:pointer}.inactive{color:#d1807d;font-size:10px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(250px,1fr));gap:15px}.setting-row{border-top:1px solid #f1f1f6;padding:12px 2px;font-size:12px}.setting-row small{float:right;color:#999}.panel-head{margin-bottom:9px}#toast{position:fixed;bottom:24px;right:26px;background:#292743;color:#fff;padding:12px 17px;border-radius:9px;opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none;font-size:12px}#toast.show{opacity:1;transform:translateY(0)}@media(max-width:900px){.content{padding:27px 22px;margin-left:200px}aside{width:200px}.filters{flex-wrap:wrap}.stats{gap:10px}.stats article{padding:16px}.stats strong{font-size:19px}}@media(max-width:650px){aside{width:61px;padding:16px 9px}.brand{width:40px;height:40px}.side-label,.nav span,.profile>div:not(.avatar),.profile button{display:none}.nav{padding:12px 13px}.profile{justify-content:center}.content{margin-left:61px;padding:23px 14px}.stats{grid-template-columns:1fr}.stats article{min-height:110px}.toolbar{align-items:flex-start;gap:12px;flex-direction:column}.actions{width:100%}.filters{display:grid;grid-template-columns:1fr 1fr}header h1{font-size:22px}.period-tag{display:none}.catalog,.settings-grid{grid-template-columns:1fr}}

/* Dark minimal theme */
:root{--ink:#e8e8f0;--muted:#85869a;--line:#292b3b;--purple:#8a7cff;--bg:#101116;color-scheme:dark}
body{background:radial-gradient(ellipse at 78% -20%,#252039 0%,#101116 42%);color:var(--ink)}
aside{background:#14151c;border-color:#262733}.brand{background:linear-gradient(140deg,#a08fff,#6754e7);box-shadow:0 5px 20px #7968ff30}.side-label,.eyebrow{color:#77798c}.nav{color:#9293a5}.nav:hover{background:#20212c;color:#d8d7e7}.nav.active{background:#28243d;color:#b5aaff}.profile{border-color:#292a36}.avatar{background:#302b48;color:#c0b4ff}.profile small{color:#85869a}.profile button{color:#8c8d9f}
.period-tag,.stats article,.filters,.table-wrap,.catalog-card,.panel,.login,.dialog{background:#171820;border-color:#2a2b38;box-shadow:0 8px 28px #00000012}.period-tag{color:#c0c1cd}.stats article{background:linear-gradient(145deg,#1a1b25,#171820)}.stats small{color:#85869a}.stats em{color:#818293}.stat-icon.violet{color:#b6a9ff;background:#2b2640}.stat-icon.blue{color:#88b8ff;background:#202c3b}.stat-icon.green{color:#6fd0ac;background:#1c302c}.toolbar p{color:#8a8b9d}
.primary{background:#7868ec;border-color:#7868ec;box-shadow:0 4px 16px #7664e527;color:#fff}.primary:hover{background:#887aff}.secondary{background:#1b1c25;border-color:#30313e;color:#c6c7d2}.secondary:hover{background:#232430;border-color:#444455}.filters label,label,.form-grid label{color:#999aab}.filters input,.filters select,.form-grid input,.form-grid select,.form-grid textarea,.login input{background:#111218;border-color:#30313f;color:#e0e0ea}.filters input:focus,.filters select:focus,input:focus,select:focus{border-color:#8a7cff;box-shadow:0 0 0 3px #8a7cff20}.filter-reset{color:#a99bff}.table-wrap{background:#171820;border-color:#2a2b38}th{color:#858698;border-color:#292a36}td{border-color:#24252f;color:#dedee7}.amount{color:#f0eff8}.region-pill{background:#29253d;color:#bdb0ff}.dot{background:#9687ff}.muted{color:#9293a4}.icon-btn{color:#8c8d9c}.icon-btn:hover{color:#b6a9ff}.icon-btn.danger:hover{color:#ff8394}.table-foot{color:#858698}.table-foot b{color:#dedee7}.empty{color:#858698}
.login{box-shadow:0 24px 90px #0008}.login>.muted{color:#9697a9}.login small{color:#858698}.overlay{background:#05050bc9;backdrop-filter:blur(6px)}.dialog{box-shadow:0 24px 90px #0009}.close{background:#252632;color:#b7b8c6}.catalog-card h3,.panel h3{color:#ecebf4}.article-item{border-color:#292a36;color:#c5c5d2}.article-item button{color:#a99bff}.inactive{color:#f28b91}.setting-row{border-color:#292a36;color:#d6d6e0}.setting-row small{color:#9293a4}#toast{background:#eceaff;color:#201d34;box-shadow:0 8px 28px #0008}
.stats article:hover,.catalog-card:hover,.panel:hover{border-color:#3b394e;transform:translateY(-1px);transition:transform .18s,border-color .18s}::selection{background:#7564e966;color:#fff}::-webkit-scrollbar{height:9px;width:9px}::-webkit-scrollbar-thumb{background:#393a49;border:2px solid transparent;background-clip:padding-box;border-radius:9px}::-webkit-scrollbar-track{background:transparent}

body{font-family:'Manrope',Arial,sans-serif}.filters input,.filters select,.form-grid input,.form-grid select,.form-grid textarea,.login input{font-family:'Manrope',Arial,sans-serif}
.profile-info{min-width:0}.logout-btn{display:flex;align-items:center;gap:6px;margin-left:auto!important;padding:7px 9px;border:1px solid #30313e!important;border-radius:8px;background:#1b1c25!important;color:#c6c7d2!important;font-size:11px;cursor:pointer;white-space:nowrap}.logout-btn:hover{background:#292430!important;border-color:#55476b!important;color:#f0d8df!important}.logout-icon{font-size:15px;line-height:1}
@media(max-width:650px){aside .profile button.logout-btn{display:grid;place-items:center;margin-left:0!important;padding:7px;width:34px;height:34px}.logout-text{display:none}}
.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.setting-row small{display:block;float:none;margin-top:4px}.setting-actions{display:flex;align-items:center;gap:5px;flex-shrink:0}.setting-actions button{border:1px solid transparent;border-radius:6px;background:transparent;color:#aaa4df;padding:6px 8px;font:500 10px Manrope,Arial,sans-serif;cursor:pointer}.setting-actions button:hover{background:#29263a;border-color:#39334d;color:#d0c7ff}.setting-actions button.setting-delete{color:#d98791}.setting-actions button.setting-delete:hover{background:#39242b;border-color:#55313b;color:#ffabb1}.settings-dialog{width:min(600px,100%)}
.employee-roster{margin:8px 0 12px;padding:12px;background:#13141b;border:1px solid #292b39;border-radius:9px}.employee-roster>strong{display:block;margin-bottom:8px;color:#a9a2d3;font-size:11px}.employee-roster>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid #262733;font-size:11px}.employee-roster small{color:#9293a4;text-align:right}.employee-roster em{font-style:normal;color:#e9a071;font-size:10px}.catalog-head-actions{display:flex;gap:5px;align-items:center}.article-actions{display:flex;gap:6px;align-items:center}.article-actions button{position:static;float:none;padding:4px 6px}
#app aside{transition:width .22s ease,padding .22s ease}#app .content{transition:margin-left .22s ease}#app .sidebar-toggle{align-self:flex-end;margin:0 0 14px;width:29px;height:29px;display:grid;place-items:center;border:1px solid #30313e;border-radius:8px;background:#1b1c25;color:#c4c1dc;font:700 17px Manrope,Arial,sans-serif;cursor:pointer}#app .sidebar-toggle:hover{background:#29263a;color:#fff}#app.sidebar-collapsed aside{width:72px;padding:18px 10px}#app.sidebar-collapsed .content{margin-left:72px}#app.sidebar-collapsed .sidebar-toggle{align-self:center}#app.sidebar-collapsed .side-label,#app.sidebar-collapsed .nav span,#app.sidebar-collapsed .profile-info,#app.sidebar-collapsed .logout-text{display:none}#app.sidebar-collapsed .brand{align-self:center}#app.sidebar-collapsed .nav{width:100%;padding:12px 0;text-align:center;font-size:17px}#app.sidebar-collapsed .profile{flex-wrap:wrap;justify-content:center;gap:8px;padding-top:12px}#app.sidebar-collapsed .logout-btn{margin:0!important;padding:6px;width:34px;height:34px;justify-content:center}#app.sidebar-collapsed .logout-icon{font-size:15px}@media(max-width:650px){#app .sidebar-toggle{display:none}}
#view .table-wrap table{width:max-content;min-width:100%;table-layout:fixed}#view .table-wrap th.resizable-th{position:relative;padding-right:13px}#view .table-wrap .column-resizer{position:absolute;z-index:2;top:0;right:-4px;width:9px;height:100%;cursor:col-resize;touch-action:none;user-select:none}#view .table-wrap .column-resizer:after{content:"";position:absolute;top:24%;bottom:24%;left:4px;width:1px;background:#5e5c71;opacity:0;transition:opacity .12s}#view .table-wrap th:hover .column-resizer:after,#view .table-wrap .column-resizer.dragging:after{opacity:1;background:#a99bff}#view .table-wrap td{overflow:hidden;text-overflow:ellipsis}#view .table-wrap .column-resizer.dragging{background:#a99bff22}
.summary-toggle,.summary-toggle-placeholder{display:inline-grid;place-items:center;vertical-align:middle;width:23px;height:23px;margin-right:9px;border:1px solid #3a394a;border-radius:7px;background:#1c1d27;color:#b8adff;font:700 15px Manrope,Arial,sans-serif}.summary-toggle{cursor:pointer}.summary-toggle:hover,.summary-toggle[aria-expanded="true"]{background:#2b2640;border-color:#665aa0;color:#d4ccff}.summary-toggle-placeholder{border-color:transparent;background:transparent}.summary-detail td{background:#13141b;color:#c3c4d0}.summary-detail-name{display:inline-block;margin-left:33px}.summary-detail-count{margin-left:10px;color:#77798b;font-size:10px}.summary-category td:first-child{font-weight:600}

.profile .avatar{flex:0 0 34px;min-width:34px;width:34px;height:34px;aspect-ratio:1;border-radius:50%}

/* Optional light theme */
:root[data-theme="light"]{--ink:#202038;--muted:#8b8ba2;--line:#e7e7ef;--purple:#6d5ce8;--bg:#f8f8fc;color-scheme:light}
:root[data-theme="light"] body{background:var(--bg);color:var(--ink)}
:root[data-theme="light"] aside{background:#fff;border-color:#e7e7ef}
:root[data-theme="light"] .side-label,:root[data-theme="light"] .eyebrow{color:#9090a5}
:root[data-theme="light"] .nav{color:#77778f}
:root[data-theme="light"] .nav:hover{background:#f4f2fc;color:#5143bb}
:root[data-theme="light"] .nav.active{background:#f0edff;color:#604fe0}
:root[data-theme="light"] .profile{border-color:#e7e7ef}
:root[data-theme="light"] .profile small{color:#85869a}
:root[data-theme="light"] .avatar{background:#ebe8ff;color:#6152cf}
:root[data-theme="light"] .period-tag,:root[data-theme="light"] .stats article,:root[data-theme="light"] .filters,:root[data-theme="light"] .table-wrap,:root[data-theme="light"] .catalog-card,:root[data-theme="light"] .panel,:root[data-theme="light"] .login,:root[data-theme="light"] .dialog{background:#fff;border-color:#e7e7ef;box-shadow:0 5px 20px #2424470a}
:root[data-theme="light"] .stats article{background:linear-gradient(145deg,#fff,#fafaff)}
:root[data-theme="light"] .stats small{color:#9999ae}
:root[data-theme="light"] .stats em,:root[data-theme="light"] .toolbar p{color:#9292a5}
:root[data-theme="light"] .primary{background:#6d5ce8;border-color:#6d5ce8}
:root[data-theme="light"] .primary:hover{background:#5c4bd5}
:root[data-theme="light"] .secondary{background:#fff;border-color:#e7e7ef;color:#69697e}
:root[data-theme="light"] .secondary:hover{background:#f7f6fc;border-color:#d9d6eb}
:root[data-theme="light"] .filters label,:root[data-theme="light"] label,:root[data-theme="light"] .form-grid label{color:#77778f}
:root[data-theme="light"] .filters input,:root[data-theme="light"] .filters select,:root[data-theme="light"] .form-grid input,:root[data-theme="light"] .form-grid select,:root[data-theme="light"] .form-grid textarea,:root[data-theme="light"] .login input{background:#fff;border-color:#dedee9;color:#343449}
:root[data-theme="light"] .filters input:focus,:root[data-theme="light"] .filters select:focus,:root[data-theme="light"] input:focus,:root[data-theme="light"] select:focus{border-color:#8a7cff;box-shadow:0 0 0 3px #8a7cff20}
:root[data-theme="light"] .filter-reset,:root[data-theme="light"] .icon-btn{color:#7565dc}
:root[data-theme="light"] .table-wrap{background:#fff}
:root[data-theme="light"] th{color:#88889c;border-color:#e7e7ef}
:root[data-theme="light"] td{color:#343449;border-color:#eeeef4}
:root[data-theme="light"] .amount{color:#2c2b43}
:root[data-theme="light"] .region-pill{background:#f2f0ff;color:#6759d4}
:root[data-theme="light"] .dot{background:#8172eb}
:root[data-theme="light"] .muted,:root[data-theme="light"] .table-foot{color:#85859a}
:root[data-theme="light"] .table-foot b{color:#4a4a61}
:root[data-theme="light"] .empty{color:#88889c}
:root[data-theme="light"] .close{background:#f4f3fa;color:#777}
:root[data-theme="light"] .overlay{background:#201d3d65;backdrop-filter:blur(6px)}
:root[data-theme="light"] .catalog-card h3,:root[data-theme="light"] .panel h3{color:#29283c}
:root[data-theme="light"] .article-item{border-color:#f1f1f6;color:#66667d}
:root[data-theme="light"] .article-item button{color:#7565dc}
:root[data-theme="light"] .inactive{color:#b85f61}
:root[data-theme="light"] .setting-row{border-color:#f1f1f6;color:#343449}
:root[data-theme="light"] .setting-row small{color:#88889c}
:root[data-theme="light"] .employee-roster{background:#fafaff;border-color:#e7e7ef}
:root[data-theme="light"] #toast{background:#292743;color:#fff;box-shadow:0 8px 28px #0002}
:root[data-theme="light"] #app .sidebar-toggle{background:#fff;border-color:#dedee9;color:#6a6485}
:root[data-theme="light"] #app .sidebar-toggle:hover{background:#f4f2fc;color:#40388a}
:root[data-theme="light"] .logout-btn{background:#fff!important;border-color:#dedee9!important;color:#69697e!important}
:root[data-theme="light"] .logout-btn:hover{background:#f7f4f7!important;border-color:#ded2dc!important;color:#8c5364!important}
.theme-toggle{border:1px solid #30313e;border-radius:8px;background:#1b1c25;color:#c6c7d2;padding:9px 11px;font:600 11px Manrope,Arial,sans-serif;cursor:pointer;white-space:nowrap}
.theme-toggle:hover{background:#29263a;border-color:#51496c;color:#fff}
:root[data-theme="light"] .theme-toggle{background:#fff;border-color:#dedee9;color:#69697e}
:root[data-theme="light"] .theme-toggle:hover{background:#f7f6fc;border-color:#cfcbe3;color:#5143bb}
@media(max-width:650px){.theme-toggle{padding:8px;font-size:10px}}
:root[data-theme="light"] .stat-icon.violet{color:#7565e9;background:#f0edff}
:root[data-theme="light"] .stat-icon.blue{color:#4d8be6;background:#eaf3ff}
:root[data-theme="light"] .stat-icon.green{color:#31aa7d;background:#e7f8f1}
:root[data-theme="light"] .summary-toggle,:root[data-theme="light"] .summary-toggle-placeholder{border-color:#ddd8f5;background:#f2f0ff;color:#6656d9}
:root[data-theme="light"] .summary-toggle:hover,:root[data-theme="light"] .summary-toggle[aria-expanded="true"]{background:#e7e2ff;border-color:#b9aff0;color:#5143bb}
:root[data-theme="light"] .summary-toggle-placeholder{border-color:transparent;background:transparent}
:root[data-theme="light"] .summary-detail td{background:#f7f7fc;color:#45455a}
:root[data-theme="light"] .summary-detail-count{color:#85859a}

.brand-logo{display:none}
:root[data-theme="dark"] #app .brand-logo-dark{display:block;width:126px;height:auto;align-self:center;margin:10px auto 0}
:root[data-theme="light"] #app .brand-logo-light{display:block;width:126px;height:auto;align-self:center;margin:10px auto 0}
#app.sidebar-collapsed .brand-logo{width:44px;margin:10px auto 8px}

:root[data-theme] #app.sidebar-collapsed .brand-logo{display:none}

.brand-logo{cursor:pointer}

:root[data-theme="light"] .setting-actions button:hover{background:#f4f2fc;border-color:#ded9f2;color:#5143bb}
:root[data-theme="light"] .setting-actions button.setting-delete:hover{background:#fdf0f1;border-color:#f0cfd4;color:#ad4f5c}
:root[data-theme="light"] .primary:hover{background:#7868ec;border-color:#7868ec}

.export-button{display:inline-flex;align-items:center;gap:8px}.export-icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* Light theme text contrast cleanup */
:root[data-theme="light"] .profile button:not(.logout-btn){color:#6f6f84}
:root[data-theme="light"] .setting-actions button{color:#6256aa}
:root[data-theme="light"] .setting-actions button:hover{background:#f2efff;border-color:#ddd7f5;color:#5143bb}
:root[data-theme="light"] .setting-actions button.setting-delete{color:#b65360}
:root[data-theme="light"] .setting-actions button.setting-delete:hover{background:#fdf0f1;border-color:#efcbd1;color:#a94350}
:root[data-theme="light"] .employee-roster>strong{color:#6254b7}
:root[data-theme="light"] .employee-roster small{color:#73738a}
:root[data-theme="light"] .employee-roster em{color:#a75d28}
/* Harmonized light theme typography */
:root[data-theme="light"]{--ink:#25243b;--muted:#77778d}
:root[data-theme="light"] body{color:#25243b}
:root[data-theme="light"] h1,:root[data-theme="light"] h2,:root[data-theme="light"] h3,:root[data-theme="light"] .profile b,:root[data-theme="light"] .stats strong{color:#25243b}
:root[data-theme="light"] .side-label,:root[data-theme="light"] .eyebrow,:root[data-theme="light"] .stats small,:root[data-theme="light"] th{color:#85859b}
:root[data-theme="light"] .stats em,:root[data-theme="light"] .toolbar p,:root[data-theme="light"] .profile small,:root[data-theme="light"] .period-tag{color:#77778d}
:root[data-theme="light"] .filters label,:root[data-theme="light"] label,:root[data-theme="light"] .form-grid label{color:#6f6f84}
:root[data-theme="light"] .filters input,:root[data-theme="light"] .filters select,:root[data-theme="light"] .form-grid input,:root[data-theme="light"] .form-grid select,:root[data-theme="light"] .form-grid textarea,:root[data-theme="light"] .login input{color:#343449}
:root[data-theme="light"] td,:root[data-theme="light"] .setting-row,:root[data-theme="light"] .article-item{color:#3d3d52}
:root[data-theme="light"] .muted,:root[data-theme="light"] .table-foot,:root[data-theme="light"] .setting-row small,:root[data-theme="light"] .employee-roster small{color:#77778d}
:root[data-theme="light"] .table-foot b{color:#45455d}
:root[data-theme="light"] .empty{color:#85859b}
:root[data-theme="light"] .icon-btn{color:#77778d}
:root[data-theme="light"] .icon-btn:hover{color:#5143bb}
:root[data-theme="light"] .inactive{color:#a95055}
:root[data-theme="light"] .employee-roster>strong{color:#5d50aa}
:root[data-theme="light"] .employee-roster em{color:#98511f}
.period-lock-panel{grid-column:1/-1}.period-lock-controls{display:flex;align-items:end;gap:10px;margin:14px 0}.period-lock-controls label{display:flex;flex-direction:column;gap:6px;color:#999aab;font-size:11px}.period-lock-controls input{min-width:180px;padding:10px;border:1px solid #30313f;border-radius:7px;background:#111218;color:#e0e0ea;font:12px Manrope,Arial,sans-serif}.period-closed-list .setting-row{padding:9px 2px}.period-open-button{padding:7px 10px}.period-lock-note{margin:14px 0 0;padding:10px 12px;border-radius:8px;background:#39242b;color:#ffabb1;font-size:12px}.period-lock-banner{margin:0 0 16px;padding:11px 14px;border:1px solid #55476b;border-radius:9px;background:#201d2d;color:#d0c7ff;font-size:12px}.icon-btn:disabled{opacity:.38;cursor:not-allowed}
:root[data-theme="light"] .period-lock-controls label{color:#6f6f84}
:root[data-theme="light"] .period-lock-controls input{border-color:#dedee9;background:#fff;color:#343449}
:root[data-theme="light"] .period-lock-note{background:#fff1f1;color:#a94350}
:root[data-theme="light"] .period-lock-banner{border-color:#ddd7f5;background:#f2efff;color:#5143a6}
/* Theme-matched month picker for period management */
.period-month-picker{position:relative;min-width:190px}.month-picker-trigger{width:100%;min-height:40px;padding:9px 12px;border:1px solid #30313e;border-radius:8px;background:#1b1c25;color:#e0e0ea;text-align:left;font:500 13px Manrope,Arial,sans-serif;cursor:pointer}.month-picker-trigger:hover{background:#232430;border-color:#51496c}.month-picker-popover{position:absolute;z-index:8;top:calc(100% + 7px);left:0;width:250px;padding:13px;border:1px solid #30313e;border-radius:11px;background:#171820;color:#e8e8f0;box-shadow:0 16px 40px #0008}.month-picker-popover[hidden]{display:none}.month-picker-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid #30313e}.month-picker-head strong{font:700 14px Manrope,Arial,sans-serif}.month-picker-head button{width:30px;height:30px;border:1px solid transparent;border-radius:7px;background:transparent;color:#b7b8c6;font-size:20px;cursor:pointer}.month-picker-head button:hover{background:#29263a;border-color:#51496c;color:#fff}.month-picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.month-picker-option{min-height:34px;border:1px solid transparent;border-radius:7px;background:transparent;color:#c6c7d2;font:500 12px Manrope,Arial,sans-serif;text-transform:capitalize;cursor:pointer}.month-picker-option:hover{background:#29263a;color:#fff}.month-picker-option.selected{border-color:#7467d8;background:#342e55;color:#d4ccff;font-weight:700}
:root[data-theme="light"] .month-picker-trigger{border-color:#dedee9;background:#fff;color:#343449}
:root[data-theme="light"] .month-picker-trigger:hover{background:#f7f6fc;border-color:#cfcbe3}
:root[data-theme="light"] .month-picker-popover{border-color:#e4e2ee;background:#fff;color:#25243b;box-shadow:0 16px 40px #24244720}
:root[data-theme="light"] .month-picker-head{border-color:#e7e7ef}
:root[data-theme="light"] .month-picker-head button{color:#69697e}
:root[data-theme="light"] .month-picker-head button:hover{background:#f4f2fc;border-color:#ded9f2;color:#5143bb}
:root[data-theme="light"] .month-picker-option{color:#55556c}
:root[data-theme="light"] .month-picker-option:hover{background:#f4f2fc;color:#5143bb}
:root[data-theme="light"] .month-picker-option.selected{border-color:#cfc7f5;background:#f0edff;color:#5143bb}
.period-open-button{min-width:84px}
/* Keep the dark page background steady while data is loading. */
:root[data-theme="dark"] body{min-height:100vh;background-color:var(--bg);background-repeat:no-repeat;background-attachment:fixed;background-size:cover}
.loading-state{min-height:300px;display:flex;align-items:center;justify-content:center;gap:11px;color:var(--muted);font-size:13px}
.loading-spinner{width:18px;height:18px;border:2px solid #8a7cff35;border-top-color:#8a7cff;border-radius:50%;animation:loading-spin .8s linear infinite}
:root[data-theme="light"] .loading-spinner{border-color:#6d5ce835;border-top-color:#6d5ce8}
@keyframes loading-spin{to{transform:rotate(360deg)}}

/* Match the main table filter selects to the app controls. */
.filters select{appearance:none;-webkit-appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a99bff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:14px;color-scheme:dark;transition:border-color .15s,box-shadow .15s}.filters select:hover{border-color:#51496c}.filters select option{background:#171820;color:#e0e0ea}.filters select option:checked{background:#342e55;color:#d4ccff}
:root[data-theme="light"] .filters select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236d5ce8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");color-scheme:light}
:root[data-theme="light"] .filters select:hover{border-color:#cfcbe3}
:root[data-theme="light"] .filters select option{background:#fff;color:#343449}
:root[data-theme="light"] .filters select option:checked{background:#f0edff;color:#5143bb}
/* The table filters use custom menus so native OS dropdown styling does not leak in. */
.filter-dropdown{position:relative;display:flex;flex-direction:column;gap:5px;min-width:155px}.filter-dropdown>label{color:#999aab;font-size:10px;font-weight:600}.filter-dropdown-toggle{width:100%;height:36px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid #30313f;border-radius:7px;background:#111218;color:#e0e0ea;font:12px Manrope,Arial,sans-serif;text-align:left;cursor:pointer}.filter-dropdown-toggle:hover,.filter-dropdown-toggle[aria-expanded="true"]{border-color:#8a7cff;box-shadow:0 0 0 2px #8a7cff12}.filter-dropdown-toggle span{color:#a99bff;font-size:15px}.filter-dropdown-menu{position:absolute;z-index:7;top:calc(100% + 5px);left:0;width:max(100%,190px);max-height:280px;overflow:auto;padding:5px;border:1px solid #30313e;border-radius:9px;background:#171820;color:#e0e0ea;box-shadow:0 14px 36px #0008}.filter-dropdown-menu[hidden]{display:none}.filter-dropdown-option{display:block;width:100%;padding:9px 10px;border:0;border-radius:6px;background:transparent;color:#c6c7d2;font:12px Manrope,Arial,sans-serif;text-align:left;cursor:pointer}.filter-dropdown-option:hover{background:#242530;color:#fff}.filter-dropdown-option.selected{background:#292542;color:#d4ccff}.filter-dropdown-option.selected:hover{background:#342e55}
:root[data-theme="light"] .filter-dropdown>label{color:#77778f}
:root[data-theme="light"] .filter-dropdown-toggle{border-color:#dedee9;background:#fff;color:#343449}
:root[data-theme="light"] .filter-dropdown-toggle:hover,:root[data-theme="light"] .filter-dropdown-toggle[aria-expanded="true"]{border-color:#8a7cff;box-shadow:0 0 0 2px #8a7cff12}
:root[data-theme="light"] .filter-dropdown-toggle span{color:#6656d9}
:root[data-theme="light"] .filter-dropdown-menu{border-color:#e4e2ee;background:#fff;color:#343449;box-shadow:0 14px 36px #24244720}
:root[data-theme="light"] .filter-dropdown-option{color:#55556c}
:root[data-theme="light"] .filter-dropdown-option:hover{background:#f4f2fc;color:#5143bb}
:root[data-theme="light"] .filter-dropdown-option.selected{background:#f0edff;color:#5143bb}
:root[data-theme="light"] .filter-dropdown-option.selected:hover{background:#e7e2ff}
.filter-dropdown-current{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown-toggle>span[aria-hidden]{flex:none}

.filter-dropdown-chevron{display:block;flex:none;width:14px;height:14px;fill:none;stroke:#a99bff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
:root[data-theme="light"] .filter-dropdown-chevron{stroke:#6656d9}
/* Keep selected filter labels at the same scale and contrast as date fields. */
.filter-dropdown-toggle .filter-dropdown-current{color:#e0e0ea;font-size:12px;font-weight:400}
.filter-dropdown-chevron{stroke:#e0e0ea}
:root[data-theme="light"] .filter-dropdown-toggle .filter-dropdown-current{color:#343449;font-size:12px}
:root[data-theme="light"] .filter-dropdown-chevron{stroke:#69697e}
@media(max-width:650px){:root[data-theme] #app .brand-logo{display:none!important}}

.login-error{margin:-10px 0 0;padding:10px 12px;border:1px solid #57313c;border-radius:8px;background:#39242b;color:#ffabb1;font-size:12px;line-height:1.45}
:root[data-theme="light"] .login-error{border-color:#efcbd1;background:#fff1f1;color:#a94350}
.authorization-wait{text-align:center}.authorization-wait .muted{max-width:420px;margin:0 auto 18px}.authorization-code{display:inline-block;margin:8px auto 18px;padding:14px 28px;border:1px solid #39334f;border-radius:14px;background:#211e30;color:#c0b4ff;font:800 32px Manrope,Arial,sans-serif;letter-spacing:8px}.authorization-list{display:grid;gap:12px}.authorization-card{padding:18px 20px}.authorization-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.authorization-card-head b{display:block}.authorization-card-head small,.authorization-meta{color:var(--muted);font-size:11px}.authorization-card-head small{display:block;margin-top:5px}.authorization-card-head small strong{color:#b7aaff;letter-spacing:1px}.authorization-meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:14px}.authorization-meta .browser-value{flex-basis:100%;overflow-wrap:anywhere}.authorization-status{padding:5px 9px;border-radius:20px;font-size:10px;background:#292a36;color:#c6c7d2}.authorization-status.pending{background:#392e1d;color:#f2c36f}.authorization-status.approved{background:#1c302c;color:#6fd0ac}.authorization-status.denied,.authorization-status.expired{background:#39242b;color:#ff9ba5}.authorization-actions{display:flex;align-items:center;gap:9px;margin-top:15px}.authorization-actions small{margin-left:auto;color:var(--muted);font-size:10px}.authorization-devices-title{margin-top:34px}.authorization-devices-title+.authorization-list .setting-delete{white-space:nowrap}
:root[data-theme="light"] .authorization-code{background:#f2f0ff;border-color:#ded8ff;color:#5747c2}:root[data-theme="light"] .authorization-status{background:#f0eff5;color:#59596d}:root[data-theme="light"] .authorization-status.pending{background:#fff4dc;color:#8a6214}:root[data-theme="light"] .authorization-status.approved{background:#e8f7f0;color:#247e5d}:root[data-theme="light"] .authorization-status.denied,:root[data-theme="light"] .authorization-status.expired{background:#fff0f1;color:#a94350}
@media(max-width:650px){.authorization-actions{flex-wrap:wrap}.authorization-actions small{flex-basis:100%;margin-left:0}.authorization-card-head{align-items:flex-start}}
