.auth-locked .app-shell,.auth-locked #toast{display:none}#authScreen{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:var(--surface)}.auth-art{padding:7vh 8%;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at 20% 0,#6963cf66,transparent 60%),#121b30;color:#f2f4ff}.auth-brand{font-size:36px;font-weight:800;display:flex;align-items:center;gap:15px;margin-bottom:60px}.auth-brand span{font-size:17px;letter-spacing:-.5px}.auth-pill{font-size:10px;letter-spacing:2px;color:#a6b0ff}.auth-art h1{font-size:clamp(32px,4vw,58px);line-height:1.13;letter-spacing:-2px;margin:22px 0}.auth-art p{color:#a7b5cc;max-width:460px;font-size:15px;line-height:1.8}.auth-stats{display:flex;flex-wrap:wrap;gap:16px;margin-top:30px;font-size:11px;color:#c2caff}.auth-stats span{padding:8px 12px;border:1px solid #3b4560;border-radius:20px}.auth-form{align-self:center;max-width:510px;width:100%;padding:45px;margin:auto}.auth-form h2{font-size:28px;margin:8px 0}.auth-form p{color:var(--muted)}.auth-form form{display:grid;gap:17px;margin:30px 0}.auth-form label,.settings-form label,.cost-market-grid label{display:grid;gap:8px;font-size:12px;font-weight:600}.auth-form input,.settings-form input,.settings-form select,.cost-market-grid input,.cost-market-grid textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--surface2);color:var(--ink);font:inherit}.auth-form .button{padding:14px;font-size:13px}#loginError{color:#da5772;font-size:12px}.auth-form small{display:block;color:var(--muted);font-size:11px;margin-top:25px}.auth-form details{color:var(--muted);font-size:12px}.nav-advanced{margin-top:10px;font-size:11px;color:#aab7c9}.nav-advanced summary{padding:10px;cursor:pointer}.business-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.business-hero h1{font-size:32px;margin:8px 0}.business-hero p{color:var(--muted);max-width:650px}.scope-bar{display:flex;align-items:end;flex-wrap:wrap;gap:14px;padding:15px 18px;background:var(--surface);border:1px solid var(--line);border-radius:15px}.scope-bar label{display:grid;gap:5px;font-size:10px;font-weight:600;color:var(--muted)}.scope-bar select,.scope-bar input,#profitSort,.expense-row input,.expense-row select{padding:9px 10px;background:var(--surface2);color:var(--ink);border:1px solid var(--line);border-radius:8px;font-size:12px;max-width:100%}.scope-bar details{position:relative;align-self:center;color:var(--ink);font-size:12px}.scope-bar summary{cursor:pointer}.date-popover{position:absolute;top:35px;left:0;z-index:12;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:18px;border-radius:12px;display:grid;gap:10px;min-width:220px}.scope-label{font-size:11px;color:var(--muted);margin-left:auto;align-self:center}.business-context{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:17px 2px;color:var(--muted);font-size:11px}.status-chip{display:inline-block;padding:5px 9px;border-radius:20px;background:#e6a5471a;color:#a16b1a;font-size:10px;white-space:nowrap}.status-chip.good{background:#24b58d1c;color:#159674}.business-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.business-kpi{position:relative;min-width:0;border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:19px 16px;box-shadow:var(--shadow)}.business-kpi:nth-child(4){background:linear-gradient(145deg,#5a66d8,#4452ba);border-color:#6673e4;color:white}.business-kpi:nth-child(4) p,.business-kpi:nth-child(4) .kpi-index{color:#d5dcff}.business-kpi h3{font-size:11px;min-height:35px;letter-spacing:0;font-weight:600;margin:10px 0 7px}.business-kpi strong{display:block;font-size:clamp(17px,1.5vw,25px);letter-spacing:-.7px;white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.business-kpi p{font-size:10px;line-height:1.6;color:var(--muted);margin-bottom:0}.kpi-index{font-size:10px;letter-spacing:1px;color:var(--muted)}.recon-banner{margin:20px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);background:var(--surface2);border-radius:14px;padding:16px 20px}.recon-banner b{font-size:12px}.recon-banner p{font-size:11px;color:var(--muted);margin:5px 0}.home-tabs,.division-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:20px 0}.home-tabs button,.division-tabs button{border:1px solid transparent;border-radius:10px;background:transparent;padding:10px 16px;color:var(--muted);font:600 12px inherit;cursor:pointer}.home-tabs .selected,.division-tabs .selected{background:var(--surface);border-color:var(--line);color:var(--accent);box-shadow:var(--shadow)}.home-chart-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}.home-chart-grid svg{width:100%;max-height:300px}.cash-total{font-size:36px;font-weight:700;padding:25px 0}.table-scroll{overflow:auto}.products-profit table{border-collapse:collapse;width:100%;font-size:11px}.products-profit th{text-align:left;background:var(--surface2);color:var(--muted);font-weight:600;white-space:nowrap;position:sticky;top:0;padding:13px 11px}.products-profit td{padding:14px 11px;border-bottom:1px solid var(--line);white-space:nowrap;font-variant-numeric:tabular-nums}.products-profit td:first-child{min-width:230px;max-width:340px;white-space:normal}.products-profit td small{display:block;color:var(--muted);font-size:9px;margin-top:5px}.product-detail{padding:0;border:0;background:transparent;color:var(--ink);text-align:left;font:600 11px inherit;cursor:pointer}.product-detail:hover{color:var(--accent)}.products-profit input{margin:10px 0 20px;min-width:220px}.finding{display:flex;gap:12px;align-items:start;margin:14px 0}.finding>span{color:var(--accent);background:var(--blueLight);border-radius:20px;width:22px;height:22px;text-align:center;flex:none}.finding p{margin:0;font-size:12px;color:var(--muted);line-height:1.7}.empty-guidance{text-align:center;padding:30px 20px}.empty-guidance>span{font-size:35px;color:var(--accent)}.empty-guidance p{font-size:12px;color:var(--muted);max-width:370px;margin:15px auto 20px}.analysis-custom{border:1px solid var(--line);border-radius:12px;margin-top:20px;padding:14px}.analysis-custom summary{cursor:pointer;font-size:12px;font-weight:600}.analysis-custom summary span{display:block;font-weight:400;font-size:10px;margin:5px 0 0 16px;color:var(--muted)}.analysis-custom .is-save{margin-top:18px}.division-tabs{border-bottom:1px solid var(--line);padding-bottom:12px}.cost-market-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cost-market-grid fieldset,.settings-form fieldset{border:1px solid var(--line);border-radius:12px;padding:20px;display:grid;gap:15px}.cost-market-grid legend{font-size:13px;font-weight:700;padding:0 7px}.expense-row{display:grid;grid-template-columns:140px 1.5fr 110px 150px 140px 35px;gap:8px;margin:10px 0}.expense-row input{min-width:0}.confirmation{margin:25px 0}.settings-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:800px}.settings-form fieldset{grid-column:1/-1}.settings-form .is-check{display:flex;align-items:center;gap:9px}.settings-form input[type=checkbox]{width:auto}.member-row{display:flex;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.member-row div{margin-right:auto}.member-row small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.saved-grid,.welcome-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.saved-card{text-align:left;color:var(--ink);cursor:pointer}.saved-card p,.saved-card span{font-size:12px;color:var(--muted)}.saved-card strong{display:block;color:var(--accent);font-size:12px;margin-top:20px}.saved-card:hover{border-color:var(--accent)}.product-modal{max-width:680px;width:90%;max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:18px;padding:28px;background:var(--surface);color:var(--ink)}.product-modal h2{font-size:20px}.product-modal p{color:var(--muted);font-size:12px;line-height:1.8}.product-modal dl{display:grid;grid-template-columns:1fr 1fr;gap:12px}.product-modal dd{text-align:right;margin:0;font-variant-numeric:tabular-nums}.import-preview{border:1px solid var(--line);padding:18px;border-radius:12px;margin:12px 0;background:var(--surface2)}.import-preview p{font-size:11px;line-height:1.7;color:var(--muted)}.import-preview .is-actions{margin-top:15px}.onboarding-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:20px}.onboarding-steps .panel{margin:0}.onboarding-steps h3{font-size:14px}.onboarding-steps p{font-size:11px;color:var(--muted)}
@media(min-width:1550px){.business-kpi strong{font-size:27px}}@media(max-width:1200px){.business-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.expense-row{grid-template-columns:1fr 1fr 1fr}.home-chart-grid{grid-template-columns:1fr}}@media(max-width:800px){#authScreen{grid-template-columns:1fr}.auth-art{display:none}.auth-form{padding:40px 25px}.business-hero{align-items:start;flex-direction:column}.business-hero h1{font-size:27px}.business-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.business-kpi:last-child{grid-column:1/-1}.scope-bar{gap:10px}.scope-bar label{flex:1;min-width:120px}.recon-banner{align-items:start;flex-direction:column}.settings-form,.cost-market-grid,.saved-grid,.welcome-grid,.onboarding-steps{grid-template-columns:1fr}.expense-row{grid-template-columns:1fr 1fr}.member-row{flex-wrap:wrap}.topbar-right #dataStatus{display:none}.division-tabs button{padding:9px}.business-hero .button{align-self:start}.products-profit .panel-head{align-items:start;flex-direction:column}.content{padding:20px 14px}.is-layout{grid-template-columns:1fr}.is-catalog{position:static}.is-cards{max-height:240px}}

.business-kpi strong{font-size:clamp(15px,1.25vw,22px);white-space:nowrap;overflow-wrap:normal}.products-profit .table-scroll{max-height:650px}.saved-card .is-svg svg{max-height:260px;width:100%}@media(max-width:800px){.business-kpi strong{font-size:16px}.products-profit .table-scroll{max-height:550px}}
.import-option{display:grid;gap:7px;max-width:420px;margin:12px 0;font-size:11px;font-weight:650}.import-option select{padding:10px 12px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--surface)}.import-preview>small{display:block;max-width:700px;color:var(--muted);font-size:10px;line-height:1.6}.managed-import{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;padding:15px 0;border-bottom:1px solid var(--line)}.managed-import-info{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.managed-import-info strong{max-width:100%;overflow-wrap:anywhere;font-size:12px}.managed-import-info small{color:var(--muted);font-size:10px;line-height:1.5}.managed-import-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.managed-import-actions .button{padding:8px 10px;font-size:10px}.managed-import.is-inactive{opacity:.72}.managed-import.is-deleted{opacity:.58}.import-content-preview{grid-column:1/-1;padding:12px;border-radius:10px;background:var(--surface2);overflow:hidden}.import-content-preview .table-scroll{max-height:300px}.import-content-preview table{width:max-content;min-width:100%;border-collapse:collapse;font-size:10px}.import-content-preview th,.import-content-preview td{padding:8px;border-bottom:1px solid var(--line);text-align:left;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-content-preview small{display:block;color:var(--muted);margin-top:8px}.button.danger{color:#c04d61;border-color:#dd849355}.notice.warning{border:1px solid #e4aa503a;background:#e4aa5012;color:var(--ink);padding:12px;border-radius:10px;margin:12px 0}.notice.warning p{margin:6px 0 0;color:var(--muted)}
@media(max-width:700px){.managed-import{grid-template-columns:1fr}.managed-import-actions{justify-content:flex-start}.managed-import-actions .button{flex:1}.managed-import-info{padding-right:5px}}

/* 1.4.5: adaptive emerald / black coffee theme */
:root{--accent:#087b55;--blue:#087b55;--blueLight:#e1f3e9;--paper:#f3f8f4;--surface:#fff;--surface2:#edf4ee;--white:#fff;--ink:#172e25;--muted:#576e62;--line:#d6e4db;--shadow:0 8px 28px #123d2010}
[data-theme=dark]{--accent:#8ad9b0;--blue:#8ad9b0;--blueLight:#324036;--paper:#171310;--surface:#241e19;--surface2:#302821;--white:#241e19;--ink:#f3e9dc;--muted:#c1b2a2;--line:#514338;--shadow:0 8px 28px #0003;color-scheme:dark}
body,[data-theme=dark] body{background:var(--paper);color:var(--ink)}
.sidebar{background:linear-gradient(160deg,#103d2c,#10271e);color:#eef8f0}
[data-theme=dark] .sidebar{background:linear-gradient(160deg,#2c2119,#18120e)}
.brand-mark,.button.primary,[data-theme=dark] .primary{background:#087b55;color:#fff;border-color:#087b55}
[data-theme=dark] .primary{background:#9adcb9;color:#15251b;border-color:#9adcb9}
:is(.panel,.kpi-card,.is-panel,.is-catalog,.loading-card,.database-loading-card,.topbar,.business-kpi,.bank-rule-item){background:var(--surface);color:var(--ink);border-color:var(--line)}
:is(button,.button,.nav-item,.icon-button,.theme-toggle,.select-input,.text-input){font-family:inherit;min-height:44px;border-radius:12px}
:is(.button,.icon-button,.theme-toggle,.nav-item){transition:background-color .18s,transform .18s,box-shadow .18s}
:is(.button,.icon-button,.theme-toggle):active{transform:scale(.97)}
:is(input,select,textarea){max-width:100%;accent-color:var(--accent)}
:is(button,input,select,textarea,a):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
:is(.button.secondary,.icon-button,.theme-toggle){background:var(--surface);color:var(--ink);border-color:var(--line)}
[data-theme=dark] :is(th,thead,.is-table th,.is-periods span,.pill,.is-card.selected,.is-card:hover,.tab-button.active,.is-badge){background:var(--surface2);color:var(--ink)}
[data-theme=dark] .notice.info{background:#29382e;color:#bfe5cd;border-color:#496650}
:is(.table-wrap,.table-scroll,.is-table){max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
:is(.main-area,.content,.panel,.is-work,.is-panel){min-width:0}
:is(.panel-head,.heading-actions,.is-actions,.business-context){flex-wrap:wrap;gap:12px}
:is(.table-wrap,.table-scroll) table{min-width:640px}
:is(.chart,.is-svg,.is-donut) svg{max-width:100%;height:auto}
.chart-arriving{animation:chart-arrive .65s cubic-bezier(.2,.7,.3,1) both}
@keyframes chart-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.database-loading-overlay{background:color-mix(in srgb,var(--paper) 88%,transparent)}
.loading-spinner{width:54px;height:54px;border:3px solid var(--line);border-top-color:var(--accent);border-right-color:var(--accent);box-shadow:0 0 0 10px color-mix(in srgb,var(--accent) 8%,transparent)}
:is(.loading-card,.database-loading-card){position:relative;overflow:hidden}
:is(.loading-card,.database-loading-card)::after{content:'';display:block;height:5px;margin-top:20px;border-radius:8px;background:linear-gradient(90deg,transparent,var(--accent),transparent);background-size:200% 100%;animation:loading-sheen 1.8s linear infinite}
@keyframes loading-sheen{from{background-position:200% 0}to{background-position:-200% 0}}
.background-progress{background:var(--surface);border-color:var(--line);padding:16px;border-radius:16px;box-shadow:var(--shadow)}
.background-progress-fill{background:linear-gradient(90deg,#087b55,#69c893)}
.background-progress-track{background:var(--surface2);height:7px}.background-progress small{font-size:12px}
.mobile-backdrop{display:none}
@media(max-width:1100px){.home-chart-grid,.cost-market-grid,.is-work{grid-template-columns:minmax(0,1fr)}.bank-rule-form,.bank-table-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.business-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
.app-shell{display:block}.sidebar{width:min(300px,85vw);height:100dvh;overflow-y:auto;z-index:1001;left:-320px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.sidebar.open{left:0}
.mobile-backdrop.visible{display:block;position:fixed;inset:0;background:#0007;backdrop-filter:blur(3px);z-index:1000}
body.menu-open{overflow:hidden}.mobile-menu{display:block;min-width:44px;min-height:44px;font-size:24px;color:var(--ink)}
.topbar{position:sticky;top:0;z-index:30;height:auto;min-height:64px;padding:8px 10px;gap:6px}.topbar-right{gap:4px}.topbar-right .icon-button{min-width:40px}.theme-toggle{min-width:44px}.theme-toggle span{display:none}.crumb{min-width:0;margin:0;overflow:hidden;font-size:12px}.crumb strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumb>span,.crumb>b{display:none}
.content{width:100%;padding:18px 12px 32px;box-sizing:border-box}.panel,.is-panel{padding:16px;border-radius:16px}.is-header h1{font-size:26px}
:is(.grid-2,.grid-equal,.home-chart-grid,.is-work,.settings-form,.cost-market-grid,.saved-grid,.welcome-grid){grid-template-columns:minmax(0,1fr)}
:is(.field-grid,.bank-rule-form,.bank-table-tools,.is-fields,.is-save){display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
:is(input,select,textarea,.text-input,.select-input){font-size:16px;min-height:46px;box-sizing:border-box}.button{padding:12px 16px;font-size:14px}.nav-item{min-height:48px;font-size:14px}
:is(.kpi-grid,.business-kpis){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi-value{font-size:clamp(17px,4.8vw,25px);overflow-wrap:anywhere}.kpi-top{font-size:12px}
:is(.heading-actions,.is-actions) .button{flex:1 1 140px}.bank-rule-item{flex-wrap:wrap;overflow-wrap:anywhere}.bank-rule-form>*{min-width:0}.market-switch{max-width:100%;box-sizing:border-box}.market-switch button{padding:10px 12px}.market-switch button small{display:none}
dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;box-sizing:border-box}.background-progress{left:12px;bottom:max(12px,env(safe-area-inset-bottom));width:calc(100vw - 24px);box-sizing:border-box}.footer{padding-bottom:max(20px,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.chart-arriving{opacity:1;transform:none}}

/* AZBI Digital: amber, ivory and charcoal */
:root{--accent:#925500;--blue:#925500;--blueLight:#fff0d0;--paper:#f5f4f0;--surface:#fff;--surface2:#ecebe7;--white:#fff;--ink:#20211e;--muted:#62635e;--line:#dbdcd5;--shadow:0 8px 28px #20211e10}
[data-theme=dark]{--accent:#f4b63e;--blue:#f4b63e;--blueLight:#40341e;--paper:#171815;--surface:#22231f;--surface2:#2d2e28;--white:#22231f;--ink:#f5f4ed;--muted:#c0c0b5;--line:#494b40;--shadow:0 8px 28px #0003}
.sidebar,[data-theme=dark] .sidebar,.auth-art{background:linear-gradient(150deg,#2b2c25,#171815);color:#f8f6ed}
.brand-mark,.button.primary,[data-theme=dark] .primary{background:#f4ae32;color:#20211e;border-color:#f4ae32}
.brand-mark svg{width:32px;height:28px}.auth-brand svg{width:64px;height:48px;color:#f4ae32}.auth-brand{display:flex;align-items:center;gap:14px}
[data-theme=dark] .notice.info{background:#3a311e;color:#f9d996;border-color:#66532b}
.background-progress-fill{background:linear-gradient(90deg,#e9a126,#ffd576)}
.azbi-wait{position:fixed;right:20px;bottom:20px;z-index:3000;display:flex;align-items:center;gap:18px;padding:18px 22px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink);box-shadow:0 16px 48px #0003;pointer-events:none;max-width:calc(100vw - 24px);box-sizing:border-box}
.azbi-wait[hidden]{display:none}.azbi-wait svg{width:52px;height:44px;color:var(--accent);animation:az-breathe 1.6s ease-in-out infinite}.azbi-wait span{display:block;font-size:13px;color:var(--muted)}
.azbi-spinner{border:0;box-shadow:none;animation:none;width:64px;height:50px}.azbi-spinner svg{width:100%;height:100%;color:var(--accent);animation:az-breathe 1.6s ease-in-out infinite}
@keyframes az-breathe{0%,100%{opacity:.55;transform:translateY(2px) scale(.94)}50%{opacity:1;transform:translateY(-3px) scale(1)}}
@media(max-width:760px){.azbi-wait{right:12px;bottom:max(12px,env(safe-area-inset-bottom));padding:12px 16px}.auth-brand{font-size:20px}}
@media(prefers-reduced-motion:reduce){.azbi-wait svg,.azbi-spinner svg{animation:none}}
