:root{--accent: #0f3d2a;--accent-light: #1c5a3f;--accent-dim: #e1ede7;--bg: #ffffff;--surface: #f6f8f7;--surface-raised: #ffffff;--border: #dce3df;--text: #1c1c1e;--text-secondary: #52606d;--text-muted: #7b8794;--success: #34c759;--warning: #ffcc00;--danger: #ff3b30;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 999px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-xxl: 28px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;padding:0;min-height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-light)}button{font-family:inherit;font-size:15px;cursor:pointer;border:none;background:none;color:inherit;padding:0}button:disabled{cursor:default;opacity:.55}input,textarea{font-family:inherit;font-size:15px;color:var(--text);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;outline:none;width:100%}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0f3d2a1f}.wrap{max-width:960px;margin:0 auto;padding:0 24px}.page{padding:32px 0 56px}.app-header{position:sticky;top:0;z-index:10;background:#ffffffeb;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border)}.app-header .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}.app-header .brand{font-weight:800;font-size:18px;color:var(--accent);letter-spacing:-.02em}.app-header .brand .sub{margin-left:8px;font-weight:500;color:var(--text-muted);font-size:13px;letter-spacing:0}.app-header nav{display:flex;align-items:center;gap:22px}.app-header nav a{font-weight:600;font-size:14px;color:var(--text-secondary)}.app-header nav a.active{color:var(--accent)}.app-header nav button{font-weight:600;font-size:14px;color:var(--text-secondary)}.app-header nav button:hover{color:var(--danger)}.card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.card+.card{margin-top:16px}.card h2{margin:0 0 12px;font-size:18px;letter-spacing:-.01em}.card h3{margin:0 0 8px;font-size:15px;font-weight:700}.card p{margin:0 0 8px;color:var(--text-secondary);font-size:14.5px}.muted{color:var(--text-muted)}.small{font-size:13px}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;font-weight:700;font-size:15px;padding:12px 22px;border-radius:var(--radius-md);transition:background .15s ease}.btn-primary:hover:not(:disabled){background:var(--accent-light)}.btn-primary:disabled{background:var(--text-muted)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent-dim);color:var(--accent);font-weight:600;font-size:14px;padding:10px 16px;border-radius:var(--radius-md)}.btn-secondary:hover{background:#d6e8de}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.stat .label{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.stat .value{font-size:28px;font-weight:800;letter-spacing:-.02em;color:var(--text)}.stat .sub{font-size:13px;color:var(--text-secondary);margin-top:4px}.code-chip{display:inline-flex;align-items:center;gap:12px;background:var(--accent-dim);color:var(--accent);padding:8px 14px;border-radius:var(--radius-md);font-family:SF Mono,Menlo,Consolas,monospace;font-weight:700;font-size:15px;letter-spacing:.04em}.code-chip .copy{background:var(--accent);color:#fff;border-radius:var(--radius-sm);padding:4px 10px;font-family:inherit;font-size:12px;cursor:pointer}.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl th,.tbl td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--border)}.tbl th{font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.tbl td.right,.tbl th.right{text-align:right}.tbl tr:last-child td{border-bottom:none}.banner{padding:12px 14px;border-radius:var(--radius-md);margin-bottom:16px;font-size:14px}.banner.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.banner.success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.login{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:linear-gradient(160deg,#f0f5f3,#fafbfa)}.login .card{width:100%;max-width:420px;padding:32px}.login h1{margin:0 0 8px;font-size:24px;letter-spacing:-.02em}.login form{margin-top:16px}.login label{display:block;font-weight:600;font-size:13px;margin-bottom:6px;color:var(--text-secondary)}.login .btn-primary{width:100%;margin-top:16px}.login .footer-note{margin-top:24px;padding-top:20px;border-top:1px solid var(--border);font-size:13px;color:var(--text-muted);text-align:center}.onboard{background:linear-gradient(135deg,#f0f5f3 0%,var(--surface-raised) 100%);border:1px solid var(--accent-dim)}.onboard h2{color:var(--accent)}.onboard ol{margin:16px 0 0;padding-left:20px}.onboard li{margin-bottom:12px;color:var(--text-secondary)}.onboard li strong{color:var(--text)}.onboard .template{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;margin-top:8px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px;color:var(--text);white-space:pre-wrap}.onboard .template-row{display:flex;align-items:flex-start;gap:8px;margin-top:8px}.onboard .template-row .template{flex:1;margin:0}@media (max-width: 720px){.stat-grid{grid-template-columns:repeat(2,1fr)}.app-header .wrap{height:56px}.app-header .brand .sub{display:none}.app-header nav{gap:14px}.app-header nav a{font-size:13px}}
