:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 72.2% 50.6%;--destructive-foreground: 210 40% 98%;--success: 142.1 70.6% 35.3%;--warning: 32.1 94.6% 43.7%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 222.2 84% 4.9%;--radius: .5rem;color-scheme:light}@media(prefers-color-scheme:dark){:root{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 47.4% 11.2%;--card-foreground: 210 40% 98%;--primary: 210 40% 98%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 50.6%;--destructive-foreground: 210 40% 98%;--success: 142.1 70.6% 45.3%;--warning: 32.1 94.6% 53.7%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 20%;--ring: 212.7 26.8% 83.9%;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font:14px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:hsl(var(--background));color:hsl(var(--foreground))}a{color:inherit;text-decoration:none}.topbar{display:flex;align-items:center;gap:24px;padding:0 20px;height:56px;background:hsl(var(--card));border-bottom:1px solid hsl(var(--border));position:sticky;top:0;z-index:20}.brand{font-weight:600;font-size:15px}.topbar nav{display:flex;gap:4px}.topbar nav a{color:hsl(var(--muted-foreground));padding:6px 10px;border-radius:var(--radius);font-weight:500}.topbar nav a:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.topbar nav a.on{color:hsl(var(--foreground));background:hsl(var(--accent))}main{max-width:1120px;margin:0 auto;padding:28px 20px 64px}h1{font-size:22px;font-weight:600;letter-spacing:-.01em;margin:0 0 4px}.sub{color:hsl(var(--muted-foreground));margin:0 0 22px;max-width:70ch}.muted{color:hsl(var(--muted-foreground))}.card{background:hsl(var(--card));color:hsl(var(--card-foreground));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) + 2px);box-shadow:0 1px 2px hsl(var(--foreground) / .04)}.table-wrap{overflow-x:auto}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;font:inherit;font-weight:500;border-radius:var(--radius);border:1px solid transparent;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,opacity .15s}button:hover,.btn:hover{background:hsl(var(--secondary) / .7)}.btn-primary,button.primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn-primary:hover,button.primary:hover{background:hsl(var(--primary) / .9)}.btn-outline,button.outline{background:transparent;border-color:hsl(var(--border));color:hsl(var(--foreground))}.btn-outline:hover,button.outline:hover{background:hsl(var(--accent))}.btn-ghost,button.ghost{background:transparent;color:hsl(var(--foreground))}.btn-ghost:hover,button.ghost:hover{background:hsl(var(--accent))}.btn-destructive,button.destructive{background:transparent;color:hsl(var(--destructive));border-color:hsl(var(--border))}.btn-destructive:hover,button.destructive:hover{background:hsl(var(--destructive));color:hsl(var(--destructive-foreground));border-color:transparent}.btn-sm{height:30px;padding:0 10px;font-size:13px}.btn-icon{width:30px;height:30px;padding:0}button:disabled{opacity:.55;cursor:default}.input,.select,input,select,textarea{height:36px;width:100%;padding:0 10px;font:inherit;background:hsl(var(--background));color:hsl(var(--foreground));border:1px solid hsl(var(--input));border-radius:var(--radius);transition:border-color .15s,box-shadow .15s}textarea{height:auto;padding:8px 10px;min-height:72px}select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 8px center;padding-right:30px}input::placeholder,textarea::placeholder{color:hsl(var(--muted-foreground))}button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--background)),0 0 0 4px hsl(var(--ring))}table{width:100%;border-collapse:collapse;font-size:14px}thead th{text-align:left;padding:10px 14px;font-size:12px;font-weight:500;color:hsl(var(--muted-foreground));border-bottom:1px solid hsl(var(--border));background:hsl(var(--muted) / .4)}tbody td{padding:12px 14px;border-bottom:1px solid hsl(var(--border));vertical-align:top}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:hsl(var(--muted) / .35)}.badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:12px;font-weight:500;border-radius:999px;border:1px solid transparent;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.badge-outline{background:transparent;border-color:hsl(var(--border));color:hsl(var(--muted-foreground))}.badge-success{background:hsl(var(--success) / .15);color:hsl(var(--success))}.badge-warning{background:hsl(var(--warning) / .15);color:hsl(var(--warning))}.badge-destructive{background:hsl(var(--destructive) / .12);color:hsl(var(--destructive))}.badge-accent{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}.toolbar input,.toolbar select{width:auto}.toolbar .grow{flex:1 1 220px;min-width:180px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label,.lbl{font-size:12px;font-weight:500;color:hsl(var(--foreground))}.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;align-items:end}@media(max-width:720px){.form-grid>*{grid-column:1 / -1!important}}.empty{padding:44px;text-align:center;color:hsl(var(--muted-foreground))}.row-actions{display:flex;gap:6px}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%) translateY(8px);background:hsl(var(--foreground));color:hsl(var(--background));padding:10px 16px;border-radius:var(--radius);font-size:13px;font-weight:500;box-shadow:0 8px 24px hsl(var(--foreground) / .18);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}
