@import url("/fonts.css");
/* Lucky Glass: Lucky Pay 3656a39; owner-approved design brief PR11. */
:root{
  color-scheme:only light;
  --page:#ffffff;--paper:#ffffff;--ink:#18201c;--ink-2:#505a55;--ink-3:#677069;
  --rule:rgb(20 28 24 / .07);--rule-2:rgb(20 28 24 / .12);--field:#878e8a;--chip:#f2f4f3;
  --red:#e0463a;--red-deep:#b0302a;--green:#14a061;--green-ink:#0b7045;--green-bg:#ecf6f0;
  --amber:#775807;--amber-bg:#fcf5dc;--danger-bg:#fdf0ee;
  --font-display:'M PLUS Rounded 1c','Avenir Next','Segoe UI',system-ui,sans-serif;
  --font-sans:Inter,'Segoe UI',system-ui,-apple-system,sans-serif;
  font-family:var(--font-sans);font-size:15px;color:var(--ink);background:var(--page);font-synthesis:none;
}
*{box-sizing:border-box}
body{margin:0;line-height:1.55;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;border:0}
button:disabled{cursor:not-allowed;opacity:.5}
a{color:inherit}
p,h1,h2,h3{margin-top:0}
h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance}
h1{font-size:30px;line-height:1.2;font-weight:700;margin-bottom:10px}
h2{font-size:24px;line-height:1.3;font-weight:700;margin:0}
h3{font-size:17px;line-height:1.4;font-weight:700;margin-bottom:6px}
p{line-height:1.55}
:focus-visible{outline:2.5px solid var(--ink);outline-offset:2px}
input,select,textarea{border:1.5px solid var(--field);border-radius:12px;background:white;color:var(--ink);padding:10px 12px;max-width:100%;min-width:0;min-height:44px}
input::placeholder,textarea::placeholder{color:var(--ink-3);opacity:1}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:1px;border-color:var(--ink)}
select{cursor:pointer;appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236b5e53' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px;text-overflow:ellipsis}
label{font-size:13px;font-weight:600;display:flex;flex-direction:column;gap:6px}
input[type=date]{min-width:150px}
textarea{resize:vertical}
.skip{position:fixed;left:12px;top:-70px;z-index:100;background:var(--ink);color:var(--page);padding:10px 16px;border-radius:8px}
.skip:focus{top:12px}
.brand{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:-.025em;line-height:1.4;white-space:nowrap}
.brand-dot{display:inline-block;flex-shrink:0;width:12px;height:12px;border-radius:50%;background:var(--green);box-shadow:3px 3px 0 var(--red)}
.brand-accent{color:var(--red)}
.brand-link{width:fit-content;text-decoration:none;border-radius:8px}
.shell{min-height:100dvh;display:grid;grid-template-columns:236px minmax(0,1fr)}
.sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:24px;height:100dvh;overflow-y:auto;padding:24px 16px 20px;border-right:1px solid var(--rule);background:var(--page)}
.business-card{display:grid;gap:1px;border:1px solid var(--rule);border-radius:14px;background:var(--paper);padding:10px 12px}
.business-card span{font-size:12px;color:var(--ink-2)}
.business-card strong{font-size:14px;font-weight:600}
.sidebar nav{display:grid;gap:2px}
.nav-button{position:relative;text-align:left;padding:9px 12px;background:transparent;color:var(--ink-2);font-size:15px;font-weight:600;border-radius:8px;white-space:nowrap;min-height:40px}
.nav-button:hover,.nav-button.active{background:var(--chip);color:var(--ink)}
.nav-button.active::before{content:'';position:absolute;inset:8px auto 8px 0;width:3px;border-radius:99px;background:var(--ink)}
.sidebar-bottom{margin-top:auto;display:grid;gap:14px}
.sidebar-bottom .text-button{padding-inline:12px}
.workspace-note{padding:12px;border:1px solid var(--rule);border-radius:14px;background:var(--paper);display:grid;gap:2px;font-size:13px}
.workspace-note strong{font-weight:600}
.workspace-note span{font-size:12px;color:var(--ink-2)}
.workspace{min-width:0}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1160px;margin:0 auto;padding:24px 32px 0;color:var(--ink-2);font-size:13px}
.topbar-right{display:flex;align-items:center;gap:12px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:12px;font-size:15px;font-weight:600;line-height:1.4;text-decoration:none;transition:background .15s,color .15s}
.button.primary{background:var(--red);color:white;box-shadow:3px 3px 0 var(--red-deep)}
.button.primary:hover{background:var(--red-deep)}
.button.primary:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--red-deep)}
.button.primary:disabled{opacity:1;background:var(--chip);color:var(--ink-3);box-shadow:none;transform:none}
.button.secondary{background:var(--paper);border:1.5px solid var(--ink);color:var(--ink)}
.button.secondary:hover{background:var(--chip)}
.text-button{padding:6px 0;min-height:32px;background:transparent;color:var(--ink-2);font-size:14px;font-weight:600;text-align:left;text-decoration:none}
.text-button:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.badge{display:inline-flex;align-items:center;font-size:12px;font-weight:600;line-height:1.5;padding:4px 10px;border-radius:99px;white-space:nowrap}
.badge.amber{background:var(--amber-bg);color:var(--amber)}
.badge.green{background:var(--green-bg);color:var(--green-ink)}
.badge.blue,.badge.muted{background:var(--chip);color:var(--ink-2)}
.badge.red{background:var(--danger-bg);color:var(--red-deep)}
.workspace main#main{padding:24px 32px 40px;max-width:1160px;margin:0 auto;min-width:0}
.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:none;color:var(--ink-2);margin-bottom:8px}
.page-heading .eyebrow{font-size:14px;font-weight:400;letter-spacing:0;text-transform:none}
.lede{color:var(--ink-2);font-size:15px;margin:0;max-width:680px}
.heading-note{display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:270px;flex-shrink:0;padding-top:4px;font-size:13px;color:var(--ink-2)}
.notice-strip{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;margin-bottom:24px;border:1px solid var(--rule);border-radius:14px;background:var(--paper)}
.notice-strip p{flex:1;min-width:240px;font-size:14px;color:var(--ink-2);margin:0}
.notice-strip strong{font-weight:600;color:var(--ink)}
.notice-icon{display:grid;place-items:center;width:20px;height:20px;border:1.5px solid var(--ink-2);border-radius:50%;font-size:12px;font-weight:600;flex-shrink:0;color:var(--ink-2)}
.filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:24px}
.filters label{font-size:13px}
.filters input,.filters select{font-size:14px;min-width:145px}
.department-filter{min-width:190px;max-width:300px}
.filter-count{margin-left:auto;margin-bottom:12px;font-size:13px;color:var(--ink-2)}
.filters .text-button{margin-bottom:4px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.stat{min-width:0;padding:20px;border:1px solid var(--rule);border-radius:14px;background:var(--paper)}
.stat-label{font-size:14px;color:var(--ink-2);margin-bottom:12px}
.stat strong{font-family:var(--font-display);font-size:30px;line-height:1.2;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.stat-note{font-size:13px;line-height:1.5;color:var(--ink-2);margin:12px 0 0}
.stat.featured{border-color:var(--ink)}
.unit-note{font-size:13px;line-height:1.6;color:var(--ink-2);margin:14px 0 24px}
.overview-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin:24px 0}
.panel{min-width:0;border:1px solid var(--rule);border-radius:14px;background:var(--paper);overflow:hidden}
.panel+.panel{margin-top:24px}
.overview-grid>.panel+.panel,.quality-grid>.panel+.panel{margin-top:0}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px}
.panel-heading h2{font-size:20px}
.panel-heading .eyebrow{font-size:12px}
.panel-heading select{font-size:14px;min-width:120px;max-width:170px}
.bar-chart{padding:0 24px 24px}
.bar-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 0;text-align:left;color:var(--ink);background:transparent;border-radius:4px}
.bar-index{font-size:12px;color:var(--ink-3);min-width:20px}
.bar-description{display:grid;gap:8px;flex:1;min-width:0;font-size:13px}
.bar-track{height:6px;border-radius:99px;background:var(--chip);overflow:hidden}
.bar-fill{display:block;height:100%;border-radius:99px;background:var(--green-ink)}
.bar-fill.negative{background:var(--red-deep)}
.bar-row strong{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;min-width:76px;text-align:right}
.bar-row:hover .bar-description{color:var(--green-ink)}
.readiness{padding:0 24px 24px}
.ready-line{padding:18px 0;border-top:1px solid var(--rule-2)}
.ready-line:first-child{border:0;padding-top:0}
.ready-line:last-child{padding-bottom:0}
.ready-line h3{margin-top:12px}
.ready-line p{font-size:14px;color:var(--ink-2);margin-bottom:8px}
.table-scroll{overflow:auto}
table{width:100%;border-collapse:separate;border-spacing:0;text-align:left;font-size:14px}
th{background:var(--paper);padding:11px 16px;border-bottom:1px solid var(--rule);font-size:13px;font-weight:600;color:var(--ink-2);white-space:nowrap}
td{padding:12px 16px;border-bottom:1px solid var(--rule-2);vertical-align:middle;font-size:14px;color:var(--ink)}
td:first-child{min-width:200px}
td strong{display:block;font-size:14px;font-weight:600}
tr:last-child td{border-bottom:0}
tbody tr:hover{background:#fffaf1}
.row-sub{display:block;font-size:13px;color:var(--ink-2);margin-top:3px;white-space:nowrap}
.numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.negative-text{color:var(--red-deep)!important}
.positive-text{color:var(--green-ink)}
.sort-button{padding:5px 0;background:transparent;color:inherit;font-size:inherit;font-weight:inherit}
.table-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:0 24px 20px}
.table-tools input{min-width:260px;font-size:15px}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 24px;border-top:1px solid var(--rule);font-size:13px;color:var(--ink-2)}
.pagination>div{display:flex;align-items:center;gap:12px}
.pagination .button{font-size:14px;padding:8px 12px}
.empty{padding:40px 24px;text-align:center;color:var(--ink-2)}
.empty p{font-size:14px;margin:0}
.empty h3{font-size:20px;color:var(--ink)}
.quality-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}
.details{display:grid;grid-template-columns:minmax(130px,1fr) 1.6fr;gap:16px 20px;margin:0;padding:0 24px 24px;font-size:14px}
.details dt{color:var(--ink-2)}
.details dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
.issue-list{list-style:none;padding:0 24px 24px;margin:0}
.issue-list li{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--rule-2)}
.issue-list li:first-child{border:0;padding-top:0}
.issue-list p{font-size:14px;color:var(--ink-2);margin:0}
.issue-dot{width:6px;height:6px;border-radius:50%;background:var(--amber);flex-shrink:0;margin-top:8px}
.panel-intro{font-size:14px;color:var(--ink-2);padding:0 24px;margin-bottom:20px;max-width:850px}
.quality-grid~.panel{margin-top:24px}
.capture-list{padding:0 24px 24px}
.capture-list article{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid var(--rule-2)}
.capture-list strong{font-size:14px;font-weight:600}
.capture-list p{font-size:13px;color:var(--ink-2);margin:6px 0 0}
.capture-file{text-align:right;font-size:12px;color:var(--ink-2);overflow-wrap:anywhere;min-width:0}
.capture-file span,.capture-file code{display:block;line-height:1.7}
.budget-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;align-items:start}
.budget-grid>div{min-width:0}
.budget-grid>div>.panel+.panel{margin-top:24px}
#budget-form{padding:0 24px 24px}
.budget-meta{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-bottom:24px;border-bottom:1px solid var(--rule-2)}
.budget-meta label:first-child{grid-column:1/-1}
.budget-meta input{width:100%;min-width:0;font-size:14px}
.budget-field{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--rule-2)}
.budget-field label{gap:5px}
.budget-field label strong{font-size:14px;font-weight:600}
.budget-field label span{font-size:13px;color:var(--ink-2);font-weight:400}
.budget-field input{width:120px;text-align:right;font-size:15px;font-variant-numeric:tabular-nums;flex-shrink:0}
.assumptions{margin-top:24px;font-size:13px}
.assumptions textarea{font-size:14px;line-height:1.6}
.budget-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}
#budget-notice{font-size:13px;color:var(--ink-2);width:100%}
.budget-results{padding:24px;border-color:var(--ink)}
.budget-results h2{margin-bottom:24px}
.outcome-label{font-size:14px;color:var(--ink-2);margin-bottom:10px}
.outcome-value{font-family:var(--font-display);font-size:36px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.muted-text{font-size:14px;line-height:1.6;color:var(--ink-2);margin-top:12px}
.small{font-size:13px}
.budget-rule{border-top:1px solid var(--rule);margin:24px 0}
.result-row{display:flex;justify-content:space-between;gap:16px;margin-bottom:18px;font-size:14px;color:var(--ink-2)}
.result-row strong{font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}
.budget-results .badge{white-space:normal;margin-top:6px}
.form-error,.error-banner{background:var(--danger-bg);color:var(--red-deep);padding:12px 14px;font-size:14px;border-radius:12px;margin-bottom:20px}
.check-list{padding:0 24px 24px 42px;margin:0;color:var(--ink-2);font-size:14px}
.check-list li{padding:6px 0}
footer{display:flex;justify-content:space-between;gap:20px;max-width:1160px;margin:0 auto;padding:0 32px 28px;font-size:12px;color:var(--ink-2)}
.login-screen{min-height:100dvh;display:grid;place-items:center;padding:40px 16px}
.login-wrap{width:100%;max-width:384px}
.login-wrap>.brand{display:flex;width:fit-content;margin:0 auto 32px;font-size:30px}
.login-wrap .brand-dot{width:16px;height:16px}
.login-card{padding:24px;border:1px solid var(--rule);border-radius:14px;background:var(--paper)}
.login-card h1{font-size:24px;margin-bottom:10px}
.login-card>p{font-size:15px;color:var(--ink-2);margin-bottom:0}
.login-form{display:grid;gap:20px;margin-top:24px}
.login-form label{font-size:13px}
.login-form input{width:100%;font-size:15px}
.login-form .button{width:100%;margin-top:4px}
.login-form .form-error{margin:0}
.login-help{font-size:14px;color:var(--ink-2);margin:24px 0 0;text-align:center}
.state-card h1{font-size:24px}
.state-card .eyebrow{margin-bottom:12px;font-size:12px}
.state-actions{display:grid;gap:12px;margin-top:24px}
.state-actions:empty{display:none}
.comparison-body{padding:0 24px 24px}
.comparison-body>p{font-size:14px;color:var(--ink-2);max-width:800px;line-height:1.6}
.comparison-body .details{padding:10px 0 24px;grid-template-columns:minmax(170px,300px) 1fr}
.financial-summary{padding:0 24px 24px}
.financial-summary>p{font-size:14px;color:var(--ink-2);margin:16px 0}
.financial-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.financial-values .stat{background:var(--page)}
.financial-values .stat strong{font-size:28px}
.source-notes{font-size:14px;color:var(--ink-2);line-height:1.6}
.source-notes summary{cursor:pointer;color:var(--ink);font-weight:600}
.source-notes li{margin-top:8px}
.control-date-note{font-size:13px;color:var(--ink-2);margin:24px 0 12px}
.stock-tools{align-items:flex-end}
.stock-tools input{flex:1;min-width:250px}
.stock-tools label{min-width:200px;font-size:13px}
.stock-table td:first-child{min-width:240px;max-width:320px}
.stock-name{background:transparent;padding:4px 0;text-align:left;color:var(--ink);font-size:14px;line-height:1.5;font-weight:600;text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:4px}
.stock-name:hover{text-decoration-color:var(--ink)}
.missing-value{color:var(--ink-3);font-size:13px}
.stock-details{display:grid;grid-template-columns:repeat(2,minmax(90px,1fr) minmax(140px,2fr));gap:16px 20px;padding:0 24px 24px;margin:0;font-size:14px}
.stock-details dt{color:var(--ink-2)}
.stock-details dd{margin:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.stock-limitations{padding:0 0 0 18px}
.stock-tools input{width:100%}
#stock-source-details{margin-top:24px;scroll-margin-top:20px}
@media(max-width:1279px){
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .overview-grid,.quality-grid{grid-template-columns:1fr}
  .heading-note{max-width:220px}
  .budget-grid{grid-template-columns:1fr}
  .budget-grid>div{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .budget-grid>div>.panel+.panel{margin-top:0}
  .financial-values{grid-template-columns:1fr}
}
@media(max-width:1023px){
  html{scroll-padding-top:160px}
  .shell{display:block}
  .sidebar{position:sticky;z-index:10;top:0;height:auto;border-right:0;border-bottom:1px solid var(--rule);padding:16px 16px 8px;gap:12px;overflow:visible;display:grid;grid-template-columns:1fr auto;background:var(--page)}
  .sidebar .brand-link{align-self:center}
  .business-card{border:0;padding:0;background:transparent;justify-self:end;align-self:center;text-align:right}
  .business-card span{display:none}
  .sidebar nav{grid-column:1/-1;display:flex;gap:4px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:thin}
  .nav-button{flex-shrink:0;min-height:44px;font-size:14px;padding:10px 12px}
  .nav-button.active::before{inset:auto 12px 4px;height:3px;width:auto}
  .sidebar-bottom{display:flex;align-items:center;justify-content:space-between;grid-column:1/-1;margin:0;gap:12px}
  .sidebar-bottom .workspace-note{display:none}
  .sidebar-bottom .text-button{font-size:13px;padding:4px 0;min-height:32px}
  .sidebar-bottom .button{min-height:32px;padding:4px 10px;font-size:13px}
  .topbar{padding:20px 24px 0}
  .workspace main#main{padding:24px}
  footer{padding-inline:24px}
  .overview-grid{grid-template-columns:1.2fr 1fr}
}
@media(max-width:700px){
  .sidebar{gap:10px}
  .brand{font-size:19px}
  .business-card strong{font-size:12px}
  .topbar{padding:16px 16px 0;font-size:12px;gap:10px}
  .topbar-right{gap:8px}
  .topbar .badge{display:none}
  .topbar .button{font-size:13px;padding:8px 12px}
  .workspace main#main{padding:24px 16px 32px}
  h1{font-size:30px}
  .page-heading{display:block;margin-bottom:24px}
  .heading-note{align-items:flex-start;gap:8px;max-width:none;margin-top:16px}
  .notice-strip{padding:14px;gap:10px}
  .notice-strip p{min-width:0;flex-basis:calc(100% - 32px)}
  .notice-strip .text-button{margin-left:30px}
  .filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .filters label{width:100%;min-width:0}
  .filters input,.filters select{width:100%;min-width:0}
  .department-filter{grid-column:1/-1;min-width:0;max-width:none}
  .filters .text-button{justify-self:start;margin:0}
  .filter-count{display:none}
  .stats{gap:12px}
  .stat{padding:16px}
  .stat strong{font-size:28px}
  .stat-label{font-size:13px}
  .stat-note{font-size:13px}
  .overview-grid,.quality-grid{grid-template-columns:1fr;gap:20px}
  .panel-heading{padding:20px;flex-wrap:wrap}
  .panel-heading h2{font-size:20px}
  .panel-heading select{max-width:100%}
  .bar-chart,.readiness{padding:0 20px 20px}
  .bar-row{gap:8px}
  .bar-index{min-width:16px}
  .bar-row strong{min-width:70px;font-size:12px}
  .table-tools{padding:0 20px 20px;gap:12px}
  .table-tools input{min-width:0;width:100%}
  .pagination{padding:16px 20px;display:grid;gap:12px}
  .pagination>div{justify-content:space-between;gap:8px}
  .pagination .button{font-size:13px}
  .details{grid-template-columns:minmax(100px,1fr) 1.3fr;padding:0 20px 20px;gap:16px 12px;font-size:13px}
  .issue-list,.capture-list{padding-inline:20px}
  .panel-intro{padding-inline:20px}
  .capture-list article{flex-direction:column;gap:12px}
  .capture-file{text-align:left}
  .budget-grid{display:block}
  .budget-grid>div{display:block;margin-top:20px}
  .budget-grid>div>.panel+.panel{margin-top:20px}
  #budget-form{padding-inline:20px}
  .budget-field{gap:12px}
  .budget-field input{width:108px}
  .budget-results{padding:20px}
  footer{padding:0 16px 24px;flex-direction:column;gap:6px}
  .comparison-body,.financial-summary{padding:0 20px 20px}
  .comparison-body .details{grid-template-columns:1.3fr 1fr}
  .stock-tools{display:grid;width:100%}
  .stock-tools label{min-width:0}
  .stock-details{grid-template-columns:minmax(90px,1fr) minmax(140px,2fr);padding-inline:20px;gap:16px;font-size:13px}
}
@media(max-width:639px){
  input,select,textarea,.login-form input,.filters input,.filters select,.table-tools input,.budget-meta input,.budget-field input,.assumptions textarea{font-size:16px}
  .button,summary{min-height:44px}
  .text-button{min-height:44px}
  .sidebar-bottom .text-button,.sidebar-bottom .button{min-height:44px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
@media print{html,body{background:white}.shell{display:block}.sidebar,.topbar,footer{display:none}.workspace main#main{max-width:none;padding:0}.panel{break-inside:avoid}.table-scroll{overflow:visible}}
/* Saved multi-year history. Missing values are labels, never zero-height bars. */
.history-search { flex: 1; min-width: 200px; }
.history-filters { align-items: end; }
.history-body { padding: 0 24px 24px; }
.history-filters { margin-top: 24px; }
.history-table th { white-space: normal; }
.history-table tbody th { text-align: left; min-width: 100px; }
.history-amount { min-width: 130px; }
.history-track { display: block; height: 4px; margin-top: 6px; background: #ece7e4; }
.history-track > span { display: block; height: 100%; background: #d12d31; }
.stats-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-bottom: 24px; }
.table-wrap { overflow-x: auto; }
.muted,.section-note { color: var(--ink-2); }
.section-note { margin: 0 0 16px; font-size: 14px; line-height: 1.6; }
.notice { padding: 16px; margin-bottom: 24px; border: 1px solid var(--rule); border-radius: 14px; background: var(--paper); line-height: 1.6; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
@media(max-width:700px) { .stats-grid { grid-template-columns: 1fr; } .history-search { min-width: 0; } }

