.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;padding:22px 14px;border-right:1px solid #1c222b;background:#0a0d11;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:10px;padding:0 8px 26px}.brand strong{display:block;font-size:14px;letter-spacing:.08em}.brand span{font-size:10px;color:var(--muted);letter-spacing:.18em}
.brand-mark{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;font-weight:800;color:#171007;background:linear-gradient(145deg,#f0cb7c,#a77829);box-shadow:inset 0 1px rgba(255,255,255,.4)}
#nav{display:flex;flex-direction:column;gap:5px}.nav-item{display:flex;align-items:center;gap:11px;border:0;color:#929ba8;background:transparent;border-radius:10px;padding:11px 12px;text-align:left;font-weight:560}.nav-item span{width:18px;color:#717b89}.nav-item:hover{background:#10151b;color:#dce0e6}.nav-item.active{background:#171b21;color:#fff}.nav-item.active span{color:var(--gold)}
.sidebar-bottom{margin-top:auto;padding:14px 8px 2px;border-top:1px solid #171c23;display:flex;justify-content:space-between;align-items:center}.sync-state{display:flex;align-items:center;gap:9px}.sync-state>span{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px rgba(80,200,120,.5)}.sync-state small,.sync-state strong{display:block}.sync-state small{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.sync-state strong{font-size:11px;margin-top:2px}
.main{min-width:0;padding:0 32px 44px;max-width:1680px;width:100%;margin:0 auto}
.topbar{height:94px;display:flex;align-items:center;justify-content:space-between;gap:20px}.top-actions{display:flex;align-items:center;gap:10px}.segmented{display:flex;padding:3px;background:#10141a;border:1px solid var(--line);border-radius:11px}.segmented button{border:0;background:transparent;color:var(--muted);padding:7px 11px;border-radius:8px;font-size:12px}.segmented button.active{background:#222832;color:#fff}
.view{display:none}.view.active{display:block}
.migration-banner{border:1px solid #564322;background:linear-gradient(90deg,rgba(212,168,79,.10),rgba(212,168,79,.025));border-radius:14px;padding:14px 16px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.migration-banner strong{font-size:13px}.migration-banner p{font-size:12px;color:#a8a08f;margin:4px 0 0;max-width:850px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:18px;margin-bottom:18px}.hero-card{border:1px solid #2a2f36;border-radius:22px;padding:24px;background:radial-gradient(circle at 80% 10%,rgba(212,168,79,.12),transparent 35%),linear-gradient(160deg,#15191f,#0f1318 70%);overflow:hidden}.hero-head{display:flex;justify-content:space-between;align-items:flex-start}.hero-value{font-size:48px;line-height:1;font-weight:700;letter-spacing:-.06em;margin-top:8px}.delta{font-weight:700;font-size:12px;padding:7px 9px;border-radius:999px}.delta.positive{color:#8ce5a9;background:rgba(80,200,120,.10);border:1px solid rgba(80,200,120,.22)}.delta.negative{color:#ff9b9b;background:rgba(239,106,106,.10);border:1px solid rgba(239,106,106,.22)}.delta.neutral{color:var(--muted);background:#171c23;border:1px solid var(--line)}
.hero-chart-wrap{height:200px;margin:10px -6px 2px}.hero-foot{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;border-top:1px solid #242a31;padding-top:12px}
.kpi-stack{display:grid;grid-template-rows:repeat(3,1fr);gap:12px}.kpi-card{border:1px solid var(--line);border-radius:16px;padding:17px 18px;background:var(--panel);display:flex;flex-direction:column;justify-content:center}.kpi-card>div{display:flex;align-items:center;gap:9px}.kpi-card p{margin:0;color:#acb3bd;font-size:12px}.kpi-card strong{font-size:24px;letter-spacing:-.04em;margin:8px 0 4px}.kpi-card small{color:var(--muted)}.kpi-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;font-size:12px;font-weight:700}.kpi-icon.income{background:rgba(80,200,120,.1);color:var(--green)}.kpi-icon.expense{background:rgba(239,106,106,.1);color:var(--red)}.kpi-icon.vat{background:rgba(231,183,93,.1);color:var(--amber);font-size:9px}.vat-accent{background:linear-gradient(125deg,rgba(212,168,79,.08),var(--panel) 45%)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:18px}.lower{grid-template-columns:1.25fr .75fr}.chart-box{height:280px}.chart-box.medium{height:330px}.chart-box.tall{height:420px}
.expense-bars{display:flex;flex-direction:column;gap:14px}.bar-row{display:grid;grid-template-columns:minmax(100px,1.2fr) 2fr auto;align-items:center;gap:12px}.bar-row label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#c7ccd3;font-size:12px}.bar-track{height:7px;background:#222831;border-radius:99px;overflow:hidden}.bar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#775b2b,#d4a84f)}.bar-row strong{font-size:12px;font-variant-numeric:tabular-nums}
.vat-panel{background:radial-gradient(circle at 100% 0,rgba(212,168,79,.12),transparent 38%),var(--panel)}.status-dot{font-size:9px;letter-spacing:.12em;color:#e7c77f;border:1px solid #5a4828;background:#221b10;padding:6px 8px;border-radius:999px}.vat-main span,.vat-split span{display:block;color:var(--muted);font-size:11px}.vat-main strong{display:block;font-size:39px;letter-spacing:-.055em;margin:7px 0 20px}.vat-split{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vat-split>div{background:#0d1116;border:1px solid #232a33;border-radius:12px;padding:12px}.vat-split strong{display:block;margin-top:6px}.vat-progress{height:5px;background:#252a31;border-radius:99px;margin:20px 0 9px;overflow:hidden}.vat-progress i{display:block;height:100%;width:0;background:var(--gold)}
.movement-toolbar{align-items:center}.filters{display:flex;gap:9px}.filters .input{min-width:240px}.movement-list{display:flex;flex-direction:column}.movement-row{display:grid;grid-template-columns:72px minmax(0,1.6fr) 150px 130px 110px;gap:14px;align-items:center;padding:14px 6px;border-bottom:1px solid #1f252d}.movement-row:last-child{border-bottom:0}.movement-date{font-size:11px;color:var(--muted);text-transform:uppercase}.movement-desc strong{display:block;font-size:13px}.movement-desc span{display:block;color:var(--muted);font-size:11px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{display:inline-flex;width:max-content;padding:5px 7px;border-radius:7px;border:1px solid #303741;background:#12171d;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#aeb5be}.badge.fiscal{border-color:#4d452d;color:#d9bd72;background:#1b1810}.movement-amount{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.movement-amount.income{color:#8ee1a6}.movement-amount.expense{color:#ff9292}.movement-actions{text-align:right}.movement-actions button{border:0;background:transparent;color:#737d8a;font-size:18px}
.vat-hero{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.vat-big{text-align:right}.vat-big span{display:block;color:var(--muted);font-size:11px}.vat-big strong{display:block;font-size:44px;letter-spacing:-.055em;margin-top:4px}.metric-panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px}.metric-panel span{color:var(--muted);font-size:11px}.metric-panel strong{display:block;font-size:24px;margin-top:9px}
.comparison-table{display:flex;flex-direction:column;gap:8px}.compare-row{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:10px;padding:11px 0;border-bottom:1px solid #20262e;font-size:12px}.compare-row.header{color:var(--muted);font-size:10px;text-transform:uppercase}.compare-row span:not(:first-child){text-align:right}
.archive-note{margin-top:-7px}.archive-list{max-height:650px;overflow:auto;border-top:1px solid var(--line)}.archive-row{display:grid;grid-template-columns:100px 140px 64px minmax(0,1fr);gap:12px;padding:11px 4px;border-bottom:1px solid #1b2128;font-size:11px}.archive-row .raw{color:#b8bec7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.settings-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0}.settings-row span{color:var(--muted)}.button-stack{display:flex;flex-direction:column;gap:10px}.file-btn{text-align:center}.file-btn input{display:none}
.movement-dialog{width:min(680px,calc(100% - 26px));border:1px solid #303743;border-radius:20px;background:#10141a;color:var(--text);padding:0;box-shadow:var(--shadow)}.movement-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(6px)}.movement-dialog form{padding:22px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start}.icon-btn{width:35px;height:35px;border-radius:9px;border:1px solid var(--line);background:#171c23;color:#b7bec8;font-size:22px}.type-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0 18px}.type-switch input{display:none}.type-switch span{display:block;text-align:center;border:1px solid var(--line);background:#0d1116;border-radius:10px;padding:10px}.type-switch input:checked+span{border-color:#8d6d31;background:rgba(212,168,79,.10);color:#f2d18a}.money-field>span{display:block;color:var(--muted);font-size:11px}.money-field>div{display:flex;align-items:center;border-bottom:1px solid #303842;margin-bottom:20px}.money-field small{font-size:28px;color:#767f8c}.money-field input{width:100%;font-size:44px;font-weight:700;letter-spacing:-.05em;color:#fff;border:0;background:transparent;outline:none;padding:6px 10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label,.movement-dialog>form>label{display:flex;flex-direction:column;gap:7px;color:#aab2bd;font-size:11px}.switch-row{display:flex;gap:18px;padding:18px 0}.switch{display:flex;align-items:center;gap:9px;color:#cbd0d7;font-size:12px}.switch input{display:none}.switch i{width:34px;height:19px;background:#2b3038;border-radius:99px;position:relative}.switch i:after{content:"";width:13px;height:13px;border-radius:50%;background:#929aa5;position:absolute;top:3px;left:3px;transition:.2s}.switch input:checked+i{background:#5f4a24}.switch input:checked+i:after{transform:translateX(15px);background:#edc978}.textarea{resize:vertical}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}
.toast{position:fixed;right:24px;bottom:24px;background:#1a2028;border:1px solid #353d49;border-radius:12px;padding:12px 15px;color:#e8ebef;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:none}
.login-gate{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at 50% 0,rgba(212,168,79,.08),transparent 30%),#080a0d;display:grid;place-items:center;padding:20px}.login-card{width:min(390px,100%);background:#11151b;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}.login-card .brand-mark{margin-bottom:24px}.login-card h1{font-size:28px;margin-bottom:7px}.login-card label{display:flex;flex-direction:column;gap:7px;color:#aeb5be;font-size:11px;margin:14px 0}.login-card input{background:#0b0f14;border:1px solid var(--line);border-radius:10px;color:#fff;padding:12px}.login-card .btn{width:100%;margin-top:6px}.form-message{color:#ff9d9d;font-size:11px;margin:12px 0 0}
@media(max-width:1050px){.app-shell{grid-template-columns:78px minmax(0,1fr)}.sidebar{padding:20px 10px}.brand>div:last-child,.nav-item:not(.active){font-size:0}.nav-item{justify-content:center}.nav-item span{font-size:16px;width:auto}.nav-item.active{font-size:0}.sidebar-bottom .sync-state div{display:none}.hero-grid{grid-template-columns:1fr}.kpi-stack{grid-template-columns:repeat(3,1fr);grid-template-rows:auto}.lower{grid-template-columns:1fr}.movement-row{grid-template-columns:62px minmax(0,1fr) 115px 92px}.movement-row .badge{display:none}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;overflow:auto}.brand{padding:0 8px}.brand>div:last-child,.sidebar-bottom{display:none}#nav{flex-direction:row}.nav-item,.nav-item.active{font-size:0;padding:10px 13px}.main{padding:0 14px 30px}.topbar{height:auto;padding:18px 0;align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}.segmented{order:4}.migration-banner{align-items:flex-start;flex-direction:column}.grid-2,.grid-3{grid-template-columns:1fr}.kpi-stack{grid-template-columns:1fr}.hero-value{font-size:38px}.movement-row{grid-template-columns:58px minmax(0,1fr) 100px}.movement-row .movement-actions,.movement-row .badge{display:none}.filters{width:100%;flex-direction:column}.filters .input{min-width:0}.movement-toolbar{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.switch-row{flex-direction:column}.archive-row{grid-template-columns:80px 110px minmax(0,1fr)}.archive-row>:nth-child(3){display:none}}

.scope-notice{
  display:flex;align-items:center;gap:10px;margin-bottom:16px;
  padding:10px 13px;border:1px solid #39414b;border-radius:12px;
  background:#10151b;color:#9fa8b4;font-size:11px
}
.scope-notice strong{color:#e9edf2}
.lower.management-only{grid-template-columns:1fr}
.kpi-stack.management-only{grid-template-rows:repeat(2,1fr)}

.kpi-delta{font-size:11px;font-weight:550}
.kpi-delta.good{color:#75d997}
.kpi-delta.bad{color:#f08484}
.kpi-delta.neutral{color:var(--muted)}

.kpi-icon.good{background:rgba(80,200,120,.11)!important;color:#62d58a!important}
.kpi-icon.bad{background:rgba(239,106,106,.11)!important;color:#f07c7c!important}
.kpi-icon.neutral{background:#1b2129!important;color:#8d96a3!important}

.kpi-value-row{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between;
  gap:16px;
  margin-top:8px;
}
.kpi-value-row>strong{
  margin:0!important;
  min-width:0;
}
.kpi-previous{
  display:flex!important;
  flex-direction:column;
  align-items:flex-end!important;
  gap:3px!important;
  padding-left:12px;
  border-left:1px solid #2a313a;
  min-width:118px;
}
.kpi-previous span{
  color:var(--muted);
  font-size:9px;
  white-space:nowrap;
}
.kpi-previous b{
  color:#c7cdd5;
  font-size:14px;
  font-weight:650;
  letter-spacing:-.02em;
  white-space:nowrap;
}
@media(max-width:760px){
  .kpi-value-row{align-items:flex-start!important;flex-direction:column;gap:8px}
  .kpi-previous{
    align-items:flex-start!important;
    border-left:0;
    border-top:1px solid #242b33;
    padding:7px 0 0;
    min-width:0;
  }
}


/* FINAL R2 — explanatory microcopy */
.scope-guide{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:-2px 0 16px;
  padding:10px 13px;
  border:1px solid #252c35;
  border-radius:11px;
  background:rgba(16,20,26,.72);
  color:#8f99a6;
  font-size:10.5px;
  line-height:1.45;
}
.scope-guide strong{
  flex:0 0 auto;
  color:#c9d0d8;
  font-size:10px;
  letter-spacing:.02em;
}
.section-help{
  margin:3px 0 13px;
  max-width:760px;
  color:#7f8996;
  font-size:10px;
  line-height:1.5;
}
.section-help strong{color:#aeb6c0;font-weight:600}
.hero-help{
  margin:3px 0 10px;
  max-width:680px;
}
.form-help{
  margin:-3px 0 14px;
  padding:10px 12px;
  border:1px solid #292f38;
  border-radius:10px;
  background:#0c1015;
  color:#8e98a5;
  font-size:10.5px;
  line-height:1.5;
}
.form-help strong{color:#d4a84f;font-weight:650}
.select:disabled,.input:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.switch input:disabled+i{
  opacity:.55;
}
.switch input:disabled~span{
  color:#6f7884;
}
@media(max-width:760px){
  .scope-guide{flex-direction:column;gap:4px}
  .section-help{font-size:9.5px}
}
