@import"https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;700&display=swap";:root{--main-orange: #ff5900;--text: #3f434b;--heading: #26282d;--bg: radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--main-orange) 9%, transparent) 0%, transparent 30%), linear-gradient(135deg, #efeff2 0%, #f7f7f9 50%, #f1f2f5 100%);--card-bg: #ffffff;--card-border: #dfe2e8;--muted: #6f7480;--input-bg: #ffffff;--input-border: #cfd4dd;--button-bg: linear-gradient(180deg, var(--accent-strong) 0%, var(--accent) 100%);--button-border: var(--accent);--button-text: #ffffff;--metric-bg: #f8f8fa;--metric-border: #e4e7ed;--table-border: #dfe2e8;--table-row: #eceef3;--table-head-bg: #f4f5f8;--error-bg: #ffe8e8;--error-text: #991b1b;--canvas-bg: #f6f7fa;--canvas-stroke: #2e3239;--space-fill: rgba(131, 136, 148, .2);--space-stroke: rgba(63, 67, 75, .42);--piece-stroke: #262a32;--piece-text: #262a32;--sheet-dim-text: rgba(38, 40, 45, .45);--accent: var(--main-orange);--accent-strong: color-mix(in srgb, var(--main-orange) 72%, #ffffff);--accent-soft: color-mix(in srgb, var(--main-orange) 12%, transparent);--focus-ring: color-mix(in srgb, var(--main-orange) 34%, transparent);--shadow: 0 14px 34px rgba(22, 24, 30, .14);--number-input-min: calc(4ch + 1rem) ;--sheet-fit-offset: 17rem;font-family:Rubik,IBM Plex Sans,Trebuchet MS,Segoe UI,sans-serif}:root[data-theme=dark]{--text: #d4d7df;--heading: #f2f3f7;--bg: radial-gradient(circle at 10% 2%, color-mix(in srgb, var(--main-orange) 8%, transparent) 0%, transparent 30%), linear-gradient(145deg, #2d3036 0%, #23262c 52%, #1a1c21 100%);--card-bg: #25282f;--card-border: #383c45;--muted: #a4a9b5;--input-bg: #2c3037;--input-border: #474c57;--button-bg: linear-gradient(180deg, var(--accent-strong) 0%, var(--accent) 100%);--button-border: color-mix(in srgb, var(--accent) 72%, var(--accent-strong));--button-text: #ffffff;--metric-bg: #2a2d34;--metric-border: #404550;--table-border: #404550;--table-row: #333842;--table-head-bg: #2d3139;--error-bg: #4a1d18;--error-text: #ffcab0;--canvas-bg: #23262d;--canvas-stroke: #b8bcc6;--space-fill: rgba(152, 158, 170, .2);--space-stroke: rgba(194, 199, 209, .52);--piece-stroke: #16191f;--piece-text: #16191f;--sheet-dim-text: rgba(240, 242, 247, .9);--accent: var(--main-orange);--accent-strong: color-mix(in srgb, var(--main-orange) 74%, #ffffff);--accent-soft: color-mix(in srgb, var(--main-orange) 18%, transparent);--focus-ring: color-mix(in srgb, var(--main-orange) 40%, transparent);--shadow: 0 16px 36px rgba(4, 8, 20, .5)}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--text);background:var(--bg);background-attachment:fixed}.app{min-height:100vh;padding:0 1.4rem 1.7rem}.auth-screen{display:grid;place-items:center}.auth-card{width:min(560px,100%);border:1px solid var(--card-border);border-radius:18px;background:var(--card-bg);box-shadow:var(--shadow);padding:1.2rem 1.3rem;display:grid;gap:.6rem}.auth-card h2{margin:0}.auth-card p{margin:0;color:var(--muted)}.auth-card .theme-toggle{width:fit-content}.app-content{min-width:0;margin-top:.75rem}.top-menu{position:sticky;top:0;z-index:48;transition:transform .18s ease,opacity .18s ease}.top-menu.is-hidden{transform:translateY(calc(-100% - 6px));opacity:0;pointer-events:none}.top-menu-inner{width:min(1200px,100%);margin:0 auto;border:1px solid var(--card-border);border-radius:0 0 16px 16px;padding:.75rem;background:color-mix(in srgb,var(--card-bg) 86%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:.8rem}.top-menu-left{display:inline-flex;align-items:center;gap:.75rem;min-width:0}.top-menu-logo{height:2.3rem;width:auto;display:block;border-radius:6px;flex:0 0 auto}.top-menu-brand{padding:.38rem .72rem .42rem;border-radius:999px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 8%,transparent),0 10px 20px #181a211f}.top-menu-brand .brand-title{font-size:1.05rem}.top-menu-brand-text{display:inline-flex;align-items:center;gap:.42rem;white-space:nowrap}.top-menu-brand .brand-subtitle{font-size:.56rem;letter-spacing:.09em;display:inline-flex;flex-direction:column;line-height:1.08;text-transform:uppercase;font-weight:500}.top-menu-nav{display:inline-flex;align-items:center;gap:.35rem}.app-version-footer{margin:2rem 0 0;text-align:center;font-size:.68rem;letter-spacing:.03em;color:var(--muted);opacity:.38}.top-menu-right{margin-left:auto;display:inline-flex;align-items:center;gap:.6rem}.top-menu-item{border:1px solid var(--input-border);background:transparent;box-shadow:none;color:var(--text);border-radius:999px;min-height:2.6rem;padding:0 .75rem;font-size:.86rem;font-weight:500;display:inline-flex;align-items:center;justify-content:center}.top-menu-item:hover:not(:disabled){transform:none;box-shadow:none;background:var(--accent-soft);filter:none}.top-menu-item.is-active{background:color-mix(in srgb,var(--accent) 14%,var(--card-bg));border-color:color-mix(in srgb,var(--accent) 88%,var(--input-border));color:var(--heading);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 34%,transparent)}:root[data-theme=dark] .top-menu-item.is-active{background:color-mix(in srgb,var(--accent) 16%,var(--card-bg));border-color:color-mix(in srgb,var(--accent) 92%,var(--input-border));color:#f3f5fa}.top-menu-toggle{display:none;width:40px;height:40px;padding:0;border-radius:10px;border:1px solid var(--input-border);background:transparent;box-shadow:none;align-items:center;justify-content:center;flex-direction:column;gap:4px}.top-menu-toggle span{width:16px;height:2px;border-radius:2px;background:var(--muted)}.top-menu-toggle:hover:not(:disabled){transform:none;box-shadow:none;filter:none;background:var(--accent-soft)}.top-menu-user{display:inline-flex;align-items:center;gap:.55rem;border:1px solid var(--card-border);border-radius:999px;min-height:2.6rem;padding:.3rem .48rem .3rem .3rem;background:var(--metric-bg);min-width:0}.auth-logout-button{border-radius:999px;padding:.42rem .72rem;min-height:auto;font-size:.74rem}.auth-logout-button-drawer{margin-top:.35rem}.top-menu-user-meta{display:flex;flex-direction:column;min-width:0}.top-menu-user-meta strong{font-size:.82rem;color:var(--heading);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-menu-user-meta span{font-size:.72rem;color:var(--muted);white-space:nowrap}.menu-drawer{position:fixed;right:.75rem;top:5.8rem;width:min(300px,calc(100vw - 1.5rem));border:1px solid var(--card-border);border-radius:16px;background:color-mix(in srgb,var(--card-bg) 86%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 20px 38px #0003;padding:.75rem;display:grid;gap:.9rem;z-index:50;transform:translate(calc(100% + .75rem));opacity:0;pointer-events:none;transition:transform .18s ease,opacity .18s ease}.menu-drawer.is-open{transform:translate(0);opacity:1;pointer-events:auto}.sidebar{position:fixed;left:1.4rem;top:1.7rem;border:1px solid var(--card-border);border-radius:16px;background:color-mix(in srgb,var(--card-bg) 86%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 20px 38px #0003;padding:.75rem;display:grid;gap:.9rem;width:280px;height:auto;min-height:0;z-index:30;align-content:start;transition:padding .18s ease,min-height .18s ease}.sidebar.is-collapsed{padding:.35rem;width:56px;min-height:56px;place-items:start center}.sidebar-header{display:flex;align-items:center;gap:.55rem}.sidebar-menu-label{color:var(--heading);font-size:.95rem;font-weight:400}.sidebar-toggle{justify-self:start;width:42px;height:42px;padding:0;border-radius:0;background:transparent;border:none;box-shadow:none;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.sidebar-toggle span{display:block;width:16px;height:2px;border-radius:2px;background:#9aa3b3}.sidebar-toggle:hover:not(:disabled){transform:none;box-shadow:none;background:color-mix(in srgb,var(--card-bg) 30%,transparent)}.sidebar-user{display:flex;align-items:center;gap:.6rem;border:1px solid var(--card-border);border-radius:12px;padding:.55rem;background:var(--metric-bg)}.sidebar-avatar{width:2rem;height:2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;background:var(--accent-soft);color:var(--heading);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);flex:0 0 auto}.sidebar-user-meta{display:flex;flex-direction:column;min-width:0}.sidebar-user-meta strong{font-size:.84rem;color:var(--heading);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-meta span{font-size:.75rem;color:var(--muted)}.sidebar-nav{display:grid;gap:.4rem}.sidebar-item{text-align:left;width:100%;border-radius:10px;border:1px solid var(--input-border);background:transparent;color:var(--text);box-shadow:none}.sidebar-item:hover:not(:disabled){transform:none;box-shadow:none;background:var(--accent-soft)}.sidebar-item.is-active{background:var(--button-bg);color:var(--button-text);border-color:var(--button-border)}.menu-drawer .sidebar-item{border-radius:999px;padding:.46rem .75rem;border:1px solid var(--input-border);background:transparent;color:var(--text);font-size:.86rem;font-weight:500}.menu-drawer .sidebar-item:hover:not(:disabled){transform:none;box-shadow:none;background:var(--accent-soft);filter:none}.menu-drawer .sidebar-item.is-active{background:color-mix(in srgb,var(--accent) 14%,var(--card-bg));border-color:color-mix(in srgb,var(--accent) 88%,var(--input-border));color:var(--heading);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 34%,transparent)}:root[data-theme=dark] .menu-drawer .sidebar-item.is-active{background:color-mix(in srgb,var(--accent) 16%,var(--card-bg));border-color:color-mix(in srgb,var(--accent) 92%,var(--input-border));color:#f3f5fa}.sidebar-backdrop{position:fixed;inset:0;border:none;border-radius:0;margin:0;padding:0;background:#0a0e1657;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);z-index:44;box-shadow:none}.sidebar-backdrop:hover:not(:disabled){transform:none;filter:none;box-shadow:none}.confirm-modal-backdrop{position:fixed;inset:0;background:#0a0e1657;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);z-index:56;display:flex;align-items:center;justify-content:center;padding:1rem}.confirm-modal{width:min(460px,100%);border:1px solid var(--card-border);border-radius:14px;background:var(--card-bg);padding:.95rem;box-shadow:var(--shadow)}.confirm-modal h4{margin:0;font-size:1rem;color:var(--heading);font-weight:500}.confirm-modal p{margin:.45rem 0 0;font-size:.88rem;color:var(--muted);line-height:1.35}.confirm-modal-actions{margin-top:.75rem;display:flex;justify-content:flex-end;gap:.5rem}.card{width:min(1200px,100%);margin:0 auto;background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;padding:.75rem;box-shadow:var(--shadow)}.header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.title-block{position:relative;display:inline-flex;flex-direction:column;align-items:flex-start;gap:.18rem;padding:.7rem 1rem .75rem;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:14px;background:linear-gradient(102deg,color-mix(in srgb,var(--accent) 9%,transparent),#fff0 50%),linear-gradient(180deg,#f2f4f7fa,#fffffffa);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 8%,transparent),0 12px 30px #181a2129;overflow:hidden}.title-block:after{content:"";position:absolute;inset:0;background:linear-gradient(108deg,transparent 0%,color-mix(in srgb,var(--accent) 15%,transparent) 46%,transparent 100%);transform:translate(-100%);animation:rial-sheen 5.8s ease-in-out infinite;pointer-events:none}.title-block:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--accent) 0%,var(--accent-strong) 100%)}.brand-title{margin:0;position:relative;z-index:1;font-family:Rubik,IBM Plex Sans,Trebuchet MS,Segoe UI,sans-serif;font-size:1.64rem;line-height:1.05;letter-spacing:-.02em;color:#26282d;font-weight:500}.brand-subtitle{margin:0;position:relative;z-index:1;color:var(--accent);font-family:Rubik,IBM Plex Sans,Trebuchet MS,Segoe UI,sans-serif;font-size:.74rem;letter-spacing:.11em;font-weight:400;text-transform:uppercase}:root[data-theme=dark] .title-block{border-color:color-mix(in srgb,var(--accent) 36%,transparent);background:linear-gradient(102deg,color-mix(in srgb,var(--accent) 12%,transparent),#fff0 52%),linear-gradient(180deg,#31353df7,#24272ef7);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent),0 12px 30px #0000005c}:root[data-theme=dark] .brand-title{color:#f2f3f7}:root[data-theme=dark] .brand-subtitle{color:var(--accent-strong)}.header-actions{display:flex;align-items:center;gap:.5rem}.summary-checkbox{display:inline-flex;align-items:center;gap:.35rem;font-size:.88rem;color:var(--muted);padding:.22rem .52rem;border:1px solid var(--input-border);border-radius:999px;background:var(--input-bg);white-space:nowrap}h2{margin:.2rem 0 .6rem;font-size:1.05rem;color:var(--heading);font-weight:400}.api{margin:.2rem 0 0;color:var(--muted);font-size:.9rem}button{padding:.6rem 1rem;border-radius:12px;border:1px solid var(--button-border);background:var(--button-bg);color:var(--button-text);font-weight:500;font-family:inherit;letter-spacing:.01em;cursor:pointer;white-space:nowrap;box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 24%,transparent);transition:transform .12s ease,box-shadow .16s ease,filter .16s ease}button:hover:not(:disabled){filter:brightness(1.04);box-shadow:0 12px 22px color-mix(in srgb,var(--accent) 28%,transparent)}button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}button:disabled{opacity:.6;cursor:default;box-shadow:none}.theme-toggle{background:transparent;color:var(--heading);border-color:var(--input-border);box-shadow:none}.theme-toggle:hover:not(:disabled){background:var(--accent-soft);transform:none;box-shadow:none}.theme-picker{display:inline-flex;align-items:center;gap:.28rem;padding:.35rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--card-border) 65%,transparent);background:color-mix(in srgb,#1c1f24 84%,transparent)}.settings-title{margin:0;font-size:1rem;color:var(--heading);font-weight:500}.settings-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.65rem}.settings-sync-status{margin:0;min-height:1.2rem;color:var(--muted);font-size:.84rem;text-align:right}.settings-sync-status:empty{visibility:hidden}.settings-title-next{margin-top:1.9rem}.settings-list{border:1px solid var(--card-border);border-radius:14px;overflow:hidden;background:color-mix(in srgb,var(--card-bg) 92%,transparent);margin-bottom:.75rem}.settings-item{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,auto);align-items:center;gap:1rem;padding:.9rem 1rem}.settings-item+.settings-item{border-top:1px solid var(--card-border)}.settings-item-text{display:flex;flex-direction:column;gap:.18rem;min-width:0}.settings-item-text strong{color:var(--heading);font-size:.94rem;font-weight:500}.settings-item-text span{color:var(--muted);font-size:.85rem;line-height:1.35}.settings-item-control{display:flex;justify-content:flex-end}.settings-item-control select,.settings-item-control .settings-number-input{min-width:220px}.toggle-switch{position:relative;display:inline-flex;align-items:center;cursor:pointer}.toggle-switch input{position:absolute;opacity:0;width:0;height:0}.toggle-track{width:50px;height:30px;border-radius:999px;background:#3a3f47;border:1px solid rgba(255,255,255,.09);padding:2px;display:inline-flex;align-items:center;transition:background-color .14s ease}.toggle-thumb{width:24px;height:24px;border-radius:999px;background:#e7eaee;transition:transform .15s ease}.toggle-switch input:checked+.toggle-track{background:var(--accent)}.toggle-switch input:checked+.toggle-track .toggle-thumb{transform:translate(20px)}.toggle-switch input:focus-visible+.toggle-track{outline:3px solid var(--focus-ring);outline-offset:2px}.stock-use-toggle{position:relative;display:inline-flex;align-items:center;cursor:pointer}.stock-use-toggle input{position:absolute;opacity:0;width:0;height:0}.stock-use-track{width:50px;height:30px;border-radius:999px;background:#3a3f47;border:1px solid rgba(255,255,255,.09);padding:2px;display:inline-flex;align-items:center;transition:background-color .14s ease}.stock-use-thumb{width:24px;height:24px;border-radius:999px;background:#e7eaee;transition:transform .15s ease}.stock-use-toggle input:checked+.stock-use-track{background:var(--accent)}.stock-use-toggle input:checked+.stock-use-track .stock-use-thumb{transform:translate(20px)}.stock-use-toggle input:focus-visible+.stock-use-track{outline:3px solid var(--focus-ring);outline-offset:2px}.icon-button{width:2rem;height:2rem;padding:0;border-radius:8px;border:1px solid var(--input-border);background:transparent;color:var(--muted);box-shadow:none;display:inline-flex;align-items:center;justify-content:center;color:#dc2626}.icon-button:hover:not(:disabled){background:#dc262624;color:#b91c1c;box-shadow:none;transform:none}.add-button{display:inline-flex;align-items:center;gap:.38rem;background:#22c55e24;border-color:#16a34a73;color:#166534;box-shadow:none}.add-button:hover:not(:disabled){background:#22c55e33;border-color:#16a34a94;color:#14532d;box-shadow:none;transform:none}:root[data-theme=dark] .add-button{background:#22c55e33;border-color:#4ade8080;color:#c7f9d8}:root[data-theme=dark] .add-button:hover:not(:disabled){background:#22c55e47;border-color:#86efaca8;color:#e9fff1}.add-icon{width:.9rem;height:.9rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.trash-icon{width:1.3rem;height:1.3rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.theme-option{display:inline-flex;align-items:center;gap:.45rem;border:none;border-radius:999px;padding:.5rem .86rem;background:transparent;color:color-mix(in srgb,var(--muted) 92%,#d4d8df);box-shadow:none;font-weight:500;font-size:.88rem}.theme-option:hover:not(:disabled){transform:none;box-shadow:none;background:color-mix(in srgb,#2b2f37 66%,transparent)}.theme-option.is-active{color:#f1f4f8;background:color-mix(in srgb,#3a3f48 75%,transparent)}.theme-option-icon-svg{width:1.18rem;height:1.18rem;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.92}:root[data-theme=light] .theme-picker{background:#e7ebf1;border-color:#cfd6e1}:root[data-theme=light] .theme-option{color:#5f6776}:root[data-theme=light] .theme-option:hover:not(:disabled){background:#dde4ee}:root[data-theme=light] .theme-option.is-active{color:#1f2735;background:#fff}.panel-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:.7rem}.controls-layout{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:.9rem}.controls-layout.controls-layout-single{grid-template-columns:minmax(0,1fr)}.controls-section{border:1px solid var(--card-border);border-radius:14px;padding:.75rem;background:var(--metric-bg)}.controls-section h3{margin:0 0 .55rem;font-size:.92rem;color:var(--muted);font-weight:400}.panel-grid-case{grid-template-columns:repeat(3,minmax(130px,1fr))}.panel-grid-ga{grid-template-columns:repeat(4,minmax(120px,1fr))}.field{display:flex;flex-direction:column;gap:.28rem}.field span{font-size:.83rem;color:var(--muted);font-weight:400}input,select{width:100%;border:1px solid var(--input-border);border-radius:11px;padding:.5rem .58rem;font-size:.92rem;background:var(--input-bg);color:var(--text);font-family:inherit;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}input:focus-visible,select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input-invalid{border-color:#dc2626;background:color-mix(in srgb,#dc2626 8%,var(--input-bg))}.input-invalid:focus-visible{border-color:#dc2626;box-shadow:0 0 0 3px #dc262633}.quantity-control{display:flex;align-items:center;gap:.42rem}.quantity-control input{width:6.2rem;min-width:var(--number-input-min);height:2.2rem}.qty-step{width:2.9rem;height:2.2rem;border-radius:11px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--heading);box-shadow:none;font-size:1rem;line-height:1;padding:0;display:inline-flex;align-items:center;justify-content:center}.qty-step:hover:not(:disabled){transform:none;box-shadow:none;filter:none;background:var(--accent-soft)}.history-scroll .icon-button{width:2.9rem;height:2.2rem;border-radius:11px}.history-scroll th,.history-scroll td{padding-left:.75rem;padding-right:.75rem}.data-table-stock th:last-child,.data-table-stock td:last-child,.data-table-pieces th:last-child,.data-table-pieces td:last-child{width:3.4rem;padding-left:.38rem;padding-right:.38rem}.toggles{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.95rem;font-size:.9rem}.settings-stack{flex-direction:column;align-items:flex-start;gap:.75rem}.toggles label{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.summary{margin-top:.8rem;display:flex;align-items:center;flex-wrap:wrap;gap:1rem;font-size:.9rem;color:var(--muted)}.case-pieces-card{margin-top:.7rem;border:1px solid var(--card-border);border-radius:14px;padding:.72rem;background:var(--metric-bg)}.case-pieces-header{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;color:var(--muted);font-size:.88rem;margin-bottom:.45rem}.case-pieces-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:.5rem}.case-piece-item{padding:.2rem}.case-piece-preview{width:100%;height:124px;border:1px solid var(--table-border);border-radius:10px;background:var(--canvas-bg);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.case-piece-preview svg{width:100%;height:100%}.case-piece-qty{position:absolute;top:8px;left:8px;z-index:1;padding:.08rem .45rem;border-radius:6px;border:1px solid rgba(255,255,255,.24);background:#24272dd6;color:#f8fbff;font-size:.76rem;font-weight:700;line-height:1.1;white-space:nowrap}:root[data-theme=dark] .case-piece-qty{border-color:#ff8d4875;background:#14171de6;color:#ffe2cd}.reference-card{margin-top:.8rem;border:1px solid var(--card-border);border-radius:14px;padding:.72rem;background:var(--metric-bg)}.reference-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;color:var(--muted);font-size:.88rem;margin-bottom:.45rem}.reference-header h3,.reference-header strong{margin:0;line-height:1.2}.pieces-header-actions{display:inline-flex;align-items:center;gap:.45rem}.pieces-header-actions .add-button{background:#22c55e24;border-color:#16a34a73;color:#166534}.pieces-header-actions .add-button:hover:not(:disabled){background:#22c55e33;border-color:#16a34a94;color:#14532d}:root[data-theme=dark] .pieces-header-actions .add-button{background:#22c55e33;border-color:#4ade8080;color:#c7f9d8}:root[data-theme=dark] .pieces-header-actions .add-button:hover:not(:disabled){background:#22c55e47;border-color:#86efaca8;color:#e9fff1}.reference-gallery{display:grid;gap:.6rem}.reference-image{width:100%;max-height:420px;object-fit:contain;border-radius:10px;border:1px solid var(--table-border);background:var(--card-bg);display:block}.reference-empty{margin:0;color:var(--muted);font-size:.88rem}.metrics-grid{margin-top:.75rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.metrics-section{margin-top:.75rem}.optimization-result-area{transition:opacity .16s ease}.optimization-result-area.is-updating{opacity:.45}.metrics-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.metrics-header h3{margin:0}.loaded-run-banner{margin:.1rem 0 .65rem;padding:.52rem .62rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 58%,var(--metric-border));background:color-mix(in srgb,var(--accent) 10%,var(--metric-bg));display:flex;align-items:center;justify-content:space-between;gap:.7rem}.loaded-run-banner-text{display:flex;flex-direction:column;gap:.08rem}.loaded-run-banner-text strong{font-size:.82rem;font-weight:400;color:var(--heading)}.loaded-run-banner-text span{font-size:.75rem;color:var(--muted)}.summary-warning{margin:.1rem 0 .65rem;padding:.52rem .62rem;border-radius:10px;border:1px solid rgba(220,38,38,.35);background:#dc26261a;color:#b91c1c;font-size:.82rem;font-weight:400}:root[data-theme=dark] .summary-warning{border-color:#f8717170;background:#7f1d1d52;color:#fecaca}.metric{min-width:0;border:1px solid var(--metric-border);border-radius:12px;padding:.6rem;background:var(--metric-bg)}.metric-run{padding:0;overflow:hidden}.summary-run-button{width:100%;height:100%;min-height:100%;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}.metric>span{display:block;font-size:.77rem;color:var(--muted)}.metric strong{display:block;margin-top:.1rem;font-size:.97rem;color:var(--heading);font-weight:400}.metric-real-waste-percent-group{white-space:nowrap}.metric-percent-real-waste{display:inline;font-weight:400}.metric-real-waste-leaf{display:inline-block;margin-left:.2rem;vertical-align:-.15em}.metric-real-waste-leaf-icon{width:1.16rem;height:1.16rem;display:inline-block}.metric-alert strong{color:#dc2626}.sheet-stack{margin-top:.75rem;display:grid;gap:1rem}.sheet-stack.sheet-stack-cols-1{grid-template-columns:1fr}.sheet-stack.sheet-stack-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-view-section{margin-top:.75rem}.view-toolbar{display:flex;align-items:center;gap:.42rem;flex-wrap:wrap}.view-control{width:2.12rem;height:2.12rem;border-radius:10px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;box-shadow:none;padding:0}.view-control:hover:not(:disabled){transform:none;box-shadow:none;background:color-mix(in srgb,var(--input-bg) 75%,var(--card-bg) 25%)}.view-control.is-active{border-color:color-mix(in srgb,var(--accent) 54%,var(--input-border));background:color-mix(in srgb,var(--accent) 18%,var(--input-bg));color:color-mix(in srgb,var(--accent) 84%,var(--heading))}.view-divider{width:1px;height:1.4rem;margin:0 .15rem;background:var(--table-border)}.view-icon{width:1.12rem;height:1.12rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.view-cut-order{font-size:.8rem;font-weight:700;min-width:2.12rem}.view-cut-order.is-active{animation:cut-line-blink var(--cut-blink-duration, .9s) ease-in-out infinite;animation-delay:var(--cut-blink-delay, 0s)}.view-cut-off{min-width:2.5rem;padding:0 .45rem;font-size:.72rem;font-weight:700}.view-cut-group{display:inline-flex;align-items:center;gap:.3rem;padding:0 .15rem}.view-cut-arrow{font-size:.95rem;font-weight:800}.view-cut-value{min-width:2.7rem;width:auto;padding:0 .56rem;font-size:.76rem;font-weight:800}.view-cut-value.view-cut-off{border-color:var(--input-border);background:var(--input-bg);color:var(--muted)}.view-cut-value.is-active{animation:cut-line-blink var(--cut-blink-duration, .9s) ease-in-out infinite;animation-delay:var(--cut-blink-delay, 0s)}.sheet-card{border:1px solid var(--card-border);border-radius:16px;padding:.75rem;background:var(--metric-bg)}.sheet-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.9rem;margin-bottom:.35rem}.sheet-title h2{margin:0;display:inline-flex;align-items:center;gap:.42rem;flex-wrap:wrap;color:var(--heading)}.sheet-title-main{font-size:.98rem;font-weight:500;line-height:1.2}.sheet-title-count{display:inline-flex;align-items:center;justify-content:center;min-width:2.35rem;padding:.24rem .62rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 68%,var(--table-border));background:color-mix(in srgb,var(--accent) 26%,var(--card-bg));color:color-mix(in srgb,var(--accent) 92%,var(--heading));font-size:.82rem;font-weight:800;letter-spacing:.01em;line-height:1;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 24%,transparent) inset}.sheet-title-meta{font-size:.78rem;color:var(--muted);font-weight:400;line-height:1.2}.sheet-summary-badges{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.62rem;justify-content:flex-end;width:100%}.sheet-summary-badge{display:inline-flex;align-items:center;justify-content:flex-end;padding:.28rem .52rem;min-height:1.8rem;border-radius:999px;border:1px solid var(--metric-border);background:color-mix(in srgb,var(--card-bg) 76%,var(--metric-bg));color:var(--heading);font-size:.76rem;font-weight:400;line-height:1;text-align:right}.sheet-toolbar{padding:.2rem;border:1px solid var(--table-border);border-radius:12px;background:color-mix(in srgb,var(--card-bg) 92%,transparent);justify-content:flex-end}.canvas-wrap{margin-top:.5rem;border:1px solid var(--card-border);border-radius:12px;padding:.5rem;background:var(--card-bg);overflow:visible}.sheet-viewport{width:100%;display:flex;align-items:center;justify-content:center}.sheet-canvas{width:100%;height:auto;max-height:none;display:block}@media(max-width:1280px){.sheet-canvas{width:min(100%,calc((100dvh - var(--sheet-fit-offset)) * var(--sheet-aspect-ratio, 1)));max-height:calc(100dvh - var(--sheet-fit-offset))}}@media(min-width:1281px){.sheet-canvas.sheet-canvas-fit-tall-desktop{width:min(100%,calc((100dvh - var(--sheet-fit-offset)) * var(--sheet-aspect-ratio, 1)));max-height:calc(100dvh - var(--sheet-fit-offset))}}.stage-gap-anim{transition:transform .8s cubic-bezier(.22,.61,.36,1);transform-origin:0 0}.cut-line-dynamic{animation:cut-line-flow var(--cut-flow-duration, 1.25s) linear infinite,cut-line-blink var(--cut-blink-duration, .9s) ease-in-out infinite;animation-delay:var(--cut-flow-delay, 0s),var(--cut-blink-delay, 0s);stroke:#ff2b2b;opacity:.95}.cut-line-label-dynamic{animation:cut-line-blink var(--cut-blink-duration, .9s) ease-in-out infinite;animation-delay:var(--cut-blink-delay, 0s);fill:#ff2b2b;font-size:42px;font-weight:900;letter-spacing:.03em;paint-order:stroke;stroke:#ffffffeb;stroke-linejoin:round;stroke-width:6px;pointer-events:none;-webkit-user-select:none;user-select:none}.cut-line-label-bg-dynamic{animation:cut-line-blink var(--cut-blink-duration, .9s) ease-in-out infinite;animation-delay:var(--cut-blink-delay, 0s);fill:#12161e61;stroke:#ffffff57;stroke-width:1.4px;pointer-events:none;-webkit-user-select:none;user-select:none}@keyframes cut-line-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-52}}@keyframes cut-line-blink{0%,to{opacity:.95}50%{opacity:.42}}.sheet-dim{color:var(--sheet-dim-text);font-size:1.2rem;font-weight:500;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center}.sheet-dim-x{grid-column:1;grid-row:2}.sheet-dim-y{grid-column:2;grid-row:1;transform:rotate(90deg);transform-origin:center}.history{margin-top:0}.history-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.75rem}.history-groups{display:grid;gap:.8rem}.history-group-card{border:1px solid var(--table-border);border-radius:12px;background:var(--card-bg);overflow:hidden;box-shadow:none}.history-group-toggle{width:100%;position:relative;text-align:left;background:var(--table-head-bg);border-radius:0;border:0;border-bottom:1px solid var(--table-border);color:var(--text);padding:.75rem;box-shadow:none;filter:none;transform:none}.history-group-toggle:hover:not(:disabled),.history-group-toggle:active,.history-group-toggle:focus-visible{box-shadow:none;filter:none;transform:none}.history-group-header{position:absolute;top:.62rem;right:.78rem;line-height:1}.history-group-caret{color:var(--muted);font-size:.92rem;line-height:1;-webkit-user-select:none;user-select:none}.history-summary-kpis{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:.55rem}.history-summary-kpis span{display:flex;flex-direction:column;gap:.12rem;color:var(--muted);font-size:.78rem}.history-summary-kpis em{font-style:normal;font-weight:400;color:var(--text);font-size:.92rem}.history-runs-list{padding:.75rem;background:var(--card-bg);border-top:0;box-shadow:none;filter:none}:root[data-theme=dark] .history-runs-list{background:var(--card-bg)}.history-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;border:1px solid var(--table-border);border-radius:12px;background:var(--card-bg);box-shadow:none;filter:none}.history-runs-list .history-scroll{border-color:var(--table-border);box-shadow:none}.data-table{min-width:100%}.data-table-stock{min-width:560px}.data-table-pieces{min-width:500px}.data-table-history{min-width:560px}.data-table-history th:nth-child(1),.data-table-history td:nth-child(1){width:3.2rem}.data-table-history th:nth-child(2),.data-table-history td:nth-child(2){width:8.3rem}.data-table-history th:nth-child(4),.data-table-history td:nth-child(4),.data-table-history th:nth-child(5),.data-table-history td:nth-child(5){width:4.6rem}.data-table-history th:nth-child(3),.data-table-history td:nth-child(3){width:4.2rem}.data-table-history th:last-child,.data-table-history td:last-child{width:4.4rem}.data-table-history th,.data-table-history td{padding-left:.42rem;padding-right:.42rem}.history-run-date{display:flex;align-items:center;gap:.2rem;white-space:nowrap}.history-load-button{min-height:1.75rem;padding:.2rem .34rem;border-radius:9px;border:1px solid var(--input-border);background:transparent;color:var(--text);box-shadow:none;font-size:.7rem;font-weight:400}.history-load-button:hover:not(:disabled){background:var(--accent-soft);transform:none;box-shadow:none;filter:none}.history-runs-list .data-table-history tbody tr td{color:color-mix(in srgb,var(--text) 72%,var(--muted))}.history-runs-list .data-table-history tbody tr.history-latest-row td{color:var(--heading);font-weight:400}.pieces-section{margin-top:.75rem}.data-table-stock input[type=number],.data-table-pieces input[type=number]{width:100%;min-width:var(--number-input-min);padding-left:.36rem;padding-right:.36rem}.data-table-stock .quantity-control,.data-table-pieces .quantity-control{display:inline-flex;width:auto}.data-table-stock .quantity-control input[type=number],.data-table-pieces .quantity-control input[type=number]{width:var(--number-input-min);min-width:var(--number-input-min);flex:0 0 auto}.data-table-stock input[type=number]::-webkit-outer-spin-button,.data-table-stock input[type=number]::-webkit-inner-spin-button,.data-table-pieces input[type=number]::-webkit-outer-spin-button,.data-table-pieces input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.data-table-stock input[type=number],.data-table-pieces input[type=number]{appearance:textfield;-moz-appearance:textfield}table{width:100%;border-collapse:collapse;font-size:.88rem}th,td{padding:.5rem;border-bottom:1px solid var(--table-row);text-align:left}th{background:var(--table-head-bg);color:var(--muted);font-weight:400}tbody tr:nth-child(2n){background:color-mix(in srgb,var(--table-head-bg) 48%,transparent)}.error{margin:.75rem 0 0;padding:.75rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--error-text) 28%,transparent);background:var(--error-bg);color:var(--error-text);white-space:pre-wrap}:root[data-theme=dark] .error{border-color:#f8717180;background:linear-gradient(180deg,#7f1d1d80,#6f181875),color-mix(in srgb,var(--card-bg) 84%,transparent);color:#fecaca;box-shadow:inset 0 0 0 1px #f8717129,0 8px 18px #0000002e}@keyframes rial-sheen{0%{transform:translate(-115%)}42%,to{transform:translate(120%)}}@media(max-width:1119px){.top-menu-right,.top-menu-nav,.top-menu-user{display:none}.top-menu-toggle{display:inline-flex}}@media(min-width:1120px){.menu-drawer{display:none}}@media(max-width:1280px)and (min-width:981px){.app{padding:0}.top-menu-inner{width:100%;max-width:none}.menu-drawer{right:.75rem;top:5.4rem;width:min(300px,calc(100vw - 1.5rem))}.card{width:100%;max-width:none}}@media(max-width:980px){.app{padding:0}.top-menu{top:0}.top-menu-inner{padding:.75rem}.top-menu-brand{padding:.34rem .62rem .36rem;min-height:2.5rem;display:inline-flex;align-items:center;justify-content:center}.top-menu-brand .brand-title{font-size:1.05rem}.top-menu-brand-text{gap:.3rem;width:100%;justify-content:center}.top-menu-left{gap:.75rem}.top-menu-logo{height:2.5rem}.top-menu-brand .brand-subtitle{font-size:.56rem;letter-spacing:.09em}.menu-drawer{right:.75rem;top:4.8rem;width:min(300px,calc(100vw - 1.5rem))}.sidebar{position:static;width:100%;min-height:auto;margin-bottom:.8rem}.sidebar.is-collapsed{width:100%;min-height:auto;padding:.75rem}.controls-layout{grid-template-columns:1fr}.settings-item{grid-template-columns:1fr;align-items:start}.settings-item-control{justify-content:flex-start}.panel-grid-case,.panel-grid-ga{grid-template-columns:repeat(2,minmax(140px,1fr))}.case-pieces-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sheet-stack.sheet-stack-cols-2{grid-template-columns:1fr}.card{padding:.75rem}.header{flex-direction:column}.brand-title{font-size:1.34rem}.header-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.sheet-title{flex-direction:column;gap:.3rem}.sheet-toolbar{justify-content:flex-start}}@media(max-width:640px){.app{padding:0}.top-menu-inner{padding:.75rem}.menu-drawer{right:.75rem;width:min(300px,calc(100vw - 1.5rem))}.card{border-radius:14px;padding:.75rem}.controls-section{padding:.65rem}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-header{align-items:center;flex-wrap:nowrap}.pieces-header-actions{width:100%;flex-wrap:wrap;gap:.4rem}.pieces-header-actions .add-button{flex:1 1 180px}.pieces-section .reference-header{align-items:flex-start;flex-wrap:wrap}.settings-item-control select,.settings-item-control .settings-number-input{width:100%;min-width:0}.quantity-control input{width:5rem;min-width:var(--number-input-min)}.qty-step,.history-scroll .icon-button{width:2.35rem}.history-scroll th,.history-scroll td{padding-left:.56rem;padding-right:.56rem}.sheet-toolbar{overflow-x:auto;justify-content:flex-start;flex-wrap:nowrap;scrollbar-width:thin}.history-toolbar{flex-direction:column;align-items:stretch}.history-summary-kpis{grid-template-columns:1fr}.loaded-run-banner{flex-direction:column;align-items:flex-start}}@media(max-width:420px){.top-menu-brand .brand-subtitle{display:none}.metrics-grid,.panel-grid-case,.panel-grid-ga,.case-pieces-grid{grid-template-columns:1fr}}
