.primary-calendar{max-width:1240px;margin:auto;padding:24px 32px 48px;line-height:1.5}
.calendar-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:40px}
.primary-calendar a{text-decoration:none}.calendar-intro{padding:20px 0 36px}.calendar-intro h1{font-size:clamp(32px,5vw,56px);letter-spacing:-1.5px;line-height:1.15;margin:12px 0}
.calendar-eyebrow{color:var(--accent);font-family:var(--font-mono);font-size:12px;letter-spacing:2px}.calendar-intro>p:last-child,.ipo-market,.calendar-footnote{color:var(--text2)}
.calendar-stages{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:24px}
.calendar-stages a{padding:12px 18px;color:var(--text2);font-size:13px;font-weight:700;border-radius:999px;min-height:44px}
.calendar-stages a[aria-current]{background:var(--accent);color:var(--bg)}.calendar-stages a:hover{outline:1px solid var(--accent)}
.calendar-filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:20px;margin-bottom:24px}
.calendar-filters label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text2);min-width:0;flex:1 1 140px}.calendar-filters .calendar-search{flex:2 1 220px}
.calendar-filters input:not([type=checkbox]),.calendar-filters select{width:100%;min-width:0;min-height:44px;background:var(--surface);color:var(--text);border:1px solid var(--border2);border-radius:8px;padding:10px;font:inherit;color-scheme:dark}
.calendar-filters .calendar-tracked{flex-direction:row;align-items:center;min-height:44px;flex:0 1 auto}.calendar-tracked input{width:18px;height:18px;accent-color:var(--accent)}.calendar-reset{color:var(--text2);padding:10px}.primary-calendar .btn{min-height:44px;justify-content:center}
.calendar-count{color:var(--text2);margin:12px 0 20px;font-size:14px}.calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ipo-card{min-width:0;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:18px;overflow-wrap:anywhere}
.ipo-card h2{font-size:23px;line-height:1.25;letter-spacing:-.4px}.ipo-card-top{display:flex;justify-content:space-between;gap:8px;color:var(--text2);font-size:12px;font-family:var(--font-mono)}.ipo-stage{color:var(--accent)}.ipo-market{font-size:13px}
.ipo-key-dates{background:var(--surface);padding:14px;border-radius:8px;display:flex;gap:16px;flex-wrap:wrap}.ipo-key-dates dd{font-size:18px}.ipo-card dt{color:var(--text2);font-size:12px}.ipo-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ipo-values dd{font-family:var(--font-mono);font-size:14px;margin-top:4px}.ipo-documents{font-size:12px;color:var(--text2);margin-top:auto}.ipo-track-form .btn{width:100%}
.calendar-empty{padding:60px 24px;text-align:center;border:1px dashed var(--border2);border-radius:var(--r)}.calendar-empty h2{font-size:24px;margin-bottom:12px}.calendar-empty p{color:var(--text2);margin:12px auto 24px;max-width:480px}.calendar-pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:28px;color:var(--text2)}.calendar-footnote{font-size:12px;margin-top:32px;max-width:760px}
.calendar-error{border:1px solid var(--red);border-radius:8px;padding:16px;margin-bottom:16px;color:var(--text)}#calendar-loading{color:var(--accent);padding:12px 0}[hidden]{display:none!important}.primary-calendar :focus-visible{outline:2px solid var(--accent);outline-offset:4px}.primary-calendar button:disabled{opacity:.6;cursor:wait}
@media(max-width:1000px){.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.primary-calendar{padding:20px 16px 32px}.calendar-grid{grid-template-columns:1fr}.calendar-header{padding-bottom:20px}.calendar-stages{gap:4px}.calendar-stages a{padding:12px 10px;font-size:11px}.calendar-filters{padding:16px;gap:12px}.calendar-filters label{flex-basis:calc(50% - 12px)}.calendar-filters .calendar-search{flex-basis:100%}.ipo-card{padding:20px}.calendar-pagination{gap:12px}}
@media(prefers-reduced-motion:reduce){.primary-calendar *{scroll-behavior:auto;transition:none!important}}
