:root{--color-primary: #0f172a;--color-primary-800: #1e293b;--color-primary-700: #334155;--color-primary-600: #475569;--color-accent: #ff6b00;--color-accent-hover: #e65f00;--color-accent-soft: rgba(255, 107, 0, .12);--color-support: #94a3b8;--color-support-light: #cbd5e1;--color-support-faint: #e2e8f0;--color-bg: #f1f5f9;--color-surface: #ffffff;--color-text: #0f172a;--color-text-muted: #64748b;--color-text-on-primary: #f8fafc;--color-ok: #16a34a;--color-warn: var(--color-accent);--color-danger: #dc2626;--radius: 10px;--shadow: 0 1px 3px rgba(15, 23, 42, .12);--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--color-bg);color:var(--color-text)}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0 0 .5rem}.page{max-width:1100px;margin:0 auto;padding:1rem}.page-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.grid{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.nav{background:var(--color-primary);color:var(--color-text-on-primary);position:sticky;top:0;z-index:50}.nav-inner{max-width:1100px;margin:0 auto;padding:0 1rem;display:flex;align-items:center;gap:1rem;height:56px}.nav-logo{font-weight:800;font-size:1.15rem;letter-spacing:.02em}.nav-logo span{color:var(--color-accent)}.nav-links{display:flex;gap:.25rem;flex:1}.nav-link{padding:.45rem .9rem;border-radius:var(--radius);color:var(--color-support-light);font-weight:600;font-size:.95rem}.nav-link:hover{background:var(--color-primary-800);color:#fff}.nav-link.active{background:var(--color-primary-700);color:#fff}.nav-user{display:flex;align-items:center;gap:.6rem;font-size:.85rem;color:var(--color-support)}.card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.card.clickable{cursor:pointer;transition:transform .08s,box-shadow .08s}.card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 10px #0f172a26}.card-title{font-weight:700;font-size:1.05rem}.card-sub{color:var(--color-text-muted);font-size:.85rem}.card.flagged{border-left:4px solid var(--color-accent)}.btn{display:inline-flex;align-items:center;gap:.4rem;border:none;border-radius:var(--radius);cursor:pointer;font-family:var(--font);font-weight:600;font-size:.92rem;padding:.55rem 1rem;transition:background .12s}.btn-primary{background:var(--color-primary);color:var(--color-text-on-primary)}.btn-primary:hover{background:var(--color-primary-700)}.btn-accent{background:var(--color-accent);color:#fff}.btn-accent:hover{background:var(--color-accent-hover)}.btn-ghost{background:transparent;color:var(--color-primary-700);border:1px solid var(--color-support-light)}.btn-ghost:hover{background:var(--color-support-faint)}.btn-danger{background:var(--color-danger);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-lg{font-size:1.25rem;padding:.8rem 1.6rem}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.85rem}.field label{font-size:.85rem;font-weight:600;color:var(--color-primary-700)}.field input,.field select,.field textarea{font-family:var(--font);font-size:.95rem;padding:.55rem .7rem;border:1px solid var(--color-support-light);border-radius:var(--radius);background:#fff}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--color-accent);outline-offset:0;border-color:transparent}.badge{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.badge-ok{background:#16a34a1f;color:var(--color-ok)}.badge-warn{background:var(--color-accent-soft);color:var(--color-accent)}.badge-muted{background:var(--color-support-faint);color:var(--color-text-muted)}.badge-danger{background:#dc26261f;color:var(--color-danger)}.alert-error{background:#dc262614;color:var(--color-danger);border:1px solid rgba(220,38,38,.25);border-radius:var(--radius);padding:.6rem .9rem;font-size:.9rem;margin-bottom:.85rem}.table{width:100%;border-collapse:collapse;font-size:.92rem}.table th{text-align:left;padding:.55rem .7rem;color:var(--color-text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--color-support-faint)}.table td{padding:.6rem .7rem;border-bottom:1px solid var(--color-support-faint)}.table tr.clickable{cursor:pointer}.table tr.clickable:hover{background:var(--color-support-faint)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;z-index:100;overflow-y:auto}.modal{background:var(--color-surface);border-radius:var(--radius);padding:1.25rem;width:100%;max-width:520px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.9rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.stat{background:var(--color-primary);color:var(--color-text-on-primary);border-radius:var(--radius);padding:.9rem}.stat .stat-value{font-size:1.5rem;font-weight:800}.stat .stat-label{font-size:.75rem;color:var(--color-support);text-transform:uppercase;letter-spacing:.05em}.stat.accent{background:var(--color-accent)}.stat.accent .stat-label{color:#ffffffd9}.label-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.qr-label{border:1px dashed var(--color-support-light);border-radius:6px;padding:.6rem;text-align:center;background:#fff;break-inside:avoid}.qr-label .qr-part-number{font-weight:800;font-size:.85rem}.qr-label .qr-part-name{font-size:.72rem;color:var(--color-text-muted)}@media print{.nav,.no-print{display:none!important}body{background:#fff}.page{max-width:none;padding:0}.label-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 640px){.nav-inner{height:auto;flex-wrap:wrap;padding:.5rem 1rem}.nav-links{order:3;width:100%}.page-header{flex-direction:column;align-items:stretch}.page-header .btn{width:100%;justify-content:center}.table-wrap{overflow-x:auto}.label-grid{grid-template-columns:repeat(2,1fr)}}
