:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#252525;--surface:#2d2d2d;--surface-strong:#292929;--surface-raised:#333;--panel:#303030;--panel-soft:#3b3b3b;--line:#555;--line-soft:#454545;--text:#f1f1f1;--muted:silver;--accent:#6f93b7;--accent-strong:#84add4;--accent-soft:#324457;--list-hover:#353535;--warning:#d8b55d;--danger:#df4f45;--info:#9db6ce}*{box-sizing:border-box}html,body{background:var(--background);min-height:100%;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Calibri,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a[href],button:not(:disabled){transition:background-color .16s,border-color .16s,box-shadow .16s,color .16s,filter .16s,transform .16s}a[href]:hover{color:var(--text)}a[href]:focus-visible,button:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}button:not(:disabled){cursor:pointer}button:not(:disabled):active,a[href]:active{transform:translateY(1px)}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{--sidebar-width:280px;grid-template-columns:0 minmax(0,1fr);min-height:100vh;transition:grid-template-columns .24s;display:grid;overflow-x:clip}.app-shell:has(.sidebar:not(.sidebar-hidden)){grid-template-columns:var(--sidebar-width) minmax(0, 1fr)}body.session-only .app-shell{grid-template-columns:1fr}.app-shell:has(.session-login-screen){grid-template-columns:1fr}body.session-only .sidebar{display:none}body:has(.session-login-screen) .sidebar{display:none}.app-shell:has(.session-login-screen) .sidebar{display:none}.session-login-screen{align-content:center;place-items:center;gap:26px;min-height:100vh;padding:28px;display:grid}.app-loading-screen{grid-column:2;min-height:100vh;padding:28px clamp(18px,4vw,42px);display:block}.session-login-logo{width:min(260px,72vw);height:auto;display:block}.session-login-form{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:14px;width:min(100%,390px);padding:24px;display:grid;box-shadow:0 22px 80px #0000003d}.session-login-form label{color:var(--muted);gap:7px;font-size:.82rem;display:grid}.session-login-form input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:42px;color:var(--text);font:inherit;border-radius:8px;padding:10px 12px}.session-login-form input:focus{border-color:var(--accent-strong);outline:0;box-shadow:0 0 0 3px #84add438}.password-input{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.password-input-inline-toggle{display:block;position:relative}.password-input-inline-toggle input{padding-right:104px}.password-input button,.session-reset-link{color:var(--accent);font-weight:800}.password-input button{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;min-height:42px;padding:0 12px}.password-input-inline-toggle button{z-index:1;white-space:nowrap;color:#101820;justify-content:center;align-items:center;width:auto;min-width:84px;min-height:0;padding:0 10px;font-size:.95rem;line-height:1;display:inline-flex;position:absolute;top:6px;bottom:6px;right:6px}.password-input button:hover,.session-reset-link:hover{color:var(--accent-strong)}.session-login-error{color:#fecaca;background:#7f1d1d2e;border:1px solid #f8717159;border-radius:8px;margin:0;padding:12px 14px;font-size:.9rem;line-height:1.45}.session-reset-link{justify-self:center;font-size:.88rem}.session-login-button{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--line));background:var(--accent-strong);color:#101820;border-radius:8px;padding:12px 18px;font-weight:800;line-height:1;box-shadow:0 18px 60px #2a3c4e59}.session-login-button:hover:not(:disabled){background:var(--accent);color:#0c141d;transform:translateY(-1px);box-shadow:0 22px 70px #49678452}.session-login-button:disabled{cursor:wait;opacity:.7}.sidebar{width:var(--sidebar-width);border-right:1px solid var(--line);background:var(--surface);opacity:1;visibility:visible;will-change:transform;flex-direction:column;gap:28px;min-width:0;padding:20px;transition:opacity .18s,transform .24s,visibility linear;display:flex;transform:translate(0)}.sidebar.sidebar-hidden{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .18s,transform .24s,visibility 0s linear .24s;transform:translate(-100%)}.sidebar-backdrop{display:none}.sidebar-head{justify-content:space-between;align-items:center;gap:12px;min-height:40px;display:flex}.sidebar-logo{object-fit:contain;width:min(190px,100% - 48px);height:auto;display:block}.sidebar-close,.sidebar-float-toggle{border:1px solid var(--line);background:var(--surface-raised);color:var(--text);border-radius:8px;place-items:center;display:grid}.sidebar-close{flex:none;width:36px;height:36px}.sidebar-close:hover,.sidebar-float-toggle:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px);box-shadow:0 10px 24px #00000038}.sidebar-close-mark{width:16px;height:16px;display:block;position:relative}.sidebar-close-mark:before,.sidebar-close-mark:after{content:"";background:currentColor;border-radius:999px;width:2px;height:14px;position:absolute;top:1px;left:7px}.sidebar-close-mark:before{transform:rotate(45deg)}.sidebar-close-mark:after{transform:rotate(-45deg)}.sidebar-float-toggle{z-index:1;flex:none;width:36px;height:36px;animation:.18s both sidebar-toggle-enter;position:static}@keyframes sidebar-toggle-enter{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.sidebar-toggle-bars{gap:4px;width:18px;display:grid}.sidebar-toggle-bars span{background:currentColor;border-radius:999px;height:2px;display:block}.sidebar-footer span,.summary-grid span,.module-card p{color:var(--muted)}.sidebar-nav{gap:18px;display:grid}.sidebar .active-client-picker{border-bottom:1px solid var(--line);width:100%;min-width:0;padding-bottom:16px}.sidebar .active-client-picker select{background:var(--surface);width:100%}.nav-section{gap:7px;display:grid}.nav-section h2{color:#b2b2b2;letter-spacing:.04em;text-transform:uppercase;margin:0;padding:0 4px;font-size:.72rem;font-weight:800;line-height:1.2}.nav-section-items{border-left:1px solid var(--line-soft);gap:4px;padding-left:8px;display:grid}.nav-section.is-active .nav-section-items{border-left-color:var(--accent)}.sidebar-nav a{color:#e4e4e4;border-radius:8px;padding:10px 12px;line-height:1.2}.sidebar-nav a.active,.sidebar-nav a:hover{background:var(--panel-soft);color:var(--text)}.sidebar-nav a:hover{transform:translate(2px)}.sidebar-footer{border-top:1px solid var(--line);gap:8px;margin-top:auto;padding-top:16px;display:grid}.sidebar-footer label{gap:8px;display:grid}.sidebar-footer select{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:9px 10px}.sidebar-footer select:hover{border-color:var(--accent);background:#383838}.sidebar-footer select:focus{border-color:var(--accent-strong);outline:0}.workspace{align-content:start;gap:24px;padding:28px;display:grid}.topbar{order:1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;display:grid}.topbar-title{align-items:center;gap:12px;min-width:0;display:flex}.topbar-inline-logo{object-fit:contain;flex:none;width:min(156px,26vw);height:auto;display:block}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;justify-self:end;align-items:center;gap:10px;display:flex}.active-client-picker{gap:4px;min-width:min(260px,100%);display:grid}.active-client-picker span{color:var(--muted);text-transform:uppercase;font-size:.75rem;font-weight:700}.active-client-picker select{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--text);font:inherit;border-radius:8px;padding:0 36px 0 12px;font-weight:700}.active-client-picker select:not(:disabled):hover{border-color:var(--accent);background:#383838}.active-client-picker select:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px #84add438}.topbar-actions .command-button{text-align:left;min-width:150px}.topbar-actions button.command-button{cursor:pointer}.session-card{border:1px solid var(--line);background:var(--panel);border-radius:8px;align-items:center;gap:8px;max-width:min(320px,34vw);min-height:42px;padding:8px 11px;display:flex}.session-card strong,.session-card span,.session-card button{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.session-card strong{font-size:.9rem}.session-card span{color:var(--muted);font-size:.78rem}.session-card button{width:max-content;max-width:100%;color:var(--accent-strong);text-align:left;background:0 0;border:0;flex:none;padding:0;font-size:.78rem;font-weight:800}.session-card button:not(:disabled):hover{color:var(--accent-strong);text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px}.session-card button:disabled{cursor:not-allowed;opacity:.55}h1{margin:0;font-size:2rem;line-height:1.15}.command-button{border:1px solid var(--line);background:var(--panel);min-width:220px;color:var(--muted);text-align:left;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;display:inline-flex}.command-button:hover{border-color:var(--accent);background:var(--panel-soft);color:var(--text);transform:translateY(-1px);box-shadow:0 10px 28px #0003}.summary-grid{order:3}.record-toolbar,.client-browser{order:4}.data-layout{order:5}.loading-stage{align-content:start;gap:14px;width:100%;min-height:calc(100vh - 56px);display:grid}.loading-topbar{justify-content:space-between;align-items:center;gap:14px;min-height:48px;display:flex}.loading-title{width:min(260px,54vw);height:34px}.loading-actions{justify-content:flex-end;gap:10px;display:flex}.loading-actions span{width:136px;height:42px}.loading-card{border:1px solid var(--line);background:var(--panel);border-radius:8px;width:100%;min-width:0;overflow:hidden}.loading-filter-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(140px,.7fr));gap:12px;padding:14px;display:grid}.loading-filter-row span{border:1px solid var(--line-soft);border-radius:8px;height:42px}.loading-table-head{border-bottom:1px solid var(--line);background:var(--surface-strong);grid-template-columns:minmax(0,1.4fr) minmax(180px,.8fr) minmax(140px,.55fr);align-items:center;gap:14px;min-height:36px;padding:0 16px;display:grid}.loading-table-head span{height:9px}.loading-skeleton-grid{width:100%;display:grid}.loading-skeleton-row{border-top:1px solid var(--line-soft);background:0 0;grid-template-columns:minmax(0,1.4fr) minmax(180px,.8fr) minmax(140px,.55fr);align-items:center;gap:14px;min-height:72px;padding:12px 16px;display:grid;overflow:hidden}.loading-skeleton-row:first-child{border-top:0}.loading-row-main{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;min-width:0;display:grid}.loading-row-main div,.loading-row-meta,.loading-row-value{gap:8px;min-width:0;display:grid}.loading-row-value{justify-items:end}.loading-thumb{border-radius:6px;width:48px;height:48px}.loading-stage span:not(.sr-only){background:linear-gradient(90deg,#3a3a3a 0%,#505050 48%,#3a3a3a 100%) 0 0/220% 100%;border-radius:999px;height:11px;animation:1.25s ease-in-out infinite loading-shimmer}.loading-row-main div span:first-child{width:min(360px,90%)}.loading-row-main div span:last-child{width:min(260px,68%)}.loading-row-meta span:first-child{width:min(220px,82%)}.loading-row-meta span:last-child{width:min(120px,54%)}.loading-row-value span:first-child{width:92px}.loading-row-value span:last-child{width:58px}.loading-stage span:nth-child(2n){animation-delay:.12s}.loading-stage span:nth-child(3n){animation-delay:.24s}.quick-create,.operations-panel,.approval-panel{order:6}.summary-grid,.module-grid{gap:14px;display:grid}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-grid article,.module-card{border:1px solid var(--line);background:var(--panel);border-radius:8px}.summary-grid article{gap:10px;padding:16px;display:grid}.summary-grid strong{font-size:1.4rem}@keyframes loading-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.state-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:8px;max-width:760px;padding:18px;display:grid}.state-panel span,.data-row span,.empty-state{color:var(--muted)}.state-panel a{width:max-content;color:var(--accent-strong);font-weight:700}.state-panel a:hover{color:var(--accent-strong);text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px}.quick-create{border:1px solid var(--line);background:var(--panel);border-radius:8px;overflow:hidden}.quick-create>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.quick-create h2,.quick-form h3{margin:0}.quick-create h2{font-size:.98rem}.checkbox-field{align-items:center;gap:10px;min-height:42px;display:flex}.checkbox-field input{width:18px;height:18px;accent-color:var(--accent)}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:14px;display:grid}.quick-form{border:1px solid var(--line-soft);background:var(--surface-raised);border-radius:8px;align-content:start;gap:12px;min-width:0;padding:14px;display:grid}.quick-form h3{font-size:.95rem}.quick-form label{gap:6px;min-width:0;display:grid}.quick-form label span,.form-hint,.form-feedback{color:var(--muted);font-size:.82rem}.quick-form input,.quick-form select,.quick-form textarea{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;color:var(--text);font:inherit;border-radius:8px;padding:10px 11px}.quick-form textarea{resize:vertical;min-height:74px}.quick-form input:focus,.quick-form select:focus,.quick-form textarea:focus{border-color:var(--accent-strong);outline:0}.quick-form input:disabled,.quick-form select:disabled,.quick-form textarea:disabled,.quick-form button:disabled{cursor:not-allowed;opacity:.55}.quick-form button{background:var(--accent-strong);color:#101820;border:0;border-radius:8px;padding:10px 12px;font-weight:800}.quick-form button:not(:disabled):hover{background:var(--accent);transform:translateY(-1px);box-shadow:0 10px 24px #49678452}.form-button-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.form-button-row button{min-width:0;padding-inline:8px}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;display:grid}.form-hint,.form-feedback{margin:0}.form-context{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;margin:0;padding:10px 11px;font-size:.86rem}.form-feedback-success{color:var(--accent-strong)}.form-feedback-error{color:#fca5a5}.approval-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;overflow:hidden}.approval-panel>header{border-bottom:1px solid var(--line);padding:14px 16px}.approval-panel h2{margin:0;font-size:.98rem}.approval-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;padding:14px;display:grid}.approval-form label{gap:6px;min-width:0;display:grid}.approval-form label span{color:var(--muted);font-size:.82rem}.approval-form .checkbox-field{display:flex}.approval-form .checkbox-field input{width:18px;min-width:18px}.approval-form input,.approval-form select,.approval-form textarea{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;color:var(--text);font:inherit;border-radius:8px;padding:10px 11px}.approval-form input:focus,.approval-form select:focus,.approval-form textarea:focus{border-color:var(--accent-strong);outline:0}.approval-form input:disabled,.approval-form select:disabled,.approval-form textarea:disabled,.approval-form button:disabled{cursor:not-allowed;opacity:.55}.approval-form button{background:var(--accent-strong);color:#101820;white-space:nowrap;border:0;border-radius:8px;min-height:42px;padding:10px 12px;font-weight:800}.approval-form button:not(:disabled):hover{background:var(--accent);transform:translateY(-1px);box-shadow:0 10px 24px #49678447}.approval-form .form-hint{align-self:center}.operations-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;overflow:hidden}.operations-panel>header{border-bottom:1px solid var(--line);padding:14px 16px}.operations-panel h2{margin:0;font-size:.98rem}.operations-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:14px;display:grid}.operations-grid-wide{grid-template-columns:repeat(4,minmax(0,1fr))}.client-browser{border:1px solid var(--line);background:var(--panel);border-radius:8px;overflow:hidden}.client-browser>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.client-browser h2,.client-browser h3,.client-browser p{margin:0}.client-browser h2{font-size:1rem}.client-browser h3{color:var(--muted);text-transform:uppercase;font-size:.82rem}.client-browser p{color:var(--muted);margin-top:4px}.workspace-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:min(100%,420px);display:flex}.workspace-actions strong{text-align:right;flex:100%}.workspace-bottom-actions{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:8px;padding-top:4px;display:flex}.client-browser-grid{grid-template-columns:240px repeat(2,minmax(0,1fr));gap:14px;padding:14px;display:grid}.client-workspace-grid{grid-template-columns:minmax(220px,.75fr) minmax(300px,1fr) minmax(380px,1.35fr);align-items:start}.product-workspace-layout{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.product-overview-panel,.product-versions-panel,.product-requirements-panel{grid-column:1/-1}.product-view-layout{grid-template-columns:150px minmax(0,1fr);align-items:start;gap:14px;display:grid}.product-view-image{border:1px solid var(--line);background:var(--surface);object-fit:contain;border-radius:8px;width:auto;max-width:150px;height:auto;max-height:150px;padding:10px;display:block}.serial-image-stack{justify-items:start;gap:10px;width:150px;display:grid}.serial-image-stack .product-view-image{width:100%}.product-view-fields{gap:12px;min-width:0;display:grid}.product-view-row{gap:10px;min-width:0;display:grid}.product-view-row-identity{grid-template-columns:minmax(96px,.55fr) minmax(260px,2.2fr) minmax(145px,.8fr)}.product-view-row-commercial{grid-template-columns:minmax(220px,1.5fr) minmax(125px,.7fr) repeat(2,minmax(130px,.8fr))}.serial-product-commercial{grid-template-columns:minmax(220px,1.5fr) repeat(2,minmax(130px,.8fr))}.product-view-row>div{border:1px solid var(--line-soft);background:var(--surface);border-radius:8px;gap:4px;min-width:0;padding:10px;display:grid}.product-view-row span{color:var(--muted);font-size:.76rem}.product-view-row strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.product-view-description{border:1px solid var(--line-soft);background:var(--surface);border-radius:8px;gap:5px;margin:0;padding:10px;display:grid}.product-view-description span{color:var(--muted);font-size:.76rem}.product-view-description p{color:var(--text);margin:0;line-height:1.5}.product-version-table-wrap{overflow-x:auto}.product-version-table{border-collapse:separate;border-spacing:0;border:1px solid var(--line);background:var(--surface);border-radius:8px;width:100%;min-width:1120px;overflow:hidden}.product-version-table th,.product-version-table td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:middle;white-space:nowrap;padding:9px 10px}.product-version-table th{background:var(--surface-raised);color:var(--muted);text-transform:uppercase;font-size:.72rem}.product-version-table td{color:var(--text);font-size:.86rem}.product-version-table tbody tr:last-child td{border-bottom:0}.product-version-table tbody tr:hover td{background:var(--list-hover)}.product-version-table tbody tr.product-version-active-row td{background:#324457}.product-version-table tbody tr.product-version-active-row:hover td{background:#3c5064}.product-version-table .product-version-notes{white-space:normal;min-width:160px;max-width:260px}.product-version-table .row-action{min-height:30px;padding:6px 8px;font-size:.78rem}.invoice-table-wrap{width:100%}.invoice-table{table-layout:fixed;min-width:0}.invoice-table th,.invoice-table td{text-overflow:ellipsis;overflow:hidden}.invoice-table th:first-child,.invoice-table td:first-child{width:10%}.invoice-table th:nth-child(2),.invoice-table td:nth-child(2){width:13%}.invoice-table th:nth-child(3),.invoice-table td:nth-child(3){width:12%}.invoice-table th:nth-child(4),.invoice-table td:nth-child(4){width:9%}.invoice-table th:nth-child(5),.invoice-table td:nth-child(5),.invoice-table th:nth-child(6),.invoice-table td:nth-child(6),.invoice-table th:nth-child(7),.invoice-table td:nth-child(7),.invoice-table th:nth-child(8),.invoice-table td:nth-child(8),.invoice-table th:nth-child(9),.invoice-table td:nth-child(9){width:8%}.invoice-table th:nth-child(10),.invoice-table td:nth-child(10){width:16%}.invoice-table-actions{justify-content:flex-start}.invoice-table-actions .row-action{min-height:28px;padding:5px 7px}.order-workspace .product-view-row-commercial{grid-template-columns:repeat(auto-fit,minmax(128px,1fr))}.order-workspace .order-products-panel,.order-workspace .order-deliveries-panel,.order-workspace .order-delivered-serials-panel,.order-workspace .order-billing-panel,.order-workspace .order-tasks-panel,.order-workspace .order-history-panel,.order-workspace .detail-bottom-actions{grid-column:1/-1}.order-workspace .order-products-panel{order:1}.order-workspace .order-deliveries-panel{order:2}.order-workspace .order-delivered-serials-panel{order:3}.order-workspace .order-billing-panel{order:4}.order-workspace .order-tasks-panel{order:5}.order-workspace .order-history-panel{order:6}.order-workspace .detail-bottom-actions{order:7;justify-content:flex-end;align-items:center;gap:8px;display:flex}.order-products-table-wrap{overflow-x:visible}.order-products-table{table-layout:fixed;min-width:0}.order-products-table th,.order-products-table td{white-space:normal}.order-workspace .serial-history-table{table-layout:fixed;min-width:0}.order-workspace .serial-history-table-wrap{overflow-x:visible}.order-list-quantities{flex-wrap:wrap;align-items:center;gap:6px;white-space:normal!important;display:flex!important;overflow:visible!important}.order-list-quantities .badge{font-size:.72rem}.order-delivery-summary{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;display:flex}.order-serial-delivery-form{max-width:min(100%,980px)}.order-serial-delivery-form .order-serial-picker{grid-column:1/-1;max-height:min(460px,48vh);overflow:auto}.order-serial-picker .serial-history-table{min-width:0}.serial-select-button{color:var(--accent-strong);font:inherit;text-align:left;background:0 0;border:0;padding:0;font-weight:800}.serial-select-button:not(:disabled):hover{color:var(--text);text-decoration:underline}.client-browser-panel{align-content:start;gap:10px;min-width:0;display:grid}.panel-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.panel-title-row h3{margin:0}.panel-title-row .row-action{min-height:32px;padding:6px 8px;font-size:.78rem}.client-picker-list,.client-linked-list{gap:8px;display:grid}.client-linked-list{max-height:320px;overflow:auto}.requirement-chat-list{gap:8px;min-height:0;max-height:360px;display:grid;overflow-y:auto}.requirement-chat-message{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:0;padding:0;display:grid}.requirement-chat-message-head,.requirement-chat-actions{align-items:center;gap:8px;display:flex}.requirement-chat-message-head{border-bottom:1px solid var(--line-soft);background:var(--surface-raised);border-radius:7px 7px 0 0;justify-content:space-between;padding:8px 10px}.requirement-chat-author{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.requirement-chat-author strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.requirement-chat-message-head span{color:var(--muted);font-size:.78rem}.requirement-chat-message p{color:var(--text);white-space:pre-wrap;margin:0;padding:10px;line-height:1.45}.requirement-chat-form{border-top:1px solid var(--line);gap:8px;margin-top:2px;padding-top:10px;display:grid}.requirement-chat-form textarea{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;color:var(--text);font:inherit;resize:vertical;border-radius:8px;padding:10px 11px}.requirement-chat-form textarea:focus{border-color:var(--accent-strong);outline:0}.requirement-chat-actions{justify-content:flex-end}.requirement-chat-actions button{background:var(--accent-strong);color:#101820;border:0;border-radius:8px;padding:9px 12px;font-weight:800}.requirement-chat-actions button:not(:disabled):hover{background:var(--accent);transform:translateY(-1px);box-shadow:0 10px 24px #4967844d}.requirement-chat-form textarea:disabled,.requirement-chat-actions button:disabled{cursor:not-allowed;opacity:.55}.client-project-list{gap:10px;max-height:520px;display:grid;overflow:auto}.client-picker-list button,.client-linked-row{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;color:var(--text);text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.client-linked-row>div{min-width:0}.client-linked-row-stack{flex-direction:column;align-items:stretch}.client-linked-meta,.client-project-metrics,.client-project-footer{color:var(--muted);flex-wrap:wrap;gap:6px 10px;font-size:.78rem;display:flex}.client-linked-meta strong,.client-project-footer strong{color:var(--text);margin-left:auto}.client-project-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid}.client-project-card>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.client-project-card>header div{gap:4px;min-width:0;display:grid}.client-project-card>header strong,.client-project-card>header span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.client-project-card>header span{color:var(--muted)}.client-requirement-list{gap:6px;display:grid}.client-requirement-row{border:1px solid var(--line-soft);background:var(--surface-raised);width:100%;min-width:0;color:var(--text);text-align:left;border-radius:8px;grid-template-columns:minmax(0,1.4fr) minmax(120px,.8fr);align-items:center;gap:10px;padding:9px 10px;display:grid}.client-requirement-row:not(:disabled):hover{border-color:var(--accent);background:var(--panel-soft);transform:translateY(-1px)}.client-requirement-row>div{gap:4px;min-width:0;display:grid}.client-requirement-row strong,.client-requirement-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.client-requirement-row span{color:var(--muted)}.client-project-footer{border-top:1px solid var(--line-soft);padding-top:8px}.client-billing-sources{gap:8px;display:grid}.client-billing-sources div{border:1px solid var(--line-soft);background:var(--surface);border-radius:8px;gap:4px;min-width:0;padding:10px;display:grid}.client-billing-sources span,.client-billing-sources small{color:var(--muted)}.client-billing-sources strong{font-size:1.05rem}.client-linked-row-link{cursor:pointer;text-decoration:none}.client-linked-row .row-action{color:var(--text);align-items:center;margin-top:0;display:inline-flex}.client-linked-row-link:hover .row-action{border-color:var(--accent);background:var(--list-hover);color:var(--accent)}.client-picker-list button{font:inherit;text-align:left}.client-picker-list button.active,.client-picker-list button:hover,.client-linked-row:hover{border-color:var(--accent);background:var(--list-hover)}.client-picker-list button:hover,.client-linked-row-link:hover{transform:translateY(-1px);box-shadow:0 10px 24px #0000002e}.client-picker-list span,.client-linked-row span{color:var(--muted);margin-top:3px;display:block}.context-metrics{gap:8px;display:grid}.context-metrics div{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:4px;min-width:0;padding:10px;display:grid}.context-metrics span{color:var(--muted);font-size:.78rem}.context-metrics strong,.client-linked-row strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.workspace-description{color:var(--muted);margin:12px 0 0;line-height:1.55}.serial-history-panel,.serial-detail-panel{grid-column:1/-1}.serial-detail-panel .context-metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.serial-notes-field{grid-column:1/-1}.serial-notes-field strong{white-space:normal;line-height:1.5}.serial-version-panel{grid-column:1/-1;min-width:0}.serial-version-table{min-width:760px}.serial-history-table-wrap{overflow-x:auto}.serial-history-table{border-collapse:separate;border-spacing:0;border:1px solid var(--line);background:var(--surface);border-radius:8px;width:100%;min-width:620px;overflow:hidden}.serial-history-table th,.serial-history-table td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:middle;padding:10px 12px}.serial-history-table th{background:var(--surface-raised);color:var(--muted);text-transform:uppercase;font-size:.72rem}.serial-history-table td{color:var(--text);font-size:.86rem}.serial-history-table tbody tr:last-child td{border-bottom:0}.serial-history-table tbody tr:hover td{background:var(--list-hover)}.serial-history-table tbody tr.table-row-link,.product-version-table tbody tr.table-row-link{cursor:pointer}.serial-history-table tbody tr.table-row-link:focus-visible td,.product-version-table tbody tr.table-row-link:focus-visible td{background:var(--list-hover);box-shadow:inset 0 0 0 1px var(--accent);outline:0}.table-link,.serial-history-table a,.product-version-table a{color:inherit}.serial-history-table td:first-child,.serial-history-table td:last-child{white-space:nowrap}.serial-history-table td:nth-child(2){min-width:0;color:var(--muted);text-overflow:ellipsis;overflow:hidden}.product-identity{align-items:center;gap:10px;min-width:0;display:flex!important}.product-identity>div{gap:5px;min-width:0;display:grid}.product-thumb{border:1px solid var(--line);background:var(--surface);object-fit:contain;border-radius:8px;flex:0 0 44px;width:44px;height:44px}.product-form-layout{grid-template-columns:150px minmax(0,1fr);align-items:start;gap:14px;display:grid}.product-image-upload{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;place-items:center;width:150px;min-height:150px;display:grid;position:relative;overflow:hidden}.product-image-upload img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:150px;padding:10px;display:block}.product-image-input{z-index:2;cursor:pointer;opacity:0;position:absolute;inset:0}.product-image-placeholder{max-width:110px;color:var(--muted);text-align:center;font-size:.78rem;font-weight:700;line-height:1.35}.product-image-upload-overlay{z-index:1;color:var(--text);text-align:center;opacity:0;pointer-events:none;background:#0e0e0edb;border:1px solid #ffffff24;border-radius:8px;padding:8px 9px;font-size:.78rem;font-weight:800;transition:opacity .16s,transform .16s,border-color .16s,background .16s;position:absolute;bottom:8px;left:8px;right:8px;transform:translateY(6px)}.product-image-upload:hover .product-image-upload-overlay,.product-image-upload:focus-within .product-image-upload-overlay{border-color:var(--accent);opacity:1;background:#2c3a48eb;transform:translateY(0)}.product-image-upload-disabled{cursor:not-allowed;opacity:.62}.product-image-upload-disabled .product-image-input{cursor:not-allowed}.product-form-fields{gap:12px;min-width:0;display:grid}.product-form-row{align-items:start;gap:10px;min-width:0;display:grid}.product-form-row-identity{grid-template-columns:minmax(96px,.55fr) minmax(260px,2.2fr) minmax(145px,.8fr)}.product-form-row-commercial{grid-template-columns:minmax(220px,1.5fr) minmax(125px,.7fr) minmax(130px,.75fr) minmax(150px,.85fr)}.product-hero-image,.detail-image{border:1px solid var(--line);background:var(--surface);object-fit:cover;border-radius:8px;width:100%;max-height:180px}.detail-image{max-height:140px;display:block}.record-toolbar{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:10px;padding:12px;display:grid}.record-toolbar label:first-child{grid-column:span 2}.record-toolbar label{gap:6px;min-width:0;display:grid}.record-toolbar span{color:var(--muted);font-size:.82rem}.record-toolbar input,.record-toolbar select{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;color:var(--text);font:inherit;border-radius:8px;padding:10px 11px}.record-toolbar input:focus,.record-toolbar select:focus{border-color:var(--accent-strong);outline:0}.data-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.data-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;min-width:0;overflow:hidden}.data-panel:first-child{grid-column:span 2}.data-panel header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.data-panel h2{margin:0;font-size:.95rem}.data-panel-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.data-list{max-height:min(760px,72vh);display:grid;overflow:auto}.data-table-head{border-bottom:1px solid var(--line);background:var(--surface-raised);min-height:40px;color:var(--muted);letter-spacing:0;text-transform:uppercase;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;align-items:center;gap:16px;padding:0 16px;font-size:.75rem;font-weight:800;display:grid}.data-table-head span:last-child{text-align:right}.data-row{border-top:1px solid var(--line-soft);min-height:68px;color:var(--text);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 16px;text-decoration:none;display:grid}.data-row:first-child{border-top:0}.data-row>div{gap:5px;min-width:0;display:grid}.data-row strong,.data-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.data-row-link{cursor:pointer;transition:background .16s,border-color .16s}.data-row-link:hover{background:var(--list-hover);box-shadow:inset 2px 0 0 var(--accent)}.data-row-link:focus-visible{outline:2px solid var(--accent-strong);outline-offset:-2px}.row-action{border:1px solid var(--line);background:var(--surface-raised);min-height:36px;color:var(--text);font:inherit;white-space:nowrap;border-radius:8px;padding:8px 10px;font-weight:700;text-decoration:none}.row-action:disabled{cursor:not-allowed;opacity:.55}.row-action:not(:disabled):hover,a.row-action:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--text);transform:translateY(-1px);box-shadow:0 8px 18px #0000002e}.row-actions{justify-items:end}.row-button-group{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.row-button-group .row-action{min-height:30px;padding:6px 8px;font-size:.78rem}.editor-modal{z-index:45;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.editor-modal-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000a3;position:absolute;inset:0}.editor-modal-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:auto;min-width:min(520px,100vw - 48px);max-width:calc(100vw - 48px);max-height:min(900px,100vh - 48px);display:grid;position:relative;overflow:hidden;box-shadow:0 26px 90px #0000007a}.editor-modal-panel-compact{width:auto;min-width:0;max-width:min(560px,100vw - 48px)}.editor-modal-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.editor-modal-panel>header span{color:var(--muted);font-size:.82rem}.editor-modal-panel h2,.editor-modal-panel p{margin:0}.editor-modal-panel h2{font-size:1.15rem}.editor-modal-panel>header button{border:1px solid var(--line);background:var(--surface-raised);min-height:36px;color:var(--text);font:inherit;border-radius:8px;flex:none;padding:8px 10px;font-weight:700}.editor-modal-panel>header button:not(:disabled):hover{border-color:var(--accent);background:var(--accent-soft)}.editor-modal-body{gap:14px;min-height:0;padding:16px;display:grid;overflow:auto}.editor-modal-body .quick-create,.editor-modal-body .operations-panel,.editor-modal-body .approval-panel{box-shadow:none;background:0 0;border:0;overflow:visible}.editor-modal-body .quick-grid,.editor-modal-body .operations-grid{grid-template-columns:repeat(auto-fit,minmax(min(430px,100%),1fr));align-items:start;padding:0}.editor-modal-body .quick-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;width:100%}.editor-modal-body .client-quick-form{grid-template-columns:1fr;max-width:520px}.editor-modal-body .product-version-quick-form{grid-template-columns:1fr;max-width:620px}.editor-modal-body .serial-quick-form{grid-template-columns:1fr;max-width:520px}.editor-modal-body .requirement-quick-form{grid-template-columns:1fr;max-width:620px}.serial-quick-form .field-row,.requirement-quick-form .field-row{grid-template-columns:1fr}.editor-modal-body .requirement-quick-form>h3{display:none}.editor-modal-body .quick-form>h3,.editor-modal-body .quick-form>.field-row,.editor-modal-body .quick-form>.form-button-row,.editor-modal-body .quick-form>.form-hint,.editor-modal-body .quick-form>.form-feedback,.editor-modal-body .quick-form>.product-form-layout,.editor-modal-body .serial-quick-form>label,.editor-modal-body .requirement-quick-form>label,.editor-modal-body .requirement-quick-form>button{grid-column:1/-1}.editor-modal-body .quick-form>label:has(textarea){grid-column:1/-1}.detail-list{gap:8px;font-weight:500;display:grid}.detail-list-row{border-top:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding-top:8px;display:grid}.detail-list-row:first-child{border-top:0;padding-top:0}.detail-list-row div{gap:2px;min-width:0;display:grid}.detail-list-row strong{color:var(--text);font-weight:800}.detail-list-row span{color:var(--muted);font-size:.86rem}.badge{color:#d7e7f6;text-transform:capitalize;background:#334557;border:1px solid #60788f;border-radius:999px;width:max-content;max-width:100%;padding:4px 8px;font-size:.78rem;font-weight:700}.badge-warning{color:var(--warning);background:#514421;border-color:#8f743a}.badge-success{color:#c7e6c1;background:#2f4531;border-color:#5f7b5e}.badge-info{color:var(--info);background:#334557;border-color:#60788f}.badge-neutral{color:#ddd;background:#3b3b3b;border-color:#626262}.badge-danger{color:var(--danger);background:#321818;border-color:#8f4848}.empty-state{margin:0;padding:18px 16px}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.module-card{flex-direction:column;justify-content:space-between;gap:24px;min-height:150px;padding:18px;display:flex}.module-card h2{margin:0 0 8px;font-size:1rem}.module-card p{margin:0;line-height:1.5}.module-card span{color:var(--accent-strong);font-weight:700}@media (max-width:980px){.app-shell{--sidebar-width:min(300px, 88vw);grid-template-columns:1fr}.app-shell:has(.sidebar:not(.sidebar-hidden)){grid-template-columns:1fr}.sidebar{z-index:42;border-right:1px solid var(--line);border-bottom:0;position:fixed;inset:0 auto 0 0;overflow-y:auto;box-shadow:24px 0 70px #00000073}.sidebar-backdrop{z-index:41;background:#0000006b;border:0;border-radius:0;padding:0;display:block;position:fixed;inset:0}.summary-grid,.quick-grid,.operations-grid,.approval-form,.client-browser-grid,.data-layout,.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.workspace{padding:18px}.topbar{grid-template-columns:1fr;place-items:stretch stretch}.topbar-title{flex-wrap:wrap;width:100%}.topbar-inline-logo{width:min(142px,42vw)}.topbar-actions{justify-self:stretch;width:100%}.active-client-picker{width:100%}.topbar-actions .command-button{flex:160px;min-width:0}.session-card{flex:180px;max-width:none}.command-button{width:100%;min-width:0}.summary-grid,.client-browser-grid,.quick-grid,.operations-grid,.record-toolbar,.field-row,.form-button-row,.editor-modal-body .quick-grid,.editor-modal-body .operations-grid,.approval-form,.data-layout,.module-grid{grid-template-columns:1fr}.editor-modal{padding:12px}.editor-modal-panel{max-height:calc(100vh - 24px)}.editor-modal-body .quick-form,.product-form-layout,.product-form-row-identity,.product-form-row-commercial,.product-view-layout,.product-view-row-identity,.product-view-row-commercial{grid-template-columns:1fr}.serial-detail-panel,.serial-version-panel{grid-column:1/-1}.serial-detail-panel .context-metrics{grid-template-columns:1fr}.serial-product-commercial{grid-template-columns:repeat(2,minmax(0,1fr))}.serial-product-commercial>div:first-child{grid-column:1/-1}.product-image-upload,.product-view-image,.serial-image-stack{width:min(180px,100%)}.quick-create>header{flex-direction:column;align-items:flex-start}.data-panel:first-child{grid-column:span 1}.record-toolbar label:first-child{grid-column:auto}.data-table-head{display:none}.workspace-actions{justify-content:flex-start}.workspace-actions strong{text-align:left}.loading-stage{min-height:calc(100vh - 48px)}.loading-topbar{flex-direction:column;align-items:flex-start}.loading-actions{justify-content:flex-start;width:100%}.loading-actions span{width:min(132px,46vw)}.loading-filter-row{grid-template-columns:1fr}.loading-table-head{display:none}.loading-skeleton-row{grid-template-columns:1fr;gap:10px}.loading-row-value{justify-items:start}.data-row{grid-template-columns:1fr;align-items:start;gap:10px}.client-requirement-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.loading-skeleton-row span{animation-duration:2.4s}}
