:root{--v3-card:#fff;--v3-soft:#f7f8fc;--v3-top:rgba(255,255,255,.88);--v3-positive:#159a66;--v3-negative:#d84a5c;--v3-warning:#d98b19}
html.dark-preload body{background:#0d1020}
html{scroll-behavior:smooth}body{transition:background .22s,color .22s}.brand-row{display:flex;align-items:center;gap:5px}.brand-row .brand{flex:1;min-width:0}.brand-row .brand b{overflow:hidden;white-space:nowrap}.side-collapse{width:28px;height:28px;flex:0 0 28px;border:1px solid #343a55;border-radius:8px;background:#222841;color:#aeb6cc;cursor:pointer}.sidebar nav a>span{white-space:nowrap;overflow:hidden}.sidebar-backdrop{display:none}.topbar-left,.topbar-actions,.user-trigger{display:flex;align-items:center}.topbar-left{gap:14px}.topbar-title small,.topbar-title strong{display:block}.topbar-title small{font-size:8px;letter-spacing:1.4px;color:var(--muted);font-weight:850}.topbar-title strong{font-size:14px;margin-top:2px}.topbar-actions{position:relative;gap:9px}.top-date{padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:var(--v3-soft);color:var(--muted);font-size:12px}.theme-toggle{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--v3-card);color:var(--ink);font-size:18px;cursor:pointer}.user-trigger{gap:9px;padding:5px 8px 5px 5px;border:1px solid var(--line);border-radius:12px;background:var(--v3-card);color:var(--ink);cursor:pointer}.user-trigger>span:nth-child(2){text-align:left}.user-trigger b,.user-trigger small{display:block}.user-trigger b{font-size:12px}.user-trigger small{font-size:9px;color:var(--muted);margin-top:2px}.user-trigger i{font-style:normal;color:var(--muted)}.mini-avatar{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,#725fed,#9a8df8);color:#fff;font-weight:850}.user-popover{display:none;position:absolute;right:0;top:49px;width:175px;padding:7px;background:var(--v3-card);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 45px #12162b26}.user-popover.open{display:grid}.user-popover a{padding:10px;border-radius:8px;color:var(--ink);font-size:12px;font-weight:650}.user-popover a:hover{background:var(--v3-soft)}.user-popover .danger{color:var(--v3-negative)}
.route-loader{position:fixed;z-index:30;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,#6c5ce7,#31c6ef);opacity:0;transition:width .22s,opacity .2s}.route-loader.loading{width:78%;opacity:1}.route-loader.done{width:100%;opacity:0}.panel-collapsed .sidebar{width:84px}.panel-collapsed .main{margin-left:84px}.panel-collapsed .brand b,.panel-collapsed .sidebar nav a span,.panel-collapsed .sidebar nav small,.panel-collapsed .side-user>div:last-child{display:none}.panel-collapsed .brand{padding-left:8px}.panel-collapsed .sidebar nav a{justify-content:center;font-size:18px}.panel-collapsed .sidebar nav a.active:after{right:5px}.panel-collapsed .side-user{justify-content:center}.panel-collapsed .side-collapse{transform:rotate(180deg)}
.content>*,.table-card{animation:v3-rise .28s ease both}@keyframes v3-rise{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.table-card{position:relative}.table-scroll:after{content:"";position:absolute;right:0;top:65px;bottom:0;width:18px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--v3-card));opacity:.65}.table-card table tbody tr:nth-child(even){background:rgba(247,248,252,.55)}.table-card table tbody tr:hover{background:#f3f0ff}.table-card td b{color:var(--ink)}.fine,.expense-value,.penalty-value{color:var(--v3-negative)!important}.stat-positive{color:var(--v3-positive)!important}.stat-warning{color:var(--v3-warning)!important}
.confirm-modal{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:18px;background:#0c1024a8;backdrop-filter:blur(6px)}.confirm-modal.open{display:grid}.confirm-box{width:min(390px,100%);padding:27px;background:var(--v3-card);border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 90px #0005;text-align:center;animation:v3-pop .18s ease}@keyframes v3-pop{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}.confirm-icon{width:48px;height:48px;display:grid;place-items:center;margin:auto;border-radius:14px;background:#fff0f2;color:var(--v3-negative);font-size:24px;font-weight:900}.confirm-box h3{margin:15px 0 7px}.confirm-box p{margin:0 0 20px;color:var(--muted);font-size:13px;line-height:1.6}.confirm-box>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:9px}.confirm-box button{border:0;border-radius:10px;padding:11px;font-weight:750;cursor:pointer}.confirm-cancel{background:var(--v3-soft);color:var(--ink)}.confirm-accept{background:var(--v3-negative);color:#fff}
body.dark{--bg:#0d1020;--ink:#edf0fb;--muted:#959db4;--line:#292e43;--v3-card:#171b2c;--v3-soft:#202538;--v3-top:rgba(19,23,39,.9);background:#0d1020}body.dark .topbar{background:var(--v3-top)}body.dark .stats article,body.dark .report-grid article,body.dark .table-card,body.dark .empty,body.dark table,body.dark th,body.dark .table-head,body.dark input,body.dark select,body.dark textarea,body.dark .approval-week-nav,body.dark .approval-week-stats article,body.dark .summary-period{background:var(--v3-card)!important;color:var(--ink)}body.dark th{background:#202538!important}body.dark tbody tr:nth-child(even){background:#191e31}body.dark tbody tr:hover{background:#232441}body.dark .welcome{background:radial-gradient(circle at 85% 20%,#6e5ae64d,transparent 30%),linear-gradient(125deg,#171b32,#28224f)!important}body.dark .table-scroll:after{background:linear-gradient(90deg,transparent,var(--v3-card))}
@media(max-width:820px){.side-collapse{display:none}.sidebar-backdrop{position:fixed;inset:0;z-index:9;border:0;background:#080b18a8;backdrop-filter:blur(3px)}.menu-open .sidebar-backdrop{display:block}.topbar-title{display:none}.top-date{display:none}.user-trigger>span:nth-child(2),.user-trigger i{display:none}.user-trigger{padding:4px}.content{overflow:hidden}.panel-collapsed .sidebar{width:270px}.panel-collapsed .main{margin-left:0}.panel-collapsed .brand b,.panel-collapsed .sidebar nav a span,.panel-collapsed .sidebar nav small,.panel-collapsed .side-user>div:last-child{display:initial}.panel-collapsed .sidebar nav small{display:block}.panel-collapsed .sidebar nav a{justify-content:flex-start;font-size:13.5px}.table-scroll.mobile-cards{overflow:visible}.mobile-cards table,.mobile-cards tbody{display:block;min-width:0}.mobile-cards thead,.mobile-cards tfoot{display:none}.mobile-cards tr{display:grid;margin:11px;border:1px solid var(--line);border-radius:13px;background:var(--v3-card)!important;overflow:hidden}.mobile-cards td{display:grid;grid-template-columns:minmax(95px,38%) 1fr;align-items:center;gap:8px;height:auto;min-height:43px;padding:10px 13px;text-align:right;white-space:normal;border-bottom:1px solid var(--line)}.mobile-cards td:last-child{border-bottom:0}.mobile-cards td:before{content:attr(data-label);text-align:left;color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.55px;text-transform:uppercase}.mobile-cards td[colspan]{display:block;text-align:center}.mobile-cards td[colspan]:before{display:none}.mobile-cards td form{justify-self:end}.table-scroll:after{display:none}}
@media(max-width:480px){.topbar-actions{gap:5px}.theme-toggle{width:34px;height:34px}.mini-avatar{width:28px;height:28px}.topbar{padding:0 12px}.confirm-box{padding:23px}.page-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.top-report{position:relative;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--v3-card);color:var(--ink);font-size:18px}.top-report:after{content:"";position:absolute;right:7px;top:7px;width:6px;height:6px;border:2px solid var(--v3-card);border-radius:50%;background:#ff5267}
.table-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;border-bottom:1px solid var(--line);background:var(--v3-card)}.table-tools label{display:flex;align-items:center;gap:7px;width:min(300px,100%);padding:0 11px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:var(--v3-soft)}.table-tools input{width:100%;padding:9px 0!important;border:0!important;background:transparent!important;font-size:12px}.table-tools input:focus{box-shadow:none!important}.table-tools>span{color:var(--muted);font-size:11px}.table-tools button{width:25px;height:25px;border:1px solid var(--line);border-radius:7px;background:var(--v3-soft);color:var(--ink);cursor:pointer}.sortable{cursor:pointer;user-select:none}.sortable:after{content:" ↕";opacity:.38}.approval-form form,.expense-form form,.penalty-form form{gap:16px!important}.approval-form label,.expense-form label,.penalty-form label{line-height:1.45}.approval-form input,.approval-form select,.expense-form input,.expense-form select,.penalty-form input,.penalty-form select{min-height:43px;border-radius:10px!important}
@media(max-width:560px){.table-tools{align-items:stretch;flex-direction:column}.table-tools label{width:100%}.table-tools>span{text-align:right}}
body.dark.panel-body{color:var(--ink)}body.dark .content,body.dark .page-title h1,body.dark .page-title h2,body.dark .table-head h2,body.dark .empty h2,body.dark td,body.dark td b,body.dark label,body.dark .approval-form label,body.dark .expense-form label,body.dark .penalty-form label,body.dark .owner-add label,body.dark .summary-period strong,body.dark .approval-week-nav strong,body.dark .dashboard-stats strong,body.dark .quick-grid a,body.dark .user-trigger,body.dark .theme-toggle,body.dark .top-report{color:#edf0fb!important}body.dark .page-title p,body.dark .table-head p,body.dark .empty p,body.dark .formula,body.dark .subvalue,body.dark td small,body.dark .dashboard-stats span,body.dark .dashboard-stats small,body.dark .summary-grid article span,body.dark .approval-week-stats small,body.dark .side-user small{color:#aab2c8!important}body.dark .page-title>div>span{background:#2a254c;color:#b9aeff}body.dark .approval-view-tabs a,body.dark .report-button.secondary,body.dark .date-form input,body.dark .approval-week-nav input{background:#202538!important;border-color:#343a51!important;color:#dce1f2!important}body.dark .approval-view-tabs a.active{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}body.dark input::placeholder,body.dark textarea::placeholder{color:#747e99}body.dark select option{background:#171b2c;color:#edf0fb}body.dark .table-empty{color:#9ca5bd}body.dark .table-card table tbody tr:nth-child(even){background:#191e31!important}body.dark .table-card table tbody tr:hover{background:#252641!important}body.dark .table-card table tbody tr.today{background:#282448!important}body.dark .mobile-cards tr{background:#171b2c!important}body.dark .table-tools{background:#171b2c}body.dark .table-tools label,body.dark .table-tools button{background:#202538;color:#dce1f2;border-color:#343a51}body.dark .stats article:not(.balance-card),body.dark .member-stats article:not(.balance-card){background:#171b2c!important}body.dark .stats strong,body.dark .member-stats strong{color:#edf0fb}body.dark .balance-card{background:linear-gradient(135deg,#6754e8,#3e319e)!important}body.dark .fine,body.dark .penalty-value,body.dark .expense-value{color:#ff7d8d!important}body.dark .stat-positive{color:#53d9a1!important}body.dark .usd-inline{color:#a99cff!important}body.dark .logout{background:#242a3e;color:#d8deef}body.dark .confirm-box{background:#171b2c}body.dark .confirm-box h3{color:#edf0fb}body.dark .confirm-cancel{background:#252a3e;color:#edf0fb}
