:root{--primary:#1769aa;--primary-dark:#17365d;--bg:#f4f7fb;--card:#fff;--text:#222;--muted:#667085;--border:#e3e8ef;--danger:#c0504d;--ok:#2e7d32;--warn:#b26a00}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);font-size:15px}a{color:var(--primary);text-decoration:none}.container{max-width:1080px;margin:0 auto;padding:16px}.nav{background:var(--primary-dark);color:#fff;padding:10px 16px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.nav a{color:#dbe7f5;font-weight:700}.nav a:hover{color:#fff}.nav .brand{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:15px;font-weight:700;letter-spacing:1px;margin-right:8px;text-decoration:none;flex-shrink:0}.nav .brand img{height:26px;width:auto;display:block}.nav .brand:hover{text-decoration:none;opacity:.85}@media (max-width:640px){.nav .brand span{display:none}.nav .brand img{height:22px}}.asset-filter{margin-bottom:6px}.asset-filter::placeholder{font-style:italic}.nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.nav-burger{display:none}.nav-group{position:relative}.nav .nav-btn{background:none;border:0;padding:0;margin:0;cursor:pointer;font:inherit;font-weight:700;color:#dbe7f5;display:inline-flex;align-items:center;gap:4px}.nav .nav-btn:hover{color:#fff}.nav .nav-btn .caret{font-size:10px;opacity:.75}.nav .nav-btn.on{color:#fff}.nav .nav-btn.cur,.nav .nav-links>a.cur{color:#fff;box-shadow:inset 0 -2px 0 #a5cd39}.nav .nav-menu{position:absolute;top:calc(100% + 12px);left:0;z-index:60;min-width:214px;padding:6px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 28px rgba(0,0,0,.2);display:flex;flex-direction:column}.nav .nav-menu a{color:var(--text);font-weight:400;padding:9px 12px;border-radius:6px;white-space:nowrap}.nav .nav-menu a.cur,.nav .nav-menu a:hover{background:#eaf2fb;color:var(--primary-dark)}.nav .nav-menu a.cur{font-weight:700}@media (max-width:920px){.nav-burger{display:inline-flex;align-items:center;gap:6px;cursor:pointer;background:#0f2745;color:#fff;border:1px solid #3d5f8a;border-radius:6px;padding:7px 12px;font:inherit;font-weight:700}.nav-links{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0}.nav-links.open{display:flex}.nav .nav-btn,.nav .nav-links>a{padding:11px 2px}.nav-group{width:100%}.nav .nav-btn{width:100%;justify-content:space-between}.nav .nav-menu{position:static;box-shadow:none;border-color:#3d5f8a;background:#0f2745;margin:2px 0 8px 14px;min-width:0}.nav .nav-menu a{color:#dbe7f5}.nav .nav-menu a.cur,.nav .nav-menu a:hover{background:#1b3c68;color:#fff}}.nav .spacer{flex:1 1}.nav .nav-company{width:auto;max-width:260px;padding:5px 8px;font-size:13px;border:1px solid #3d5f8a;background:#0f2745;color:#fff}.company-tag,.nav .nav-company{font-weight:700;border-radius:6px}.company-tag{display:inline-block;padding:2px 8px;font-size:12px;background:#eaf2fb;color:var(--primary-dark)}.scope-note{color:var(--muted);font-size:13px;margin:-4px 0 12px}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:16px}h1{color:var(--primary);font-size:22px;margin:12px 0}h2{color:var(--primary-dark);font-size:17px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:12px;gap:12px}.stat{text-align:center}.stat .num{font-size:30px;font-weight:700;color:var(--primary)}.stat .label{color:var(--muted);font-size:13px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}th{background:#eaf2fb;color:var(--primary-dark);font-size:13px}tr:hover td{background:#f8fafc}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#eef2f6;color:var(--muted)}.badge.in_stock{background:#e6f4ea;color:var(--ok)}.badge.assigned{background:#e7f0fa;color:var(--primary)}.badge.on_field{background:#fff4e5;color:#b25e09}.badge.calibration,.badge.maintenance{background:#f3e8fd;color:#7c3aed}.badge.lost{background:#fdecea;color:var(--danger)}.badge.disposed{background:#eceff1;color:#607d8b}input,select,textarea{width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:8px;font-size:15px;font-family:inherit;background:#fff}label{display:block;margin:10px 0 4px;font-weight:700;font-size:13px;color:var(--primary-dark)}.btn,button{background:var(--primary);color:#fff;border:none;padding:10px 18px;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer}button:hover{background:var(--primary-dark)}button:disabled{background:#9db8cc;cursor:not-allowed}.btn-secondary{background:#eef2f6;color:var(--primary-dark)}.btn-danger{background:var(--danger)}.msg-ok{color:var(--ok);font-weight:700}.msg-err{color:var(--danger);font-weight:700}.msg-warn{color:var(--warn);font-weight:700}.warn-box{border:1px solid #f0c36d;background:#fff8e6;color:#7a5200;border-radius:8px;padding:10px 12px;margin:12px 0;font-size:14px}.warn-box ul{margin:6px 0 0;padding-left:20px}.muted{color:var(--muted);font-size:13px}@media (max-width:640px){body{font-size:16px}.btn,button{width:100%;padding:14px;font-size:17px}.nav{gap:12px}}.label-sheet{--lw:70mm;--lh:40mm;display:block;font-size:0}.label{width:var(--lw);height:var(--lh);border:1px dashed #b8c4d4;border-radius:1mm;padding:1.5mm;margin:0 2mm 2mm 0;display:inline-flex;vertical-align:top;align-items:center;gap:2mm;font-size:8pt;background:#fff;overflow:hidden;box-sizing:border-box;break-inside:avoid;page-break-inside:avoid}.label-qr{flex:none;background:#fff;image-rendering:pixelated}.label-text{min-width:0;flex:1 1;line-height:1.25}.label-code{font-weight:700;font-family:Courier New,Consolas,monospace;letter-spacing:.2px;word-break:break-all}.label-name{margin-top:.6mm;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.label-meta{margin-top:.6mm;color:#555}@media print{@page{size:A4 portrait;margin:8mm}body,html{background:#fff}.nav,.no-print{display:none!important}.print-only{display:block!important}.card{border:none;box-shadow:none;padding:0}.container{max-width:none;margin:0;padding:0}.label{border:none;margin:0}.label-qr{-webkit-print-color-adjust:exact;print-color-adjust:exact}}