.driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}:root{--bg: #f4f6f9;--bg-deep: #e8ebf0;--surface: #ffffff;--surface-2: #f7f8fa;--surface-3: #eef0f3;--surface-elev: #ffffff;--border: #e3e5e9;--border-strong: #cfd2d8;--divider: #eceef1;--text: #0e0f10;--text-secondary: #3a3e44;--text-muted: #7a7a7a;--text-faint: #a3a7ae;--text-on-primary: #ffffff;--primary: #1a56db;--primary-hover: #1447bc;--primary-active: #103a9e;--primary-soft: #eef3fd;--primary-ring: rgba(26, 86, 219, .28);--shell: #0f1115;--shell-2: #1a1d22;--shell-text: #c8ccd2;--shell-text-dim: #8a8f97;--shell-border: #1f2329;--accent: var(--primary);--accent-soft: var(--primary-soft);--accent-ring: var(--primary-ring);--gold: #b88a2c;--gold-soft: #fbf4e1;--success: #138a4e;--success-soft: #e3f5ec;--success-strong: #0d5e36;--warning: #b86a00;--warning-soft: #fff3df;--warning-strong: #7a4501;--danger: #cd2122;--danger-soft: #fdecec;--danger-strong: #861316;--info: #1f6fd6;--info-soft: #e3f0ff;--info-strong: #144a91;--shadow-xs: 0 1px 2px rgba(14, 15, 16, .04);--shadow-sm: 0 1px 2px rgba(14, 15, 16, .04);--shadow-md: 0 2px 8px rgba(14, 15, 16, .06);--shadow-lg: 0 8px 24px rgba(14, 15, 16, .1);--shadow-xl: 0 12px 32px rgba(14, 15, 16, .12);--shadow-ring: 0 0 0 3px var(--primary-ring);--shadow-inset: none;--radius-xs: 6px;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-xl: 20px;--tap: 48px;--tap-lg: 56px;--sidebar-w: 260px;--topbar-h: 64px;--easing: cubic-bezier(.22, .61, .36, 1);--easing-out: cubic-bezier(.16, 1, .3, 1);--easing-spring: cubic-bezier(.34, 1.56, .64, 1);--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Outfit", "Inter", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", "Roboto Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--chart-grid: #eef0f4;--chart-axis: #94a3b8;--chart-1: #2754ff;--chart-2: #0f8a4a;--chart-3: #b86a00;--chart-4: #c4302b;--chart-5: #7c3aed;--chart-6: #0ea5e9;font-family:var(--font-sans);font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}:root[data-theme=dark]{--bg: #0b0d10;--bg-deep: #07090b;--surface: #14171c;--surface-2: #1a1e24;--surface-3: #222730;--surface-elev: #1a1e24;--border: #262b34;--border-strong: #353c47;--divider: #1e232b;--text: #f1f4f9;--text-secondary: #c1c7d1;--text-muted: #8a93a0;--text-faint: #5a6371;--primary: #ff4040;--primary-hover: #ff5a5a;--primary-active: #d32f2f;--primary-soft: rgba(255, 64, 64, .14);--primary-ring: rgba(255, 80, 80, .32);--success: #34d399;--success-soft: rgba(52, 211, 153, .12);--success-strong: #6ee7b7;--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .12);--warning-strong: #fde68a;--danger: #f87171;--danger-soft: rgba(248, 113, 113, .12);--danger-strong: #fca5a5;--info: #60a5fa;--info-soft: rgba(96, 165, 250, .12);--info-strong: #93c5fd;--shell: #06080b;--shell-2: #0d1015;--shell-text: #c8ccd2;--shell-text-dim: #6b7280;--shell-border: #181c22;--gold: #fbbf24;--gold-soft: rgba(251, 191, 36, .12);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .25);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .25);--shadow-md: 0 2px 8px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4);--shadow-xl: 0 12px 32px rgba(0, 0, 0, .45);--chart-grid: #1e232b;--chart-axis: #5a6371}*{box-sizing:border-box}*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{color-scheme:light;overflow-x:clip}html[data-theme=dark]{color-scheme:dark}body{background:var(--bg);color:var(--text);line-height:1.5;font-size:14.5px;transition:background-color .25s var(--easing),color .25s var(--easing)}::selection{background:var(--primary-soft);color:var(--primary-active)}a{color:var(--primary);text-decoration:none;transition:color .16s var(--easing);font-weight:500}a:hover{color:var(--primary-hover)}h1,h2,h3,h4{margin:0 0 12px;font-weight:700;letter-spacing:-.018em;color:var(--text);line-height:1.2}h1{font-family:var(--font-display);font-size:24px;font-weight:650;letter-spacing:-.02em}h2{font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.01em}h3{font-family:var(--font-sans);font-size:11.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}h4{font-family:var(--font-sans);font-size:14.5px;font-weight:600}.mono{font-family:var(--font-mono);font-feature-settings:"tnum";letter-spacing:-.01em}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.serif{font-family:var(--font-display)}button,.btn{font-family:inherit;min-height:var(--tap);padding:0 20px;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--primary);color:var(--text-on-primary);cursor:pointer;font-weight:600;font-size:14.5px;letter-spacing:-.005em;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .18s var(--easing),transform .1s var(--easing),box-shadow .18s var(--easing),border-color .18s var(--easing);box-shadow:none;white-space:nowrap;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}button:hover,.btn:hover{background:var(--primary-hover)}button:active,.btn:active{transform:translateY(1px);background:var(--primary-active)}button:focus-visible,.btn:focus-visible{outline:none;box-shadow:var(--shadow-ring)}button.secondary,.btn.secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong);box-shadow:var(--shadow-xs)}button.secondary:hover,.btn.secondary:hover{background:var(--surface-2);border-color:var(--text-muted);color:var(--text)}button.outline,.btn.outline{background:transparent;color:var(--primary);border-color:var(--primary);box-shadow:none}button.outline:hover,.btn.outline:hover{background:var(--primary-soft);color:var(--primary-hover)}button.ghost,.btn.ghost{background:transparent;color:var(--text-secondary);box-shadow:none}button.ghost:hover,.btn.ghost:hover{background:var(--surface-2);color:var(--text)}button.danger,.btn.danger{background:var(--danger)}button.success,.btn.success{background:var(--success)}button.success:hover,.btn.success:hover{filter:brightness(.94)}button.sm{min-height:36px;padding:0 12px;font-size:13px;border-radius:var(--radius-xs)}button.lg{min-height:var(--tap-lg);padding:0 26px;font-size:15.5px}button.xl{min-height:64px;padding:0 32px;font-size:16.5px;font-weight:700}button.block{width:100%}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}button.ghost.danger,.btn.ghost.danger{background:transparent;color:var(--text-muted)}button.ghost.danger:hover,.btn.ghost.danger:hover{background:var(--danger-soft);color:var(--danger-strong)}tr.editing-row>td{background:var(--primary-soft);vertical-align:middle}tr.editing-row>td input,tr.editing-row>td select{min-height:36px}.switch-inline{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px;color:var(--text-secondary)}.switch-inline input{width:16px;height:16px;min-height:0;flex:none;accent-color:var(--primary)}input,select,textarea{font:inherit;color:var(--text);min-height:var(--tap);padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);width:100%;min-width:0;transition:border-color .16s var(--easing),box-shadow .16s var(--easing),background .16s var(--easing);-webkit-tap-highlight-color:transparent}textarea{min-height:100px;padding:12px 14px;resize:vertical;line-height:1.55}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%237A7A7A' d='M1 1l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}:root[data-theme=dark] select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%238a93a0' d='M1 1l4 4 4-4'/></svg>")}input:hover,select:hover,textarea:hover{border-color:var(--text-muted)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--shadow-ring)}input::placeholder,textarea::placeholder{color:var(--text-faint)}input[type=checkbox],input[type=radio]{width:auto;min-height:0;padding:0;border:none;background:none;box-shadow:none;border-radius:0;-moz-appearance:auto;appearance:auto;-webkit-appearance:auto}input[type=number]{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-size:17px;font-weight:500}input.lg,select.lg{min-height:var(--tap-lg);font-size:16px;padding:0 16px}input.xl{min-height:64px;font-size:22px;font-weight:600;padding:0 18px}.label{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px;color:var(--text-secondary);letter-spacing:-.005em}.helper{font-size:12px;color:var(--text-muted);margin-top:6px;line-height:1.5}.pill-group{display:inline-flex;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:12px;padding:4px;gap:4px}.pill-group .pill-opt{min-height:var(--tap);padding:0 18px;border-radius:8px;border:0;background:transparent;color:var(--text-secondary);font-weight:600;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .14s var(--easing),color .14s var(--easing),box-shadow .14s var(--easing)}.pill-group .pill-opt:hover{color:var(--text)}.pill-group .pill-opt.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-xs)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;transition:border-color .18s var(--easing),background .25s var(--easing)}.card.hover-lift:hover{border-color:var(--border-strong)}.card-tight{padding:16px}.card-spaced{padding:28px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:20px}.card-header h2,.card-header h3{margin:0;font-size:17px;font-weight:650;letter-spacing:-.018em}.card-header>.row{min-width:0}.card-header>.row:first-child{flex:1}.card-header>.row:last-child{flex:none;gap:10px}.admin-icon{width:36px;height:36px;border-radius:10px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;flex:none;border:1px solid var(--border)}.card-header .h-eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:4px}.card.branded{border-top:2px solid var(--primary)}.card.brand-glow,.section.brand-glow{border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:background .25s var(--easing),border-color .25s var(--easing)}.section-head{display:flex;align-items:center;gap:14px;padding:16px 22px;background:var(--surface);border-bottom:1px solid var(--border)}.section-head .num{width:32px;height:32px;border-radius:999px;background:var(--primary);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:14px;flex:none;transition:background .2s var(--easing)}.section-head .num.done{background:var(--success)}.section-head .num.pending{background:var(--surface-3);color:var(--text-muted);box-shadow:none}.section-head h2{font-size:17px;margin:0}.section-head .sub{font-size:12.5px;color:var(--text-muted);margin-top:2px}.section-body{padding:22px}.section-body.dense{padding:16px}.ops-file.collapsed .section-head{border-bottom:0}.ops-file-summary{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;margin-left:auto;font-family:var(--font-mono);font-size:12px}.ops-file-summary span,.ops-file-summary strong,.ops-file-summary em{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);color:var(--text-secondary);font-style:normal;white-space:nowrap}.ops-file-summary strong{color:var(--text)}.ops-file-summary em.ok{color:var(--success)}.ops-file-summary em.warn{color:var(--warning)}.ops-file-summary em.bad{color:var(--danger)}.ops-file.open .ops-file-summary{display:none}.ops-file-toggle{min-height:34px;padding:0 10px;gap:6px;border-radius:8px;background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--border-strong);box-shadow:none;font-size:12px}.ops-file-toggle:hover{background:var(--surface-3);color:var(--text)}.grid{display:grid;gap:16px;min-width:0}.grid>*{min-width:0}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid.gap-sm{gap:12px}.grid.gap-lg{gap:20px}@media (max-width: 1200px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}.grid.cols-6{grid-template-columns:repeat(3,1fr)}}@media (max-width: 820px){.grid.cols-2,.grid.cols-3,.grid.cols-4,.grid.cols-6{grid-template-columns:1fr}.pig-number-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-mini{grid-template-columns:1fr}.ops-file .section-head{padding:12px 14px;gap:10px}.ops-file .section-head .sub{display:none}.ops-file-summary{gap:6px;font-size:11px}.ops-file-summary span,.ops-file-summary strong,.ops-file-summary em{min-height:26px;padding:0 7px}.ops-file-toggle{min-width:92px}}@media (max-width: 560px){.ops-file-summary span,.ops-file-summary strong,.ops-file-toggle span{display:none}.ops-file-toggle{min-width:38px;width:38px;padding:0}}.row{display:flex;gap:12px;align-items:center}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.row.wrap{flex-wrap:wrap}.row.stack{flex-direction:column;align-items:stretch}.divider{height:1px;background:var(--divider);margin:18px 0}.op-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.op-main{display:grid;gap:20px;min-width:0}.simple-stiva-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.simple-stiva-main{display:grid;gap:20px;min-width:0}.op-aside{position:sticky;top:calc(var(--topbar-h) + 20px);min-width:0}.op-step-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.op-step{min-height:68px;display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-xs)}.op-step>span{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:var(--surface-3);color:var(--text-muted);font-weight:700;flex:none}.op-step.done>span{background:var(--success);color:#fff}.op-step strong{display:block;color:var(--text);font-size:13px;line-height:1.2}.op-step small{display:block;color:var(--text-muted);font-size:11.5px;margin-top:2px}.op-grid{display:grid;gap:16px}.op-grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.op-grid.cols-4{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.field-span{grid-column:1 / -1}.field-label{display:block;min-width:0}.input-affix{position:relative}.input-affix input{padding-right:52px}.input-affix span{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em;pointer-events:none}.pig-number-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pig-number-box{display:grid;gap:5px;min-width:0}.pig-number-box span{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.pig-number-box input{min-height:56px;text-align:center;font-family:var(--font-display);font-size:20px;font-weight:650;padding:0 8px}.sheet-mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0 4px}.sheet-mini>div{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.sheet-mini>div.wide{grid-column:1 / -1}.sheet-mini span{display:block;color:var(--text-muted);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;margin-bottom:3px}.sheet-mini strong{display:block;color:var(--text);font-size:13px;line-height:1.25}.op-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.op-metric{padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.op-metric span{display:block;color:var(--text-muted);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px}.op-metric strong{display:block;color:var(--text);font-family:var(--font-display);font-size:19px;line-height:1.1;font-variant-numeric:tabular-nums}.op-metric.warn{border-color:color-mix(in srgb,var(--warning) 34%,var(--border));background:var(--warning-soft)}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-2)}.segmented button{min-height:48px;padding:6px 8px;border-radius:8px;background:transparent;color:var(--text-secondary);border:0;box-shadow:none;flex-direction:column;gap:0}.segmented button:hover{background:var(--surface);color:var(--text)}.segmented button.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-xs)}.segmented button strong{font-family:var(--font-display);font-size:15px;line-height:1}.segmented button span{font-size:11.5px;font-weight:600}.op-summary-card{padding:22px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.op-summary-card h2{font-size:20px;margin-bottom:6px;overflow-wrap:anywhere;word-break:break-word}.op-summary-card p{margin:0;color:var(--text-muted);font-size:13px;line-height:1.45}.op-summary-list{display:grid;gap:8px;margin-top:18px}.op-checks{display:grid;gap:8px;margin-bottom:18px}.op-checks span{display:flex;align-items:center;gap:8px;color:var(--warning);font-size:13px;font-weight:600}.op-checks span.ok{color:var(--success)}.op-checks svg{width:15px;height:15px}.ops-file-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ops-file-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.ops-block{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);padding:16px}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin-top:12px}.info-cell{min-width:0;border-bottom:1px solid var(--divider);padding-bottom:8px}.info-cell span{display:block;color:var(--text-muted);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;margin-bottom:3px}.info-cell strong{display:block;color:var(--text);font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 1180px){.op-layout,.simple-stiva-layout{grid-template-columns:1fr}.op-aside{position:relative;top:auto}.op-summary-card{max-width:none}}@media (max-width: 600px){.op-summary-card{padding:16px}.op-summary-card h2{font-size:16px}}@media (max-width: 900px){.op-step-rail,.op-grid.cols-3,.op-grid.cols-4,.op-metrics,.ops-file-grid,.ops-file-grid.compact,.info-grid{grid-template-columns:1fr}}.kpi{position:relative;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .18s var(--easing),background .25s var(--easing)}.kpi:hover{border-color:var(--border-strong)}.kpi .kpi-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;gap:12px}.kpi .kpi-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--surface-2);color:var(--text-muted);flex:none}.kpi .kpi-icon svg{width:14px;height:14px}.kpi .l{color:var(--text-muted);font-size:12px;font-weight:500;letter-spacing:-.003em}.kpi .v{font-family:var(--font-display);font-size:24px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.015em;color:var(--text);margin-top:1px;line-height:1.1}.kpi .sub{font-size:11px;color:var(--text-muted);margin-top:4px;line-height:1.3}.kpi .delta{font-size:11px;font-weight:600;display:inline-flex;align-items:center;gap:4px}.kpi .delta.up{color:var(--success)}.kpi .delta.down{color:var(--danger)}@media (max-width: 1024px){.kpi{padding:10px 12px}.kpi .v{font-size:20px}.kpi .sub,.kpi .kpi-icon{display:none}}.export-menu{z-index:1500;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 32px #00000024;min-width:176px;padding:6px;display:flex;flex-direction:column;gap:2px;animation:export-menu-in .12s ease}@keyframes export-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.export-menu-header{padding:8px 10px 6px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border);margin-bottom:4px}.export-menu-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:none;border-radius:7px;background:transparent;color:var(--text);cursor:pointer;text-align:left;transition:background .12s}.export-menu-item:hover{background:var(--surface-2)}.export-menu-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.export-menu-label{flex:1;font-size:13px;font-weight:500;color:var(--text)}.export-menu-ext{font-size:11px;color:var(--text-faint);font-family:JetBrains Mono,monospace;letter-spacing:.02em}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500;background:var(--surface-3);color:var(--text-secondary);border:1px solid transparent;letter-spacing:-.005em;white-space:nowrap;transition:background .18s var(--easing)}.badge:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor;opacity:.7}.badge.no-dot:before{display:none}.badge.ok{background:var(--success-soft);color:var(--success-strong)}.badge.warn{background:var(--warning-soft);color:var(--warning-strong)}.badge.err{background:var(--danger-soft);color:var(--danger-strong)}.badge.info{background:var(--info-soft);color:var(--info-strong)}.badge.gold{background:var(--gold-soft);color:#6a4f10}.badge.brand{background:var(--primary-soft);color:var(--primary)}.coming-soon-badge{background:color-mix(in srgb,var(--text-muted) 15%,transparent);color:var(--text-muted);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.badge-lg{font-size:13px;padding:5px 14px}.pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:6px;font-size:11px;font-weight:600;background:var(--surface-3);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.table{width:100%;border-collapse:separate;border-spacing:0}.table th,.table td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--divider);font-size:14px}.table th{color:var(--text-muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;background:var(--surface-2);position:sticky;top:0;z-index:1;border-bottom:1px solid var(--border)}.table tbody tr{transition:background .14s var(--easing)}.table tbody tr:hover td{background:var(--surface-2)}.table tbody tr:last-child td{border-bottom:0}.table tbody tr.clickable{cursor:pointer}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.table .empty{color:var(--text-muted);text-align:center;padding:36px}.table tbody tr.empty-row td,.table tbody tr.empty-row:hover td{background:transparent}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--surface);width:100%}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);grid-template-rows:var(--topbar-h) 1fr;grid-template-areas:"sidebar topbar" "sidebar main";min-height:100vh}.app-shell.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar{grid-area:sidebar;background:var(--shell);color:var(--shell-text);padding:22px 14px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid var(--shell-border);transition:background .25s var(--easing),padding .2s var(--easing)}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:999px}.sidebar .brand{display:flex;align-items:center;gap:10px;padding:2px 10px 18px;border-bottom:1px solid var(--shell-border);margin-bottom:8px}.sidebar .brand-logo-wrap{flex:none;width:36px;height:36px;border-radius:9px;background:#ffffff12;border:1px solid rgba(255,255,255,.09);display:grid;place-items:center;overflow:hidden}.sidebar .brand-mark{width:26px;height:26px;object-fit:contain;display:block}.sidebar .brand-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.sidebar .brand-name{display:block;font-family:var(--font-display);font-weight:600;font-size:13.5px;color:#fff;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.sidebar .brand-sub{display:block;font-family:var(--font-sans);font-size:10px;color:var(--shell-text-dim);font-weight:500;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.sidebar-toggle{width:28px;height:28px;min-height:28px;padding:0;border-radius:7px;background:transparent;border:1px solid rgba(255,255,255,.08);color:var(--shell-text-dim);box-shadow:none;flex:none;transition:background .15s,border-color .15s,color .15s}.sidebar-toggle:hover{background:#ffffff12;border-color:#ffffff26;color:#fff}.sidebar .group-label{padding:18px 12px 6px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#6b7079;font-weight:700}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:var(--radius-sm);color:var(--shell-text);font-weight:500;font-size:14px;transition:background .16s var(--easing),color .16s var(--easing),transform .1s var(--easing);position:relative}.sidebar nav a:hover{background:#ffffff0f;color:#fff}.sidebar nav a.active{background:#ffffff12;color:#fff;box-shadow:inset 3px 0 0 var(--primary);font-weight:600}.sidebar nav a svg{flex:0 0 18px;opacity:.85}.sidebar nav a.active svg{opacity:1}.sidebar .nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-submenu{display:flex;flex-direction:column;gap:0}.nav-submenu-trigger{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:var(--radius-sm);color:var(--shell-text);font-weight:500;font-size:14px;width:100%;border:none;background:none;cursor:pointer;text-align:left;transition:background .16s var(--easing),color .16s var(--easing)}.nav-submenu-trigger:hover{background:#ffffff0f;color:#fff}.nav-submenu-trigger.active{color:#fff}.nav-submenu-trigger>svg:first-child{flex:0 0 18px;opacity:.85}.nav-submenu-trigger.active>svg:first-child{opacity:1}.nav-submenu-caret{margin-left:auto;opacity:.45;flex-shrink:0}.nav-submenu-body{display:flex;flex-direction:column;gap:1px;padding-left:42px;margin:1px 0 3px}.nav-submenu-body a{display:flex;align-items:center;padding:7px 10px;border-radius:var(--radius-sm);color:var(--shell-text-dim);font-size:13px;font-weight:500;transition:background .16s var(--easing),color .16s var(--easing)}.nav-submenu-body a:hover{background:#ffffff0d;color:var(--shell-text)}.nav-submenu-body a.active{color:#fff;background:#ffffff12;box-shadow:inset 3px 0 0 var(--primary);font-weight:600}.sidebar.collapsed .nav-submenu-body{display:none}.sidebar.collapsed .nav-submenu-trigger{width:46px;height:46px;padding:0;justify-content:center;gap:0}.sidebar.collapsed .nav-submenu-trigger.active{box-shadow:inset 0 0 0 1px var(--primary-ring)}.sidebar.collapsed .nav-submenu-caret{display:none}.sidebar .sb-footer{margin-top:auto;padding:14px 12px;border-top:1px solid var(--shell-border);font-size:12px;color:var(--shell-text-dim);display:flex;flex-direction:column;gap:4px}.sidebar .powered-by{display:flex;align-items:center;gap:8px;min-width:0;color:var(--shell-text-dim);font-size:10px;font-weight:600}.sidebar .powered-by img{display:block;max-width:100%;height:auto;object-fit:contain;object-position:left center}.sidebar .powered-logo-full{width:78px}.sidebar .powered-logo-small{display:none!important;width:28px;max-height:28px}.sidebar .sb-user{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:#ffffff0a;border:1px solid var(--shell-border);margin-bottom:10px}.sidebar .sb-user .avatar{width:32px;height:32px;font-size:12px}.sidebar .sb-user .info{line-height:1.2;min-width:0;flex:1}.sidebar .sb-user .name{color:#fff;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar .sb-user .role{font-size:10.5px;color:var(--shell-text-dim);text-transform:uppercase;letter-spacing:.08em}.sidebar.collapsed{padding:22px 10px;align-items:center;overflow-x:hidden}.sidebar.collapsed .brand{flex-direction:column;gap:10px;padding:4px 0 18px;width:100%}.sidebar.collapsed .brand-copy,.sidebar.collapsed .brand-sub,.sidebar.collapsed .group-label,.sidebar.collapsed .nav-label{display:none}.sidebar.collapsed .sb-footer{display:flex;width:100%;padding:12px 0 0;align-items:center}.sidebar.collapsed .sb-user,.sidebar.collapsed .powered-by span,.sidebar.collapsed .powered-logo-full{display:none!important}.sidebar.collapsed .powered-by{justify-content:center;width:100%}.sidebar.collapsed .powered-logo-small{display:block!important;width:26px;max-height:26px;object-fit:contain}.sidebar.collapsed .brand-logo-wrap{width:38px;height:38px}.sidebar.collapsed .brand-mark{width:28px;height:28px}.sidebar.collapsed nav{width:100%;align-items:center}.sidebar.collapsed nav a{width:46px;height:46px;padding:0;justify-content:center;gap:0}.sidebar.collapsed nav a.active{box-shadow:inset 0 0 0 1px var(--primary-ring)}.sidebar.collapsed .sidebar-toggle{width:38px;height:34px}.topbar{grid-area:topbar;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .25s var(--easing),border-color .25s var(--easing)}.topbar .page-title{font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--text-secondary)}.topbar .user{display:flex;align-items:center;gap:12px}.avatar{width:38px;height:38px;border-radius:999px;background:var(--primary);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:13px;letter-spacing:.02em;flex:none}.user-meta{display:flex;flex-direction:column;line-height:1.2}.user-meta .name{font-size:13.5px;font-weight:600;color:var(--text)}.user-meta .role{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.theme-toggle{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:transparent;border:1px solid var(--border-strong);color:var(--text-secondary);cursor:pointer;min-height:36px;padding:0;box-shadow:none;transition:background .16s var(--easing),color .16s var(--easing),border-color .16s var(--easing)}.theme-toggle:hover{background:var(--surface-2);color:var(--text);border-color:var(--text-muted)}.global-loading{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .2s var(--easing)}.global-loading.on{opacity:1}.global-loading span{display:block;height:100%;width:40%;background:var(--primary);border-radius:999px;animation:loading-slide 1.1s var(--easing) infinite}@keyframes loading-slide{0%{transform:translate(-110%)}to{transform:translate(280%)}}.main{grid-area:main;padding:28px;max-width:1500px;width:100%;margin:0 auto;min-width:0}.center-screen{display:grid;place-items:center;min-height:100vh;padding:24px}.menu-btn{display:none;width:40px;height:40px;min-height:40px;padding:0;border-radius:10px;background:transparent;border:1px solid var(--border-strong);color:var(--text-secondary);box-shadow:none;flex:none}.menu-btn:hover{background:var(--surface-2);color:var(--text)}.sidebar-close{display:none;width:34px;height:34px;min-height:34px;padding:0;border-radius:9px;background:#ffffff0a;border:1px solid var(--shell-border);color:var(--shell-text);box-shadow:none;flex:none}.sidebar-close:hover{background:#ffffff14;color:#fff}.sidebar-scrim{display:none}@media (max-width: 960px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr;grid-template-rows:var(--topbar-h) 1fr;grid-template-areas:"topbar" "main"}.sidebar,.sidebar.collapsed{position:fixed;top:0;left:0;bottom:0;width:280px;max-width:84vw;height:100dvh;padding:22px 14px;flex-direction:column;align-items:stretch;transform:translate(-105%);transition:transform .25s var(--easing-out);z-index:60;overflow-y:auto;overflow-x:hidden}.sidebar.mobile-open{transform:none;box-shadow:var(--shadow-xl)}.sidebar.collapsed .brand{flex-direction:row;gap:10px;padding:2px 10px 18px;width:auto}.sidebar.collapsed .brand-logo-wrap{width:36px;height:36px}.sidebar.collapsed .brand-mark{width:26px;height:26px}.sidebar.collapsed .brand-copy,.sidebar.collapsed .group-label,.sidebar.collapsed .nav-label,.sidebar.collapsed .brand-sub{display:block}.sidebar.collapsed nav{align-items:stretch;width:auto}.sidebar.collapsed nav a{width:auto;height:auto;padding:11px 12px;justify-content:flex-start;gap:12px}.sidebar.collapsed nav a.active{box-shadow:inset 3px 0 0 var(--primary)}.sidebar.collapsed .sb-user{display:flex}.sidebar.collapsed .sb-footer{padding:14px 12px;align-items:stretch}.sidebar.collapsed .powered-by{justify-content:flex-start}.sidebar.collapsed .powered-by span,.sidebar.collapsed .powered-logo-full{display:inline-block!important}.sidebar.collapsed .powered-logo-small{display:none!important}.sidebar .sidebar-toggle,.sidebar.collapsed .sidebar-toggle{display:none}.sidebar-close{display:inline-flex;align-items:center;justify-content:center;margin-left:auto}.sidebar-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0b0d80;z-index:55}.menu-btn{display:inline-flex;align-items:center;justify-content:center}.main{padding:20px 16px}.topbar{padding:0 16px}}@media (max-width: 640px){.topbar{min-height:var(--topbar-h);gap:12px}.main{padding:16px 12px}}.page-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;gap:16px;flex-wrap:wrap}.page-head h1{margin-bottom:6px}.page-head .sub{color:var(--text-muted);font-size:14px;max-width:720px;line-height:1.55}.page-head .head-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.alert{border:1px solid var(--border);border-left:3px solid var(--text-faint);border-radius:var(--radius-sm);padding:12px 14px;background:var(--surface);font-size:14px;line-height:1.5;transition:background .18s var(--easing)}.alert.err{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 30%,transparent);border-left-color:var(--danger);color:var(--danger-strong)}.alert.warn{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 30%,transparent);border-left-color:var(--warning);color:var(--warning-strong)}.alert.ok{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 30%,transparent);border-left-color:var(--success);color:var(--success-strong)}.alert.info{background:var(--info-soft);border-color:color-mix(in srgb,var(--info) 30%,transparent);border-left-color:var(--info);color:var(--info-strong)}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:var(--bg)}.login-hero{position:relative;background:#101318;color:#fff;padding:56px 64px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border-right:1px solid #1c2128}.login-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 55% at 25% 105%,rgba(210,48,48,.22) 0%,transparent 65%),radial-gradient(ellipse 55% 40% at 90% 8%,rgba(255,100,50,.1) 0%,transparent 60%);pointer-events:none;z-index:0}.login-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32'><circle cx='1' cy='1' r='0.8' fill='rgba(255,255,255,0.04)'/></svg>");background-size:32px 32px;pointer-events:none;z-index:0}.login-hero .brand{display:flex;align-items:center;gap:14px;position:relative;z-index:1}.login-hero .brand>div{min-width:0}.login-hero .brand-mark{width:48px;height:48px;border-radius:12px;background:var(--primary);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:15px;color:#fff;flex:none}.login-hero .brand-logo{width:52px;height:52px;border-radius:10px;object-fit:contain;flex:none}.login-hero .brand h1{font-family:var(--font-display);font-size:24px;margin:0;color:#fff;letter-spacing:-.02em}.login-hero .pitch{position:relative;max-width:480px;z-index:1}.login-hero .pitch h2{font-family:var(--font-display);font-size:36px;line-height:1.15;color:#fff;letter-spacing:-.024em;margin-bottom:20px;font-weight:650}.login-hero .pitch h2 .grad{background:linear-gradient(110deg,var(--primary) 0%,var(--primary-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-hero .pitch p{color:#b8bcc3;font-size:16px;line-height:1.65}.login-hero .foot{position:relative;font-size:13px;color:var(--shell-text-dim);z-index:1}.login-form-wrap{display:grid;place-items:center;padding:48px 40px;background:var(--surface);position:relative}.login-card{width:100%;max-width:400px;position:relative}.login-card .top{margin-bottom:32px}.login-card .top .eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--primary);margin-bottom:10px}.login-card .top h2{font-size:28px;margin-bottom:8px;letter-spacing:-.022em}.login-card .top p{color:var(--text-muted);font-size:14px;line-height:1.6;margin:0}.login-card .brand-logo-wrap{flex:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--border);display:grid;place-items:center;overflow:hidden;background:var(--surface-raised)}.login-card .brand-mark{width:30px;height:30px;object-fit:contain;display:block}.login-card .field{margin-bottom:18px}.login-form-footer{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.login-remember{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1}.login-remember input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer;flex-shrink:0;margin:0}.login-forgot-link{font-size:13px;color:var(--primary);background:none;border:none;cursor:pointer;padding:0;min-height:0;line-height:1;font-weight:500;transition:opacity .15s}.login-forgot-link:hover{opacity:.75;background:none;box-shadow:none}.field-password{position:relative}.field-password input{padding-right:48px}.password-toggle{position:absolute;right:1px;top:1px;bottom:1px;width:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:0;min-height:0;flex:none;border-radius:0 calc(var(--radius-sm) - 1px) calc(var(--radius-sm) - 1px) 0;transition:color .15s var(--easing)}.password-toggle:hover{color:var(--text);background:transparent;box-shadow:none}@media (max-width: 960px){.login-shell{grid-template-columns:1fr}.login-hero{padding:40px 32px;min-height:300px}.login-hero .pitch h2{font-size:28px}.login-hero .pitch p{font-size:15px}}@media (max-width: 640px){.login-hero{flex-direction:row;align-items:center;min-height:0;padding:16px 20px;border-right:none;border-bottom:1px solid #1c2128}.login-hero .pitch,.login-hero .foot{display:none}.login-form-wrap{padding:36px 20px;align-items:flex-start}.login-card .top{margin-bottom:24px}.login-card .top h2{font-size:24px}.login-card .top p{font-size:13.5px}}:root[data-theme=dark] .login-shell{background:var(--bg)}:root[data-theme=dark] .login-form-wrap{background:var(--surface)}.pw-strength{display:flex;align-items:center;gap:8px;margin-top:8px}.pw-strength-bars{display:flex;gap:4px}.pw-strength-bars span{width:34px;height:3px;border-radius:2px;background:var(--border);transition:background .22s}.pw-strength--weak .pw-strength-bars span:nth-child(1){background:var(--danger)}.pw-strength--fair .pw-strength-bars span:nth-child(-n+2){background:var(--warning)}.pw-strength--good .pw-strength-bars span:nth-child(-n+3){background:var(--success)}.pw-strength--strong .pw-strength-bars span{background:var(--success)}.pw-strength-label{font-size:12px;font-weight:500;color:var(--text-muted);transition:color .22s}.pw-strength--weak .pw-strength-label{color:var(--danger)}.pw-strength--fair .pw-strength-label{color:var(--warning)}.pw-strength--good .pw-strength-label,.pw-strength--strong .pw-strength-label{color:var(--success)}.sp-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 0 4px;gap:6px}.sp-state-icon{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;margin-bottom:6px}.sp-state-icon--ok{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success)}.sp-state-icon--err{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.sp-state-title{font-size:16px;font-weight:600;color:var(--text);margin:0}.sp-state-desc{font-size:14px;color:var(--text-muted);line-height:1.55;margin:0 0 4px;max-width:320px}.pieces-form{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;row-gap:0}@media (max-width: 900px){.pieces-form{grid-template-columns:1fr}}.piece-row{display:grid;grid-template-columns:1fr 260px;align-items:center;gap:16px;padding:14px 4px;border-bottom:1px solid var(--divider);transition:background .14s var(--easing)}.piece-row:hover{background:var(--surface-2)}.piece-row.filled .piece-label .pname{color:var(--text)}.piece-row.filled .pc-status{border-color:var(--success);background:var(--success);color:#fff}.piece-row.alarm .pc-status{border-color:var(--warning);background:var(--warning-soft);color:var(--warning)}.piece-label{display:flex;align-items:center;gap:12px;min-width:0}.piece-label .pc-status{flex:none;width:22px;height:22px;border-radius:999px;border:2px solid var(--border-strong);background:var(--surface);display:grid;place-items:center;color:transparent;transition:all .18s var(--easing-spring)}.piece-label .meta{min-width:0;display:flex;flex-direction:column;line-height:1.25}.piece-label .pname{font-family:var(--font-sans);font-weight:600;font-size:15px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .18s var(--easing)}.piece-label .pmeta{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--text-muted);margin-top:3px}.piece-label .pmeta .code{font-family:var(--font-mono);letter-spacing:.03em}.piece-label .pmeta .ref-chip{background:var(--surface-3);padding:1px 7px;border-radius:4px;font-weight:600;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.input-row{display:flex;flex-wrap:nowrap;align-items:stretch;gap:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:4px;min-width:0;transition:background .16s var(--easing),border-color .16s var(--easing),box-shadow .16s var(--easing)}.piece-row:focus-within .input-row{background:var(--surface);border-color:var(--primary);box-shadow:var(--shadow-ring)}.input-row .step-btn{flex:0 0 44px;width:44px;height:44px;padding:0;border-radius:8px;background:var(--surface);border:1px solid var(--border-strong);color:var(--text);font-family:var(--font-sans);font-size:20px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:none;transition:background .14s var(--easing),border-color .14s var(--easing),transform .08s var(--easing);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;min-height:44px}.input-row .step-btn:hover{background:var(--surface-3);border-color:var(--text-muted)}.input-row .step-btn:active{transform:scale(.92);background:var(--border)}.input-row .step-btn:disabled{opacity:.4;cursor:not-allowed}.input-row .input-wrap{flex:1 1 auto;position:relative;display:flex;align-items:center;min-width:0}.input-row input[type=number]{width:100%;border:0;background:transparent;text-align:center;font-family:var(--font-display);font-size:19px;font-weight:700;letter-spacing:-.01em;padding:0 28px 0 6px;height:44px;min-height:44px;color:var(--text);font-variant-numeric:tabular-nums;-moz-appearance:textfield}.input-row input[type=number]::-webkit-outer-spin-button,.input-row input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-row input[type=number]:focus{outline:none;box-shadow:none}.input-row .unit{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}.progress{height:8px;background:var(--surface-3);border-radius:999px;overflow:hidden;position:relative}.progress>span{display:block;height:100%;background:var(--primary);border-radius:999px;transition:width .5s var(--easing-out)}.action-bar{position:sticky;bottom:0;margin-top:20px;padding:16px 18px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;z-index:5;box-shadow:var(--shadow-lg)}.action-bar .summary{display:flex;gap:26px;flex-wrap:wrap}.action-bar .summary .item{display:flex;flex-direction:column;line-height:1.15}.action-bar .summary .l{font-size:10.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.action-bar .summary .v{font-family:var(--font-display);font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);margin-top:4px;letter-spacing:-.015em}.action-bar .summary .v.warn{color:var(--warning)}.action-bar .summary .v.bad{color:var(--danger)}.action-bar .summary .v.ok{color:var(--success)}.action-bar .actions{display:flex;gap:10px;flex-wrap:wrap}.tabs{display:inline-flex;background:var(--surface-2);padding:4px;border-radius:10px;border:1px solid var(--border);gap:2px;flex-wrap:wrap}.tabs a{padding:9px 16px;border-radius:7px;font-size:13px;font-weight:600;color:var(--text-secondary);transition:background .16s var(--easing),color .16s var(--easing),transform .1s var(--easing);cursor:pointer;-webkit-user-select:none;user-select:none}.tabs a:hover{background:#ffffff80;color:var(--text)}:root[data-theme=dark] .tabs a:hover{background:#ffffff0a}.tabs a.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-xs)}.score-ring{position:relative;width:120px;height:120px;display:grid;place-items:center;flex:none}.score-ring svg{transform:rotate(-90deg)}.score-ring .score-value{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:36px;color:var(--text);letter-spacing:-.025em;font-variant-numeric:tabular-nums;line-height:1}.score-ring .score-value small{font-size:14px;color:var(--text-muted);font-weight:500}.score-ring .score-track{stroke:var(--surface-3)}.score-ring .score-progress{transition:stroke-dashoffset .8s var(--easing-out);stroke-linecap:round}.empty-state{text-align:center;padding:56px 24px;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:8px}.empty-state svg{opacity:.45;margin-bottom:4px;color:var(--text-faint)}.empty-state h3{color:var(--text);margin-bottom:4px;text-transform:none;letter-spacing:-.005em;font-size:16px;font-weight:600}.empty-state p{margin:0;font-size:13.5px;line-height:1.5;max-width:360px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spinner{width:18px;height:18px;border-radius:999px;border:2px solid var(--border);border-top-color:var(--primary);animation:spin .7s linear infinite;display:inline-block;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{display:grid;place-items:center;min-height:100vh;gap:14px;color:var(--text-muted)}.ls-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center}.ls-page-bar-track{position:absolute;top:0;left:0;right:0;height:3px;overflow:hidden;background:var(--surface-3)}.ls-page-bar{height:100%;width:40%;background:linear-gradient(90deg,transparent,var(--primary),transparent);border-radius:999px;animation:ls-slide 1.4s var(--easing) infinite}@keyframes ls-slide{0%{transform:translate(-250%)}to{transform:translate(500%)}}.ls-page-body{display:flex;flex-direction:column;align-items:center;gap:20px}.ls-brand{display:flex;align-items:center;gap:12px;animation:ls-fade-in .5s var(--easing-out) both}.ls-brand-icon{width:40px;height:40px;border-radius:var(--radius-sm);object-fit:contain;flex:none}.ls-brand-copy{display:flex;flex-direction:column;gap:1px;line-height:1}.ls-brand-name{font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--text)}.ls-brand-sub{font-size:12px;font-weight:600;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}.ls-spinner{width:28px!important;height:28px!important;border-width:2.5px!important;animation-duration:.9s!important}.ls-msg{margin:0;font-size:13px;color:var(--text-faint);font-weight:500;letter-spacing:.01em;animation:ls-fade-in .7s var(--easing-out) .2s both}@keyframes ls-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ls-section{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:160px;padding:32px 16px;color:var(--text-muted)}.ls-section-msg{font-size:13px;font-weight:500;color:var(--text-faint)}.scroll-x{overflow-x:auto}.skeleton{background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface-3) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:skel 1.4s linear infinite;border-radius:6px}@keyframes skel{to{background-position:-200% 0}}.chart-tooltip{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px;box-shadow:var(--shadow-md);font-size:13px;min-width:160px}.chart-tooltip .ct-label{font-weight:600;margin-bottom:6px;color:var(--text);font-size:12.5px}.chart-tooltip .ct-row{display:flex;align-items:center;gap:8px;color:var(--text-secondary);margin-top:4px}.chart-tooltip .ct-row .ct-swatch{width:8px;height:8px;border-radius:2px;flex:none}.chart-tooltip .ct-row strong{color:var(--text);font-variant-numeric:tabular-nums}.card.glass{background:var(--surface);border:1px solid var(--border)}.kpi-glow-green{box-shadow:none}.live-lines{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:12px}.live-line-card{padding:16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);position:relative;display:flex;align-items:center;gap:14px;transition:all .22s var(--easing)}.live-line-card:hover{border-color:var(--border-strong)}.live-line-card .status-dot{width:10px;height:10px;border-radius:999px;background:var(--success);position:relative}.live-line-card .status-dot.pulsing:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:999px;border:1px solid color-mix(in srgb,var(--success) 45%,transparent)}.pig-carcass-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);margin-bottom:20px;transition:background .25s var(--easing),border-color .25s var(--easing)}.pig-carcass-svg{width:100%;max-width:480px;height:auto}.pig-part{fill:var(--surface-3);stroke:var(--border-strong);stroke-width:1.5;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.pig-part:hover{fill:color-mix(in srgb,var(--primary) 15%,var(--surface-3));stroke:var(--primary);stroke-width:2px}.pig-part.active{fill:color-mix(in srgb,var(--primary) 28%,var(--surface-3));stroke:var(--primary);stroke-width:2.5px}.pig-part.yield-ok{fill:color-mix(in srgb,var(--success) 22%,var(--surface-3));stroke:var(--success)}.pig-part.yield-ok:hover{fill:color-mix(in srgb,var(--success) 30%,var(--surface-3));stroke:var(--success);stroke-width:2.2px}.pig-part.yield-warn{fill:color-mix(in srgb,var(--warning) 22%,var(--surface-3));stroke:var(--warning)}.pig-part.yield-warn:hover{fill:color-mix(in srgb,var(--warning) 30%,var(--surface-3));stroke:var(--warning);stroke-width:2.2px}.pig-part.yield-err{fill:color-mix(in srgb,var(--danger) 22%,var(--surface-3));stroke:var(--danger)}.pig-part.yield-err:hover{fill:color-mix(in srgb,var(--danger) 30%,var(--surface-3));stroke:var(--danger);stroke-width:2.2px}.pig-label-bg{fill:var(--surface);stroke:var(--border-strong);stroke-width:1;rx:4px;ry:4px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.04));pointer-events:none}:root[data-theme=dark] .pig-label-bg{fill:var(--surface-2)}.pig-label-text{font-family:var(--font-sans);font-weight:700;font-size:11px;fill:var(--text-secondary);pointer-events:none;text-anchor:middle}.pig-label-pct{font-family:var(--font-mono);font-weight:600;font-size:9.5px;fill:var(--text-muted);pointer-events:none;text-anchor:middle}.pig-part-label-inside{font-family:var(--font-sans);font-weight:800;font-size:10.5px;letter-spacing:.05em;fill:#fff;pointer-events:none;text-anchor:middle;text-shadow:0 1.5px 3px rgba(0,0,0,.95),0 0 8px rgba(0,0,0,.85);transition:all .2s var(--easing)}.pig-part-label-sub{font-family:var(--font-mono);font-weight:600;font-size:8px;fill:var(--text-muted);pointer-events:none;text-anchor:middle}.active-text{fill:var(--primary)!important}.mode-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:12px 18px;background:var(--surface-2);border-radius:var(--radius-sm);border:1px solid var(--border)}.mode-selector{display:flex;background:var(--surface-3);padding:2px;border-radius:var(--radius-xs);gap:2px}.mode-selector button{min-height:34px;padding:0 14px;font-size:12px;border-radius:6px;box-shadow:none;background:transparent;color:var(--text-secondary)}.mode-selector button.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-xs)}.sequential-wizard{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:start}@media (max-width: 1024px) and (min-width: 768px){.sequential-wizard{grid-template-columns:1.1fr 1fr;gap:16px}.wizard-card{padding:16px}.pig-carcass-container{padding:12px}.balance-card{padding:14px}.wizard-stat{padding:8px}}@media (max-width: 767px){.sequential-wizard{grid-template-columns:1fr;gap:20px}.sequential-wizard>div:nth-child(2){order:-1}.line-flow-steps{display:none}}.wizard-card{padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:20px}.wizard-focused-part{text-align:center;padding:18px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);position:relative}.wizard-focused-part .pcode{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.wizard-focused-part .pname{font-family:var(--font-display);font-size:24px;font-weight:700;color:var(--text);margin-top:4px}.wizard-input-container{display:flex;flex-direction:column;align-items:center;gap:12px}.wizard-input-wrapper{position:relative;width:100%;max-width:260px}.wizard-input-wrapper input{height:72px;font-size:34px;font-weight:700;text-align:center;padding-right:56px;font-family:var(--font-display);border-radius:var(--radius);border:1px solid var(--border-strong)}.wizard-input-wrapper input:focus{border-color:var(--primary);box-shadow:var(--shadow-ring)}.wizard-input-wrapper .w-unit{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:16px;font-weight:700;color:var(--text-muted);text-transform:uppercase}.wizard-yield-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%}.wizard-stat{padding:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center}.wizard-stat span{display:block;font-size:10.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.wizard-stat strong{display:block;font-size:15px;font-family:var(--font-display);font-weight:700}.wizard-stat.ok strong{color:var(--success)}.wizard-stat.warn strong{color:var(--warning)}.wizard-stat.err strong{color:var(--danger)}.quick-pads{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%}.quick-pads button{min-height:42px;background:var(--surface);border:1px solid var(--border-strong);color:var(--text-secondary);border-radius:8px;font-size:13px;font-weight:600;box-shadow:none}.quick-pads button:hover{background:var(--surface-2);color:var(--text);border-color:var(--text-muted)}.virtual-numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:260px;margin:12px auto 0}.numpad-btn{height:52px;background:var(--surface-3);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius-sm);font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .1s var(--easing);box-shadow:var(--shadow-xs);-webkit-user-select:none;user-select:none}.numpad-btn:active,.numpad-btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--primary);transform:translateY(1px)}.numpad-btn:disabled{opacity:.5;cursor:not-allowed}.numpad-btn.backspace{color:var(--danger);font-size:16px}.wizard-nav-btns{display:flex;justify-content:space-between;gap:12px;margin-top:8px}.wizard-nav-btns button{flex:1}.keyboard-hints{text-align:center;font-size:11px;color:var(--text-muted);display:flex;justify-content:center;gap:14px;margin-top:4px}.keyboard-hints kbd{background:var(--surface-3);border:1px solid var(--border-strong);border-radius:4px;padding:2px 6px;font-family:var(--font-mono);font-size:10px}.balance-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);overflow:hidden}.balance-card-header{padding:10px 16px;background:var(--surface-2);border-bottom:1px solid var(--border);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.balance-item{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border);font-size:13px}.balance-item span{color:var(--text-secondary);font-weight:500}.balance-item strong{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--text)}.balance-item.large{padding:12px 16px;background:var(--surface-2);border-bottom:none;font-size:14px}.balance-item.large span{font-weight:600;color:var(--text)}.balance-item.large strong{font-size:16px}.balance-item.large strong.ok{color:var(--success)}.balance-item.large strong.warn{color:var(--warning)}.balance-item.large strong.bad{color:var(--danger)}.line-flow-steps{display:flex;flex-direction:column;gap:8px}.line-flow-step{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);cursor:pointer;transition:all .18s var(--easing)}.line-flow-step:hover{background:var(--surface-3);border-color:var(--border-strong)}.line-flow-step.active{background:color-mix(in srgb,var(--primary) 5%,var(--surface-2));border-color:var(--primary)}.line-flow-step .step-info{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600}.line-flow-step .step-dot{width:8px;height:8px;border-radius:999px;background:var(--text-faint)}.line-flow-step.active .step-dot{background:var(--primary)}.line-flow-step.filled .step-dot{background:var(--success)}.line-flow-step .step-weight{font-family:var(--font-mono);font-size:13px;color:var(--text-secondary)}.line-flow-step.active .step-weight{color:var(--primary);font-weight:700}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.pdf-two-columns-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}@media (max-width: 1024px){.pdf-two-columns-layout{grid-template-columns:1fr;gap:16px}}.pdf-column{display:flex;flex-direction:column;gap:18px}.pdf-group-card{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.pdf-group-card.active-group{border-color:var(--primary)}.pdf-piece-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);transition:background .14s var(--easing)}.pdf-piece-row:last-child{border-bottom:none}.pdf-piece-row.parent-row{background:var(--surface-2);border-bottom:1px solid var(--border-strong);padding:10px 12px}.pdf-piece-row.parent-row .pdf-piece-label span{font-weight:700;font-size:13.5px;color:var(--text)}.pdf-piece-row.child-row{padding-left:24px}.pdf-piece-row.child-row .pdf-piece-label span{font-weight:500;font-size:13px;color:var(--text-secondary)}.pdf-piece-row:hover{background:#00000005}:root[data-theme=dark] .pdf-piece-row:hover{background:#ffffff05}.pdf-piece-row.active{background:color-mix(in srgb,var(--primary) 5%,var(--surface));border-left:3px solid var(--primary);padding-left:9px}.pdf-piece-row.child-row.active{padding-left:21px}.pdf-piece-row.filled{border-right:3px solid var(--success)}.pdf-piece-label{display:flex;flex-direction:column;cursor:pointer;flex:1}.pdf-piece-label .code{font-family:var(--font-mono);font-size:9.5px;color:var(--text-muted);margin-top:1px;text-transform:uppercase}.pdf-input-wrap{position:relative;width:118px;display:flex;align-items:center}.pdf-input-wrap input{height:36px;width:100%;font-size:15px;font-weight:700;text-align:right;padding:0 28px 0 8px;border-radius:4px;border:1px solid var(--border-strong);background:var(--surface);font-family:var(--font-mono)}.pdf-input-wrap.parent-input input{height:40px;font-size:16px;border-width:1.5px}.pdf-input-wrap input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring);outline:none}.pdf-unit{position:absolute;right:8px;font-size:11px;font-weight:600;color:var(--text-muted)}.pdf-group-balance{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:var(--surface-2);border-top:1px solid var(--border);font-size:12px}.pdf-group-balance span{color:var(--text-muted);font-weight:600}.pdf-group-balance strong{font-family:var(--font-mono);font-size:12px}.pdf-group-balance strong.ok{color:var(--success)}.pdf-group-balance strong.warn{color:var(--warning)}.pdf-group-balance strong.bad{color:var(--danger)}.pdf-workbench-layout{display:grid;grid-template-columns:400px 1fr;gap:24px;align-items:start;justify-content:center;max-width:1400px;margin:0 auto}.pdf-workbench-layout .carcass-selector-column{position:sticky;top:calc(var(--topbar-h) + 16px)}.pdf-sheet-panel{min-width:0;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px}.pdf-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--border)}.pdf-sheet-head h3{font-family:var(--font-display);font-size:20px;font-weight:650;color:var(--text);margin:0;text-transform:none;letter-spacing:0}.pdf-sheet-totals{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:460px}.pdf-sheet-totals span,.pdf-sheet-totals strong{min-height:30px;display:inline-flex;align-items:center;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);font-size:12px;font-family:var(--font-mono);font-weight:700}.pdf-sheet-totals strong.ok{color:var(--success)}.pdf-sheet-totals strong.warn{color:var(--warning)}.pdf-sheet-totals strong.bad{color:var(--danger)}.pdf-single-group{display:grid;gap:16px}.pdf-single-group .pdf-group-card{max-width:none}.pdf-single-group .pdf-piece-row{min-height:64px;padding:10px 12px}.pdf-single-group .pdf-piece-row.parent-row{min-height:70px}.pdf-single-group .pdf-piece-label span:first-child{font-size:15px}.pdf-single-group .pdf-piece-label .code{font-size:12px;margin-top:3px}.pdf-single-group .pdf-input-wrap{width:132px}.pdf-single-group .pdf-input-wrap input{height:48px;font-size:16px}.pdf-single-group .pdf-input-wrap.parent-input input{height:52px;font-size:18px}.pdf-group-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pdf-group-nav button{min-width:0}.carcass-interactive-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:start}@media (max-width: 1024px){.carcass-interactive-layout{grid-template-columns:1fr}.pdf-workbench-layout{grid-template-columns:1fr;justify-items:center}.pdf-workbench-layout .carcass-selector-column{position:static;width:min(100%,420px)}.pdf-sheet-panel{max-width:824px}}@media (max-width: 680px){.pdf-piece-row{align-items:stretch;flex-direction:column;gap:8px}.pdf-piece-row.child-row{padding-left:14px}.pdf-piece-row.active,.pdf-piece-row.child-row.active{padding-left:9px}.pdf-input-wrap,.pdf-single-group .pdf-input-wrap{width:100%}.pdf-group-nav{grid-template-columns:1fr}.pdf-group-balance,.pdf-sheet-head{align-items:stretch;flex-direction:column}.pdf-sheet-totals{justify-content:flex-start}}.carcass-selector-column{display:flex;flex-direction:column;gap:20px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;scroll-margin-top:calc(var(--topbar-h) + 24px)}.section-form-column{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;position:relative;min-height:480px}.section-form-header{margin-bottom:24px;border-bottom:1px solid var(--border);padding-bottom:16px}.section-subtitle{font-family:var(--font-sans);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--primary);display:block;margin-bottom:4px}.section-form-header h3{font-family:var(--font-display);font-size:24px;font-weight:700;margin:0;color:var(--text)}.section-pieces-list{display:flex;flex-direction:column;gap:16px;flex-grow:1}.section-nav-buttons{display:flex;justify-content:space-between;align-items:center;margin-top:32px;padding-top:20px;border-top:1px solid var(--border);gap:16px}.section-nav-buttons button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px}@media (max-width: 900px){.hide-tablet{display:none!important}}@media (max-width: 600px){.hide-mobile{display:none!important}}.dash-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dash-page-head>:first-child{flex:1 1 360px;min-width:0}.dash-page-head .head-actions{align-items:flex-start;justify-content:flex-end;margin-left:auto}.dash-toolbar.has-custom-dates{display:grid;grid-template-columns:max-content;justify-items:end}.segmented.compact{display:inline-flex;flex-wrap:nowrap;grid-template-columns:none;width:auto}.segmented.compact button{min-height:36px;padding:0 14px;font-size:13px;font-weight:500;white-space:nowrap;flex-direction:row}.segmented.compact button.active{font-weight:600}.dash-dates{display:flex;align-items:center;gap:8px}.dash-dates input{height:36px;min-height:36px;width:140px;padding:0 10px;font-size:13px}@media (max-width: 640px){.dash-page-head .head-actions{width:100%;justify-content:flex-start;margin-left:0}.dash-toolbar{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.dash-toolbar.has-custom-dates{display:flex;flex-wrap:nowrap;justify-items:initial}.dash-toolbar::-webkit-scrollbar{display:none}.dash-toolbar .segmented.compact{width:max-content}}.chart-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;flex:none}.chart-switch button{min-height:28px;height:28px;padding:0 10px;border-radius:6px;background:transparent;border:0;box-shadow:none;color:var(--text-muted);font-size:12px;font-weight:500;gap:5px}.chart-switch button svg{width:13px;height:13px}.chart-switch button:hover{background:var(--surface);color:var(--text)}.chart-switch button.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:var(--shadow-xs)}.chart-anim{animation:chart-in .35s var(--easing-out)}@keyframes chart-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.kpi .kpi-unit{font-size:15px;color:var(--text-muted);font-weight:600}.kpi .kpi-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;font-size:11.5px}.kpi-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-weight:600;font-size:11px;border:1px solid transparent;white-space:nowrap}.kpi-chip.ok{background:var(--success-soft);color:var(--success)}.kpi-chip.warn{background:var(--warning-soft);color:var(--warning)}.kpi-chip.err{background:var(--danger-soft);color:var(--danger)}.grid.dash-2-1{grid-template-columns:2fr 1fr;gap:var(--gap-lg, 20px)}.grid.dash-1-2{grid-template-columns:1fr 1.4fr;gap:var(--gap-lg, 20px)}@media (max-width: 1024px){.grid.dash-2-1,.grid.dash-1-2{grid-template-columns:1fr}}.line-rank{display:flex;flex-direction:column;gap:18px;padding-top:4px}.line-rank-row{display:flex;flex-direction:column;gap:8px}.lr-head{display:flex;align-items:baseline;gap:10px}.lr-rank{font-family:var(--font-display);font-weight:600;color:var(--text-faint);font-size:13px;min-width:26px}.lr-name{font-size:14px;font-weight:600}.lr-meta{font-size:12px;color:var(--text-muted)}.lr-score{margin-left:auto;font-family:var(--font-display);font-weight:650;font-size:17px}.lr-score small{font-size:11px;color:var(--text-muted);font-weight:600}.bullet{height:10px;border-radius:999px;background:var(--surface-3);overflow:hidden}.bullet>span{display:block;height:100%;border-radius:999px;transition:width .5s cubic-bezier(.22,1,.36,1)}.form-card{padding:28px}.form-step{border:0;padding:0;margin:0;min-width:0}.form-step+.form-step{margin-top:28px;padding-top:28px;border-top:1px solid var(--divider)}.form-step-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.form-step-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:4px}.form-step-head h2{margin:0}.form-step-head .desc{font-size:12.5px;color:var(--text-muted);margin-top:3px}.summary-kv{display:grid;gap:0}.summary-kv>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--divider);font-size:13px}.summary-kv>div:last-child{border-bottom:0}.summary-kv span{color:var(--text-muted);flex-shrink:0;white-space:nowrap}.summary-kv strong{color:var(--text);font-weight:600;text-align:right;flex:1 1 0;min-width:0;overflow-wrap:anywhere;word-break:break-word}.summary-kv strong.big{font-family:var(--font-display);font-size:17px}.check-list{display:grid;gap:6px}.check-list span{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.check-list span.ok{color:var(--success)}.check-list svg{width:14px;height:14px;flex:none}.val-summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;margin:4px 0 2px}.val-stat{padding:16px 20px;border-right:1px solid var(--border)}.val-stat:last-child{border-right:0}.val-stat span{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:8px}.val-stat strong{display:block;font-family:var(--font-mono);font-size:22px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:1}.val-stat strong small{font-size:12px;color:var(--text-muted);font-weight:500;margin-left:3px}.val-stat--accent strong{color:var(--primary)}.issue-list{margin-top:18px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.issue-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--divider);font-size:13.5px;color:var(--text-secondary);background:var(--surface)}.issue-row:last-child{border-bottom:0}.issue-row svg{width:15px;height:15px;flex:none}.issue-row.err svg{color:var(--danger)}.issue-row.warn svg{color:var(--warning)}.issue-row .issue-text{flex:1;min-width:0}.issue-row em.mono{font-size:12px;font-style:normal}.per-item-details{margin-top:20px}.per-item-details>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-secondary);padding:6px 2px;-webkit-user-select:none;user-select:none}.per-item-details>summary::-webkit-details-marker{display:none}.per-item-details>summary:hover{color:var(--text)}.per-item-details>summary svg{flex:none}.per-item-details .table-wrap{margin-top:10px}.justify-section{border-top:1px solid var(--border);padding:16px 0 4px;margin-top:4px}.justify-section__title{font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px}.justify-list{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.justify-row{display:flex;align-items:center;gap:10px;font-size:13px;padding:6px 10px;background:var(--surface-raised, var(--surface));border-radius:6px;border:1px solid var(--border)}.justify-row .muted{flex:1;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.justify-form{background:var(--surface-raised, var(--surface));border:1px solid var(--border);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:10px}@media (max-width: 600px){.val-summary{grid-template-columns:1fr}.val-stat{border-right:0;border-bottom:1px solid var(--border)}.val-stat:last-child{border-bottom:0}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:500;padding:16px;animation:cfm-fade .14s ease}:root[data-theme=dark] .confirm-overlay{background:#0000009e}.confirm-dialog{background:var(--surface);border-radius:16px;box-shadow:0 24px 64px #00000029,0 0 0 1px var(--border);width:100%;max-width:430px;padding:28px;animation:cfm-up .18s var(--easing)}.confirm-title{margin:0 0 10px;font-size:17px;font-weight:700;color:var(--text);letter-spacing:-.01em}.confirm-body{margin:0 0 8px;font-size:14px;line-height:1.6;color:var(--text-secondary);white-space:pre-wrap}.confirm-detail{margin:0 0 20px;font-size:13px;line-height:1.55;color:var(--text-muted);padding:10px 12px;background:var(--surface-2);border-radius:8px;border-left:3px solid var(--warning)}.confirm-body:last-of-type{margin-bottom:24px}.confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}@keyframes cfm-fade{0%{opacity:0}to{opacity:1}}@keyframes cfm-up{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.btn-ghost{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:8px;padding:6px 12px;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.btn-ghost:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.piece-waste-list{padding:4px 20px 16px}.pw-row{display:grid;grid-template-columns:26px 1fr 1fr 72px;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--divider)}.pw-row:last-child{border-bottom:none}.pw-rank{font-size:12px;color:var(--text-muted);font-weight:700;font-family:var(--font-mono)}.pw-info{display:flex;flex-direction:column;gap:2px;min-width:0}.pw-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pw-meta{font-size:12px;color:var(--text-muted)}.pw-bar-wrap{height:6px;background:var(--surface-3);border-radius:3px;overflow:hidden}.pw-bar{height:100%;background:var(--warning);border-radius:3px;transition:width .55s var(--easing);min-width:4px}.pw-value{font-size:12px;font-weight:700;font-family:var(--font-mono);text-align:right;color:var(--warning);white-space:nowrap}.opp-list{padding:12px 20px 20px;display:flex;flex-direction:column;gap:10px}.opp-card{border:1px solid var(--border);border-radius:10px;padding:14px 16px;background:var(--surface-2)}.opp-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.opp-header svg{color:var(--success);flex-shrink:0}.opp-header strong{flex:1;font-size:13px;font-weight:700}.opp-body{font-size:13px;color:var(--text-secondary);line-height:1.5;margin:0 0 10px}.opp-impact{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid var(--divider)}.opp-impact-label{font-size:12px;color:var(--text-muted)}.opp-impact-value{font-size:13px;font-weight:700;font-family:var(--font-mono);color:var(--success)}.insights-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding:20px}.insight-card{border:1px solid var(--border);border-radius:12px;padding:18px;background:var(--surface-2)}.insight-header{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px}.insight-icon{color:var(--primary);flex-shrink:0;margin-top:1px}.insight-title{flex:1;font-size:13px;font-weight:700;line-height:1.35}.insight-body{font-size:13px;color:var(--text-secondary);line-height:1.55;margin:0}.insight-savings{display:flex;align-items:center;gap:5px;margin-top:10px;font-size:12px;font-weight:600;color:var(--success)}.insight-action{display:flex;align-items:flex-start;gap:6px;margin-top:8px;padding:7px 10px;border-radius:8px;background:color-mix(in srgb,var(--primary) 8%,transparent);font-size:12px;color:var(--primary);line-height:1.45}.insight-action svg{flex-shrink:0;margin-top:1px}.insights-disabled{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 24px;color:var(--text-muted);text-align:center}.insights-disabled p{margin:0;font-size:14px;color:var(--text-secondary);font-weight:500}.insights-disabled span{font-size:13px}.insights-provider-badge{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:2px 7px;border-radius:4px;background:var(--surface-3);color:var(--text-muted);margin-left:10px;vertical-align:middle;line-height:1.6}@media (max-width: 900px){.insights-grid{grid-template-columns:1fr}.pw-row{grid-template-columns:26px 1fr 68px}.pw-row .pw-bar-wrap{display:none}}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:199;animation:fade-in .18s var(--easing)}:root[data-theme=dark] .drawer-backdrop{background:#0000008c}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.drawer{position:fixed;top:0;right:0;height:100vh;width:440px;max-width:calc(100vw - 40px);background:var(--surface);border-left:1px solid var(--border);box-shadow:-12px 0 48px #0000001a;z-index:200;display:flex;flex-direction:column;transform:translate(100%);transition:transform .24s cubic-bezier(.4,0,.2,1)}.drawer.open{transform:translate(0)}:root[data-theme=dark] .drawer{box-shadow:-12px 0 48px #00000059}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--border);flex:none}.drawer-title{margin:0;font-size:16px;font-weight:700;color:var(--text);letter-spacing:-.01em}.drawer-subtitle{margin:5px 0 0;font-size:12.5px;color:var(--text-muted);line-height:1.5}.drawer-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:18px}.drawer-body::-webkit-scrollbar{width:6px}.drawer-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.drawer-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;flex:none;background:var(--surface-2)}@media (max-width: 560px){.drawer{width:100vw;max-width:100vw}}.user-action-label{font-size:12px;font-weight:600}@media (max-width: 1200px){.user-action-label{display:none}}.pieces-crud-layout{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}.pieces-crud-layout>*{min-width:0}@media (max-width: 960px){.pieces-crud-layout{grid-template-columns:1fr;gap:16px}.pig-map-card{position:static!important}}@media (max-width: 640px){.pieces-crud-layout{gap:12px}.pieces-crud-layout .table th,.pieces-crud-layout .table td{padding:10px}}.org-layout{display:grid;grid-template-columns:1fr 260px;gap:0;align-items:start}.org-form{padding:24px;display:flex;flex-direction:column;gap:0;border-right:1px solid var(--border)}.org-divider{height:1px;background:var(--border);margin:24px 0}.org-section{display:flex;flex-direction:column;gap:16px}.org-section-head{padding-bottom:4px}.org-section-title{font-size:13px;font-weight:600;color:var(--text);letter-spacing:.01em}.org-section-desc{font-size:12px;color:var(--text-muted);margin-top:2px}.org-section-body{display:flex;flex-direction:column;gap:14px}.org-form-footer{display:flex;justify-content:flex-end;padding-top:24px;margin-top:4px}.org-color-row{display:flex;align-items:center;gap:10px}.org-color-swatch{position:relative;width:38px;height:38px;border-radius:8px;border:1px solid var(--border);flex-shrink:0;cursor:pointer;overflow:hidden;box-shadow:inset 0 0 0 1px #0000000f;transition:box-shadow .15s}.org-color-swatch:hover{box-shadow:inset 0 0 0 1px #00000024}.org-color-swatch input[type=color]{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;width:calc(100% + 8px);height:calc(100% + 8px);opacity:0;cursor:pointer;border:none;padding:0}.org-preview{padding:20px 18px;display:flex;flex-direction:column;gap:14px;position:sticky;top:16px}.org-preview-eyebrow{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}.org-preview-sidebar{background:#1a1f2e;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.org-preview-brand{display:flex;align-items:center;gap:9px;padding:12px 12px 10px;border-bottom:1px solid rgba(255,255,255,.07)}.org-preview-logo-wrap{width:30px;height:30px;border-radius:7px;background:#ffffff12;border:1px solid rgba(255,255,255,.09);overflow:hidden;flex-shrink:0;display:grid;place-items:center}.org-preview-logo{width:22px;height:22px;object-fit:contain}.org-preview-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.org-preview-name{font-size:11.5px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.org-preview-sub{font-size:9px;color:#ffffff73;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.org-preview-nav{padding:8px;display:flex;flex-direction:column;gap:2px}.org-preview-link{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;font-size:11px;color:#ffffff73;cursor:default}.org-preview-link.active{background:#ffffff12;color:#fff;box-shadow:inset 3px 0 0 var(--pv-color, #1a56db)}.org-preview-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5;flex-shrink:0}.org-preview-link.active .org-preview-dot{background:var(--pv-color, #1a56db);opacity:1}.org-preview-swatches{display:flex;gap:8px;flex-wrap:wrap}.org-preview-chip{font-size:11px;font-weight:500;padding:4px 10px;border-radius:20px;letter-spacing:.01em;white-space:nowrap}@media (max-width: 860px){.org-layout{grid-template-columns:1fr}.org-form{border-right:none;border-bottom:1px solid var(--border)}.org-preview{position:static;padding:16px 24px 24px}}.smtp-layout{display:grid;grid-template-columns:420px 1fr;align-items:start;gap:0}.smtp-form-col{padding:24px;display:flex;flex-direction:column;gap:0;border-right:1px solid var(--border);min-width:0}.smtp-section{display:flex;flex-direction:column;gap:16px}.smtp-section-head{padding-bottom:4px}.smtp-section-title{font-size:13px;font-weight:600;color:var(--text);letter-spacing:.01em}.smtp-section-desc{font-size:12px;color:var(--text-muted);margin-top:2px}.smtp-section-body{display:flex;flex-direction:column;gap:14px}.smtp-toggle-row{display:flex;align-items:flex-start;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);transition:border-color .15s,background .15s}.smtp-toggle-row:hover{border-color:var(--border-strong);background:var(--surface)}.smtp-toggle-wrap{position:relative;flex-shrink:0;margin-top:2px}.smtp-toggle-wrap input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.smtp-toggle-track{display:block;width:34px;height:19px;border-radius:10px;background:var(--border-strong);transition:background .2s;position:relative;cursor:pointer}.smtp-toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000038;transition:transform .2s}.smtp-toggle-wrap input:checked+.smtp-toggle-track{background:var(--primary)}.smtp-toggle-wrap input:checked+.smtp-toggle-track:after{transform:translate(15px)}.smtp-toggle-label{display:block;font-size:13px;font-weight:500;color:var(--text);line-height:1.4}.smtp-toggle-desc{display:block;font-size:11px;color:var(--text-muted);margin-top:1px}.smtp-host-port-row{display:grid;grid-template-columns:1fr 108px;gap:10px}.smtp-pass-wrap{position:relative}.smtp-pass-badge{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#0f8a4a;pointer-events:none;background:#0f8a4a14;padding:2px 7px;border-radius:10px;border:1px solid rgba(15,138,74,.18)}.smtp-from-preview{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;font-size:13px;color:var(--text-secondary);line-height:1.4}.smtp-from-preview svg{flex-shrink:0;color:var(--text-muted)}.email-preview-col{padding:20px 20px 24px;display:flex;flex-direction:column;gap:14px;position:sticky;top:16px;min-width:0}.email-preview-header{display:flex;flex-direction:column;gap:10px}.email-preview-eyebrow{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}.email-preview-meta{display:flex;align-items:center;gap:6px;padding:6px 10px;margin-bottom:10px;background:var(--surface-alt);border:1px solid var(--border);border-radius:6px;font-size:12px;line-height:1}.email-preview-meta-label{font-weight:600;color:var(--text-muted);flex-shrink:0}.email-preview-meta-value{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-preview-frame-wrap{width:100%;overflow:hidden;border-radius:10px;border:1px solid var(--border);background:#edf0f4;box-shadow:0 2px 12px #0000000f}.email-preview-frame{width:560px;height:560px;border:none;display:block;pointer-events:none}.email-preview-hint{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-faint);margin:0;line-height:1.4}.email-preview-hint svg{flex-shrink:0;color:var(--text-faint)}@media (max-width: 1024px){.smtp-layout{grid-template-columns:1fr}.smtp-form-col{border-right:none;border-bottom:1px solid var(--border)}.email-preview-col{position:static;padding:16px 20px 24px}}@media (max-width: 640px){.smtp-form-col{padding:16px}.smtp-form-col .field input.input{font-size:16px}.email-preview-col{padding:12px 16px 20px}.smtp-toggle-row{padding:10px 12px}.smtp-host-port-row{grid-template-columns:1fr 90px}}@media (max-width: 640px){.topbar .user{gap:8px}.topbar .user .ghost span{display:none}.page-head{flex-direction:column;gap:12px;margin-bottom:16px}.page-head .head-actions{width:100%;justify-content:flex-start}.card{padding:16px}.card-spaced{padding:20px}.wizard-card{padding:16px;gap:16px}.card-header{flex-wrap:wrap;gap:12px;padding-bottom:14px}.card-header>.row{width:100%;flex:none;min-width:0}.card-header>.row:last-child{justify-content:space-between}.card-header .chart-switch{margin-left:auto}.tabs{display:flex;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs a{white-space:nowrap;flex-shrink:0;padding:8px 12px}.action-bar{padding:12px 14px;gap:12px}.action-bar .summary{gap:14px}.action-bar .summary .v{font-size:17px}.piece-row{grid-template-columns:1fr;gap:8px;padding:12px 4px}.section-form-column{padding:16px}.section-form-header{margin-bottom:16px}.section-form-header h3{font-size:20px}.carcass-selector-column{padding:12px;gap:14px}.lr-head{flex-wrap:wrap;gap:6px}.lr-score{margin-left:0}.piece-waste-list{padding:4px 12px 12px}.login-hero{padding:28px 20px;min-height:240px}.login-hero .pitch h2{font-size:24px}.login-form-wrap{padding:28px 20px}}@media (max-width: 480px){.wizard-input-wrapper input{height:60px;font-size:26px;padding-right:44px}.wizard-input-wrapper .w-unit{font-size:13px;right:14px}.pig-number-grid{grid-template-columns:1fr!important}.wizard-focused-part{padding:12px}.wizard-focused-part .pname{font-size:18px}.wizard-yield-stats{grid-template-columns:repeat(2,1fr)}.section-form-header h3{font-size:17px}}.ai-chat-trigger{display:inline-flex;align-items:center;gap:6px;height:36px;min-height:36px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;box-shadow:none;transition:color .15s,border-color .15s,background .15s,box-shadow .15s}.ai-chat-trigger:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-soft)}.ai-chat-trigger.active{color:var(--primary);border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px var(--primary-ring)}.ai-chat-trigger-label{font-size:12.5px;letter-spacing:.01em}.ai-chat-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;z-index:999;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ai-chat-panel{position:fixed;top:var(--topbar-h);right:0;bottom:0;width:400px;max-width:calc(100vw - 16px);background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;z-index:1000;transform:translate(100%);transition:transform .28s var(--easing-out);overflow:hidden}.ai-chat-panel--open{transform:translate(0)}.ai-chat-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px;border-bottom:1px solid var(--divider);flex-shrink:0}.ai-chat-header-left{display:flex;align-items:center;gap:10px}.ai-chat-icon{width:30px;height:30px;border-radius:8px;background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-chat-title{font-size:14px;font-weight:600;color:var(--text);line-height:1.2}.ai-chat-context{font-size:11.5px;color:var(--text-muted);margin-top:1px}.ai-chat-header-actions{display:flex;align-items:center;gap:4px}.ai-chat-btn-ghost{width:28px;height:28px;min-height:28px;border-radius:var(--radius-xs);border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:none;transition:background .12s,color .12s}.ai-chat-btn-ghost:hover{background:var(--surface-3);color:var(--text)}.ai-chat-body{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}.ai-chat-welcome{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 8px 8px;text-align:center}.ai-chat-welcome-icon{width:44px;height:44px;border-radius:12px;background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center}.ai-chat-welcome-text{font-size:13px;color:var(--text-secondary);line-height:1.5;max-width:280px;margin:0}.ai-chat-suggestions{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:4px}.ai-chat-suggestion{padding:6px 12px;border-radius:20px;border:1.5px solid var(--border);background:var(--surface-2);color:var(--text-secondary);font-size:12.5px;cursor:pointer;transition:border-color .12s,color .12s,background .12s;text-align:left}.ai-chat-suggestion:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.ai-msg-options{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 2px 34px}.ai-msg-option{padding:6px 12px;border-radius:16px;border:1.5px solid var(--border);background:var(--surface-2);color:var(--text-secondary);font-size:12.5px;cursor:pointer;transition:border-color .12s,color .12s,background .12s;text-align:left}.ai-msg-option:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.ai-msg-option:disabled{opacity:.5;cursor:default}.ai-msg{display:flex;align-items:flex-end;gap:8px;width:100%}.ai-msg--user{flex-direction:row-reverse}.ai-msg-avatar{width:26px;height:26px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-msg-bubble{max-width:82%;min-width:0;padding:9px 13px;border-radius:14px;font-size:13.5px;line-height:1.55;word-break:break-word;overflow-wrap:anywhere}.ai-msg--user .ai-msg-bubble{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.ai-msg--ai .ai-msg-bubble{background:var(--surface-3);color:var(--text);border-bottom-left-radius:4px}.ai-msg--ai .ai-msg-bubble p{margin:0 0 6px}.ai-msg--ai .ai-msg-bubble p:last-child{margin-bottom:0}.ai-msg--ai .ai-msg-bubble strong{font-weight:600}.ai-msg--ai .ai-msg-bubble em{font-style:italic}.ai-msg--ai .ai-msg-bubble code{font-family:ui-monospace,monospace;font-size:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 5px}.ai-msg--ai .ai-msg-bubble pre{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px 13px;overflow-x:auto;margin:6px 0}.ai-msg--ai .ai-msg-bubble pre code{background:none;border:none;padding:0;font-size:12px}.ai-msg--ai .ai-msg-bubble ul,.ai-msg--ai .ai-msg-bubble ol{margin:4px 0 6px;padding-left:18px}.ai-msg--ai .ai-msg-bubble li{margin:2px 0}.ai-msg--ai .ai-msg-bubble h1,.ai-msg--ai .ai-msg-bubble h2,.ai-msg--ai .ai-msg-bubble h3{font-size:13.5px;font-weight:600;margin:8px 0 4px}.ai-msg--ai .ai-msg-bubble table{border-collapse:collapse;width:100%;font-size:12.5px;margin:6px 0}.ai-msg--ai .ai-msg-bubble th,.ai-msg--ai .ai-msg-bubble td{border:1px solid var(--border);padding:4px 8px;text-align:left}.ai-msg--ai .ai-msg-bubble th{background:var(--surface-2);font-weight:600}.ai-msg--ai .ai-msg-bubble hr{border:none;border-top:1px solid var(--border);margin:8px 0}.ai-msg-wrap{display:flex;flex-direction:column;gap:2px;max-width:100%}.ai-msg-wrap--user{align-items:flex-end}.ai-msg-wrap--ai{align-items:flex-start}.ai-msg-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.ai-msg-wrap:hover .ai-msg-actions{opacity:1}.ai-msg-wrap--ai .ai-msg-actions{padding-left:34px}.ai-msg-action-btn{width:28px;height:28px;min-width:28px;min-height:28px;border-radius:7px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s;padding:0;line-height:1;flex-shrink:0}.ai-msg-action-btn:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.ai-msg-action-btn:disabled{opacity:.4;cursor:default}.ai-msg-ts{font-size:10px;color:var(--text-muted);opacity:.7;line-height:1;padding:0 2px;align-self:center;white-space:nowrap;-webkit-user-select:none;user-select:none}.ai-msg--editing{width:100%}.ai-msg-edit{display:flex;flex-direction:column;gap:8px;width:100%}.ai-msg-edit-textarea{width:100%;padding:9px 13px;border-radius:14px 14px 4px;border:1.5px solid var(--primary);background:var(--surface-2);color:var(--text);font-size:13.5px;line-height:1.55;resize:none;outline:none;font-family:inherit;box-shadow:0 0 0 3px var(--primary-soft);box-sizing:border-box}.ai-msg-edit-actions{display:flex;gap:6px;justify-content:flex-end}.ai-msg-edit-cancel{padding:0 7px;height:30px;min-height:0;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:11px;cursor:pointer;font-weight:400;transition:border-color .12s,color .12s;line-height:22px;display:inline-flex;align-items:center}.ai-msg-edit-cancel:hover{color:var(--text);border-color:var(--text-muted)}.ai-msg-edit-send{padding:0 7px;height:30px;min-height:0;border-radius:4px;border:none;background:var(--primary);color:#fff;font-size:11px;cursor:pointer;font-weight:500;transition:opacity .12s;line-height:22px;display:inline-flex;align-items:center}.ai-msg-edit-send:hover:not(:disabled){opacity:.88}.ai-msg-edit-send:disabled{opacity:.5;cursor:default}.ai-thinking-row{display:flex;align-items:center;gap:7px;padding:2px 0 6px;animation:thinking-fadein .3s ease both}@keyframes thinking-fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ai-thinking-icon{display:flex;align-items:center;color:var(--primary);animation:thinking-star 1.6s ease-in-out infinite;flex-shrink:0}@keyframes thinking-star{0%,to{opacity:.5;transform:scale(.85) rotate(0)}50%{opacity:1;transform:scale(1.1) rotate(15deg)}}.ai-thinking-text{font-size:13px;font-weight:450;background:linear-gradient(90deg,var(--text-muted) 0%,var(--text) 40%,var(--text-muted) 80%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:thinking-shimmer 2s linear infinite}@keyframes thinking-shimmer{0%{background-position:200% center}to{background-position:-200% center}}.ai-chat-error{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-size:12.5px}.ai-chat-input-row{padding:10px 12px 14px;flex-shrink:0}.ai-chat-input-wrap{display:flex;align-items:flex-end;gap:4px;padding:4px 4px 4px 12px;border:1.5px solid var(--border-strong);border-radius:999px;background:var(--surface-2);transition:border-color .15s,box-shadow .15s}.ai-chat-input-wrap:focus-within{border-color:var(--primary);box-shadow:var(--shadow-ring)}.ai-chat-input{flex:1;min-height:34px;max-height:120px;padding:6px 0;border:none;border-radius:0;background:transparent;color:var(--text);font-size:13.5px;font-family:var(--font-sans);resize:none;line-height:1.45;overflow-y:auto;scrollbar-width:thin;width:100%;min-width:0;box-shadow:none}.ai-chat-input:focus{outline:none;border:none;box-shadow:none}.ai-chat-input:disabled{opacity:.55}.ai-chat-send{width:32px;height:32px;min-height:32px;padding:0;border-radius:999px;border:none;background:var(--primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:flex-end;box-shadow:var(--shadow-sm);transition:background .15s,opacity .15s,transform .1s}.ai-chat-send:hover:not(:disabled){background:var(--primary-hover);transform:scale(1.05)}.ai-chat-send:active:not(:disabled){transform:scale(.95)}.ai-chat-send:disabled{opacity:.35;cursor:not-allowed}@media (max-width: 480px){.ai-chat-panel{width:100vw;max-width:100vw;top:0;border-left:none}.ai-chat-trigger-label{display:none}.ai-chat-btn-ghost{width:44px;height:44px;border-radius:var(--radius-sm)}}.driver-popover{background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--border)!important;border-radius:var(--radius)!important;box-shadow:0 8px 32px #0000002e!important;font-family:var(--font-ui)!important}.driver-popover-title{color:var(--text)!important;font-size:.9rem!important;font-weight:600!important;margin-bottom:4px!important}.driver-popover-description{color:var(--text-secondary)!important;font-size:.82rem!important;line-height:1.5!important}.driver-popover-progress-text{color:var(--text-muted)!important;font-size:.75rem!important}.driver-popover-footer button{text-shadow:none!important}.driver-popover-next-btn,.driver-popover-done-btn{background:var(--primary)!important;color:var(--text-on-primary)!important;border:none!important;border-radius:var(--radius-sm)!important;font-size:.8rem!important;font-weight:500!important;padding:5px 14px!important;cursor:pointer!important;transition:background .15s!important}.driver-popover-next-btn:hover,.driver-popover-done-btn:hover{background:var(--primary-hover)!important}.driver-popover-prev-btn{background:var(--surface-3)!important;color:var(--text)!important;border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important;font-size:.8rem!important;font-weight:500!important;padding:5px 14px!important;cursor:pointer!important}.driver-popover-prev-btn:hover{background:var(--surface-2)!important}.driver-popover-close-btn{color:var(--text-muted)!important;font-size:1.1rem!important;background:none!important;border:none!important;cursor:pointer!important}.driver-popover-close-btn:hover{color:var(--text)!important}.driver-active-element{--tour-accent: #ef4444;border-radius:10px!important;outline:none!important;animation:ftd-tour-pulse 1.4s ease-out infinite}@keyframes ftd-tour-pulse{0%{box-shadow:0 0 0 3px var(--tour-accent),0 0 8px 2px var(--tour-accent)}50%{box-shadow:0 0 0 3px var(--tour-accent),0 0 22px 8px var(--tour-accent)}to{box-shadow:0 0 0 3px var(--tour-accent),0 0 8px 2px var(--tour-accent)}}@media (prefers-reduced-motion: reduce){.driver-active-element{animation:none;box-shadow:0 0 0 3px var(--tour-accent),0 0 16px 4px var(--tour-accent)}}:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: #e74c3c;--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient( to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55 );--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;padding:4px;width:var(--toastify-toast-width);box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right)}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right)}@media only screen and (max-width : 480px){.Toastify__toast-container{width:100vw;padding:0;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}}.Toastify__toast{--y: 0;position:relative;-ms-touch-action:none;touch-action:none;min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px #0000001a;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);cursor:default;direction:ltr;z-index:0;overflow:hidden}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{margin:auto 0;-ms-flex:1 1 auto;flex:1 1 auto;padding:6px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.Toastify__toast-body>div:last-child{word-break:break-word;-ms-flex:1;flex:1}.Toastify__toast-icon{-webkit-margin-end:10px;margin-inline-end:10px;width:20px;-ms-flex-negative:0;flex-shrink:0;display:-ms-flexbox;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}@media only screen and (max-width : 480px){.Toastify__toast{margin-bottom:0;border-radius:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;-ms-flex-item-align:start;align-self:flex-start;z-index:1}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:var(--toastify-z-index);opacity:.7;transform-origin:left;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial;border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp{position:absolute;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
