@font-face{font-family:Lidl Font Pro;src:url(/brand/fonts/LidlFontPro-Book.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Lidl Font Pro;src:url(/brand/fonts/LidlFontPro-Semibold.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Lidl Font Pro;src:url(/brand/fonts/LidlFontPro-Bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Lidl Font Cond Pro;src:url(/brand/fonts/LidlFontCondPro-Semibold.woff2) format("woff2");font-weight:400 600;font-display:swap}:root{color-scheme:light;--blue-500: #0050aa;--blue-600: #003f7f;--yellow-500: #fff000;--white: #ffffff;--charcoal: #1e2124;--grey-700: #353b42;--grey-600: #4e5761;--grey-300: #dde0e3;--grey-100: #f5f6f7;--green-500: #008c45;--red-500: #c62828;--orange-500: #c76b00;--brand-primary: var(--blue-500);--brand-primary-hover: var(--blue-600);--brand-accent: var(--yellow-500);--surface-default: var(--white);--surface-subtle: var(--grey-100);--surface-card: var(--white);--text-primary: var(--charcoal);--text-secondary: var(--grey-600);--text-tertiary: var(--grey-700);--text-on-primary: var(--white);--text-on-accent: var(--charcoal);--border-default: var(--grey-300);--border-focus: var(--blue-500);--status-success: var(--green-500);--status-error: var(--red-500);--status-warning: var(--orange-500);--status-info: var(--blue-500);--wash-success: color-mix(in srgb, var(--status-success) 10%, white);--wash-error: color-mix(in srgb, var(--status-error) 10%, white);--wash-warning: color-mix(in srgb, var(--status-warning) 12%, white);--wash-info: color-mix(in srgb, var(--status-info) 8%, white);--space-4: 4px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--space-40: 40px;--space-48: 48px;--space-64: 64px;--radius-none: 0;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--button-height: 48px;--input-height: 44px;--icon-sm: 16px;--icon-md: 24px;--icon-lg: 32px;--avatar: 40px;--content-width: 1216px;--nav-height: 80px;--font-brand: "Lidl Font Pro", "Poppins", system-ui, -apple-system, sans-serif;--font-brand-cond: "Lidl Font Cond Pro", "Lidl Font Pro", "Poppins", system-ui, sans-serif;--font-display: "Poppins", "Lidl Font Pro", system-ui, sans-serif;--font-ui: "Geist", "Inter", system-ui, -apple-system, sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", monospace;--fs-display: 48px;--fs-h1: 36px;--fs-h2: 28px;--fs-h3: 22px;--fs-h4: 18px;--fs-body: 16px;--fs-caption: 14px;--fs-small: 12px;--lh-tight: 1.2;--lh-normal: 1.5;--lh-relaxed: 1.7;--shadow-card: 0 1px 2px rgb(30 33 36 / 6%), 0 2px 8px rgb(30 33 36 / 6%);--shadow-panel: 0 8px 32px rgb(30 33 36 / 14%)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--surface-default);color:var(--text-primary);font-family:var(--font-brand);font-size:var(--fs-body);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,dl,dd,dt,ul,ol{margin:0}ul,ol{padding:0;list-style:none}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.app{min-height:100vh;display:flex;flex-direction:column}.screen{flex:1;padding:var(--space-32) var(--space-24) var(--space-64)}.content{width:100%;max-width:var(--content-width);margin:0 auto;display:flex;flex-direction:column;gap:var(--space-24)}.button{height:var(--button-height);padding:0 var(--space-20);border:0;border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--fs-caption);font-weight:700;letter-spacing:.5px;cursor:pointer;white-space:nowrap}.button-primary{background:var(--brand-primary);color:var(--text-on-primary)}.button-primary:hover{background:var(--brand-primary-hover)}.link-button{padding:0;border:0;background:none;color:var(--brand-primary);font-family:var(--font-ui);font-size:var(--fs-caption);font-weight:700;text-align:left;cursor:pointer}.link-button:hover{text-decoration:underline}.login{position:relative;min-height:100vh;display:grid;place-items:center;padding:var(--space-24);background:var(--brand-primary);overflow:hidden}.login-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:url(/brand/login-hero.jpg) center / cover no-repeat}.login-card{position:relative;width:100%;max-width:460px;padding:var(--space-40);display:flex;flex-direction:column;align-items:center;gap:28px;background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel)}.login-logo{width:96px;height:96px;border:1px solid var(--border-default);border-radius:var(--radius-full);object-fit:cover}.login-header{display:flex;flex-direction:column;gap:var(--space-12);text-align:center}.login-header h1{font-family:var(--font-ui);font-size:24px;font-weight:600;line-height:var(--lh-tight)}.login-header p{font-family:var(--font-ui);font-size:var(--fs-caption);color:var(--text-secondary)}.login-button{width:100%;font-size:var(--fs-body);font-weight:600}.login-terms{font-family:var(--font-ui);font-size:var(--fs-small);font-weight:500;color:var(--text-secondary);text-align:center}.top-nav{position:sticky;top:0;z-index:20;background:var(--surface-default);border-bottom:1px solid var(--border-default)}.top-nav-inner{width:100%;max-width:1392px;height:var(--nav-height);margin:0 auto;padding:0 var(--space-24);display:flex;align-items:center;gap:var(--space-32)}.logo{width:44px;height:44px;border-radius:var(--radius-sm);object-fit:contain;flex:none}.nav-tabs{display:flex;align-items:stretch;gap:var(--space-12);height:56px}.nav-tab{padding:0 var(--space-12);border:0;border-bottom:2px solid transparent;background:none;font-family:var(--font-brand-cond);font-size:var(--fs-body);color:var(--text-secondary);white-space:nowrap;cursor:pointer}.nav-tab:hover{color:var(--text-primary)}.nav-tab.is-active{color:var(--brand-primary);border-bottom-color:var(--brand-primary);font-weight:600}.nav-right{margin-left:auto;display:flex;align-items:center;gap:var(--space-16)}.icon-button{position:relative;width:var(--avatar);height:var(--avatar);display:grid;place-items:center;border:0;border-radius:var(--radius-full);background:none;color:var(--brand-primary);cursor:pointer}.icon-button:hover,.icon-button.is-active{background:var(--surface-subtle)}.unread-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:var(--radius-full);background:var(--status-error)}.nav-separator{width:1px;height:var(--space-24);background:var(--border-default)}.user-chip{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-4);border:0;border-radius:var(--radius-full);background:none;color:var(--brand-primary);cursor:pointer}.user-chip:hover{background:var(--surface-subtle)}.avatar{width:var(--avatar);height:var(--avatar);border-radius:var(--radius-full);object-fit:cover}.avatar-initials{flex:none;display:grid;place-items:center;background:var(--brand-primary);color:var(--text-on-primary);font-size:var(--fs-caption);font-weight:700;letter-spacing:.02em}.user-name{font-size:var(--fs-body);color:var(--text-primary);white-space:nowrap}.user-menu-wrap{position:relative}.user-menu{position:absolute;top:calc(100% + var(--space-8));right:0;z-index:30;width:180px;padding:var(--space-8);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-card);box-shadow:var(--shadow-panel)}.user-menu button{width:100%;padding:10px var(--space-12);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font:inherit;font-size:var(--fs-caption);text-align:left;cursor:pointer}.user-menu button:hover,.user-menu button:focus-visible{background:var(--surface-subtle)}.logout-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:var(--space-24);background:#1e21248c}.logout-modal{width:min(420px,100%);padding:var(--space-24);border-radius:var(--radius-sm);background:var(--surface-card);box-shadow:var(--shadow-panel)}.logout-modal h2{margin-bottom:var(--space-8);font-size:var(--fs-h3);color:var(--text-primary)}.logout-modal p{color:var(--text-secondary);font-size:var(--fs-caption)}.logout-modal .logout-error{margin-top:var(--space-12);color:var(--status-error)}.logout-actions{display:flex;justify-content:flex-end;gap:var(--space-12);margin-top:var(--space-24)}.panel{position:absolute;top:calc(var(--nav-height) + var(--space-8));right:var(--space-24);width:380px;max-height:min(80vh,1000px);overflow-y:auto;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);box-shadow:var(--shadow-panel)}.panel-head{display:flex;align-items:center;gap:var(--space-12);height:72px;padding:0 var(--space-16);border-bottom:1px solid var(--border-default);color:var(--brand-primary)}.panel-head h2{font-family:var(--font-ui);font-size:var(--fs-h3);font-weight:600;color:var(--text-primary)}.panel-body{padding:var(--space-16);display:flex;flex-direction:column;gap:var(--space-16)}.panel-section{font-family:var(--font-ui);font-size:var(--fs-h4);font-weight:500;color:var(--text-primary)}.alert-card{padding:var(--space-16);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-12);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-sm)}.alert-body{font-family:var(--font-ui);font-size:var(--fs-small);font-weight:500}.alert-due{font-family:var(--font-ui);font-size:var(--fs-small);font-weight:500;color:var(--text-secondary)}.reminder-card{gap:var(--space-16);align-self:stretch}.reminder-card h4{font-family:var(--font-ui);font-size:var(--fs-h4);font-weight:500;color:var(--brand-primary)}.reminder-supplier{font-family:var(--font-ui);font-size:var(--fs-caption);color:var(--text-secondary)}.reminder-facts{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.reminder-facts dt,.reminder-readiness-head{font-family:var(--font-ui);font-size:var(--fs-small);font-weight:700;color:var(--text-secondary)}.reminder-facts dd{font-size:var(--fs-body)}.reminder-readiness{width:100%;display:flex;flex-direction:column;gap:6px}.reminder-readiness-head{display:flex;justify-content:space-between}.page-head{display:flex;flex-direction:column;gap:var(--space-24)}.eyebrow{font-size:24px;color:var(--brand-primary)}.page-head h1{font-family:var(--font-display);font-size:var(--fs-display);font-weight:500;line-height:var(--lh-tight);letter-spacing:-1.5px}.section-title h2,.section-actions h2{font-size:var(--fs-h3);font-weight:600;color:#0f2a3d}.section-title p{margin-top:var(--space-8);font-family:var(--font-ui);font-size:13px;font-weight:500;color:var(--text-secondary)}.section-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-16)}.placeholder{padding:var(--space-64) 0;display:flex;flex-direction:column;gap:var(--space-16)}.placeholder h1{font-family:var(--font-display);font-size:var(--fs-h1);font-weight:500;color:var(--brand-primary)}.placeholder p{max-width:60ch;color:var(--text-secondary)}.breadcrumb{display:flex;align-items:center;gap:var(--space-12);font-family:var(--font-ui);font-size:var(--fs-caption);color:var(--text-secondary)}.crumb-link{padding:0;border:0;background:none;font-family:var(--font-display);font-size:var(--fs-caption);font-weight:500;color:var(--text-secondary);cursor:pointer}.crumb-link:hover{color:var(--brand-primary);text-decoration:underline}.crumb-current{font-family:var(--font-display);font-weight:500;color:var(--brand-primary)}.detail-head{display:flex;flex-direction:column;gap:var(--space-24)}.detail-head h1{font-size:var(--fs-h2);font-weight:600;color:var(--brand-primary)}.summary-strip{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-24);padding:var(--space-24) 0;border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default)}.summary-stat{display:flex;flex-direction:column;gap:6px}.summary-stat+.summary-stat{padding-left:var(--space-24);border-left:1px solid var(--border-default)}.summary-stat dd{font-size:var(--fs-h3);font-weight:600;color:var(--brand-primary)}.summary-stat dt{font-size:var(--fs-small);color:var(--text-secondary)}.tab-switch{display:flex;flex-wrap:wrap}.tab{height:56px;padding:0 var(--space-16);border:0;border-bottom:2px solid var(--border-default);background:none;font-family:var(--font-display);font-size:var(--fs-caption);font-weight:500;color:var(--text-secondary);white-space:nowrap;cursor:pointer}.tab:hover{color:var(--text-primary)}.tab.is-active{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}.tab-panel{display:flex;flex-direction:column;gap:var(--space-24)}.kpi-bar{display:flex;flex-wrap:wrap;border:1px solid var(--border-default);border-radius:var(--radius-sm)}.kpi-bar .kpi{flex:1 1 200px;min-width:180px;padding:var(--space-24) var(--space-20)}.kpi-bar .kpi+.kpi{border-left:1px solid var(--border-default)}.kpi{display:flex;flex-direction:column;gap:var(--space-8)}.kpi-value{font-size:34px;font-weight:600;line-height:var(--lh-tight);color:var(--brand-primary)}.kpi-value.is-danger{color:var(--status-error)}.kpi-label{font-size:var(--fs-small);color:var(--grey-700);text-transform:uppercase;letter-spacing:.5px}.card{display:flex;flex-direction:column;gap:var(--space-24);padding:var(--space-16);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-sm)}.card-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-16);align-items:start}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-16)}.card-head h3{font-size:var(--fs-h4);color:var(--brand-primary)}.card-head p{margin-top:var(--space-4);font-size:var(--fs-caption);color:var(--text-secondary)}.legend{display:flex;align-items:center;gap:var(--space-8);font-family:var(--font-ui);font-size:11px;font-weight:500;color:var(--grey-700)}.legend li{display:flex;align-items:center;gap:6px}.swatch{width:10px;height:10px;border-radius:2px}.swatch-primary{background:var(--brand-primary)}.swatch-compare{background:var(--border-default)}.insight{margin:0 calc(-1 * var(--space-16)) calc(-1 * var(--space-16));padding:var(--space-16);background:var(--brand-accent);color:var(--text-on-accent);font-size:var(--fs-body)}.insight-standalone{margin:0;border-radius:var(--radius-sm)}.chart{display:flex;flex-direction:column;gap:var(--space-8)}.chart-plot{position:relative;display:flex;align-items:flex-end;gap:var(--space-8);border-bottom:1px solid var(--border-default)}.chart-plot-ruled .gridlines{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;display:flex;flex-direction:column;justify-content:space-between}.gridlines span{height:1px;background:var(--border-default)}.chart-col{position:relative;z-index:1;flex:1;min-width:0;height:100%;display:flex;align-items:flex-end;justify-content:center}.chart-col-grouped{gap:var(--space-8)}.bar{width:45px;max-width:60%;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.chart-col-grouped .bar{width:28px}.bar-primary{background:var(--brand-primary)}.bar-compare{background:var(--border-default)}.chart-waterfall .bar{width:98px;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.bar-total{background:var(--grey-600)}.target-line{position:absolute;left:0;right:0;border-top:1px dashed var(--status-error);pointer-events:none}.target-line span{position:absolute;right:0;bottom:2px;font-family:var(--font-ui);font-size:10px;font-weight:600;color:var(--status-error)}.chart-axis{display:flex;gap:var(--space-8)}.chart-axis .chart-col{height:auto;font-family:var(--font-brand-cond);font-size:10px;color:#475569;text-align:center;line-height:1.3;overflow-wrap:anywhere}.chart-axis .chart-col-total{font-family:var(--font-ui);font-weight:800;color:#0f172a}.table-wrap{overflow-x:auto;border:1px solid var(--border-default);border-radius:var(--radius-sm)}.data-table{width:100%;min-width:900px;border-collapse:collapse;text-align:left}.data-table th{padding:var(--space-16) var(--space-12);background:var(--blue-600);color:var(--text-on-primary);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.data-table td{padding:var(--space-16) var(--space-12);border-top:1px solid var(--border-default);font-size:var(--fs-caption);vertical-align:middle}.cell-strong{font-weight:600}.numeric{font-variant-numeric:tabular-nums}.align-start{text-align:left}.align-center{text-align:center}.align-end{text-align:right}.row-clickable{cursor:pointer}.row-clickable:hover{background:var(--surface-subtle)}.row-total td{border-top:2px solid var(--grey-700);font-weight:600}.row-ask td{color:var(--status-error);font-weight:600}.inline-bar{display:flex;align-items:center;gap:var(--space-12)}.inline-bar .progress-track{flex:1;min-width:80px}.badge{display:inline-flex;align-items:center;justify-content:center;min-height:20px;padding:0 var(--space-8);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:var(--fs-small);font-weight:500;white-space:nowrap}.badge-outline{background:none;border:1px solid currentcolor}.verdict-pass{color:var(--status-success)}.verdict-conditional{color:var(--status-warning)}.verdict-fail{color:var(--status-error)}.badge-solid{color:var(--text-on-primary)}.tone-live{background:var(--status-success)}.tone-prep{background:var(--grey-600)}.tone-final{background:var(--brand-primary)}.tone-error{background:var(--status-error)}.tone-warning{background:var(--status-warning)}.badge-solid.tone-accent{background:var(--brand-accent);color:var(--text-on-accent)}.delta-good{color:var(--status-success);font-weight:600}.delta-bad{color:var(--status-error);font-weight:600}.delta-neutral{color:var(--text-primary)}.progress-track{height:6px;border-radius:3px;background:var(--border-default);overflow:hidden}.progress-thick{height:8px;border-radius:var(--radius-sm)}.progress-fill{height:100%;background:var(--brand-primary)}.waste-list{display:flex;flex-direction:column;gap:var(--space-16)}.waste-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-16);margin-bottom:6px}.waste-title{font-size:var(--fs-small);font-weight:700}.waste-amount{font-size:var(--fs-small);font-weight:700;color:var(--brand-primary);font-variant-numeric:tabular-nums}.waste-detail{margin-top:6px;font-size:var(--fs-small);color:var(--text-secondary)}.fact-list{display:flex;flex-direction:column}.fact-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-16);padding:var(--space-16) 0}.fact-list-ruled .fact-row+.fact-row,.fact-list-stacked>*+*{border-top:1px solid var(--border-default)}.fact-row dt{font-size:var(--fs-h4);color:var(--grey-700)}.fact-row dd{font-size:var(--fs-caption);font-variant-numeric:tabular-nums}.fact-row dd.is-danger,.fact-list dd.is-danger{color:var(--status-error)}.fact-list-stacked>*{padding:var(--space-12) 0}.fact-list-stacked dt{font-family:var(--font-ui);font-size:10px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.fact-list-stacked dd{margin-top:var(--space-4);font-family:var(--font-ui);font-size:13px;font-weight:600}.fact-list-stacked dd.is-brand{font-size:var(--fs-body);color:var(--brand-primary)}.rail{position:relative;height:210px;margin:var(--space-24) 0}.rail-inner{position:relative;height:100%;margin:0 80px}.rail-track{position:absolute;top:50%;left:0;right:0;height:4px;border-radius:2px;background:var(--border-default)}.rail-fill{height:100%;border-radius:2px;background:var(--brand-primary)}.rail-bound{position:absolute;top:calc(50% + var(--space-8));font-size:var(--fs-small);color:var(--text-secondary)}.rail-bound-min{right:calc(100% + var(--space-12))}.rail-bound-max{left:calc(100% + var(--space-12))}.rail-marker{position:absolute;transform:translate(-50%);width:150px;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;font-size:var(--fs-small)}.rail-marker-above{bottom:50%;flex-direction:column-reverse;padding-bottom:2px}.rail-marker-below{top:50%;padding-top:2px}.rail-tick{width:2px;height:var(--space-20);background:currentcolor}.rail-marker.tone-brand{color:var(--brand-primary)}.rail-marker.tone-neutral{color:var(--grey-700)}.rail-marker.tone-danger{color:var(--status-error)}.rail-value,.rail-code{font-weight:600}.rail-caption{color:var(--text-secondary);line-height:1.3}.rail-marker.tone-danger .rail-caption{color:var(--status-error)}.counter-callout{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.counter-label{font-family:var(--font-ui);font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.counter-value{font-size:44px;font-weight:700;line-height:1.1;color:var(--brand-primary);font-variant-numeric:tabular-nums}.counter-caption{font-family:var(--font-ui);font-size:11px;font-weight:500;color:var(--text-secondary)}.reason-list{display:flex;flex-direction:column;gap:var(--space-16)}.reason-list li{font-family:var(--font-ui);font-size:13px;color:var(--grey-700)}.batna{display:flex;flex-direction:column;gap:var(--space-16)}.batna-headline{font-family:var(--font-ui);font-size:13px;font-weight:600}.batna-detail{font-family:var(--font-ui);font-size:13px;color:var(--grey-700)}.ladder{display:flex;flex-direction:column;gap:var(--space-16)}.ladder li{display:grid;grid-template-columns:auto 1fr;gap:var(--space-4) var(--space-8)}.ladder-index{font-family:var(--font-ui);font-size:11px;font-weight:700;color:var(--text-secondary)}.ladder-give{font-family:var(--font-ui);font-size:13px;font-weight:600}.ladder-get{grid-column:2;font-family:var(--font-ui);font-size:var(--fs-small);color:var(--brand-primary)}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:var(--space-24);background:#1e21248c;overflow-y:auto}.modal{width:100%;max-width:907px;padding:var(--space-24);display:flex;flex-direction:column;gap:var(--space-16);background:var(--surface-card);border-radius:var(--radius-sm);box-shadow:var(--shadow-panel)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-16);padding-bottom:var(--space-16);border-bottom:1px solid var(--border-default)}.modal-head>div{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-8)}.modal-head h2{font-size:var(--fs-h2);font-weight:600;color:#0f2a3d}.modal-eyebrow{font-size:var(--fs-caption);color:var(--brand-primary)}.modal-note{font-family:var(--font-ui);font-size:var(--fs-caption);color:var(--text-secondary)}.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border:1px solid var(--border-default);border-radius:var(--radius-sm)}.price-grid .kpi{padding:var(--space-24) var(--space-20);border-top:1px solid var(--border-default);border-left:1px solid var(--border-default)}.price-grid .kpi:nth-child(-n+2){border-top:0}.price-grid .kpi:nth-child(odd){border-left:0}@media(max-width:900px){.top-nav-inner{height:auto;padding:var(--space-12) var(--space-16);flex-wrap:wrap;gap:var(--space-16)}.nav-tabs{order:3;width:100%;height:auto;overflow-x:auto}.panel{position:fixed;top:auto;bottom:0;left:0;right:0;width:auto;max-height:70vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.page-head h1{font-size:var(--fs-h1)}.summary-stat+.summary-stat{padding-left:0;border-left:0}.counter-callout{align-items:flex-start;text-align:left}.counter-value{font-size:var(--fs-h1)}}.app-body{flex:1;display:flex;align-items:stretch;min-height:0}.app-main{flex:1;min-width:0}.drawer{flex:none;width:420px;max-width:100%;display:flex;flex-direction:column;background:var(--surface-card);border-left:1px solid var(--border-default);position:sticky;top:var(--nav-height);height:calc(100vh - var(--nav-height))}.drawer-wide{width:640px}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-12);padding:var(--space-16);background:var(--brand-primary);color:var(--text-on-primary)}.drawer-title{display:flex;align-items:flex-start;gap:var(--space-12);min-width:0}.drawer-name{font-size:var(--fs-caption);font-weight:600}.drawer-scope{font-size:var(--fs-small);opacity:.85;overflow-wrap:anywhere}.agent-mark{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:var(--radius-full);background:var(--brand-accent);color:var(--text-on-accent)}.agent-mark-sm{width:16px;height:16px}.drawer-tools{flex:none;display:flex;gap:var(--space-4)}.drawer-tool{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-on-primary);cursor:pointer}.drawer-tool:hover{background:#ffffff29}.drawer-thread{flex:1;overflow-y:auto;padding:var(--space-16);display:flex;flex-direction:column;gap:var(--space-16)}.chat-history{flex:1;min-height:0;overflow-y:auto;padding:var(--space-16);background:var(--surface-card)}.chat-history-search{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:var(--space-8);height:40px;padding:0 var(--space-12);margin-bottom:var(--space-12);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--text-secondary)}.chat-history-search:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 1px var(--brand-primary)}.chat-history-search input{width:100%;min-width:0;height:100%;padding:0;border:0;outline:0;background:transparent;color:var(--text-primary);font:inherit;font-size:var(--fs-caption)}.chat-history-list{display:flex;flex-direction:column;gap:var(--space-4)}.chat-history-item{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px var(--space-12);padding:var(--space-12);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.chat-history-item:hover{background:var(--surface-subtle)}.chat-history-item.is-active{border-color:var(--brand-primary);background:var(--wash-info)}.chat-history-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-caption);font-weight:600}.chat-history-scope{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;grid-column:1;font-size:var(--fs-small);color:var(--text-secondary)}.chat-history-item time{grid-column:2;grid-row:1 / span 2;align-self:center;white-space:nowrap;font-size:var(--fs-small);color:var(--text-secondary)}.chat-history-empty{display:grid;justify-items:center;gap:var(--space-8);padding:56px var(--space-16);color:var(--text-secondary);text-align:center;font-size:var(--fs-caption)}.drawer-welcome h2{font-size:var(--fs-h4);color:var(--brand-primary)}.drawer-welcome p,.drawer-hint{margin-top:var(--space-8);font-size:var(--fs-caption);color:var(--text-secondary)}.bubble{align-self:flex-end;max-width:85%;padding:var(--space-8) var(--space-12);border-radius:var(--radius-md);background:var(--brand-primary);color:var(--text-on-primary);font-size:var(--fs-caption);white-space:pre-wrap;overflow-wrap:anywhere}.reply{font-size:var(--fs-caption)}.reply-meta{display:flex;align-items:center;gap:6px;margin-bottom:var(--space-8);font-size:var(--fs-small);color:var(--text-secondary)}.reply-text{white-space:pre-wrap;overflow-wrap:anywhere}.cursor{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:text-bottom;background:var(--brand-primary);animation:cursor-blink 1s step-end infinite}@keyframes cursor-blink{50%{opacity:0}}.tools{padding:var(--space-12);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-subtle);font-size:var(--fs-small)}.tools summary{cursor:pointer;color:var(--text-secondary)}.tools ul{margin-top:var(--space-8);display:flex;flex-direction:column;gap:6px}.tools li{display:flex;align-items:baseline;gap:var(--space-8)}.tool-name{font-weight:600}.tools code{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);overflow-wrap:anywhere}.dot{flex:none;width:8px;height:8px;margin-top:6px;border-radius:var(--radius-full);background:var(--status-warning)}.dot.ok{background:var(--status-success)}.dot.bad{background:var(--status-error)}.drawer-failure{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-12);padding:var(--space-12);border:1px solid var(--status-error);border-radius:var(--radius-sm);background:var(--wash-error);font-size:var(--fs-small)}.drawer-attempt{font-size:var(--fs-small);color:var(--text-secondary)}.button-sm{height:32px;padding:0 var(--space-12);flex:none}.outputs{flex:none;max-height:176px;overflow-y:auto;padding:var(--space-12) var(--space-16);border-top:1px solid var(--border-default);background:var(--surface-subtle)}.outputs-head{display:flex;align-items:center;gap:var(--space-8);color:var(--text-secondary)}.outputs-head h2{font-size:var(--fs-small);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.outputs-list{margin-top:var(--space-8);display:flex;flex-direction:column;gap:var(--space-4)}.output{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-12);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-default);color:var(--text-primary);text-decoration:none}.output:hover{border-color:var(--border-focus)}.output-name{flex:1;min-width:0;font-size:var(--fs-caption);overflow-wrap:anywhere}.output-meta{flex:none;font-size:var(--fs-small);color:var(--text-secondary)}.outputs-note{padding:var(--space-8) var(--space-16);font-size:var(--fs-small);color:var(--text-secondary)}.outputs .outputs-note{padding:var(--space-8) 0 0}.composer{flex:none;padding:var(--space-12) var(--space-16) var(--space-16);border-top:1px solid var(--border-default)}.composer-field{display:flex;align-items:flex-end;gap:var(--space-8);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-12);border:1px solid var(--border-default);border-radius:var(--radius-md)}.composer-field:focus-within{border-color:var(--border-focus)}.composer-field textarea{flex:1;min-width:0;border:0;padding:var(--space-8) 0;background:none;font:inherit;font-size:var(--fs-caption);line-height:1.45;resize:none;overflow-y:auto;max-height:160px}.composer-field textarea:focus{outline:none}.composer-send{flex:none;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:var(--radius-sm);background:var(--brand-primary);color:var(--text-on-primary);cursor:pointer}.composer-send:disabled{background:var(--border-default);color:var(--text-secondary);cursor:not-allowed}.composer-mic{flex:none;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--text-secondary);cursor:pointer}.composer-mic:hover:not(:disabled){color:var(--brand-primary);border-color:var(--brand-primary)}.composer-mic.on{border-color:var(--brand-primary);background:var(--brand-primary);color:var(--text-on-primary);animation:composer-mic-pulse 1.4s ease-in-out infinite}.composer-mic:disabled{opacity:.5;cursor:not-allowed}@keyframes composer-mic-pulse{50%{opacity:.62}}@media(prefers-reduced-motion:reduce){.composer-mic.on{animation:none}}.composer-stop{flex:none;height:36px;padding:0 var(--space-12);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-card);font-size:var(--fs-small);font-weight:600;cursor:pointer}.composer-note{margin-top:var(--space-8);font-size:var(--fs-small);color:var(--text-secondary)}.drawer-picker{flex:1;overflow-y:auto;padding:var(--space-16);display:flex;flex-direction:column;gap:var(--space-8)}.drawer-pick{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-12);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--brand-primary);text-align:left;cursor:pointer}.drawer-pick:hover{background:var(--surface-subtle)}.drawer-pick-name,.drawer-pick-meta{display:block}.drawer-pick-name{font-size:var(--fs-caption);font-weight:600;color:var(--text-primary)}.drawer-pick-meta{font-size:var(--fs-small);color:var(--text-secondary)}.launcher-dock{position:fixed;right:var(--space-24);bottom:var(--space-24);z-index:30;display:flex;align-items:center;gap:var(--space-12)}.app-with-drawer .launcher-dock{right:calc(420px + var(--space-24))}.app-with-drawer-wide .launcher-dock{right:calc(640px + var(--space-24))}.launcher{display:grid;place-items:center;width:56px;height:56px;border:0;border-radius:var(--radius-full);background:var(--brand-primary);color:var(--brand-accent);box-shadow:var(--shadow-panel);cursor:pointer;position:relative}.launcher:hover,.launcher.is-open{background:var(--brand-primary-hover)}.launcher-greeting{padding:var(--space-8) var(--space-12);border-radius:var(--radius-md);background:var(--brand-accent);color:var(--text-on-accent);font-size:var(--fs-small);font-weight:600;box-shadow:var(--shadow-card);white-space:nowrap}.launcher-pulse{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:2px solid var(--brand-accent);border-radius:var(--radius-full);animation:launcher-pulse 1.6s ease-out infinite}@keyframes launcher-pulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}.launcher-badge{position:absolute;top:2px;right:2px;width:12px;height:12px;border:2px solid var(--brand-primary);border-radius:var(--radius-full);background:var(--brand-accent)}@media(prefers-reduced-motion:reduce){.launcher-pulse,.cursor{animation:none}}.detail-head-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-16)}.button-ghost{display:inline-flex;align-items:center;gap:var(--space-8);background:none;border:1px solid var(--border-default);color:var(--brand-primary)}.button-ghost:hover{background:var(--surface-subtle)}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p,.md ul,.md ol,.md pre,.md blockquote{margin:var(--space-8) 0}.md ul,.md ol{padding-left:var(--space-20);list-style:revert}.md h1,.md h2,.md h3,.md h4{margin:var(--space-16) 0 var(--space-8);font-size:var(--fs-body);color:var(--brand-primary)}.md a{color:var(--brand-primary)}.md code{padding:1px 4px;border-radius:var(--radius-sm);background:var(--surface-subtle);font-family:var(--font-mono);font-size:12px;overflow-wrap:anywhere}.md pre{padding:var(--space-12);border-radius:var(--radius-sm);background:var(--surface-subtle);overflow-x:auto}.md pre code{padding:0;background:none}.md blockquote{padding-left:var(--space-12);border-left:3px solid var(--border-default);color:var(--text-secondary)}.md-table-scroll{overflow-x:auto;margin:var(--space-12) 0}.md-table-scroll table{border-collapse:collapse;font-size:var(--fs-small)}.md-table-scroll th,.md-table-scroll td{padding:6px var(--space-8);border:1px solid var(--border-default);text-align:left}.md-table-scroll th{background:var(--surface-subtle);font-weight:600}.md-image{display:inline-block;padding:2px 6px;border:1px dashed var(--border-default);border-radius:var(--radius-sm);font-size:var(--fs-small);color:var(--text-secondary)}@media(max-width:900px){.drawer,.drawer-wide{position:fixed;inset:var(--nav-height) 0 0;width:auto;height:auto;border-left:0;z-index:25}.launcher-greeting,.app-with-drawer .launcher-dock,.app-with-drawer-wide .launcher-dock{display:none}}.line-plot{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.line-plot .line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.line-plot .line-primary{stroke:var(--brand-primary)}.line-plot .line-compare{stroke:var(--border-default);stroke-dasharray:4 3}.widget-title{margin:0 0 var(--space-12);font:var(--fs-h4) / var(--lh-tight) var(--font-brand);font-weight:600;color:var(--text-primary)}.widget-with-lineage{position:relative}.canvas-prose{color:var(--text-secondary);font:var(--fs-caption) / var(--lh-relaxed) var(--font-ui)}.canvas-prose>:first-child{margin-top:0}.canvas-prose>:last-child{margin-bottom:0}.lineage{margin-top:var(--space-8)}.lineage-toggle{display:inline-flex;align-items:center;gap:var(--space-8);padding:0;border:0;background:none;color:var(--text-tertiary);font:var(--fs-small) / var(--lh-tight) var(--font-ui);cursor:pointer}.lineage-toggle:hover{color:var(--brand-primary)}.lineage-flag{padding:1px var(--space-8);border-radius:var(--radius-full);background:var(--wash-warning);color:var(--status-warning);font-weight:600}.lineage-panel{margin-top:var(--space-8);padding:var(--space-12) var(--space-16);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-subtle);font:var(--fs-small) / var(--lh-relaxed) var(--font-ui);color:var(--text-secondary)}.lineage-facts,.lineage-measures{display:grid;gap:var(--space-8);margin:0}.lineage-facts>div,.lineage-measures>div{display:grid;grid-template-columns:120px 1fr;gap:var(--space-12)}.lineage-panel dt{color:var(--text-tertiary);font-weight:600}.lineage-panel dd{margin:0}.lineage-heading{margin:var(--space-16) 0 var(--space-8);font:var(--fs-small) / var(--lh-tight) var(--font-ui);font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.lineage-unit{margin-left:var(--space-4);color:var(--text-tertiary);font-weight:400}.lineage-note{display:block;margin-top:2px;color:var(--text-tertiary);font-style:italic}.widget-empty,.widget-unsupported{margin:0;padding:var(--space-16);border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-tertiary);font:var(--fs-caption) / var(--lh-relaxed) var(--font-ui);text-align:center}.widget-unsupported code{font-family:var(--font-mono)}.canvas-heading{margin:0 0 var(--space-24);font:var(--fs-h2) / var(--lh-tight) var(--font-brand);font-weight:600;color:var(--text-primary)}.canvas-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--space-12);padding:var(--space-64) var(--space-32);border:1px dashed var(--border-default);border-radius:var(--radius-lg);background:var(--surface-subtle);text-align:center}.canvas-placeholder h3{margin:0;font:var(--fs-h3) / var(--lh-tight) var(--font-brand);font-weight:600;color:var(--text-primary)}.canvas-placeholder p{display:flex;flex-direction:column;align-items:center;gap:var(--space-16);max-width:56ch;margin:0;color:var(--text-secondary);font:var(--fs-body) / var(--lh-relaxed) var(--font-ui)}.placeholder-example{padding:var(--space-12) var(--space-16);border-left:3px solid var(--brand-primary);background:var(--surface-card);color:var(--text-tertiary);font-size:var(--fs-caption);font-style:italic;text-align:left}.data-table tr.row-total td{border-top:2px solid var(--border-default);font-weight:600;color:var(--text-primary)}.data-table tr.row-ask td{color:var(--status-error);font-weight:600}.data-table tr.is-clickable{cursor:pointer}.data-table tr.is-clickable:hover td{background:var(--surface-subtle)}.data-table td.align-center{text-align:center}@keyframes widget-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.widget-enter{animation:widget-enter .32s ease-out both}@media(prefers-reduced-motion:reduce){.widget-enter{animation:none}}.canvas-building{display:flex;align-items:center;gap:var(--space-8);margin:0;padding:var(--space-12) var(--space-16);color:var(--text-tertiary);font:var(--fs-caption) / var(--lh-tight) var(--font-ui)}.canvas-building-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--brand-primary);animation:canvas-pulse 1.4s ease-in-out infinite}@keyframes canvas-pulse{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.canvas-building-dot{animation:none;opacity:1}}.tab-canvas{display:inline-flex;align-items:center;gap:var(--space-4);height:56px;padding:0 var(--space-8) 0 var(--space-16);border-bottom:2px solid var(--border-default);color:var(--text-secondary);white-space:nowrap}.tab-canvas .tab-label{max-width:22ch;height:100%;overflow:hidden;padding:0;border:0;background:none;color:inherit;font-family:var(--font-display);font-size:var(--fs-caption);font-weight:500;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.tab-canvas:hover{color:var(--text-primary)}.tab-canvas.is-active{border-bottom-color:var(--brand-primary);color:var(--brand-primary)}.tab-action{padding:0 var(--space-4);border:0;border-radius:var(--radius-sm);background:none;color:inherit;font:inherit;line-height:1;opacity:.5;cursor:pointer}.tab-action:hover:not(:disabled){opacity:1}.tab-action:disabled{opacity:.2;cursor:default}.tab-canvas.is-confirming{gap:var(--space-8);padding:0 var(--space-12);border-bottom-color:var(--status-error);color:var(--status-error);font-family:var(--font-display);font-size:var(--fs-caption);font-weight:500}.tab-canvas.is-confirming .tab-action{opacity:1;font-weight:600;text-decoration:underline}
