:root{--ink:#16211e;--muted:#5d6b66;--line:#dfe6e3;--paper:#f7faf9;--card:#fff;--brand:#0e8f7e;--brand-soft:#e3f4f1;--brand-ink:#fff;--danger:#b3261e;--danger-soft:#fbe9e7;--warn:#8a5a00;--warn-soft:#fdf1d8}@media (prefers-color-scheme:dark){:root{--ink:#e8efec;--muted:#9dada7;--line:#2b3835;--paper:#101614;--card:#17201d;--brand:#2bb5a2;--brand-soft:#16302c;--brand-ink:#06110f;--danger:#f2b8b5;--danger-soft:#3a1f1d;--warn:#f0c36a;--warn-soft:#352a12}}*{box-sizing:border-box}body{background:var(--paper);min-height:100vh;color:var(--ink);margin:0;font:15px/1.6 system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif}a{color:var(--brand)}h1{margin:0 0 8px;font-size:20px}h2{margin:28px 0 8px;font-size:16px}p{color:var(--muted);margin:0 0 16px}p.error{color:var(--danger)}p.notice{background:var(--warn-soft);color:var(--warn);border-radius:8px;padding:10px 12px}label{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}input[type=email],input[type=text],input[type=number],select{border:1px solid var(--line);width:100%;color:inherit;font:inherit;background:0 0;border-radius:8px;padding:10px 12px}.field{margin-bottom:14px}.actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.choices{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.choices label{color:var(--ink);align-items:center;gap:6px;margin:0;font-size:15px;display:inline-flex}.choices input[type=number]{width:120px;padding:6px 10px}button,a.button{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:9px 16px;text-decoration:none;display:inline-flex}button.primary,a.button.primary{border-color:var(--brand);background:var(--brand);color:var(--brand-ink);font-weight:600}button.danger{border-color:var(--danger);color:var(--danger)}button.small,a.button.small{padding:4px 10px;font-size:13px}button.link{color:var(--muted);border:0;padding:0;text-decoration:underline}button:disabled{opacity:.6;cursor:progress}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--brand);outline-offset:2px}table{border-collapse:collapse;width:100%;margin:8px 0 20px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:8px 20px 8px 0;font-size:14px}th{color:var(--muted);white-space:nowrap;font-weight:500}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.muted{color:var(--muted)}.table-scroll{overflow-x:auto}.card{border:1px solid var(--line);background:var(--card);border-radius:14px;padding:24px}.badge{background:var(--brand-soft);color:var(--brand);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:12px;display:inline-block}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.quiet{border:1px solid var(--line);color:var(--muted);background:0 0}.meta{color:var(--muted);margin-top:20px;font-size:13px}.site-header{justify-content:space-between;align-items:center;gap:16px;max-width:1080px;margin:0 auto;padding:16px;display:flex}.brand{color:var(--brand);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand strong{color:var(--ink);letter-spacing:.08em;font-size:20px}.brand span{color:var(--muted);font-size:13px}.site-nav{align-items:center;gap:10px;display:flex}.site-nav a.plain{color:var(--ink);padding:9px 8px;text-decoration:none}.site-main{max-width:1080px;margin:0 auto;padding:24px 16px 64px}.site-main.narrow{max-width:520px;padding-top:48px}.site-main.medium{max-width:760px;padding-top:32px}.site-footer{border-top:1px solid var(--line);max-width:1080px;color:var(--muted);margin:0 auto;padding:24px 16px 40px;font-size:13px}.hero{text-align:center;padding:56px 0 40px}.hero h1{letter-spacing:.04em;margin:0 0 16px;font-size:clamp(34px,6vw,56px);line-height:1.15}.hero .lead{max-width:620px;margin:0 auto 28px;font-size:18px}.hero .actions{justify-content:center}.hero .actions .button{padding:12px 24px;font-size:16px}.hero .tagline{letter-spacing:.3em;margin:28px 0 0;font-size:12px}.section{padding:40px 0}.section>h2{text-align:center;margin:0 0 8px;font-size:24px}.section>p.sub{text-align:center;max-width:560px;margin:0 auto 28px}.grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;display:grid}.grid.five{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.grid .card h3{margin:0 0 6px;font-size:16px}.grid .card p{margin:0;font-size:14px}.grid .card .step{color:var(--brand);letter-spacing:.1em;margin-bottom:10px;font-size:13px;font-weight:600;display:inline-block}.band{background:var(--brand-soft);text-align:center;border-radius:18px;margin:24px 0 0;padding:36px 24px}.band h2{margin:0 0 16px;font-size:22px}.band .actions{justify-content:center;margin-top:0}.admin{grid-template-columns:220px minmax(0,1fr);min-height:100vh;display:grid}.admin-side{border-right:1px solid var(--line);background:var(--card);flex-direction:column;gap:4px;padding:20px 12px;display:flex}.admin-side .brand{margin:0 8px 4px}.admin-side .scope{color:var(--muted);margin:0 8px 16px;font-size:12px}.admin-side nav{flex-direction:column;gap:2px;display:flex}.admin-side nav a{color:var(--ink);border-radius:8px;padding:8px 10px;text-decoration:none}.admin-side nav a:hover{background:var(--paper)}.admin-side nav a[aria-current=page]{background:var(--brand-soft);color:var(--brand);font-weight:600}.admin-side .foot{color:var(--muted);overflow-wrap:anywhere;margin-top:auto;padding:8px;font-size:12px}.admin-side .foot a{color:inherit}.admin-main{min-width:0;padding:28px 32px 64px}.admin-main>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.admin-main>header h1{margin:0;font-size:22px}.admin-main>header p{margin:4px 0 0;font-size:13px}.crumb{margin:0 0 6px;font-size:13px}.crumb a{color:var(--muted)}.kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:24px;display:grid}.kpi{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:16px}.kpi span{color:var(--muted);font-size:13px;display:block}.kpi strong{font-variant-numeric:tabular-nums;margin-top:4px;font-size:24px;display:block}.kpi small{color:var(--muted)}.panel{border:1px solid var(--line);background:var(--card);border-radius:12px;margin-bottom:20px;padding:20px}.panel>h2{margin:0 0 12px;font-size:16px}.panel table{margin-bottom:0}.panel tr:last-child td{border-bottom:0}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.inline-form .field{flex:160px;margin:0}.inline-form .field.short{flex:0 120px}@media (max-width:760px){.admin{grid-template-columns:1fr}.admin-side{border-right:0;border-bottom:1px solid var(--line);flex-flow:wrap;align-items:center}.admin-side nav{flex-flow:wrap}.admin-side .scope,.admin-side .foot{display:none}.admin-main{padding:20px 16px 48px}}.admin-side .group{color:var(--muted);letter-spacing:.12em;margin:14px 10px 4px;font-size:11px}.admin-side nav a{justify-content:space-between;align-items:center;gap:8px;display:flex}.count{background:var(--danger-soft);min-width:20px;color:var(--danger);text-align:center;border-radius:999px;padding:0 6px;font-size:12px}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;margin:0 0 20px;display:flex}.tabs a{color:var(--muted);border-bottom:2px solid #0000;padding:8px 14px;text-decoration:none}.tabs a[aria-current=page]{border-bottom-color:var(--brand);color:var(--ink);font-weight:600}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.toolbar input[type=text]{width:260px;max-width:100%;padding:7px 10px}.toolbar .filters{flex-wrap:wrap;gap:6px;display:flex}.toolbar .filters a{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:4px 12px;font-size:13px;text-decoration:none}.toolbar .filters a[aria-current=true]{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}code.id{color:var(--muted);-webkit-user-select:all;user-select:all;font:12px ui-monospace,SFMono-Regular,Menlo,monospace}td .sub{color:var(--muted);font-size:12px;display:block}td .plus{color:var(--brand)}td .minus{color:var(--danger)}p.flash{background:var(--brand-soft);color:var(--brand);border-radius:8px;padding:10px 12px}p.flash.error{background:var(--danger-soft);color:var(--danger)}p.hint{margin:8px 0 0;font-size:13px}p.empty{text-align:center;margin:0;padding:20px 0}.title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}details.reveal>summary{cursor:pointer;list-style:none;display:inline-flex}details.reveal>summary::-webkit-details-marker{display:none}details.reveal[open]>summary{margin-bottom:14px}.spinner{border:2px solid var(--line);border-top-color:var(--brand);vertical-align:-3px;border-radius:50%;width:16px;height:16px;margin-right:8px;animation:.9s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}ul.tips{color:var(--muted);margin:0 0 16px;padding-left:20px;font-size:14px}
