*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #EFEEE8;--surface: #FFFFFF;--ink: #0d0d14;--red: #E8002D;--ink-06: rgba(13,13,20,.06);--ink-10: rgba(13,13,20,.1);--ink-14: rgba(13,13,20,.14);--ink-20: rgba(13,13,20,.2);--ink-32: rgba(13,13,20,.32);--ink-48: rgba(13,13,20,.48);--ink-72: rgba(13,13,20,.72);--display: "Barlow Condensed", sans-serif;--body: "Barlow", sans-serif;--mono: "JetBrains Mono", monospace}html,body{background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;min-height:100vh}a{color:inherit;text-decoration:none}.admin-mast{border-bottom:2px solid var(--ink);background:var(--bg)}.admin-mast-inner{max-width:1400px;margin:0 auto;padding:20px 32px;display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}.admin-eyebrow{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:6px;display:flex;align-items:center;gap:6px}.admin-pip{width:5px;height:5px;background:var(--red);border-radius:50%}.admin-title{font-family:var(--display);font-weight:800;font-size:clamp(24px,3vw,36px);text-transform:uppercase;letter-spacing:-.005em}.admin-user{font-family:var(--mono);font-size:10px;color:var(--ink-32);letter-spacing:.06em}.page-body{max-width:1400px;margin:0 auto;padding:28px 32px 80px}.auth-state{text-align:center;padding:80px 32px}.auth-state-label{font-family:var(--display);font-weight:700;font-size:20px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}.auth-state-sub{font-family:var(--mono);font-size:11px;color:var(--ink-48);letter-spacing:.06em;margin-bottom:20px}.auth-btn{font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;padding:10px 24px;background:var(--ink);color:var(--bg);border:none;cursor:pointer;text-decoration:none;display:inline-block}.controls{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:24px;padding:18px 20px;background:var(--surface);border:1px solid var(--ink-14)}.ctrl-group{display:flex;flex-direction:column;gap:5px}.ctrl-label{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-48)}.ctrl-select{font-family:var(--body);font-size:13px;color:var(--ink);background:var(--bg);border:1px solid var(--ink-20);padding:7px 10px;min-width:200px;cursor:pointer;appearance:auto}.ctrl-select:disabled{opacity:.4;cursor:not-allowed}.ctrl-select-sm{min-width:110px}.ctrl-stepper{display:flex;align-items:center;gap:0;border:1px solid var(--ink-20)}.ctrl-stepper-val{font-family:var(--mono);font-size:13px;font-weight:700;width:52px;text-align:center;background:var(--bg);color:var(--ink);border:none;padding:7px 4px}.ctrl-stepper-btn{font-family:var(--mono);font-size:14px;width:30px;height:33px;background:transparent;border:none;border-left:1px solid var(--ink-14);color:var(--ink-48);cursor:pointer;display:flex;align-items:center;justify-content:center}.ctrl-stepper-btn:first-child{border-left:none;border-right:1px solid var(--ink-14)}.ctrl-stepper-btn:hover{background:var(--ink-06);color:var(--ink)}.generate-btn{font-family:var(--display);font-weight:800;font-size:14px;letter-spacing:.06em;text-transform:uppercase;padding:9px 22px;background:var(--ink);color:var(--bg);border:none;cursor:pointer;align-self:flex-end;height:33px;white-space:nowrap}.generate-btn:hover{background:var(--red)}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.preview-section{margin-bottom:32px}.preview-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px}.preview-label{font-family:var(--mono);font-size:10px;color:var(--ink-48);letter-spacing:.1em;text-transform:uppercase}.download-btn{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border:1px solid var(--ink-20);background:transparent;color:var(--ink-48);cursor:pointer}.download-btn:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.preview-scroll{overflow-x:auto;border:1px solid var(--ink-14)}.preview-scale-wrap{transform-origin:top left}.calendar-section{border-top:2px solid var(--ink);padding-top:24px}.calendar-title{font-family:var(--display);font-weight:800;font-size:20px;text-transform:uppercase;letter-spacing:.02em;margin-bottom:4px}.calendar-sub{font-family:var(--mono);font-size:10px;color:var(--ink-48);letter-spacing:.06em;margin-bottom:20px}.calendar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.cal-item{background:var(--surface);border:1px solid var(--ink-14);padding:12px 14px}.cal-group{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-32);margin-bottom:3px}.cal-name{font-family:var(--display);font-weight:700;font-size:15px;color:var(--ink);margin-bottom:6px}.cal-when{font-family:var(--mono);font-size:9px;color:var(--ink-48);letter-spacing:.04em;margin-bottom:8px}.cal-when.fresh{color:#166534}.cal-btn{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border:1px solid var(--ink-20);background:transparent;color:var(--ink-48);cursor:pointer}.cal-btn:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.cal-btn.posted{background:#166534;color:#fff;border-color:transparent}.cal-load-btn{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border:1px solid var(--ink-20);background:transparent;color:var(--ink-48);cursor:pointer;margin-right:4px}.cal-load-btn:hover{background:var(--ink-10);color:var(--ink)}.cal-actions{display:flex;gap:4px;flex-wrap:wrap}.tier-header{font-family:var(--display);font-weight:800;font-size:16px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink);padding:12px 0 8px;border-bottom:1px solid var(--ink-14);margin-bottom:10px;grid-column:1 / -1}.tier-label{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--red);margin-left:8px;font-weight:700}.cal-desc{font-family:var(--body);font-size:11px;color:var(--ink-48);margin-bottom:6px;line-height:1.4}@media(max-width:640px){.admin-mast-inner,.page-body{padding-left:16px;padding-right:16px}.controls{gap:10px}}
