:root{--em-on-nav:var(--em-surface);--em-on-primary:var(--em-on-nav);--em-space:calc(var(--em-card-gap)/2);--em-kpi-size:calc(var(--em-type-page-title)*1.4);--em-form-width:480px;--em-dot-size:6px}
[data-theme=dark]{--em-on-nav:var(--em-text-heading);--em-on-primary:var(--em-text-heading)}
body{min-height:100vh;font-size:var(--em-type-body)}
button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button,a{cursor:pointer}a{color:var(--em-primary-ink);text-decoration:none}a:hover{text-decoration:underline}
h1{font-size:var(--em-type-page-title);font-weight:var(--em-fw-black);color:var(--em-text-heading);margin:0}h2{font-size:var(--em-type-section);font-weight:var(--em-fw-black);color:var(--em-text-heading);margin:0 0 var(--em-space)}h3{font-size:var(--em-type-body);margin:0 0 var(--em-space)}p{line-height:1.6;margin:var(--em-space) 0;color:var(--em-text-secondary)}small,.muted{font-size:var(--em-type-meta);color:var(--em-text-tertiary)}
.nav{height:var(--em-h-nav);background:var(--em-nav);display:flex;align-items:center;gap:var(--em-card-gap);padding-inline:var(--em-page-gutter);color:var(--em-on-nav)}.nav img{width:calc(var(--em-h-nav)*1.7);height:calc(var(--em-h-nav)*.4)}.nav strong{font-size:var(--em-type-section)}.nav .nav-right{margin-left:auto;display:flex;gap:var(--em-space);align-items:center}.nav button{background:transparent;border:0;color:var(--em-on-nav);min-height:var(--em-h-button);white-space:nowrap;padding-inline:var(--em-space)}
.workspace{display:flex;flex-wrap:wrap;align-items:center;gap:var(--em-space);padding:var(--em-space) var(--em-page-gutter);background:var(--em-surface);border-bottom:1px solid var(--em-border)}.workspace label{margin:0}.workspace select{min-height:var(--em-h-button);width:auto;font-weight:var(--em-fw-bold)}.workspace .context{margin-left:auto}.links{display:flex;flex-wrap:wrap;gap:var(--em-space);padding:var(--em-space) var(--em-page-gutter);background:var(--em-surface);border-bottom:1px solid var(--em-border)}.links button{border:0;background:transparent;color:var(--em-text-secondary);font-weight:var(--em-fw-bold);min-height:var(--em-h-button);padding:var(--em-space)}.links button[aria-current=page]{color:var(--em-primary-ink);box-shadow:inset 0 -3px var(--em-accent)}
main{min-height:calc(100vh - var(--em-h-nav)*3)}.stack{display:grid;gap:var(--em-card-gap)}.card{padding:var(--em-card-pad)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--em-card-gap);flex-wrap:wrap;margin-bottom:var(--em-card-gap)}.actions{display:flex;gap:var(--em-space);align-items:center;flex-wrap:wrap}.period{display:flex;flex-wrap:wrap;gap:var(--em-space);align-items:center}.period select,.period input{width:auto}.section{margin-top:var(--em-card-gap)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--em-space);min-height:var(--em-h-button);padding:var(--em-space) var(--em-card-pad);border:1px solid var(--em-border-ghost);border-radius:var(--em-radius-control);background:var(--em-surface);color:var(--em-text-secondary);font-weight:var(--em-fw-bold);text-decoration:none}.btn:hover{text-decoration:none;background:var(--em-chip)}.primary{background:var(--em-primary);border-color:var(--em-primary);color:var(--em-on-primary);box-shadow:var(--em-shadow-primary)}.primary:hover{background:var(--em-primary-hover)}.danger{color:var(--em-danger);border-color:var(--em-danger-border)}.btn:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid var(--em-primary);outline-offset:3px}
label{display:block;font-size:var(--em-type-form-label);font-weight:var(--em-fw-bold);color:var(--em-text-secondary);margin-bottom:var(--em-space)}input,select,textarea{display:block;width:100%;min-height:var(--em-h-input);padding:var(--em-space);border:1px solid var(--em-border-control);border-radius:var(--em-radius-control);background:var(--em-surface);color:var(--em-text-body)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--em-primary);box-shadow:var(--em-focus-ring)}textarea{min-height:calc(var(--em-h-input)*2)}input[type=checkbox]{display:inline-block;width:var(--em-space);min-height:0;accent-color:var(--em-primary);margin-right:var(--em-space)}.fields{display:grid;gap:var(--em-card-gap)}.form-grid{display:grid;gap:var(--em-card-gap);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.check{display:flex;align-items:center;min-height:var(--em-h-button)}fieldset{border:1px solid var(--em-border);border-radius:var(--em-radius-control);padding:var(--em-space) var(--em-card-pad)}legend{font-weight:var(--em-fw-bold);color:var(--em-text-heading)}
.auth{max-width:var(--em-form-width);margin:calc(var(--em-card-gap)*2) auto}.eyebrow{font-size:var(--em-type-uppercase);font-weight:var(--em-fw-bold);letter-spacing:var(--em-tracking-uppercase);text-transform:uppercase;color:var(--em-text-tertiary)}.kpi{padding:var(--em-card-pad);min-width:0}.kpi .value{font-size:var(--em-kpi-size);font-weight:var(--em-fw-black);color:var(--em-text-heading);margin:var(--em-space) 0}.kpi.total{border-left:4px solid var(--em-accent)}.kpi.fixed{border-top:3px solid var(--em-series-1)}.kpi.variable{border-top:3px solid var(--em-series-3)}.kpi.unclassified{border-top:3px solid var(--em-neutral)}.pill{display:inline-flex;align-items:center;gap:var(--em-space);padding:calc(var(--em-space)/2) var(--em-space);border-radius:var(--em-radius-pill);font-size:var(--em-type-meta);font-weight:var(--em-fw-bold);background:var(--em-neutral-tint);color:var(--em-text-secondary)}.dot{width:var(--em-dot-size);height:var(--em-dot-size);border-radius:50%;background:currentColor}.pill.success{background:var(--em-success-tint);color:var(--em-success)}.pill.warning{background:var(--em-warning-tint);color:var(--em-warning)}.pill.error{background:var(--em-danger-tint);color:var(--em-danger)}.banner{padding:var(--em-card-pad);border-left:3px solid var(--em-warning);background:var(--em-warning-tint);border-radius:var(--em-radius-control)}.banner p{margin:0}.empty{padding:calc(var(--em-card-pad)*2) var(--em-card-pad);text-align:center}.empty p{max-width:var(--em-measure);margin:var(--em-space) auto}.error-text{color:var(--em-danger);min-height:var(--em-type-body)}
.table-card{overflow:hidden}.table-row{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:var(--em-card-gap);padding:var(--em-space) var(--em-card-pad);align-items:center;border-bottom:1px solid var(--em-border-row);min-height:var(--em-h-nav)}.table-row:last-child{border-bottom:0}.table-row:not(.table-head):hover{background:var(--em-row-highlight)}.table-head{background:var(--em-surface-head);font-size:var(--em-type-uppercase);text-transform:uppercase;letter-spacing:var(--em-tracking-uppercase);color:var(--em-text-tertiary);font-weight:var(--em-fw-bold)}.table-row>div{overflow-wrap:anywhere}.cell-label{display:none}.amount{text-align:right;font-variant-numeric:var(--em-numeric)}.table-footer{padding:var(--em-space) var(--em-card-pad);font-size:var(--em-type-meta);color:var(--em-text-tertiary);border-top:1px solid var(--em-border-row)}.trend{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--em-card-gap)}.trend-item{background:var(--em-surface-2);border-radius:var(--em-radius-control);padding:var(--em-space)}.trend-item p{display:flex;justify-content:space-between;gap:var(--em-space)}.bar{height:var(--em-space);border-radius:var(--em-radius-control);background:var(--em-series-1);margin:var(--em-space) 0}.bar.variable{background:var(--em-series-3)}.bar.unclassified{background:var(--em-neutral)}
dialog{border:1px solid var(--em-border);border-radius:var(--em-radius-card-lg);background:var(--em-surface);color:var(--em-text-body);box-shadow:var(--em-shadow-hover);width:min(95vw,680px);max-height:90vh;padding:var(--em-card-pad)}dialog::backdrop{background:color-mix(in srgb,var(--em-nav) 60%,transparent)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--em-card-gap);margin-bottom:var(--em-card-gap)}.modal-heading h2{margin:0}footer{text-align:center;padding:var(--em-card-gap);font-size:var(--em-type-meta);color:var(--em-text-tertiary)}#notice:not(:empty){position:fixed;bottom:var(--em-card-gap);right:var(--em-card-gap);max-width:calc(100vw - var(--em-card-gap)*2);padding:var(--em-card-pad);border-radius:var(--em-radius-control);background:var(--em-nav);color:var(--em-on-nav);box-shadow:var(--em-shadow-hover);z-index:10}#menu{display:none}.hidden{display:none!important}.measure{max-width:var(--em-measure)}
@media(max-width:767px){#menu{display:block}.nav strong,.nav .name{display:none}.links{display:none}.links.open{display:grid;grid-template-columns:1fr 1fr}.workspace .context{width:100%;margin-left:0}.table-row.table-head{display:none}.table-row{display:flex;flex-direction:column;align-items:stretch;gap:var(--em-space);padding:var(--em-card-pad)}.table-row>div{display:flex;justify-content:space-between;align-items:center;gap:var(--em-space)}.cell-label{display:inline;font-weight:var(--em-fw-bold);font-size:var(--em-type-form-label);text-align:left}.table-row .amount{text-align:right}.table-row select{width:auto;max-width:60%}.period{width:100%}.period input{flex:1;min-width:0}.auth{margin:var(--em-card-gap) auto}.toolbar>.actions{width:100%}}
