:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f6f8;--surface:#fff;--surface-2:#f9fafb;--border:#e6e8ec;--border-strong:#d3d7dd;--text:#111827;--text-muted:#6b7280;--text-subtle:#9ca3af;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-soft:#eff4ff;--danger:#dc2626;--danger-hover:#b91c1c;--sidebar-bg:#0f172a;--sidebar-text:#cbd5e1;--sidebar-active-bg:#1e293b;--r-sm:6px;--r-md:8px;--r-lg:12px;--shadow-sm:0 1px 2px #1018280a, 0 1px 3px #1018280f;--shadow-md:0 2px 4px #1018280a, 0 4px 12px #10182814;--ease-out:cubic-bezier(.23, 1, .32, 1);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-size:14px;line-height:1.5}.layout{min-height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);color:#fff;flex-direction:column;flex-shrink:0;width:236px;padding:22px 14px;display:flex}.sidebar h1{letter-spacing:-.01em;align-items:center;gap:8px;margin:0 8px 22px;font-size:1.05rem;font-weight:700;display:flex}.sidebar h1:before{content:"";background:var(--primary);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 3px #2563eb40}.sidebar nav{flex-direction:column;gap:2px;display:flex}.sidebar a{color:var(--sidebar-text);border-radius:var(--r-sm);transition:background .14s var(--ease-out), color .14s var(--ease-out);padding:9px 12px;font-size:.9rem;font-weight:500;text-decoration:none;position:relative}@media (hover:hover) and (pointer:fine){.sidebar a:hover{background:var(--sidebar-active-bg);color:#fff}}.sidebar a.active{background:var(--sidebar-active-bg);color:#fff}.sidebar a.active:before{content:"";background:var(--primary);border-radius:0 3px 3px 0;width:3px;height:18px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar .user-info{border-top:1px solid var(--sidebar-active-bg);color:var(--text-subtle);word-break:break-word;margin-top:auto;padding-top:16px;font-size:.8rem}.content{max-width:1200px;animation:content-in .2s var(--ease-out) both;flex:1;padding:32px 40px}@keyframes content-in{0%{opacity:0;transform:translateY(6px)}}h2{letter-spacing:-.02em;margin:0 0 20px;font-size:1.5rem;font-weight:700}h3{letter-spacing:-.01em;margin:0 0 14px;font-size:1.02rem;font-weight:650}a{color:var(--primary)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:20px;padding:22px}table{border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:100%;box-shadow:var(--shadow-sm);overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:11px 14px;font-size:.88rem}th{background:var(--surface-2);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.76rem;font-weight:600}tbody tr{transition:background .12s var(--ease-out)}@media (hover:hover) and (pointer:fine){tbody tr:hover{background:var(--surface-2)}}tbody tr:last-child td{border-bottom:none}td a{font-weight:500;text-decoration:none}@media (hover:hover) and (pointer:fine){td a:hover{text-decoration:underline}}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-grid label{color:var(--text-muted);flex-direction:column;gap:6px;min-width:0;font-size:.85rem;font-weight:500;display:flex}.form-grid input,.form-grid select{width:100%;min-width:0;max-width:100%}.cat-cell{max-width:300px}.cat-cell .cat-name{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}input,select{border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text);background:var(--surface);transition:border-color .14s var(--ease-out), box-shadow .14s var(--ease-out);padding:9px 11px;font-family:inherit;font-size:.9rem}input:focus,select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb26}input:disabled,select:disabled{background:var(--surface-2);color:var(--text-subtle);cursor:not-allowed}button{background:var(--primary);color:#fff;border-radius:var(--r-sm);cursor:pointer;transition:background .14s var(--ease-out), transform .14s var(--ease-out), box-shadow .14s var(--ease-out);border:none;padding:9px 16px;font-family:inherit;font-size:.88rem;font-weight:600}@media (hover:hover) and (pointer:fine){button:hover{background:var(--primary-hover)}}button:active{transform:scale(.97)}button:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb59}button:disabled{background:var(--border-strong);color:#fff;cursor:not-allowed;transform:none}button.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border-strong)}@media (hover:hover) and (pointer:fine){button.secondary:hover{background:var(--surface-2)}}button.secondary:disabled{color:var(--text-subtle);background:var(--surface-2)}button.danger{background:var(--danger)}@media (hover:hover) and (pointer:fine){button.danger:hover{background:var(--danger-hover)}}.badge{text-transform:capitalize;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.76rem;font-weight:600;line-height:1.4;display:inline-flex}.badge:before{content:"";opacity:.7;background:currentColor;border-radius:50%;width:6px;height:6px}.badge-ok{color:#15803d;background:#dcfce7}.badge-warn{color:#a16207;background:#fef9c3}.badge-error{color:#b91c1c;background:#fee2e2}.badge-neutral{color:#4b5563;background:#eef0f3}.error-text{color:var(--danger-hover);font-size:.85rem}.actions-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.checkbox-row{border-radius:var(--r-sm);transition:background .12s var(--ease-out);align-items:center;gap:8px;padding:7px 8px;font-size:.9rem;display:flex}@media (hover:hover) and (pointer:fine){.checkbox-row:hover{background:var(--surface-2)}}.checkbox-row input,input[type=checkbox]{width:auto;accent-color:var(--primary);cursor:pointer}input[type=file]{border:1px dashed var(--border-strong);background:var(--surface-2);cursor:pointer}@media (prefers-reduced-motion:reduce){.content{animation:none}*{transition-duration:.01ms!important}}@media (width<=720px){.layout{flex-direction:column}.sidebar{flex-flow:wrap;align-items:center;gap:8px;width:100%;padding:12px 16px}.sidebar h1{margin:0 12px 0 0}.sidebar nav{flex-flow:wrap}.sidebar .user-info{border-top:none;margin-top:0;margin-left:auto;padding-top:0}.content{padding:20px 16px}.form-grid{grid-template-columns:1fr}}
