:root{--color-primary: #3b6ea5;--color-primary-hover: #2d567f;--color-primary-soft: #e3eff7;--color-text: #1a2533;--color-text-muted: #5b6b7d;--color-border: #d8dee8;--color-border-soft: #eaeef4;--color-bg: #fbfcfd;--color-bg-card: #ffffff;--color-danger: #c0392b;--color-danger-soft: #fbeae6;--color-success: #27734d;--color-success-soft: #e1f0e7;--radius: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(20, 35, 60, .05), 0 2px 6px rgba(20, 35, 60, .04);--shadow-md: 0 4px 12px rgba(20, 35, 60, .08), 0 2px 4px rgba(20, 35, 60, .04);--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-weight:600;letter-spacing:-.01em;line-height:1.25;margin:0 0 .4em}h1{font-size:1.8rem}h2{font-size:1.35rem}h3{font-size:1.1rem}p{margin:0 0 .8em}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--color-text-muted)}.mono{font-family:var(--font-mono)}label{display:block;margin-bottom:1rem}label>span{display:block;font-weight:600;font-size:.88rem;margin-bottom:.3rem}input[type=text],input[type=email],input[type=password]{width:100%;padding:.55rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;background:var(--color-bg-card);transition:border-color .15s,box-shadow .15s}input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}small.help{display:block;color:var(--color-text-muted);font-size:.82rem;margin-top:.3rem}button{cursor:pointer;font:inherit;font-weight:500;padding:.55rem 1.1rem;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text);transition:background .15s,border-color .15s,transform .05s}button:hover:not(:disabled){background:var(--color-border-soft)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}button.primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}button.danger{color:var(--color-danger);border-color:var(--color-danger)}button.danger:hover:not(:disabled){background:var(--color-danger-soft)}.card{background:var(--color-bg-card);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.alert{padding:.7rem .95rem;border-radius:var(--radius);font-size:.9rem;margin-bottom:1rem}.alert.error{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger)}.alert.success{background:var(--color-success-soft);color:var(--color-success);border:1px solid var(--color-success)}.center-wrap{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem}.brand-mark{font-weight:700;font-size:1.4rem;letter-spacing:-.02em;color:var(--color-primary)}.brand-mark:after{content:" ·";color:var(--color-text-muted);font-weight:400}.tag{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.tag.trial{background:var(--color-primary-soft);color:var(--color-primary)}.tag.active{background:var(--color-success-soft);color:var(--color-success)}.tag.suspended,.tag.past_due{background:var(--color-danger-soft);color:var(--color-danger)}.tag.cancelled,.tag.free,.tag.starter,.tag.pro,.tag.pro_plus,.tag.enterprise{background:var(--color-border-soft);color:var(--color-text-muted)}
