@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=IBM+Plex+Sans:wght@500;600;700&display=swap";
:root{--ink:#f7f9fb;--panel:#fff;--panel-2:#f2f4f6;--panel-3:#eceef0;--line:#c5c6cd;--line-soft:#e0e3e5;--blue:#091426;--blue-deep:#1e293b;--blue-soft:#d5e3fd;--blue-soft-text:#3c475a;--amber:#d97706;--amber-deep:#f59e0b;--amber-soft:#fef3c7;--amber-strong:#92400e;--red:#ba1a1a;--red-deep:#93000a;--red-soft:#ffdad6;--text:#191c1e;--muted:#45474c;--faint:#75777d;--sidebar-bg:#091426;--sidebar-text:#fff;--sidebar-muted:#8590a6;--sidebar-hover:#3c475a;--sidebar-active:#515f74;--sidebar-border:#3c475a;--r-lg:16px;--r-md:8px;--r-sm:6px;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-label:"IBM Plex Sans", "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;background:var(--ink);color:var(--text);font-family:var(--font-sans);font-size:16px}.material-symbols-outlined{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-moz-font-feature-settings:"liga";text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;direction:ltr;font-family:Material Symbols Outlined;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}*{box-sizing:border-box}html{background:var(--ink)}body{background:var(--ink);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0}button,input,select,textarea{border:1px solid var(--line);border-radius:var(--r-sm);font:inherit;min-height:44px}button{background:var(--blue);border-color:var(--blue);color:#fff;cursor:pointer;font-family:var(--font-label);letter-spacing:.05em;text-transform:uppercase;padding:0 18px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s,transform .12s,box-shadow .15s}button:hover{background:var(--blue-deep);border-color:var(--blue-deep)}button:active{transform:scale(.98)}button:disabled{cursor:not-allowed;opacity:.38}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--amber);outline-offset:2px}input,select,textarea{background:var(--panel);color:var(--text);width:100%;padding:0 13px;transition:border-color .15s,box-shadow .15s}textarea{font-family:var(--font-sans);resize:vertical;min-height:88px;padding:10px 13px;line-height:1.45}input:focus,select:focus,textarea:focus{border-color:var(--blue)}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--faint) 50%), linear-gradient(135deg, var(--faint) 50%, transparent 50%);background-position:calc(100% - 17px) 19px,calc(100% - 11px) 19px;background-repeat:no-repeat;background-size:6px 6px;padding-right:34px}input::placeholder{color:var(--faint)}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.02em;font-weight:700}.mono{font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace}.page,.workspace{min-height:100dvh}.eyebrow,.section-kicker{color:var(--muted);font-family:var(--font-label);letter-spacing:.05em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:600;display:block}.chip{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--muted);font-family:var(--font-label);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:6px;width:fit-content;min-height:24px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.chip.ok{background:var(--blue-soft);border-color:var(--blue-soft);color:var(--blue-soft-text)}.chip.warn{background:var(--amber-soft);border-color:var(--amber-soft);color:var(--amber-strong)}.chip.bad{background:var(--red-soft);border-color:var(--red-soft);color:var(--red-deep)}.chip.mono{letter-spacing:0;text-transform:none;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace}.dot{background:currentColor;border-radius:999px;width:7px;height:7px;display:inline-block;box-shadow:0 0 8px}.chip-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.panel{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden;box-shadow:0 1px 2px #09142608,0 4px 12px #0914260a}.auth-page{grid-template-columns:minmax(0,1fr) minmax(360px,1fr);display:grid}.login-side{border-right:1px solid var(--sidebar-border);color:var(--sidebar-text);background:radial-gradient(circle at 78% 8%,#515f7466,#0000 38%),linear-gradient(160deg,#111c2d 0%,#091426 60%,#0d1c2f 100%);flex-direction:column;justify-content:space-between;min-height:100dvh;padding:42px 48px 52px;display:flex;position:relative;overflow:hidden}.login-side .eyebrow{color:var(--sidebar-muted)}.login-side .chip{color:var(--sidebar-text);background:#ffffff0f;border-color:#ffffff24}.login-glow{pointer-events:none;background:radial-gradient(circle,#d5e3fd2e,#0000 66%);border-radius:999px;width:560px;height:560px;position:absolute;top:-180px;right:-140px}.login-stamp,.login-copy{z-index:1;position:relative}.login-logo{width:auto;height:34px;margin-bottom:18px;display:block}.login-copy h1{color:var(--sidebar-text);max-width:650px;font-size:clamp(2rem,4vw,3.45rem);line-height:1.08}.login-copy h1 span{color:#bcc7de}.brand h1 span,.auth-panel h2 span{color:var(--blue)}.login-copy .chip-row{margin-top:24px}.login-form{place-items:center;min-height:100dvh;padding:40px 24px;display:grid}.auth-panel{gap:18px;width:min(100%,410px);padding:34px 30px;display:grid}.auth-panel h2{color:var(--text);font-size:1.7rem}.auth-panel button{width:100%}.form-hint{color:var(--faint);text-align:center;font-size:.76rem}.form-error{color:#dc2626;text-align:center;font-size:.82rem}.workspace{padding:0}.admin-shell{grid-template-columns:240px minmax(0,1fr);min-height:100dvh;display:grid}.side-nav{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);color:var(--sidebar-text);flex-direction:column;gap:4px;padding:22px 14px;display:flex}.brand{border-bottom:1px solid var(--sidebar-border);margin-bottom:16px;padding:4px 10px 20px}.brand h1{color:var(--sidebar-text);letter-spacing:-.01em;font-size:1.35rem;line-height:1.15}.brand .eyebrow{color:var(--sidebar-muted)}.side-nav-item{border-radius:var(--r-md);color:var(--sidebar-muted);font-family:var(--font-sans);letter-spacing:0;text-transform:none;text-align:left;background:0 0;border:0;grid-template-columns:24px minmax(0,1fr);justify-content:start;align-items:center;gap:12px;width:100%;min-height:44px;padding:8px 12px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:grid}.side-nav-item:hover{background:var(--sidebar-hover);color:var(--sidebar-text)}.side-nav-item[aria-current=page]{background:var(--sidebar-active);color:var(--sidebar-text);font-weight:700}.side-nav-item strong,.side-nav-item small{min-width:0;display:block}.side-nav-item strong{font-family:var(--font-sans);font-size:14px;font-weight:inherit;letter-spacing:0;text-transform:none;line-height:20px}.side-nav-item small{color:inherit;font-family:var(--font-sans);letter-spacing:0;opacity:.72;text-transform:none;font-size:11px;font-weight:400;line-height:14px}.nav-marker{color:inherit;letter-spacing:0;text-transform:none;justify-content:center;align-items:center;width:24px;height:24px;font-family:Material Symbols Outlined;font-size:22px;font-weight:400;display:inline-flex}.admin-content{align-content:start;gap:24px;min-width:0;padding:42px 48px 64px;display:grid}.admin-content.summary-content{grid-template-rows:auto auto auto minmax(0,1fr);gap:10px;height:100dvh;padding-top:16px;padding-bottom:16px;overflow:hidden}.summary-content .section-toolbar{padding-bottom:10px}.summary-content .section-toolbar h2{font-size:30px;line-height:34px}.section-toolbar{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:28px;display:flex}.section-toolbar .section-kicker{margin-bottom:8px}.section-toolbar h2{color:var(--text);letter-spacing:-.02em;font-size:36px;font-weight:700;line-height:44px}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.status,.session{background:var(--panel);border:1px solid var(--line-soft);border-radius:999px}.status{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;max-width:360px;padding:9px 14px;font-size:12px;font-weight:500;display:flex;overflow:hidden}.status-dot{background:#22c55e;border-radius:999px;flex-shrink:0;width:8px;height:8px}.session-menu{position:relative}.session{color:var(--text);cursor:pointer;font-family:var(--font-sans);letter-spacing:0;text-transform:none;align-items:center;gap:10px;min-height:0;padding:5px 12px 5px 5px;font-size:13px;font-weight:500;transition:border-color .15s;display:flex}.session:hover,.session.open{background:var(--panel);border-color:var(--line)}.session-chevron{color:var(--faint);font-size:18px;transition:transform .15s}.session.open .session-chevron{transform:rotate(180deg)}.session-dropdown{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r-md);z-index:30;min-width:100%;margin-top:6px;padding:6px;position:absolute;top:100%;right:0;box-shadow:0 12px 32px #0f172a29}.session-dropdown-item{border-radius:var(--r-sm);color:var(--red-deep);cursor:pointer;font-family:var(--font-sans);letter-spacing:0;text-transform:none;white-space:nowrap;background:0 0;border:0;align-items:center;gap:8px;width:100%;min-height:0;padding:9px 12px;font-size:13px;font-weight:500;display:flex}.session-dropdown-item:hover{background:var(--red-soft);border:0}.session-dropdown-item .material-symbols-outlined{font-size:18px}.avatar{background:var(--blue-soft);color:var(--blue);border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:inline-flex}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.kpi-card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r-lg);gap:8px;min-height:132px;padding:18px;transition:border-color .2s,transform .2s,box-shadow .2s;display:grid;position:relative;overflow:hidden}.kpi-card:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0914260f}.kpi-card.ok{border-color:var(--line-soft)}.kpi-card.warn{border-color:var(--amber-deep)}.kpi-card.bad{border-color:var(--red)}.kpi-icon{background:var(--blue-soft);border-radius:var(--r-sm);color:var(--blue);justify-content:center;align-items:center;width:34px;height:34px;font-size:.9rem;font-weight:900;display:flex;position:absolute;top:18px;right:18px}.kpi-card.warn .kpi-icon{background:var(--amber-soft);color:var(--amber)}.kpi-bgicon{color:var(--blue);font-variation-settings:"FILL" 1, "wght" 500, "GRAD" 0, "opsz" 48;opacity:.1;pointer-events:none;transform-origin:100% 0;-webkit-user-select:none;user-select:none;font-family:Material Symbols Outlined;font-size:150px;line-height:1;transition:opacity .22s,transform .22s;position:absolute;top:-22px;right:-18px;transform:rotate(12deg)}.kpi-card:hover .kpi-bgicon{opacity:.18;transform:rotate(12deg)scale(1.06)}.kpi-card.warn .kpi-bgicon{color:var(--amber-deep);opacity:.22}.kpi-card.warn:hover .kpi-bgicon{opacity:.3}.kpi-card.bad .kpi-bgicon{color:var(--red);opacity:.22}.kpi-card.bad:hover .kpi-bgicon{opacity:.3}.kpi-label{color:var(--muted);font-family:var(--font-label);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:600;line-height:16px}.kpi-card.warn .kpi-label{color:var(--amber)}.kpi-card.bad .kpi-label{color:var(--red)}.kpi-card strong{color:var(--text);font-family:var(--font-sans);letter-spacing:-.02em;font-size:32px;font-weight:700;line-height:40px}.kpi-card.ok strong,.kpi-card.warn strong,.kpi-card.bad strong{color:var(--blue)}.kpi-card small{color:var(--faint);font-family:var(--font-sans);font-size:14px;font-weight:400;line-height:20px}.grid,.lists,.inventory-admin,.machine-list{gap:14px;display:grid}.lists{grid-template-columns:1.1fr .9fr}.single-list{grid-template-columns:minmax(0,1fr)}.admin-grid{grid-template-columns:repeat(3,minmax(280px,1fr))}.panel-heading{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:16px 22px;display:flex}.panel-heading h2{color:var(--text);letter-spacing:-.01em;font-size:18px;font-weight:600}.rowline{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:13px 22px;display:flex}.rowline:last-child{border-bottom:0}.rowline strong{color:var(--text);font-size:14px;font-weight:600;display:block}.rowline small{color:var(--faint);margin-top:3px;font-size:12px;display:block}.positive{color:#166534}.negative{color:var(--red)}.stock-meter{flex:none;align-items:center;gap:12px;display:flex}.stock-meter .mono{color:var(--amber);font-size:12px;font-weight:700}.bar{background:var(--panel-3);border-radius:999px;width:140px;height:6px;display:block;overflow:hidden}.bar i{background:var(--amber-deep);border-radius:inherit;height:100%;display:block}.form-card{flex-direction:column;gap:14px;padding:0 18px 18px;display:flex}.form-card .panel-heading{margin:0 -18px}.field{color:var(--muted);font-family:var(--font-label);letter-spacing:.05em;text-transform:uppercase;gap:6px;font-size:12px;font-weight:600;display:grid}.field.compact{min-width:0}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.field input,.field select,.field textarea,.search-field input,.form-card input,.form-card select,.form-card textarea{font-family:var(--font-sans);letter-spacing:0;text-transform:none}.small-label{color:var(--faint);font-family:var(--font-label);letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:600;display:block}.compact-list{flex-wrap:wrap;gap:8px;display:flex}.sub-nav{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:999px;gap:2px;width:fit-content;padding:4px;display:inline-flex}.sub-nav button{color:var(--muted);background:0 0;border:0;border-radius:999px;min-height:32px;padding:0 18px}.sub-nav button:hover{background:var(--panel-3);color:var(--text)}.sub-nav button[aria-pressed=true]{background:var(--blue);color:#fff}.sub-nav button[aria-pressed=true]:hover{background:var(--blue-deep)}.list-controls{grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:10px;display:grid}.list-controls.in-panel{border-bottom:1px solid var(--line);padding:14px 18px}.search-field{gap:6px;display:grid}.search-field span{color:var(--muted);font-size:.74rem;font-weight:800}.search-field input{background:var(--panel);border-radius:999px;padding-left:18px}.pager{justify-content:flex-end;align-items:center;gap:8px;display:flex}.pager span{color:var(--faint);font-family:var(--font-label);letter-spacing:.04em;text-align:center;min-width:86px;font-size:12px;font-weight:600}.pager button{background:var(--panel);border-color:var(--line-soft);color:var(--muted);border-radius:999px;min-height:36px}.pager button:hover{background:var(--panel-2);border-color:var(--line);color:var(--text)}.stock-table-wrap{overflow-x:auto}.stock-table-wrap.no-x-scroll{overflow-x:hidden}.stock-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:640px}.no-x-scroll .stock-table{min-width:0}.stock-table thead tr{background:var(--panel-2);border-bottom:1px solid var(--line)}.stock-table th{color:var(--faint);font-family:var(--font-label);letter-spacing:.05em;text-align:left;text-transform:uppercase;padding:12px 18px;font-size:12px;font-weight:600;line-height:16px}.stock-table th.col-actions-head{text-align:right}.stock-table td{border-bottom:1px solid var(--line-soft);color:var(--text);font-family:var(--font-sans);vertical-align:middle;padding:16px 18px;font-size:14px;font-weight:400;line-height:20px}.stock-table tbody tr:hover{background:var(--panel-2)}.stock-table tbody tr.selectable-row{cursor:pointer;transition:background .16s,box-shadow .16s}.stock-table tbody tr.selectable-row:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.stock-table tbody tr.selectable-row.selected{background:var(--blue-soft);box-shadow:inset 3px 0 0 var(--blue)}.stock-table tbody tr:last-child td{border-bottom:0}.stock-table .col-item{width:34%;overflow:hidden}.stock-table .col-item strong{color:var(--text);font-family:var(--font-sans);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:14px;font-weight:700;line-height:20px;display:block;overflow:hidden}.item-tag{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:var(--r-sm);color:var(--muted);font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.stock-table .col-num{width:12%;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;font-weight:600}.stock-table .col-actions{text-align:right;white-space:nowrap;width:120px}.stock-table th.col-actions-head{width:120px}.detail-link{color:var(--blue-soft-text);font-family:var(--font-label);margin-top:4px;font-size:12px;font-weight:700;line-height:18px;display:block}.report-detail-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.report-detail-metrics div{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:var(--r-md);gap:4px;min-height:92px;padding:14px 16px;display:grid}.report-detail-metrics span,.report-detail-metrics small{color:var(--faint);font-size:12px;line-height:16px}.report-detail-metrics strong{color:var(--text);font-size:28px;font-weight:800;line-height:32px}.report-items-frame{height:360px;overflow-y:auto}.report-items-frame .empty.compact{border-bottom:0;align-content:center;height:100%}.report-items{gap:10px;display:grid}.report-item-row{grid-template-columns:minmax(180px,1.2fr) minmax(160px,2fr) auto;align-items:center;gap:14px;display:grid}.report-item-copy{gap:3px;min-width:0;display:grid}.report-item-copy strong{color:var(--text);overflow-wrap:anywhere;font-size:14px;font-weight:700;line-height:20px}.report-item-copy span{color:var(--faint);font-size:12px;line-height:16px}.report-item-bar{background:var(--panel-3);border-radius:999px;height:10px;overflow:hidden}.report-item-bar span{background:var(--blue);border-radius:inherit;min-width:4px;height:100%;display:block}.report-item-total{color:var(--text);justify-self:end;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:20px}.icon-btn{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r-md);color:var(--muted);letter-spacing:0;text-transform:none;justify-content:center;align-items:center;width:36px;height:36px;min-height:36px;margin-left:6px;padding:0;display:inline-flex}.icon-btn:first-child{margin-left:0}.icon-btn:hover{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}.icon-btn.danger{color:var(--red-deep)}.icon-btn.danger:hover{background:var(--red-soft);border-color:var(--red);color:var(--red-deep)}.icon-btn .material-symbols-outlined{font-size:20px;line-height:20px}.form-card button{border-radius:var(--r-md);font-family:var(--font-sans);letter-spacing:0}.modal-backdrop{z-index:50;background:#0914268c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r-lg);flex-direction:column;width:100%;max-width:480px;max-height:calc(100dvh - 48px);display:flex;overflow:hidden;box-shadow:0 24px 64px #09142638}.report-modal-panel{max-width:760px}.report-chart-modal-panel{width:100%;max-width:1100px;height:calc(100dvh - 48px)}.report-chart-modal-body{flex:1}.chart-toolbar{justify-content:space-between;align-items:center;gap:10px;padding:16px 22px 0;display:flex}.segmented-toggle{flex-wrap:wrap;gap:6px;display:inline-flex}.segmented-toggle button{border:1px solid var(--line-soft);border-radius:var(--r-sm);color:var(--muted);background:0 0;min-height:32px;padding:0 14px}.segmented-toggle button:hover{background:var(--panel-2);color:var(--text)}.segmented-toggle button[aria-pressed=true]{background:var(--panel-2);border-color:var(--blue);color:var(--text);font-weight:700}.report-chart-frame{resize:vertical;height:320px;min-height:200px;max-height:70vh;margin:14px 22px 22px;overflow:hidden}.report-chart-frame-expanded{resize:none;flex:1;height:100%;min-height:320px;max-height:none;margin:0}.modal-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 22px;display:flex}.modal-header h2{color:var(--text);letter-spacing:-.01em;font-size:18px;font-weight:700;line-height:24px}.modal-header .eyebrow{margin-bottom:4px}.report-modal-header{gap:18px}.report-modal-header .chip-row{margin-top:10px}.modal-body{flex-direction:column;gap:14px;padding:20px 22px;display:flex;overflow-y:auto}.report-modal-body{gap:18px}.report-modal-controls{grid-template-columns:minmax(0,1fr) auto;align-items:flex-end;gap:12px;display:grid}.report-modal-count{color:var(--faint);font-family:var(--font-label);white-space:nowrap;font-size:12px;font-weight:700;line-height:38px}.modal-body p{color:var(--muted);font-size:14px;line-height:22px}.modal-body p strong{color:var(--text);font-weight:700}.modal-footer{border-top:1px solid var(--line-soft);justify-content:flex-end;align-items:center;gap:10px;padding:14px 22px;display:flex}.modal-footer button{border-radius:var(--r-md);font-family:var(--font-sans);letter-spacing:0;text-transform:none;min-height:38px}.modal-footer button.ghost{background:var(--panel-2);border-color:var(--line-soft);color:var(--muted)}.modal-footer button.ghost:hover{background:var(--panel-3);border-color:var(--line);color:var(--text)}.modal-footer button.danger-btn{background:var(--red);border-color:var(--red);color:#fff}.modal-footer button.danger-btn:hover{background:var(--red-deep);border-color:var(--red-deep)}.machine-list{padding:14px 18px 18px}.machine-row{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r-lg);grid-template-columns:minmax(200px,1.1fr) minmax(0,2fr) auto;align-items:center;gap:18px;padding:16px 18px;transition:border-color .15s,box-shadow .15s;display:grid}.machine-row:hover{border-color:var(--line);box-shadow:0 1px 4px #0914260a}.machine-row-head{flex-direction:column;gap:6px;min-width:0;display:flex}.machine-row-head strong{color:var(--text);font-family:var(--font-sans);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;line-height:20px;overflow:hidden}.machine-row-meta{grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) minmax(140px,1fr);gap:16px;margin:0;display:grid}.machine-row-meta .meta-cell{flex-direction:column;gap:4px;min-width:0;display:flex}.machine-row-meta dt{color:var(--faint);font-family:var(--font-label);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:600;line-height:14px}.machine-row-meta dd{color:var(--text);font-family:var(--font-sans);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;font-weight:500;line-height:20px;overflow:hidden}.machine-row-meta dd.mono{font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-weight:600}.machine-row-meta .meta-cell-status dd{overflow:visible}.status-chip{letter-spacing:.06em;min-height:26px;padding:3px 10px;font-weight:700}.machine-row-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.modal-panel-lg{max-width:540px}.modal-readonly{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:14px 16px}.modal-readonly .small-label{margin-bottom:10px}.readonly-grid{grid-template-columns:1fr;gap:12px;margin:0;display:grid}.readonly-grid>div{gap:2px;display:grid}.readonly-grid dt{color:var(--faint);font-family:var(--font-label);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:600}.readonly-grid dd{color:var(--text);font-family:var(--font-sans);margin:0;font-size:14px;font-weight:500;line-height:20px}.readonly-grid dd.mono{font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-weight:600}.empty{color:var(--muted);text-align:center;justify-items:center;padding:44px 20px;display:grid}.empty.compact{border-bottom:1px solid var(--line-soft);padding:30px 20px}.empty h3{color:var(--text);margin-bottom:6px;font-size:1.08rem}.empty p{color:var(--muted);max-width:440px;font-size:.86rem;line-height:1.55}@media (max-width:1180px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.lists,.admin-grid{grid-template-columns:1fr}.machine-row{grid-template-columns:minmax(0,1fr) auto}.machine-row-meta{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:980px){.auth-page{grid-template-columns:1fr}.login-side{display:none}.admin-shell{grid-template-columns:1fr}.side-nav{border-bottom:1px solid var(--line);border-right:0;flex-direction:row;padding:12px;overflow-x:auto}.brand{display:none}.side-nav-item{flex:0 0 220px}}.resumen-greeting{border-bottom:1px solid var(--line);padding-bottom:20px}.summary-content .resumen-greeting{padding-bottom:8px}.resumen-greeting .eyebrow{font-family:var(--font-label);letter-spacing:.05em;margin-bottom:10px;font-size:12px;font-weight:600}.summary-content .resumen-greeting .eyebrow{margin-bottom:4px}.resumen-greeting h2{color:var(--text);font-family:var(--font-sans);letter-spacing:-.02em;margin-bottom:6px;font-size:clamp(24px,2.6vw,32px);font-weight:700;line-height:40px}.summary-content .resumen-greeting h2{margin-bottom:2px;font-size:22px;line-height:28px}.resumen-greeting h2 span{color:var(--blue)}.resumen-greeting p{color:var(--muted);font-family:var(--font-sans);font-size:16px;font-weight:400;line-height:24px}.summary-content .resumen-greeting p{font-size:14px;line-height:20px}.summary-content .metrics{gap:8px}.summary-content .kpi-card{gap:4px;min-height:86px;padding:12px}.summary-content .kpi-icon{width:30px;height:30px;top:14px;right:14px}.summary-content .kpi-bgicon{font-size:98px;top:-18px;right:-16px}.summary-content .kpi-card strong{font-size:24px;line-height:28px}.summary-content .kpi-card small{font-size:12px;line-height:16px}.resumen-bento{grid-template-columns:1.85fr 1fr;gap:14px;display:grid}.summary-content .resumen-bento{gap:10px;min-height:0;overflow:hidden}.summary-content .resumen-bento .panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.summary-content .alert-stack{min-height:0;overflow:hidden}.summary-content .mov-table-wrap{flex:1;min-height:0;overflow-y:auto}.summary-content .mov-table thead tr{z-index:1;position:sticky;top:0}.summary-content .panel-heading{min-height:42px;padding:9px 14px}.summary-content .resumen-bento .panel-heading h2{font-size:17px;line-height:24px}.summary-content .mov-table th,.summary-content .mov-table td{padding:7px 12px}.summary-content .alert-stack{gap:6px;padding:8px 10px 10px}.summary-content .alert-card{gap:8px;padding:8px}.summary-content .alert-card strong{margin-bottom:2px}.summary-content .alert-card .alert-meta{margin-bottom:6px}@media (max-width:1180px){.resumen-bento{grid-template-columns:1fr}}.resumen-bento .panel-heading h2{color:var(--text);font-family:var(--font-sans);font-size:20px;font-weight:600;line-height:28px}.panel-link{color:var(--muted);cursor:default;font-family:var(--font-label);letter-spacing:.05em;text-transform:uppercase;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;min-height:0;padding:6px 10px;font-size:12px;font-weight:600;line-height:16px;display:inline-flex}.panel-link-btn{border:1px solid var(--line-soft);color:var(--muted);cursor:pointer;font-family:var(--font-label);letter-spacing:.05em;text-transform:uppercase;background:0 0;border-radius:8px;align-items:center;gap:4px;min-height:0;padding:5px 10px;font-size:12px;font-weight:600;line-height:16px;display:inline-flex}.panel-link-btn:hover{border-color:var(--line);color:var(--text)}.panel-link-btn .material-symbols-outlined{width:15px;height:15px;font-size:15px;line-height:15px}.mov-table-wrap{overflow-x:auto}.mov-table{border-collapse:collapse;width:100%;min-width:520px}.mov-table thead tr{background:var(--panel-2);border-bottom:1px solid var(--line)}.mov-table th{color:var(--faint);font-family:var(--font-label);letter-spacing:.05em;text-align:left;text-transform:uppercase;padding:12px 18px;font-size:12px;font-weight:600;line-height:16px}.mov-table td{border-bottom:1px solid var(--line-soft);color:var(--text);font-family:var(--font-sans);vertical-align:middle;padding:14px 18px;font-size:14px;font-weight:400;line-height:20px}.mov-table tbody tr:nth-child(2n){background:var(--panel-2)}.mov-table tbody tr:hover{background:var(--blue-soft)}.mov-table tbody tr:last-child td{border-bottom:0}.mov-table .col-item strong{color:var(--text);font-family:var(--font-sans);font-size:14px;font-weight:600;line-height:20px;display:block}.mov-table .col-item small{color:var(--faint);font-family:var(--font-sans);margin-top:3px;font-size:12px;font-weight:400;line-height:16px;display:block}.mov-table .col-delta{text-align:right;width:80px;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-weight:800}.mov-table .col-cc{text-align:right;width:110px}.alert-stack{flex-direction:column;gap:10px;padding:14px 14px 16px;display:flex}.alert-card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r-md);grid-template-columns:22px minmax(0,1fr);align-items:flex-start;gap:12px;padding:14px;transition:border-color .18s;display:grid}.alert-card.warn{background:var(--amber-soft);border-color:var(--amber-deep)}.alert-card.bad{background:var(--red-soft);border-color:var(--red)}.alert-card .alert-icon{color:var(--amber);font-variation-settings:"FILL" 1, "wght" 500;width:22px;height:22px;font-family:Material Symbols Outlined;font-size:22px;line-height:1;display:flex}.alert-card.bad .alert-icon{color:var(--red)}.alert-card-body{min-width:0}.alert-card strong{color:var(--text);font-family:var(--font-sans);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:14px;font-weight:600;line-height:20px;display:block;overflow:hidden}.alert-card .alert-meta{color:var(--muted);font-family:var(--font-sans);margin-bottom:9px;font-size:12px;font-weight:400;line-height:16px}.alert-card .alert-stockline{align-items:center;gap:10px;display:flex}.alert-card .alert-stockline .mono{color:var(--amber-strong);font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:700}.alert-card.bad .alert-stockline .mono{color:var(--red-deep)}.alert-card .bar{background:#09142614;flex:1;max-width:120px;height:4px}.alert-card.bad .bar i{background:var(--red)}.alert-card .alert-meta{color:var(--muted)}.alert-card.warn .alert-meta{color:var(--amber-strong)}.alert-card.bad .alert-meta{color:var(--red-deep)}.section-subtitle{color:var(--muted);margin:4px 0 0;font-size:14px;line-height:20px}.alerts-shell{gap:20px;display:grid}.alert-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.alert-summary-card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r-lg);align-items:center;gap:16px;padding:20px 22px;display:flex;box-shadow:0 1px 2px #09142608,0 4px 12px #0914260a}.alert-summary-icon{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex}.alert-summary-icon .material-symbols-outlined{font-size:26px}.alert-summary-icon.bad{background:var(--red-soft);color:var(--red)}.alert-summary-icon.warn{background:var(--amber-soft);color:var(--amber)}.alert-summary-body{gap:2px;min-width:0;display:grid}.alert-summary-body strong{font-family:var(--font-sans);font-size:30px;font-weight:700;line-height:36px}.alert-summary-body strong.bad{color:var(--red)}.alert-summary-body strong.warn{color:var(--amber)}.alert-summary-body span{color:var(--muted);font-size:13px;line-height:18px}.alert-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.alert-filter{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r-md);gap:2px;padding:8px 14px 6px;display:grid}.alert-filter>span{color:var(--muted);font-family:var(--font-label);font-size:12px;font-weight:500;line-height:16px}.alert-filter select{border-radius:var(--r-sm);color:var(--text);font-family:var(--font-sans);background:0 0;border:0;width:100%;min-height:26px;padding:0;font-size:14px;font-weight:500}.alert-group{gap:12px;display:grid}.alert-group-heading{align-items:center;gap:10px;display:flex}.alert-group-heading h3{color:var(--text);font-family:var(--font-sans);margin:0;font-size:17px;font-weight:600;line-height:24px}.alert-table-wrap{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow-x:auto}.alert-table{border-collapse:collapse;width:100%;min-width:860px}.alert-table thead th{border-bottom:1px solid var(--line-soft);color:var(--faint);font-family:var(--font-label);letter-spacing:.05em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:14px 16px;font-size:11px;font-weight:600}.alert-table tbody td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:14px 16px}.alert-table tbody tr:last-child td{border-bottom:0}.alert-table tbody td:first-child{border-left:3px solid #0000}.alert-row.bad td:first-child{border-left-color:var(--red)}.alert-row.warn td:first-child{border-left-color:var(--amber-deep)}.alert-row:hover td{background:#09142605}.alert-item-cell{align-items:center;gap:12px;min-width:0;display:flex}.alert-row-icon{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.alert-row-icon .material-symbols-outlined{font-size:19px}.alert-row.bad .alert-row-icon{background:var(--red-soft);color:var(--red)}.alert-row.warn .alert-row-icon{background:var(--amber-soft);color:var(--amber)}.alert-item-text{gap:1px;min-width:0;display:grid}.alert-item-text strong{color:var(--text);font-family:var(--font-sans);font-size:14px;font-weight:600;line-height:20px}.alert-item-text small{color:var(--faint);font-size:12px;line-height:16px}.alert-stacked{gap:1px;display:grid}.alert-stacked span,.alert-stacked strong{color:var(--text);font-family:var(--font-sans);font-size:14px;font-weight:500;line-height:20px}.alert-stacked small{color:var(--faint);font-size:12px;line-height:16px}.alert-table .col-num .alert-stacked strong{font-size:15px;font-weight:700}.alert-row.bad .alert-stock-value{color:var(--red)}.alert-row.warn .alert-stock-value{color:var(--amber)}.alert-level{align-items:center;gap:10px;min-width:150px;display:flex}.alert-level-bar{background:#09142614;border-radius:999px;flex:1;height:6px;overflow:hidden}.alert-level-bar i{border-radius:999px;height:100%;display:block}.alert-row.bad .alert-level-bar i{background:var(--red)}.alert-row.warn .alert-level-bar i{background:var(--amber-deep)}.alert-level-value{color:var(--muted);text-align:right;min-width:38px;font-size:13px;font-weight:500}.alert-table .col-severity{width:130px}.alert-state{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:40px 24px}.alert-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.alert-range{color:var(--muted);margin:0;font-size:13px;line-height:18px}.alert-pager{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.alert-pager button{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r-md);color:var(--muted);font-family:var(--font-sans);letter-spacing:0;text-transform:none;align-items:center;gap:4px;min-height:38px;padding:0 14px;font-size:13px;font-weight:500;display:inline-flex}.alert-pager button:hover:not(:disabled){background:var(--panel-2);border-color:var(--line);color:var(--text)}.alert-pager button .material-symbols-outlined{font-size:18px}.alert-pager .alert-page{justify-content:center;min-width:38px;padding:0 10px}.alert-pager .alert-page.active{background:var(--sidebar-bg);border-color:var(--sidebar-bg);color:#fff}@media (max-width:1100px){.alert-summary,.alert-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.alert-summary,.alert-filters{grid-template-columns:1fr}.alert-pagination{flex-direction:column;align-items:flex-start}}.altas-shell{gap:24px;display:grid}.altas-hint{color:var(--muted);margin:0;font-size:14px;line-height:20px}.altas-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.altas-tab{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r-lg);color:var(--text);cursor:pointer;text-align:left;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:18px;min-height:108px;padding:22px 26px;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s;display:grid;position:relative}.altas-tab:hover{border-color:var(--blue-deep);transform:translateY(-1px);box-shadow:0 2px 8px #0914260f}.altas-tab.active{background:var(--panel);border-color:var(--blue);color:var(--text);box-shadow:0 0 0 1px var(--blue)}.altas-tab.active:hover{background:var(--panel);border-color:var(--blue);transform:none}.altas-tab.active:after{background:var(--blue);color:#fff;content:"check";border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-family:Material Symbols Outlined;font-size:16px;line-height:1;display:flex;position:absolute;top:16px;right:16px}.altas-tab-icon{background:var(--panel-2);color:var(--blue);border-radius:18px;justify-content:center;place-self:center;place-items:center;width:64px;height:64px;display:grid}.altas-tab-icon .material-symbols-outlined{text-align:center;width:32px;height:32px;font-size:32px;line-height:32px;display:block}.altas-tab.active .altas-tab-icon{background:var(--panel-2);color:var(--blue)}.altas-tab-text{gap:4px;min-width:0;display:grid}.altas-tab-text strong{font-family:var(--font-sans);letter-spacing:-.01em;font-size:18px;font-weight:600;line-height:24px}.altas-tab-text small{color:var(--faint);font-family:var(--font-sans);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:400;line-height:20px;overflow:hidden}.altas-tab.active .altas-tab-text small{color:var(--muted)}.altas-panel{margin-top:8px;display:grid}.altas-form{width:100%;max-width:none;margin:0}.altas-form.form-card{gap:18px;padding:0 28px 28px}.altas-form .panel-heading{min-height:76px;margin:0 -28px;padding:22px 28px}.altas-requesters{border-top:1px solid var(--line-soft);margin-top:4px;padding-top:14px}.altas-empty{color:var(--faint);font-family:var(--font-sans);font-size:13px;font-weight:400}@media (max-width:720px){.admin-content{padding:22px 16px 42px}.section-toolbar,.toolbar-actions,.rowline,.stock-meter,.list-controls,.pager{flex-direction:column;align-items:stretch;display:flex}.toolbar-actions,.status,.session-menu,.session,.sub-nav,.list-controls,.search-field,.pager button{width:100%}.metrics,.field-grid,.altas-tabs{grid-template-columns:1fr}.machine-row{grid-template-columns:minmax(0,1fr)}.machine-row-meta{grid-template-columns:1fr;gap:10px}.machine-row-actions{justify-content:flex-start}.report-detail-metrics,.report-modal-controls,.report-item-row{grid-template-columns:1fr}.report-modal-count,.report-item-total{justify-self:start;line-height:20px}.altas-tab{grid-template-columns:54px minmax(0,1fr);min-height:92px;padding:18px 20px}.altas-tab-icon{border-radius:16px;width:54px;height:54px}.altas-tab-icon .material-symbols-outlined{width:28px;height:28px;font-size:28px;line-height:28px}.sub-nav button{flex:1}.pager span{min-width:0}.bar{width:100%}}.heading-actions{align-items:center;gap:10px;display:flex}.stock-table.users-table .col-actions,.stock-table.users-table th.col-actions-head{width:150px}.adjust-btn{border-radius:var(--r-md);font-family:var(--font-sans);letter-spacing:0;text-transform:none;align-items:center;gap:6px;min-height:34px;padding:0 14px;display:inline-flex}.adjust-btn .material-symbols-outlined{width:18px;height:18px;font-size:18px;line-height:18px}.modal-panel-adjust{max-width:660px}.modal-hint{color:var(--muted);font-size:13px;line-height:20px}.adjust-list{border:1px solid var(--line-soft);border-radius:var(--r-md);max-height:340px;display:grid;overflow-y:auto}.adjust-row{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) 64px 96px 72px;align-items:center;gap:12px;padding:10px 14px;display:grid}.adjust-row:last-child{border-bottom:none}.adjust-item{gap:2px;min-width:0;display:grid}.adjust-item strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.adjust-item small,.adjust-current small,.adjust-result small{color:var(--muted);font-family:var(--font-label);font-size:11px}.adjust-current,.adjust-result{text-align:right;justify-items:end;gap:2px;display:grid}.adjust-current span,.adjust-result span{color:var(--text);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.adjust-result.invalid span{color:var(--red)}.adjust-input{display:grid}.adjust-input input{text-align:right;min-height:36px}.modal-footer .chip{margin-right:auto}
