*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";color:#0f172a}a{color:inherit;text-decoration:none}.muted{color:#64748b}.card{background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:16px;box-shadow:0 1px 2px #0f172a0f}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:12px;padding:10px 14px;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:#2563eb;color:#fff;box-shadow:0 8px 18px #2563eb40}.btn-primary:hover{background:#1d4ed8}.btn-success{background:#16a34a;color:#fff;box-shadow:0 8px 18px #16a34a38}.btn-success:hover{background:#15803d}.btn-ghost{background:transparent;border-color:#0f172a2e;color:#0f172a}.btn-ghost:hover{background:#0f172a0a}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid rgba(15,23,42,.12);background:#f8fafc;color:#334155;font-size:12px;font-weight:600}.badge--ok{background:#ecfdf5;border-color:#10b98140;color:#065f46}.badge--warn{background:#fffbeb;border-color:#f59e0b59;color:#92400e}.badge--danger{background:#fef2f2;border-color:#ef444459;color:#991b1b}.badge--info{background:#eff6ff;border-color:#3b82f64d;color:#1e40af}.form-label{display:block;font-size:12px;font-weight:700;color:#334155;margin-bottom:6px}.input{width:100%;padding:10px 12px;border-radius:12px;border:1px solid rgba(15,23,42,.18);background:#fff;outline:none}.input:focus{border-color:#2563eb8c;box-shadow:0 0 0 4px #2563eb1f}.table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden}.table th,.table td{padding:10px 12px;border-bottom:1px solid rgba(15,23,42,.08);font-size:13px}.table th{text-align:left;font-size:12px;color:#475569;background:#f8fafc}.table tr:last-child td{border-bottom:none}
