:root{--bg:#f5f7fb;--ink:#1e293b;--muted:#8a94a6;--line:#e9edf3;--blue:#5265e8;--navy:#17233d;--green:#169d83;--orange:#dc8755}*{box-sizing:border-box}body{margin:0;font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg)}[v-cloak]{display:none}button,input,select,textarea{font:inherit}button{cursor:pointer;background:white;color:var(--ink);border:1px solid #e0e5ef;border-radius:9px;padding:9px 15px;transition:background .18s,transform .18s,box-shadow .18s}button:hover{background:#f0f3fc;box-shadow:0 3px 10px #18284b08}button:active{transform:scale(.98)}button:disabled{cursor:not-allowed;opacity:.5}button.primary{color:white;background:var(--blue);border-color:var(--blue);box-shadow:0 5px 12px #5265e823}button.primary:hover{background:#4355d6}.dark{background:var(--navy);color:#fff;border-color:var(--navy)}.dark:hover{background:#293a5a}input,select,textarea{border:1px solid #e1e6ee;border-radius:8px;background:#fff;padding:10px 12px;color:var(--ink);min-width:0;outline:none}input:focus,select:focus,textarea:focus{border-color:#7c89ed;box-shadow:0 0 0 3px #5265e812}label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#58647b}h1,h2,h3,p{margin:0}h1{font-size:29px;letter-spacing:-.8px;font-weight:650}h2{font-size:22px}h3{font-size:16px}small{font-size:12px}b{font-weight:600}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#98a3b6;margin-bottom:6px}.brand{font-size:23px;font-weight:750;letter-spacing:1px;color:#3b4b89}.brand small{font-size:9px;letter-spacing:2px;font-weight:500;margin-left:5px}.layout{display:flex;min-height:100vh}aside{width:216px;position:fixed;inset:0 auto 0 0;background:white;border-right:1px solid var(--line);padding:33px 20px;display:flex;flex-direction:column;z-index:5}aside .brand{margin:0 8px 40px}aside>button{display:flex;align-items:center;gap:13px;background:none;border:0;margin:4px 0;padding:12px 16px;text-align:left;color:#7a859b}aside>button span{flex:1}aside>button.active{background:#edf0ff;color:#5265d7;font-weight:600}.nav-caption{font-size:11px;color:#a1aaba;margin:20px 15px 8px}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:10px;padding-top:20px;border-top:1px solid var(--line)}.sidebar-bottom small{display:block;color:var(--muted)}.sidebar-bottom button{margin-left:auto;border:0;padding:8px}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#edf0fc;color:#5868d0}main{margin-left:216px;flex:1;min-width:0}header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid var(--line);background:#ffffffb3;font-size:12px}.crumb{padding:0 15px;color:#cbd1da}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#46b79e;margin-right:7px}.unit-pill{padding:5px 10px;background:#edf0f6;border-radius:5px;margin-left:15px;color:#6f7d94;font-size:10px;letter-spacing:1px}.workspace{padding:34px 38px;max-width:1800px;margin:auto;animation:enter .4s ease}.heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.heading p{margin-top:7px;font-size:13px}.actions{display:flex;gap:10px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:1.2fr 1fr 1fr .85fr;gap:18px;margin-bottom:26px}.stats article{padding:23px 23px 21px;border:1px solid var(--line);border-radius:14px;background:white;min-width:0}.stats article>div{font-size:12px;color:#7c879a;display:flex;justify-content:space-between;align-items:center}.stats strong{display:block;font-weight:650;font-size:27px;letter-spacing:-.7px;margin:15px 0 5px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.stats small{font-size:11px;color:#97a1b2}.stats em{font-size:12px;font-style:normal;font-weight:400;color:#9da6b6}.stats .balance{background:linear-gradient(115deg,#5367e8,#7984e8);border:0;box-shadow:0 8px 20px #5265e821;color:white}.stats .balance>div,.stats .balance small{color:#e2e5ff}.green{color:var(--green)}.orange{color:var(--orange)}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 4px 12px #283b5d02}.ledger-panel{padding:0;overflow:hidden}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.ledger-panel>.panel-title{padding:21px 24px 0;margin-bottom:13px}h3 small{font-size:11px;font-weight:400;color:#9ba4b4;margin-left:10px}.text-btn{background:transparent;border:0;padding:5px 6px;font-size:12px;color:var(--blue);white-space:nowrap}.danger{color:#bd7373}.filters{padding:0 24px 22px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.filters input,.filters select{font-size:12px;padding:8px 10px;max-width:250px}.filters .search{flex:1;min-width:220px}.filters button{padding:8px 14px;font-size:12px}.date-filter{display:flex;flex-direction:row;align-items:center;font-size:11px;color:#8793a8;gap:5px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-size:11px;letter-spacing:.3px;color:#8a94a8;font-weight:500;background:#f8fafc;padding:14px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:18px;font-size:12px;border-bottom:1px solid #f0f2f7}th:first-child,td:first-child{padding-left:24px}td small{display:block;color:#98a2b4;font-size:10px;margin-top:4px}tbody tr:hover{background:#fcfcff}.num{text-align:right;font-variant-numeric:tabular-nums}.amount{font-size:13px;font-weight:600}.bill-link{border:0;padding:0;background:none;font-size:11px;font-family:monospace;color:#65748f}.address span{display:block;max-width:160px;overflow:hidden;text-overflow:ellipsis}.tag{font-size:10px;border-radius:5px;padding:4px 7px}.income{background:#eaf7f2;color:#219c83}.expense{background:#fff2ea;color:#d78858}.status{font-size:10px;display:inline-flex;align-items:center;gap:5px}.status:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.done{color:#229e85}.pending{color:#d29a3a}.void{color:#97a0b0}.voided td{background:#fafbfc}.empty{text-align:center;padding:65px 24px;white-space:normal;color:#9ca6b7}.empty>div{font-size:35px;color:#b1bbee}.empty h3{color:#6e7b92;margin-bottom:8px}.empty button{margin-top:18px}.table-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 24px;font-size:11px;color:#9ca6b7}.table-footer>div{display:flex;gap:12px;align-items:center}.table-footer button{padding:5px 10px;font-size:11px}.footnote{font-size:11px;color:#a4adbc;margin-top:18px;text-align:right}.account-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}.account-card h2{overflow-wrap:anywhere}.account-card .note{min-height:40px;margin-top:9px;overflow-wrap:anywhere}.account-icon{width:38px;height:38px;display:grid;place-items:center;background:#eef0ff;color:#6573d9;border-radius:11px}.account-balance{border-top:1px solid var(--line);padding-top:20px;margin-top:10px}.account-balance small{color:#97a1b2}.account-balance strong{font-size:27px;display:block;overflow-wrap:anywhere}.account-split{display:flex;justify-content:space-between;font-size:11px;color:#8b97aa;margin:20px 0}.account-split b{display:block;margin-top:5px;overflow-wrap:anywhere}.full{width:100%;font-size:12px}.settings-form{max-width:650px}.settings-form label{margin:20px 0}.settings-form p{margin-top:8px;font-size:12px}.overlay{position:fixed;inset:0;background:#14203d66;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:20;padding:24px;animation:fade .15s ease}.modal{background:white;width:560px;max-width:100%;max-height:90vh;overflow:auto;padding:28px;border-radius:18px;box-shadow:0 24px 90px #111e3f30;animation:enter .2s ease}.modal .panel-title h2{margin-top:5px}.modal .panel-title>button{border:0;font-size:23px;padding:0 7px;color:#95a0b3}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wide{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:5px}.auth-overlay{z-index:30;background:#10192d80}.auth-modal{width:430px}.auth-modal p{margin:14px 0 20px;color:#8994a7;font-size:13px}.auth-modal label{margin-bottom:18px}.auth-modal .error{color:#ca5d5d}.toast-box{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#233354;color:white;padding:13px 24px;border-radius:10px;box-shadow:0 5px 25px #16223a30;z-index:100;max-width:90vw;font-size:13px}.toast-enter-active,.toast-leave-active{transition:opacity .2s}.toast-enter-from,.toast-leave-to{opacity:0}dl{display:grid;grid-template-columns:100px 1fr;font-size:13px;gap:13px}dt{color:#9ba4b5}dd{margin:0;overflow-wrap:anywhere}pre{white-space:pre-wrap;word-break:break-word;font-size:12px;background:#f6f8fc;padding:18px;border-radius:9px}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:white}.login-art{padding:48px 60px;background:linear-gradient(145deg,#eef0ff,#e7edfc 70%,#e7f4f1);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-art h1{font-size:54px;line-height:1.35;color:#293d6b;margin:22px 0}.login-art p{color:#7c8aab;line-height:2}.login-art>small{color:#8b98b5;letter-spacing:1px}.art-cards{display:flex;gap:12px;margin-top:35px}.art-cards span{padding:14px 17px;background:#ffffffa8;border:1px solid #fff;border-radius:12px;color:#6c7eaa;font-size:12px;box-shadow:0 8px 20px #5366a409}.login-form{width:350px;max-width:85%;align-self:center;justify-self:center}.login-form h2{font-size:28px;margin:13px 0 7px}.login-form label{margin-top:25px}.login-form button{width:100%;margin-top:30px}.login-form>p:last-child{font-size:11px;text-align:center;margin-top:22px}.install-wrap{max-width:820px;margin:45px auto;padding:0 24px}.install-wrap h1{margin-top:28px}.install-wrap>.muted{margin-bottom:25px}.install-wrap .form-grid{margin-top:25px}.loading-screen{display:grid;min-height:100vh;place-items:center;color:#6474d9;font-size:22px}@keyframes enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{from{opacity:0}to{opacity:1}}@media(min-width:1600px){.stats strong{font-size:32px}.address span{max-width:230px}}@media(max-width:1150px){aside{width:180px;padding:25px 13px}main{margin-left:180px}.workspace{padding:25px 22px}.heading{align-items:flex-start;flex-direction:column}.stats{gap:10px}.stats article{padding:18px}.stats strong{font-size:23px}.login-art{padding:35px}.login-art h1{font-size:42px}.art-cards{flex-wrap:wrap}}@media(max-width:760px){aside{position:sticky;top:0;width:100%;padding:10px 12px;flex-direction:row;align-items:center;gap:5px;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line)}aside .brand{margin:0 auto 0 0;font-size:19px}aside .brand small{display:none}aside>button{padding:7px 9px;margin:0;gap:5px;font-size:12px}aside>button small,.nav-caption,.sidebar-bottom{display:none}.layout{display:block}main{margin:0}header{height:50px;padding:0 18px}.workspace{padding:22px 15px}.heading{gap:18px;margin-bottom:22px}h1{font-size:26px}.actions{gap:7px}.actions button{font-size:12px;padding:9px 12px}.stats{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.stats strong{font-size:22px;margin-top:12px}.stats article{padding:17px}.filters{padding:0 15px 16px;gap:8px}.filters .search{min-width:100%;max-width:100%}.filters select{max-width:100%;flex:1}.date-filter{flex:1}.date-filter input{width:100%;max-width:none}.table-footer{padding:15px;align-items:flex-start;flex-direction:column}.footnote{text-align:left}.modal{padding:22px}.overlay{padding:14px}.form-grid{gap:14px}.login-wrap{display:flex;flex-direction:column}.login-art{padding:25px 25px 32px}.login-art h1{font-size:30px;margin:20px 0 8px}.login-art .eyebrow,.login-art>small,.art-cards,.login-art p{display:none}.login-form{padding:30px 0 50px}.auth-modal{width:100%}.account-grid{grid-template-columns:1fr}.install-wrap{margin:25px auto;padding:0 15px}.install-wrap .form-grid{grid-template-columns:1fr}.install-wrap .wide{grid-column:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
header .logout-small{border:0;background:none;color:#8a94a6;font-size:11px;padding:4px 8px;margin-left:8px}
@media(max-width:760px){.filters select{flex:1 1 110px;min-width:100px}.date-filter{flex:1 1 100%;width:100%}.date-filter input{flex:1}aside>button{flex-shrink:0}aside .brand{min-width:80px}.stats strong{font-size:21px}}
.inline-note{min-width:180px;max-width:260px;white-space:normal}.inline-note textarea{width:220px;max-width:100%;font-size:12px;resize:vertical}.note-display{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border:1px dashed transparent;background:transparent;max-width:250px;width:100%;padding:6px 8px;text-align:left;color:#8691a6;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.note-display:hover{border-color:#cad1ef;background:#f6f7ff;color:#5265e8}.note-display small{margin:0;color:#8b99cf}.row-actions{display:flex;flex-wrap:wrap;gap:3px;max-width:220px;min-width:170px}.install-wrap .panel>p{margin:20px 0}.install-wrap .panel>button{margin-right:8px}@media(max-width:760px){aside>button{font-size:11px;padding:6px 7px}.filters .search{max-width:none}}
/* v1.2: clear hierarchy, larger type and high-contrast totals */
:root{--ink:#17243c;--muted:#596a82;--blue:#3c52de;--green:#087e62;--orange:#c15b26;--line:#dfe5ef}body{font-size:16px;color:var(--ink)}h1{font-size:32px;font-weight:750}h2{font-size:23px}h3{font-size:19px}label{font-size:15px;color:#34465e}input,select,textarea{font-size:15px}input::placeholder,textarea::placeholder{color:#68758b}small{font-size:13px}header{font-size:14px}header .logout-small{font-size:14px;color:#475973}.workspace{padding:30px}.heading p{font-size:15px}.brand{font-size:25px;color:#2d42a3}aside>button{font-size:16px;color:#40516b}aside>button.active{background:#e7ecff;color:#283fc7}.nav-caption{font-size:12px;color:#61718b}.eyebrow{font-size:11px;color:#65758f}.stats article>div{font-size:15px;color:#34465e;font-weight:600}.stats strong{font-size:32px;font-weight:750;letter-spacing:-.4px}.stats small{font-size:13px;color:#53647e}.stats .balance>div,.stats .balance small{color:#f1f3ff}.stats em{font-size:15px;color:#586983}.stats .balance{background:linear-gradient(125deg,#334bd3,#6076ed)}.green{color:var(--green)}.orange{color:var(--orange)}th{font-size:14px;color:#41536f;font-weight:650;padding:16px;background:#f0f4fa}td{font-size:14px;padding:18px 16px}td small{color:#5f7189;font-size:12px}td b{font-weight:700}.amount,.strong-number{font-size:16px;font-weight:750}.bill-link{font-size:13px;color:#334d75}.status,.tag{font-size:13px;font-weight:650}.done{color:#077657}.pending{color:#9b6407}.text-btn{font-size:14px;font-weight:600;padding:7px 8px}.filters input,.filters select,.filters button{font-size:14px}.filters .search{max-width:none}.filters{gap:12px}.table-footer,.footnote{font-size:13px;color:#596c86}.table-footer{white-space:normal}.table-footer button{font-size:13px}.note-display{font-size:14px;color:#51637c}.inline-note textarea{font-size:14px}.note-display small{font-size:14px}.inline-note{min-width:150px;max-width:230px}.row-actions{max-width:220px}.employee-name{font-size:17px}.modal .eyebrow{margin-bottom:8px}.modal .form-grid{gap:20px}.modal input,.modal select,.modal textarea{font-size:16px}.toast-box{font-size:15px}.period-toolbar{margin-bottom:22px;padding:20px 24px;border:1px solid #cdd6ed;box-shadow:0 4px 14px #263e7607}.period-top{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.period-top strong{font-size:19px;color:#223f9c}.period-top .muted{font-size:13px;margin-left:14px}.period-shortcuts{display:flex;gap:7px;flex-wrap:wrap}.period-shortcuts button{font-size:14px;padding:6px 13px}.period-shortcuts .selected{background:#e8edff;color:#2e45c8;border-color:#aab8fa;font-weight:700}.period-form{display:flex;align-items:end;gap:12px;margin-top:15px;flex-wrap:wrap}.period-form label{gap:5px;font-size:13px}.period-form input{min-height:43px}.period-form>span{padding-bottom:10px;color:#687b95}.period-form small{padding-bottom:10px;color:#61708a}.dashboard-status{display:flex;justify-content:space-between;gap:15px;font-size:13px;color:#425572;margin-bottom:15px;flex-wrap:wrap}.dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:14px}.dashboard-stats article{padding:22px 24px}.dashboard-stats strong{font-size:34px;margin:12px 0 7px}.income-stat{border-top:3px solid #16866c!important}.expense-stat{border-top:3px solid #c9793f!important}.pending-stat{background:#fffcf5!important}.stat-action{border:0;padding:0;color:#87610a;background:transparent;font-size:14px;font-weight:600}.comparison-note{color:#5d6d83;font-size:13px;margin:12px 0 24px}.employee-overview .panel-title p{font-size:14px;margin-top:5px}.employee-overview .panel-title{align-items:center;margin-bottom:20px}.pending-value{padding:5px 8px;border-radius:6px;background:#fff0c9;color:#895400;font-weight:700}.confirm-overlay{z-index:30}.confirm-modal{width:460px}.confirm-modal p{margin:17px 0 23px;line-height:1.8}.confirm-modal label{margin-bottom:20px}.login-form .muted{font-size:14px}.login-form>p:last-child{font-size:13px}.loading-screen{font-size:24px}
@media(min-width:1600px){.workspace{padding:34px 42px}.dashboard-stats strong{font-size:38px}}@media(max-width:1100px){.workspace{padding:24px 20px}.period-top{align-items:flex-start}.period-top .muted{display:block;margin:3px 0 0}.dashboard-stats strong{font-size:28px}.stats strong{font-size:27px}}
@media(max-width:760px){body{font-size:15px}.workspace{padding:20px 14px}h1{font-size:29px}h2{font-size:21px}.heading{gap:15px}.heading p{font-size:14px}aside>button{font-size:13px;padding:8px}.brand{font-size:22px}header{font-size:13px;padding:0 14px}.stats{grid-template-columns:1fr 1fr}.stats article{padding:18px 15px}.stats article>div{font-size:14px}.stats strong,.dashboard-stats strong{font-size:25px}.stats small{font-size:12px}.period-toolbar{padding:17px 14px}.period-top strong{font-size:17px}.period-shortcuts button{font-size:13px;padding:6px 10px}.period-form{gap:8px}.period-form label{flex:1;min-width:120px}.period-form input{width:100%;min-width:0;font-size:14px}.period-form small{width:100%;padding:0;font-size:12px}.dashboard-status{font-size:12px}.employee-overview .panel-title{align-items:flex-start;flex-wrap:wrap}.employee-overview .panel-title button{font-size:13px}th{font-size:13px}td{font-size:14px}.filters input,.filters select,.filters button{font-size:14px}.text-btn{font-size:14px}.actions button{font-size:14px}.form-grid{grid-template-columns:1fr}.wide{grid-column:1/-1}.modal{padding:22px}.period-form button{font-size:14px}.table-footer{font-size:12px}.unit-pill{margin-left:6px}.crumb{padding:0 8px}.sidebar-bottom{display:none}}
.employee-overview th:first-child,.employee-overview td:first-child{position:sticky;left:0;z-index:1;box-shadow:4px 0 7px #24385e06}.employee-overview th:first-child{background:#f0f4fa}.employee-overview td:first-child{background:white}.employee-overview .table-wrap{scrollbar-width:thin}
.stats strong{white-space:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;max-width:100%}.stats strong::-webkit-scrollbar{height:3px}@media(max-width:760px){.dashboard-stats article:nth-child(-n+3){grid-column:1/-1}.dashboard-stats article:nth-child(-n+3) strong{font-size:31px}.dashboard-stats article:nth-child(-n+3){padding:20px}.dashboard-stats strong{line-height:1.4}}

.stats .count-line{font-size:16px;font-weight:700;margin-top:8px;opacity:1}.stats article small{display:block}.stats .balance .count-line{color:#fff}
