:root{color-scheme:light;--navy:#14293f;--navy-soft:#1d3854;--ink:#1f3045;--muted:#7b8999;--faint:#a8b1bc;--line:#e8edf1;--paper:#f5f7f8;--white:#fff;--green:#18a879;--green-dark:#0b8d62;--mint:#e5f6ef;--red:#d96968;--red-soft:#fff0ef;--blue:#547ed3;--amber:#b4832b;--shadow:0 24px 70px #172a4420;--radius:13px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #1ca77838;outline-offset:2px}[hidden]{display:none!important}.auth-screen{min-height:100vh;background:#f3f5f6}.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(370px,1fr) minmax(470px,1fr);max-width:1540px;margin:auto}.auth-intro{background:radial-gradient(ellipse at 76% 80%,#23564158,transparent 45%),linear-gradient(148deg,#10243b 0%,#17324a 52%,#163a42 100%);color:#fff;padding:38px clamp(34px,7vw,110px);display:flex;flex-direction:column;min-height:100vh;position:relative;overflow:hidden}.auth-intro:after{content:"";position:absolute;width:420px;height:420px;border:1px solid #ffffff0d;border-radius:50%;right:-120px;bottom:-140px;box-shadow:0 0 0 54px #ffffff05,0 0 0 112px #ffffff04,0 0 0 175px #ffffff03;pointer-events:none}.brand{display:inline-flex;align-items:center;gap:9px;color:var(--ink);font-size:23px;line-height:1;font-weight:760;letter-spacing:-1.1px;text-decoration:none;width:max-content}.brand-light{color:#fff}.brand-symbol{display:grid;place-items:center;width:34px;height:34px;color:#fff;background:var(--green);border-radius:10px;box-shadow:0 7px 15px #061c2650}.brand-symbol svg{width:23px;height:23px}.brand-dot{color:#22bb87}.brand-light .brand-dot{color:#43d7a5}.intro-copy{position:relative;z-index:1;margin:auto 0;max-width:475px;padding:65px 0 80px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.1px;color:var(--green-dark)}.light-eyebrow{color:#64d8aa}.intro-copy h1{font-size:clamp(35px,4vw,52px);letter-spacing:-1.8px;line-height:1.12;margin:18px 0 18px;font-weight:720}.intro-copy h1 span{color:#57d4a2}.intro-copy p{font-size:15px;line-height:1.8;color:#b4c2cb;max-width:420px;margin:0}.intro-bottom{position:relative;z-index:1;display:flex;align-items:center;gap:12px;padding-top:20px;border-top:1px solid #ffffff1d;color:#fff}.shield-mini{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#48d4a0;background:#ffffff12}.shield-mini svg{width:19px;height:19px}.intro-bottom b,.intro-bottom small{display:block}.intro-bottom b{font-size:11px}.intro-bottom small{color:#a8bac5;font-size:10px;margin-top:3px}.auth-card-wrap{padding:42px clamp(26px,5.5vw,86px);display:flex;align-items:center;justify-content:center;flex-direction:column}.auth-card{width:min(100%,430px);padding:36px 35px 25px;background:#fff;border:1px solid #e9edf0;border-radius:16px;box-shadow:0 12px 50px #192f4710}.auth-mobile-brand{display:none}.auth-heading{text-align:center;margin-bottom:26px}.auth-icon{width:48px;height:48px;border-radius:14px;background:#e9f7f1;color:var(--green-dark);display:grid;place-items:center;margin:0 auto 16px}.auth-icon svg{width:23px;height:23px}.auth-heading h2{font-size:20px;letter-spacing:-.45px;margin:0;color:#1e3045}.auth-heading p{color:var(--muted);font-size:11px;margin:7px auto 0;max-width:300px}.auth-form{display:grid;gap:15px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span{font-size:10px;font-weight:700;color:#43546a}.field em{font-style:normal;color:var(--red)}.field small{font-size:9px;color:#99a5b2}.field input,.field select,.field textarea{height:39px;padding:0 11px;background:#fff;border:1px solid #dfe6eb;border-radius:8px;color:#24384e;font-size:11px;outline:0;transition:.15s}.field textarea{height:auto;padding:9px 11px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#35b78b;box-shadow:0 0 0 3px #22ac7c17}.field input::placeholder,.field textarea::placeholder{color:#adb7c1}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.money-input{height:39px;border:1px solid #dfe6eb;border-radius:8px;display:flex;align-items:center;background:#fff;transition:.15s}.money-input:focus-within{border-color:#35b78b;box-shadow:0 0 0 3px #22ac7c17}.money-input>span{padding-left:11px;color:#8593a2;font-size:10px;font-weight:650}.money-input input{border:0!important;box-shadow:none!important;background:transparent;padding:0 9px 0 5px;width:100%;min-width:0;height:37px}.button{height:39px;border-radius:8px;padding:0 14px;border:1px solid transparent;font-size:11px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s,background .15s,box-shadow .15s;white-space:nowrap}.button:hover{transform:translateY(-1px)}.button svg{width:15px;height:15px}.button-primary{color:#fff;background:var(--green);border-color:var(--green);box-shadow:0 5px 12px #13a17020}.button-primary:hover{background:var(--green-dark);border-color:var(--green-dark);box-shadow:0 8px 18px #13a17035}.button-outline{color:#53647a;background:#fff;border-color:#dfe6eb}.button-outline:hover{background:#f8fafb}.button-wide{width:100%;height:43px;margin-top:2px}.secure-note{display:flex;align-items:flex-start;gap:9px;background:#f0f8f4;border:1px solid #deeee6;border-radius:8px;padding:10px 11px;color:#5d7569;font-size:9px;line-height:1.55}.secure-note svg{width:16px;height:16px;flex:none;color:#22936b;margin-top:1px}.note-neutral{background:#f8f9fa;border-color:#ebeff2;color:#7a8997}.note-neutral svg{color:#8090a0}.password-wrap{position:relative}.password-wrap input{width:100%;padding-right:40px}.show-password{position:absolute;right:7px;top:50%;transform:translateY(-50%);height:28px;width:30px;border:0;background:transparent;color:#8795a3;border-radius:6px;display:grid;place-items:center}.show-password:hover{background:#f0f3f5;color:#42566d}.show-password svg{width:16px}.auth-error,.form-error{color:#c5484d;font-size:10px;min-height:0}.auth-error:not(:empty),.form-error:not(:empty){padding:9px 10px;background:#fff0ef;border:1px solid #f8d7d5;border-radius:7px}.auth-secondary{display:flex;justify-content:center;align-items:center;gap:9px;color:#b7c0c9;font-size:10px;margin:0}.text-button{border:0;padding:0;background:transparent;color:#318d70;font-size:10px;font-weight:650}.text-button:hover{text-decoration:underline}.auth-secondary .text-button{font-size:9px;color:#78879a}.auth-foot{text-align:center;border-top:1px solid #edf0f2;padding-top:15px;margin-top:18px;font-size:9px;color:#a0abb6}.auth-mobile-note{display:none}.app-shell{min-height:100vh}.sidebar{width:242px;position:fixed;inset:0 auto 0 0;z-index:5;display:flex;flex-direction:column;background:var(--navy);color:#ccd5df;padding:25px 16px 18px}.sidebar-brand{color:#fff;padding:0 8px 28px}.workspace-label{font-size:9px;letter-spacing:1.2px;color:#8192a3;font-weight:750;padding:0 11px 10px}.side-nav{display:grid;gap:5px}.side-link{height:42px;padding:0 12px;border:0;border-radius:8px;background:transparent;display:flex;align-items:center;gap:11px;color:#c3ced9;text-align:left;font-size:11px;font-weight:550}.side-link svg{width:18px;height:18px;opacity:.8}.side-link:hover{background:#ffffff0b;color:#fff}.side-link.active{background:#ffffff16;color:#fff;box-shadow:inset 3px 0 #41d5a0}.sidebar-spacer{flex:1}.privacy-card{padding:14px 13px;margin:0 3px 18px;border:1px solid #ffffff18;background:#ffffff08;border-radius:10px}.privacy-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#18a87922;color:#4dd5a4;margin-bottom:10px}.privacy-icon svg{width:16px}.privacy-card strong{font-size:10px;color:#fff}.privacy-card p{font-size:9px;line-height:1.55;color:#9baabc;margin:4px 0 10px}.privacy-status{font-size:8px;color:#6fcca9;display:flex;align-items:center;gap:6px}.privacy-status i,.secure-dot{width:6px;height:6px;border-radius:50%;background:#32c797;display:inline-block;box-shadow:0 0 0 3px #2bc38d18}.profile-card{border-top:1px solid #ffffff1a;padding:15px 4px 0;display:flex;align-items:center;gap:9px}.profile-avatar{width:32px;height:32px;border-radius:50%;background:#e7edf6;color:#385a7a;display:grid;place-items:center;font-size:9px;font-weight:750}.profile-details{min-width:0;flex:1}.profile-details b,.profile-details span{display:block}.profile-details b{font-size:10px;color:#fff}.profile-details span{font-size:8px;color:#9caabd;margin-top:2px}.lock-button,.icon-button{width:32px;height:32px;border:1px solid #ffffff20;border-radius:8px;background:#ffffff0a;color:#b7c4d1;display:grid;place-items:center}.lock-button:hover{color:#fff;background:#ffffff15}.lock-button svg,.icon-button svg{width:15px;height:15px}.main-content{margin-left:242px;min-height:100vh}.topbar{height:66px;padding:0 35px;border-bottom:1px solid var(--line);background:#ffffffdb;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:4}.top-crumb{font-size:10px;color:#8995a3}.top-crumb span{color:#b8c0c9;margin:0 8px}.top-crumb b{font-weight:650;color:#314257}.top-actions{display:flex;align-items:center;gap:12px}.encrypted-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid #e0eee7;background:#f4faf7;color:#4e836b;padding:6px 9px;border-radius:20px;font-size:9px;font-weight:650}.encrypted-pill i{width:6px;height:6px;border-radius:50%;background:#26b17f}.header-add{height:35px;font-size:10px}.mobile-brand,.mobile-lock{display:none}.page-wrap{max-width:1440px;margin:auto;padding:31px 35px 42px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.page-heading h1{font-size:25px;line-height:1.2;letter-spacing:-.75px;color:#1c2e44;margin:6px 0 7px}.page-heading p{font-size:11px;color:var(--muted);margin:0}.period-picker{height:37px;min-width:155px;border:1px solid #dde5ea;border-radius:8px;background:#fff;display:flex;align-items:center;gap:8px;padding:0 10px;color:#8592a0}.period-picker svg{width:15px;height:15px;flex:none}.period-picker input{border:0;outline:0;background:transparent;color:#44566c;font-size:10px;font-weight:600;min-width:0;width:100%}.balance-banner{display:flex;align-items:center;gap:9px;border:1px solid #f1e2bd;background:#fffaee;padding:9px 12px;border-radius:8px;margin-bottom:15px;color:#876c35;font-size:10px}.balance-banner .text-button{margin-left:auto;white-space:nowrap;color:#9a7527}.notice-symbol{width:19px;height:19px;display:grid;place-items:center;flex:none}.notice-symbol svg{width:17px}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:14px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:15px 16px 13px;min-height:121px;box-shadow:0 2px 5px #182e4406}.metric-card-top{display:flex;align-items:center;justify-content:space-between;color:#778697;font-size:10px;font-weight:550}.metric-icon{width:29px;height:29px;background:#eff4f5;color:#587386;border-radius:8px;display:grid;place-items:center}.metric-icon svg{width:16px;height:16px}.income-icon{background:#e7f7ef;color:#22956d}.expense-icon{background:#fff0ee;color:#ca7772}.closing-icon{background:#eff1ff;color:#6c7bd0}.metric-amount{font-size:21px;letter-spacing:-.55px;font-weight:730;color:#22334a;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-opening .metric-amount,.metric-closing .metric-amount{color:#1c3851}.income-text{color:#208a65!important}.expense-text{color:#c86561!important}.metric-action{border:0;padding:0;background:transparent;color:#298e6d;font-size:9px;margin-top:4px;font-weight:650}.metric-action span{padding-left:3px}.metric-action:hover{text-decoration:underline}.metric-helper{font-size:9px;color:#9ba6b1;margin-top:5px}.content-grid{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(250px,.9fr);gap:13px;margin-bottom:14px}.surface{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 2px 5px #182e4406}.chart-surface{padding:17px 19px 12px;min-height:264px}.surface-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.surface-header h2{font-size:13px;letter-spacing:-.15px;margin:0;color:#263a50}.surface-header p{font-size:9px;color:#8a97a6;margin:4px 0 0}.chart-period{font-size:9px;color:#8e9aa7}.chart-legend{display:flex;gap:15px;margin:14px 0 5px;font-size:9px;color:#788697}.chart-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:7px;height:7px;border-radius:3px;display:inline-block}.legend-income{background:#27b98a}.legend-expense{background:#e78c84}.bar-chart{height:154px;padding:0 2px 0;border-bottom:1px solid #edf0f2;position:relative}.chart-svg{display:block;width:100%;height:154px;overflow:visible}.chart-grid{stroke:#edf1f3;stroke-width:1;stroke-dasharray:3 4}.chart-bar{transition:opacity .2s}.chart-bar:hover{opacity:.76}.income-bar{fill:#27b98a}.expense-bar{fill:#e78c84}.chart-month{font:9px Inter,"Segoe UI",system-ui,sans-serif;fill:#8c99a7}.insight-surface{padding:17px 18px 14px;min-height:264px}.insight-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#e8f7f0;color:#29956e}.insight-icon svg{width:17px}.insight-line{display:flex;align-items:center;justify-content:space-between;margin-top:16px;color:#8794a2;font-size:9px}.insight-line b{font-size:10px;font-weight:650;color:#42556c}.insight-line b.income-text,.insight-line b.expense-text{color:inherit!important}.insight-line b.income-text{color:#208a65!important}.insight-line b.expense-text{color:#c86561!important}.insight-divider{height:1px;background:#edf0f2;margin:14px 0 11px}.insight-total{display:flex;justify-content:space-between;align-items:center;color:#5b6e83;font-size:10px;font-weight:650}.insight-total b{font-size:14px;color:#183852;letter-spacing:-.2px}.insight-foot{display:flex;align-items:center;gap:7px;color:#99a5b1;font-size:8px;margin-top:15px}.insight-foot .secure-dot{width:5px;height:5px}.transactions-surface{overflow:hidden}.transactions-heading{padding:17px 19px 15px;align-items:center}.section-title-line{display:flex;align-items:center;gap:8px}.section-title-line h2{font-size:13px;margin:0}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:12px;background:#eff2f4;color:#718092;font-size:9px;font-weight:700}.transactions-heading p{margin-top:4px}.export-button{height:32px;font-size:9px}.table-toolbar{display:flex;align-items:center;gap:8px;padding:10px 19px;border-block:1px solid #edf0f2}.search-box{height:32px;position:relative;max-width:250px;width:100%}.search-box svg{position:absolute;left:9px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:#9ca7b2}.search-box input{height:100%;width:100%;padding:0 10px 0 30px;border:1px solid #e2e8ed;border-radius:7px;outline:0;font-size:10px;color:#3c4e63}.search-box input:focus{border-color:#35b78b;box-shadow:0 0 0 3px #22ac7c17}.search-box input::placeholder{color:#a3adb8}.table-toolbar select{height:32px;border:1px solid #e2e8ed;border-radius:7px;background:white;padding:0 25px 0 9px;color:#66778b;font-size:9px;outline:0}.table-wrap{width:100%;overflow:auto}.transactions-table{width:100%;min-width:880px;border-collapse:collapse}.transactions-table th{padding:10px 11px;background:#fbfcfd;color:#94a0ac;text-align:left;font-size:8px;font-weight:750;letter-spacing:.55px;border-bottom:1px solid #edf0f2;white-space:nowrap}.transactions-table td{padding:10px 11px;border-bottom:1px solid #f0f2f4;font-size:9px;color:#66768a;white-space:nowrap}.transactions-table th:first-child,.transactions-table td:first-child{padding-left:19px}.transactions-table th:last-child,.transactions-table td:last-child{padding-right:16px}.transactions-table tr:last-child td{border-bottom:0}.transactions-table tbody tr:hover{background:#fbfdfc}.transactions-table .numeric{text-align:right}.transaction-name{display:block;font-size:10px;font-weight:650;color:#30435a}.transaction-account{display:block;font-size:8px;color:#9ba6b1;margin-top:2px}.transaction-category{display:inline-block;border-radius:14px;background:#f0f3f6;color:#64768a;padding:4px 8px;font-size:8px}.type-label{display:inline-flex;align-items:center;gap:5px;font-size:8px}.type-label:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.type-label.income{color:#278b67}.type-label.expense{color:#c86d68}.amount-positive{font-weight:650;color:#238b66!important}.amount-negative{font-weight:650;color:#c86d68!important}.running-balance{font-weight:650;color:#43566c!important}.row-actions{display:flex;align-items:center;gap:3px;opacity:.14;transition:.13s}.transactions-table tr:hover .row-actions{opacity:1}.row-action{width:23px;height:23px;border:0;background:transparent;color:#8190a0;border-radius:6px;display:grid;place-items:center}.row-action:hover{background:#eff7f3;color:#258a68}.row-action svg{width:12px}.table-empty{text-align:center;padding:40px 14px 43px;color:#8996a4}.empty-icon{width:42px;height:42px;border-radius:13px;background:#ecf7f2;color:#27936d;display:grid;place-items:center;margin:0 auto 11px}.empty-icon svg{width:21px}.table-empty h3{font-size:11px;color:#384c62;margin:0 0 4px}.table-empty p{font-size:9px;max-width:300px;margin:0 auto 13px}.table-empty .button{height:33px;font-size:9px}.table-footer{border-top:1px solid #edf0f2;padding:9px 17px;display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#929eab}.pagination{display:flex;align-items:center;gap:7px}.pagination button{width:23px;height:23px;border:1px solid #e5eaee;border-radius:6px;background:#fff;color:#69798d;font-size:14px;line-height:1}.pagination button:disabled{opacity:.4;cursor:default}.pagination span{color:#7f8c9b}.page-footer{padding:14px 2px;display:flex;align-items:center;justify-content:space-between;color:#9aa5b1;font-size:8px}.page-footer span{display:flex;align-items:center;gap:7px}.page-footer .secure-dot{width:5px;height:5px}.page-footer .text-button{font-size:8px;color:#75869a}.modal-backdrop{position:fixed;inset:0;z-index:20;background:#11243bc0;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:18px}.modal-card{width:min(580px,100%);max-height:min(92vh,800px);overflow:auto;background:#fff;border:1px solid #ffffff70;border-radius:14px;box-shadow:var(--shadow);animation:modal-rise .18s ease}.modal-compact{width:min(500px,100%)}@keyframes modal-rise{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:20px 22px 15px;border-bottom:1px solid #edf0f2;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.modal-header h2{font-size:17px;letter-spacing:-.4px;margin:5px 0 4px;color:#24374d}.modal-header p{font-size:9px;color:#8b98a6;margin:0}.modal-close{width:28px;height:28px;border:0;border-radius:7px;background:#f2f5f6;color:#758498;font-size:21px;line-height:1;display:grid;place-items:center}.modal-close:hover{background:#e8edf0;color:#32475d}.modal-content{padding:18px 22px}.type-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}.type-choice{height:38px;border:1px solid #e2e8ec;border-radius:8px;background:#fff;color:#7b8998;font-size:10px;font-weight:650;display:flex;align-items:center;justify-content:center;gap:7px}.type-choice.selected.income-choice{border-color:#b8e5d2;background:#f0faf5;color:#24875f}.type-choice.selected.expense-choice{border-color:#f2ceca;background:#fff4f3;color:#c36561}.type-choice-icon{width:19px;height:19px;border-radius:6px;background:#f2f4f6;display:grid;place-items:center;font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 12px}.field-wide{grid-column:1/-1}.field small{font-weight:400;color:#9ba6b2}.form-error{margin-top:7px}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 22px;border-top:1px solid #edf0f2}.modal-actions .form-hint{margin-right:auto;color:#9ba6b2;font-size:8px}.money-large{height:43px}.money-large input{height:41px}.opening-month-field{margin-top:13px}.settings-list{padding:5px 22px 14px}.setting-row{width:100%;display:flex;align-items:center;gap:10px;padding:12px 2px;border:0;border-bottom:1px solid #eef1f3;background:transparent;text-align:left}.setting-row:last-of-type{border-bottom:0}.setting-row:hover{background:#fbfcfc}.setting-icon{width:30px;height:30px;border-radius:8px;background:#f0f5f4;color:#557c71;display:grid;place-items:center;flex:none}.setting-icon svg{width:16px}.setting-row>span:nth-child(2){flex:1}.setting-row b,.setting-row small{display:block}.setting-row b{font-size:10px;color:#3a4d62}.setting-row small{font-size:8px;color:#929eab;margin-top:3px}.setting-arrow{font-size:14px;color:#a5afb9}.setting-danger .setting-icon{background:#fff1ef;color:#ca6c69}.setting-danger b{color:#b95958}.settings-actions{justify-content:space-between}.guide-copy{display:grid;gap:15px}.guide-point{display:grid;grid-template-columns:26px 1fr;gap:9px}.guide-point>span{width:23px;height:23px;border-radius:7px;background:#eaf7f0;color:#268b68;display:grid;place-items:center;font-size:8px;font-weight:750}.guide-point b{font-size:10px;color:#3a4d62}.guide-point p{font-size:9px;color:#8491a0;line-height:1.65;margin:4px 0 0}.toast{position:fixed;z-index:40;right:23px;bottom:22px;background:#19334c;color:#fff;padding:10px 14px 10px 11px;border-radius:9px;box-shadow:0 10px 30px #14293e30;display:flex;align-items:center;gap:8px;font-size:10px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}.toast-check{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#1baa7c}.toast-check svg{width:11px}
@media(max-width:1120px){.sidebar{width:215px}.main-content{margin-left:215px}.page-wrap{padding:27px 23px 34px}.topbar{padding:0 24px}.metrics-grid{gap:9px}.metric-card{padding:13px}.metric-amount{font-size:19px}.content-grid{grid-template-columns:minmax(0,1.5fr) minmax(230px,.9fr)}}
@media(max-width:820px){.auth-layout{grid-template-columns:1fr;max-width:600px}.auth-intro{display:none}.auth-card-wrap{min-height:100vh;padding:30px 18px;background:radial-gradient(ellipse at top right,#e0f4eb 0,transparent 42%),#f3f5f6}.auth-mobile-brand{display:flex;align-items:center;gap:8px;justify-content:center;color:var(--ink);font-size:23px;font-weight:760;letter-spacing:-1px;margin-bottom:25px}.auth-mobile-note{display:flex;align-items:center;gap:7px;color:#849291;font-size:9px;margin-top:17px}.sidebar{width:62px;padding:18px 7px}.sidebar-brand{padding:0 6px 23px}.sidebar-brand>span:last-child,.workspace-label,.side-link span,.privacy-card,.profile-details{display:none}.side-link{justify-content:center;padding:0}.side-link svg{width:19px}.profile-card{justify-content:center;padding:12px 0 0;flex-wrap:wrap}.lock-button{width:30px;height:30px}.profile-avatar{display:none}.main-content{margin-left:62px}.topbar{height:59px;padding:0 15px}.top-crumb{display:none}.mobile-brand{display:flex;align-items:center;gap:7px;color:var(--ink);font-size:19px;font-weight:760;letter-spacing:-.8px}.mobile-brand .brand-symbol{width:29px;height:29px;border-radius:8px}.mobile-brand .brand-symbol svg{width:20px}.encrypted-pill{display:none}.mobile-lock{display:grid;border-color:#e1e8eb;background:#fff;color:#61748a}.page-wrap{padding:23px 15px 30px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}.chart-surface{min-height:245px}.insight-surface{min-height:0}.insight-line{margin-top:12px}.insight-divider{margin:11px 0}.insight-foot{margin-top:10px}.header-add{height:33px;padding:0 10px;font-size:9px}}
@media(max-width:540px){.auth-card{padding:29px 20px 21px}.auth-card-wrap{padding:23px 14px}.auth-heading h2{font-size:18px}.auth-heading{margin-bottom:21px}.form-row{gap:9px}.main-content{margin-left:0;padding-bottom:56px}.sidebar{position:fixed;inset:auto 0 0 0;width:100%;height:56px;flex-direction:row;justify-content:center;padding:5px 17px;background:#14293ff5;backdrop-filter:blur(12px);border-top:1px solid #ffffff1a}.sidebar-brand,.workspace-label,.sidebar-spacer,.privacy-card,.profile-card{display:none}.side-nav{width:100%;display:flex;justify-content:space-around;gap:8px}.side-link{height:42px;min-width:76px;flex-direction:column;justify-content:center;gap:1px;padding:2px 8px;font-size:7px;color:#b8c5d2}.side-link span{display:block}.side-link svg{width:17px;height:17px}.side-link.active{box-shadow:inset 0 2px #41d5a0}.topbar{padding:0 12px}.top-actions{gap:7px}.header-add{height:32px;padding:0 9px}.header-add svg{width:14px}.header-add span{font-size:8px}.mobile-lock{width:30px;height:30px}.page-wrap{padding:19px 11px 25px}.page-heading{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:15px}.page-heading h1{font-size:22px}.page-heading p{font-size:10px}.period-picker{height:34px;min-width:149px}.metrics-grid{gap:8px;margin-bottom:10px}.metric-card{padding:11px 11px 10px;min-height:105px}.metric-card-top{font-size:8px}.metric-icon{width:25px;height:25px}.metric-icon svg{width:14px}.metric-amount{font-size:17px;margin-top:6px}.metric-action,.metric-helper{font-size:8px}.content-grid{gap:9px;margin-bottom:10px}.chart-surface,.insight-surface{padding:14px 13px}.surface-header h2{font-size:12px}.surface-header p{font-size:8px}.chart-period{font-size:8px}.bar-chart{height:137px;gap:4px}.chart-legend{font-size:8px;margin-top:12px}.chart-bar{width:17px}.transactions-heading{padding:14px 12px 12px}.transactions-heading p{font-size:8px}.export-button{height:29px;padding:0 8px;font-size:8px}.export-button svg{width:13px}.table-toolbar{padding:8px 11px}.search-box{height:30px}.table-toolbar select{height:30px}.transactions-table{min-width:850px}.transactions-table th:first-child,.transactions-table td:first-child{padding-left:12px}.table-empty{padding:34px 10px}.table-footer{padding:8px 11px}.page-footer{font-size:7px}.page-footer .text-button{font-size:7px}.modal-backdrop{padding:10px}.modal-card{max-height:94vh}.modal-header{padding:17px 15px 12px}.modal-header h2{font-size:15px}.modal-content{padding:14px 15px}.modal-actions{padding:10px 15px}.form-grid{gap:11px 8px}.field>span{font-size:9px}.field input,.field select{height:36px;font-size:10px}.money-input{height:36px}.money-input input{height:34px}.setting-list{padding-left:15px;padding-right:15px}.balance-banner{align-items:flex-start;font-size:8px;padding:8px}.balance-banner .text-button{font-size:8px}.notice-symbol{margin-top:1px}}

/* Akun kas/rekening dan ekspor laporan */
.page-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.account-picker{height:37px;min-width:170px;border:1px solid #dde5ea;border-radius:8px;background:#fff;display:flex;align-items:center;gap:8px;padding:0 10px;color:#8592a0}.account-picker svg{width:15px;height:15px;flex:none}.account-picker select{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#44566c;font-size:10px;font-weight:600}.account-manage{height:37px;font-size:10px}.export-actions{display:flex;align-items:center;gap:7px}.transactions-table{min-width:1020px}.wallet-chip{display:inline-flex;align-items:center;max-width:130px;padding:4px 8px;border:1px solid #e4eee9;border-radius:20px;background:#f5faf7;color:#4b7967;font-size:8px;font-weight:650;overflow:hidden;text-overflow:ellipsis}.account-list-content{padding-top:15px}.wallet-list{display:grid;gap:8px;max-height:48vh;overflow:auto;padding:1px 2px 3px}.wallet-card{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #e8edf0;border-radius:10px;background:#fff}.wallet-card-icon{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:9px;background:#eef7f2;color:#21835f;font-size:17px;font-weight:700}.wallet-card-main{min-width:0;flex:1}.wallet-card-heading{display:flex;align-items:center;gap:7px;margin-bottom:3px}.wallet-card-heading b{max-width:185px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#35485d;font-size:10px}.wallet-card-heading span{padding:2px 6px;border-radius:10px;background:#f2f5f6;color:#84919d;font-size:8px}.wallet-card-main small{display:block;color:#8b98a5;font-size:8px;line-height:1.6}.wallet-card-main strong{color:#43566c;font-weight:650}.wallet-card-actions{display:flex;align-items:center;gap:2px}.wallet-card-actions .row-action{width:27px;height:27px}.wallet-card-actions .row-action:disabled{opacity:.28;cursor:not-allowed}.wallet-add-button{width:100%;margin-top:10px;border-style:dashed;color:#347b65}.account-list-note{margin:10px 1px 0;color:#94a0ac;font-size:8px;line-height:1.6}
@media(max-width:820px){.page-controls{justify-content:flex-start}.account-picker{min-width:150px}.account-manage{height:34px}}
@media(max-width:540px){.page-controls{width:100%;justify-content:stretch;gap:7px}.account-picker{min-width:0;flex:1;height:34px}.account-picker select{font-size:9px}.account-manage{height:34px;padding:0 10px;font-size:9px}.period-picker{flex:1;min-width:130px}.export-actions{gap:5px}.export-button{padding:0 8px}.export-csv-button{min-width:38px}.wallet-card{gap:7px;padding:9px}.wallet-card-icon{width:30px;height:30px}.wallet-card-heading b{max-width:125px}.wallet-card-actions{gap:0}.wallet-card-actions .row-action{width:24px;height:24px}}

/* Bukti transaksi, rincian barang, kategori, dan nominal */
.field input[readonly]{background:#f5f7f8;color:#617286}.field input[type=file]{height:auto;min-height:39px;padding:9px;background:#fff;border:1px dashed #ccd8dc;border-radius:8px;color:#647589;font-size:10px}.total-hint{display:block;color:#99a5b1;font-size:8px;margin-top:-2px}.receipt-preview{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid #e5ece9;border-radius:9px;background:#f8fbf9}.receipt-preview img{width:88px;height:76px;object-fit:cover;border-radius:7px;background:#e9eef0}.receipt-preview b,.receipt-preview small{display:block}.receipt-preview b{color:#43566c;font-size:10px}.receipt-preview small{color:#8d9aa6;font-size:8px;margin:3px 0 5px}.receipt-preview .text-button{font-size:9px}.transaction-spec{display:block;max-width:220px;margin-top:3px;color:#82909e;font-size:8px;white-space:normal}.proof-chip{display:block;margin-top:5px;padding:0;border:0;background:transparent;color:#218767;font-size:8px;font-weight:700}.proof-chip:hover{text-decoration:underline}.proof-modal-card{width:min(820px,100%)}.proof-viewer{display:grid;place-items:center;max-height:72vh;overflow:auto;padding:16px;background:#f2f5f6}.proof-viewer img{display:block;max-width:100%;max-height:68vh;object-fit:contain;border-radius:6px}.category-manager{display:grid;gap:12px}.category-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px}.category-tab{height:36px;border:1px solid #e1e8eb;border-radius:8px;background:#fff;color:#738194;font-size:10px;font-weight:650}.category-tab.selected{border-color:#b8e5d2;background:#f0faf5;color:#21845f}.category-add-row{display:flex;gap:7px}.category-add-row input,.category-edit-row input{width:100%;min-width:0;height:37px;padding:0 10px;border:1px solid #dfe6eb;border-radius:8px;background:#fff;color:#34485e;font-size:10px}.category-add-row .button{height:37px}.category-list{display:grid;gap:7px;max-height:36vh;overflow:auto;padding-right:2px}.category-edit-row{display:flex;align-items:center;gap:7px}.category-edit-row .row-action{width:32px;height:32px;flex:none}.category-manager .form-hint{color:#99a5b1;font-size:8px}.proof-viewer{min-height:140px}
@media(max-width:540px){.receipt-preview img{width:76px;height:68px}.proof-modal-card{max-height:90vh}.proof-viewer{padding:9px;max-height:70vh}.proof-viewer img{max-height:66vh}.category-add-row input,.category-edit-row input{font-size:10px}}

/* Login dan sinkronisasi lintas perangkat */
.cloud-entry-link{justify-self:center;text-align:center;font-size:9px}.auth-form .cloud-entry-link{margin-top:1px}.cloud-content{display:grid;gap:12px}.cloud-content #cloudAuthView{display:grid;gap:12px}.cloud-auth-tabs{margin-bottom:0}.cloud-password-field input{height:39px;padding:0 11px;background:#fff;border:1px solid #dfe6eb;border-radius:8px;color:#24384e;font-size:11px}.cloud-status-panel{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid #deeee6;border-radius:9px;background:#f2f9f5}.cloud-status-panel .secure-dot{flex:none;margin-top:5px}.cloud-status-panel b{display:block;color:#3f5f51;font-size:10px}.cloud-status-panel p{margin:4px 0 0;color:#74867d;font-size:9px;line-height:1.6}.cloud-action-list{display:grid;gap:7px}.cloud-action-list .button{width:100%;justify-content:center}.cloud-action-list #cloudUnlinkButton{color:#a95d5a;border-color:#edd6d4}.cloud-action-list #cloudUnlinkButton:hover{background:#fff7f6}
