:root{--ink: #0e1a2b;--ink-2: #1b2a40;--sunset: #f16b1f;--sunset-strong: #c2510f;--sunset-soft: #fff0ea;--lagoon: #40b3a4;--lagoon-text: #0b7f75;--sand: #f6f3ee;--surface: #ffffff;--line: #e4dfd6;--text: #0e1a2b;--muted: #566173;--good: #0b7f4f;--bad: #c0352b;--radius: 14px;--radius-sm: 9px;--shadow: 0 1px 2px rgb(14 26 43 / 6%), 0 8px 24px rgb(14 26 43 / 8%);--font: "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);color:var(--text);background:var(--surface);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--sunset-strong)}:focus-visible{outline:3px solid var(--sunset);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:0 1.25rem;border-radius:999px;border:1.5px solid transparent;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .15s ease,background .15s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--sunset);color:var(--ink)}.btn-primary:hover{background:#f47f3d}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover{border-color:var(--ink)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}:root{--field-line: #d6d0c6;--field-bg: #ffffff;--focus: var(--ink);--focus-ring: rgb(14 26 43 / 12%);--good-bg: #e7f6ef;--bad-bg: #fdecea;--warn: #8a5300;--warn-bg: #fff4de;--info-bg: #e6f6f4}.stack{display:grid;gap:16px}.row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.spacer{flex:1}.field{display:grid;gap:6px}.field>label,.field>.label{font-weight:700;font-size:.92rem}.field input,.field select,.field textarea{width:100%;min-height:48px;padding:0 14px;border:1.5px solid var(--field-line);border-radius:var(--radius-sm);background:var(--field-bg);color:var(--text);font:inherit;font-size:1rem}.field textarea{min-height:96px;padding:12px 14px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-ring)}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--bad)}.field .hint{margin:0;font-size:.85rem;color:var(--muted)}.field .error{margin:0;font-size:.88rem;font-weight:600;color:var(--bad)}.field .ok{margin:0;font-size:.88rem;font-weight:600;color:var(--good)}.input-group{display:flex;align-items:stretch;border:1.5px solid var(--field-line);border-radius:var(--radius-sm);background:var(--field-bg);overflow:hidden}.input-group:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-ring)}.input-group[aria-invalid=true]{border-color:var(--bad)}.input-group input{border:0!important;box-shadow:none!important;min-width:0;flex:1}.input-group input{min-width:7ch}.input-group .addon{display:inline-flex;align-items:center;flex:0 1 auto;min-width:0;max-width:55%;padding:0 12px;color:var(--muted);font-weight:600;background:var(--sand);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.input-group .addon-btn{border:0;background:transparent;padding:0 14px;min-width:64px;font:inherit;font-weight:700;color:var(--muted);cursor:pointer}.btn-block{width:100%;min-height:52px}.btn-danger{background:var(--bad);color:#fff}.btn-danger:hover{background:#a62c23}.btn[disabled]{opacity:.6;cursor:not-allowed}.btn-sm{min-height:36px;padding:0 14px;font-size:.9rem}.link-btn{min-height:44px;padding:0 4px;border:0;background:none;font:inherit;font-weight:700;color:var(--sunset-strong);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.link-btn[disabled]{color:var(--muted);text-decoration:none;cursor:default}.alert{margin:0;padding:12px 14px;border-radius:var(--radius-sm);font-weight:600;font-size:.92rem}.alert.bad{background:var(--bad-bg);color:var(--bad)}.alert.good{background:var(--good-bg);color:var(--good)}.alert.info{background:var(--info-bg);color:var(--lagoon-text)}.alert.warn{background:var(--warn-bg);color:var(--warn)}.card{padding:20px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}.card>h2:first-child{margin-top:0}@media(min-width:720px){.card{padding:28px}}.badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:700;background:var(--sand);color:var(--muted);white-space:nowrap}.badge.good{background:var(--good-bg);color:var(--good)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.info{background:var(--info-bg);color:var(--lagoon-text)}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:20px}.page-head h1{margin:0;font-size:clamp(1.5rem,4vw,2rem);letter-spacing:-.02em}.page-head p{margin:4px 0 0;color:var(--muted)}.list{list-style:none;margin:0;padding:0}.list>li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:14px 0;border-bottom:1px solid var(--line)}.list>li:last-child{border-bottom:0}.muted{color:var(--muted)}.small{font-size:.85rem}dialog.sheet{width:min(480px,100% - 24px);padding:24px;border:0;border-radius:18px;box-shadow:0 30px 80px #0e1a2b59}dialog.sheet::backdrop{background:#0e1a2b73}dialog.sheet h2{margin:0 0 8px}.auth-page{min-height:100svh;display:grid;align-content:start;justify-items:center;padding:32px 16px 48px;background-color:#fff;background-image:linear-gradient(#ffffff59,#ffffff59 560px,#fff 720px),image-set(url(/auth-pattern.webp) type("image/webp"),url(/auth-pattern.jpg) type("image/jpeg"));background-size:100% 720px,1280px 720px;background-repeat:no-repeat;background-position:center top}@media(min-width:720px){.auth-page{background-image:linear-gradient(#ffffff59,#ffffff59),image-set(url(/auth-pattern.webp) type("image/webp"),url(/auth-pattern.jpg) type("image/jpeg"));background-size:cover;background-position:center;background-attachment:fixed}}.auth-page .auth-card{width:min(440px,100%);margin-top:24px;padding:28px 20px;border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}@media(min-width:520px){.auth-page{padding-top:64px}.auth-page .auth-card{padding:36px 32px}}.auth-page h1{margin:0 0 6px;font-size:1.6rem;letter-spacing:-.02em}.auth-page .sub{margin:0 0 22px;color:var(--muted)}.auth-page .foot{margin:20px 0 0;text-align:center;color:var(--muted);font-size:.92rem}.agree{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:8px 0;font-size:.92rem;line-height:1.45;cursor:pointer}.agree input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--focus)}
