:root{color:#16231f;font-synthesis:none;text-rendering:optimizelegibility;--forest:#173f35;--forest-light:#2b6655;--ink:#16231f;--muted:#56645f;--paper:#fffdf8;--line:#d9d8cf;--warning:#8a5400;--warning-bg:#fff4d6;--danger:#a3312d;--danger-bg:#fff0ee;--focus:#1668c1;background:#f4f1e8;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,sans-serif}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{background:#f4f1e8;min-height:100vh;margin:0}button,input,select{font:inherit}button,.button,a{-webkit-tap-highlight-color:transparent}a{color:#155d4d;text-underline-offset:.18em}a:hover{color:#0b3d32}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button,.button{background:var(--paper);min-height:44px;color:var(--ink);cursor:pointer;border:1px solid #a7ada8;border-radius:.65rem;justify-content:center;align-items:center;gap:.4rem;padding:.65rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}button:hover:not(:disabled),.button:hover{border-color:var(--forest);background:#f1f7f4}button:disabled{cursor:not-allowed;opacity:.55}button.primary,.button.primary{color:#fff;background:var(--forest);border-color:var(--forest)}button.primary:hover:not(:disabled),.button.primary:hover{color:#fff;background:#0f332a}button.danger{color:#fff;background:var(--danger);border-color:var(--danger)}button.danger:hover:not(:disabled){color:#fff;background:#7d211e;border-color:#7d211e}.secondary-danger{color:var(--danger);border-color:#d79c98}.app-layout{grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--forest);color:#fff;height:100vh;padding:1.5rem 1rem;position:sticky;top:0}.brand{align-items:center;gap:.75rem;margin:0 .4rem 2rem;font-size:1.12rem;font-weight:800;display:flex}.brand-mark{width:2rem;height:2rem;color:var(--forest);background:#e7d8a8;border-radius:.55rem;place-items:center;font-weight:900;display:inline-grid}.sidebar nav{gap:.35rem;display:grid}.sidebar nav a{color:#eaf2ef;border-radius:.6rem;align-items:center;gap:.8rem;min-height:48px;padding:.65rem .75rem;text-decoration:none;display:flex}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#2a5c50}.nav-icon{border:1px solid;border-radius:50%;place-items:center;width:1.7rem;height:1.7rem;font-size:.72rem;font-weight:800;display:grid}.app-content{min-width:0}.preview-banner{color:#5f3700;background:#ffe6a6;border-bottom:1px solid #d8a63d;justify-content:center;align-items:center;gap:.65rem;min-height:2.5rem;padding:.5rem 1rem;font-size:.82rem;display:flex}.preview-banner strong{letter-spacing:.08em}.mobile-header,.bottom-navigation{display:none}.main-content{width:min(100%,1440px);margin:0 auto;padding:2rem clamp(1.5rem,4vw,4rem) 5rem}.update-notice{color:#5f3700;background:var(--warning-bg);border:1px solid #d8a63d;border-radius:.8rem;justify-content:space-between;align-items:center;gap:1.25rem;margin-bottom:1rem;padding:1rem;display:flex}.update-notice p{margin:.25rem 0 0}.update-blocked,.update-error{font-weight:700}.update-error{color:var(--danger)}.update-actions{flex:none;gap:.5rem;display:flex}.safety-strip{border:1px solid var(--line);background:var(--line);border-radius:.8rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden;box-shadow:0 8px 24px #192d260d}.status{background:var(--paper);flex-direction:column;gap:.18rem;padding:.8rem 1rem;display:flex}.status>span{color:var(--muted);font-size:.78rem}.status>strong{font-size:.92rem}.status.warning{background:var(--warning-bg);color:#6f4300}.safety-note{background:var(--paper);color:var(--muted);grid-column:1/-1;margin:0;padding:.55rem 1rem;font-size:.78rem}.page{margin-top:2.5rem}.page.narrow{max-width:720px}.lot-selector{border:1px solid var(--line);background:var(--paper);border-radius:.8rem;margin:1.2rem 0;padding:1rem}.lot-selector legend{font-weight:800}.lot-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(9rem,12rem);align-items:center;gap:1rem;padding:.7rem 0;display:grid}.lot-row:last-child{border-bottom:0}.lot-row label{gap:.2rem;font-weight:700;display:grid}.lot-row small{color:var(--muted);font-weight:400}.impact-panel{background:var(--warning-bg);border:1px solid #d8a63d;border-radius:.8rem;margin-top:1rem;padding:1rem}@media (width<=640px){.lot-row{grid-template-columns:1fr}}.page-header{justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.75rem;display:flex}.eyebrow{color:var(--forest-light);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .25rem;font-size:.78rem;font-weight:800}h1{letter-spacing:-.03em;margin:0;font-family:Georgia,Yu Mincho,serif;font-size:clamp(2rem,4vw,3.25rem);line-height:1.1}h2{line-height:1.3}.page-header p,.page>p{color:var(--muted)}.back-link{align-items:center;min-height:44px;margin-bottom:1rem;display:inline-flex}.master-navigation,.secondary-navigation{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.4rem;margin-bottom:1.5rem;padding-bottom:.75rem;display:flex}.master-navigation a,.secondary-navigation a{min-height:44px;color:var(--muted);border-radius:.55rem;align-items:center;padding:.5rem .8rem;font-weight:700;text-decoration:none;display:inline-flex}.master-navigation a.active,.secondary-navigation a.active{color:#fff;background:var(--forest)}.filter-bar{border:1px solid var(--line);background:var(--paper);border-radius:.8rem;flex-wrap:wrap;align-items:center;gap:.8rem;margin-bottom:1.25rem;padding:1rem;display:flex}.filter-bar>span,.filter-bar label{font-weight:800}.filter-bar select,.filter-bar input{background:#fff;border:1px solid #8d9893;border-radius:.5rem;max-width:100%;min-height:44px;padding:.55rem 2rem .55rem .7rem}.filter-bar select{height:44px}.filter-bar input{min-width:9.5rem;padding-right:.7rem}.segmented{flex-wrap:wrap;gap:.35rem;display:flex}.segmented button[aria-pressed=true]{color:#fff;background:var(--forest);border-color:var(--forest)}table{border-collapse:collapse;background:var(--paper);border:1px solid var(--line);width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.95rem 1rem}thead th{color:var(--muted);background:#ecebe4;font-size:.82rem}tbody th{font-weight:750}.compact-list{display:none}.badge{border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.78rem;font-weight:800;display:inline-flex}.badge.active{color:#155242;background:#dcefe7}.badge.inactive{color:#5e6461;background:#e6e7e5}.pagination{justify-content:center;align-items:center;gap:1rem;margin-top:1.25rem;display:flex}.empty-state{text-align:center;background:#fffdf8ad;border:1px dashed #abb4af;border-radius:.85rem;margin-top:1.5rem;padding:2.5rem}.empty-state h2{margin-top:0}.system-banner,.error-summary{border-radius:.7rem;margin:1rem 0;padding:1rem}.system-banner.error,.error-summary{color:#71201d;background:var(--danger-bg);border:1px solid #dea29f}.error-summary h2{margin-top:0;font-size:1.1rem}.error-summary ul{margin-bottom:0}form{background:var(--paper);border:1px solid var(--line);border-radius:.9rem;margin-top:1.5rem;padding:clamp(1rem,4vw,2rem)}.field{border:0;margin:0 0 1.6rem;padding:0}.field label,.field legend{margin-bottom:.45rem;font-weight:800;display:block}.field label span,.field legend span{color:var(--danger);margin-left:.35rem;font-size:.75rem}.field input[type=text],.field>input,.field>select{background:#fff;border:1px solid #8d9893;border-radius:.5rem;width:100%;min-height:48px;padding:.65rem .75rem}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--danger);border-width:2px}.field-label{margin-bottom:.45rem;font-weight:800;display:block}.field output{background:#f0efe9;border-radius:.5rem;min-height:48px;padding:.75rem;display:block}.field-help{color:var(--muted);font-size:.82rem}.radio-group{flex-wrap:wrap;gap:.75rem;display:flex}.radio-group label{border:1px solid var(--line);border-radius:.55rem;align-items:center;gap:.55rem;min-height:44px;padding:.5rem .8rem;display:inline-flex}.radio-group input{width:1.15rem;height:1.15rem}.form-actions{gap:.75rem;display:flex}.page-actions{flex-wrap:wrap;gap:.75rem;display:flex}.calculation-panel{border:1px solid var(--line);background:#f7f5ed;border-radius:.7rem;margin:0 0 1.6rem;padding:1rem}.data-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.data-action-card,.import-panel{border:1px solid var(--line);background:var(--paper);border-radius:.9rem;padding:clamp(1rem,3vw,1.5rem)}.data-action-card h2,.import-panel h2{margin-top:0}.muted-card{color:var(--muted);background:#efeee8}.import-panel{margin:1rem 0}.file-picker{gap:.5rem;max-width:46rem;font-weight:800;display:grid}.file-picker input{background:#fff;border:1px solid #8d9893;border-radius:.5rem;min-height:48px;padding:.65rem}.import-progress{grid-template-columns:minmax(8rem,auto) minmax(10rem,1fr) auto;align-items:center;gap:.75rem;margin:1rem 0;display:grid}.import-progress progress{width:100%}.import-issue-region{max-height:28rem;margin-top:.75rem;overflow:auto}.import-counts{border:1px solid var(--line);background:var(--line);border-radius:.7rem;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.import-counts div{background:#fff;padding:.8rem}.import-counts dt{color:var(--muted);font-size:.8rem}.import-counts dd{margin:.2rem 0 0;font-weight:800}.confirmation-check{align-items:flex-start;gap:.7rem;margin:1rem 0;font-weight:800;display:flex}.confirmation-check input{width:1.25rem;height:1.25rem}.success-panel{background:#edf8f3;border-color:#82aa9c}@media (width<=720px){.data-action-grid,.import-counts,.import-progress{grid-template-columns:1fr}}.calculation-panel h2{margin-top:0;font-size:1.05rem}.calculation-panel .detail-list{margin-bottom:0}.detail-list{border:1px solid var(--line);background:var(--line);border-radius:.8rem;gap:1px;max-width:760px;display:grid;overflow:hidden}.detail-list div{background:var(--paper);grid-template-columns:minmax(120px,1fr) 2fr;display:grid}.detail-list dt,.detail-list dd{margin:0;padding:1rem}.detail-list dt{color:var(--muted);background:#f0efe9;font-weight:700}.danger-zone{background:var(--danger-bg);border:1px solid #e0aaa7;border-radius:.8rem;max-width:760px;margin-top:2rem;padding:1.25rem}.danger-zone h2{margin-top:0}.dialog-backdrop{z-index:20;background:#0c1a158f;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.dialog{background:var(--paper);border-radius:.9rem;width:min(100%,520px);padding:1.5rem;box-shadow:0 24px 80px #00000040}.dialog h2{margin-top:0}.form-card,.notice{border:1px solid var(--line);background:var(--paper);border-radius:.8rem;max-width:760px;margin-top:1.25rem;padding:1.25rem}.form-card{gap:1rem;display:grid}.form-card label:not(.checkbox-row){gap:.45rem;font-weight:700;display:grid}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.summary-card{border:1px solid var(--line);background:var(--paper);border-radius:.8rem;gap:.35rem;padding:1rem;display:grid}.summary-card span{color:var(--muted)}.warning-note{background:var(--warning-bg);border-color:#d6a653}.checkbox-row{align-items:flex-start;gap:.75rem;min-height:44px;padding-block:.5rem;display:flex}.checkbox-row input{width:1.25rem;height:1.25rem;margin-top:.15rem}.success-message{border:1px solid var(--forest-light);background:#edf7f2;border-radius:.8rem;max-width:760px;padding:1rem}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}@media (width<=900px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.summary-grid{grid-template-columns:1fr}}.startup-card{background:var(--paper);border-radius:1rem;width:min(100% - 2rem,680px);margin:12vh auto;padding:clamp(1.5rem,6vw,3.5rem);box-shadow:0 18px 60px #1d362d1f}.startup-card p{line-height:1.7}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1023px){.app-layout{padding-bottom:calc(70px + env(safe-area-inset-bottom));display:block}.sidebar{display:none}.mobile-header{min-height:58px;padding:calc(.65rem + env(safe-area-inset-top)) 1rem .65rem;color:#fff;background:var(--forest);align-items:center;gap:.6rem;font-weight:800;display:flex}.mobile-header .brand-mark{width:1.7rem;height:1.7rem}.main-content{padding:1rem max(1rem, env(safe-area-inset-left)) 3rem max(1rem, env(safe-area-inset-right))}.update-notice{flex-direction:column;align-items:stretch}.update-actions{flex-wrap:wrap}.bottom-navigation{z-index:10;padding:.35rem max(.25rem, env(safe-area-inset-right)) calc(.35rem + env(safe-area-inset-bottom)) max(.25rem, env(safe-area-inset-left));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf8f5;border-top:1px solid #ced1cc;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.bottom-navigation a{min-height:58px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:.15rem;font-size:clamp(.65rem,2.2vw,.78rem);text-decoration:none;display:flex}.bottom-navigation a.active{color:var(--forest);font-weight:800}.bottom-navigation .nav-icon{width:1.45rem;height:1.45rem}.safety-strip{grid-template-columns:1fr}.safety-note{grid-column:1}.page{margin-top:1.75rem}.page-header{flex-direction:column;align-items:stretch}.page-header .button{align-self:flex-start}.wide-list{display:none}.compact-list{gap:.75rem;display:grid}.account-card{border:1px solid var(--line);background:var(--paper);border-radius:.75rem;padding:1rem}.account-card>div{align-items:center;gap:.65rem;display:flex}.account-card h2{margin:.7rem 0 .3rem;font-size:1.15rem}.account-card p{color:var(--muted);margin:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.report-controls{border:1px solid var(--line);background:var(--paper);border-radius:.8rem;gap:1rem;margin-bottom:1.5rem;padding:1rem;display:grid}.report-actions{flex-wrap:wrap;gap:.75rem;display:flex}.report-progress{gap:.4rem;max-width:28rem;display:grid}.report-progress progress{inline-size:100%}.report-controls>label,.date-range label{gap:.35rem;max-width:16rem;font-weight:800;display:grid}.report-controls input{border:1px solid #8d9893;border-radius:.5rem;min-height:44px;padding:.55rem .7rem}.report-controls>button{justify-self:start}.date-range{flex-wrap:wrap;gap:1rem;display:flex}.report-filter-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.report-filter-groups fieldset{border:1px solid var(--line);border-radius:.65rem;min-width:0;padding:.8rem}.report-filter-groups legend{font-weight:800}.check-grid{gap:.45rem;max-height:12rem;display:grid;overflow:auto}.check-grid label{align-items:center;gap:.5rem;min-height:44px;display:flex}.check-grid input{width:1.25rem;height:1.25rem;min-height:auto}.field-error{color:var(--danger);font-weight:700}.report-date{font-weight:800}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1rem 0 1.5rem;display:grid}.metric-grid article{border:1px solid var(--line);background:var(--paper);border-radius:.75rem;gap:.35rem;padding:1rem;display:grid}.metric-grid article span{color:var(--muted);font-size:.82rem}.metric-grid article strong{font-size:1.25rem}.metric-grid article.warning{background:var(--warning-bg);border-color:#d8a63d}.report-chart{border:1px solid var(--line);background:var(--paper);border-radius:.8rem;margin:1.5rem 0;padding:1rem}.report-chart figcaption{gap:.3rem;display:grid}.report-chart figcaption span{color:var(--muted);font-size:.86rem}.report-chart svg{width:100%;height:auto;max-height:22rem;margin-top:.75rem}.chart-axis{stroke:#8d9893;stroke-width:1px}.chart-line{fill:none;stroke-width:3px}.chart-line.series-a{stroke:#176f5b}.chart-line.series-b{stroke:#9b4f15;stroke-dasharray:9 6}.chart-marker{stroke:var(--paper);stroke-width:2px}.chart-marker.series-a{fill:#176f5b}.chart-marker.series-b{fill:#9b4f15}.chart-legend{flex-wrap:wrap;gap:1rem;padding:0;list-style:none;display:flex}.chart-legend li:before{content:"—";margin-right:.35rem;font-weight:900}.chart-legend .series-a:before{color:#176f5b}.chart-legend .series-b:before{content:"– –";color:#9b4f15}.report-table-region{overflow-x:auto}.compact-cards{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.8rem;display:grid}@media (width<=640px){.report-filter-groups,.metric-grid{grid-template-columns:1fr}}
