:root{--c-primary:#1d2738;--c-primary-light:#2d374a;--c-accent:#18ba60;--c-accent-hover:#14a151;--c-accent-subtle:rgba(24,186,96,0.12);--c-accent-strong:#0f7a38;--c-accent-strong-hover:#0a5c2b;--c-bg:#f5f7f9;--c-surface:#ffffff;--c-surface2:#f7f9fa;--c-border:#e1e7ec;--c-border-strong:#cbd5e0;--c-text:#1d2738;--c-text2:#3a526a;--c-muted:#647285;--c-success:#0f7a38;--c-success-bg:#f0fdf4;--c-warning:#b45309;--c-warning-bg:#fffbeb;--c-danger:#dc2626;--c-danger-bg:#fef2f2;--c-info:#0369a1;--c-info-bg:#f0f9ff;--c-purple:#7c3aed;--c-purple-bg:#f5f3ff;--font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--text-xs:0.6875rem;--text-sm:0.8125rem;--text-base:0.9375rem;--text-lg:1.0625rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--w-normal:400;--w-medium:500;--w-semibold:600;--w-bold:700;--s1:0.25rem;--s2:0.5rem;--s3:0.75rem;--s4:1rem;--s5:1.25rem;--s6:1.5rem;--s8:2rem;--s10:2.5rem;--s12:3rem;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:18px;--r-full:9999px;--shadow-sm:0 1px 3px rgba(26,31,54,0.06),0 1px 2px rgba(26,31,54,0.04);--shadow-md:0 4px 12px rgba(26,31,54,0.08),0 2px 4px rgba(26,31,54,0.04);--shadow-lg:0 10px 30px rgba(26,31,54,0.1),0 4px 8px rgba(26,31,54,0.05);--t-fast:0.12s ease;--t-base:0.18s ease;--sidebar-w:264px;--header-h:82px}@media (max-width:1280px){:root{--sidebar-w:248px}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);font-size:var(--text-base);line-height:1.6;color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;min-height:100vh}img,svg{display:block;max-width:100%}a{color:var(--c-accent-strong);text-decoration:none}a:hover{color:var(--c-accent-strong-hover)}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}.money,.stat-value,.tnum,td.num,th.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.app{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:linear-gradient(180deg,var(--c-primary) 0,var(--c-primary-light) 100%);color:#fff;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:40;overflow-y:auto;box-shadow:8px 0 30px rgba(15,23,42,.08);transition:width .3s ease,transform .3s ease;scrollbar-width:none;-ms-overflow-style:none}.sidebar::-webkit-scrollbar{display:none}.sidebar-brand{display:flex;align-items:center;justify-content:center;height:var(--header-h);padding:0 18px;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.06);flex-shrink:0}.sidebar-brand-logo{filter:brightness(0) invert(.95)}.sidebar-brand-logo--full{width:80%;height:80%;max-width:80%;max-height:80%;display:block;object-fit:contain}.sidebar-brand-logo--mini{width:44px;height:44px;display:none;object-fit:contain}.sidebar-nav{padding:14px 12px 18px;flex:1 1}.nav-item{display:flex;align-items:center;gap:var(--s3);width:100%;padding:12px 18px;margin:4px 0;border-radius:var(--r-md);border:0;background:transparent;font:inherit;text-align:left;cursor:pointer;color:rgba(255,255,255,.72);font-size:14px;font-weight:600;transition:all .2s ease}.nav-item.active,.nav-item:hover{background:rgba(255,255,255,.09);color:#fff}.nav-item svg{width:20px;height:20px;flex-shrink:0}.nav-item-badge{margin-left:auto;background:rgba(255,255,255,.16);border-radius:var(--r-full);padding:1px 7px;font-size:var(--text-xs);font-weight:600}.menu-item{display:flex;align-items:center;gap:var(--s2);width:100%;padding:9px var(--s3);border-radius:var(--r-sm);border:0;background:transparent;font:inherit;text-align:left;cursor:pointer;color:var(--c-text);font-size:var(--text-sm);font-weight:500;transition:background .15s ease}.menu-item:hover:not(:disabled){background:var(--c-surface2)}.menu-item:disabled{opacity:.5;cursor:not-allowed}.menu-item svg{width:16px;height:16px;flex-shrink:0;color:var(--c-text2)}.menu-item--danger,.menu-item--danger svg{color:var(--c-danger)}.menu-divider{border:0;border-top:1px solid var(--c-border);margin:var(--s1) 0}.nav-group{width:100%}.nav-item--parent[aria-expanded=true]{background:rgba(255,255,255,.06)}.nav-item-chevron{margin-left:auto;flex-shrink:0;opacity:.6;transition:transform .2s ease}.nav-item--parent[aria-expanded=true] .nav-item-chevron{transform:rotate(180deg);opacity:1}.nav-submenu{display:flex;flex-direction:column;margin:2px 0 6px;padding:6px;background:rgba(0,0,0,.16);border-radius:12px;animation:nav-submenu-in .15s ease}.nav-subheading{padding:10px 14px 2px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.42)}.nav-submenu .nav-item{padding:9px 12px;margin:1px 0;border-radius:8px;font-size:13px;font-weight:500;color:rgba(255,255,255,.72)}.nav-submenu .nav-item:hover{background:rgba(255,255,255,.08);color:#fff}.nav-submenu .nav-item svg{width:16px;height:16px}.nav-submenu .nav-item.active{background:var(--c-accent-subtle);color:#fff;box-shadow:inset 2px 0 0 var(--c-accent)}@keyframes nav-submenu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nav-item.active .nav-item-badge{background:rgba(0,0,0,.2)}.main{flex:1 1;margin-left:var(--sidebar-w);min-width:0;display:flex;flex-direction:column;transition:margin-left .3s ease}.topbar{min-height:var(--header-h);background-color:rgba(255,255,255,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(15,23,42,.04);box-shadow:0 4px 12px rgba(0,0,0,.02);justify-content:space-between;padding:14px 32px;gap:var(--s4);position:sticky;top:0;z-index:30}.topbar,.topbar-title-shell{display:flex;align-items:center}.topbar-title-shell{gap:16px;min-width:0}.sidebar-toggle{border:none;background:transparent;color:var(--c-primary-light);display:inline-flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;flex-shrink:0;transition:background .2s ease}.sidebar-toggle:hover{background:var(--c-surface2)}.sidebar-toggle svg{width:24px;height:24px}.topbar-back{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;min-height:44px;min-width:44px;padding:0 12px;justify-content:center;border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text2);border-radius:var(--r-md);font-weight:600;font-size:var(--text-sm)}.topbar-back:hover{background:var(--c-surface2);color:var(--c-text)}.topbar-back:active{background:var(--c-border)}@media (max-width:640px){.topbar-back__label{display:none}.topbar-back{padding:0}}.topbar-page-icon{width:44px;height:44px;border-radius:14px;flex-shrink:0;background:var(--c-surface2);border:1px solid var(--c-border);color:var(--c-accent-strong);display:grid;place-items:center}.topbar-title-copy{display:flex;flex-direction:column;justify-content:center;min-width:0}.topbar-title{font-size:20px;font-weight:800;color:var(--c-text);margin:0}.topbar-subtitle,.topbar-title{line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-subtitle{font-size:14px;font-weight:600;color:#64748b;margin:2px 0 0}.topbar-actions{display:flex;align-items:center;gap:var(--s3);flex-shrink:0}.header-rates{display:inline-flex;align-items:center;gap:var(--s2)}.header-rate-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:74px;padding:7px 10px;border-radius:14px;background:linear-gradient(180deg,#ffffff,#f8fafc);border:1px solid #dbe3f0;font-size:10px;font-weight:700;white-space:nowrap;box-shadow:0 4px 14px rgba(15,23,42,.04)}.header-rate-chip__label{letter-spacing:.04em;color:#64748b;font-size:10px;line-height:1}.header-rate-chip strong{color:#0f172a;font-weight:800;font-size:13px;line-height:1.1;letter-spacing:-.02em}.user-chip{display:flex;align-items:center;gap:var(--s2);padding:var(--s1) var(--s3) var(--s1) var(--s1);border-radius:var(--r-full);border:1px solid var(--c-border);background:var(--c-surface2)}.user-avatar{width:28px;height:28px;border-radius:var(--r-full);background:var(--c-primary);color:#fff;display:grid;place-items:center;font-size:var(--text-xs);font-weight:600}.user-meta{line-height:1}.user-name{font-size:var(--text-sm);font-weight:600}.content{padding:var(--s6);flex:1 1;width:100%}.footer{padding:var(--s3) clamp(var(--s4),2vw,var(--s6));background:var(--c-surface);border-top:1px solid var(--c-border);color:#94a3b8;flex-shrink:0}.footer__inner{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;font-size:var(--text-sm);font-weight:600}.footer__inner a{color:var(--c-muted);font-weight:700}.footer__inner a:hover{color:var(--c-text)}.footer-separator{color:var(--c-border-strong);padding:0 .2rem}.preview-banner{background:var(--c-warning-bg);border-bottom:1px solid #fde68a;color:#92400e;padding:var(--s2) var(--s6);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--s3)}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-head{padding:var(--s3) var(--s5);border-bottom:1px solid var(--c-border);display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.card-title{font-size:var(--text-lg);font-weight:700}.card-subtitle{font-size:var(--text-sm);color:var(--c-muted);margin-top:2px}.page-title{font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--s4);line-height:1.25}.card-body{padding:var(--s5)}.card-body--flush{padding:0}.grid{display:grid;gap:var(--s4)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.grid-5{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.grid-6{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.trend{display:flex;flex-direction:column;gap:var(--s3)}.trend-plot{position:relative;display:flex;align-items:stretch;gap:var(--s2);height:210px}.trend-plot:before{content:"";position:absolute;inset:0 0 20px 0;z-index:0;background-image:linear-gradient(var(--c-border),var(--c-border)),linear-gradient(var(--c-border),var(--c-border)),linear-gradient(var(--c-border-strong),var(--c-border-strong));background-size:100% 1px,100% 1px,100% 1px;background-position:top,50%,bottom;background-repeat:no-repeat;pointer-events:none}.trend-col{z-index:1;flex:1 1;min-width:0;flex-direction:column;align-items:center}.trend-col,.trend-track{position:relative;display:flex}.trend-track{flex:1 1;width:100%;align-items:flex-end;justify-content:center}.trend-bar{width:100%;max-width:46px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--c-accent) 0,var(--c-accent-strong) 100%);transform-origin:bottom;animation:trend-grow .52s cubic-bezier(.22,1,.36,1) both;transition:filter .14s ease}.trend-col--current .trend-bar{background:linear-gradient(180deg,#3ddc8a 0,var(--c-accent) 100%)}.trend-col:hover .trend-bar{filter:brightness(1.1) saturate(1.1)}.trend-value{position:absolute;left:50%;transform:translateX(-50%);font-size:var(--text-xs);font-weight:600;color:var(--c-text);white-space:nowrap;animation:trend-fade .42s ease both}.trend-label{margin-top:var(--s2);font-size:var(--text-xs);color:var(--c-muted)}.trend-col--current .trend-label{color:var(--c-accent-strong);font-weight:600}.trend-foot{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);justify-content:space-between;font-size:var(--text-xs);color:var(--c-muted);border-top:1px solid var(--c-border);padding-top:var(--s3)}@keyframes trend-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes trend-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.trend-bar,.trend-value{animation:none}}.stack{flex-direction:column;gap:var(--s4)}.row,.stack{display:flex}.row{gap:var(--s3);align-items:center;flex-wrap:wrap}.row-end{margin-left:auto}.stat{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:var(--s4) var(--s5);display:block;transition:border-color var(--t-fast),box-shadow var(--t-fast);color:inherit}a.stat:hover{border-color:var(--c-accent);box-shadow:var(--shadow-md);color:inherit}.stat-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--c-muted);font-weight:600}.stat-value{font-size:var(--text-3xl);font-weight:700;line-height:1.15;margin-top:var(--s1)}.stat-hint{font-size:var(--text-sm);color:var(--c-text2);margin-top:2px}.stat--danger .stat-value{color:var(--c-danger)}.stat--warning .stat-value{color:var(--c-warning)}.stat--success .stat-value{color:var(--c-success)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);padding:0 var(--s4);height:38px;border-radius:var(--r-md);border:1px solid transparent;font-size:var(--text-sm);font-weight:600;white-space:nowrap;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),transform var(--t-fast)}.btn svg{width:16px;height:16px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--c-accent-strong);outline-offset:2px}.btn:active:not(:disabled){transform:translateY(1px)}.btn--primary{background:var(--c-accent);color:#fff}.btn--primary:hover:not(:disabled){background:var(--c-accent-hover);color:#fff}.btn--primary:active:not(:disabled){background:#118a45}.btn--ghost{background:var(--c-surface);border-color:var(--c-border);color:var(--c-text2)}.btn--ghost:hover:not(:disabled){background:var(--c-surface2);border-color:var(--c-border-strong);color:var(--c-text)}.btn--ghost:active:not(:disabled){background:var(--c-border);border-color:var(--c-border-strong)}.btn--danger{background:var(--c-danger);color:#fff}.btn--danger:hover:not(:disabled){background:#b91c1c;color:#fff}.btn--danger:active:not(:disabled){background:#991b1b}.btn--sm{height:32px;padding:0 var(--s3);font-size:var(--text-xs)}.btn--lg{height:46px;padding:0 var(--s6);font-size:var(--text-base)}.btn--block{width:100%}.icon-btn{position:relative;width:32px;height:32px;display:inline-grid;place-items:center;border-radius:var(--r-sm);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text2);transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),transform var(--t-fast)}.icon-btn:hover{background:var(--c-surface2);border-color:var(--c-border-strong);color:var(--c-text)}.icon-btn:active{background:var(--c-border);transform:translateY(1px)}.icon-btn:focus-visible{outline:2px solid var(--c-accent-strong);outline-offset:2px}.icon-btn svg{width:15px;height:15px}.icon-btn--danger:hover{border-color:var(--c-danger);color:var(--c-danger)}.icon-btn[data-tip]{overflow:visible}.icon-btn[data-tip]:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);display:none;align-items:center;min-height:30px;padding:0 var(--s3);background:rgba(15,23,42,.96);color:#fff;font-size:var(--text-xs);font-weight:700;white-space:nowrap;border-radius:var(--r-md);border:1px solid rgba(148,163,184,.16);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;z-index:80}.icon-btn[data-tip]:focus-visible:after,.icon-btn[data-tip]:hover:after{display:inline-flex;opacity:1;transform:translateX(-50%) translateY(0)}.table .td-actions .icon-btn[data-tip]:after{bottom:auto;top:50%;left:auto;right:calc(100% + 6px);transform:translateY(-50%) translateX(4px)}.table .td-actions .icon-btn[data-tip]:focus-visible:after,.table .td-actions .icon-btn[data-tip]:hover:after{transform:translateY(-50%) translateX(0)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--r-full);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.badge--gray{background:#eef2f5;color:var(--c-text2)}.badge--green{background:var(--c-success-bg);color:var(--c-success)}.badge--blue{background:var(--c-info-bg);color:var(--c-info)}.badge--orange{background:var(--c-warning-bg);color:var(--c-warning)}.badge--red{background:var(--c-danger-bg);color:var(--c-danger)}.badge--purple{background:var(--c-purple-bg);color:var(--c-purple)}.field{display:flex;flex-direction:column;gap:var(--s1)}.field-label{font-size:var(--text-sm);font-weight:600;color:var(--c-text2)}.field-label .req{color:var(--c-danger);margin-left:2px}.field-hint{font-size:var(--text-xs);color:var(--c-muted)}.field-error{font-size:var(--text-xs);color:var(--c-danger);font-weight:500}.input,.select,.textarea{width:100%;min-height:38px;padding:var(--s2) var(--s3);border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);font-size:var(--text-sm);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.input::placeholder,.textarea::placeholder{font-size:var(--text-xs)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--c-accent-strong);box-shadow:0 0 0 3px var(--c-accent-subtle)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--c-surface2);color:var(--c-muted);cursor:not-allowed}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--c-danger)}.textarea{min-height:88px;resize:vertical}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a96a6' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}.search-select{position:relative}.search-select-panel{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:5;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);max-height:260px;overflow-y:auto;padding:var(--s1)}.search-select-option{display:block;width:100%;text-align:left;padding:var(--s2) var(--s3);border-radius:var(--r-sm);border:none;background:none;cursor:pointer;font-size:var(--text-sm);color:var(--c-text)}.search-select-option:hover{background:var(--c-surface2)}.search-select-empty{padding:var(--s2) var(--s3);font-size:var(--text-sm);color:var(--c-muted)}.checkbox{display:flex;align-items:center;gap:var(--s2);font-size:var(--text-sm);cursor:pointer}.checkbox input{appearance:none;-webkit-appearance:none;width:18px;height:18px;flex-shrink:0;border:1.5px solid var(--c-border-strong);border-radius:4px;background:var(--c-surface);cursor:pointer;position:relative;transition:background var(--t-fast),border-color var(--t-fast)}.checkbox input:hover{border-color:var(--c-accent)}.checkbox input:checked{background:var(--c-accent-strong);border-color:var(--c-accent-strong)}.checkbox input:checked:after{content:"";position:absolute;left:5px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox input:focus-visible{outline:2px solid var(--c-accent-strong);outline-offset:2px}.radio{display:flex;align-items:center;gap:var(--s2);font-size:var(--text-sm);cursor:pointer}.radio input{appearance:none;-webkit-appearance:none;width:18px;height:18px;flex-shrink:0;border:1.5px solid var(--c-border-strong);border-radius:50%;background:var(--c-surface);cursor:pointer;position:relative;transition:background var(--t-fast),border-color var(--t-fast)}.radio input:hover{border-color:var(--c-accent)}.radio input:checked{border-color:var(--c-accent-strong)}.radio input:checked:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:var(--c-accent-strong);transform:translate(-50%,-50%)}.radio input:focus-visible{outline:2px solid var(--c-accent-strong);outline-offset:2px}.form-grid{display:grid;gap:var(--s5) var(--s4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.form-section{margin-top:var(--s6)}.form-section:first-child{margin-top:0}.form-section-title{font-size:var(--text-sm);color:var(--c-text2);font-weight:600;margin-bottom:var(--s3)}.form-actions{display:flex;gap:var(--s3);justify-content:flex-end;padding-top:var(--s5);margin-top:var(--s5);border-top:1px solid var(--c-border)}.span-2{grid-column:span 2}.span-full{grid-column:1/-1}.form-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--s2) var(--s6);align-content:start;align-items:start}.form-row{display:grid;grid-template-columns:var(--label-w,128px) 1fr;column-gap:var(--s3);row-gap:2px;min-height:36px}.form-row-label{grid-column:1;grid-row:1;align-self:center;text-align:right;font-size:var(--text-sm);color:var(--c-text2);white-space:nowrap}.form-row--top .form-row-label{align-self:start;padding-top:8px}.form-row-label .req{color:var(--c-danger);margin-left:2px}.form-row-control{grid-column:2;grid-row:1;min-width:0}.form-row-control .input,.form-row-control .select{min-height:34px}.form-row-hint{grid-column:2;grid-row:2}.form-row--error .form-row-label{color:var(--c-danger)}.form-row--error .form-row-control .input,.form-row--error .form-row-control .rewind-trigger,.form-row--error .form-row-control .select,.form-row--error .form-row-control .textarea{border-color:var(--c-danger)}.form-row-error{font-size:var(--text-xs);color:var(--c-danger);font-weight:500}.form-rows--single{grid-template-columns:1fr}.product-top{grid-template-columns:repeat(2,minmax(0,1fr))}.product-cols-3,.product-top{display:grid;gap:var(--s6);align-items:start}.product-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.product-col{--label-w:104px;min-width:0}.product-entry-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,430px);gap:var(--s6);align-items:start}.product-main-flow,.product-panel-stack{display:flex;flex-direction:column;gap:var(--s5)}.product-media-panel{min-width:0;position:sticky;top:var(--s4)}.product-section-grid{display:grid;gap:var(--s5);align-items:start}.product-section-grid--triple{grid-template-columns:repeat(3,minmax(0,1fr))}.product-section-grid--double{grid-template-columns:repeat(2,minmax(0,1fr))}.product-section-card{--label-w:118px;min-width:0;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);box-shadow:var(--shadow-sm)}.product-section-card--compact{--label-w:110px}.product-section-card__head{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s4) var(--s5);border-bottom:1px solid var(--c-border);background:var(--c-surface2);border-radius:var(--r-md) var(--r-md) 0 0}.product-section-card__icon{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface);color:var(--c-accent-strong)}.product-section-card__copy{min-width:0}.product-section-card__copy h3{margin:0;font-size:var(--text-base);line-height:1.2;color:var(--c-text)}.product-section-card__copy p{margin:4px 0 0;color:var(--c-muted);font-size:var(--text-xs);line-height:1.45}.product-section-card__body{padding:var(--s5)}.product-section-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);padding:var(--s4) var(--s5);border-top:1px solid var(--c-border);background:var(--c-surface2);border-radius:0 0 var(--r-md) var(--r-md)}.product-section-card__actions .btn{flex:0 1 auto}.product-section-card--compact .product-section-card__body{padding:var(--s4)}.product-form-rows{gap:var(--s3) var(--s5)}.product-form-rows--compact{gap:var(--s3)}.product-measure-grid{grid-template-columns:repeat(2,minmax(260px,1fr));--label-w:132px}.product-accounting-grid{grid-template-columns:minmax(260px,.75fr) minmax(320px,1.25fr)}.product-form-rows--rulo{--label-w:160px}.product-line-row{flex-wrap:wrap;align-items:center;gap:var(--s2);min-height:0;margin-bottom:var(--s2);padding:var(--s2);border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface2)}.product-line-row .input,.product-line-row .select{flex:1 1 150px;min-width:130px}.product-line-row--process .input:last-of-type{flex-basis:220px}.product-line-row__index{flex:0 0 24px;color:var(--c-muted)}.product-line-row__unit{flex:0 0 42px;text-align:center}@media (max-width:1500px){.product-section-grid--triple{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1200px){.product-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.product-entry-layout,.product-section-grid--double,.product-section-grid--triple{grid-template-columns:1fr}.product-media-panel{position:static}.product-accounting-grid,.product-measure-grid{grid-template-columns:1fr}}@media (max-width:640px){.form-row{grid-template-columns:1fr;row-gap:4px}.form-row-label{grid-column:1;grid-row:1;align-self:start;padding-top:0;text-align:left;white-space:normal}.form-row-control{grid-column:1;grid-row:2}.form-row-hint{grid-column:1;grid-row:3}}@media (max-width:900px){.product-cols-3,.product-top{grid-template-columns:1fr}.product-section-card__head{padding:var(--s3) var(--s4)}.product-section-card--compact .product-section-card__body,.product-section-card__body{padding:var(--s4)}.product-section-card__actions{padding:var(--s3) var(--s4)}.product-line-row .input,.product-line-row .select{flex-basis:100%}.product-line-row__index,.product-line-row__unit{flex-basis:auto}}.product-files{display:flex;flex-direction:column;gap:var(--s4)}.file-slot{border:1px solid var(--c-border);border-radius:var(--r-md);overflow:hidden;background:var(--c-surface)}.file-slot__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:var(--s2) var(--s3);background:var(--c-surface2);border-bottom:1px solid var(--c-border)}.file-slot__title{display:inline-flex;align-items:center;gap:var(--s2);font-size:var(--text-xs);font-weight:600;color:var(--c-text2)}.file-slot__badge{margin-left:auto;padding:3px 8px;border-radius:var(--r-full);background:var(--c-accent-subtle);color:var(--c-accent-strong);font-size:11px;font-weight:700;white-space:nowrap}.file-slot__body{height:190px;display:flex;align-items:center;justify-content:center;padding:var(--s2);background:var(--c-surface2)}.file-slot__body--large{min-height:260px;height:auto;aspect-ratio:16/10}.file-slot__preview{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.file-slot__preview-label{position:absolute;left:var(--s2);top:var(--s2);max-width:calc(100% - var(--s4));padding:4px 8px;border-radius:var(--r-full);background:rgba(255,255,255,.92);color:var(--c-text2);font-size:11px;font-weight:700;box-shadow:var(--shadow-sm)}.file-slot__image{max-width:100%;max-height:100%;object-fit:contain}.file-slot__pdf{width:100%;height:100%;border:none;background:#fff}.file-slot__empty{display:flex;flex-direction:column;align-items:center;gap:var(--s2);color:var(--c-muted);font-size:var(--text-xs);text-align:center;padding:0 var(--s2)}.file-slot__drop{cursor:pointer;transition:background var(--t-fast),box-shadow var(--t-fast)}.file-slot__drop input[type=file]{display:none}.file-slot__drop:hover{background:var(--c-surface);box-shadow:inset 0 0 0 2px var(--c-accent-subtle)}.file-slot__drop:hover .file-slot__hint{color:var(--c-accent-strong)}.file-slot__hint{font-weight:700}.file-slot__meta{display:flex;flex-direction:column;gap:2px;padding:var(--s2) var(--s3);border-top:1px solid var(--c-border);color:var(--c-text2);font-size:var(--text-xs)}.file-slot__meta span{display:inline-flex;align-items:center;gap:var(--s2);min-width:0;overflow-wrap:anywhere}.file-slot__meta small{color:var(--c-muted)}.file-flow{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s1)}.file-flow__item{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border:1px solid var(--c-border);border-radius:var(--r-full);background:var(--c-surface2);color:var(--c-muted);font-size:11px;font-weight:700}.file-flow__item.is-done{border-color:rgba(24,186,96,.35);background:var(--c-success-bg);color:var(--c-success)}.file-slot__actions{display:flex;flex-wrap:wrap;gap:var(--s2);padding:var(--s2) var(--s3);border-top:1px solid var(--c-border)}.file-pick{cursor:pointer}.file-pick input[type=file]{display:none}.color-picker{display:flex;flex-direction:column;gap:var(--s2)}.color-chip-list{display:flex;flex-wrap:wrap;gap:var(--s2)}.color-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 6px;border-radius:var(--r-full);background:var(--c-surface2);border:1px solid var(--c-border);font-size:var(--text-sm);font-weight:500;color:var(--c-text)}.color-chip button{display:grid;place-items:center;border:none;background:none;color:var(--c-muted);cursor:pointer;border-radius:var(--r-full);padding:2px}.color-chip button:hover{color:var(--c-danger);background:var(--c-danger-bg)}.color-chip--static{background:var(--c-surface)}.color-swatch{width:16px;height:16px;border-radius:4px;flex-shrink:0;border:1px solid var(--c-border-strong)}.recipient-chip-list{display:flex;flex-wrap:wrap;gap:var(--s2)}.recipient-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 10px;border-radius:var(--r-full);background:var(--c-surface2);border:1px solid var(--c-border);font-size:var(--text-sm);font-weight:500;color:var(--c-text);max-width:100%}.recipient-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipient-chip-email{color:var(--c-muted);font-weight:400}.recipient-chip button{display:grid;place-items:center;border:none;background:none;color:var(--c-muted);cursor:pointer;border-radius:var(--r-full);padding:2px;flex-shrink:0}.recipient-chip button:hover{color:var(--c-danger);background:var(--c-danger-bg)}.rewind-picker{display:flex;flex-direction:column;gap:var(--s2);min-width:0}.rewind-trigger{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s3);padding:var(--s2) var(--s3);background:var(--c-surface);cursor:pointer;border:1px solid var(--c-border);border-radius:var(--r-md);transition:all var(--t-fast);width:100%;min-width:0;text-align:left}.rewind-trigger:hover{border-color:var(--c-accent)}.rewind-trigger-preview{flex:0 1 168px;min-width:96px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--c-surface2);border:1px solid var(--c-border);border-radius:var(--r-sm);overflow:hidden}.rewind-trigger-preview img{width:100%;height:100%;object-fit:contain}.rewind-trigger-info{flex:1 1 120px;min-width:0}.rewind-trigger-code{font-weight:700;color:var(--c-text);font-size:var(--text-xl);overflow-wrap:break-word}.rewind-trigger-hint{color:var(--c-muted);font-size:var(--text-sm);overflow-wrap:break-word}.rewind-modal{width:100%;max-width:820px}.rewind-modal-groups{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6)}.rewind-modal-groups h4{margin:0 0 var(--s3);font-size:var(--text-base);font-weight:700;text-align:center;text-transform:uppercase;letter-spacing:.04em;color:var(--c-muted)}.rewind-modal-list{display:flex;flex-direction:column;gap:var(--s3)}.rewind-modal-option{display:flex;align-items:center;gap:var(--s4);padding:var(--s3) var(--s4);background:var(--c-surface2);cursor:pointer;width:100%;text-align:left;border:1px solid var(--c-border);border-radius:var(--r-md);transition:all var(--t-fast)}.rewind-modal-option:hover{border-color:var(--c-accent)}.rewind-modal-option.active{border-color:var(--c-accent-strong);box-shadow:inset 0 0 0 1px var(--c-accent-strong)}.rewind-modal-option img{width:130px;height:44px;object-fit:contain;flex-shrink:0}.rewind-modal-option span{font-weight:700;font-size:var(--text-xl)}.rewind-display{display:flex;gap:var(--s5);flex-wrap:wrap}.rewind-display-item{display:flex;flex-direction:column;gap:6px}.rewind-display-item img{width:220px;height:74px;object-fit:contain;background:var(--c-surface2);border:1px solid var(--c-border);border-radius:var(--r-md)}.product-tabs{display:flex;border:1px solid var(--c-border);border-radius:var(--r-md) var(--r-md) 0 0;overflow:hidden;background:var(--c-surface2)}.product-tab{flex:1 1;display:flex;align-items:center;justify-content:center;gap:var(--s2);padding:var(--s3) var(--s4);font-size:var(--text-sm);font-weight:600;color:var(--c-muted);border-right:1px solid var(--c-border);border-left:3px solid transparent;cursor:pointer;background:none;white-space:nowrap;transition:all var(--t-fast)}.product-tab:last-child{border-right:none}.product-tab:hover{color:var(--c-text2)}.product-tab.active{color:var(--c-text);border-left-color:var(--c-accent);background:var(--c-surface)}.product-tab-panel{border:1px solid var(--c-border);border-top:none;border-radius:0 0 var(--r-md) var(--r-md);padding:var(--s5)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm);line-height:1.35}.table th{text-align:left;font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--c-muted);background:var(--c-surface2);white-space:nowrap}.table td,.table th{padding:var(--s2) var(--s4);border-bottom:1px solid var(--c-border)}.table td{vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--c-surface2)}.card-body--flush>.table-wrap:last-child table tbody tr:last-child td:first-child{border-bottom-left-radius:var(--r-lg)}.card-body--flush>.table-wrap:last-child table tbody tr:last-child td:last-child{border-bottom-right-radius:var(--r-lg)}.table .td-actions{width:1%;white-space:nowrap;text-align:right}.table .td-actions .btn,.table .td-actions .icon-btn{vertical-align:middle}.table td.col-fit,.table th.col-fit{width:1%;white-space:nowrap}.table td.center,.table th.center,.table--center td,.table--center th{text-align:center}.table--center td.left,.table--center th.left{text-align:left}.table--center .td-actions{text-align:right}.table .td-actions>*+*{margin-left:var(--s1)}.table-link{font-weight:600;color:var(--c-text)}.table-link:hover{color:var(--c-accent-strong)}.table-sub{font-size:var(--text-xs);color:var(--c-muted)}.truncate-text{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.product-thumb{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface);overflow:hidden;cursor:zoom-in}.product-thumb img{width:100%;height:100%;display:block;object-fit:contain}.product-thumb--empty{cursor:default;color:var(--c-muted);background:var(--c-surface2)}.product-thumb--large{width:100%;height:320px;border:none;background:transparent}.product-thumb--large.product-thumb--empty:hover,.product-thumb--large:hover{background:var(--c-surface2)}.image-lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--s6);background:rgba(15,23,42,.72)}.image-lightbox__frame{position:relative;max-width:min(1100px,92vw);max-height:86vh;padding:var(--s3);border-radius:var(--r-md);background:#fff;box-shadow:var(--shadow-lg)}.image-lightbox__image{display:block;max-width:100%;max-height:calc(86vh - 24px);object-fit:contain}.image-lightbox__close{position:absolute;top:-14px;right:-14px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.28);border-radius:var(--r-full);background:rgba(15,23,42,.85);color:#fff;box-shadow:var(--shadow-md)}.empty{padding:var(--s12) var(--s6);text-align:center;color:var(--c-muted)}.empty-icon{width:40px;height:40px;margin:0 auto var(--s3);color:var(--c-border-strong)}.empty-title{font-size:var(--text-lg);font-weight:600;color:var(--c-text2);margin-bottom:var(--s1)}.empty-text{font-size:var(--text-sm)}.filters{display:flex;gap:var(--s3);align-items:flex-end;flex-wrap:wrap;padding:var(--s3) var(--s5);border-bottom:1px solid var(--c-border)}.filters .field{min-width:150px}.filters .field--grow{flex:1 1;min-width:220px}.chips{display:flex;gap:var(--s2);flex-wrap:wrap}.chip{padding:var(--s1) var(--s3);border-radius:var(--r-full);border:1px solid var(--c-border);background:var(--c-surface);font-size:var(--text-xs);font-weight:600;color:var(--c-text2);transition:all var(--t-fast)}.chip:hover{border-color:var(--c-border-strong);color:var(--c-text)}.chip.active{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.chip-count{opacity:.65;margin-left:4px}.pager{justify-content:space-between;padding:var(--s3) var(--s5);border-top:1px solid var(--c-border);font-size:var(--text-sm);color:var(--c-muted)}.pager,.pager-count{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}.pager-size-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a96a6' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;border:1px solid var(--c-border);border-radius:var(--r-sm);background-color:var(--c-surface);color:var(--c-muted);font-size:var(--text-sm);padding:3px 24px 3px 8px;cursor:pointer}.pager-size-select:hover{border-color:var(--c-border-strong);color:var(--c-text)}.pager-links{display:flex;gap:var(--s1);align-items:center}.pager-link{min-width:32px;height:32px;padding:0 var(--s2);display:inline-grid;place-items:center;border:1px solid var(--c-border);border-radius:var(--r-sm);color:var(--c-text2);font-size:var(--text-sm);font-weight:600}.pager-link:hover{border-color:var(--c-border-strong);color:var(--c-text)}.pager-link.active{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.pager-link.disabled{opacity:.4;pointer-events:none}.alert{display:flex;gap:var(--s3);align-items:flex-start;padding:var(--s3) var(--s4);border-radius:var(--r-md);font-size:var(--text-sm);border:1px solid}.alert svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}.alert--error{background:var(--c-danger-bg);border-color:#fecaca;color:#991b1b}.alert--success{background:var(--c-success-bg);border-color:#bbf7d0;color:#166534}.alert--warning{background:var(--c-warning-bg);border-color:#fde68a;color:#92400e}.alert--info{background:var(--c-info-bg);border-color:#bae6fd;color:#075985}.dialog-overlay{position:fixed;inset:0;z-index:300;background:rgba(15,18,36,.55);display:grid;place-items:center;padding:var(--s4);animation:dialog-fade .15s ease-out}.dialog-card{width:100%;max-width:420px;animation:dialog-pop .18s cubic-bezier(.25,1,.5,1)}.dialog-card__body{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s2)}.dialog-icon{width:48px;height:48px;border-radius:var(--r-full);flex-shrink:0;display:grid;place-items:center}.dialog-icon--danger{background:var(--c-danger-bg);color:var(--c-danger)}.dialog-icon--info{background:var(--c-info-bg);color:var(--c-info)}.dialog-title{margin:0;font-size:var(--text-base);font-weight:700;color:var(--c-text)}.dialog-message{margin:0;color:var(--c-text2);font-size:var(--text-sm);line-height:1.5;white-space:pre-wrap}.dialog-summary{width:100%;margin:var(--s2) 0 0;display:flex;flex-direction:column;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface2);overflow:hidden;text-align:left}.dialog-summary__row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4);padding:var(--s2) var(--s3);font-size:var(--text-sm);border-bottom:1px solid var(--c-border)}.dialog-summary__row:last-child{border-bottom:none}.dialog-summary dt{color:var(--c-muted);font-size:var(--text-xs);font-weight:600}.dialog-summary dd{margin:0;color:var(--c-text);font-weight:600;text-align:right}.dialog-summary__row--emphasis{background:var(--c-surface)}.dialog-summary__row--emphasis dd{color:var(--c-accent-strong);font-weight:700}.dialog-consequences{width:100%;margin:var(--s2) 0 0;padding-left:var(--s5);text-align:left;color:var(--c-text2);font-size:var(--text-xs);line-height:1.6;list-style:disc}.dialog-actions{justify-content:center}.dialog-actions .btn{min-width:120px}@keyframes dialog-fade{0%{opacity:0}to{opacity:1}}@keyframes dialog-pop{0%{opacity:0;transform:scale(.96) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (prefers-reduced-motion:reduce){.dialog-card,.dialog-overlay{animation:none}}.disclosure{font-size:var(--text-sm)}.disclosure>summary{cursor:pointer;color:var(--c-muted);font-weight:600;list-style:none;-webkit-user-select:none;user-select:none}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:before{content:"▸ "}.disclosure[open]>summary:before{content:"▾ "}.disclosure-body,.disclosure>summary:hover{color:var(--c-text2)}.disclosure-body{margin-top:var(--s2);padding:var(--s3);background:var(--c-surface2);border-radius:var(--r-md);font-size:var(--text-xs);white-space:pre-wrap;word-break:break-word;max-height:260px;overflow-y:auto}.alert-banner{display:flex;gap:var(--s4);align-items:flex-start;padding:var(--s5);border-radius:var(--r-lg);border:1px solid}.alert-banner h3{font-size:1.05rem;font-weight:700;margin:0 0 6px}.alert-banner p{font-size:var(--text-sm);line-height:1.5;margin:0 0 var(--s3)}.alert-banner-icon{width:48px;height:48px;border-radius:var(--r-lg);flex-shrink:0;display:grid;place-items:center;color:#fff}.alert-banner--warning{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.alert-banner--warning h3{color:#78350f}.alert-banner--warning p{color:#92400e}.alert-banner--warning .alert-banner-icon{background:#f59e0b}.alert-banner--warning .alert-banner-btn{background:#f59e0b;border-color:#d97706;color:#fff}.alert-banner--warning .alert-banner-btn:hover{background:#d97706}.tabs{display:flex;gap:var(--s1);border-bottom:1px solid var(--c-border);overflow-x:auto}.tab{padding:var(--s3) var(--s4);font-size:var(--text-sm);font-weight:600;color:var(--c-muted);border-bottom:2px solid transparent;white-space:nowrap}.tab:hover{color:var(--c-text2)}.tab.active{color:var(--c-accent-strong);border-bottom-color:var(--c-accent-strong)}.stepper{gap:var(--s1);overflow-x:auto;padding:var(--s2) 0}.step,.stepper{display:flex;align-items:center}.step{gap:var(--s2);flex-shrink:0}.step-dot{width:26px;height:26px;border-radius:var(--r-full);display:grid;place-items:center;font-weight:700;background:var(--c-surface2);border:1px solid var(--c-border)}.step-dot,.step-label{font-size:var(--text-xs);color:var(--c-muted)}.step-label{font-weight:600}.step-line{width:24px;height:2px;background:var(--c-border);flex-shrink:0}.step.done .step-dot{background:var(--c-accent-strong);border-color:var(--c-accent-strong);color:#fff}.step.done .step-label{color:var(--c-text2)}.step.current .step-dot{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.step.current .step-label{color:var(--c-text)}.timeline{position:relative;padding-left:var(--s6)}.timeline:before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:var(--c-border)}.timeline-item{position:relative;padding-bottom:var(--s4)}.timeline-item:before{content:"";position:absolute;left:calc(-1 * var(--s6) + 3px);top:6px;width:10px;height:10px;border-radius:var(--r-full);background:var(--c-surface);border:2px solid var(--c-accent-strong)}.timeline-title{font-size:var(--text-sm);font-weight:600}.timeline-meta{font-size:var(--text-xs);color:var(--c-muted)}.timeline-note{color:var(--c-text2);margin-top:2px}.kv,.timeline-note{font-size:var(--text-sm)}.kv{display:grid;grid-template-columns:max-content 1fr;gap:var(--s2) var(--s4)}.kv dt{color:var(--c-muted)}.kv dd{font-weight:500}.login-page{min-height:100vh;display:grid;place-items:center;background:#0f1224;padding:var(--s6);position:relative;overflow:hidden}.login-page:after,.login-page:before{content:"";position:absolute;border-radius:50%;filter:blur(80px);opacity:.18}.login-page:before{width:500px;height:500px;background:#4f6ef7;top:-100px;right:-100px}.login-page:after{width:400px;height:400px;background:#7c3aed;bottom:-100px;left:-80px}.login-card{width:100%;max-width:420px;position:relative;z-index:1;background:rgba(255,255,255,.04);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-radius:24px;box-shadow:0 25px 80px rgba(0,0,0,.5);padding:48px 40px;animation:login-card-in .4s ease}@keyframes login-card-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-brand{text-align:center;margin-bottom:var(--s8)}.login-brand-logo{height:40px;width:auto;margin:0 auto;filter:brightness(0) invert(1)}.login-title{font-size:1.5rem;font-weight:700;color:#fff;margin-top:var(--s5)}.login-sub{font-size:var(--text-sm);color:rgba(255,255,255,.45);margin-top:4px}.login-page .field-label{color:rgba(255,255,255,.7)}.login-page .input{background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.1);border-radius:12px;color:#fff}.login-page .input::placeholder{color:rgba(255,255,255,.25)}.login-page .input:focus{border-color:#4f6ef7;box-shadow:0 0 0 3px rgba(79,110,247,.2);background:rgba(255,255,255,.1)}.login-page .alert--error{background:rgba(220,38,38,.15);border-color:rgba(220,38,38,.35);color:#fca5a5}.login-page .btn--primary{background:#4f6ef7;border-radius:12px;height:46px;font-size:1rem;font-weight:700}.login-page .btn--primary:hover:not(:disabled){background:#3a56d4;box-shadow:0 8px 24px rgba(79,110,247,.45)}.login-footer{text-align:center;margin-top:var(--s8);font-size:.75rem;color:rgba(255,255,255,.2)}.job-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:var(--s4);display:flex;flex-direction:column;gap:var(--s3)}.job-card.urgent{border-color:var(--c-danger);box-shadow:0 0 0 3px var(--c-danger-bg)}.job-card.running{border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-accent-subtle)}.job-no{font-size:var(--text-lg);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.job-meta{display:flex;gap:var(--s3);flex-wrap:wrap;font-size:var(--text-sm);color:var(--c-text2)}.queue-table-view{display:block}.queue-card-view{display:none}@media (max-width:860px){.queue-table-view{display:none}.queue-card-view{display:grid}}.table tr.row-running{background:var(--c-accent-subtle)}.table tr.row-urgent td:first-child{box-shadow:inset 3px 0 0 var(--c-danger)}@media (pointer:coarse){.btn{height:46px;padding:0 var(--s5);font-size:var(--text-base)}.btn--sm{height:40px}.icon-btn{width:44px;height:44px}.input,.select,.textarea{min-height:46px;font-size:var(--text-base)}.checkbox input{width:20px;height:20px}}.sidebar-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:39;opacity:0;pointer-events:none;transition:opacity .3s ease}.sidebar-overlay.open{opacity:1;pointer-events:auto}@media (min-width:1025px){.app.sidebar-collapsed .sidebar{width:80px;overflow:visible}.app.sidebar-collapsed .main{margin-left:80px}.app.sidebar-collapsed .sidebar-brand-logo--full{display:none}.app.sidebar-collapsed .sidebar-brand-logo--mini{display:block}.app.sidebar-collapsed .nav-item-chevron,.app.sidebar-collapsed .nav-label{display:none}.app.sidebar-collapsed .nav-item{justify-content:center;padding:var(--s3) 0}.app.sidebar-collapsed .nav-submenu{margin:2px 0 var(--s2);padding:var(--s1) 0;background:rgba(0,0,0,.18);border-radius:var(--r-md)}.app.sidebar-collapsed .nav-submenu .nav-item{padding:var(--s2) 0}}.nav-tooltip{position:fixed;transform:translateY(-50%);display:inline-flex;align-items:center;min-height:36px;padding:0 var(--s3);border-radius:var(--r-md);background:rgba(15,23,42,.96);border:1px solid rgba(148,163,184,.16);color:#fff;font-size:var(--text-xs);font-weight:700;white-space:nowrap;box-shadow:var(--shadow-lg);pointer-events:none;z-index:60}@media (max-width:1024px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0);box-shadow:var(--shadow-lg)}.main{margin-left:0}.content{padding:var(--s4)}.header-rates{display:none}}@media (max-width:640px){.topbar{padding:14px 16px;gap:var(--s2)}.topbar-page-icon,.topbar-subtitle,.user-name{display:none}}@media (max-width:860px){.table-wrap{overflow-x:visible}.table thead{display:none}.table,.table tbody,.table tr{display:block;width:100%}.table tbody{gap:var(--s3)}.table tbody,.table tbody tr{display:flex;flex-direction:column}.table tbody tr{border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--s3) var(--s4);box-shadow:var(--shadow-sm)}.table tbody tr,.table tbody tr:hover{background:var(--c-surface)}.table td{display:block;padding:var(--s2) 0;border-bottom:1px dashed var(--c-border)}.table td:last-child{border-bottom:none;padding-bottom:0}.table td:first-child{padding-top:0}.table td[data-label]:before{content:attr(data-label);display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--c-muted);margin-bottom:2px}.table td.table-card-media{display:none}.table .td-actions{text-align:left}.table .td-actions>*+*{margin-left:var(--s2)}.table td.center,.table th.center,.table--center .td-actions,.table--center td,.table--center th{text-align:left}.table td.col-fit{width:auto;white-space:normal}.table .td-actions .icon-btn[data-tip]:after{top:auto;bottom:calc(100% + 8px);right:auto;left:50%;transform:translateX(-50%) translateY(4px)}.table .td-actions .icon-btn[data-tip]:focus-visible:after,.table .td-actions .icon-btn[data-tip]:hover:after{transform:translateX(-50%) translateY(0)}}@media print{.filters,.footer,.no-print,.pager,.preview-banner,.sidebar,.topbar{display:none!important}.main{margin-left:0}.card,.job-sheet-header,.product-section-card{border:none;box-shadow:none}.product-media-panel{position:static}body{background:#fff}}.job-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s5);padding:var(--s5);border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);box-shadow:var(--shadow-sm)}.job-sheet-header__tags{display:flex;flex-wrap:wrap;gap:var(--s2)}.job-sheet-header__side{flex-shrink:0;text-align:right}.route-step-list{display:flex;flex-direction:column}.route-step{display:flex;gap:var(--s4);padding:var(--s3) 0;border-bottom:1px solid var(--c-border)}.route-step:last-child{border-bottom:none}.route-step__num{flex:0 0 30px;width:30px;height:30px;border-radius:var(--r-full);display:grid;place-items:center;font-size:var(--text-sm);font-weight:var(--w-bold);background:var(--c-accent-subtle);color:var(--c-accent-strong);border:1px solid var(--c-accent)}.route-step__body{min-width:0;flex:1 1;padding-top:2px}.route-step__title{font-size:var(--text-base);font-weight:var(--w-semibold);color:var(--c-text)}.route-step__meta{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center;margin-top:4px}.route-step__note{font-size:var(--text-sm);color:var(--c-muted);margin-top:4px}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.table .bulk-cell--hidden{display:none}.bulk-select-cell{width:48px}.bulk-checkbox{display:inline-flex;align-items:center;gap:var(--s2);min-height:44px;min-width:44px;cursor:pointer}.bulk-checkbox input{appearance:none;position:relative;flex:0 0 20px;width:20px;height:20px;margin:0;border:1px solid var(--c-border);border-radius:3px;background:var(--c-surface);cursor:inherit}.bulk-checkbox input:checked,.bulk-checkbox input:indeterminate{background:var(--c-accent);border-color:var(--c-accent)}.bulk-checkbox input:checked:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.bulk-checkbox input:indeterminate:after{content:"";position:absolute;left:4px;top:8px;width:10px;height:2px;background:#fff;border:none;transform:none}.bulk-checkbox input:disabled{opacity:.55}.bulk-checkbox input:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px}.bulk-checkbox:has(input:disabled){cursor:default}.bulk-row-label{display:none}.table tr:has(.bulk-select-cell input:checked){background:var(--c-surface2)}.bulk-download{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s2);max-width:100%}.bulk-download__files{display:flex;flex-wrap:wrap;gap:var(--s2);max-height:180px;overflow-y:auto}.bulk-download__files a{overflow-wrap:anywhere}.bulk-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:250px;z-index:50;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:var(--s1);visibility:hidden;pointer-events:none;opacity:0}.bulk-menu .bulk-download,.bulk-menu[data-open=true]{visibility:visible;pointer-events:auto;opacity:1}.bulk-menu .bulk-download{position:fixed;right:var(--s4);bottom:var(--s4);z-index:60;width:min(420px,calc(100vw - 2 * var(--s4)));padding:var(--s3);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.bulk-menu .bulk-download:empty{display:none}.template-fill__controls{display:flex;flex-wrap:wrap;align-items:end;gap:var(--s2)}.template-fill__field{flex:1 1 260px;min-width:0}.template-fill__controls .btn{min-height:44px}@media (max-width:860px){.table .bulk-select-cell{width:auto}.bulk-row-label{display:inline}.template-fill__field{flex-basis:100%}}@media (min-width:861px){.table .bulk-select-cell{width:1%;padding-inline:4px 0;white-space:nowrap}.table .bulk-select-cell .bulk-checkbox{justify-content:center}.table .queue-media{width:1%;padding-inline:4px;white-space:nowrap}.table .queue-media+td,.table .queue-media+th{padding-left:8px}}.org-tree,.org-tree ul{display:flex;justify-content:center;padding-top:18px;position:relative;list-style:none}.org-tree{padding-top:0}.org-tree li{list-style:none;position:relative;padding:18px 6px 0;display:flex;flex-direction:column;align-items:center}.org-tree li:after,.org-tree li:before{content:"";position:absolute;top:0;right:50%;width:50%;height:18px;border-top:1.5px solid var(--c-border-strong)}.org-tree li:after{right:auto;left:50%;border-left:1.5px solid var(--c-border-strong)}.org-tree li:only-child:after,.org-tree li:only-child:before{display:none}.org-tree li:only-child,.org-tree>li{padding-top:0}.org-tree>li:after,.org-tree>li:before{display:none}.org-tree li:first-child:before,.org-tree li:last-child:after{border:0}.org-tree li:last-child:before{border-right:1.5px solid var(--c-border-strong);border-radius:0 6px 0 0}.org-tree li:first-child:after{border-radius:6px 0 0 0}.org-tree ul:before{content:"";position:absolute;top:0;left:50%;height:18px;border-left:1.5px solid var(--c-border-strong)}.org-node{display:block;width:176px;padding:var(--s2) var(--s3);text-align:center;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);transition:border-color var(--t-fast)}.org-node:hover{border-color:var(--c-accent)}.org-node-dept{font-size:10px;font-weight:var(--w-medium);text-transform:uppercase;letter-spacing:.04em;color:var(--c-accent-strong)}.org-node-title{font-size:var(--text-sm);font-weight:var(--w-semibold);line-height:1.25;color:var(--c-text)}.org-node-people{margin-top:4px;font-size:var(--text-xs);color:var(--c-muted)}.org-node-empty{font-style:italic;color:var(--c-warning)}.org-root{display:inline-block;padding:var(--s2) var(--s4);background:var(--c-primary);color:#fff;border-radius:var(--r-md);font-size:var(--text-sm);font-weight:var(--w-semibold)}.matrix td.matrix-cell,.matrix th.matrix-cell{text-align:center;white-space:nowrap}.matrix td.matrix-gap{background:var(--c-danger-bg);color:var(--c-danger);font-weight:var(--w-semibold)}.matrix td.matrix-ok{background:var(--c-success-bg);color:var(--c-success)}.rpt-toolbar{justify-content:space-between;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg)}.rpt-datenav,.rpt-toolbar{display:flex;flex-wrap:wrap;align-items:center}.rpt-datenav{gap:var(--s2)}.rpt-date-title{font-size:var(--text-sm);font-weight:600;color:var(--c-text2);margin-left:var(--s1)}.rpt-date-input{width:150px;height:32px;min-height:32px;padding:0 var(--s2)}.rpt-datenav .chip{display:inline-flex;align-items:center;height:32px;padding:0 var(--s3);font-size:var(--text-xs)}.rpt-datenav .btn{min-width:36px;justify-content:center}.rpt-tabs{display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid var(--c-border);-webkit-overflow-scrolling:touch}.rpt-tab{padding:10px 16px;font-weight:600;font-size:var(--text-sm);color:var(--c-text2);white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-1px;text-decoration:none}.rpt-tab:hover{color:var(--c-text);background:var(--c-surface2)}.rpt-tab.active{color:var(--c-accent-strong);border-bottom-color:var(--c-accent)}.rpt-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--s3)}.rpt-kpi{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:var(--s4);display:flex;flex-direction:column;gap:2px;min-width:0}.rpt-kpi--small{padding:var(--s3) var(--s4)}.rpt-kpi__label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--c-muted);font-weight:600}.rpt-kpi__row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s2);flex-wrap:wrap}.rpt-kpi__value{font-size:2rem;font-weight:700;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rpt-kpi--small .rpt-kpi__value{font-size:1.5rem}.rpt-kpi__sub{font-size:var(--text-sm);color:var(--c-text2)}.rpt-delta{font-size:var(--text-xs);font-weight:600;padding:2px 8px;border-radius:999px;background:var(--c-surface2);color:var(--c-muted);white-space:nowrap}.rpt-delta--up{background:var(--c-success-bg);color:var(--c-success)}.rpt-delta--down{background:var(--c-danger-bg);color:var(--c-danger)}.rpt-spark{width:100%;height:30px;margin-top:var(--s2);display:block}.rpt-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:var(--s4);align-items:start}.rpt-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.rpt-list>li{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--c-border)}.rpt-list>li:last-child{border-bottom:none}.rpt-alert-dot{flex:0 0 10px;height:10px;width:10px;border-radius:50%;margin-top:6px;background:var(--c-muted)}.rpt-alert-dot--danger{background:var(--c-danger)}.rpt-alert-dot--warning{background:#f59e0b}.rpt-alert-dot--info{background:var(--c-info)}.rpt-alert-dot--ok{background:var(--c-accent)}.rpt-kv{display:flex;justify-content:space-between;gap:var(--s3);width:100%}.rpt-kv__label{color:var(--c-muted);font-size:var(--text-sm)}.rpt-kv__value{font-weight:600;text-align:right}.rpt-kv__sub{display:block;font-weight:400;font-size:var(--text-xs);color:var(--c-muted)}.rpt-bar{height:8px;border-radius:999px;background:var(--c-surface2);overflow:hidden}.rpt-bar>span{display:block;height:100%;background:var(--c-accent);border-radius:999px}.rpt-bar--warn>span{background:#f59e0b}.rpt-machines{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s3)}.rpt-machine{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:var(--s4);display:flex;flex-direction:column;gap:var(--s2)}.rpt-machine--idle{opacity:.65}.rpt-machine__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2)}.rpt-machine__name{font-weight:700}.rpt-machine__stats{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:var(--s2);text-align:left}.rpt-machine__stats b{display:block;font-size:var(--text-base);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rpt-machine__stats span{font-size:var(--text-xs);color:var(--c-muted);text-transform:uppercase;letter-spacing:.04em}.rpt-chips{display:flex;flex-wrap:wrap;gap:4px}.rpt-chip{font-size:var(--text-xs);padding:2px 8px;border-radius:999px;background:var(--c-surface2);border:1px solid var(--c-border);color:var(--c-text2);text-decoration:none}a.rpt-chip:hover{border-color:var(--c-accent)}.rpt-today td{background:var(--c-accent-subtle);font-weight:700}.rpt-section-title{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--c-muted);font-weight:700;margin:var(--s2) 0 0}@media (max-width:640px){.rpt-kpi__value{font-size:1.6rem}.rpt-tab{padding:10px 12px}}.note-list{list-style:none;margin:0;padding:0;flex-direction:column}.note-item,.note-list{display:flex;gap:var(--s3)}.note-item{position:relative;padding:var(--s3) var(--s4);min-width:0;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md,10px);transition:box-shadow .15s ease,border-color .15s ease}.note-item:hover{border-color:var(--c-primary);box-shadow:var(--shadow-md,0 4px 14px rgba(0,0,0,.08))}.note-item--unread{border-left:4px solid var(--c-primary)}.note-stretch{position:absolute;inset:0;border-radius:inherit;z-index:0}.note-main{position:relative;z-index:1;pointer-events:none}.note-actions,.note-main a,.note-main button{pointer-events:auto}.note-avatar{width:40px;height:40px;border-radius:var(--r-full);flex-shrink:0;background:var(--c-primary-bg,var(--c-surface2));color:var(--c-primary);display:grid;place-items:center;font-size:var(--text-sm);font-weight:700}.note-main{flex:1 1;min-width:0}.note-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s2);flex-wrap:wrap}.note-who{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--c-text);min-width:0;overflow-wrap:anywhere}.note-arrow,.note-time{color:var(--c-muted)}.note-time{font-size:var(--text-xs);white-space:nowrap}.note-dot{width:8px;height:8px;border-radius:var(--r-full);background:var(--c-danger);flex-shrink:0}.note-body{margin:var(--s1) 0 var(--s2);font-size:var(--text-sm);color:var(--c-text2);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.note-body--clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.note-foot{justify-content:space-between}.note-foot,.note-tags{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}.note-tags{min-width:0}.note-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--r-full);background:var(--c-surface2);border:1px solid var(--c-border);color:var(--c-text2);font-size:var(--text-xs);font-weight:600;text-decoration:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-actions{display:inline-flex;gap:var(--s1)}.note-count{background:var(--c-danger);color:#fff;font-size:11px;font-weight:700;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-full);display:inline-grid;place-items:center}.note-new--block{width:100%;justify-content:center}.note-rcpts{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1);margin-bottom:var(--s2)}.note-rcpts__icon{color:var(--c-muted)}.note-rcpt{display:inline-flex;align-items:center;gap:4px;padding:2px 6px 2px 10px;border-radius:var(--r-full);background:var(--c-primary-bg,var(--c-surface2));border:1px solid var(--c-border);color:var(--c-text);font-size:var(--text-xs);font-weight:600;max-width:100%;overflow-wrap:anywhere}.note-rcpt small{color:var(--c-muted);font-weight:500}.note-rcpt button{display:inline-grid;place-items:center;width:18px;height:18px;border:0;border-radius:var(--r-full);background:transparent;color:var(--c-muted);cursor:pointer}.note-rcpt button:hover{background:var(--c-surface2);color:var(--c-danger)}.note-rcpts .note-rcpt:not(:has(button)){padding-right:10px}.note-group{display:inline-flex;align-items:center;gap:3px;font-size:var(--text-xs);font-weight:600;color:var(--c-primary)}.note-toast{position:fixed;right:var(--s4);bottom:var(--s4);z-index:90;max-width:min(360px,calc(100vw - 2 * var(--s4)));display:flex;align-items:flex-start;gap:var(--s2);padding:var(--s3);background:var(--c-surface);border:1px solid var(--c-border);border-left:4px solid var(--c-primary);border-radius:var(--r-md,10px);box-shadow:var(--shadow-lg,0 8px 24px rgba(0,0,0,.18))}.note-toast a{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--c-text);min-width:0;font-size:var(--text-sm)}.note-toast a span{color:var(--c-text2);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.note-replies{margin-left:52px;border-left:2px solid var(--c-border);padding-left:var(--s3)}.note-replycount{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--c-primary);font-weight:600;white-space:nowrap}@media (max-width:640px){.note-replies{margin-left:16px}}.note-body--link{display:block;text-decoration:none;color:var(--c-text2)}.note-body--link:hover{color:var(--c-text)}.note-thread-msg{display:flex;gap:var(--s3);padding:var(--s3) 0;min-width:0}.note-bubble{flex:1 1;min-width:0;background:var(--c-surface2);border:1px solid var(--c-border);border-radius:var(--r-md,10px);padding:var(--s2) var(--s3)}.note-bubble--mine{background:var(--c-primary-bg,var(--c-surface2))}.notif-pop{position:absolute;right:0;top:calc(100% + 8px);width:340px;max-width:calc(100vw - 2 * var(--s3));z-index:60;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:var(--s2);display:flex;flex-direction:column;max-height:70vh;overflow-y:auto}.notif-pop__head{display:flex;justify-content:space-between;align-items:center;padding:var(--s1) var(--s2) var(--s2);font-size:var(--text-sm)}.notif-pop__head a{color:var(--c-primary);font-weight:600;text-decoration:none;font-size:var(--text-xs)}.notif-pop__section{display:flex;align-items:center;gap:6px;padding:var(--s2) var(--s2) var(--s1);font-size:var(--text-xs);font-weight:700;color:var(--c-muted);text-transform:uppercase;letter-spacing:.03em}.notif-pop__item{display:flex;flex-direction:column;gap:2px;padding:var(--s2);border-radius:var(--r-sm,8px);text-decoration:none;color:var(--c-text);min-width:0}.notif-pop__item:hover{background:var(--c-surface2)}.notif-pop__item--unread{background:var(--c-primary-bg,var(--c-surface2))}.notif-pop__who{display:flex;align-items:center;gap:6px;font-size:var(--text-sm)}.notif-pop__who em{font-style:normal;font-size:var(--text-xs);color:var(--c-primary);margin-left:auto}.notif-pop__text{font-size:var(--text-xs);color:var(--c-text2);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.notif-pop__empty{margin:0;padding:var(--s2);font-size:var(--text-xs);color:var(--c-muted)}.note-avatar{pointer-events:none}.avatar-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}.avatar-lg,.note-avatar,.user-avatar{overflow:hidden}.avatar-lg{width:96px;height:96px;border-radius:var(--r-full);flex-shrink:0;background:var(--c-primary);color:#fff;display:grid;place-items:center;font-size:var(--text-xl,28px);font-weight:700}.topbar .icon-btn[data-tip]:after{bottom:auto;top:calc(100% + 8px);left:auto;right:0;transform:translateY(-4px)}.topbar .icon-btn[data-tip]:focus-visible:after,.topbar .icon-btn[data-tip]:hover:after{transform:translateY(0)}.topbar .icon-btn[aria-expanded=true]:after{display:none}.qc-summary{padding:var(--s3) var(--s5)}.qc-summary,.qc-summary .job-sheet-header__tags{align-items:center}.qc-summary__title{margin:0 var(--s2) 0 0;font-size:var(--text-xl);font-weight:700;line-height:1.2}.qc-summary__side{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;justify-content:flex-end}.qc-timer{font-size:var(--text-xl);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--c-accent-strong)}.qc-timer--paused{color:var(--c-warning)}.qc-grid .product-section-card__head,.qc-top .product-section-card__head{padding:var(--s2) var(--s4);align-items:center}.qc-grid .product-section-card__icon,.qc-top .product-section-card__icon{flex-basis:30px;width:30px;height:30px}.qc-grid .product-section-card__body{padding:var(--s3) var(--s4)}.qc-grid .product-section-card__body.stack{gap:var(--s3)}.qc-grid .product-section-card__actions{padding:var(--s2) var(--s4)}.qc-top .product-section-card__body{padding:var(--s3) var(--s4)}.qc-top{display:grid;gap:var(--s4);align-items:stretch;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.qc-top__side{display:flex;flex-direction:column;gap:var(--s4);min-width:0}.qc-top__side>:last-child{flex:1 1 auto}.qc-design .product-section-card__head{align-items:center}.qc-design .product-section-card__head .btn{margin-left:auto}.product-thumb--large.qc-design__image{height:248px}.qc-rewind{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.qc-rewind figure{justify-self:stretch;justify-content:center;padding:var(--s2) var(--s3)}.qc-rewind figure+figure{border-left:1px solid var(--c-border)}.qc-rewind figure{margin:0;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto auto;column-gap:var(--s3);align-items:center}.qc-rewind figure img{grid-row:1/4}.qc-rewind figcaption{font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;color:var(--c-text2)}.qc-rewind img{height:44px;width:auto}.qc-rewind strong{font-size:var(--text-sm)}.qc-rewind span{font-size:var(--text-xs);color:var(--c-muted)}.qc-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-top:1px solid var(--c-border)}.qc-metrics>div{padding:6px var(--s3);border-right:1px solid var(--c-border);border-bottom:1px solid var(--c-border);min-width:0}.qc-metrics>div:nth-child(4n){border-right:0}.qc-metrics dt{font-size:var(--text-xs);color:var(--c-muted)}.qc-metrics dd{margin:0;font-size:var(--text-sm);font-weight:700;overflow-wrap:anywhere}.qc-metrics .qc-metrics__wide{grid-column:span 2;border-right:0}.qc-colors{display:flex;align-items:center;gap:var(--s2) var(--s3);flex-wrap:wrap;padding:var(--s2) var(--s4)}.qc-colors__label{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:600;color:var(--c-muted)}.qc-colors .color-chip-list{gap:4px}.qc-colors .color-chip{padding:1px 7px 1px 4px;font-size:var(--text-xs);gap:4px}.qc-colors .color-swatch{width:11px;height:11px;border-radius:3px}.qc-grid{display:grid;gap:var(--s4);align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr)}.qc-grid.qc-grid--two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media (max-width:1100px){.qc-grid,.qc-grid.qc-grid--two,.qc-top{grid-template-columns:minmax(0,1fr)}}.product-section-card.qc-issue{border-color:var(--c-danger);box-shadow:0 0 0 1px var(--c-danger)}.product-section-card.qc-issue .product-section-card__head{background:var(--c-danger-bg);border-bottom-color:var(--c-danger)}.product-section-card.qc-issue .product-section-card__icon{color:var(--c-danger);border-color:var(--c-danger)}.qc-issue-note ul{margin:0;padding-left:1.1em;font-size:var(--text-sm)}.qc-issue-note li+li{margin-top:2px}.link-btn{background:none;color:var(--c-accent-strong);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}.link-btn,.qc-col{border:0;padding:0}.qc-col{margin:0;min-width:0;display:flex;flex-direction:column;gap:var(--s4)}.qc-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);align-items:end}.qc-value{min-height:38px;display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;font-size:var(--text-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.qc-progress{height:6px;border-radius:3px;background:var(--c-border);overflow:hidden;margin-top:4px}.qc-progress>div{height:100%;background:var(--c-accent)}.qc-progress--over>div{background:var(--c-danger)}.qc-rolls{max-height:112px;overflow-y:auto;border:1px solid var(--c-border);border-radius:var(--r-md)}.qc-rolls .table th{position:sticky;top:0;z-index:1}.qc-rolls .table td,.qc-rolls .table th{padding:3px var(--s2)}.qc-rolls .icon-btn{width:26px;height:26px}