:root{--bg:#f5f6f8;--surface:#fff;--text:#17191c;--muted:#5d6470;--border:#dde1e6;--primary:#1f5eff;--primary-ink:#fff;--danger:#c62828;--ok:#1b7f3b;--warn:#a86400;--radius:10px;--shadow:0 1px 2px #0000000f;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}*,:before,:after{box-sizing:border-box}body{background:var(--bg);margin:0}h1,h2,h3{margin:0 0 .5rem;line-height:1.2}h1{font-size:1.4rem}h2{font-size:1.1rem}a{color:var(--primary)}.container{max-width:1080px;margin:0 auto;padding:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:16px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.muted{color:var(--muted);font-size:.9rem}.field{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.field label{font-size:.92rem;font-weight:600}.field .hint{color:var(--muted);font-size:.82rem}.field .error{color:var(--danger);font-size:.85rem}.grid{grid-template-columns:1fr;gap:0 16px;display:grid}@media (width>=720px){.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:1fr 1fr 1fr}}input[type=text],input[type=email],input[type=password],input[type=url],input[type=number],input[type=time],input[type=date],input[type=search],select,textarea{width:100%;min-height:44px;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 10px}textarea{resize:vertical;min-height:96px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 45%, transparent);outline-offset:1px}.invalid{border-color:var(--danger)!important}.checkbox{align-items:center;gap:8px;min-height:44px;font-weight:600;display:flex}.checkbox input{width:20px;height:20px}.btn{min-height:44px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:#b8bec7}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{color:var(--primary-ink);background:var(--primary);border-color:var(--primary)}.btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, var(--border))}.btn.small{min-height:36px;padding:4px 10px;font-size:.9rem}.alert{border:1px solid;border-radius:8px;margin-bottom:12px;padding:10px 12px}.alert.error{color:var(--danger);background:#fdecec;border-color:#f3c0c0}.alert.success{color:var(--ok);background:#e9f6ee;border-color:#b9e0c6}.alert.info{color:#234;background:#eef3ff;border-color:#cdd9ff}.badge{color:var(--muted);white-space:nowrap;background:#eceff3;border-radius:999px;padding:2px 8px;font-size:.78rem;font-weight:700;display:inline-block}.badge.ok{color:var(--ok);background:#e3f4e8}.badge.down{color:var(--danger);background:#fde7e7}.badge.warn{color:var(--warn);background:#fff1dc}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 8px}.table th{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:.82rem}@media (width<=719px){.table thead{display:none}.table tr{border-bottom:1px solid var(--border);padding:10px 0;display:block}.table td{border:0;justify-content:space-between;gap:12px;padding:4px 0;display:flex}.table td:before{content:attr(data-label);color:var(--muted);font-size:.85rem}}code,.mono{word-break:break-all;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.86rem}.app-header[data-v-6fc30ba2]{background:var(--surface);border-bottom:1px solid var(--border)}.inner[data-v-6fc30ba2]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:10px;padding-bottom:10px;display:flex}.brand[data-v-6fc30ba2]{color:var(--text);font-weight:800;text-decoration:none}.nav-link[data-v-6fc30ba2]{color:var(--muted);border-radius:8px;padding:8px 10px;font-weight:600;text-decoration:none}.nav-link.router-link-active[data-v-6fc30ba2]{color:var(--primary);background:#eef3ff}
