:root{--cp-blue-strong:#2e6ad9;--cp-blue:#4f8cff;--cp-blue-hover:#1f56be;--cp-green:#1f9d72;--cp-bg-light:#f4f6fa;--cp-surface-light:#ffffff;--cp-surface-light-2:#eef2f7;--cp-text-light:#0f172a;--cp-muted-light:#5b6573;--cp-border-light:rgba(15,23,42,0.09);--cp-bg-dark:#0e1116;--cp-surface-dark:#171b21;--cp-surface-dark-2:#20262e;--cp-text-dark:#e8eaed;--cp-muted-dark:#9aa3af;--cp-border-dark:rgba(255,255,255,0.1);--background:var(--cp-bg-light);--foreground:var(--cp-text-light);--card:var(--cp-surface-light);--card-foreground:var(--cp-text-light);--muted:var(--cp-surface-light-2);--muted-foreground:var(--cp-muted-light);--primary:var(--cp-text-light);--accent:var(--cp-blue-strong);--accent-hover:var(--cp-blue-hover);--accent-weak:rgba(46,106,217,0.1);--accent-foreground:#ffffff;--border:var(--cp-border-light);--ring:var(--cp-blue-strong);--success:#16a34a;--danger:#dc2626;--warning:#b45309;--shadow-sm:0 1px 2px rgba(15,23,42,0.06),0 1px 1px rgba(15,23,42,0.04);--shadow-md:0 4px 12px rgba(15,23,42,0.08),0 2px 4px rgba(15,23,42,0.04);--shadow-lg:0 18px 40px rgba(15,23,42,0.12);--radius-sm:8px;--radius:12px;--radius-lg:16px;--header-h:60px;--content-max:1240px}html[data-theme=dark]{--background:var(--cp-bg-dark);--foreground:var(--cp-text-dark);--card:var(--cp-surface-dark);--card-foreground:var(--cp-text-dark);--muted:var(--cp-surface-dark-2);--muted-foreground:var(--cp-muted-dark);--accent:var(--cp-blue);--accent-hover:var(--cp-blue-hover);--accent-weak:rgba(79,140,255,0.16);--accent-foreground:#ffffff;--border:var(--cp-border-dark);--ring:var(--cp-blue-hover);--shadow-sm:0 1px 2px rgba(0,0,0,0.4);--shadow-md:0 6px 16px rgba(0,0,0,0.45);--shadow-lg:0 20px 44px rgba(0,0,0,0.55)}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--background);color:var(--foreground);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}h1,h2,h3{letter-spacing:-.01em;line-height:1.25}:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:4px}.container{max-width:var(--content-max);margin:0 auto;padding:0 28px;width:100%}@media (max-width:640px){.container{padding:0 16px}}.page{padding-top:36px}.page,.page-form{padding-bottom:64px}.page-form{max-width:820px;padding-top:40px}@media (max-width:640px){.page,.page-form{padding-top:24px;padding-bottom:48px}}.print-only{display:none}@media print{.print-hide{display:none!important}.print-only{display:block!important}.print-header{display:flex!important}.card-surface{box-shadow:none!important;border:1px solid #ddd!important;page-break-inside:avoid;break-inside:avoid}.page{padding-top:0!important}body{background:#fff!important}}.btn-ghost,.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:var(--radius-sm);font-weight:600;font-size:14px;line-height:1.2;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .05s ease;white-space:nowrap}.btn-primary{background:var(--accent);color:var(--accent-foreground);border:1px solid transparent;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{transform:translateY(.5px)}.btn-secondary{background:var(--card);color:var(--foreground);border:1px solid var(--border)}.btn-secondary:hover{background:var(--muted);border-color:var(--muted-foreground)}.btn-ghost{background:transparent;color:var(--muted-foreground);border:1px solid transparent}.btn-ghost:hover{background:var(--muted);color:var(--foreground)}.btn-ghost:disabled,.btn-primary:disabled,.btn-secondary:disabled{opacity:.55;cursor:not-allowed}.btn-sm{padding:6px 12px;font-size:13px}.card-surface{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm)}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--accent-weak);color:var(--accent);border:1px solid transparent}