:root { --bg:#f4f5f7; --card:#fff; --fg:#1a1a2e; --muted:#6b7280; --accent:#f2543d; --accent2:#0563C1; --border:#e2e4e9; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; background:var(--bg); color:var(--fg); }
.card { max-width: 520px; margin: 40px auto; background:var(--card); border:1px solid var(--border); border-radius:14px; padding:28px; }
h1 { font-size:20px; text-align:center; margin:0 0 20px; }
label { display:block; font-weight:600; font-size:14px; margin:16px 0 6px; }
select, input[type=text] { width:100%; padding:10px 12px; border:1px solid var(--border); border-radius:8px; font-size:15px; background:#fff; }
select:disabled, input:disabled { background:#f0f0f3; color:var(--muted); }
.btn { display:block; width:100%; padding:12px; margin-top:10px; border:1px solid var(--border); border-radius:8px; background:#fff; font-size:15px; font-weight:600; cursor:pointer; }
.btn:hover { background:#f7f7f9; }
.btn.primary { background:var(--accent); color:#fff; border-color:var(--accent); margin-top:20px; }
.btn.primary:disabled { opacity:.5; cursor:not-allowed; }
.link { background:none; border:none; color:var(--accent2); cursor:pointer; font-size:13px; padding:0; }
.muted { color:var(--muted); font-weight:400; }
.error { color:#c0392b; font-size:14px; }
.status { margin-top:16px; padding:10px 12px; border-radius:8px; font-size:14px; }
.status.ok { background:#e8f6ec; color:#1e7e34; }
.status.err { background:#fdecea; color:#c0392b; }
.status.info { background:#eef2fb; color:#31508a; }
.row-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.suggest { list-style:none; margin:4px 0 0; padding:0; border:1px solid var(--border); border-radius:8px; max-height:220px; overflow:auto; }
.suggest li { padding:9px 12px; cursor:pointer; font-size:14px; border-bottom:1px solid var(--border); }
.suggest li:last-child { border-bottom:none; }
.suggest li:hover { background:#f2f5fb; }
.selected { margin:6px 0 0; font-size:14px; color:var(--accent2); font-weight:600; }

.sub { text-align:center; margin:-8px 0 8px; font-size:14px; }
