@import "https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:wght@600;700;800&family=Manrope:wght@400;500;600;700&display=swap";:root{--bg:#f3f3f0;--surface:#fff;--panel-surface:#fff;--border:#d9d9d4;--text:#2b2b2b;--muted:#7a7a75;--weekday-header:#2f6aa8;--weekend-header:#6f6f6f;--button-text:#fff;--shadow:0 20px 60px #20293314;--panel-shadow:0 24px 80px #20293314;--sans:"Manrope", "Avenir Next", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;--heading:"Barlow Semi Condensed", "Avenir Next Condensed", "Avenir Next", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;font-family:var(--sans);color:var(--text);background:linear-gradient(180deg, #fff, #f3f3f0), var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-weight:400;line-height:1.5}:root[data-theme=dark]{--bg:#0f161d;--surface:#17212b;--panel-surface:#121b24;--border:#8ea6ba38;--text:#e7eef5;--muted:#92a5b8;--weekday-header:#5b8ec9;--weekend-header:#718395;--button-text:#f4f8fc;--shadow:0 20px 60px #040a105c;--panel-shadow:0 24px 80px #040a106b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{min-height:100%}body{background:linear-gradient(180deg, #fff, #f3f3f0), var(--bg);min-height:100vh;margin:0}:root[data-theme=dark] body{background:linear-gradient(180deg, #15202a, #0c131b), var(--bg)}body,button,input,select{font:inherit}button,input,select{border:1px solid var(--border);border-radius:0}button{cursor:pointer;transition:transform .14s,border-color .14s,background-color .14s,color .14s}button:hover,button:focus-visible{border-color:#2f6aa861}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #2f6aa84d}input,select{background:var(--surface);width:100%;color:var(--text);padding:.8rem .85rem}input:-webkit-autofill{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 9999s ease-out}input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 9999s ease-out}input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 9999s ease-out}input:-webkit-autofill:active{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 9999s ease-out}:root[data-theme=dark] button:hover,:root[data-theme=dark] button:focus-visible{border-color:#5b8ec975}:root[data-theme=dark] button:focus-visible,:root[data-theme=dark] input:focus-visible,:root[data-theme=dark] select:focus-visible{outline:2px solid #5b8ec947}:root[data-theme=dark] input,:root[data-theme=dark] select{color:var(--text);background:#0e161e;border-color:#8ea6ba33}:root[data-theme=dark] input:-webkit-autofill{-webkit-text-fill-color:var(--text);box-shadow:inset 0 0 0 1000px #0e161e}:root[data-theme=dark] input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);box-shadow:inset 0 0 0 1000px #0e161e}:root[data-theme=dark] input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);box-shadow:inset 0 0 0 1000px #0e161e}:root[data-theme=dark] input:-webkit-autofill:active{-webkit-text-fill-color:var(--text);box-shadow:inset 0 0 0 1000px #0e161e}#root{min-height:100vh}h1,h2{font-family:var(--heading);letter-spacing:-.04em;color:var(--text);margin:0}h1{font-size:clamp(3rem,9vw,5.8rem);line-height:.95}h2{font-size:clamp(1.55rem,4vw,2rem);line-height:1}p{margin:0}.primary-button,.secondary-button,.ghost-button{min-height:2.9rem;padding:.8rem 1rem}.primary-button{color:var(--button-text);background:var(--weekday-header);border-color:color-mix(in srgb, var(--text) 12%, var(--surface) 88%)}.primary-button:hover,.primary-button:focus-visible{background:var(--weekend-header);border-color:color-mix(in srgb, var(--text) 18%, var(--surface) 82%)}.secondary-button{color:var(--text);background:var(--surface)}:root[data-theme=dark] .secondary-button,:root[data-theme=dark] .ghost-button{background:#121c26;border-color:#8ea6ba33}.ghost-button{color:var(--text);background:0 0}.app-shell{min-height:100vh;position:relative;overflow:hidden}.ambient{pointer-events:none;opacity:.45;filter:blur(40px);border-radius:999px;width:28rem;height:28rem;position:fixed;inset:auto auto 0 0}.ambient-left{background:radial-gradient(circle,#2f6aa81f,#0000 65%);top:-8rem;left:-8rem}.ambient-right{background:radial-gradient(circle,#6f6f6f1f,#0000 65%);bottom:-10rem;left:auto;right:-10rem}:root[data-theme=dark] .ambient-left{background:radial-gradient(circle,#4a7db83d,#0000 65%)}:root[data-theme=dark] .ambient-right{background:radial-gradient(circle,#425b7438,#0000 65%)}.landing-page,.planner-page{z-index:1;position:relative}.landing-page{align-content:center;gap:1.5rem;min-height:100vh;padding:3rem 1.25rem;display:grid}.landing-card,.auth-card,.side-panel,.day-dialog{background:var(--surface);border:1px solid var(--border);box-shadow:var(--panel-shadow)}.side-panel{background:var(--panel-surface)}:root[data-theme=dark] .landing-card,:root[data-theme=dark] .auth-card,:root[data-theme=dark] .side-panel,:root[data-theme=dark] .day-dialog{background:linear-gradient(180deg, #161f29f5, #101821fa), var(--surface);border-color:#8ea6ba2e}:root[data-theme=dark] .side-panel{background:linear-gradient(180deg, #131d26fa, #0e161e), var(--panel-surface)}.landing-card,.auth-card{width:min(100%,38rem);margin:0 auto;padding:2rem}.landing-card{text-align:center;position:relative}.landing-card-toolbar{position:absolute;top:2rem;right:2rem}.landing-theme-toggle{margin:0}.eyebrow,.section-kicker,.user-label{letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.74rem}.eyebrow,.section-kicker{color:var(--muted)}.user-label{color:var(--text)}.user-email{padding:0}.planner-identity{justify-items:start;gap:.2rem;display:inline-grid;position:relative}.identity-rule{border:0;border-top:1px solid var(--border);width:100%;margin:.1rem 0 0}.user-menu-trigger{color:var(--text);text-align:left;background:0 0;border:0;padding:0}.user-menu-trigger:hover,.user-menu-trigger:focus-visible{border:0;outline:none}.account-menu{z-index:4;position:absolute;top:calc(100% + .45rem);left:0}.account-menu-item{text-align:left;width:100%}.account-menu-item:hover,.account-menu-item:focus-visible{outline:none}.landing-copy{max-width:28rem;color:var(--muted);margin:.75rem auto 0}.landing-actions,.header-actions,.dialog-actions,.dialog-footer{flex-wrap:wrap;gap:.75rem;display:flex}.landing-actions{justify-content:center;margin-top:1.75rem}.settings-menu-wrap{position:relative}.theme-icon-button{background:var(--surface);width:2.9rem;min-height:2.9rem;color:var(--text);place-items:center;padding:0;line-height:0;display:inline-grid}.theme-icon-button:hover,.theme-icon-button:focus-visible{background:var(--panel-surface)}:root[data-theme=dark] .theme-icon-button{background:#121c26;border-color:#8ea6ba2e}:root[data-theme=dark] .theme-icon-button:hover,:root[data-theme=dark] .theme-icon-button:focus-visible{background:#16222d}:root[data-theme=dark] .theme-color-control{background:#0e161e;border-color:#8ea6ba2e}:root[data-theme=dark] .theme-color-control input[type=color]::-webkit-color-swatch{border-color:#e7eef529}:root[data-theme=dark] .theme-color-control input[type=color]::-moz-color-swatch{border-color:#e7eef529}:root[data-theme=dark] .swatch-button{border-color:#e7eef52e;box-shadow:inset 0 0 0 1px #ffffff1f}:root[data-theme=dark] .swatch-selected{border-color:#74a3d999;box-shadow:0 0 0 3px #5b8ec938,inset 0 0 0 1px #fff3}.theme-icon{stroke-linecap:round;stroke-linejoin:round;width:1.3rem;height:1.3rem;display:block}.auth-card{gap:1.5rem;display:grid}.auth-heading,.panel-heading{gap:.35rem;display:grid}.auth-form,.stacked-form,.stacked-list{gap:1rem;display:grid}.auth-link-button{min-height:auto;color:var(--weekday-header);background:0 0;border:0;justify-self:start;padding:0}.auth-link-button:hover,.auth-link-button:focus-visible{color:var(--weekend-header);border:0;outline:none}.auth-form label,.stacked-form label{gap:.45rem;display:grid}.checkbox-row{align-items:center;gap:.65rem;display:flex!important}.checkbox-row input{width:1rem;height:1rem;margin:0}.auth-form span,.stacked-form span{color:var(--muted);font-size:.9rem}.theme-color-settings{gap:.9rem;display:grid}.theme-color-field{gap:.45rem;display:grid}.theme-color-field span{color:var(--muted);font-size:.9rem}.theme-color-control{border:1px solid var(--border);background:var(--surface);align-items:center;gap:.75rem;padding:.7rem .85rem;display:flex}.theme-color-control input[type=color]{cursor:pointer;background:0 0;border:0;width:2.4rem;min-width:2.4rem;height:2.4rem;padding:0}.theme-color-control input[type=color]::-webkit-color-swatch-wrapper{padding:0}.theme-color-control input[type=color]::-webkit-color-swatch{border:1px solid #1d273329;border-radius:999px}.theme-color-control input[type=color]::-moz-color-swatch{border:1px solid #1d273329;border-radius:999px}.theme-color-control code{font-family:var(--sans);color:var(--text);font-size:.92rem}.color-swatches{flex-wrap:wrap;gap:.55rem;display:flex}.person-form-actions{gap:.75rem;display:grid}.swatch-button{border:2px solid #1d273338;border-radius:999px;width:1.65rem;height:1.65rem;padding:0;box-shadow:inset 0 0 0 1px #ffffff47}.swatch-selected{border-color:#2f6aa88c;box-shadow:0 0 0 3px #2f6aa82e,inset 0 0 0 1px #ffffff75}.swatch-button-custom{position:relative}.swatch-button-custom:before,.swatch-button-custom:after{content:"";background:#ffffffeb;border-radius:999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.swatch-button-custom:before{width:.72rem;height:.12rem}.swatch-button-custom:after{width:.12rem;height:.72rem}.person-custom-color-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.planner-page{padding:1.25rem}.planner-header{justify-content:space-between;align-items:center;gap:1rem;padding:0 .25rem 1.25rem;display:flex}.calendar-frame{box-shadow:none;background:0 0;border:0;padding:0 .75rem 1rem}:root[data-theme=dark] .calendar-frame{box-shadow:none;background:0 0;border:0}.calendar-toolbar{justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1rem;display:flex}.calendar-batch-tools{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.calendar-batch-status{color:var(--muted);font-size:.9rem}.calendar-title{font-family:var(--heading);letter-spacing:-.05em;text-align:right;font-size:clamp(2.75rem,5vw,5.2rem);font-weight:800;line-height:.98;position:relative}.calendar-month{color:var(--weekday-header)}.calendar-year{color:var(--weekend-header)}.title-trigger{font:inherit;font-weight:inherit;letter-spacing:inherit;background:0 0;border:0;padding:0}.title-trigger:hover,.title-trigger:focus-visible{border:0;outline:none}.title-picker-menu{background:var(--panel-surface);border:1px solid var(--border);z-index:3;gap:.2rem;min-width:9rem;padding:.35rem;display:grid;position:absolute;top:calc(100% + .5rem);box-shadow:0 12px 24px #2029331a}:root[data-theme=dark] .title-picker-menu{background:#101922;border-color:#8ea6ba2e;box-shadow:0 18px 32px #040a1057}.title-picker-month{left:0}.title-picker-year{min-width:6.5rem;right:0}.settings-menu{min-width:11rem;left:auto;right:0}.title-picker-option{text-align:left;font-family:var(--sans);letter-spacing:0;color:var(--text);background:0 0;border:1px solid #0000;padding:.5rem .6rem;font-size:.92rem;font-weight:500;line-height:1.15}.title-picker-option:hover,.title-picker-option:focus-visible,.title-picker-active{color:var(--weekday-header);background:#2f6aa814}:root[data-theme=dark] .title-picker-option:hover,:root[data-theme=dark] .title-picker-option:focus-visible,:root[data-theme=dark] .title-picker-active{background:#5b8ec924}.calendar-grid{--calendar-grid-line:#465a6c38;border-top:1px solid var(--calendar-grid-line);border-left:1px solid var(--calendar-grid-line);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}:root[data-theme=dark] .calendar-grid{--calendar-grid-line:#7f98af1f}.weekday-header,.day-cell{border-right:1px solid var(--calendar-grid-line);border-bottom:1px solid var(--calendar-grid-line)}.weekday-header{text-align:center;color:#fff;background:var(--weekday-header);padding:.5rem .4rem;font-size:.82rem;font-weight:700}.weekday-header.weekend{background:var(--weekend-header)}.day-cell{isolation:isolate;text-align:left;border-color:var(--calendar-grid-line);background:linear-gradient(#fffffffa,#f7f7f5f2);align-content:start;gap:.65rem;min-height:8.8rem;padding:1.75rem .55rem .55rem;transition:box-shadow .14s,background .14s;display:grid;position:relative;overflow:hidden}:root[data-theme=dark] .day-cell{background:linear-gradient(#1a2530fa,#151f29f7)}.day-cell:hover:not(:disabled),.day-cell:focus-visible{border-color:var(--calendar-grid-line);background:linear-gradient(#fff,#fafaf8fa)}:root[data-theme=dark] .day-cell:hover:not(:disabled),:root[data-theme=dark] .day-cell:focus-visible{border-color:var(--calendar-grid-line);background:linear-gradient(#1f2c38fc,#18242efa)}.day-cell-selected{background:linear-gradient(#2f6aa81f,#2f6aa814);box-shadow:inset 0 0 0 2px #2f6aa842}:root[data-theme=dark] .day-cell-selected{background:linear-gradient(#5b8ec92e,#5b8ec91f);box-shadow:inset 0 0 0 2px #75a6db47}.day-cell-empty{color:#2b2b2b8c;background:linear-gradient(#f1f1edf2,#ecece7eb)}:root[data-theme=dark] .day-cell-empty{color:#92a6b894;background:linear-gradient(#121b23e0,#0f161ee6)}.day-cell-empty .day-number{color:#7a7a75cc}:root[data-theme=dark] .day-cell-empty .day-number{color:#92a6b880}.day-cell-empty .entry-pill,.day-cell-empty .event-pill,.day-cell-empty .entry-overflow{opacity:.58}.day-cell:disabled{cursor:default}.day-number{z-index:2;pointer-events:none;max-width:calc(100% - 1.1rem);color:var(--muted);font-size:.82rem;line-height:1;position:absolute;top:.45rem;right:.55rem}.day-entries{align-content:start;gap:.35rem;min-width:0;display:grid}.person-entry-rows{gap:.35rem;min-width:0;display:grid}.person-entry-row{min-width:0;min-height:1.78rem}.event-pill,.person-chip,.template-chip{align-items:center;padding:.28rem .6rem;font-size:.78rem;line-height:1.2;display:inline-flex}.entry-pill{white-space:nowrap;text-overflow:ellipsis;align-items:center;width:fit-content;min-width:0;max-width:100%;padding:.28rem .6rem;font-size:.78rem;line-height:1.2;display:inline-flex;overflow:hidden;box-shadow:inset 0 0 0 1px #1d27330d}:root[data-theme=dark] .entry-pill,:root[data-theme=dark] .person-chip{box-shadow:inset 0 0 0 1px #e7eef514}.event-pill{white-space:nowrap;text-overflow:ellipsis;width:fit-content;min-width:0;max-width:100%;color:var(--weekday-header);background:#2f6aa81f;overflow:hidden;box-shadow:inset 0 0 0 1px #2f6aa814}:root[data-theme=dark] .event-pill,:root[data-theme=dark] .template-chip{color:#c7dbf1;background:#5b8ec929;box-shadow:inset 0 0 0 1px #70a1d929}:root[data-theme=dark] .person-chip-selected{transform:translateY(-1px);box-shadow:inset 0 0 0 2px #e7eef538}.entry-overflow{color:var(--muted);font-size:.78rem}.side-panel{scrollbar-width:none;-ms-overflow-style:none;align-content:start;gap:1.5rem;width:min(24rem,100vw - 2.5rem);padding:1.25rem;display:grid;position:fixed;top:1.25rem;bottom:1.25rem;right:1.25rem;overflow:auto}.side-panel::-webkit-scrollbar{display:none}.panel-section{gap:1rem;display:grid}.tag-list{flex-wrap:wrap;gap:.6rem;display:flex}.person-chip-wrap{position:relative}.person-chip,.template-chip{box-shadow:inset 0 0 0 1px #1d27330d}.person-chip-button{cursor:pointer;border:0}.person-chip-button:hover,.person-chip-button:focus-visible{filter:brightness(.98);border:0;outline:none}.person-chip-selected{filter:none;transform:translateY(-1px);box-shadow:inset 0 0 0 2px #1d273347}.template-chip{color:var(--weekday-header);background:#2f6aa814}.person-menu{background:var(--panel-surface);z-index:6;border-color:#1d273324;width:max-content;min-width:8.5rem;position:absolute;top:calc(100% + .45rem);left:0;box-shadow:0 14px 28px #20293324}:root[data-theme=dark] .person-menu{background:#101922;border-color:#8ea6ba2e;box-shadow:0 18px 32px #040a1057}.dialog-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;background:#20293338;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}:root[data-theme=dark] .dialog-backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#050a1094}.day-dialog{gap:1.25rem;width:min(100%,28rem);padding:1.5rem;display:grid}.list-row{border:1px solid var(--border);text-align:left;background:#f7f7f5d9;justify-content:space-between;gap:1rem;padding:.95rem 1rem;display:flex}:root[data-theme=dark] .list-row{background:#111a23e6;border-color:#8ea6ba2e}.list-row:hover,.list-row:focus-visible{border-color:#2f6aa84d}:root[data-theme=dark] .list-row:hover,:root[data-theme=dark] .list-row:focus-visible{background:#141e28f5;border-color:#5b8ec947}.empty-state,.confirmation-copy,.inline-error,.inline-success{margin:0}.planner-error{margin-bottom:1rem}.empty-state,.confirmation-copy{color:var(--muted)}.inline-error{color:#a13e2b;font-size:.88rem}.inline-success{color:#1d6b3e;font-size:.88rem}:root[data-theme=dark] .inline-error{color:#ff9b84}:root[data-theme=dark] .inline-success{color:#94e0ae}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media print{:root,body,.app-shell,.planner-page,.calendar-frame,.calendar-grid,.weekday-header,.day-cell,.entry-pill,.event-pill{-webkit-print-color-adjust:exact;print-color-adjust:exact}.ambient,.planner-header,.calendar-batch-tools{display:none!important}.app-shell,body{background:#fff!important}.planner-page,.calendar-frame{padding:0}.calendar-toolbar{justify-content:flex-end;margin-bottom:.5rem}.calendar-title{font-size:4rem}.calendar-grid{--calendar-grid-line:#303a469e;border-top-width:1.5px;border-left-width:1.5px;border-top-color:var(--calendar-grid-line)!important;border-left-color:var(--calendar-grid-line)!important}.weekday-header,.day-cell{border-bottom-width:1.5px;border-right-width:1.5px;border-right-color:var(--calendar-grid-line)!important;border-bottom-color:var(--calendar-grid-line)!important}.weekday-header{color:#fff!important}.day-cell{background:#fff!important}.entry-pill{box-shadow:inset 0 0 0 1px #1d273324}.event-pill{box-shadow:inset 0 0 0 1px #2f6aa82e;color:var(--weekday-header)!important;background:#2f6aa81f!important}}@media (width<=920px){.planner-page{padding:.75rem}.planner-header{align-items:start}.header-actions{justify-content:flex-end;align-self:start;gap:.5rem;margin-left:auto}.header-actions .secondary-button,.header-actions .theme-icon-button,.calendar-batch-tools .secondary-button,.calendar-batch-tools .ghost-button{min-height:2.5rem;padding:.62rem .85rem}.header-actions .theme-icon-button{width:2.75rem;padding-inline:0}.calendar-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;display:grid}.calendar-batch-tools{min-width:0}.calendar-title{justify-self:end}.calendar-grid{overflow:auto}.weekday-header,.day-cell{min-width:8rem}.side-panel{width:auto;max-height:78vh;inset:auto 0 0}}@media (width<=640px){.landing-card,.auth-card,.calendar-frame,.day-dialog{padding-left:1rem;padding-right:1rem}.planner-header{padding-inline:0}.header-actions,.dialog-actions,.dialog-footer{display:grid}.calendar-title{font-size:2.7rem}}
