:root{color-scheme:light;--bg: #f4efe5;--bg-sidebar: #ece4d6;--bg-surface: #ffffff;--bg-muted: #f2ece1;--border: #e7dece;--border-strong: #dcd1bd;--border-sidebar: #e3dacb;--text: #2a2117;--text-strong: #1f1810;--text-muted: #9a8a72;--text-secondary: #7b6b55;--text-body: #473a29;--accent: #a8472a;--accent-dark: #863518;--accent-soft: #c2683a;--accent-tint: rgba(168, 71, 42, .1);--success: #4f6b2c;--warning: #a8761a;--danger: #9c3322;--high: #9c3322;--limited: #a8761a;--minimal: #4f6b2c;--prohibited: #6f4474;--radius: 14px;--radius-sm: 9px;--shadow: 0 8px 28px rgba(42, 33, 23, .06);font-family:IBM Plex Sans,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-dark)}button,input,select,textarea{font:inherit}button{cursor:pointer}#root{min-height:100vh}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.app-shell{min-height:100vh;display:flex;background:var(--bg)}.app-sidebar{width:256px;flex-shrink:0;background:var(--bg-sidebar);border-right:1px solid var(--border-sidebar);display:flex;flex-direction:column;padding:20px 14px}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:6px 8px 22px}.sidebar-brand-text{display:flex;flex-direction:column;line-height:1.15}.sidebar-brand-text strong{font-size:15px;font-weight:700;letter-spacing:.02em;color:var(--text-strong)}.sidebar-brand-text span{font-size:10.5px;color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace;letter-spacing:.05em;text-transform:uppercase}.sidebar-section-label{font-size:10px;font-weight:600;letter-spacing:.14em;color:#a3947c;padding:4px 10px 8px;font-family:IBM Plex Mono,ui-monospace,monospace;text-transform:uppercase}.sidebar-nav{display:flex;flex-direction:column;gap:3px}.sidebar-nav-item{display:flex;align-items:center;gap:13px;padding:11px 13px;border-radius:var(--radius-sm);font-size:13.5px;letter-spacing:.01em;color:var(--text-secondary);font-weight:450;transition:background .15s ease,color .15s ease}.sidebar-nav-item .material-symbols-outlined{color:var(--text-muted)}.sidebar-nav-item:hover{background:#a8472a0f;color:var(--text-strong)}.sidebar-nav-item.is-active{color:var(--text-strong);font-weight:600;background:var(--accent-tint);box-shadow:inset 2.5px 0 0 var(--accent)}.sidebar-nav-item.is-active .material-symbols-outlined{color:var(--accent)}.sidebar-user{margin-top:auto;border-top:1px solid var(--border-sidebar);padding-top:14px;display:flex;align-items:center;gap:11px}.sidebar-user-avatar{width:34px;height:34px;border-radius:50%;background:#ebe2d2;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#665847;flex-shrink:0}.sidebar-user-meta{flex:1;min-width:0;line-height:1.25}.sidebar-user-email{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-strong)}.sidebar-user-role{font-size:11px;color:var(--text-muted);text-transform:capitalize}.sidebar-logout{border:none;background:transparent;color:var(--text-muted);padding:4px;border-radius:8px;display:flex;align-items:center;justify-content:center}.sidebar-logout:hover{color:var(--accent);background:var(--accent-tint)}.app-main-column{flex:1;display:flex;flex-direction:column;min-width:0}.app-topbar{height:66px;flex-shrink:0;border-bottom:1px solid var(--border-sidebar);display:flex;align-items:center;gap:18px;padding:0 26px;background:var(--bg-surface)}.topbar-titles{flex:1;min-width:0}.topbar-title{font-size:17px;font-weight:600;letter-spacing:.01em;color:var(--text-strong)}.topbar-subtitle{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-mobile-user{display:none;align-items:center;gap:8px}.topbar-mobile-email{font-size:12px;color:var(--text-muted);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-content{flex:1;overflow-y:auto;padding:28px 24px 52px}.stack{display:flex;flex-direction:column;gap:1rem}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.muted{color:var(--text-muted)}.label{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:.35rem;font-weight:500}.field{width:100%;padding:.75rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text)}.field:focus{outline:2px solid rgba(168,71,42,.2);border-color:var(--accent)}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.panel-header{display:flex;align-items:center;gap:12px;padding:16px 22px;border-bottom:1px solid var(--border)}.panel-header h1,.panel-header h2{margin:0;flex:1;font-size:14px;font-weight:600;color:var(--text-strong)}.panel-body{padding:0}.btn{border:none;border-radius:8px;padding:.7rem 1rem;font-weight:500;font-size:.92rem;transition:transform .15s ease,opacity .15s ease,background .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:5px}.btn:active{transform:scale(.98)}.btn-sm{padding:.45rem .75rem;font-size:.82rem}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark)}.btn-secondary{background:var(--bg-muted);color:#665847;border:1px solid var(--border-strong)}.btn-secondary:hover{background:#ebe2d2}.btn-danger{background:#9c332214;color:var(--danger);border:1px solid rgba(156,51,34,.2)}.btn-block{width:100%}.error-banner{background:#9c332214;border:1px solid rgba(156,51,34,.2);color:var(--danger);border-radius:var(--radius-sm);padding:.75rem .9rem;font-size:.92rem}.list-item{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:14px 22px;border-bottom:1px solid #efe8da;color:inherit;transition:background .12s ease}.list-item:hover{background:#faf6ef}.list-item:last-child{border-bottom:none}.list-item strong{color:var(--text-body);font-weight:500}.badge{display:inline-flex;align-items:center;border-radius:7px;padding:4px 10px;font-size:11px;font-weight:600;white-space:nowrap}.badge-high_risk{background:#9c33221f;color:var(--danger)}.badge-limited_risk{background:#a8761a1f;color:var(--warning)}.badge-minimal_risk{background:#4f6b2c1f;color:var(--success)}.badge-prohibited{background:#6f44741f;color:var(--prohibited)}.badge-unclassified{background:#ece3d4;color:var(--text-secondary)}.fab{display:none}.empty-state{text-align:center;padding:2.5rem 1.5rem;color:var(--text-muted)}.loading-screen{min-height:40vh;display:grid;place-items:center;color:var(--text-muted)}.checkbox-row{display:flex;gap:.65rem;align-items:flex-start;padding:.55rem 0;color:var(--text-body)}.checkbox-row input{margin-top:.2rem;accent-color:var(--accent)}.login-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:var(--bg)}.login-card{width:min(420px,100%);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:1.25rem}.login-brand h1{margin:0;font-size:1.35rem;color:var(--text-strong)}.login-brand p{margin:.15rem 0 0;font-size:.82rem;color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase}.page-lead{margin:0;font-size:.92rem;color:var(--text-muted)}.page-lead-wrap{margin-bottom:.25rem}@media(max-width:900px){.app-sidebar{display:none}.app-topbar{padding:0 16px}.topbar-mobile-user{display:flex}.topbar-subtitle{display:none}.app-content{padding:20px 16px 40px}}@media(min-width:901px){.app-content{padding:36px 42px 52px}}
