:root {--bg: #f8fafc;--bg-elevated: #ffffff;--bg-panel: #ffffff;--bg-soft: #e2e8f0;--bg-hover: #e2e8f0;--bg-active: #dcfce7;--border: #e2e8f0;--border-soft: #e2e8f0;--text: #0f172a;--text-muted: #475569;--text-dim: #94a3b8;--accent: #16a34a;--accent-strong: #15803d;--accent-soft: #dcfce7;--accent-bright: #96efac;--success: #16a34a;--success-bg: #dcfce7;--warning: #b06000;--warning-bg: #fef7e0;--danger: #c5221f;--danger-bg: #fce8e6;--info: #0e7490;--info-bg: #dbeafe;--locked: #16a34a;--locked-bg: #dcfce7;--never: #5f6368;--never-bg: #f1f3f4;--shadow: 0 1px 2px 0 rgba(15, 23, 42, 0.08), 0 1px 3px 1px rgba(15, 23, 42, 0.06);--shadow-soft: 0 1px 2px rgba(15, 23, 42, 0.06);--radius: 8px;--radius-lg: 12px;--sidebar-width: 256px;--topbar-height: 64px;--font: "Plus Jakarta Sans", "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;}html[data-theme="dark"] {color-scheme: dark;--bg: #12141a;--bg-elevated: #1c1f27;--bg-panel: #1c1f27;--bg-soft: #262a34;--bg-hover: #2c3140;--bg-active: #14532d;--border: #3a4050;--border-soft: #2c3140;--text: #e8eaef;--text-muted: #a8b0c0;--text-dim: #94a3b8;--accent: #4ade80;--accent-strong: #86efac;--accent-soft: #14532d;--accent-bright: #96efac;--success: #4ade80;--success-bg: #14532d;--warning: #fbbf24;--warning-bg: #422006;--danger: #f87171;--danger-bg: #450a0a;--info: #22d3ee;--info-bg: #164e63;--locked: #4ade80;--locked-bg: #14532d;--never: #94a3b8;--never-bg: #1e293b;--surface: #1c1f27;--shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.45), 0 1px 3px 1px rgba(0, 0, 0, 0.28);--shadow-soft: 0 1px 2px rgba(0, 0, 0, 0.28);}html[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="range"]):not([type="color"]),html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] .btn-secondary,html[data-theme="dark"] .btn-danger,html[data-theme="dark"] table.data tbody tr,html[data-theme="dark"] .login-card {background: var(--bg-elevated);color: var(--text);}html[data-theme="dark"] table.data th {background: var(--bg-soft);}html[data-theme="dark"] table.data tbody tr:hover {background: var(--bg-hover);}html[data-theme="dark"] input[type="date"],html[data-theme="dark"] input[type="datetime-local"],html[data-theme="dark"] input[type="time"],html[data-theme="dark"] input[type="month"],html[data-theme="dark"] input[type="week"] {color-scheme: dark;}html[data-theme="dark"] .badge-severity--critical {background: transparent;color: var(--danger);border-color: transparent;}html[data-theme="dark"] .badge-severity--warning {background: transparent;color: var(--warning);border-color: transparent;}html[data-theme="dark"] .badge-severity--info {background: transparent;color: var(--info);border-color: transparent;}.theme-toggle {display: inline-flex;align-items: center;justify-content: center;width: 2.15rem;height: 2.15rem;padding: 0;border: 1px solid var(--border);border-radius: 8px;background: var(--bg-elevated);color: var(--text);cursor: pointer;}.theme-toggle:hover {background: var(--bg-hover);text-decoration: none;}.theme-toggle__to-light { display: none; }html[data-theme="dark"] .theme-toggle__to-dark { display: none; }html[data-theme="dark"] .theme-toggle__to-light { display: inline-flex; }* { box-sizing: border-box; }html, body {margin: 0;padding: 0;min-height: 100%;background: var(--bg);color: var(--text);font-family: var(--font);font-size: 14px;line-height: 1.5;-webkit-font-smoothing: antialiased;}a { color: var(--accent); text-decoration: none; }a:hover { text-decoration: underline; }.app-shell {display: grid;grid-template-columns: var(--sidebar-width) 1fr;min-height: 100vh;}.sidebar {background: var(--bg-elevated);border-right: 1px solid var(--border-soft);padding: 0.75rem 0.75rem 1rem;display: flex;flex-direction: column;gap: 0.5rem;position: sticky;top: 0;height: 100vh;z-index: 20;}.brand {padding: 0.65rem 0.75rem 1rem;}.brand-link {display: flex;align-items: center;gap: 0.75rem;color: var(--text);text-decoration: none;}.brand-link:hover { text-decoration: none; }.brand-mark {width: 36px;height: 36px;border-radius: 10px;display: grid;place-items: center;color: #fff;background: transparent;box-shadow: none;flex-shrink: 0;overflow: hidden;}.brand-mark--md {width: 42px;height: 42px;border-radius: 12px;}.brand-mark--lg {width: 56px;height: 56px;border-radius: 14px;margin: 0 auto 0.85rem;}.brand-mark--photo {background: var(--bg-elevated);box-shadow: 0 0 0 1px var(--border-soft);color: var(--accent);padding: 0;}.brand-mark__img {width: 100%;height: 100%;object-fit: contain;display: block;}.brand-mark__img--default {width: 100%;height: 100%;margin: 0;}.nx-icon {width: 1.15rem;height: 1.15rem;flex-shrink: 0;display: inline-block;vertical-align: -0.15em;}.nx-icon--sm {width: 1rem;height: 1rem;}.nx-icon--xs {width: 0.85rem;height: 0.85rem;}.nx-icon--brand {width: 1.15rem;height: 1.15rem;color: #fff;}.nx-icon-badge {width: 1.35rem;height: 1.35rem;border-radius: 0;display: inline-grid;place-items: center;flex-shrink: 0;background: transparent !important;}.nx-icon-badge .nx-icon {width: 1.15rem;height: 1.15rem;}.nx-icon-badge--accent { color: var(--accent); }.nx-icon-badge--success { color: var(--success); }.nx-icon-badge--warning { color: var(--warning); }.nx-icon-badge--danger { color: var(--danger); }.nx-icon-badge--info { color: var(--info); }.nx-icon-badge--neutral { color: var(--never); }.nav-icon {width: 1.2rem;height: 1.2rem;opacity: 0.85;}.nav-item.active .nav-icon {opacity: 1;}.brand-text strong {display: block;font-size: 1.15rem;font-weight: 700;letter-spacing: -0.02em;color: var(--text);}.brand-text small {color: var(--text-muted);font-size: 0.75rem;}.nav {display: flex;flex-direction: column;gap: 0.1rem;flex: 1;overflow: auto;padding: 0 0.25rem;}.nav-section {margin: 1rem 0 0.35rem;padding: 0 0.5rem 0 0.85rem;color: var(--text-dim);font-size: 0.7rem;font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase;display: flex;align-items: center;justify-content: space-between;gap: 0.35rem;}.nav-help-btn {display: inline-flex;align-items: center;justify-content: center;width: 1.35rem;height: 1.35rem;padding: 0;border: 0;border-radius: 999px;background: transparent;color: var(--text-dim);cursor: pointer;flex-shrink: 0;}.nav-help-btn:hover,.nav-help-btn[aria-expanded="true"] {background: var(--bg-hover);color: var(--accent);}.nav-tip {position: fixed;z-index: 80;max-width: 18rem;padding: 0.55rem 0.7rem;border: 1px solid var(--border-soft);border-radius: var(--radius);background: var(--bg-elevated);color: var(--text);font-size: 0.8rem;font-weight: 500;line-height: 1.4;box-shadow: var(--shadow);pointer-events: none;}.nav-help-panel {position: fixed;z-index: 85;width: min(22rem, calc(100vw - 2rem));max-height: min(36rem, calc(100vh - 2rem));overflow: auto;padding: 1rem 1.1rem 1.1rem;border: 1px solid var(--border-soft);border-radius: var(--radius-lg);background: var(--bg-elevated);box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12);}.nav-help-panel[hidden] { display: none !important; }.nav-help-panel__head {display: flex;align-items: flex-start;justify-content: space-between;gap: 0.75rem;margin-bottom: 0.35rem;}.nav-help-panel__head h2 {margin: 0;font-size: 1rem;font-weight: 700;}.nav-help-close {display: inline-flex;align-items: center;justify-content: center;width: 1.75rem;height: 1.75rem;padding: 0;border: 0;border-radius: var(--radius);background: transparent;color: var(--text-muted);cursor: pointer;}.nav-help-close:hover {background: var(--bg-hover);color: var(--text);}.nav-help-panel__lead {margin: 0 0 0.85rem;color: var(--text-muted);font-size: 0.85rem;}.nav-help-list {margin: 0;}.nav-help-list dt {margin-top: 0.7rem;font-size: 0.8rem;font-weight: 700;color: var(--text);}.nav-help-list dt:first-child { margin-top: 0; }.nav-help-list dd {margin: 0.15rem 0 0;color: var(--text-muted);font-size: 0.8rem;}.nav-help-panel__more {margin: 1rem 0 0;padding-top: 0.75rem;border-top: 1px solid var(--border-soft);font-size: 0.85rem;}.nav-help-panel__more a + a {margin-left: 1rem;}.skip-link {position: absolute;left: 0.75rem;top: 0.75rem;z-index: 100;padding: 0.4rem 0.7rem;background: var(--bg-elevated, #111);color: var(--text-primary, #fff);transform: translateY(-200%);}.skip-link:focus {transform: none;}.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;}.nav-item {display: flex;align-items: center;gap: 0.75rem;padding: 0.65rem 0.85rem;border-radius: var(--radius);color: var(--text-muted);font-weight: 500;text-decoration: none;transition: background 120ms ease, color 120ms ease;}.nav-item:hover {background: var(--bg-hover);color: var(--text);text-decoration: none;}.nav-item.active {background: var(--bg-active);color: var(--accent);font-weight: 600;}.sidebar-footer {border-top: 1px solid var(--border-soft);padding: 0.75rem 1rem;margin-top: auto;display: flex;align-items: center;justify-content: flex-start;gap: 0.5rem;flex-shrink: 0;}.sidebar-footer .app-version {font-size: 0.75rem;color: var(--text-dim);text-decoration: none;}.sidebar-footer a.app-version:hover {color: var(--text);}.user-chip {display: flex;justify-content: space-between;gap: 0.5rem;align-items: center;}.user-chip--topbar {margin-left: 0.25rem;padding-left: 0.75rem;border-left: 1px solid var(--border-soft);max-width: 16rem;}.user-chip__identity {display: flex;align-items: center;gap: 0.55rem;min-width: 0;color: inherit;text-decoration: none;border-radius: 0.45rem;padding: 0.15rem 0.25rem;}.user-chip__identity:hover {background: var(--accent-soft);text-decoration: none;color: inherit;}.user-avatar {width: 1.85rem;height: 1.85rem;border-radius: 50%;display: grid;place-items: center;background: var(--accent-soft);color: var(--accent);font-size: 0.7rem;font-weight: 700;flex-shrink: 0;overflow: hidden;}.user-avatar--md {width: 2.5rem;height: 2.5rem;font-size: 0.85rem;}.user-avatar--lg {width: 5rem;height: 5rem;font-size: 1.35rem;}.user-avatar--photo {padding: 0;background: var(--neutral-bg, #f1f3f4);}.user-avatar__img {width: 100%;height: 100%;object-fit: cover;display: block;}.avatar-profile-row {display: flex;align-items: flex-start;gap: 1.25rem;}.avatar-editor__preview {margin-bottom: 0.75rem;}.avatar-editor__actions {display: flex;flex-wrap: wrap;gap: 0.5rem;margin-top: 0.5rem;}.avatar-capture {display: grid;place-items: center;background: #111;border-radius: 10px;overflow: hidden;min-height: 220px;}.avatar-capture__video,.avatar-capture__preview,.avatar-capture__canvas {width: 100%;max-height: 320px;object-fit: cover;display: block;}.user-name {color: var(--text);font-size: 0.85rem;font-weight: 600;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}.user-chip--topbar .user-name {max-width: 9rem;}.logout-link {display: inline-flex;align-items: center;gap: 0.3rem;font-size: 0.8rem;color: var(--text-muted);white-space: nowrap;}.logout-link:hover {color: var(--accent);}@media (max-width: 720px) {.user-chip--topbar .user-name,.user-chip--topbar .logout-link span {display: none;}.user-chip--topbar {max-width: none;padding-left: 0.5rem;}}.main { min-width: 0; background: var(--bg); }.topbar {display: flex;align-items: center;gap: 1rem;height: var(--topbar-height);padding: 0 1.5rem;border-bottom: 1px solid var(--border-soft);background: var(--bg-elevated);position: sticky;top: 0;z-index: 10;}.topbar-title {font-size: 1.15rem;font-weight: 600;flex: 1;color: var(--text);}.topbar-meta {display: flex;align-items: center;gap: 0.65rem;flex-shrink: 0;}.version-pill,.app-version {font-size: 0.78rem;color: var(--text-muted);border: none;border-radius: 0;padding: 0;background: none;}.server-status {display: inline-flex;align-items: center;gap: 0.45rem;max-width: min(280px, 42vw);padding: 0;border: none;border-radius: 0;background: transparent;color: var(--text);text-decoration: none;}.server-status:hover {border: none;background: transparent;color: var(--accent);}.server-status__dot {width: 0.55rem;height: 0.55rem;border-radius: 50%;flex-shrink: 0;background: #94a3b8;box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.2);}.server-status__text {display: flex;flex-direction: column;min-width: 0;line-height: 1.15;}.server-status__name {font-size: 0.78rem;font-weight: 600;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}.server-status__state {font-size: 0.68rem;color: var(--text-muted);white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}.server-status--checking .server-status__dot {background: #f59e0b;box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.2);animation: server-pulse 1.1s ease-in-out infinite;}.server-status--online .server-status__dot {background: #16a34a;box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.22);}.server-status--online .server-status__state {color: #15803d;}.server-status--offline .server-status__dot {background: #dc2626;box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.2);}.server-status--offline .server-status__state {color: #b91c1c;}.server-status--none .server-status__dot {background: #94a3b8;box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.18);}@keyframes server-pulse {0%, 100% { opacity: 1; transform: scale(1); }50% { opacity: 0.55; transform: scale(0.85); }}.sidebar-toggle {display: none;align-items: center;gap: 0.35rem;background: var(--bg-soft);color: var(--text);border: 1px solid var(--border);border-radius: var(--radius);padding: 0.4rem 0.75rem;font: inherit;cursor: pointer;}.content {padding: 1.5rem 1.75rem 2.5rem;width: 100%;}.page-header {display: flex;justify-content: space-between;gap: 1rem;align-items: flex-start;margin-bottom: 1.25rem;}.page-header h1 {margin: 0;font-size: 1.75rem;font-weight: 700;letter-spacing: -0.03em;color: var(--text);}.page-header p {margin: 0.35rem 0 0;color: var(--text-muted);max-width: 60ch;}.breadcrumbs {display: flex;flex-wrap: wrap;gap: 0.35rem;align-items: center;margin-bottom: 0.75rem;color: var(--text-muted);font-size: 0.85rem;}.breadcrumbs a { color: var(--text-muted); }.breadcrumbs a:hover { color: var(--accent); }.breadcrumbs .sep { color: var(--border); }.breadcrumbs .current { color: var(--text); font-weight: 500; }.actions {display: flex;flex-direction: row;gap: 0.5rem;flex-wrap: wrap;align-items: center;}.actions--row {justify-content: flex-end;min-width: 18rem;}.actions .btn {width: auto;flex: 0 0 auto;}.form-actions {display: flex;flex-direction: row;flex-wrap: wrap;align-items: center;gap: 0.5rem;}.btn {display: inline-flex;align-items: center;justify-content: center;gap: 0.4rem;border-radius: var(--radius);border: 1px solid transparent;padding: 0.55rem 1.15rem;font-weight: 600;font-size: 0.875rem;font-family: inherit;cursor: pointer;text-decoration: none;transition: background 120ms ease, box-shadow 120ms ease, border-color 120ms ease;white-space: nowrap;}.btn:hover { text-decoration: none; }.btn:focus-visible,.nav-item:focus-visible,.nav-help-btn:focus-visible,.nav-help-close:focus-visible,.sidebar-toggle:focus-visible,.notif-bell:focus-visible,.logout-link:focus-visible,a:focus-visible {outline: 2px solid var(--accent);outline-offset: 2px;}.btn.is-busy,.btn:disabled {opacity: 0.7;cursor: wait;pointer-events: none;}.btn.is-busy::after {content: "";width: 0.85em;height: 0.85em;border: 2px solid currentColor;border-right-color: transparent;border-radius: 50%;animation: nx-spin 0.7s linear infinite;margin-left: 0.15rem;}@keyframes nx-spin {to { transform: rotate(360deg); }}.btn-primary {background: var(--accent);color: #fff;box-shadow: var(--shadow-soft);}.btn-primary:hover { background: var(--accent-strong); color: #fff; }.btn-secondary {background: var(--bg-elevated);color: var(--accent);border-color: var(--border);}.btn-secondary:hover { background: var(--accent-soft); border-color: var(--accent-bright); color: var(--accent-strong); }.btn-ghost {background: transparent;color: var(--text-muted);border-color: transparent;}.btn-ghost:hover { background: var(--bg-hover); color: var(--text); }.btn-danger {background: var(--bg-elevated);color: var(--danger);border-color: #f6aea9;}.btn-danger:hover { background: var(--danger-bg); }.panel {background: var(--bg-panel);border: 1px solid var(--border-soft);border-radius: var(--radius-lg);box-shadow: var(--shadow-soft);overflow: hidden;}.panel + .panel { margin-top: 1rem; }.panel-header {padding: 0.95rem 1.15rem;border-bottom: 1px solid var(--border-soft);display: flex;justify-content: space-between;gap: 1rem;align-items: center;background: var(--bg-elevated);}.panel-header strong {font-size: 0.95rem;font-weight: 600;}.panel-header .muted {font-size: 0.82rem;}.panel-body { padding: 1.15rem; }.stat-grid {display: grid;grid-template-columns: repeat(5, minmax(0, 1fr));gap: 1.25rem;margin-bottom: 0;}.stat-card {background: var(--bg-elevated);border: 1px solid var(--border-soft);border-radius: var(--radius-lg);padding: 1.25rem 1.35rem;box-shadow: var(--shadow-soft);transition: box-shadow 160ms ease, transform 160ms ease;}.stat-card:hover {box-shadow: var(--shadow);transform: translateY(-1px);}.stat-card__top {display: flex;align-items: center;gap: 0.7rem;margin-bottom: 0.75rem;}.stat-card__top .stat-label {margin-bottom: 0;}.stat-label {color: var(--text-muted);font-size: 0.8rem;font-weight: 500;margin-bottom: 0.45rem;}.stat-value {font-size: 1.75rem;font-weight: 700;letter-spacing: -0.03em;color: var(--text);}.dash-bento {display: flex;flex-direction: column;gap: 1.5rem;margin-bottom: 1.5rem;}.dash-hero {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 1.25rem;}.dash-metric {display: flex;flex-direction: column;gap: 0.6rem;padding: 1.35rem 1.4rem;background: var(--bg-elevated);border: 1px solid var(--border-soft);border-radius: var(--radius-lg);box-shadow: var(--shadow-soft);text-decoration: none;color: inherit;transition: box-shadow 160ms ease, transform 160ms ease, border-color 160ms ease;}.dash-metric:hover {text-decoration: none;color: inherit;box-shadow: var(--shadow);transform: translateY(-1px);border-color: var(--border);}.dash-metric__label {display: flex;align-items: center;gap: 0.65rem;color: var(--text-muted);font-size: 0.82rem;font-weight: 600;}.dash-metric__value {font-size: 2rem;font-weight: 700;letter-spacing: -0.03em;line-height: 1.1;color: var(--text);}.dash-metric__hint {color: var(--text-dim);font-size: 0.8rem;line-height: 1.35;}.dash-metric--warning .dash-metric__value { color: var(--warning); }.dash-metric--info .dash-metric__value { color: var(--info); }.dash-metric--danger .dash-metric__value { color: var(--danger); }.workdesk-card {min-height: 12.5rem;border-radius: 16px;}.workdesk-summary,.workdesk-cards {grid-template-columns: repeat(auto-fit, minmax(16.5rem, 1fr));}.workdesk-card--critical,.workdesk-card--warning,.workdesk-card--info {background: var(--bg-elevated);box-shadow: var(--shadow-soft);}.workdesk-card--critical:hover,.workdesk-card--warning:hover,.workdesk-card--info:hover {box-shadow: var(--shadow);}.workdesk-card__title {font-size: 1rem;font-weight: 650;letter-spacing: -0.01em;line-height: 1.3;color: var(--text);}.workdesk-card__go {display: inline-flex;align-items: center;gap: 0.2rem;margin-top: auto;font-size: 0.84rem;font-weight: 600;color: var(--accent);}.workdesk-card__go .nx-icon {width: 0.95rem;height: 0.95rem;}.dash-main {display: grid;grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);gap: 1.25rem;align-items: stretch;}.dash-panel { margin: 0; }.dash-health__body {display: flex;flex-direction: row;align-items: center;gap: 1.5rem;overflow: visible;}.dash-panel__go {width: 2rem;height: 2rem;border-radius: 50%;border: 1px solid var(--border);display: inline-grid;place-items: center;color: var(--text);background: var(--bg-elevated);flex-shrink: 0;}.dash-panel__go:hover {background: var(--bg-soft);text-decoration: none;color: inherit;}.dash-panel__go .nx-icon {width: 0.95rem;height: 0.95rem;}.dash-donut {position: relative;width: 13.5rem;height: 13.5rem;flex-shrink: 0;}.dash-donut svg {width: 100%;height: 100%;display: block;overflow: visible;}.dash-donut__track {fill: none;stroke: var(--bg-soft);stroke-width: 12;}.dash-donut__seg {fill: none;stroke-width: 12;stroke-linecap: round;cursor: pointer;transition: stroke-width 160ms ease;}.dash-donut__seg:hover,.dash-donut__seg.is-active {stroke-width: 14;}.dash-donut__seg--stock { stroke: #eab308; }.dash-donut__seg--assigned { stroke: #22c55e; }.dash-donut__seg--repair { stroke: #f97316; }.dash-donut__seg--missing { stroke: #94a3b8; }.dash-donut__hole {position: absolute;inset: 22%;border-radius: 50%;background: var(--bg-elevated);display: flex;flex-direction: column;align-items: center;justify-content: center;text-align: center;gap: 0.2rem;pointer-events: none;}.dash-donut__hole strong {font-size: 1.85rem;font-weight: 700;letter-spacing: -0.04em;line-height: 1;}.dash-donut__hole span {font-size: 0.78rem;font-weight: 500;color: var(--text-muted);line-height: 1.2;}.dash-donut__tip {position: absolute;z-index: 2;transform: translate(-50%, -115%);min-width: 4.75rem;padding: 0.5rem 0.7rem;border-radius: 10px;background: #0f172a;color: #fff;text-align: center;box-shadow: var(--shadow);pointer-events: none;}.dash-donut__tip strong {display: block;font-size: 1.05rem;font-weight: 700;letter-spacing: -0.02em;line-height: 1.15;}.dash-donut__tip span {display: block;margin-top: 0.12rem;font-size: 0.72rem;font-weight: 500;opacity: 0.78;}.dash-legend {list-style: none;margin: 0;padding: 0;flex: 1;min-width: 0;width: auto;display: flex;flex-direction: column;gap: 0.85rem;}.dash-legend__row {display: grid;grid-template-columns: auto auto minmax(1.5rem, 1fr) auto;gap: 0.55rem;align-items: center;padding: 0;border-radius: 0;text-decoration: none;color: inherit;}.dash-legend__row:hover {background: transparent;text-decoration: none;color: inherit;}.dash-legend__row:hover .dash-legend__label,.dash-legend__row.is-active .dash-legend__label {color: var(--text);}.dash-legend__swatch {width: 0.55rem;height: 0.55rem;border-radius: 999px;}.dash-legend__swatch--active { background: var(--success); }.dash-legend__swatch--inactive { background: var(--warning); }.dash-legend__swatch--disabled { background: var(--danger); }.dash-legend__swatch--never { background: var(--never); }.dash-legend__swatch--locked { background: var(--locked); }.dash-legend__swatch--stock { background: #eab308; }.dash-legend__swatch--assigned { background: #22c55e; }.dash-legend__swatch--repair { background: #f97316; }.dash-legend__swatch--missing { background: #94a3b8; }.dash-legend__rule {border-bottom: 1px dashed var(--border);height: 0.55rem;min-width: 1.25rem;}.dash-legend__pct {font-size: 0.86rem;font-weight: 600;font-variant-numeric: tabular-nums;color: var(--text-muted);min-width: 2.5rem;text-align: right;}.dash-charts {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 1.25rem;align-items: stretch;}.dash-ranks {list-style: none;margin: 0;padding: 0.15rem 0;display: flex;flex-direction: column;gap: 0.95rem;}.dash-rank {--dash-rank-color: var(--accent);display: grid;grid-template-columns: auto minmax(0, 9.5rem) minmax(3.25rem, 1fr) 2rem;gap: 0.75rem;align-items: center;}.dash-rank--c0 { --dash-rank-color: #16a34a; }.dash-rank--c1 { --dash-rank-color: #0f766e; }.dash-rank--c2 { --dash-rank-color: #1d4ed8; }.dash-rank--c3 { --dash-rank-color: #7c3aed; }.dash-rank--c4 { --dash-rank-color: #0891b2; }.dash-rank--c5 { --dash-rank-color: #b06000; }.dash-rank--c6 { --dash-rank-color: #be185d; }.dash-rank--c7 { --dash-rank-color: #3f6212; }.dash-rank__icon {width: 2.2rem;height: 2.2rem;border-radius: 10px;display: inline-grid;place-items: center;color: var(--dash-rank-color);background: color-mix(in srgb, var(--dash-rank-color) 14%, transparent);flex-shrink: 0;}.dash-rank__icon .nx-icon {width: 1.15rem;height: 1.15rem;}.dash-rank__text {min-width: 0;display: flex;flex-direction: column;gap: 0.08rem;}.dash-rank__label {font-size: 0.86rem;font-weight: 600;color: var(--text);white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}.dash-rank__hint {font-size: 0.72rem;font-weight: 500;color: var(--text-muted);white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}.dash-rank__track {height: 0.42rem;background: var(--bg-soft);border-radius: 999px;overflow: hidden;}.dash-rank__fill {display: block;height: 100%;border-radius: 999px;background: color-mix(in srgb, var(--dash-rank-color) 72%, transparent);box-shadow: 0 1px 6px color-mix(in srgb, var(--dash-rank-color) 22%, transparent);}.dash-rank__count {font-size: 0.82rem;font-weight: 600;font-variant-numeric: tabular-nums;color: var(--text-muted);min-width: 1.5rem;text-align: right;}.dash-legend__label {font-size: 0.88rem;font-weight: 500;white-space: nowrap;}.dash-legend__count {font-weight: 700;font-variant-numeric: tabular-nums;}.dash-attention__body {padding-top: 0.35rem;padding-bottom: 0.5rem;}.dash-attention__list {list-style: none;margin: 0;padding: 0;}.dash-attention__list > li + li {border-top: 1px solid var(--border-soft);}.dash-attention__link {display: grid;grid-template-columns: auto 1fr auto;gap: 0.75rem;align-items: center;padding: 0.7rem 0.15rem;text-decoration: none;color: inherit;border-radius: 6px;}.dash-attention__link:hover {text-decoration: none;color: inherit;background: var(--bg-soft);}.dash-attention__dot {width: 0.55rem;height: 0.55rem;border-radius: 50%;flex-shrink: 0;}.dash-attention__dot--critical { background: var(--danger); }.dash-attention__dot--warning { background: var(--warning); }.dash-attention__dot--info { background: var(--info); }.dash-attention__text {display: flex;flex-direction: column;gap: 0.1rem;min-width: 0;}.dash-attention__title {font-weight: 600;font-size: 0.92rem;line-height: 1.3;}.dash-attention__action {font-size: 0.78rem;font-weight: 500;}.dash-attention__count {font-size: 0.95rem;font-weight: 700;font-variant-numeric: tabular-nums;color: var(--text-muted);min-width: 1.5rem;text-align: right;}.dash-inventory {display: grid;grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));gap: 1.25rem;}.dash-chip {display: flex;align-items: center;gap: 0.75rem;padding: 0.9rem 1rem;background: var(--bg-elevated);border: 1px solid var(--border-soft);border-radius: var(--radius-lg);text-decoration: none;color: inherit;box-shadow: var(--shadow-soft);transition: border-color 140ms ease, box-shadow 140ms ease;}.dash-chip:hover {text-decoration: none;color: inherit;border-color: var(--border);box-shadow: var(--shadow);}.dash-chip__value {font-size: 1.25rem;font-weight: 700;letter-spacing: -0.02em;line-height: 1.15;}.dash-chip__label {font-size: 0.78rem;font-weight: 600;color: var(--text-muted);}.dash-chip--soft {background: var(--warning-bg);border-color: #fde7c7;}.panel-header-icon {margin-right: 0.35rem;color: var(--accent);vertical-align: -0.2em;}.filters,.filters--users,.filters--compact,.filters--search,.filters--stale,.filter-drawer .form-grid {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 0.85rem 1rem;margin-bottom: 0;align-items: end;}.filter-drawer {margin-bottom: 0;}.filter-drawer__toggle {display: flex;width: 100%;align-items: center;justify-content: space-between;gap: 0.75rem;margin: 0;padding: 0.8rem 1.15rem;border: 0;background: var(--bg-elevated);color: var(--text);font: inherit;font-weight: 600;cursor: pointer;text-align: left;}.filter-drawer__toggle:hover {background: var(--bg-hover);}.filter-drawer.is-open .filter-drawer__toggle {border-bottom: 1px solid var(--border-soft);}.filter-drawer__toggle-start {display: inline-flex;align-items: center;gap: 0.5rem;}.filter-drawer__chevron {color: var(--text-muted);transition: transform 160ms ease;}.filter-drawer.is-open .filter-drawer__chevron {transform: rotate(90deg);}.filter-drawer__body[hidden] {display: none;}.field--actions {display: flex;flex-direction: column;justify-content: flex-end;align-items: flex-start;}.field--actions .btn {width: auto;align-self: flex-start;}.field > .btn {align-self: flex-start;}.field-spacer {display: block;min-height: 1.1rem;line-height: 1.1rem;}label.field,.field {display: flex;flex-direction: column;gap: 0.35rem;color: var(--text-muted);font-size: 0.75rem;font-weight: 600;}.field.actions,div.actions.field {flex-direction: row;align-items: center;flex-wrap: wrap;}input:not([type]),input[type="text"],input[type="search"],input[type="url"],input[type="tel"],input[type="number"],input[type="password"],input[type="email"],input[type="date"],input[type="datetime-local"],input[type="time"],input[type="month"],input[type="week"],select,textarea {width: 100%;min-height: 2.5rem;background: var(--bg-elevated);color: var(--text);border: 1px solid var(--border);border-radius: 4px;padding: 0.65rem 0.75rem;font: inherit;font-size: 0.95rem;line-height: 1.35;transition: border-color 120ms ease, box-shadow 120ms ease;}textarea {min-height: 4.5rem;}input[type="date"],input[type="datetime-local"],input[type="time"],input[type="month"],input[type="week"] {min-width: 0;color-scheme: inherit;-webkit-appearance: none;appearance: none;}input[type="date"]::-webkit-calendar-picker-indicator,input[type="datetime-local"]::-webkit-calendar-picker-indicator,input[type="time"]::-webkit-calendar-picker-indicator,input[type="month"]::-webkit-calendar-picker-indicator,input[type="week"]::-webkit-calendar-picker-indicator {cursor: pointer;opacity: 0.55;margin-left: 0.25rem;padding: 0.1rem;border-radius: 3px;transition: opacity 120ms ease, background-color 120ms ease;}input[type="date"]:hover::-webkit-calendar-picker-indicator,input[type="datetime-local"]:hover::-webkit-calendar-picker-indicator,input[type="time"]:hover::-webkit-calendar-picker-indicator,input[type="month"]:hover::-webkit-calendar-picker-indicator,input[type="week"]:hover::-webkit-calendar-picker-indicator {opacity: 0.9;background-color: var(--bg-soft);}input[type="date"]::-webkit-datetime-edit,input[type="datetime-local"]::-webkit-datetime-edit,input[type="time"]::-webkit-datetime-edit {padding: 0;}input[type="date"]:invalid:not(:focus),input[type="date"]:placeholder-shown {color: var(--text-dim);}input:not([type]):focus,input[type="text"]:focus,input[type="search"]:focus,input[type="url"]:focus,input[type="tel"]:focus,input[type="number"]:focus,input[type="password"]:focus,input[type="email"]:focus,input[type="date"]:focus,input[type="datetime-local"]:focus,input[type="time"]:focus,input[type="month"]:focus,input[type="week"]:focus,select:focus,textarea:focus {outline: 2px solid var(--accent);outline-offset: 2px;border-color: var(--accent);box-shadow: 0 0 0 2px rgba(15, 118, 110, 0.22);}.table-wrap { overflow: auto; }table.data {width: 100%;border-collapse: collapse;min-width: 720px;}table.data th, table.data td {padding: 0.85rem 1rem;border-bottom: 1px solid var(--border-soft);text-align: left;vertical-align: middle;}table.data th {color: var(--text-muted);font-size: 0.72rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.04em;background: var(--bg-soft);position: sticky;top: 0;}table.data tbody tr {transition: background 100ms ease;background: var(--bg-elevated);}table.data tbody tr:hover { background: var(--bg-hover); }table.data tbody tr.clickable { cursor: pointer; }.nx-datetime {display: inline-block;white-space: nowrap;font-size: 0.95rem;font-weight: 500;font-variant-numeric: tabular-nums;letter-spacing: 0;color: var(--text);line-height: 1.35;}table.data td.col-when {white-space: nowrap;width: 1%;min-width: 9.5rem;vertical-align: middle;}.mono {font-family: var(--mono);font-size: 0.82rem;}.muted { color: var(--text-muted); }.status-dot {display: inline-flex;align-items: center;gap: 0.4rem;font-size: inherit;font-weight: 500;color: var(--status-color, var(--text));line-height: 1.25;vertical-align: middle;}.status-dot__pip {width: 0.5rem;height: 0.5rem;border-radius: 999px;background: var(--status-color, #94a3b8);flex: 0 0 auto;}.status-dot__label { min-width: 0; }.status-dot--success { --status-color: var(--success); }.status-dot--warning { --status-color: var(--warning); }.status-dot--danger { --status-color: var(--danger); }.status-dot--info { --status-color: var(--info); }.status-dot--muted { --status-color: var(--text-muted); }.status-dot--locked { --status-color: var(--locked); }.badge {display: inline;border-radius: 0;padding: 0;font-size: 0.85rem;font-weight: 600;letter-spacing: normal;text-transform: none;background: transparent;}.badge-active { background: transparent; color: var(--success); }.badge-inactive { background: transparent; color: var(--warning); }.badge-disabled { background: transparent; color: var(--danger); }.badge-locked { background: transparent; color: var(--locked); }.badge-never { background: transparent; color: var(--text-muted); font-weight: 500; }.alert {border-radius: var(--radius);padding: 0.85rem 1rem;margin-bottom: 1rem;border: 1px solid transparent;font-size: 0.9rem;}.alert-success { background: var(--success-bg); border-color: #ceead6; color: var(--success); }.alert-error { background: var(--danger-bg); border-color: #f6aea9; color: var(--danger); }.alert-info { background: var(--info-bg); border-color: #d2e3fc; color: var(--info); }.alert-warning { background: var(--warning-bg); border-color: #f6e0a8; color: var(--warning); }.setup-checklist {margin-bottom: 1.5rem;}.setup-checklist__lead {margin: 0 0 0.85rem;color: var(--text-muted);}.setup-checklist__list {list-style: none;margin: 0;padding: 0;display: flex;flex-direction: column;gap: 0.65rem;}.setup-checklist__item {display: grid;grid-template-columns: auto 1fr auto;gap: 0.75rem;align-items: start;padding: 0.75rem 0.85rem;border: 1px solid var(--border-soft);border-radius: 10px;background: var(--bg-elevated);}.setup-checklist__item.is-done {background: var(--bg-soft);}.setup-checklist__item.is-done .setup-checklist__title {color: var(--text-muted);}.setup-checklist__mark {display: grid;place-items: center;width: 1.5rem;height: 1.5rem;margin-top: 0.1rem;color: var(--text-dim);}.setup-checklist__item.is-done .setup-checklist__mark {color: var(--accent);}.setup-checklist__title {font-weight: 600;margin-bottom: 0.15rem;}.setup-checklist__body {margin: 0;color: var(--text-muted);font-size: 0.9rem;}.setup-checklist__footer {margin-top: 0.85rem;display: flex;justify-content: flex-end;}.detail-grid {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 1rem;}.detail-grid > *:only-child {grid-column: 1 / -1;}.detail-grid--single {grid-template-columns: 1fr;}.detail-section h2,.panel-body h2 {margin: 0 0 0.85rem;font-size: 0.95rem;font-weight: 600;color: var(--text);}.detail-section__title {display: flex;align-items: center;gap: 0.55rem;margin: 0 0 1rem;padding-bottom: 0.75rem;border-bottom: 1px solid var(--border-soft);font-size: 0.95rem;font-weight: 600;color: var(--text);}.detail-section__title .nx-icon-badge {width: 1.15rem;height: 1.15rem;flex-shrink: 0;}.detail-section__title .nx-icon {width: 1rem;height: 1rem;}.show-meta {display: flex;flex-wrap: wrap;align-items: baseline;gap: 0.35rem 1.1rem;margin-top: 0.55rem;color: var(--text-muted);font-size: 0.9rem;}.show-meta .badge,.show-meta .badge-severity,.show-meta .badge-info-soft,.show-meta .badge-yes,.show-meta .badge-no,.show-meta .badge-never,.show-meta .badge-danger,.show-meta .badge-warning,.show-meta .badge-locked,.show-meta .badge-inactive,.show-meta .badge-neutral,.show-meta .badge-priority {display: inline;background: transparent !important;border: 0 !important;padding: 0;border-radius: 0;text-transform: none;letter-spacing: normal;font-size: inherit;font-weight: 500;color: inherit;}.show-meta .mono {color: var(--text-muted);}.page-header p + .show-meta {margin-top: 0.65rem;}.kv .badge,.kv .badge-info-soft,.kv .badge-yes,.kv .badge-no,.kv .badge-never,.kv .badge-disabled,.kv .badge-locked,.kv .badge-inactive,.kv .badge-warning,.kv .badge-neutral,.kv .badge-priority,.kv .badge-severity {display: inline;background: transparent !important;border: 0 !important;padding: 0;border-radius: 0;text-transform: none;letter-spacing: normal;font-size: inherit;font-weight: 500;color: inherit;}.kv {display: grid;grid-template-columns: minmax(120px, 180px) 1fr;gap: 0;}.kv > dt,.kv > dd {padding: 0.7rem 0;border-bottom: 1px solid var(--border-soft);}.kv > *:nth-last-child(-n+2) {border-bottom: 0;}.kv dt {color: var(--text-muted);font-size: 0.82rem;font-weight: 500;padding-right: 1rem;}.kv dd {margin: 0;word-break: break-word;font-weight: 500;color: var(--text);}.kv dd.mono,.kv .mono {font-weight: 500;}.badge-yes {background: transparent;color: var(--success);}.badge-no {background: transparent;color: var(--text-muted);font-weight: 500;}.badge-info-soft {background: transparent;color: var(--text-muted);font-weight: 500;}.badge-danger {background: transparent;color: var(--danger);}.badge-warning {background: transparent;color: var(--warning);}.badge-severity {font-weight: 600;letter-spacing: normal;text-transform: none;font-size: inherit;padding: 0;border-radius: 0;border: 0;background: transparent;}.badge-severity--critical {background: transparent;color: var(--danger);}.badge-severity--warning {background: transparent;color: var(--warning);}.badge-severity--info {background: transparent;color: var(--info);}.badge-severity--ok {background: transparent;color: var(--success);}.badge-neutral {background: transparent;color: var(--text-muted);font-weight: 500;}.badge-protection-normal {background: transparent;color: var(--text-muted);font-weight: 500;}.badge-protection-protected {background: transparent;color: var(--warning);}.badge-protection-critical {background: transparent;color: var(--danger);}.badge-role {background: transparent;color: var(--text);border: none;text-transform: none;letter-spacing: 0;font-weight: 500;font-family: var(--mono);font-size: 0.82rem;}.role-list {display: grid;gap: 0.35rem;margin: 0;padding: 0;list-style: none;}.role-list li {margin: 0;}.role-matrix-block {margin-top: 0.5rem;}.role-matrix-header {display: flex;flex-wrap: wrap;align-items: flex-end;justify-content: space-between;gap: 0.75rem 1rem;margin-bottom: 0.85rem;}.role-matrix-header h2 {margin: 0;font-size: 1.05rem;}.role-matrix-wrap {border: 1px solid var(--border-soft);border-radius: var(--radius);background: var(--bg-panel);}.role-matrix {min-width: 720px;margin: 0;}.role-matrix th.text-center,.role-matrix td.text-center {text-align: center;width: 4.5rem;}.role-matrix__label {font-weight: 600;color: var(--text);white-space: nowrap;}.role-matrix__desc {font-size: 0.85rem;font-weight: 400;line-height: 1.4;max-width: 28rem;}.role-matrix__other {min-width: 8rem;}.role-matrix__other-item {margin: 0.15rem 0;font-size: 0.82rem;font-weight: 500;color: var(--text);}.role-matrix tbody tr:hover {background: var(--bg-soft);}.role-matrix input[type="checkbox"] {width: 1.05rem;height: 1.05rem;accent-color: var(--accent);cursor: pointer;}.detail-grid--wide {grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);}@media (max-width: 1100px) {.detail-grid--wide { grid-template-columns: 1fr; }}.member-list {display: grid;gap: 0.45rem;margin: 0;padding: 0;list-style: none;}.member-list li {display: flex;flex-wrap: wrap;align-items: center;gap: 0.65rem;padding: 0.65rem 0.8rem;background: var(--bg-soft);border: 1px solid var(--border-soft);border-radius: var(--radius);}.member-list__row {align-items: center;}.member-list__meta {display: flex;flex-wrap: wrap;align-items: baseline;gap: 0.45rem;flex: 1;min-width: 0;}.member-list a {font-weight: 600;color: var(--text);text-decoration: none;}.member-list a:hover {color: var(--accent);}.user-avatar-cell {width: 2.5rem;padding-right: 0 !important;}.page-header__identity {display: flex;align-items: center;gap: 1rem;min-width: 0;}.page-header__identity h1 {margin: 0;}.tree { list-style: none; margin: 0; padding: 0; }.tree ul { list-style: none; margin: 0.25rem 0 0.25rem 1.1rem; padding: 0; border-left: 1px solid var(--border); }.tree li { margin: 0.15rem 0; }.tree a,.tree .tree-link {display: inline-flex;align-items: center;gap: 0.35rem;padding: 0.35rem 0.45rem;border-radius: 4px;color: var(--text);}.tree .badge {margin-left: 0.35rem;vertical-align: middle;font-size: 0.78rem;padding: 0;}.tree a:hover,.tree .tree-link:hover { background: var(--accent-soft); color: var(--accent); text-decoration: none; }.tree-link--root { font-weight: 600; cursor: default; }.tree-icon { opacity: 0.8; flex: 0 0 auto; }.tree-node--ou .tree-icon,.tree-node--container .tree-icon { color: var(--text-muted); }.tree-node--user .tree-icon { color: var(--accent); opacity: 1; }.tree-node--group .tree-icon { color: var(--info); opacity: 1; }.tree-node--computer .tree-icon { color: var(--neutral); opacity: 1; }.tree-add {color: var(--text-muted);margin-left: 0.15rem;opacity: 0.55;padding: 0.25rem 0.45rem;}.tree-add:hover {opacity: 1;color: var(--accent);background: var(--accent-soft);}.tree-add--disabled {opacity: 0.2;cursor: not-allowed;pointer-events: auto;}.tree-add--disabled:hover {opacity: 0.35;color: var(--text-muted);background: transparent;}.chip-list {display: flex;flex-wrap: wrap;gap: 0.5rem;list-style: none;margin: 0;padding: 0;}.chip-list li {background: transparent;border: none;border-radius: 0;padding: 0.15rem 0;font-size: 0.85rem;color: var(--text);}.mono-list {list-style: none;margin: 0;padding: 0;display: grid;gap: 0.35rem;}.mono-list li {padding: 0.45rem 0.65rem;background: var(--bg-soft);border-radius: 6px;border: 1px solid var(--border-soft);}.pagination {display: flex;justify-content: space-between;align-items: center;gap: 1rem;padding: 0.85rem 1.15rem;border-top: 1px solid var(--border-soft);background: var(--bg-elevated);position: relative;z-index: 1;}.pagination__controls {display: flex;align-items: center;gap: 0.4rem;flex-wrap: wrap;justify-content: flex-end;}.pagination .btn.is-disabled,.pagination .btn[aria-disabled="true"] {opacity: 0.45;cursor: default;pointer-events: none;}.pagination__pages {display: flex;align-items: center;gap: 0.2rem;}.pagination__page {min-width: 2rem;height: 2rem;padding: 0 0.45rem;display: inline-flex;align-items: center;justify-content: center;border-radius: var(--radius);color: var(--text);text-decoration: none;font-size: 0.85rem;font-weight: 600;}.pagination__page:hover {background: var(--bg-hover);text-decoration: none;}.pagination__page.is-current {background: var(--accent-soft);color: var(--accent-strong);}.form-grid {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 0.85rem 1rem;}.form-grid .full { grid-column: 1 / -1; }.form-grid textarea {resize: vertical;}.form-section__title {margin: 0 0 0.85rem;font-size: 1rem;font-weight: 700;color: var(--text);}.check-list {display: flex;flex-direction: column;gap: 0.65rem;}.check-row {display: flex;align-items: flex-start;gap: 0.65rem;margin: 0;padding: 0.65rem 0.75rem;border: 1px solid var(--border-soft);border-radius: 8px;background: var(--surface-2, #f8f9fa);cursor: pointer;}.check-row input[type="checkbox"] {margin-top: 0.2rem;flex-shrink: 0;}.check-row span {display: flex;flex-direction: column;gap: 0.15rem;min-width: 0;}.check-row strong {font-size: 0.9rem;font-weight: 600;color: var(--text);}.check-row small {font-size: 0.8rem;font-weight: 400;line-height: 1.35;}.smtp-help {border: 1px solid var(--border-soft);border-radius: 8px;background: var(--info-bg, #e8f0fe);padding: 0.55rem 0.85rem;}.smtp-help summary {cursor: pointer;font-weight: 600;color: var(--info, #185abc);list-style: none;}.smtp-help summary::-webkit-details-marker { display: none; }.smtp-help[open] summary { margin-bottom: 0.65rem; }.smtp-help__grid {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 0.85rem 1.25rem;font-size: 0.85rem;color: var(--text);}.smtp-help__grid ul {margin: 0.35rem 0 0;padding-left: 1.1rem;}.smtp-help__grid li { margin: 0.2rem 0; }@media (max-width: 720px) {.smtp-help__grid { grid-template-columns: 1fr; }}.settings-grid {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 0.75rem;}.settings-card {display: flex;justify-content: space-between;align-items: center;gap: 1rem;padding: 1rem 1.15rem;border: 1px solid var(--border-soft);border-radius: var(--radius-lg);background: var(--bg-elevated);color: var(--text);text-decoration: none;transition: border-color 120ms ease, box-shadow 120ms ease, transform 120ms ease;}.settings-card:hover {border-color: #c2d7f5;box-shadow: var(--shadow-soft);text-decoration: none;transform: translateY(-1px);}.settings-card__main {display: flex;align-items: flex-start;gap: 0.85rem;min-width: 0;}.settings-card__title {display: block;font-weight: 600;margin-bottom: 0.2rem;}.settings-card__desc {display: block;color: var(--text-muted);font-size: 0.85rem;}.settings-card__chevron {color: var(--text-dim);display: inline-flex;align-items: center;}.empty-state {padding: 2.5rem 1.25rem;text-align: center;color: var(--text-muted);}.empty-state strong {display: block;color: var(--text);margin-bottom: 0.35rem;font-size: 1rem;}.empty-state__actions {margin-top: 1rem;display: flex;justify-content: center;gap: 0.5rem;flex-wrap: wrap;}.toolbar {display: flex;justify-content: space-between;gap: 1rem;align-items: center;padding: 0.85rem 1.15rem;border-bottom: 1px solid var(--border-soft);background: var(--bg-elevated);}.bulk-bar {display: flex;flex-wrap: wrap;align-items: center;gap: 0.5rem 0.85rem;padding: 0.7rem 1rem;border-bottom: 1px solid var(--border-soft);background: var(--bg-elevated);}.bulk-bar__group {display: flex;align-items: center;gap: 0.4rem;min-width: 0;}.bulk-bar__group + .bulk-bar__group {padding-left: 0.85rem;border-left: 1px solid var(--border-soft);}.bulk-bar select,.bulk-bar input:not([type="checkbox"]):not([type="hidden"]) {width: auto;min-width: 11rem;max-width: 16rem;min-height: 2.15rem;padding: 0.4rem 0.65rem;font-size: 0.88rem;}.bulk-bar .btn {flex: 0 0 auto;white-space: nowrap;}.login-shell {min-height: 100vh;display: grid;place-items: center;padding: 1.5rem;background:radial-gradient(900px 480px at 15% -10%, rgba(15, 118, 110, 0.18), transparent 55%),radial-gradient(700px 360px at 90% 100%, rgba(14, 116, 144, 0.10), transparent 50%),var(--bg);}.login-card {width: min(420px, 100%);background: var(--bg-elevated);border: 1px solid var(--border-soft);border-radius: 16px;padding: 2rem;box-shadow: var(--shadow);}.login-card h1 {margin: 0.5rem 0 0.25rem;font-size: 1.6rem;letter-spacing: -0.03em;}.login-card p { color: var(--text-muted); margin-top: 0; }.login-card .field { margin-bottom: 0.9rem; }.login-card .btn { width: 100%; margin-top: 0.5rem; }.login-lang {margin-top: 1.25rem;padding-top: 1rem;border-top: 1px solid var(--border-soft);display: flex;align-items: flex-end;justify-content: space-between;gap: 0.75rem;}.lang-switcher {display: flex;flex-direction: column;gap: 0.35rem;}.lang-switcher--compact {flex-direction: row;align-items: center;gap: 0.45rem;}.lang-switcher__label {font-size: 0.78rem;color: var(--text-muted);font-weight: 500;}.lang-switcher--compact .lang-switcher__label {position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0, 0, 0, 0);white-space: nowrap;border: 0;}.lang-switcher__select {font: inherit;font-size: 0.85rem;color: var(--text);background: var(--bg);border: 1px solid var(--border-soft);border-radius: 8px;padding: 0.35rem 0.55rem;min-width: 8.5rem;max-width: 100%;cursor: pointer;}.lang-switcher--compact .lang-switcher__select {min-width: 0;max-width: 9.5rem;background: transparent;border-color: transparent;padding-left: 0.25rem;padding-right: 0.25rem;}.lang-switcher--compact .lang-switcher__select:hover,.lang-switcher--compact .lang-switcher__select:focus {border-color: var(--border-soft);background: var(--bg);outline: none;}.error-page-body {margin: 0;width: 100%;min-height: 100vh;overflow-x: hidden;}.error-page-body .app-shell {display: block;grid-template-columns: none;min-height: 0;}.error-page-body .sidebar,.error-page-body .topbar,.error-page-body .sidebar-backdrop {display: none;}.error-page-body .main,.error-page-body .content {width: 100%;max-width: 100%;margin: 0;padding: 0;min-width: 0;}.error-shell {box-sizing: border-box;width: 100%;max-width: 100%;min-height: 100vh;margin: 0;padding: 2rem 1.25rem;display: flex;flex-direction: column;align-items: center;justify-content: flex-start;background:radial-gradient(900px 420px at 18% 0%, rgba(26, 115, 232, 0.14), transparent 55%),radial-gradient(700px 360px at 90% 100%, rgba(15, 23, 42, 0.06), transparent 50%),var(--bg);}.error-card {box-sizing: border-box;width: 100%;max-width: 28rem;min-width: 0;margin: 0 auto;background: var(--bg-elevated);border: 1px solid var(--border-soft);border-radius: 16px;padding: 2rem;box-shadow: var(--shadow);text-align: left;animation: rise 280ms ease both;}.error-card--wide {max-width: 44rem;}.error-card__brand {display: flex;align-items: center;justify-content: space-between;gap: 1rem;margin-bottom: 0.75rem;}.error-code {font-family: 'IBM Plex Mono', ui-monospace, monospace;font-size: 0.95rem;font-weight: 500;letter-spacing: 0.04em;color: var(--accent);background: transparent;border: none;border-radius: 0;padding: 0;}.error-card h1 {margin: 0 0 0.4rem;font-size: 1.7rem;letter-spacing: -0.03em;}.error-card p {margin: 0 0 0.75rem;color: var(--text-muted);line-height: 1.55;}.error-card .muted {color: var(--text-muted);font-size: 0.92rem;}.error-path {display: inline-block;max-width: 100%;overflow-wrap: anywhere;margin: 0 0 1rem;padding: 0.45rem 0.65rem;border-radius: 8px;background: var(--bg-hover, #f3f6fb);border: 1px solid var(--border-soft);font-size: 0.85rem;color: var(--text);}.error-actions {display: flex;flex-wrap: wrap;gap: 0.6rem;margin-top: 1.25rem;}.error-actions .btn {width: auto;margin-top: 0;}.about-shell {display: flex;justify-content: center;padding: 1.75rem 0 3rem;}.about-card {box-sizing: border-box;width: 100%;max-width: 26rem;background: var(--bg-elevated);border: 1px solid var(--border-soft);border-radius: 16px;padding: 2rem 1.75rem 1.5rem;box-shadow: var(--shadow);text-align: center;animation: rise 280ms ease both;}.about-card .brand-mark--lg {margin: 0 auto 1rem;}.about-card h1 {margin: 0 0 0.4rem;font-size: 1.55rem;letter-spacing: -0.03em;}.about-card__lead {margin: 0;color: var(--text-muted);line-height: 1.5;font-size: 0.95rem;}.about-card__meta {margin-top: 1.5rem;padding-top: 1.15rem;border-top: 1px solid var(--border-soft);}.about-card__version {margin: 0;font-size: 0.95rem;font-weight: 600;color: var(--text);}.about-card__version span {font-weight: 500;color: var(--text-dim);margin-right: 0.35rem;}.about-card__copy {margin: 0.45rem 0 0;font-size: 0.8rem;color: var(--text-dim);line-height: 1.45;}.error-dev {margin-top: 1.5rem;padding-top: 1.25rem;border-top: 1px solid var(--border-soft);max-width: 100%;min-width: 0;overflow-x: auto;}.error-dev h2 {margin: 0 0 0.75rem;font-size: 0.95rem;font-weight: 600;color: var(--text);}.error-dev-list {margin: 0;padding-left: 1.1rem;color: var(--text-muted);font-size: 0.9rem;}.error-dev-meta {margin: 0 0 1rem;display: grid;gap: 0.55rem;}.error-dev-meta > div {display: grid;grid-template-columns: 6.5rem minmax(0, 1fr);gap: 0.65rem;align-items: start;}.error-dev-meta dt {margin: 0;float: none;color: var(--text-muted);font-size: 0.78rem;font-weight: 600;}.error-dev-meta dd {margin: 0;min-width: 0;overflow-wrap: anywhere;color: var(--text);font-size: 0.88rem;}.error-dev pre,.error-dev .stacktrace,.error-dev-trace,.error-dev .stack,.error-dev .snippet,.error-dev .error-details {overflow: auto;max-width: 100%;max-height: 28rem;margin: 0 0 0.75rem;padding: 0.85rem 1rem;border-radius: 10px;background: #0f172a;color: #e2e8f0;font-size: 0.78rem;line-height: 1.45;white-space: pre-wrap;overflow-wrap: anywhere;}.doc-content {line-height: 1.65;color: var(--text);width: 100%;}.doc-content > h1:first-child {display: none;}.doc-content h2 {margin: 2rem 0 0.75rem;padding-bottom: 0.4rem;border-bottom: 1px solid var(--border, #e0e3e7);font-size: 1.25rem;letter-spacing: -0.02em;}.doc-content h3 {margin: 1.5rem 0 0.5rem;font-size: 1.05rem;letter-spacing: -0.02em;}.doc-content h4 {margin: 1.15rem 0 0.4rem;font-size: 0.95rem;}.doc-content p {margin: 0 0 0.9rem;}.doc-content ul,.doc-content ol {margin: 0 0 1rem;padding-left: 1.35rem;}.doc-content li {margin: 0.3rem 0;}.doc-content li + li {margin-top: 0.35rem;}.doc-content hr {border: 0;border-top: 1px solid var(--border, #e0e3e7);margin: 1.75rem 0;}.doc-content a {color: var(--accent);text-decoration: none;}.doc-content a:hover {text-decoration: underline;}.doc-content code {background: var(--bg-soft);padding: 0.1rem 0.35rem;border-radius: 4px;font-family: var(--mono);font-size: 0.85em;}.doc-content pre {background: #202124;color: #e8eaed;padding: 1rem;border-radius: var(--radius);overflow: auto;margin: 0 0 1rem;}.doc-content pre code {background: transparent;padding: 0;color: inherit;}.doc-table-wrap {overflow-x: auto;margin: 0 0 1.15rem;border: 1px solid var(--border, #e0e3e7);border-radius: var(--radius, 8px);}.doc-table {width: 100%;border-collapse: collapse;font-size: 0.92rem;}.doc-table th,.doc-table td {text-align: left;vertical-align: top;padding: 0.65rem 0.85rem;border-bottom: 1px solid var(--border, #e0e3e7);}.doc-table th {background: var(--bg-soft, #f8f9fa);font-weight: 600;white-space: nowrap;}.doc-table tr:last-child td {border-bottom: 0;}.doc-table td:first-child {font-weight: 500;white-space: nowrap;}@keyframes rise {from { opacity: 0; transform: translateY(6px); }to { opacity: 1; transform: translateY(0); }}.stat-card, .panel, .settings-card, .dash-metric, .dash-chip {animation: rise 280ms ease both;}.notif-bell {position: relative;display: inline-flex;align-items: center;justify-content: center;gap: 0.2rem;min-width: 2.75rem;min-height: 2.75rem;padding: 0.35rem;border-radius: 6px;color: var(--text);text-decoration: none;}.notif-bell:hover {background: var(--bg-soft);color: var(--accent);text-decoration: none;}.notif-bell .nx-icon {width: 1.55rem;height: 1.55rem;}.notif-bell__count {position: static;min-width: 0;height: auto;padding: 0;border-radius: 0;background: none;color: var(--danger);font-size: 0.85rem;font-weight: 700;line-height: 1;text-align: left;}.row-unread td {background: rgba(37, 99, 235, 0.04);}.workdesk-tabs {display: flex;flex-wrap: wrap;gap: 0.4rem;margin-bottom: 1rem;}.workdesk-tabs [aria-selected="true"] {box-shadow: 0 0 0 1px rgba(15, 118, 110, 0.28);}.workdesk-queue {margin: 0;overflow: hidden;}.workdesk-queue__list {list-style: none;margin: 0;padding: 0;}.workdesk-queue__item + .workdesk-queue__item {border-top: 1px solid var(--border-soft);}.workdesk-queue__link {display: grid;grid-template-columns: 3.25rem minmax(0, 1fr) auto;gap: 0.9rem 1rem;align-items: center;padding: 0.95rem 1.15rem;text-decoration: none;color: inherit;transition: background 120ms ease;}.workdesk-queue__link:hover {text-decoration: none;color: inherit;background: var(--bg-soft);}.workdesk-queue__count {display: inline-flex;align-items: center;justify-content: center;min-width: 2.5rem;height: 2.5rem;border-radius: 8px;font-family: var(--mono);font-size: 1rem;font-weight: 600;font-variant-numeric: tabular-nums;background: var(--bg-soft);color: var(--text);border: 1px solid var(--border-soft);}.workdesk-queue__count[data-severity="critical"] {background: var(--danger-bg);border-color: #f5c6c2;color: var(--danger);}.workdesk-queue__count[data-severity="warning"] {background: var(--warning-bg);border-color: #fde7c7;color: var(--warning);}.workdesk-queue__count[data-severity="info"] {background: var(--info-bg);border-color: #a5f3fc;color: var(--info);}.workdesk-queue__copy {display: flex;flex-direction: column;gap: 0.2rem;min-width: 0;}.workdesk-queue__title {font-size: 1rem;font-weight: 600;letter-spacing: -0.01em;line-height: 1.3;}.workdesk-queue__meta {display: flex;flex-wrap: wrap;align-items: baseline;gap: 0.35rem;color: var(--text-muted);font-size: 0.86rem;line-height: 1.4;}.workdesk-queue__category {font-weight: 600;color: var(--text-dim);}.workdesk-queue__body {min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;max-width: 52ch;}.workdesk-queue__go {font-size: 0.84rem;font-weight: 600;color: var(--accent);white-space: nowrap;}.workdesk-queue__link:hover .workdesk-queue__go {text-decoration: underline;}@media (max-width: 720px) {.workdesk-queue__link {grid-template-columns: 2.75rem minmax(0, 1fr);}.workdesk-queue__go {grid-column: 2;}.workdesk-queue__body {white-space: normal;max-width: none;}}.nx-modal[hidden] { display: none !important; }.nx-modal {position: fixed;inset: 0;z-index: 80;display: flex;align-items: center;justify-content: center;padding: 1rem;}.nx-modal__backdrop {position: absolute;inset: 0;background: rgba(32, 33, 36, 0.45);}.nx-modal__dialog {position: relative;width: min(36rem, 100%);background: var(--surface, #fff);border: 1px solid var(--border, #dadce0);border-radius: 12px;box-shadow: 0 16px 48px rgba(32, 33, 36, 0.18);overflow: hidden;}.nx-modal__header {display: flex;align-items: center;justify-content: space-between;gap: 0.75rem;padding: 1rem 1.15rem;background: var(--surface-2, #f8f9fa);border-bottom: 1px solid var(--border, #edf0f4);}.nx-modal__title {margin: 0;font-size: 1.05rem;font-weight: 700;color: var(--text);display: inline-flex;align-items: center;gap: 0.45rem;}.nx-modal__title .nx-icon { color: var(--accent); }.nx-modal__close {border: 0;background: transparent;color: var(--text-muted);font-size: 1.4rem;line-height: 1;cursor: pointer;padding: 0.15rem 0.35rem;border-radius: 0.35rem;}.nx-modal__close:hover { background: rgba(0,0,0,0.05); color: var(--text); }.nx-modal__body { padding: 1.15rem 1.25rem 0.65rem; }.nx-modal__lead {margin: 0 0 1rem;font-size: 0.95rem;line-height: 1.55;color: var(--text);}.nx-modal__summary {display: flex;flex-wrap: wrap;gap: 0.65rem;margin-bottom: 0.85rem;}.nx-modal__stat {flex: 1 1 30%;min-width: 6rem;padding: 0.75rem 0.65rem;border-radius: 10px;text-align: center;background: var(--accent-soft);border: 1px solid #c2d7f5;}.nx-modal__stat-value {display: block;font-size: 1.5rem;font-weight: 700;line-height: 1.1;color: var(--accent);font-variant-numeric: tabular-nums;}.nx-modal__stat-label {display: block;margin-top: 0.25rem;font-size: 0.7rem;font-weight: 600;color: var(--text-muted);line-height: 1.3;}.nx-modal__footnote {margin: 0;font-size: 0.75rem;line-height: 1.45;}.nx-modal__footer {display: flex;flex-wrap: wrap;align-items: center;justify-content: flex-end;gap: 0.4rem;padding: 0.85rem 1.15rem 1.05rem;border-top: 1px solid var(--border, #edf0f4);}.nx-modal__dialog--sm {width: min(28rem, 100%);}.nx-modal--confirm .nx-modal__title .nx-icon { color: var(--warning, #b06000); }.nx-modal--confirm.is-danger .nx-modal__title .nx-icon { color: var(--danger, #c5221f); }.nx-modal--confirm.is-danger .nx-modal__dialog {border-color: #f0c0bd;}body.nx-modal-open { overflow: hidden; }.btn-sm {padding: 0.35rem 0.7rem;font-size: 0.85rem;}.view-switch {display: inline-flex;gap: 0.25rem;}.view-switch .btn {min-width: 4.5rem;}@media (max-width: 1100px) {.stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.filters,.filters--users,.filters--compact,.filters--search,.filters--stale,.filter-drawer .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.detail-grid, .form-grid, .settings-grid { grid-template-columns: 1fr; }.dash-hero { grid-template-columns: 1fr; }.dash-main { grid-template-columns: 1fr; }.dash-charts { grid-template-columns: 1fr; }}@media (max-width: 860px) {.app-shell { grid-template-columns: 1fr; }.dash-health__body { flex-direction: column; }.sidebar {position: fixed;inset: 0 auto 0 0;width: min(84vw, var(--sidebar-width));transform: translateX(-105%);transition: transform 180ms ease;box-shadow: var(--shadow);z-index: 40;}.sidebar.open { transform: translateX(0); }.sidebar-backdrop {position: fixed;inset: 0;z-index: 35;background: rgba(32, 33, 36, 0.45);border: 0;padding: 0;margin: 0;cursor: pointer;}.sidebar-backdrop[hidden] { display: none !important; }.sidebar-toggle { display: inline-flex; }.page-header {flex-direction: column;align-items: stretch;}.page-header .actions {width: 100%;justify-content: flex-start;flex-wrap: wrap;}.stat-grid { grid-template-columns: 1fr; }.filters,.filters--users,.filters--compact,.filters--search,.filters--stale,.filter-drawer .form-grid { grid-template-columns: 1fr; }.kv { grid-template-columns: 1fr; }.content { padding: 1rem; }.bulk-bar__group + .bulk-bar__group {padding-left: 0;border-left: 0;}.bulk-bar select,.bulk-bar input:not([type="checkbox"]):not([type="hidden"]) {min-width: 0;max-width: none;flex: 1 1 auto;}}.asset-barcode svg {width: 100%;max-width: 280px;height: 48px;fill: currentColor;}.print-body {background: #fff;color: #111;}.print-label,.print-report {max-width: 40rem;margin: 2rem auto;padding: 1.5rem;}.print-label h1 {font-size: 2rem;margin: 0.25rem 0;}.print-label__head {display: flex;align-items: flex-start;gap: 0.85rem;margin: 0.15rem 0 0.75rem;}.print-label__qr {flex: 0 0 5.5rem;width: 5.5rem;}.print-label__qr svg {display: block;width: 100%;height: auto;fill: #111;}.print-label__title {flex: 1 1 auto;min-width: 0;}.print-label__title p {margin: 0.2rem 0 0;}.print-label__barcode svg {width: 100%;height: 64px;fill: #111;}@media print {.print-label,.print-report {margin: 0;max-width: none;}}.panel-body--tree {padding: 0.65rem 0.85rem 0.85rem;}.tree-toolbar {align-items: center;}.tree-toolbar__hint {margin: 0;}.tree.tree--campus,.tree.tree--campus ul {list-style: none;margin: 0;padding: 0;border: 0;}.tree.tree--campus .tree-children {margin: 0 0 0 0.55rem;padding: 0 0 0 0.5rem;border-left: 1px solid var(--border-soft);}.tree.tree--campus .tree-node {margin: 0;}.tree.tree--campus .tree-row {display: inline-flex;align-items: center;gap: 0.2rem;max-width: 100%;min-height: 1.6rem;padding: 0.05rem 0.35rem 0.05rem 0;border-radius: 4px;}.tree.tree--campus .tree-node.is-selected > .tree-row {background: var(--accent-soft);}.tree.tree--campus .tree-toggle {flex: 0 0 1.2rem;width: 1.2rem;height: 1.2rem;padding: 0;border: 0;background: transparent;color: var(--text-dim);display: inline-flex;align-items: center;justify-content: center;cursor: pointer;border-radius: 3px;}.tree.tree--campus .tree-toggle:hover {background: var(--bg-hover);color: var(--text);}.tree.tree--campus .tree-toggle .nx-icon {width: 12px;height: 12px;transform: rotate(90deg);transition: transform 0.12s ease;}.tree.tree--campus .tree-node.is-collapsed > .tree-row .tree-toggle .nx-icon {transform: rotate(0deg);}.tree.tree--campus .tree-toggle--leaf {visibility: hidden;pointer-events: none;}.tree.tree--campus .tree-link {display: inline-flex;align-items: center;gap: 0.35rem;min-width: 0;flex: 0 1 auto;padding: 0.1rem 0.2rem;border: 0;background: transparent;color: var(--text);font: inherit;text-align: left;cursor: pointer;border-radius: 3px;text-decoration: none;}.tree.tree--campus .tree-icon {flex: 0 0 auto;width: 14px;height: 14px;opacity: 0.75;color: var(--text-muted);}.tree.tree--campus .tree-node--campus .tree-icon,.tree.tree--campus .tree-node--division .tree-icon { color: var(--text-muted); opacity: 0.9; }.tree.tree--campus .tree-node--building .tree-icon { color: var(--text); opacity: 0.8; }.tree.tree--campus .tree-node--mdf .tree-icon,.tree.tree--campus .tree-node--idf .tree-icon { color: var(--info); opacity: 1; }.tree.tree--campus .tree-node--room .tree-icon,.tree.tree--campus .tree-node--area .tree-icon { color: var(--accent); opacity: 0.85; }.tree.tree--campus .tree-node--rack .tree-icon,.tree.tree--campus .tree-node--storage .tree-icon { color: var(--neutral, #5f6368); opacity: 0.9; }.tree.tree--campus .tree-node--device .tree-icon { color: var(--accent); opacity: 1; }.tree.tree--campus a.tree-link:hover,.tree.tree--campus button.tree-link:hover {background: var(--bg-hover);color: var(--text);text-decoration: none;}.tree.tree--campus .tree-code {font-family: var(--mono);font-weight: 600;font-size: 0.82rem;letter-spacing: 0.01em;white-space: nowrap;}.tree.tree--campus .tree-code--device {font-weight: 500;color: var(--accent);}.tree.tree--campus .tree-name {color: var(--text);font-size: 0.86rem;font-weight: 500;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}.tree.tree--campus .tree-count {display: none;color: var(--text-dim);font-size: 0.72rem;font-variant-numeric: tabular-nums;}.tree.tree--campus .tree-node.is-collapsed > .tree-row .tree-count {display: inline;}.tree.tree--campus .tree-actions {display: none;align-items: center;gap: 0.1rem;flex: 0 0 auto;}.tree.tree--campus .tree-node.is-selected > .tree-row .tree-actions {display: inline-flex;}.tree.tree--campus .tree-actions[hidden] {display: none !important;}.tree.tree--campus .tree-actions .btn {padding: 0.12rem 0.45rem;font-size: 0.75rem;min-height: 0;display: inline-flex;color: var(--text-muted);}.tree.tree--campus .tree-actions .btn:hover {background: var(--bg-hover);color: var(--text);text-decoration: none;}.tree.tree--campus .tree-node.is-collapsed > .tree-children {display: none;}.plain-list { margin: 0; padding-left: 1.1rem; }.plain-list li { margin: 0.25rem 0; }.asset-identity {display: flex;flex-direction: column;gap: 1rem;}.asset-photos__hero {display: block;border-radius: 10px;overflow: hidden;background: #f3f4f6;aspect-ratio: 4 / 3;box-shadow: 0 0 0 1px var(--border-soft);}.asset-photos__hero img,.asset-photos__thumb img {width: 100%;height: 100%;object-fit: cover;display: block;}.asset-photos__thumbs {display: flex;flex-wrap: wrap;gap: 0.4rem;margin-top: 0.45rem;}.asset-photos__thumb {width: 3.25rem;height: 3.25rem;border-radius: 6px;overflow: hidden;box-shadow: 0 0 0 1px var(--border-soft);}.asset-photos__empty {aspect-ratio: 4 / 3;display: grid;place-items: center;background: #f6f7f8;color: var(--text-muted);border-radius: 10px;border: 1px dashed var(--border);font-size: 0.9rem;}.asset-photos__upload {display: flex;flex-direction: column;gap: 0.45rem;margin-top: 0.35rem;}.asset-thumb-cell {width: 3.25rem;}.asset-thumb {width: 2.5rem;height: 2.5rem;object-fit: cover;border-radius: 6px;display: block;background: #f3f4f6;box-shadow: 0 0 0 1px var(--border-soft);}.asset-thumb--empty {box-shadow: inset 0 0 0 1px var(--border-soft);background: #f6f7f8;}.asset-photo-grid {display: grid;grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));gap: 0.85rem;}.asset-photo-card {margin: 0;background: var(--bg-elevated);border: 1px solid var(--border-soft);border-radius: 10px;overflow: hidden;}.asset-photo-card img {width: 100%;height: 140px;object-fit: cover;display: block;}.asset-photo-card figcaption {display: flex;align-items: center;justify-content: space-between;gap: 0.5rem;padding: 0.45rem 0.6rem;font-size: 0.8rem;}.asset-photo-card figcaption span {overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}.asset-photo-preview {display: flex;flex-wrap: wrap;gap: 0.5rem;margin-top: 0.5rem;}.asset-photo-preview__img {width: 4.5rem;height: 4.5rem;object-fit: cover;border-radius: 8px;box-shadow: 0 0 0 1px var(--border-soft);}@media (max-width: 800px) {.detail-grid {grid-template-columns: 1fr;}.page-header {flex-direction: column;align-items: flex-start;gap: 0.75rem;}.page-header .actions,.actions {flex-wrap: wrap;}.form-grid {grid-template-columns: 1fr;}table.data {min-width: 0;font-size: 0.9rem;}.content {padding: 0.75rem;}.print-label {max-width: 100%;margin: 0.5rem;padding: 0.75rem;}.print-label h1 {font-size: 1.25rem;}.print-label__qr {flex-basis: 4.5rem;width: 4.5rem;}.print-label__barcode {max-width: none;}}