@charset "UTF-8";:root{--bg:#f4f7fb;--surface:#fff;--ink:#12202e;--muted:#5b6b7b;--line:#e4eaf1;--brand:#1565c0;--brand-d:#0d47a1;--ok:#1b8a5a;--warn:#b26a00;--danger:#c0392b;--chip:#eef3f8;--radius:14px;--shadow-sm:0 1px 2px rgba(18,32,46,.05), 0 1px 5px rgba(18,32,46,.05);--shadow-md:0 6px 18px rgba(18,32,46,.09), 0 2px 5px rgba(18,32,46,.05)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}h1{font-size:1.55rem;font-weight:800;letter-spacing:-.02em;margin:.2em 0 .5em}h2{font-size:1.08rem;font-weight:800;letter-spacing:-.01em;margin:1.5em 0 .6em}h3{font-size:1rem;margin:0 0 .2em}.muted{color:var(--muted)}.wrap{max-width:880px;margin:0 auto;padding:0 16px}.section-head{display:flex;align-items:center;gap:8px;margin:1.6em 0 .7em}.section-head h2{margin:0}.count{font-size:.72rem;font-weight:700;color:var(--brand-d);background:var(--chip);border-radius:999px;padding:2px 9px}.card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:15px 16px;margin-bottom:12px;box-shadow:var(--shadow-sm);transition:box-shadow .16s ease,transform .16s ease,border-color .16s ease}a.card:hover{border-color:#bcd4f0;box-shadow:var(--shadow-md);transform:translateY(-2px);text-decoration:none}.grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:560px){.grid{grid-template-columns:1fr 1fr}}@media(min-width:820px){.grid{grid-template-columns:1fr 1fr 1fr}}.list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.list-row{display:flex;align-items:center;gap:12px;padding:13px 16px;color:inherit}.list-row+.list-row{border-top:1px solid var(--line)}a.list-row:hover{background:#f5f9fe;text-decoration:none}.list-row .main{flex:1;min-width:0}.list-row .title{display:block;font-weight:600}.list-row .sub{display:block;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row .side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.list-row .side .sub{font-size:.78rem}.chev{color:var(--muted);flex:none;font-size:1.1rem}.badge{display:inline-block;font-size:.7rem;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--chip);color:var(--brand-d);text-transform:uppercase;letter-spacing:.04em}.badge.ok{background:#e3f5ec;color:var(--ok)}.badge.warn{background:#fdf0dd;color:var(--warn)}.badge.danger{background:#fbe6e3;color:var(--danger)}.btn{display:inline-block;background:var(--brand);color:#fff;border:0;padding:10px 18px;border-radius:999px;font-weight:700;font-size:1rem;cursor:pointer;transition:background .15s ease,transform .1s ease}.btn:hover{background:var(--brand-d);text-decoration:none}.btn:active{transform:scale(.98)}.btn.ghost{background:var(--surface);color:var(--brand);border:1px solid var(--line);box-shadow:var(--shadow-sm)}.btn.ghost:hover{background:#f2f7fd;border-color:#bcd4f0}.btn.sm{padding:6px 14px;font-size:.85rem}.btn:disabled{opacity:.5;cursor:not-allowed}label{display:block;font-weight:600;margin:10px 0 4px;font-size:.92rem}input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #1565c01f}.field-error{color:var(--danger);font-size:.82rem;margin-top:4px}.row-inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.chip{display:inline-block;padding:6px 12px;border-radius:999px;background:var(--chip);color:var(--brand-d);font-size:.85rem;font-weight:600;cursor:pointer;border:1px solid transparent}.chip.active{background:var(--brand);color:#fff}.toast{padding:10px 14px;border-radius:10px;margin:10px 0}.toast.ok{background:#e3f5ec;color:var(--ok)}.toast.error{background:#fbe6e3;color:var(--danger)}
