/* GAGEBU MONEY DESK V2 — local-first financial workspace */
:root{color-scheme:light;--navy:#122c35;--navy2:#193c44;--ink:#152c34;--text:#52636a;--muted:#87969b;--edge:#e1e9e7;--bg:#f4f7f6;--white:#fff;--teal:#127968;--teal-2:#0d5d52;--mint:#e7f5ee;--amber:#b77c21;--violet:#7967ab;--blue:#487caa;--shadow:0 10px 35px rgba(15,48,45,.045)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font-family:Pretendard,'Noto Sans KR','Apple SD Gothic Neo',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:14px;font-weight:450}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.38;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #81c6ae;outline-offset:2px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em}h1{font-size:32px;line-height:1.18;margin:7px 0 11px;font-weight:810}h2{font-size:16px;margin-bottom:6px;font-weight:780}h3{font-size:14px;margin-bottom:6px;font-weight:720}p{line-height:1.6;color:var(--text)}small{font-size:11px}.visually-hidden{position:absolute!important;clip:rect(0 0 0 0);height:1px;width:1px;overflow:hidden}.shell{min-height:100vh;display:flex;align-items:stretch}
.sidebar{position:sticky;top:0;height:100vh;width:247px;flex:none;background:var(--navy);color:#c1d5d0;padding:30px 16px 20px;display:flex;flex-direction:column;z-index:100}.logo{display:flex;gap:11px;align-items:center;margin:4px 10px 52px;color:white}.logo-mark{background:#c4efce;color:#163e36;border-radius:13px;width:41px;height:41px;font-size:27px;font-weight:850;display:grid;place-items:center;box-shadow:0 7px 22px #51e1a32b}.logo-type{font-size:19px;font-weight:820;letter-spacing:-1px;line-height:1.08}.logo-type small{display:block;font-size:8px;letter-spacing:2.5px;color:#88ada3;font-weight:700;margin-top:8px}.sidebar-section{color:#638780;font-size:10px;letter-spacing:2.3px;font-weight:850;padding:0 15px;margin:0 0 12px}.nav-stack{display:flex;flex-direction:column;gap:5px}.nav-link{border:0;background:none;text-align:left;display:flex;align-items:center;width:100%;padding:13px 14px;border-radius:10px;font-weight:660;font-size:13px;gap:13px;color:#afc9c1;min-height:45px}.nav-link:hover{background:#204651;color:#fff}.nav-link.active{background:#274e4d;color:#dafbdf}.nav-icon{font-size:19px;font-weight:400;display:inline-flex;align-items:center;justify-content:center;width:20px}.nav-link .nav-pill{margin-left:auto;color:#173e38;background:#a2dfbe;border-radius:6px;font-size:10px;font-weight:800;padding:3px 6px}.nav-link .nav-pill[hidden]{display:none}.nav-gap{margin-top:30px}.sidebar-foot{margin-top:auto;padding:17px 14px 0;border-top:1px solid #34515a;color:#aac0bb}.sidebar-foot b{font-size:12px;display:flex;align-items:center;gap:8px}.sidebar-foot b:before{content:'';width:8px;height:8px;border-radius:50%;background:#6ce0aa;box-shadow:0 0 0 4px #6ce0aa28}.sidebar-foot p{font-size:11px;color:#819e99;margin:7px 0 0 16px}.sidebar-close{display:none}
.main{min-width:0;flex:1}.topbar{height:78px;background:rgba(255,255,255,.89);border-bottom:1px solid var(--edge);padding:0 clamp(22px,4vw,56px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:80;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.top-left{display:flex;align-items:center;gap:13px;min-width:0}.crumb{font-size:12px;color:#94a5a3}.crumb strong{color:var(--ink);font-weight:720}.crumb .sep{color:#c3cfcd;padding:0 11px}.top-right{display:flex;align-items:center;gap:19px}.top-privacy{display:flex;gap:8px;align-items:center;font-size:11px;color:#7b928b;font-weight:650;white-space:nowrap}.top-privacy .privacy-icon{color:#148d72}.menu-toggle{display:none;border:0;background:transparent;font-size:22px;color:var(--ink)}.content{margin:auto;max-width:1660px;padding:42px clamp(22px,4vw,54px) 90px}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 29px}.page-head p{font-size:13px;color:#7b8c90;margin:0;line-height:1.65;max-width:800px}.eyebrow{color:var(--teal);font-size:10px;letter-spacing:2.4px;font-weight:850;text-transform:uppercase}.page-head .filter-row{margin:0}.page-head>select{min-width:158px}.filter-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:19px;align-items:center}.filter-row select,.filter-row input,.page-head select{background:white;border:1px solid #dbe6e1;border-radius:9px;min-height:39px;padding:9px 11px;color:#364e56;font-size:12px}.filter-row select{min-width:134px}.filter-row .search{min-width:260px;flex:1;max-width:430px}.btn{border:1px solid #d8e5df;background:#fff;color:#34544e;border-radius:10px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:40px;font-size:12px;font-weight:720;transition:.14s ease}.btn:hover{background:#f5faf8;border-color:#a7cbbf}.btn.primary{color:white;background:var(--teal);border-color:var(--teal)}.btn.primary:hover{background:var(--teal-2)}.btn.subtle{background:#f5f9f7}.btn.wide{width:100%;justify-content:space-between;margin:10px 0 0}.btn.wide span{font-size:18px}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.stat-card{background:#fff;border:1px solid var(--edge);padding:24px 23px 22px;border-radius:15px;box-shadow:var(--shadow);min-width:0;position:relative;overflow:hidden}.stat-card:after{content:'';width:73px;height:73px;right:-31px;top:-30px;background:#eaf4f1;border-radius:30px;position:absolute;transform:rotate(20deg)}.stat-card-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#6b8484;font-weight:760}.stat-card-top b{font-size:17px;color:#7eb6a6;z-index:1}.stat-card strong{display:block;margin-top:21px;color:var(--ink);font-size:26px;font-weight:830;letter-spacing:-.85px;white-space:nowrap}.stat-card small{display:block;color:#8ca0a0;margin-top:8px;font-size:11px}.stat-card.blue:after{background:#eef5fb}.stat-card.blue .stat-card-top b{color:var(--blue)}.stat-card.teal:after{background:#e9f7ef}.stat-card.teal .stat-card-top b{color:var(--teal)}.stat-card.violet:after{background:#f0eff9}.stat-card.violet .stat-card-top b{color:var(--violet)}.stat-card.amber:after{background:#fff6e4}.stat-card.amber .stat-card-top b{color:var(--amber)}.stat-card.amber strong{color:#a77529}
.dash-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(285px,1fr);gap:19px}.surface{background:white;border:1px solid var(--edge);border-radius:15px;box-shadow:var(--shadow);margin-bottom:19px;min-width:0;overflow:hidden}.surface-head{padding:25px 26px 12px;display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.surface-head h2{color:#213740;margin:0 0 7px}.surface-head p{font-size:11px;margin:0;color:#8da2a0}.category-chart{padding:17px 27px 25px}.chart-line{margin-bottom:18px}.chart-line:last-child{margin:0}.chart-meta{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#6e8184;margin-bottom:8px}.chart-meta strong{color:#233c43;font-weight:730}.chart-bar{height:8px;background:#eff3f2;border-radius:20px;overflow:hidden}.chart-bar i{height:100%;display:block;border-radius:20px;background:linear-gradient(90deg,#0c776c,#63bba0)}.summary-panel{padding-bottom:23px}.summary-line{border-bottom:1px solid #eff3f2;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:16px 26px;font-size:12px;color:#667e7e}.summary-line strong{color:var(--ink);font-size:13px;font-weight:780}.summary-panel>.btn{width:calc(100% - 52px);margin:15px 26px 0}.notice{margin:18px 25px;border-radius:11px;border:1px solid #e3eee8;padding:17px 18px;background:#f6faf7}.notice b{font-size:12px;color:#396d5a}.notice p{font-size:11px;margin:6px 0 0;color:#789187;line-height:1.7}.notice.compact{margin:22px 0 0}
.table-scroll{overflow:auto}.records-table{border-collapse:collapse;width:100%;min-width:840px}.records-table thead{background:#f8faf9}.records-table th{text-align:left;color:#91a09e;font-size:10px;font-weight:770;padding:14px 21px;white-space:nowrap;border-bottom:1px solid #e9f0ed}.records-table td{font-size:12px;padding:13px 21px;border-bottom:1px solid #eff2f1;vertical-align:middle;color:#53676c}.records-table tbody tr:hover{background:#fbfdfc}.records-table tbody tr:last-child td{border:0}.records-table td small{display:block;font-size:10px;color:#9aaaab;margin-top:5px}.records-table .date-col{color:#6a8385;white-space:nowrap;font-weight:630}.records-table .date-col small{font-weight:400}.records-table .merchant-col{min-width:190px}.records-table .merchant-col strong{font-size:12px;color:#213943;font-weight:720}.records-table .merchant-col small{max-width:250px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.records-table .payment-col{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.records-table .cat-text{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.records-table .amount-col{font-variant-numeric:tabular-nums;color:#233843;font-weight:790;white-space:nowrap}.records-table .right,.right{text-align:right}.tag{display:inline-block;border-radius:6px;padding:5px 7px;background:#f0f4f3;color:#6b7e7c;font-weight:760;font-size:10px;white-space:nowrap}.tag-personal{background:#eaf3fb;color:#537aa2}.tag-business{background:#e6f5ee;color:#16816d}.tag-windmoon{background:#f0edfa;color:#7763ae}.tag-review,.tag-warn{background:#fff4db;color:#a87d2a}.tag-excluded,.tag-muted{background:#f1f3f3;color:#849090}.tag-ok{background:#e6f7f0;color:#167960}.row-edit{border:1px solid #dbe9e2;color:#4a8373;background:#f9fcfa;border-radius:6px;padding:7px 10px;font-size:11px;font-weight:710;white-space:nowrap}.row-edit:hover{border-color:#83b8a7}.table-topline{padding:0 22px 18px;display:flex;justify-content:space-between;gap:12px;color:#7e918e;font-size:12px}.table-topline b,.table-topline strong{color:var(--ink)}.records-surface{padding-top:20px}.records-surface>.filter-row{padding:0 22px}.pager{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 21px;border-top:1px solid #edf2ef;color:#849893;font-size:11px}
.review-summary{display:flex;gap:11px;margin-bottom:28px}.review-summary>div{min-width:165px;background:#fff;border:1px solid var(--edge);padding:16px 22px;border-radius:12px;display:flex;flex-direction:column;gap:7px}.review-summary strong{font-size:22px;font-weight:830;letter-spacing:-.7px}.review-summary span{font-size:11px;color:#8c9c9b}.review-header{display:flex;justify-content:space-between;gap:10px;align-items:flex-end;margin:0 0 14px}.review-header h2{margin:0 0 4px}.review-header p{margin:0;font-size:11px;color:#93a29f}.shortcuts{font-size:10px;color:#8e9f9b;display:flex;align-items:center;gap:6px}kbd{background:white;border:1px solid #dbe6e0;border-radius:5px;padding:3px 6px;color:#48685d;font-size:11px;font-weight:700;box-shadow:0 1px 1px #becac21f}.review-list{display:flex;flex-direction:column;gap:12px}.review-card{border:1px solid #dfeae5;border-radius:14px;background:#fff;box-shadow:var(--shadow);padding:21px;display:flex;gap:20px;align-items:flex-start}.review-index{flex:none;background:#f1f7f5;border-radius:10px;color:#7b9c92;display:grid;place-items:center;width:40px;height:40px;font-size:13px;font-weight:730}.review-main{flex:1;min-width:0}.review-top{display:flex;align-items:baseline;justify-content:space-between;gap:15px}.review-top strong{font-size:16px;font-weight:800;color:#223942;word-break:break-word}.review-top span{white-space:nowrap;font-size:16px;color:#253d42;font-weight:790}.review-metadata{font-size:11px;color:#8c9d9c;margin-top:7px}.review-reason{font-size:11px;color:#aa7b35;margin:9px 0 16px}.review-choices{display:flex;flex-wrap:wrap;gap:8px}.choice{min-height:37px;background:#fff;border:1px solid #e2eae5;border-radius:8px;display:inline-flex;align-items:center;gap:7px;padding:8px 13px;font-size:12px;font-weight:760;color:#526d68}.choice b{width:17px;height:17px;display:grid;place-items:center;font-size:10px;border-radius:4px;color:#64867a;background:#ecf4f1}.choice.personal{background:#f0f6fc;color:#4e7caa;border-color:#d6e5f5}.choice.personal b{background:#dceaf7;color:#4f7da8}.choice.business{background:#e8f6ef;color:#107c64;border-color:#caead9}.choice.business b{background:#c6e8d8;color:#177960}.choice.windmoon{background:#f3f0fb;color:#7765a7;border-color:#e1d9f5}.choice.windmoon b{background:#e4dbf4;color:#7661a1}.choice.secondary{color:#70877d}.choice.exclude{color:#9ba5a1;border-color:#edf1ed}.choice:hover{filter:brightness(.97);transform:translateY(-1px)}.online-help{display:block;margin-top:12px;color:#94a29e}.match-flag{display:inline-flex;background:#fff6e4;color:#a97e2f;padding:7px 10px;border-radius:6px;font-size:11px;margin:0 0 13px}
.import-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.upload-panel{padding:24px}.step{display:flex;gap:15px;align-items:flex-start;margin-bottom:22px}.step>span{width:35px;height:35px;border-radius:9px;display:grid;place-items:center;background:var(--mint);color:var(--teal);font-size:12px;font-weight:850;flex:none}.step h2{margin:1px 0 6px}.step p{margin:0;font-size:12px;color:#87958f}.dropzone{border:1.8px dashed #a9d5c7;background:#f7fbf9;border-radius:12px;min-height:205px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:11px;padding:24px;cursor:pointer;transition:.15s}.dropzone:hover{border-color:#238e79;background:#eff9f4}.dropzone input{display:none}.dropzone .drop-icon{font-size:31px;color:#33957d;font-weight:400}.dropzone strong{font-size:14px;font-weight:790}.dropzone small{color:#94a6a0}.dropzone.secondary-drop{border-color:#bdcbd9;background:#f9fbfc}.dropzone.secondary-drop .drop-icon{color:#6d8da9}.import-detail{margin-top:16px;display:flex;flex-direction:column;gap:10px;font-size:11px;color:#82968d}.import-detail span:before{content:'✓';color:#24a57f;font-weight:800;margin-right:8px}.import-placeholder{text-align:center;padding:44px}.placeholder-icon{margin:auto auto 14px;border-radius:16px;background:#edf7f2;color:#2e9c7d;width:64px;height:64px;display:grid;place-items:center;font-size:27px}.import-placeholder h2{margin-bottom:7px}.import-placeholder p{margin:0;font-size:12px;color:#98a6a1}.import-stats{display:grid;grid-template-columns:repeat(4,1fr);padding:17px 25px;gap:14px}.import-stats>div{background:#f5f9f7;border-radius:9px;padding:18px 15px}.import-stats strong{display:block;font-size:23px;font-weight:820;color:#223b42}.import-stats span{display:block;font-size:11px;color:#8fa19a;margin-top:7px}.import-review{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:6px 25px 25px}.import-review h3{margin:10px 0 15px}.import-review .summary-line{padding:11px 0}.sample-line{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #eef3f0;padding:11px 0;font-size:11px}.sample-line span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sample-line small{display:block;color:#98a7a2;margin-top:4px}.sample-line b{white-space:nowrap}.import-actions{display:flex;justify-content:flex-end;gap:9px;padding:18px 25px;border-top:1px solid var(--edge)}
.rule-list{padding:0 26px 18px}.rule-item{display:flex;gap:15px;padding:17px 0;border-bottom:1px solid #edf1ef}.rule-item:last-child{border:0}.rule-index{font-size:10px;color:#9bafa7;padding-top:5px}.rule-item h3{margin:0 0 4px;color:#233b41}.rule-item strong{font-size:11px;color:#277868}.rule-item p{font-size:11px;margin:6px 0 0}.saved-rules{padding:0 25px 18px}.rule-saved{display:flex;align-items:center;gap:15px;padding:12px 0;border-bottom:1px solid var(--edge);font-size:12px}.rule-saved strong{margin-left:auto;color:var(--teal)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-box{padding:2px 24px 24px}.settings-box .surface-head{padding:22px 0 13px}.settings-box .summary-line{padding:14px 0}.text-link{display:block;font-size:12px;font-weight:720;color:var(--teal);padding-top:20px}.empty{text-align:center;color:#9aa9a3;font-size:12px;padding:40px 15px;line-height:1.8}.empty b{font-size:15px;color:#48685b}.empty p{font-size:12px;color:#96a69d}.empty.spacious{border:1px dashed #d5e3dd;background:#fff;border-radius:12px;padding:72px 18px}
.toast{position:fixed;z-index:400;left:50%;bottom:26px;opacity:0;pointer-events:none;transform:translate(-50%,20px);border-radius:11px;color:white;background:#183e3b;box-shadow:0 12px 35px #183e3b35;font-size:12px;padding:13px 18px;max-width:min(600px,calc(100vw - 30px));transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.editor{border:0;background:transparent;max-width:560px;width:calc(100% - 30px);max-height:min(88vh,850px);padding:0;overflow:auto;border-radius:16px;box-shadow:0 18px 70px #14372b44}.editor::backdrop{background:#152a2bd0;backdrop-filter:blur(3px)}.editor-head{padding:23px 27px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--edge)}.editor-head h2{font-size:18px;margin:0}.editor-close{border:0;background:transparent;color:#76918a;font-size:22px}.editor-form{padding:22px 27px 27px}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:750;color:#526a64}.field input,.field select,.field textarea{width:100%;border:1px solid #dce6e1;border-radius:8px;min-height:41px;padding:9px 11px;background:white;color:#203b40;font-size:13px}.field textarea{min-height:73px;resize:vertical}.editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.hidden{display:none!important}
@media(max-width:1280px){.sidebar{width:222px}.stat-card{padding:21px 17px}.stat-card strong{font-size:23px}.content{padding:28px 26px 80px}.dash-columns{grid-template-columns:minmax(0,1.25fr) minmax(270px,.9fr)}}
@media(max-width:970px){.sidebar{position:fixed;transform:translateX(-110%);width:257px;box-shadow:10px 0 50px #153c3836;transition:transform .2s}.sidebar.open{transform:translateX(0)}.sidebar-close{display:block;margin-left:auto;border:0;background:transparent;color:#a3c4b9;font-size:22px}.menu-toggle{display:block}.topbar{height:65px;padding:0 20px}.content{padding:29px 18px 70px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-columns{grid-template-columns:1fr}.review-summary>div{flex:1;min-width:0}.page-head{align-items:flex-start}.page-head .filter-row{max-width:380px}.import-grid{gap:13px}}
@media(max-width:650px){h1{font-size:25px}.page-head{display:block}.page-head p{font-size:12px}.page-head .filter-row,.page-head>select{margin-top:15px}.filter-row{gap:7px}.filter-row select{min-width:0;flex:1}.filter-row .search{max-width:none;min-width:100%;width:100%}.top-privacy{font-size:10px}.top-privacy .privacy-icon{display:none}.top-right{gap:8px}.stat-grid{gap:10px}.stat-card{padding:17px 14px}.stat-card strong{font-size:19px}.stat-card small{font-size:10px}.stat-card-top{font-size:11px}.surface-head{padding:19px 17px 12px}.category-chart{padding:11px 17px 22px}.summary-line{padding:13px 17px}.summary-panel>.btn{width:calc(100% - 34px);margin-left:17px}.notice{margin:13px 16px}.import-grid,.settings-grid,.import-review{grid-template-columns:1fr}.upload-panel{padding:18px}.dropzone{min-height:175px}.import-stats{grid-template-columns:1fr 1fr;padding:12px}.import-review{padding:10px 18px}.import-actions{padding:16px}.import-actions .btn{flex:1}.review-summary{flex-wrap:wrap}.review-summary>div{padding:12px 14px;flex:1 1 30%}.review-summary strong{font-size:17px}.review-summary span{font-size:10px}.review-header{display:block}.shortcuts{margin-top:10px}.review-card{padding:15px 13px;gap:10px}.review-index{width:30px;height:30px;font-size:11px}.review-top{display:block}.review-top strong{display:block;font-size:14px}.review-top span{display:block;margin-top:5px;font-size:15px}.review-choices{gap:6px}.choice{padding:8px 10px;font-size:11px;flex:1 1 28%;justify-content:center}.choice.secondary,.choice.exclude{flex:1 1 35%}.records-surface>.filter-row{padding:0 12px}.table-topline{padding:0 12px 15px;font-size:11px}.editor-form{padding:18px}.editor-head{padding:17px 18px}.editor-grid{gap:11px}.crumb .sep{padding:0 6px}.content{padding:22px 13px 60px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Guide source-ledger upload before importing bank transactions on first setup. */
.import-grid>.upload-panel:first-child{order:2}
.import-grid>.upload-panel:nth-child(2){order:1}

/* Monthly POS revenue input — separated from BankSalad expenditure */
.sales-month-control{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:750;color:#607b76;white-space:nowrap}
.sales-month-control input{min-height:41px;border:1px solid #d9e7e2;border-radius:9px;background:white;padding:9px 12px;color:var(--ink);font-size:13px}
.sales-metrics,.sales-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.sales-metrics>div,.sales-overview-grid>div{background:#fff;border:1px solid var(--edge);border-radius:12px;padding:18px 21px;min-width:0}
.sales-metrics span,.sales-overview-grid span{font-size:11px;color:#77908b;font-weight:690;display:block;margin-bottom:8px}
.sales-metrics strong,.sales-overview-grid strong{font-size:22px;letter-spacing:-.6px;white-space:nowrap;color:#173c38}
.sales-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}
.sales-form{background:white;border:1px solid var(--edge);box-shadow:var(--shadow);border-radius:14px;padding:25px;display:flex;flex-direction:column}
.sales-form-head{display:flex;gap:13px;align-items:flex-start;min-height:89px}
.sales-type-icon{width:43px;height:43px;border-radius:12px;background:#e5f4ec;color:#13816b;display:grid;place-items:center;font-size:22px;flex:none}
.sales-type-icon.lotto{background:#eeeefa;color:#7567aa}
.sales-form-head h2{margin:3px 0 5px;font-size:16px}
.sales-form-head p{font-size:11px;margin:0;color:#889c98;max-width:520px}
.sales-current{border-radius:9px;background:#f6faf8;display:flex;align-items:center;justify-content:space-between;padding:14px 17px;gap:10px;margin:0 0 19px}
.sales-current span{font-size:11px;color:#8ba098}
.sales-current strong{font-size:15px;color:#174f43}
.sales-input-label{font-size:12px;color:#59746d;font-weight:720;margin:0 0 7px}
.sales-form input{width:100%;border:1px solid #dbe7e0;background:#fff;border-radius:9px;min-height:44px;margin-bottom:17px;padding:10px 12px;font-size:14px;color:#27473d}
.sales-form input:focus{border-color:#5ab499}
.sales-form .btn{margin-top:auto}
.sales-conflict{background:#fff5e4;border:1px solid #f4dba7;border-radius:8px;font-size:11px;padding:11px;margin-bottom:12px;color:#a57627}
.sales-history td,.sales-history th{white-space:nowrap}
.sales-overview .surface-head{padding-bottom:7px}
.sales-overview-grid{padding:0 25px 22px;gap:11px;margin-bottom:0}
.sales-overview-grid>div{background:#f7faf8;padding:14px 18px}
.sales-overview-grid strong{font-size:20px}
@media(max-width:760px){.sales-forms{grid-template-columns:1fr}.sales-metrics,.sales-overview-grid{gap:8px}.sales-metrics>div,.sales-overview-grid>div{padding:13px}.sales-metrics strong,.sales-overview-grid strong{font-size:16px}.sales-overview-grid{padding:0 14px 18px}}
@media(max-width:440px){.sales-metrics{grid-template-columns:1fr}.sales-metrics>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.sales-metrics span{margin:0}.sales-metrics strong{font-size:17px}.sales-form{padding:17px}}

/* POS monthly and Lotto daily input enhancements */
.sales-profit-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f0f8f4;border:1px solid #d6eee1;border-radius:9px;padding:13px 14px;margin:0 0 18px;font-size:11px;color:#678779}
.sales-profit-preview strong{font-size:17px;color:#116855;letter-spacing:-.2px;white-space:nowrap;font-weight:820}
.lotto-metrics{margin-bottom:18px}
.lotto-rate{display:flex;align-items:center;gap:10px;color:#6c8580;font-size:12px;font-weight:690;white-space:nowrap}
.lotto-rate input{max-width:100px;min-height:36px;border:1px solid #d9e6df;border-radius:8px;padding:7px 10px;color:#264b42;background:#fff;font-size:13px}
.lotto-day-table{min-width:580px}
.lotto-day-table th{font-size:11px}
.lotto-day-table td{padding:9px 17px}
.lotto-day-table td:first-child{min-width:128px}
.lotto-day-table td:first-child b{font-size:12px;color:#35554c}
.lotto-day-table td small{font-size:10px;margin-top:2px}
.lotto-day-table td input{width:100%;min-width:130px;max-width:250px;height:35px;padding:8px 10px;border:1px solid #deebe5;border-radius:7px;color:#244339;background:#fff;font-variant-numeric:tabular-nums}
.lotto-day-table .lotto-pause{background:#f6f8fa}
.lotto-day-table .lotto-pause td:first-child b{color:#81929b}
.lotto-pause-tag{display:inline-block;color:#6b7e8a;font-size:10px;font-weight:750;background:#e9eef2;border-radius:4px;padding:2px 6px;margin:6px 0 0;white-space:nowrap}
.lotto-form-actions{padding:18px 23px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fbfdfc;border-top:1px solid #e9f0eb}
.lotto-form-actions span{font-size:11px;color:#81998c;line-height:1.5}
.lotto-form-actions button{white-space:nowrap}
.lotto-confirm{padding:8px 23px 24px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.lotto-confirm>.summary-line{flex-basis:100%;padding:12px 3px}
.lotto-confirm .incomplete-warning{color:#b48642;font-size:11px;flex-basis:100%;margin:0}
.finance-overview{margin-top:14px}
@media(max-width:650px){.sales-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.lotto-form-actions{flex-wrap:wrap;padding:16px}.lotto-form-actions button{width:100%}.lotto-confirm{padding:12px 16px 20px}.lotto-rate{margin-top:10px}.lotto-metrics strong{font-size:16px}}

/* V2 spreadsheet-like entry: keyboard navigation, dependent categories and cash purchases */
.sheet-entry .surface-head{align-items:center}
.sheet-date-label{display:flex;gap:9px;align-items:center;white-space:nowrap;font-size:11px;color:#6c847e;font-weight:720}
.sheet-date-label input{padding:8px 10px;min-height:38px;border:1px solid #d7e6df;border-radius:8px;color:#29483f}
.sheet-entry-scroll{overflow:auto;max-height:65vh;border-top:1px solid var(--edge);border-bottom:1px solid var(--edge)}
.sheet-entry-table{border-collapse:separate;border-spacing:0;min-width:1480px;width:100%;table-layout:fixed}
.sheet-entry-table thead{position:sticky;top:0;z-index:4;background:#f5f9f6}
.sheet-entry-table th{background:#f5f9f6;color:#718a82;text-align:left;font-size:11px;font-weight:750;padding:10px 8px;border-bottom:1px solid #dfe8e2}
.sheet-entry-table th:first-child{width:42px;padding:10px 8px;text-align:center}
.sheet-entry-table thead th:nth-child(2){width:138px}
.sheet-entry-table thead th:nth-child(3){width:126px}
.sheet-entry-table thead th:nth-child(4){width:105px}
.sheet-entry-table thead th:nth-child(5){width:122px}
.sheet-entry-table thead th:nth-child(6){width:145px}
.sheet-entry-table thead th:nth-child(7){width:120px}
.sheet-entry-table thead th:nth-child(8){width:185px}
.sheet-entry-table thead th:nth-child(9){width:134px}
.sheet-entry-table thead th:nth-child(10){width:186px}
.sheet-entry-table thead th:nth-child(11){width:57px}
.sheet-entry-table tbody th{font-size:11px;background:#fafcfb;color:#90a49d;text-align:center;border-bottom:1px solid #e7efea;position:sticky;left:0;z-index:1}
.sheet-entry-table td{padding:4px 5px;border-right:1px solid #eff3f1;border-bottom:1px solid #e7efea}
.sheet-entry-table tr:hover td{background:#f9fcfa}
.sheet-entry-table td input,.sheet-entry-table td select{display:block;min-width:0;width:100%;height:34px;border:1px solid transparent;background:transparent;border-radius:6px;padding:6px 8px;color:#24443a;font-size:12px}
.sheet-entry-table td input:hover,.sheet-entry-table td select:hover{border-color:#dbe9df;background:#fff}
.sheet-entry-table td input:focus,.sheet-entry-table td select:focus{border:1px solid #42a889;outline:2px solid #b8e2cf;background:#fff}
.sheet-entry-table .row-edit{min-height:31px;padding:4px 9px}
.sheet-toolbar{padding:16px 20px;display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:13px}
.sheet-toolbar-left{display:flex;flex-wrap:wrap;gap:7px;margin-right:auto}
#sheet-row-counter{font-size:12px;color:#789087}
@media(max-width:730px){.sheet-entry .surface-head{display:block}.sheet-date-label{margin-top:12px}.sheet-toolbar{padding:13px}.sheet-toolbar-left{width:100%}.sheet-toolbar-left .btn{flex:1}.sheet-toolbar #sheet-submit{width:100%}}

.bank-range{background:#f5faf7;border:1px solid #dcebe4;border-radius:12px;padding:15px;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 15px}.bank-range>strong,.bank-range>small{grid-column:1/-1}.bank-range>small{color:#7f9a90}.bank-range label{font-size:11px;font-weight:750;color:#527f72;display:flex;flex-direction:column;gap:6px}.bank-range input{background:white;border:1px solid #d1e3da;border-radius:7px;padding:9px;color:#274b40;min-width:0;width:100%}

/* Prepaid Onnuri tender flag: underlying BankSalad card remains visible for audit. */
.onnuri-choice{display:flex;align-items:center;gap:6px;white-space:normal;cursor:pointer;font-size:11px;color:#4a7267;font-weight:710;margin:8px 0 0;line-height:1.35}.onnuri-choice input{appearance:auto;accent-color:#148b6d;width:15px;height:15px;margin:0;flex:none;cursor:pointer}.payment-col .payment-main{font-size:12px;color:#25493f;font-weight:750}.payment-col .onnuri-choice{font-weight:650;color:#4b8270}.review-main>.onnuri-choice{width:fit-content;border:1px solid #daeae2;border-radius:8px;padding:8px 11px;background:#f7fbf8;margin:8px 0 15px}.review-main>.onnuri-choice:has(input:checked){border-color:#83c8a9;background:#e8f7ee;color:#106b4f}.field.full .editor-onnuri{display:flex;align-items:center;margin:0;padding:12px;border:1px solid #dbeae1;background:#f8fcf9;border-radius:8px}.field.full .editor-onnuri input{width:17px;height:17px;min-height:0;margin:0;flex:none}.field.full .editor-onnuri span{font-size:12px;color:#3b6958}.editor-card-hint{display:block;color:#879d92;margin-top:4px}

/* Individual deletion and test-data reset */
.row-actions{white-space:nowrap;min-width:112px}.row-actions button{margin-right:5px}
.row-delete{border:1px solid #f3d5d2;background:#fff7f5;color:#a75b55;border-radius:6px;padding:7px 10px;font-size:11px;font-weight:750;cursor:pointer;white-space:nowrap}
.row-delete:hover{border-color:#d99388;background:#ffedeb}
.choice.delete-choice{background:#fff8f7;color:#a7635c;border-color:#f1d8d3}
.btn.danger{background:#a9423b;color:white;border-color:#a9423b;font-weight:800}.btn.danger:hover{background:#8f352e;border-color:#8f352e}
.btn.danger-outline{background:#fff9f8;color:#a3443d;border-color:#ecc6be}
.btn.danger-outline:hover{background:#ffefec}
.editor-actions [hidden]{display:none!important}.editor-actions .danger-outline{margin-right:auto}
.reset-data{border-color:#efd2cb}.reset-body{padding:6px 25px 24px}.reset-body p{font-size:12px;color:#826c66;line-height:1.7;margin:13px 0 19px}
.reset-counts{display:flex;gap:8px;flex-wrap:wrap}.reset-counts span{border:1px solid #efe4df;border-radius:8px;background:#faf7f6;padding:9px 12px;font-size:11px;color:#826d67}.reset-counts b{color:#684139}
.lotto-day-table td:last-child{width:80px}
@media(max-width:650px){.reset-body{padding:8px 16px 20px}.reset-body>.btn{width:100%}.editor-actions{flex-wrap:wrap}}

/* Category administration and autocomplete inputs */
.tax-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.tax-grid>.surface{min-width:0}
.tax-body{padding:2px 22px 24px}
.tax-line{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid #ebf1ed;min-width:0}
.tax-line:last-child{border-bottom:0}.tax-line>input{flex:1;min-width:110px;height:36px;border:1px solid #dbe9e1;border-radius:7px;background:#fff;padding:7px 10px;font-size:12px;color:#285046}
.tax-line>code,.tax-line>b,.tax-line>span{font-size:11px;color:#719286;white-space:nowrap;min-width:66px}
.tax-line>.btn{flex:none;min-height:34px;padding:7px 10px;font-size:11px}
.tax-line>.danger-outline{padding:7px 8px;font-size:10px}
.tax-add{margin-top:12px;padding-top:16px;border-top:1px solid #e8f0ec}.tax-add input{background:#f8fbf9;border-style:dashed}
.tax-major{border:1px solid #e2ede7;border-radius:12px;margin:10px 0 15px;background:#fcfefd;padding:8px 12px 10px}
.tax-major>.tax-line{padding-top:7px}
.tax-minors{padding:0 0 1px 18px;border-left:2px solid #e3eee8;margin:3px 4px 6px 5px}
.tax-minors .tax-line{padding:7px 0 7px 12px}
.tax-minors .tax-line>span{color:#95a7a1}
.tax-section>.surface-head{padding-bottom:8px}
@media(max-width:850px){.tax-grid{grid-template-columns:1fr}}
@media(max-width:650px){.tax-body{padding:2px 13px 18px}.tax-line{flex-wrap:wrap}.tax-line>input{flex:1 1 55%;min-width:110px}.tax-line>.btn{flex:1 1 auto}.tax-minors{padding-left:4px;margin-left:0}.tax-major{padding:7px 9px}.tax-line>code,.tax-line>b,.tax-line>span{min-width:50px}}
