:root{--bg:#0a0a0a;--bg-card:#141414;--bg-hover:#1a1a1a;--border:#262626;--text:#e5e5e5;--text-dim:#737373;--accent:#3b82f6;--accent-hover:#2563eb;--green:#22c55e;--red:#ef4444;--yellow:#eab308;--orange:#f97316}*{margin:0;padding:0;box-sizing:border-box}body,html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app-shell{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--bg-card);border-right:1px solid var(--border);padding:1.5rem 0;flex-shrink:0;position:fixed;top:0;left:0;bottom:0;overflow-y:auto}.sidebar-brand{padding:0 1.25rem 1.5rem;border-bottom:1px solid var(--border);margin-bottom:.75rem}.sidebar-brand h1{font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.sidebar-brand p{font-size:.7rem;color:var(--text-dim);margin-top:.15rem}.sidebar nav{display:flex;flex-direction:column;gap:.125rem}.sidebar nav a{display:flex;align-items:center;gap:.65rem;padding:.6rem 1.25rem;font-size:.825rem;color:var(--text-dim);transition:all .15s;text-decoration:none}.sidebar nav a.active,.sidebar nav a:hover{background:var(--bg-hover);color:var(--text)}.sidebar nav a.active{border-left:3px solid var(--accent);padding-left:calc(1.25rem - 3px);color:var(--accent)}.sidebar-footer{position:absolute;bottom:0;left:0;right:0;padding:.75rem 1.25rem;border-top:1px solid var(--border);background:var(--bg-card)}.sidebar-user{font-size:.7rem;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.5rem}.sidebar-logout{background:none;border:1px solid var(--border);color:var(--text-dim);padding:.4rem .75rem;border-radius:.3rem;font-size:.75rem;cursor:pointer;width:100%;transition:all .15s}.sidebar-logout:hover{background:var(--bg-hover);color:var(--red);border-color:var(--red)}.main-content{flex:1 1;margin-left:220px;padding:2rem 2.5rem;min-width:0}.page-header{margin-bottom:2rem}.page-header h2{font-size:1.35rem;font-weight:600}.page-header p{color:var(--text-dim);font-size:.825rem;margin-top:.25rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:2rem}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.15rem 1.25rem}.stat-card .label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin-bottom:.35rem}.stat-card .value{font-size:1.65rem;font-weight:700}.stat-card .value.green{color:var(--green)}.stat-card .value.red{color:var(--red)}.stat-card .value.yellow{color:var(--yellow)}.stat-card .value.blue{color:var(--accent)}.table-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:2rem}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);text-align:left;padding:.75rem 1rem;background:var(--bg)}.table-wrap td,.table-wrap th{border-bottom:1px solid var(--border)}.table-wrap td{padding:.65rem 1rem;font-size:.825rem;vertical-align:middle}.table-wrap tr:last-child td{border-bottom:none}.table-wrap tr:hover td{background:var(--bg-hover)}.badge{display:inline-block;padding:.15rem .5rem;border-radius:9999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge.green{background:rgba(34,197,94,.15);color:var(--green)}.badge.red{background:rgba(239,68,68,.15);color:var(--red)}.badge.yellow{background:rgba(234,179,8,.15);color:var(--yellow)}.badge.blue{background:rgba(59,130,246,.15);color:var(--accent)}.badge.gray{background:rgba(115,115,115,.15);color:var(--text-dim)}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;border-radius:6px;font-size:.775rem;font-weight:500;border:1px solid var(--border);cursor:pointer;transition:all .15s;background:var(--bg-card);color:var(--text)}.btn:hover{background:var(--bg-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:var(--red)}.btn-danger:hover{background:rgba(239,68,68,.2)}.btn-sm{padding:.3rem .6rem;font-size:.7rem}.section-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-bottom:1.5rem}.section-card .section-header{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;border-bottom:1px solid var(--border)}.section-card .section-header h3{font-size:.85rem;font-weight:600}.section-card .section-body{padding:1rem 1.25rem}.access-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:.75rem;gap:.75rem}.access-cell{border:1px solid var(--border);border-radius:8px;padding:.85rem 1rem;text-align:center}.access-cell .product-name{font-size:.775rem;font-weight:600;margin-bottom:.35rem}.access-cell .access-icon{font-size:1.35rem;margin-bottom:.2rem}.access-cell .access-source{font-size:.65rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em}.access-cell.allowed{border-color:rgba(34,197,94,.3);background:rgba(34,197,94,.05)}.access-cell.denied{border-color:rgba(239,68,68,.3);background:rgba(239,68,68,.05)}.kv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:.5rem 1.5rem;gap:.5rem 1.5rem}.kv-item{display:flex;flex-direction:column;gap:.1rem;padding:.4rem 0}.kv-item .kv-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim)}.kv-item .kv-value{font-size:.85rem;word-break:break-all}.loading{display:flex;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--text-dim);font-size:.85rem}.empty-state{text-align:center;padding:3rem 2rem;color:var(--text-dim);font-size:.825rem}.toast{position:fixed;top:1.5rem;right:1.5rem;padding:.75rem 1.25rem;border-radius:8px;font-size:.8rem;z-index:1000;animation:slide-in .3s ease}.toast.success{background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.3);color:var(--green)}.toast.error{background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.3);color:var(--red)}@keyframes slide-in{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.health-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:1.5rem}.health-item{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center}.health-item .health-label{font-size:.775rem;color:var(--text-dim)}.health-item .health-value{font-size:.825rem;font-weight:600}.toolbar{display:flex;gap:.75rem;align-items:center;margin-bottom:1.25rem;flex-wrap:wrap}.toolbar input,.toolbar select{padding:.45rem .75rem;font-size:.8rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text);outline:none}.toolbar input:focus,.toolbar select:focus{border-color:var(--accent)}.toolbar input::placeholder{color:var(--text-dim)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:500}.modal-box{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1.5rem;width:400px;max-width:90vw}.modal-box h3{font-size:1rem;margin-bottom:1rem}.modal-box label{display:block;font-size:.75rem;color:var(--text-dim);margin-bottom:.25rem;margin-top:.75rem}.modal-box input,.modal-box select{width:100%;padding:.5rem .75rem;font-size:.825rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);outline:none}.modal-box input:focus,.modal-box select:focus{border-color:var(--accent)}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem}@media (max-width:768px){.sidebar{display:none}.main-content{margin-left:0;padding:1.25rem}}