*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;background:radial-gradient(circle at top,#020617 0 45%,#020617);color:#e5e7eb}button{font-family:inherit}input,select,button,textarea{border-radius:.375rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .9rem;border-radius:.375rem;border:1px solid transparent;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .05s ease}.btn-primary{background:#3b82f6;border-color:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb;border-color:#2563eb}.btn-outline{background:transparent;border-color:#4b5563;color:#e5e7eb}.btn-outline:hover{background:#111827}.input,.select{width:100%;padding:.5rem .75rem;border-radius:.375rem;border:1px solid #4b5563;background:#020617;color:#e5e7eb;font-size:.875rem}.input:focus,.select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6b3}.card{background:#020617;border-radius:.75rem;border:1px solid #111827;box-shadow:0 18px 45px #0f172ab3;padding:1rem}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.card-title{font-size:.95rem;font-weight:600}.card-subtitle{font-size:.8rem;color:#9ca3af}.field{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem}.field+.field{margin-top:.75rem}.field-label{color:#9ca3af}.field-required:after{content:"*";color:#f97316;margin-left:.15rem}.layout-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.layout-sidebar{background:#020617;border-right:1px solid rgba(15,23,42,.9);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:1.25rem}.layout-main{display:flex;flex-direction:column}.layout-topbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;border-bottom:1px solid #0f172a;background:#0f172abf;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.layout-content{padding:1.25rem 1.5rem 1.5rem}.nav-link{display:flex;align-items:center;gap:.4rem;padding:.45rem .6rem;border-radius:.375rem;font-size:.85rem;color:#d1d5db;text-decoration:none}.nav-link-active{background:#2563eb2e;color:#eff6ff}.nav-link:hover{background:#0f172acc}.table{width:100%;border-collapse:collapse;font-size:.8rem}.table th,.table td{text-align:left;padding:.5rem}.table thead tr{border-bottom:1px solid #1f2937;color:#9ca3af}.table tbody tr{border-bottom:1px solid #020617}.table tbody tr:nth-child(2n){background:#0f172a66}.badge{display:inline-flex;align-items:center;padding:.15rem .4rem;border-radius:999px;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.badge-soft{background:#3b82f62e;color:#bfdbfe}.pill{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:999px;background:#0f172ae6;border:1px solid #1e293b;font-size:.75rem;color:#9ca3af}.muted{color:#6b7280}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.page-title{font-size:1.25rem;font-weight:600}.page-subtitle{font-size:.85rem;color:#9ca3af}.two-col{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1rem}.stack{display:flex;flex-direction:column;gap:.75rem}.chip-row{display:flex;flex-wrap:wrap;gap:.4rem}.danger-text{color:#f97373}.danger-outline{border-color:#f97373;color:#fecaca}.danger-outline:hover{background:#f871711a}@media(max-width:900px){.layout-shell{grid-template-columns:1fr}.layout-sidebar{position:fixed;z-index:30;inset:0 auto 0 0;width:220px;transform:translate(-100%);box-shadow:0 20px 45px #0009}.layout-shell--sidebar-open .layout-sidebar{transform:translate(0)}.layout-sidebar-overlay{position:fixed;inset:0;background:#0f172abf;z-index:20}.topbar-menu-btn{display:inline-flex}.layout-content{padding:.9rem .9rem 1rem}.page-heading{flex-direction:column;align-items:flex-start;gap:.5rem}.two-col{grid-template-columns:minmax(0,1fr)}.card{box-shadow:0 12px 30px #0f172ab3}}@media(min-width:901px){.layout-sidebar-overlay,.topbar-menu-btn{display:none}}
