:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f4f6;--surface:#fff;--surface-muted:#f8fafc;--text:#172033;--muted:#64748b;--line:#dbe2ea;--primary:#111827;--primary-hover:#273449;--accent:#f6bf26;--accent-soft:#fff7d6;--success:#087a4b;--success-bg:#e8fff4;--danger:#b42318;--danger-bg:#fff1f0;--shadow:0 12px 35px #0f172a14;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body,html{background:var(--bg);min-height:100%}body{color:var(--text);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.landing-shell{background:radial-gradient(circle at 12% 12%,#f6bf263d,#0000 30%),radial-gradient(circle at 88% 82%,#3b82f626,#0000 28%),#111827;place-items:center;min-height:100vh;padding:32px;display:grid}.landing-card{text-align:center;background:#fffffffa;border-radius:30px;width:min(720px,100%);padding:clamp(32px,7vw,72px);box-shadow:0 30px 80px #00000047}.brand-mark{background:var(--accent);color:#1f2937;letter-spacing:-.08em;border-radius:22px;place-items:center;width:74px;height:74px;margin:0 auto 22px;font-size:28px;font-weight:900;display:grid;box-shadow:inset 0 -8px 14px #7848001f}.brand-mark-small{border-radius:13px;width:44px;height:44px;margin:0;font-size:17px}.eyebrow,.step-label{color:#8a5a00;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800}h1,h2,p{margin-top:0}.landing-card h1{letter-spacing:-.065em;margin-bottom:18px;font-size:clamp(46px,9vw,76px);line-height:.98}.landing-copy{max-width:570px;color:var(--muted);margin:0 auto 26px;font-size:19px;line-height:1.65}.feature-row{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:30px;display:flex}.feature-row span{border:1px solid var(--line);color:#475569;background:var(--surface-muted);border-radius:999px;padding:8px 12px;font-size:13px}.fine-print{max-width:560px;color:var(--muted);margin:20px auto 0;font-size:12px;line-height:1.55}.app-shell{min-height:100vh}.app-header{color:#fff;z-index:20;background:#111827;justify-content:space-between;gap:24px;min-height:74px;padding:12px clamp(18px,4vw,48px);position:sticky;top:0;box-shadow:0 6px 20px #0f172a2e}.app-header,.brand-lockup{align-items:center;display:flex}.brand-lockup{gap:12px}.brand-lockup>span:last-child{flex-direction:column;display:flex}.brand-lockup strong{font-size:18px}.brand-lockup small{color:#aeb9ca;font-size:11px}.account-menu{align-items:center;gap:10px;font-size:13px;display:flex}.account-menu img{border-radius:50%;width:34px;height:34px}.app-header .button-ghost{color:#fff;border-color:#3b465a}.content-shell{width:min(1440px,100% - 32px);margin:0 auto;padding:34px 0 70px}.hero-strip{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.hero-strip h1{letter-spacing:-.055em;margin-bottom:10px;font-size:clamp(34px,5vw,56px);line-height:1}.hero-strip p:last-child{color:var(--muted);margin-bottom:0;font-size:17px}.card{background:var(--surface);box-shadow:var(--shadow);border:1px solid #cbd5e1cc;border-radius:20px}.workspace-grid{grid-template-columns:minmax(0,1fr) minmax(420px,.86fr);align-items:start;gap:24px;display:grid}.workspace-grid>.card{padding:26px}.section-heading{justify-content:space-between;gap:20px;margin-bottom:24px;display:flex}.finalize-bar h2,.result-card h2,.section-heading h2,.template-bar h2{letter-spacing:-.025em;margin-bottom:7px;font-size:22px}.finalize-bar p,.section-heading p:last-child,.template-bar p{color:var(--muted);margin-bottom:0;line-height:1.5}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.field{flex-direction:column;gap:8px;display:flex}.check-field span,.field>span{color:#475569;font-size:13px;font-weight:700}.field-wide{grid-column:1/-1}input,select,textarea{width:100%;color:var(--text);background:#fff;border:1px solid #cbd5e1;border-radius:11px;outline:none;padding:11px 12px;transition:border-color .12s,box-shadow .12s}input:focus,select:focus,textarea:focus{border-color:#64748b;box-shadow:0 0 0 3px #64748b24}textarea{resize:vertical}.check-field{align-items:center;gap:10px;padding:4px 0;display:flex}.check-field input{width:18px;height:18px;accent-color:var(--primary)}.input-suffix{align-items:center;gap:10px;display:flex}.input-suffix input{width:110px}.input-suffix span{white-space:nowrap;color:var(--muted);font-size:13px}.color-preview-field{justify-content:end}.color-preview{border-radius:11px;min-height:43px;padding:8px;font-size:13px;font-weight:800;display:flex}.button,.color-preview{justify-content:center;align-items:center}.button{border:1px solid #0000;border-radius:11px;gap:8px;padding:10px 15px;font-weight:750;transition:transform .12s,background .12s,opacity .12s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.48}.button-primary{color:#fff;background:var(--primary)}.button-primary:hover:not(:disabled){background:var(--primary-hover)}.button-secondary{color:#1f2937;background:var(--accent-soft);border-color:#d0a11f}.button-ghost{color:#334155;background:0 0;border-color:#cbd5e1}.button-large{padding:13px 20px;font-size:15px}.button-small{border-radius:9px;padding:7px 10px;font-size:12px}.alert{border-radius:12px;margin:0 0 18px;padding:12px 15px;line-height:1.45}.alert-success{color:var(--success);background:var(--success-bg);border:1px solid #a8e9ce}.alert-error{color:var(--danger);background:var(--danger-bg);border:1px solid #ffc8c3}.template-bar{grid-template-columns:minmax(220px,.7fr) minmax(320px,1fr);align-items:end;gap:18px 28px;margin-bottom:24px;padding:22px 24px;display:grid}.template-create{gap:10px;display:flex}.empty-inline,.template-list{grid-column:1/-1}.template-list{flex-wrap:wrap;gap:10px;display:flex}.template-chip{border:1px solid var(--line);background:var(--surface-muted);border-radius:12px;display:inline-flex;overflow:hidden}.template-apply,.template-delete{background:0 0;border:0}.template-apply{text-align:left;flex-direction:column;gap:2px;padding:9px 12px;display:flex}.template-apply small{color:var(--muted)}.template-delete{color:#94a3b8;border-left:1px solid var(--line);width:34px;font-size:20px}.template-delete:hover{color:var(--danger);background:var(--danger-bg)}.empty-inline{color:var(--muted);margin:0;font-size:13px}.calendar-heading,.month-controls{align-items:center}.month-controls{white-space:nowrap;gap:11px;display:flex}.icon-button{border:1px solid var(--line);background:#fff;border-radius:10px;width:36px;height:36px;font-size:23px;line-height:1}.quick-select{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.date-grid,.weekday-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.weekday-row{margin-bottom:7px}.weekday-row span{text-align:center;color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.date-cell{aspect-ratio:1;color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:11px;min-height:44px;font-weight:700}.date-cell:hover{background:#f8fafc;border-color:#94a3b8}.date-cell.is-muted{color:#b6bfcc;background:#fafafa}.date-cell.is-today{box-shadow:inset 0 0 0 2px #94a3b8}.date-cell.is-selected{color:#1f2937;background:var(--accent);border-color:#c99100;box-shadow:0 5px 12px #c9910033}.selection-count{color:var(--muted);text-align:right;margin:18px 0 0;font-size:13px}.finalize-bar{justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding:22px 24px;display:flex}.result-card,.review-card{margin-top:24px;padding:26px}.review-color{width:54px;height:54px;box-shadow:0 0 0 1px var(--line),0 8px 16px #0f172a1f;border:4px solid #fff;border-radius:16px}.review-details{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px;display:grid}.review-details div{background:var(--surface-muted);border:1px solid var(--line);border-radius:12px;padding:13px}.review-details dt{color:var(--muted);text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:800}.review-details dd{margin:0;font-weight:750}.date-pill-list{flex-wrap:wrap;gap:7px;max-height:180px;padding:2px;display:flex;overflow:auto}.date-pill-list span{background:var(--accent-soft);border:1px solid #ead17e;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}.review-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.failure-list{color:var(--danger);line-height:1.5}@media (width<=980px){.template-bar,.workspace-grid{grid-template-columns:1fr}.empty-inline,.template-create,.template-list{grid-column:1}.review-details{grid-template-columns:repeat(2,1fr)}}@media (width<=680px){.landing-shell{padding:14px}.landing-card{border-radius:22px;padding:34px 22px}.app-header{align-items:flex-start}.account-menu>span,.brand-lockup small{display:none}.content-shell{width:min(100% - 20px,1440px);padding-top:22px}.finalize-bar,.hero-strip{flex-direction:column;align-items:stretch}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:1}.calendar-heading,.template-create{flex-direction:column}.calendar-heading{align-items:flex-start}.date-grid,.weekday-row{gap:4px}.date-cell{border-radius:8px;min-height:39px}.result-card,.review-card,.workspace-grid>.card{padding:18px}.review-details{grid-template-columns:1fr 1fr}.review-actions{flex-direction:column-reverse}.review-actions .button{width:100%}}.header-nav{align-items:center;gap:5px;margin-left:auto;display:flex}.header-nav a{color:#cbd5e1;border-radius:9px;padding:8px 11px;font-size:13px;font-weight:750}.header-nav a.is-active,.header-nav a.router-link-active,.header-nav a:hover{color:#fff;background:#273449}.color-fieldset{border:0;min-width:0;margin:0;padding:0}.color-fieldset legend{color:#475569;margin-bottom:8px;font-size:13px;font-weight:700}.color-pill-selector{flex-wrap:wrap;gap:8px;display:flex}.color-pill-option{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:999px;align-items:center;gap:8px;min-height:38px;padding:7px 11px;font-size:13px;font-weight:700;display:inline-flex}.color-pill-option:hover{background:#f8fafc;border-color:#94a3b8}.color-pill-option.is-active{border-color:#111827;box-shadow:0 0 0 2px #1118271f}.color-pill-swatch{border:2px solid #ffffffe6;border-radius:999px;flex:none;width:18px;height:18px;box-shadow:0 0 0 1px #0f172a2e}.date-cell{flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:4px;display:flex;position:relative}.date-number{line-height:1}.event-marker-row{justify-content:center;align-items:center;gap:2px;min-height:7px;display:flex}.event-marker{border-radius:999px;width:7px;height:7px;box-shadow:0 0 0 1px #0f172a1f}.event-marker-row small{color:currentColor;font-size:8px;font-weight:800;line-height:1}.calendar-footer-summary{justify-content:space-between;align-items:center;gap:14px;margin-top:18px;display:flex}.calendar-footer-summary p{margin:0;font-size:13px}.calendar-footer-summary .selection-count{text-align:left}.existing-count{color:var(--muted)}.existing-count a{color:#334155;text-underline-offset:3px;margin-left:6px;font-weight:800;text-decoration:underline}.button-danger{color:#fff;background:var(--danger)}.button-danger:hover:not(:disabled){background:#8f1c13}.content-shell-narrow{width:min(1120px,100% - 32px)}.event-toolbar{grid-template-columns:minmax(240px,1fr) auto minmax(300px,auto);align-items:end;gap:20px;margin-bottom:20px;padding:20px 22px;display:grid}.event-month-controls{justify-content:center;min-height:43px}.event-toolbar-actions{justify-content:flex-end;gap:9px;display:flex}.delete-confirmation{background:var(--danger-bg);border-color:#ffc8c3;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;padding:20px 22px;display:flex}.delete-confirmation p{color:#7a271a;margin:5px 0 0;line-height:1.45}.delete-confirmation .review-actions{flex:none;margin-top:0}.event-list{padding:26px}.event-list-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding-bottom:20px;display:flex}.event-list-heading h2{letter-spacing:-.035em;margin:0;font-size:26px}.event-count-pill,.subtle-pill{border:1px solid var(--line);background:var(--surface-muted);color:#475569;border-radius:999px;align-items:center;font-size:12px;font-weight:750;display:inline-flex}.event-count-pill{padding:7px 11px}.subtle-pill{padding:3px 7px}.empty-events{color:var(--muted);text-align:center;margin:0;padding:44px 12px}.event-groups{flex-direction:column;display:flex}.event-day-group{border-bottom:1px solid var(--line);padding:24px 0}.event-day-group:last-child{border-bottom:0;padding-bottom:0}.event-day-group h3{color:#475569;margin:0 0 12px;font-size:14px}.event-rows{flex-direction:column;gap:9px;display:flex}.event-row{border:1px solid var(--line);background:var(--surface-muted);border-radius:14px;grid-template-columns:24px 10px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:13px 14px;display:grid}.event-select{place-items:center;display:grid}.event-select input{width:18px;height:18px;accent-color:var(--primary);padding:0}.event-color-pill{border-radius:999px;width:10px;height:44px;box-shadow:inset 0 0 0 1px #0f172a14}.event-main{min-width:0}.event-title-row{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.event-title-row strong{overflow-wrap:anywhere;min-width:0}.event-main p{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.4}.event-main .event-description{-webkit-line-clamp:2;white-space:pre-line;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (width<=980px){.header-nav{order:3;justify-content:center;width:100%}.app-header{flex-wrap:wrap}.event-toolbar{grid-template-columns:1fr auto}.event-toolbar-actions{grid-column:1/-1}}@media (width<=680px){.header-nav{display:none}.calendar-footer-summary,.delete-confirmation{flex-direction:column;align-items:stretch}.event-toolbar{grid-template-columns:1fr;align-items:stretch}.event-month-controls{justify-content:space-between}.event-toolbar-actions{flex-direction:column;grid-column:1}.delete-confirmation .review-actions,.event-toolbar-actions .button{width:100%}.event-row{grid-template-columns:24px 8px minmax(0,1fr)}.event-row>.button{grid-column:3;justify-self:start}.event-list{padding:18px}.color-pill-selector{gap:7px}.color-pill-option{padding:7px 9px}}
