:root{color-scheme:light;--bg:#f6f7f9;--surface:#fff;--surface-muted:#f0f3f6;--text:#17202a;--muted:#5c6875;--line:#d9e0e7;--accent:#0f766e;--accent-soft:#dff4f1;--danger:#b42318;--danger-soft:#fce8e6;--shadow:0 18px 50px rgba(25,35,45,.1)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}.page-shell{min-height:100vh;padding:40px 24px}.workspace{width:min(1720px,100%);margin:0 auto}.page-heading{max-width:760px;margin-bottom:28px}.eyebrow{margin:0 0 8px;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:10px;font-size:clamp(2rem,5vw,3.5rem);line-height:1;letter-spacing:0}.page-heading p{margin-bottom:0;color:var(--muted);font-size:1.06rem;line-height:1.55}.auth-shell{display:grid;min-height:100vh;align-items:center;justify-items:center;padding:32px 20px;background:var(--bg)}.auth-card{width:min(460px,100%);padding:28px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.auth-card h1{margin-bottom:12px;font-size:2rem;line-height:1.08}.auth-card p{color:var(--muted);line-height:1.5}.auth-form{display:grid;grid-gap:14px;gap:14px;margin-top:22px}.auth-form button{min-height:44px;padding:10px 14px;color:#fff;font-weight:900;border:0;border-radius:8px;background:var(--accent);cursor:pointer}.auth-form button:disabled{cursor:wait;opacity:.72}.auth-error,.auth-success{margin:0;padding:10px 12px;border-radius:8px;font-weight:800}.auth-error{color:var(--danger);background:var(--danger-soft)}.auth-success{color:#05603a;background:#d1fadf}.auth-session-bar{position:-webkit-sticky;position:sticky;top:0;z-index:30;display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:16px;padding:8px 24px;color:var(--text);border-bottom:1px solid var(--line);background:hsla(0,0%,100%,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-session-bar span{min-width:0;overflow-wrap:anywhere;color:var(--muted);font-size:.88rem;font-weight:800}.auth-session-bar button{min-height:32px;padding:6px 10px;color:var(--text);font-weight:900;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer}.upload-layout{grid-template-columns:minmax(280px,380px) 1fr;grid-gap:20px}.analysis-workspace,.upload-layout{display:grid;gap:20px;align-items:start}.analysis-workspace{grid-template-columns:minmax(300px,340px) minmax(0,1fr);grid-gap:20px}.analysis-workspace.filters-hidden{grid-template-columns:minmax(0,1fr)}.repository-workspace{display:grid;grid-gap:20px;gap:20px}.workspace-tabs{display:flex;width:-moz-fit-content;width:fit-content;gap:6px;padding:5px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.workspace-tabs button{min-height:38px;padding:8px 14px;color:var(--muted);font-weight:800;border:0;border-radius:6px;background:transparent;cursor:pointer}.workspace-tabs button[aria-selected=true]{color:#fff;background:var(--accent)}.repository-screen{display:grid;grid-gap:20px;gap:20px}.ordering-workspace{display:grid;grid-gap:18px;gap:18px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.ordering-controls,.ordering-schedule-card,.ordering-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.ordering-subtabs{display:flex;flex-wrap:wrap;gap:6px;width:-moz-fit-content;width:fit-content;padding:5px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.ordering-subtabs button{min-height:34px;padding:7px 11px;color:var(--muted);font-weight:900;border:0;border-radius:6px;background:transparent;cursor:pointer}.ordering-subtabs button[aria-selected=true]{color:#fff;background:var(--accent)}.ordering-setup-panel{display:grid;grid-gap:16px;gap:16px}.onboarding-panel{padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.onboarding-panel strong{display:block;margin-bottom:8px}.onboarding-panel ol{margin:0;padding-left:20px;color:var(--muted);line-height:1.55}.weekday-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));grid-gap:8px;gap:8px}.checkbox-field,.weekday-grid label{display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;color:var(--muted);font-size:.84rem;font-weight:800}.checkbox-field input,.weekday-grid input{width:auto;min-height:auto}.compact-ordering-table{max-height:420px}.ordering-schedule-card div,.ordering-summary div{display:grid;grid-gap:6px;gap:6px;min-height:74px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.order-draft-summary,.ordering-context-strip,.ordering-planner-toolbar{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.order-draft-summary{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:#f0fdf4}.order-draft-summary span,.ordering-context-strip span{color:var(--muted);font-size:.78rem;font-weight:800}.order-draft-summary strong,.ordering-context-strip strong{color:var(--text)}.ordering-planner-toolbar .field{max-width:220px}.compact-planner-wrap{max-height:72vh}.compact-ordering-planner{min-width:1180px;table-layout:fixed}.compact-ordering-planner td,.compact-ordering-planner th{min-width:84px;padding:7px 8px;font-size:.82rem;vertical-align:middle}.compact-ordering-planner td:first-child,.compact-ordering-planner th:first-child{min-width:240px;max-width:280px}.planner-item-cell{display:grid;grid-gap:2px;gap:2px}.ai-suggestion small,.planner-item-cell small{display:block;color:var(--muted);font-size:.7rem;font-weight:800}.ai-suggestion{display:grid;grid-gap:2px;gap:2px;color:#175cd3;font-weight:900}.manager-order-input{width:92px;min-height:30px;padding:5px 7px;border:1px solid var(--line);border-radius:6px}.manager-detail-controls input,.manager-detail-controls select{min-height:34px;padding:6px 8px;border:1px solid var(--line);border-radius:6px}@media (max-width:780px){.compact-planner-wrap{border:0;overflow:visible}.compact-ordering-planner{min-width:0;width:100%}.compact-ordering-planner thead{display:none}.compact-ordering-planner,.compact-ordering-planner tbody,.compact-ordering-planner td,.compact-ordering-planner tr{display:block}.compact-ordering-planner tr{margin-bottom:10px;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.compact-ordering-planner td,.compact-ordering-planner td:first-child{position:static;min-width:0;max-width:none;display:grid;grid-template-columns:128px 1fr;grid-gap:8px;gap:8px;box-shadow:none}.compact-ordering-planner td:before{color:var(--muted);font-size:.7rem;font-weight:900;text-transform:uppercase}.compact-ordering-planner td:first-child:before{content:"Item"}.compact-ordering-planner td:nth-child(2):before{content:"Unit"}.compact-ordering-planner td:nth-child(3):before{content:"Current Stock"}.compact-ordering-planner td:nth-child(4):before{content:"Confidence"}.compact-ordering-planner td:nth-child(5):before{content:"Use Before"}.compact-ordering-planner td:nth-child(6):before{content:"At Delivery"}.compact-ordering-planner td:nth-child(7):before{content:"Cycle Usage"}.compact-ordering-planner td:nth-child(8):before{content:"Safety Days"}.compact-ordering-planner td:nth-child(9):before{content:"Minimum"}.compact-ordering-planner td:nth-child(10):before{content:"Target"}.compact-ordering-planner td:nth-child(11):before{content:"Suggested"}.compact-ordering-planner td:nth-child(12):before{content:"Actual Order"}.compact-ordering-planner td:nth-child(13):before{content:"Value"}.compact-ordering-planner td:nth-child(14):before{content:"Status"}.compact-ordering-planner td:nth-child(15):before{content:"Details"}}.ordering-schedule-card span,.ordering-summary span{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.ordering-schedule-card strong,.ordering-summary strong{align-self:end;overflow-wrap:anywhere}.ordering-table-wrap{max-height:68vh;overflow:auto;border:1px solid var(--line);border-radius:8px}.ordering-table{min-width:2600px;width:100%;border-collapse:collapse}.ordering-table td,.ordering-table th{min-width:130px;padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);background:var(--surface);vertical-align:top}.ordering-table th{position:-webkit-sticky;position:sticky;top:0;z-index:2;color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase;background:#fbfcfd}.ordering-table td:first-child,.ordering-table th:first-child{position:-webkit-sticky;position:sticky;left:0;z-index:1;min-width:230px;max-width:260px;font-weight:900;box-shadow:1px 0 0 var(--line)}.ordering-table th:first-child{z-index:3}.ordering-table.compact-ordering-planner{min-width:1180px;table-layout:fixed}.ordering-table.compact-ordering-planner td,.ordering-table.compact-ordering-planner th{min-width:84px;padding:7px 8px;font-size:.82rem;vertical-align:middle}.ordering-table.compact-ordering-planner td:first-child,.ordering-table.compact-ordering-planner th:first-child{min-width:240px;max-width:280px}.ordering-status{display:inline-flex;min-height:24px;align-items:center;padding:3px 8px;border-radius:999px;color:#175cd3;font-size:.72rem;font-weight:900;background:#e0edff}.ordering-overrides{display:grid;grid-gap:6px;gap:6px;min-width:180px}.ordering-overrides input{width:100%;min-height:32px;padding:6px 8px;border:1px solid var(--line);border-radius:6px}.ordering-action-note{margin:0;padding:12px 14px;color:#5d4400;border:1px solid #f1cf72;border-radius:8px;background:#fff8db;font-weight:800}.calculation-details-row td{background:#f8fafc}.ordering-journey{display:grid;grid-gap:14px;gap:14px;padding:12px;color:var(--text)}.ordering-journey-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#fff}.ordering-journey-actions,.ordering-journey-header>div:first-child{display:grid;grid-gap:5px;gap:5px}.ordering-journey-header strong{color:#020b2d;font-size:1.05rem}.ordering-journey-header span{color:var(--muted)}.ordering-journey-actions{min-width:180px;justify-items:end}.ordering-journey-actions>strong{color:#0b5cff;font-size:1.35rem}.journey-risk-badge,.ordering-day-tags span{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:3px 8px;border-radius:6px;color:#175cd3;font-size:.72rem;font-weight:900;background:#e0edff}.journey-risk-badge.critical-stock-risk{color:#b42318;background:#fee4e2}.ordering-journey-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:8px;gap:8px}.journey-summary-card{display:grid;grid-gap:4px;gap:4px;min-height:92px;align-content:start;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.journey-summary-card small,.journey-summary-card span,.ordering-day-card footer,.ordering-section-heading p{color:var(--muted)}.journey-summary-card span{font-size:.72rem;font-weight:900;text-transform:uppercase}.journey-summary-card strong{color:#020b2d;font-size:1.25rem}.journey-summary-card.emphasis strong{color:#0b5cff}.journey-summary-card.success small{color:#027a48;font-weight:800}.journey-summary-card.warning{border-color:#fecdca;background:#fff7f5}.journey-summary-card.warning small{color:#b42318;font-weight:800}.ordering-calculation-panel,.ordering-stock-forecast{border:1px solid var(--line);border-radius:8px;background:#fff}.ordering-section-heading{display:flex;justify-content:space-between;gap:12px;padding:14px 16px 8px}.ordering-section-heading h3{margin:0;color:#020b2d}.ordering-section-heading p{margin:4px 0 0}.ordering-day-timeline{display:grid;grid-auto-columns:minmax(190px,1fr);grid-auto-flow:column;grid-gap:6px;gap:6px;overflow-x:auto;padding:8px 10px 12px}.ordering-day-card{display:grid;grid-gap:10px;gap:10px;min-height:210px;align-content:start;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.ordering-day-card.delivery-day{border-color:#a6f4c5;background:#effdf5}.ordering-day-card.next-delivery-day{background:#f4f7fb}.ordering-day-card.critical-day{border-color:#fecdca;background:#fff6f4}.ordering-day-card header{display:flex;justify-content:space-between;gap:8px}.ordering-day-card dd,.ordering-day-card header strong{color:#020b2d;font-weight:900}.ordering-day-card header span{display:block}.ordering-day-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.ordering-day-tags span{color:#027a48;background:#d1fadf}.ordering-day-card dl{display:grid;grid-gap:8px;gap:8px;margin:0}.ordering-day-card dl div{display:flex;justify-content:space-between;gap:8px;padding-bottom:6px;border-bottom:1px solid rgba(15,23,42,.08)}.ordering-day-card dt{color:#263a5d}.ordering-day-card dd{margin:0;text-align:right}.positive-value{color:#027a48!important}.negative-value,.stock-out-warning{color:#b42318!important}.stock-out-warning{margin:0;font-weight:900}.ordering-recommendation-explanation{display:grid;grid-template-columns:auto 1fr;grid-gap:10px;gap:10px;align-items:center;padding:12px 14px;border:1px solid #a6f4c5;border-radius:8px;color:#065f46;background:#ecfdf3}.ordering-recommendation-explanation.warning{border-color:#fecdca;color:#b42318;background:#fff7f5}.ordering-calculation-panel{overflow:hidden}.ordering-calculation-panel summary{cursor:pointer;padding:12px 14px;color:#0b2d5f;font-weight:900}.calculation-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px;padding:12px}.calculation-details div{display:grid;grid-gap:5px;gap:5px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.calculation-details span{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.calculation-details strong{overflow-wrap:anywhere}.calculation-forecast-list{grid-column:span 2}.calculation-forecast-list ul{margin:0;padding-left:18px;color:var(--text);line-height:1.45}.duplicate-dialog,.filtered-upload-notice,.latest-closing-panel,.repository-dashboard,.repository-upload-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.filtered-upload-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-color:#f2c94c;background:#fffbeb}.filtered-upload-notice div{display:grid;grid-gap:4px;gap:4px}.filtered-upload-notice span{color:#854d0e;font-size:.9rem}.filtered-upload-notice button{white-space:nowrap}.repository-upload-panel{display:grid;grid-gap:16px;gap:16px;padding:18px}.upload-metadata{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fbfcfd}.upload-metadata .table-heading{background:var(--surface)}.upload-metadata-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px;padding:16px}.store-preview{display:grid;grid-gap:7px;gap:7px;align-content:start;min-height:40px}.store-preview span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.store-preview strong{min-height:40px;display:grid;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--accent-soft);overflow-wrap:anywhere}.repository-upload-targets{grid-template-columns:repeat(2,minmax(220px,1fr))}.repository-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));border-bottom:1px solid var(--line)}.repository-summary div{display:grid;grid-gap:6px;gap:6px;min-height:76px;padding:12px 14px;border-right:1px solid var(--line);background:#fbfcfd}.repository-summary span{color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase}.repository-summary strong{align-self:end;overflow-wrap:anywhere}.upload-completeness-panel{display:grid;grid-gap:16px;gap:16px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.repository-calendar-controls,.repository-sort-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px}.upload-calendar-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));border:1px solid var(--line);border-radius:8px;overflow:hidden}.upload-calendar-summary div{display:grid;grid-gap:6px;gap:6px;padding:12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbfcfd}.upload-calendar-summary span{color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase}.upload-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);grid-gap:14px;gap:14px;align-items:start}.upload-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(72px,1fr));grid-gap:6px;gap:6px}.upload-calendar-weekday{padding:8px;color:var(--muted);font-size:.75rem;text-align:center;text-transform:uppercase}.upload-calendar-day{display:grid;grid-gap:4px;gap:4px;min-height:72px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#eef1f4;color:var(--text);text-align:left;cursor:pointer}.upload-calendar-day span{font-size:1.1rem;font-weight:900}.upload-calendar-day small{color:var(--muted);font-size:.72rem;font-weight:800}.upload-calendar-day.uploaded{border-color:#9bd8b2;background:#e6f6eb}.upload-calendar-day.missing{border-color:#f1a5a5;background:#fde8e8}.upload-calendar-day.warning{border-color:#f2c572;background:#fff3d8}.upload-calendar-day.inactive,.upload-calendar-day:disabled{color:#8b96a3;background:#eef1f4;cursor:default}.upload-calendar-day.selected{outline:3px solid rgba(22,128,118,.25)}.upload-calendar-detail{grid-gap:10px;gap:10px;padding:14px;background:#fbfcfd}.upload-calendar-detail,.upload-calendar-report-card{display:grid;border:1px solid var(--line);border-radius:8px}.upload-calendar-report-card{grid-template-columns:minmax(90px,auto) minmax(0,1fr);grid-gap:6px 10px;gap:6px 10px;padding:10px;background:#fff}.upload-calendar-report-card span{color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase}.upload-calendar-report-card button{grid-column:1/-1}.repository-table{min-width:2350px}.warning-text{color:#9a3412;font-style:normal;font-weight:800}.snapshot-placeholder{margin:0 18px 18px;padding:14px 16px;border:1px solid #d8dee8;border-radius:8px;color:var(--muted);background:#f7f9fc;font-weight:800;line-height:1.5}.food-cost-classification-panel{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.income-statement-control-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:18px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.income-statement-spreadsheet-wrap{max-width:100%;margin:0 18px 18px;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff}.income-statement-spreadsheet{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.income-statement-spreadsheet td,.income-statement-spreadsheet th{min-width:118px;padding:8px 10px;border-right:1px solid #e6ebf2;border-bottom:1px solid #e6ebf2;white-space:nowrap}.income-statement-spreadsheet th{position:-webkit-sticky;position:sticky;top:0;z-index:3;color:#334155;background:#eef3f8;font-size:.75rem;font-weight:900;text-align:center;text-transform:uppercase}.income-statement-spreadsheet thead tr:nth-child(2) th{top:35px;background:#f7f9fc}.income-statement-spreadsheet .sticky-line-column{position:-webkit-sticky;position:sticky;left:0;z-index:4;min-width:280px;max-width:360px;text-align:left;box-shadow:1px 0 0 #d8dee8}.income-statement-spreadsheet td.sticky-line-column{z-index:2;background:#fff}.income-statement-spreadsheet .month-heading,.income-statement-spreadsheet .selected-period-heading{min-width:236px;background:#e8eef6}.statement-line-cell span,.statement-line-cell strong{display:block}.statement-line-cell span{margin-top:2px;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.income-statement-spreadsheet .numeric-cell{text-align:right}.income-statement-spreadsheet .selected-period-cell{background:#fbfcfd;font-weight:900}.income-statement-spreadsheet .statement-section-row td,.income-statement-spreadsheet .statement-section-row td.sticky-line-column{border-top:2px solid #cfd8e5;background:#f7f9fc;font-weight:900}.income-statement-spreadsheet .statement-expense-detail-row .statement-line-cell strong{padding-left:18px;font-weight:700}.income-statement-spreadsheet .statement-ratio-row{color:#475569}.income-statement-compare-table{min-width:1450px}.income-statement-status-pill{display:inline-block;min-width:92px;padding:4px 8px;border-radius:999px;color:#475569;background:#eef2f7;font-size:.72rem;font-weight:900;text-align:center}.income-statement-status-pill.down,.income-statement-status-pill.overspend{color:#b42318;background:#fee4e2}.income-statement-status-pill.underspend,.income-statement-status-pill.up{color:#05603a;background:#d1fadf}.food-cost-review-counters{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:12px;gap:12px;margin:0 18px 18px}.food-cost-review-counters div{padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.food-cost-review-counters span{display:block;color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.food-cost-review-counters strong{display:block;margin-top:6px;color:var(--text);font-size:1.2rem}.income-statement-coverage-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);grid-gap:18px;gap:18px;margin:0 18px 18px}.income-statement-month-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));grid-gap:10px;gap:10px}.income-statement-month-card{min-height:72px;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:left}.income-statement-month-card span,.income-statement-month-card strong{display:block}.income-statement-month-card span{margin-top:6px;font-size:.76rem;font-weight:900}.coverage-dot.approved,.income-statement-month-card.approved{color:#05603a;background:#d1fadf}.coverage-dot.pending_review,.income-statement-month-card.pending_review{color:#854a0e;background:#fef0c7}.coverage-dot.missing,.income-statement-month-card.missing{color:var(--danger);background:var(--danger-soft)}.income-statement-coverage-detail{border:1px solid var(--line);border-radius:8px;padding:14px;background:#fbfcfd}.income-statement-coverage-detail dt,.income-statement-coverage-detail span{color:var(--muted);font-size:.75rem;font-weight:900;text-transform:uppercase}.income-statement-coverage-detail dd{margin:2px 0 10px;overflow-wrap:anywhere}.coverage-dot{display:inline-block;min-width:74px;padding:4px 8px;border-radius:999px;font-size:.72rem;font-weight:900;text-align:center}.latest-closing-table{min-width:1100px}.latest-closing-table tfoot td{color:var(--text);font-weight:900;background:var(--accent-soft);border-top:1px solid #9fd8d0}.identity-display{display:grid;grid-gap:4px;gap:4px;min-width:170px}.identity-display strong{color:var(--text);font-size:.9rem}.identity-display small{color:var(--muted);font-size:.8rem;line-height:1.35;overflow-wrap:anywhere}.status-badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;color:#344054;font-size:.78rem;font-weight:800;border-radius:999px;background:#eef2f6}.duplicate-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(15,23,42,.45)}.duplicate-dialog{display:grid;grid-gap:14px;gap:14px;width:min(520px,100%);padding:22px}.duplicate-dialog h2{margin:0;font-size:1.25rem}.duplicate-dialog p{margin:0;color:var(--muted);line-height:1.45}.duplicate-actions{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.duplicate-actions button{min-height:42px;color:#fff;font-weight:800;border:0;border-radius:8px;background:var(--accent);cursor:pointer}.duplicate-actions button:nth-child(2){color:var(--text);border:1px solid var(--line);background:#fbfcfd}.duplicate-actions button:last-child{color:var(--danger);border:1px solid #f3b4ad;background:var(--danger-soft)}.analysis-load-error,.analysis-table-panel,.filter-panel,.summary-bar{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.analysis-toolbar{display:flex;align-items:center;gap:10px;justify-content:flex-start;flex-wrap:wrap}.active-filter-indicator{color:#0f766e;font-size:.9rem;font-weight:800}.active-filter-indicator.muted{color:var(--muted)}.analysis-load-error{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-color:#f3b4ad;background:var(--danger-soft);color:var(--danger);font-weight:800}.analysis-view-controls{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;justify-content:flex-end}.compact-field{min-width:160px}.secondary-button{min-height:38px;padding:8px 14px;color:var(--text);font-weight:800;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer}.secondary-button:hover{border-color:#9fd8d0;background:var(--accent-soft)}.secondary-button:disabled{color:var(--muted);cursor:not-allowed;background:#f8fafc}.filter-panel{position:-webkit-sticky;position:sticky;top:18px;max-height:calc(100vh - 36px);overflow:auto}.filter-section{display:grid;grid-gap:14px;gap:14px;padding:16px;border-bottom:1px solid var(--line)}.filter-section:last-child{border-bottom:0}.filter-section h2{margin:0;font-size:1rem}.upload-targets.compact .upload-target{min-height:96px;padding:16px}.compact-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.compact-stats span{min-height:44px;padding:9px;color:var(--muted);font-size:.82rem;text-align:center;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.compact-list{max-height:210px;overflow:auto;padding:0}.checkbox-list,.field{display:grid;grid-gap:7px;gap:7px}.field span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.field input,.field select{width:100%;min-height:40px;padding:8px 10px;color:var(--text);border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.field-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.checkbox-list{gap:8px}.checkbox-list label{display:flex;align-items:center;gap:9px;min-height:30px;color:var(--text);font-size:.92rem}.checkbox-list input{width:16px;height:16px;accent-color:var(--accent)}.filter-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.filter-actions button{min-height:42px;color:#fff;font-weight:800;border:0;border-radius:8px;background:var(--accent);cursor:pointer}.filter-actions button:last-child{color:var(--text);border:1px solid var(--line);background:#fbfcfd}.historical-main{display:grid;grid-gap:20px;gap:20px;min-width:0}.summary-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:0;gap:0;overflow:hidden}.summary-bar div{display:grid;grid-gap:6px;gap:6px;min-height:78px;padding:12px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbfcfd}.summary-bar span{color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase}.summary-bar strong{align-self:end;font-size:1rem;line-height:1.25;overflow-wrap:anywhere}.analysis-diagnostic-strip,.canonical-store-summary{display:flex;flex-wrap:wrap;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;color:var(--muted);font-size:.84rem;font-weight:800}.analysis-diagnostic-strip span,.canonical-store-summary span{padding:4px 7px;border-radius:6px;background:#eef3f5}.comparison-panel,.file-list-panel,.inspection-panel,.records-panel,.snapshot-detail-panel,.snapshot-panel,.text-preview-panel,.upload-panel,.validation-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.upload-panel{padding:18px}.upload-targets{display:grid;grid-gap:14px;gap:14px}.upload-target{display:grid;grid-gap:8px;gap:8px;min-height:150px;padding:24px;place-content:center;text-align:center;border:2px dashed #93a4b5;border-radius:8px;background:var(--surface-muted);cursor:pointer;transition:border-color .15s ease,background .15s ease}.upload-target:hover{border-color:var(--accent);background:var(--accent-soft)}.upload-title{font-size:1.18rem;font-weight:800}.upload-copy{color:var(--muted);line-height:1.45}.upload-target input{width:100%;margin-top:8px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-top:16px}.stat{display:grid;grid-gap:4px;gap:4px;min-height:74px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.stat span{color:var(--muted);font-size:.82rem}.stat strong{font-size:1.7rem;line-height:1}.stat.success{background:var(--accent-soft);border-color:#9fd8d0}.stat.danger{border-color:#f3b4ad}.rejection-box,.stat.danger{background:var(--danger-soft)}.rejection-box{display:grid;grid-gap:4px;gap:4px;margin-top:16px;padding:14px;color:var(--danger);border:1px solid #f3b4ad;border-radius:8px}.rejection-box span{color:#7a271a;line-height:1.45}.file-list-panel{overflow:hidden}.comparison-panel,.inspection-panel,.records-panel,.snapshot-detail-panel,.snapshot-panel,.text-preview-panel,.validation-panel{grid-column:1/-1;overflow:hidden}.table-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line)}.table-heading h2{margin:0;font-size:1.1rem}.section-helper{max-width:720px;margin:6px 0 0;color:var(--muted);font-size:.9rem;line-height:1.45}.table-heading span{color:var(--muted);font-size:.92rem}.table-wrap{overflow-x:auto}table{width:100%;min-width:760px;border-collapse:collapse}.records-table{min-width:1500px}.validation-table{min-width:1120px}.sample-table{min-width:1100px}.comparison-table{min-width:1500px}.aura-parser-table,.snapshot-items-table{min-width:1800px}td,th{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase;background:#fbfcfd}td{font-size:.92rem}.records-table td{max-width:260px}tbody tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;font-size:.78rem;font-weight:800}.badge.ok{color:#075e54;background:var(--accent-soft)}.badge.reject{color:var(--danger);background:var(--danger-soft)}.rejected-row{background:#fff8f7}.empty-state{height:180px;color:var(--muted);text-align:center;vertical-align:middle}.missing-cell{color:var(--danger);background:var(--danger-soft);font-weight:800}.calculated-cell{background:#fff8df}.validation-heading{align-items:flex-start}.inspection-heading p,.validation-heading p{max-width:760px;margin:6px 0 0;color:#665200;font-size:.92rem;line-height:1.45}.inspection-heading{align-items:flex-start}.inspection-content,.inspection-list,.page-list{display:grid;grid-gap:16px;gap:16px}.inspection-list{padding:18px}.inspection-item,.page-block{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fbfcfd}.inspection-content{padding:16px}.inspection-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:10px;gap:10px;margin:0}.inspection-meta div{min-height:82px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.inspection-meta dt{margin-bottom:6px;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.inspection-meta dd{margin:0;overflow-wrap:anywhere;line-height:1.45}.inspection-section{display:grid;grid-gap:10px;gap:10px}.inspection-section h4{margin:0;font-size:1rem}.raw-text-panel{max-height:520px;overflow:auto;white-space:pre;-moz-tab-size:4;tab-size:4}.parser-validation{display:grid;grid-gap:14px;gap:14px}.warning-list{display:grid;grid-gap:6px;gap:6px;padding:12px;color:var(--danger);background:var(--danger-soft);border:1px solid #f3b4ad;border-radius:8px}.warning-list p{margin:0}.build-state-list,.snapshot-detail,.snapshot-list{display:grid;grid-gap:14px;gap:14px;padding:18px}.build-state{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.build-state span:first-child,.build-state strong{overflow-wrap:anywhere}.build-state strong{color:var(--danger);font-size:.86rem}.snapshot-card{display:grid;grid-template-columns:minmax(180px,1.3fr) repeat(8,minmax(110px,1fr));grid-gap:12px;gap:12px;width:100%;min-height:78px;padding:12px;color:inherit;text-align:left;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;cursor:pointer}.snapshot-card.selected,.snapshot-card:hover{border-color:var(--accent);background:var(--accent-soft)}.snapshot-card span{display:grid;align-content:center;min-width:0;color:var(--text);font-size:.9rem;line-height:1.35;overflow-wrap:anywhere}.snapshot-card strong{font-size:.98rem}.snapshot-card small{margin-top:4px;color:var(--muted);font-size:.78rem}.analysis-table-panel{overflow:hidden}.historical-table-wrap{max-height:68vh;overflow:auto;position:relative}.historical-table{min-width:720px;width:max-content;border-collapse:separate;border-spacing:0}.historical-table td,.historical-table th{min-width:118px;background:var(--surface)}.historical-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:6;border-bottom:1px solid var(--line)}.historical-table thead tr:nth-child(2) th{top:43px}.historical-table .date-group{text-align:center;color:var(--text);background:#eef6f5;border-left:1px solid var(--line)}.historical-table .variance-date-heading{min-width:96px}.historical-table .sticky-col{position:-webkit-sticky;position:sticky;z-index:4;background:#fff;box-shadow:1px 0 0 var(--line)}.historical-table thead .sticky-col{z-index:8;background:#fbfcfd}.historical-table .item-col{left:0;min-width:320px;width:320px}.historical-table .trend-col{left:570px;min-width:168px;width:168px}.item-name-cell{display:grid;grid-gap:7px;gap:7px;align-content:center}.item-name-cell>span:first-child{font-weight:700;overflow-wrap:anywhere}.item-row-actions{display:flex;gap:6px;flex-wrap:wrap}.mini-button{min-height:28px;border:1px solid var(--line);border-radius:6px;padding:4px 8px;color:var(--muted);background:#fff;font-size:.72rem;font-weight:900;cursor:pointer}.mini-button:hover{color:var(--text);border-color:var(--teal)}.data-warning{display:grid;grid-gap:6px;gap:6px;padding:12px 14px;border-top:1px solid var(--line);color:#93370d;background:#fffaeb;font-size:.88rem;font-weight:800}.category-header-row td{position:-webkit-sticky;position:sticky;left:0;z-index:3;padding:9px 14px;color:var(--text);font-size:.78rem;font-weight:900;text-transform:uppercase;background:#e8edf2}.trend-badge{display:inline-flex;width:-moz-fit-content;width:fit-content;min-height:24px;align-items:center;padding:3px 8px;border-radius:999px;font-size:.72rem;font-weight:900}.trend-badge.consistently-short,.trend-badge.short,.trend-badge.still-short{color:var(--danger);background:var(--danger-soft)}.trend-badge.consistently-over,.trend-badge.over,.trend-badge.still-over{color:#175cd3;background:#e0edff}.trend-badge.balanced{color:#05603a;background:#d1fadf}.trend-badge.improved{color:#5d4400;background:#fff4c7}.trend-badge.missing-data{color:#475467;background:#eef2f6}.variance-cell{font-weight:700;vertical-align:middle}.variance-cell-lines{display:grid;grid-gap:3px;gap:3px}.variance-daily{display:block;font-size:.96rem;font-weight:900}.variance-running{display:block;color:#667085;font-size:.72rem;font-weight:800}.variance-cell.negative{background:#fff8f7}.variance-cell.negative .variance-daily{color:var(--danger)}.variance-cell.positive{background:#f0fdf4}.variance-cell.positive .variance-daily{color:#067647}.variance-cell.balanced{background:#f8fafc}.variance-cell.balanced .variance-daily{color:#667085}.stock-level-cell{font-weight:800;vertical-align:middle}.stock-level-cell.stable{background:#fff}.stock-level-cell.falling{background:#fff7ed}.stock-level-cell.critical{background:#fef3f2}.stock-level-cell.purchase-increase{background:#f0fdf4}.stock-closing{display:block;color:var(--text);font-size:.96rem;font-weight:900}.stock-level-cell.critical .stock-closing{color:var(--danger)}.stock-purchases{display:block;color:#98a2b3;font-size:.72rem;font-weight:900}.stock-purchases.has-purchase{color:#067647}.stock-purchases.has-purchase:before{content:"↗ "}.item-details-row td{position:-webkit-sticky;position:sticky;left:0;z-index:3;background:#fbfcfd;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.analysis-item-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;padding:14px}.analysis-item-details div{display:grid;grid-gap:3px;gap:3px}.analysis-item-details small,.analysis-item-details span{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.analysis-item-details strong{color:var(--text)}.highlighted-row td{background:#ecfdf3;box-shadow:inset 3px 0 0 var(--teal)}.currency-cell{font-weight:700}.missing-data-cell{color:#667085;background:#f2f4f7;font-weight:800}.compact-file-list{overflow:hidden}.validation-samples{display:grid;grid-gap:16px;gap:16px;padding:18px;border-top:1px solid var(--line)}.sample-block{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fbfcfd}.sample-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border-bottom:1px solid var(--line)}.sample-heading h3{margin:0;font-size:.98rem;line-height:1.35;overflow-wrap:anywhere}.sample-heading span{color:var(--muted);font-size:.88rem}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:14px;gap:14px;padding:18px;border-bottom:1px solid var(--line)}.summary-card{border:1px solid var(--line);border-radius:8px;background:#fbfcfd;overflow:hidden}.summary-card-heading{padding:13px 14px;border-bottom:1px solid var(--line)}.summary-card-heading h3{margin:0 0 4px;font-size:1rem}.summary-card-heading span{color:var(--muted);font-size:.88rem}.summary-card dl{display:grid;grid-gap:0;gap:0;margin:0}.summary-card dl div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line)}.summary-card dl div:last-child{border-bottom:0}.summary-card dt{color:var(--muted);font-size:.84rem}.summary-card dd{margin:0;font-weight:800}.date-heading,.store-heading{display:block}.store-heading{margin-top:3px;color:var(--muted);font-size:.76rem;font-weight:700;text-transform:none}.comparison-cell{min-width:126px}.comparison-cell.short{background:#fff1f0}.comparison-cell.over{background:#ecfdf3}.comparison-cell.balanced{background:#f7f9fc}.comparison-cell.missing{color:var(--danger);background:var(--danger-soft);font-weight:800}.status-pill{display:block;width:-moz-fit-content;width:fit-content;margin-bottom:5px;padding:3px 7px;border-radius:999px;font-size:.72rem;font-weight:800}.status-pill.short{color:var(--danger);background:#ffdeda}.status-pill.over{color:#05603a;background:#d1fadf}.status-pill.balanced{color:#344054;background:#eef2f6}.status-pill.missing{color:var(--danger);background:#ffdeda}.preview-list{display:grid;grid-gap:14px;gap:14px;padding:18px}.admin-users-panel,.persistence-status-panel{border:1px solid var(--line);border-radius:8px;background:#fff}.persistence-status-panel{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px;color:var(--muted)}.persistence-status-panel strong{color:var(--text)}.persistence-status-panel em{color:var(--danger);font-style:normal;font-weight:800}.admin-users-panel{display:grid;grid-gap:18px;gap:18px;padding:18px}.admin-user-actions{display:flex;flex-wrap:wrap;gap:8px}.reprocess-review-panel{display:grid;grid-gap:14px;gap:14px;margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.reprocess-review-meta,.reprocess-review-months{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--muted);font-size:.88rem}.reprocess-review-section{display:grid;grid-gap:8px;gap:8px}.reprocess-review-section h4{margin:0}.reprocess-review-line{display:grid;grid-gap:6px;gap:6px;padding:10px 0;border-top:1px solid var(--line)}.tracker-matrix-wrap{max-width:100%}.tracker-matrix td,.tracker-matrix th{text-align:center;white-space:nowrap}.tracker-matrix .sticky-line-column{min-width:220px;text-align:left}.tracker-month-cell{width:34px;height:30px;border:1px solid var(--line);border-radius:6px;background:#f8fafc;color:var(--muted);font-weight:800}.tracker-month-cell.approved{border-color:#b7dbc9;background:#ecfdf3;color:#027a48}.tracker-month-cell.pending_review{border-color:#fedf89;background:#fffaeb;color:#b54708}.tracker-month-cell.missing{border-color:#e4e7ec;background:#f9fafb;color:#667085}.inline-action-button{margin-left:8px;padding:5px 9px}.empty-preview{min-height:120px;display:grid;place-items:center;color:var(--muted)}.preview-item{border:1px solid var(--line);border-radius:8px;background:#fbfcfd;overflow:hidden}.preview-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border-bottom:1px solid var(--line)}.preview-header h3{margin:0;font-size:.98rem;line-height:1.35;overflow-wrap:anywhere}.badge.extracting,.badge.pending{color:#344054;background:#eef2f6}.badge.success{color:#075e54;background:var(--accent-soft)}.badge.error{color:var(--danger);background:var(--danger-soft)}.preview-error{color:var(--danger);line-height:1.5;background:#fff8f7}.preview-error,pre{margin:0;padding:14px}pre{min-height:120px;max-height:360px;overflow:auto;color:#26313d;white-space:pre-wrap;overflow-wrap:anywhere;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.84rem;line-height:1.55}@media (max-width:900px){.page-shell{padding:28px 16px}.upload-layout{grid-template-columns:1fr}}@media (max-width:520px){.stats-grid{grid-template-columns:1fr}.table-heading{align-items:flex-start;flex-direction:column}}