:root { color-scheme: light dark; --fg:#0b1f1a; --muted:#5a6b66; --bg:#fbfdfc; --card:#fff; --brand:#0E7C66; --brand2:#1FB874; --border:rgba(14,124,102,.16); --err:#E5484D; }
@media (prefers-color-scheme: dark){ :root{ --fg:#eafff7; --muted:#93a8a1; --bg:#07100d; --card:#0f1a16; --border:rgba(31,184,116,.22);} }
* { box-sizing:border-box; }
body { margin:0; color:var(--fg); background:var(--bg); font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; }
.wrap { max-width:640px; margin:0 auto; padding:40px 22px 80px; }
.nav { display:flex; align-items:center; gap:14px; max-width:960px; margin:0 auto; padding:16px 22px; }
.nav .logo { width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--brand),var(--brand2));display:grid;place-items:center;color:#fff;font-weight:700; }
.nav a { color:var(--fg); text-decoration:none; font-weight:600; font-size:.95rem; }
.nav .sp { flex:1; }
h1 { font-size:1.8rem; margin:.2em 0 .1em; }
.sub { color:var(--muted); margin:0 0 26px; }
.card { background:var(--card); border:1px solid var(--border); border-radius:16px; padding:22px; margin-bottom:18px; }
label { display:block; font-weight:600; font-size:.9rem; margin:14px 0 6px; }
input, textarea, select { width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:11px; background:transparent; color:var(--fg); font:inherit; }
textarea { min-height:88px; resize:vertical; }
.row { display:flex; gap:12px; } .row > * { flex:1; }
button { width:100%; margin-top:20px; padding:14px; border:0; border-radius:12px; font:inherit; font-weight:700; color:#fff; background:linear-gradient(135deg,var(--brand),var(--brand2)); cursor:pointer; }
button.secondary { background:transparent; color:var(--brand); border:1px solid var(--border); }
.msg { display:none; padding:12px 14px; border-radius:11px; margin-top:16px; font-weight:600; font-size:.92rem; }
.msg.ok { background:rgba(31,184,116,.14); color:var(--brand); }
.msg.err { background:rgba(229,72,77,.14); color:var(--err); }
.muted { color:var(--muted); font-size:.9rem; }
a.link { color:var(--brand); }
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:14px; }
.pill { display:inline-block; font-size:.78rem; font-weight:700; padding:3px 9px; border-radius:99px; background:rgba(14,124,102,.12); color:var(--brand); }
.item { border:1px solid var(--border); border-radius:13px; padding:14px; }
.item h3 { margin:0 0 4px; font-size:1rem; } .item .m { color:var(--muted); font-size:.85rem; }
