/* Nysroc Accounts (sign-up, sign-in, account) on design system v1 tokens (brand/design-system/v1, copied to static/ds).
   CP-12: filled buttons use the text-safe accent (--ny-accent #C24D16, 4.9:1 on white); ember #EB6A2D is decoration only.
   Old --nysroc-* tokens stay imported for anything still referencing them. Owner: premium-experience. */
@import url("tokens.css");
@import url("ds/nysroc-tokens.css");
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url("ds/fonts/PlusJakartaSans-latin.woff2") format('woff2'),url("fonts/PlusJakartaSans-latin.woff2") format('woff2')}  /* self-hosted, no Google Fonts */
*{box-sizing:border-box}
body{margin:0;font-family:var(--ny-font-sans);color:var(--ny-text);min-height:100vh;line-height:var(--ny-leading-normal);-webkit-font-smoothing:antialiased;
  background:radial-gradient(1200px 380px at 85% -10%,rgba(235,106,45,.22),transparent 60%) top/100% min(440px,56vh) no-repeat,
  linear-gradient(180deg,var(--ny-navy-800),var(--ny-navy-700)) top/100% min(440px,56vh) no-repeat,var(--ny-canvas)}
.top{background:transparent}
a{color:var(--ny-link);text-underline-offset:2px}
a:hover{color:var(--ny-navy-700)}
:focus-visible{outline:2px solid var(--ny-focus);outline-offset:2px;border-radius:6px}
.top{display:flex;align-items:center;justify-content:space-between;max-width:1080px;margin:0 auto;padding:20px 24px;color:#fff}
.top img{height:36px;background:#fff;padding:7px 12px;border-radius:10px}
.top a{color:#fff;text-decoration:none;font-weight:600}.top a:hover{color:#fff;text-decoration:underline}
.top nav{display:flex;align-items:center;gap:16px}.top nav a{margin-left:0}.top nav a.lang{opacity:.92;font-weight:500}
.wrap{max-width:1080px;margin:0 auto;padding:8px 24px 64px;display:grid;gap:36px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}
.wrap.single{grid-template-columns:minmax(0,520px);justify-content:center}
.card{background:var(--ny-surface);color:var(--ny-text);border:1px solid var(--ny-border);border-radius:var(--ny-radius-xl);
  box-shadow:0 1px 2px rgba(7,30,70,.06),0 18px 48px rgba(7,30,70,.16);padding:32px}
h1{font-weight:var(--ny-weight-heavy);font-size:var(--ny-text-xl);letter-spacing:-.01em;line-height:var(--ny-leading-tight);margin:10px 0 8px;color:var(--ny-text)}
h2{color:var(--ny-text);font-size:var(--ny-text-md);margin-top:22px}
.lede{color:var(--ny-text-muted);margin:0 0 22px}
label{display:block;font-weight:600;font-size:var(--ny-text-sm);margin:16px 0 6px;color:var(--ny-text)}
input,select{width:100%;min-height:46px;padding:11px 14px;border:1px solid var(--ny-border-strong);border-radius:var(--ny-radius-sm);font:inherit;
  color:var(--ny-text);background:var(--ny-surface);transition:border-color var(--ny-duration-fast),box-shadow var(--ny-duration-fast)}
input::placeholder{color:var(--ny-text-subtle)}
input:focus,select:focus{outline:none;border-color:var(--ny-navy-500);box-shadow:0 0 0 3px rgba(46,91,168,.25)}
input[type=radio],input[type=checkbox]{width:auto;min-height:0;accent-color:var(--ny-accent)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.addr{display:flex;align-items:center;border:1px solid var(--ny-border-strong);border-radius:var(--ny-radius-sm);overflow:hidden;background:var(--ny-surface)}
.addr:focus-within{border-color:var(--ny-navy-500);box-shadow:0 0 0 3px rgba(46,91,168,.25)}
.addr input{border:0;border-radius:0;box-shadow:none!important}.addr span{padding:0 12px;color:var(--ny-text-muted);white-space:nowrap}
.err{color:var(--ny-danger);font-size:13px;margin-top:6px;font-weight:500}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;width:100%;min-height:48px;padding:13px 18px;border-radius:var(--ny-radius-sm);
  border:1px solid transparent;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;transition:background var(--ny-duration-fast),transform var(--ny-duration-fast)}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--ny-accent);color:var(--ny-accent-contrast)}.btn-primary:hover{background:var(--ny-accent-hover);color:var(--ny-accent-contrast)}
.btn-ghost{background:var(--ny-surface);color:var(--ny-text);border-color:var(--ny-border-strong)}.btn-ghost:hover{background:var(--ny-surface-sunken);color:var(--ny-text)}
.btn-danger{background:var(--ny-danger);color:#fff}
.or{display:flex;align-items:center;gap:12px;color:var(--ny-text-muted);font-size:13px;margin:20px 0}
.or:before,.or:after{content:"";flex:1;height:1px;background:var(--ny-border)}
.side{color:#fff;padding-top:24px}.side h2{font-size:30px;font-weight:800;line-height:1.2;margin:0 0 16px;color:#fff}
.side ul{list-style:none;padding:0;margin:0}.side li{padding:10px 0 10px 30px;position:relative;color:#fff}
.side li:before{content:"";position:absolute;left:0;top:18px;width:16px;height:6px;border-radius:6px 6px 6px 0;background:var(--ny-accent-decor);transform:rotate(-20deg)}
.note{font-size:13px;color:var(--ny-text-muted);margin-top:14px}
.pill{display:inline-block;padding:4px 10px;border-radius:var(--ny-radius-pill);background:var(--ny-accent-soft);color:var(--ny-accent-soft-text);font-weight:700;font-size:12px}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.plans label{border:1px solid var(--ny-border-strong);border-radius:var(--ny-radius-md);padding:12px 14px;margin:0;cursor:pointer;font-weight:500;background:var(--ny-surface);transition:border-color var(--ny-duration-fast),box-shadow var(--ny-duration-fast)}
.plans label:hover{border-color:var(--ny-navy-400)}
.plans label:has(input:checked){border-color:var(--ny-accent);box-shadow:0 0 0 2px var(--ny-accent-soft) inset,0 0 0 1px var(--ny-accent)}
.plans input{width:auto;margin-right:6px}
.kv{display:grid;grid-template-columns:160px 1fr;gap:8px 16px;margin:16px 0}.kv dt{color:var(--ny-text-muted)}
.actions{display:grid;gap:10px;margin-top:20px}
.exports{padding-left:18px;color:var(--ny-text-muted)}
.exports:empty:before{content:"";display:none}
@media(max-width:820px){.wrap{grid-template-columns:1fr;gap:20px}.side{order:-1;padding-top:0}.side h2{font-size:24px}.row,.plans{grid-template-columns:1fr}.card{padding:24px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
