:root{--sk-navy: #060b1f;--sk-navy-2: #0b1430;--sk-blue: #1450ff;--sk-blue-hover: #0f3fd1;--sk-electric: #3d7cff;--sk-sky: #7fb3ff;--sk-soft: #f3f6ff;--sk-bg: #f8fafc;--sk-surface: #ffffff;--sk-border: #e2e8f0;--sk-text: #0b1220;--sk-text-2: #475569;--sk-text-3: #64748b;--sk-placeholder: #94a3b8;--sk-error: #b91c1c;--sk-error-bg: #fef2f2;--sk-error-border: #fecaca;--sk-success: #166534;--sk-success-bg: #f0fdf4;--sk-success-border: #bbf7d0;--sk-warn: #92400e;--sk-warn-bg: #fffbeb;--sk-warn-border: #fde68a;--sk-radius: 14px;--sk-radius-sm: 10px;--sk-focus: 0 0 0 4px rgb(20 80 255 / 14%);--sk-shadow-btn: 0 10px 15px -3px rgb(20 80 255 / 30%);--sk-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}.page{max-width:1040px;margin:0 auto;padding:32px 24px 64px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.page-head h1{margin:0 0 4px;font-size:28px;font-weight:800;letter-spacing:-.5px;overflow-wrap:anywhere}.page-head p{margin:0;color:var(--sk-text-3)}.card{background:var(--sk-surface);border:1px solid var(--sk-border);border-radius:18px;padding:20px}.section-title{margin:0 0 12px;font-size:16px;font-weight:800}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border:1px solid var(--sk-border);border-radius:var(--sk-radius-sm);background:var(--sk-surface);color:var(--sk-text-2);font:inherit;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.btn:hover:not(:disabled){border-color:var(--sk-electric);color:var(--sk-blue)}.btn:focus-visible{outline:3px solid var(--sk-sky);outline-offset:2px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.primary{background:var(--sk-blue);border-color:var(--sk-blue);color:#fff}.btn.primary:hover:not(:disabled){background:var(--sk-blue-hover);color:#fff}.btn.danger{color:var(--sk-error);border-color:var(--sk-error-border)}.btn.danger:hover:not(:disabled){background:var(--sk-error-bg);border-color:var(--sk-error);color:var(--sk-error)}.btn.danger.solid{background:var(--sk-error);border-color:var(--sk-error);color:#fff}.btn.danger.solid:hover:not(:disabled){background:#991b1b;color:#fff}.btn.sm{padding:8px 12px;font-size:13px}.btn .spinner.dark{border-color:#1450ff40;border-top-color:var(--sk-blue);width:16px;height:16px;border-width:2px}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;background:var(--sk-soft);color:var(--sk-blue)}.badge.ok{background:var(--sk-success-bg);color:var(--sk-success)}.badge.warn{background:var(--sk-warn-bg);color:var(--sk-warn)}.badge.err{background:var(--sk-error-bg);color:var(--sk-error)}.badge.muted{background:#f1f5f9;color:var(--sk-text-3)}.chip{display:inline-block;padding:2px 10px;border-radius:999px;background:#f1f5f9;color:var(--sk-text-2);font-size:12px;font-weight:600}.chips{display:flex;flex-wrap:wrap;gap:6px}.notice{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;font-size:14px;background:var(--sk-soft);border:1px solid #dbe6ff;color:var(--sk-text-2);margin-bottom:16px}.notice app-icon{flex-shrink:0;margin-top:2px}.notice.ok{background:var(--sk-success-bg);border-color:var(--sk-success-border);color:var(--sk-success)}.notice.err{background:var(--sk-error-bg);border-color:var(--sk-error-border);color:var(--sk-error)}.notice.warn{background:var(--sk-warn-bg);border-color:var(--sk-warn-border);color:var(--sk-warn)}.link-back{display:inline-flex;align-items:center;gap:4px;margin-bottom:16px;font-weight:600;text-decoration:none}.link-back:hover{text-decoration:underline}.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:12px;background:var(--sk-soft);color:var(--sk-blue);font-weight:800;font-size:18px}.skeleton{border-radius:12px;background:linear-gradient(90deg,#eef2f7 25%,#f8fafc 37%,#eef2f7 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.field{margin-bottom:18px}.field label,.field .label{display:block;margin-bottom:6px;font-size:14px;font-weight:700;color:var(--sk-text)}.field .req{color:var(--sk-error)}.field .help{margin:6px 0 0;font-size:13px;color:var(--sk-text-3)}.field .error{margin:6px 0 0;font-size:13px;font-weight:600;color:var(--sk-error)}.field .control{position:relative;display:flex}.field input[type=text],.field input[type=password],.field input[type=url],.field input[type=search],.field select{width:100%;padding:12px 14px;background:var(--sk-surface);border:2px solid var(--sk-border);border-radius:var(--sk-radius-sm);font:inherit;font-size:15px;color:var(--sk-text)}.field input[type=text]:focus,.field input[type=password]:focus,.field input[type=url]:focus,.field input[type=search]:focus,.field select:focus{border-color:var(--sk-electric);box-shadow:var(--sk-focus);outline:none}.field input[type=text][aria-invalid=true],.field input[type=password][aria-invalid=true],.field input[type=url][aria-invalid=true],.field input[type=search][aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--sk-error)}.field .control.has-toggle input{padding-right:48px}.field .toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;padding:6px;border:0;border-radius:8px;background:none;color:var(--sk-text-3);cursor:pointer}.field .toggle:hover{color:var(--sk-blue)}.checks{display:grid;gap:8px}.checks label{display:flex;align-items:center;gap:10px;margin:0;padding:10px 12px;border:1px solid var(--sk-border);border-radius:var(--sk-radius-sm);font-weight:600;cursor:pointer}.checks input{width:18px;height:18px;accent-color:var(--sk-blue)}@media(max-width:560px){.page{padding:20px 16px 48px}.page-head h1{font-size:24px}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:var(--sk-font);font-size:15px;line-height:1.5;color:var(--sk-text);background:var(--sk-bg);-webkit-font-smoothing:antialiased}button,input,select{font-family:inherit}a{color:var(--sk-blue)}
