@charset "UTF-8";
:root{--bg:#f7f8fa;--surface:#fff;--sidebar:#f0f1f3;--subtle:#f7f7f8;--text:#25272e;--muted:#858891;--border:#e7e8ec;--accent:#ed784a;--accent-hover:#de6536;--accent-soft:#fff0e8;--accent-text:#9a4829;--shadow:0 16px 60px #23252e12;--grid:#eceef1;--grid-half:#f5f6f8;--danger:#c74e54;--radius:14px;--font:Inter,"Segoe UI",Arial,sans-serif;color-scheme:light}
html[data-theme=dark]{--bg:#17191e;--surface:#1c1f25;--sidebar:#14161b;--subtle:#22252d;--text:#eceef3;--muted:#9399a7;--border:#2d313a;--accent:#f28a60;--accent-hover:#fa9d79;--accent-soft:#37291f;--accent-text:#f8ac8d;--shadow:0 16px 60px #0004;--grid:#2b2f38;--grid-half:#232730;--danger:#f28388;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;font-family:var(--font);font-size:14px;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}button{border:0;background:none}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}input:focus,textarea:focus,select:focus{outline:2px solid color-mix(in srgb,var(--accent) 60%,transparent);outline-offset:1px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:650;letter-spacing:-.035em}p{line-height:1.65}svg.icon{width:19px;height:19px;flex:none;vertical-align:middle}.small{font-size:12px}.muted{color:var(--muted)}.accent{color:var(--accent)}[hidden]{display:none!important}.optional{font-size:11px;font-weight:400;color:var(--muted);margin-left:5px}.tiny-label,.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.8px;color:var(--muted)}.eyebrow{display:flex;align-items:center;gap:9px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#81a08a;flex:none}.icon-button{width:35px;height:35px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;transition:background .16s}.icon-button:hover{background:var(--border)}[data-direction=prev] svg{transform:rotate(180deg)}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:10px 18px;border-radius:9px;font-size:13px;font-weight:600;transition:background .15s,transform .15s;white-space:nowrap}.button:active{transform:translateY(1px)}.primary{background:var(--accent);color:#271d19;box-shadow:0 3px 7px #b8542320}.primary:hover{background:var(--accent-hover)}.secondary{border:1px solid var(--border);background:var(--surface)}.secondary:hover{background:var(--subtle)}.compact{min-height:34px;padding:7px 14px;font-size:12px}.full{width:100%}.text-button{display:inline-flex;align-items:center;gap:7px;padding:6px 0;font-size:12px;font-weight:550}.danger{color:var(--danger)}.danger-button{background:var(--danger);color:#fff}.text-link{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:650}.text-link:hover{color:var(--accent)}.brand{display:inline-flex;align-items:center;gap:10px;font-size:31px;letter-spacing:-1.6px;font-weight:750;line-height:1}.brand-mark{display:flex;align-items:center;justify-content:center;width:35px;height:35px;background:var(--accent);color:#29221d;border-radius:11px;font-size:32px;font-weight:750;font-family:Georgia,serif;line-height:1;letter-spacing:-2px;padding:0 4px 5px 0;transform:rotate(-6deg)}.brand-period{color:var(--accent)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:500;padding:5px 9px;border:1px solid var(--border);background:var(--subtle);border-radius:6px;white-space:nowrap}.badge .icon{width:12px;height:12px}.boot{height:100dvh;display:grid;place-content:center;justify-items:center;gap:18px;color:var(--muted)}.boot .brand-mark{width:52px;height:52px;font-size:46px}.error-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:30px;text-align:center}.error-page .brand{position:absolute;left:32px;top:32px}.error-page h1{font-size:36px}.error-page p{max-width:520px;color:var(--muted)}
/* A quiet editorial welcome, with a calendar as the illustration. */
.auth-page{display:grid;grid-template-columns:1.05fr 1fr;min-height:100dvh}.auth-story{background:#eeebe4;padding:42px 52px 28px;display:flex;flex-direction:column;position:relative;overflow:hidden;color:#33332f}.auth-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.auth-top .tiny-label{color:#8d8c82;font-size:9px}.story-copy{margin:70px 0 32px;position:relative;z-index:1}.story-copy .eyebrow{color:#7d7c72;font-size:9px}.story-copy h1{font-size:clamp(42px,4.4vw,70px);line-height:1.09;letter-spacing:-3.7px;margin:22px 0}.story-copy h1 em{font-family:Georgia,serif;color:#ac5839;font-weight:400;letter-spacing:-3px}.story-copy>p{max-width:335px;color:#88857b;font-size:13px;line-height:1.8}.calendar-art{width:min(100%,440px);min-height:230px;background:#fff9;border:1px solid #fff;border-radius:13px;transform:rotate(-4deg);padding:18px 21px;position:relative;margin:0 0 38px 20px;box-shadow:0 16px 28px #706c5610}.art-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;padding-bottom:16px;border-bottom:1px solid #dedbd4}.art-top span:last-child{font-size:10px;letter-spacing:3px;color:#aaa79f}.art-grid{height:168px;position:relative;background:repeating-linear-gradient(to bottom,transparent 0,transparent 52px,#ddd9d055 52px,#ddd9d055 53px),repeating-linear-gradient(to right,transparent 0,transparent 69px,#ddd9d055 69px,#ddd9d055 70px)}.art-hour{position:absolute;top:30px;left:0;font-size:9px;color:#a3a096}.art-hour.second{top:111px}.art-event{position:absolute;border-radius:6px;border-left:3px solid;padding:10px 12px;font-size:11px;font-weight:600;box-shadow:0 3px 8px #5551}.art-event .icon{width:13px;height:13px;margin-right:4px}.art-event small{display:block;font-size:9px;font-weight:400;margin-top:7px}.art-one{top:15px;left:52px;width:142px;background:#e3eadf;border-color:#8a9e7e;color:#596750}.art-two{top:80px;left:125px;width:190px;background:#f5dfd4;border-color:#d18a65;color:#935c3c}.art-three{top:135px;left:236px;background:#e6e0ed;border-color:#b4a3c5;font-size:9px;color:#766984}.art-three .icon{width:11px;height:11px}.floating-note{position:absolute;right:-22px;top:25px;padding:10px 15px;background:#323a30;color:#fff;border-radius:9px;font-size:10px;transform:rotate(8deg);box-shadow:0 7px 14px #0002}.floating-note .icon{width:13px;height:13px;margin-right:5px}.story-footer{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#9a978d;margin-top:auto}.auth-form-side{display:flex;flex-direction:column;padding:35px 45px;position:relative;background:var(--surface)}.auth-tools{align-self:flex-end}.auth-form-wrap{width:100%;max-width:350px;margin:auto}.auth-form-wrap>.eyebrow{font-size:9px;margin-bottom:16px}.auth-form-wrap h2{font-size:31px;letter-spacing:-1.2px;margin-bottom:12px}.auth-form-wrap>.muted{font-size:13px;margin-bottom:35px}.auth-form-wrap .stack{gap:19px}.auth-form-wrap .button{margin-top:5px;height:47px}.auth-help{display:flex;gap:10px;margin-top:25px;color:var(--muted);padding-top:22px;border-top:1px solid var(--border)}.auth-help p{font-size:11px;line-height:1.75}.auth-help .icon{width:15px;height:15px;margin-top:2px}.auth-bottom{margin-top:auto;padding-top:45px;text-align:center;font-size:10px;color:var(--muted)}.password-field{display:flex;position:relative}.password-field input{padding-right:82px}.password-field button{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--muted)}html[data-theme=dark] .auth-story{background:#222722;color:#e1e5da}html[data-theme=dark] .story-copy h1 em{color:#efa47e}html[data-theme=dark] .calendar-art{filter:brightness(.82)}html[data-theme=dark] .art-grid,html[data-theme=dark] .art-top{color:#3d4537}
/* Workspace */
.app-shell{display:flex;height:100dvh;overflow:hidden}.sidebar{width:239px;min-width:239px;background:var(--sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:28px 20px 15px;overflow-y:auto;scrollbar-width:thin;z-index:20}.sidebar-brand{display:flex;align-items:center;justify-content:space-between;padding:0 7px;margin-bottom:38px}.sidebar-brand>.icon-button{display:none}.workspace-label{display:flex;align-items:center;gap:8px;font-size:8px;letter-spacing:1.5px;font-weight:650;color:var(--muted);margin:0 8px 14px}.workspace-label .icon{width:13px;height:13px}.new-event{width:100%;font-size:12px;min-height:41px}.mini-calendar{margin:24px 1px 21px}.mini-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:0 4px}.mini-heading strong{font-size:11px;font-weight:650}.mini-heading>div{display:flex;gap:0}.mini-heading .icon-button{width:24px;height:24px}.mini-heading .icon{width:13px;height:13px}.mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px 0}.mini-weekday{font-size:9px;text-align:center;color:var(--muted);padding:4px 0 6px}.mini-day{font-size:10px;height:25px;width:25px;margin:auto;border-radius:7px;display:flex;align-items:center;justify-content:center;position:relative}.mini-day.outside{opacity:.3}.mini-day.in-range{background:color-mix(in srgb,var(--accent) 9%,transparent)}.mini-day.today{font-weight:750;color:var(--accent-text)}.mini-day.today:after{content:'';position:absolute;bottom:2px;height:3px;width:3px;border-radius:50%;background:var(--accent)}.mini-day.selected{background:var(--accent);color:#2b211c;font-weight:700}.mini-day:hover{background:var(--border)}.nav-section-head{display:flex;align-items:center;justify-content:space-between;margin:4px 7px 4px;font-size:10px;font-weight:600;color:var(--muted)}.nav-section-head .icon-button{width:23px;height:25px}.nav-section-head .icon{width:14px;height:14px}.calendar-nav{display:flex;flex-direction:column;gap:3px}.calendar-nav-item{display:flex;align-items:center;gap:9px;min-height:37px;padding:8px 10px;border-radius:7px;font-size:11px}.calendar-nav-item span:nth-child(2){flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-nav-item>.icon{width:11px;height:11px;opacity:.45}.calendar-nav-item.active{background:var(--surface);box-shadow:0 2px 4px #00000004;font-weight:600}.calendar-nav-item:hover{background:var(--surface)}.color-dot{display:inline-block;width:8px;height:8px;border-radius:3px;background:var(--event-color);flex:none}.sidebar-spacer{flex:1;min-height:24px}.sidebar-note{padding:14px 12px;display:flex;gap:11px;align-items:center;margin-bottom:19px;border:1px dashed color-mix(in srgb,var(--muted) 25%,transparent);border-radius:9px}.note-spark{font-size:33px;color:var(--accent);line-height:1}.sidebar-note p{color:var(--muted);font-size:10px;line-height:1.7}.bottom-nav{display:flex;flex-direction:column;gap:1px;padding-bottom:14px}.nav-button{display:flex;align-items:center;gap:10px;padding:9px 8px;font-size:11px;text-align:left;color:var(--muted);border-radius:6px}.nav-button .icon{width:15px;height:15px}.nav-button:hover{background:var(--surface);color:var(--text)}.profile{display:flex;align-items:center;gap:9px;border-top:1px solid var(--border);padding:17px 0 0}.avatar{height:33px;width:33px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#dedad2;color:#776753;font-size:13px;font-weight:650;flex:none}.profile-name{flex:1;text-align:left;min-width:0;padding:0}.profile-name strong{display:block;font-size:11px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-name small{display:block;font-size:8px;color:var(--muted);margin-top:5px}.profile>.icon-button{width:25px;height:30px;color:var(--muted)}.profile>.icon-button .icon{width:15px;height:15px}.public-note{font-size:9px;color:var(--muted);padding:15px 3px;border-top:1px solid var(--border)}.nav-empty{padding:8px}.calendar-main{flex:1;min-width:0;display:flex;flex-direction:column;position:relative;background:var(--surface)}.calendar-header{padding:30px 33px 22px;border-bottom:1px solid var(--border)}.calendar-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-title-row>.icon-button{display:none}.calendar-title .eyebrow{font-size:8px;letter-spacing:1.7px;margin-bottom:11px}.calendar-title h1{font-size:27px;display:flex;align-items:center;gap:12px;line-height:1.2}.header-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.header-actions{display:flex;align-items:center;gap:9px}.header-actions>.icon-button{border:1px solid var(--border);width:32px;height:32px}.header-actions>.icon-button .icon{width:15px;height:15px}.visibility-badge{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted);padding-right:11px}.visibility-badge .icon{width:13px;height:13px}.calendar-subline{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:11px;color:var(--muted);font-size:10px;line-height:1.5}.calendar-subline>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timezone{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:9px}.timezone .icon{width:12px;height:12px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 30px;border-bottom:1px solid var(--border);flex-wrap:wrap}.date-navigation{display:flex;align-items:center;gap:12px;min-width:0}.nav-arrows{display:flex;gap:0}.nav-arrows .icon-button{width:25px;height:30px}.nav-arrows .icon{width:14px;height:14px}.date-navigation h2{font-size:17px;letter-spacing:-.5px;white-space:nowrap;font-weight:600}.week-number{font-size:9px;background:var(--subtle);border:1px solid var(--border);border-radius:4px;padding:3px 5px;color:var(--muted);white-space:nowrap}.view-controls{display:flex;align-items:center;gap:16px}.segmented{display:flex;align-items:center;padding:3px;background:var(--subtle);border:1px solid var(--border);border-radius:8px}.segmented button{font-size:10px;padding:6px 11px;color:var(--muted);border-radius:5px;white-space:nowrap}.segmented button.selected{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #0000000f;font-weight:600}.search-field{display:flex;align-items:center;gap:7px;color:var(--muted);width:155px}.search-field .icon{width:14px;height:14px}.search-field input{width:100%;background:transparent!important;padding:5px 0!important;border:0!important;border-radius:0!important;font-size:10px!important;min-height:25px!important}.calendar-body{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}.time-grid-wrap{display:flex;flex-direction:column;flex:1;min-height:0;--axis:62px}.grid-heading,.all-day-row{display:grid;grid-template-columns:var(--axis) repeat(var(--days),minmax(0,1fr));padding-right:12px}.grid-heading{border-bottom:1px solid var(--border);min-height:81px;background:var(--surface)}.grid-heading>.time-gutter{align-self:end;padding-bottom:15px;font-size:8px}.time-gutter{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:9px}.day-heading{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;position:relative;border-left:1px solid var(--border);padding:12px 5px}.day-heading>span{font-size:9px;text-transform:uppercase;letter-spacing:1.1px;color:var(--muted)}.day-heading strong{display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:500;width:34px;height:31px;border-radius:9px;line-height:1}.day-heading.is-today strong{background:var(--accent);color:#30231c}.day-heading.is-today>span{color:var(--accent-text);font-weight:600}.day-heading i{display:none}.day-heading:hover{background:var(--subtle)}.day-heading.weekend{background:var(--subtle)}.all-day-row{min-height:36px;max-height:140px;overflow:auto;border-bottom:1px solid var(--border);background:var(--surface)}.all-day-cell{border-left:1px solid var(--border);padding:4px 3px;display:flex;flex-direction:column;gap:3px}.time-scroll{flex:1;min-height:0;overflow-y:scroll;scrollbar-width:thin;scrollbar-color:var(--border) var(--surface);scrollbar-gutter:stable}.time-grid{display:grid;grid-template-columns:var(--axis) repeat(var(--days),minmax(0,1fr));height:1536px;position:relative}.hour-axis{position:relative;background:var(--surface)}.hour-axis span{position:absolute;font-size:9px;color:var(--muted);right:11px;transform:translateY(-50%);line-height:1}.hour-axis span:first-child{transform:translateY(5px)}.day-column{position:relative;border-left:1px solid var(--grid);background:repeating-linear-gradient(to bottom,transparent 0px,transparent 31px,var(--grid-half) 31px,var(--grid-half) 32px,transparent 32px,transparent 63px,var(--grid) 63px,var(--grid) 64px);outline-offset:-3px!important}.day-column.is-today{background-color:color-mix(in srgb,var(--accent) 2%,var(--surface))}.day-column.weekend{background-color:color-mix(in srgb,var(--subtle) 65%,var(--surface))}.day-column.drag-over{background-color:var(--accent-soft)}.event-card{position:absolute;border-radius:6px;border:1px solid color-mix(in srgb,var(--event-color) 17%,transparent);border-left:3px solid var(--event-color);background:color-mix(in srgb,var(--event-color) 16%,var(--surface));color:color-mix(in srgb,var(--event-color) 55%,var(--text));padding:8px 8px 5px;display:flex;flex-direction:column;gap:4px;align-items:stretch;text-align:left;overflow:hidden;min-width:0;z-index:2;transition:filter .12s,box-shadow .12s}.event-card:hover{filter:brightness(.98);box-shadow:0 3px 9px #00000010;z-index:4}.event-title{font-size:10px;line-height:1.35;font-weight:650;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.event-time{font-size:9px;opacity:.8;line-height:1.3;white-space:nowrap;flex-shrink:0}.event-meta{display:flex;align-items:center;justify-content:space-between;gap:3px;font-size:8px;line-height:1.4;margin-top:auto;min-height:11px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;opacity:.8}.event-icons{display:inline-flex;align-items:center;gap:4px;flex:none}.event-icons .icon{width:10px;height:10px}.event-card[data-duration="15"],.event-card[data-duration="30"]{padding-top:3px;gap:1px}.event-card[data-duration="15"] .event-time,.event-card[data-duration="15"] .event-meta,.event-card[data-duration="30"] .event-meta{display:none}.event-card[data-duration="30"] .event-time{font-size:8px}.event-card.all-day-card{position:relative;width:100%;min-height:23px;padding:4px 6px;display:flex;flex-direction:row;align-items:center;gap:5px}.all-day-card .event-title{flex:1;font-size:9px;min-width:0}.all-day-card .event-meta{margin-top:0}.cancelled{opacity:.55}.cancelled .event-title,.cancelled .agenda-text strong{text-decoration:line-through}.dragging{opacity:.4}.now-line{position:absolute;height:1px;background:var(--accent);left:0;right:0;z-index:5;pointer-events:none;box-shadow:0 0 4px color-mix(in srgb,var(--accent) 15%,transparent)}.now-line span{position:absolute;left:-3px;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--accent)}.calendar-footer{min-height:34px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:8px 25px;font-size:9px;color:var(--muted);gap:15px}.calendar-footer span:first-child{display:flex;align-items:center;gap:7px}.calendar-footer span:last-child{font-size:8px}.grid-empty-hint{position:absolute;left:50%;top:30%;transform:translateX(-50%);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px 22px;box-shadow:var(--shadow);color:var(--muted);display:flex;align-items:center;gap:12px;max-width:80%;font-size:12px;pointer-events:none}.grid-empty-hint .icon{color:var(--accent)}.mobile-fab{display:none}
/* Agenda and calendar overview */
.agenda{overflow-y:auto;padding:20px 35px;flex:1}.agenda-day{display:flex;gap:26px;margin-bottom:24px}.agenda-date{min-width:65px;display:flex;flex-direction:column;align-items:center;padding-top:12px}.agenda-date strong{font-size:30px;font-weight:500;line-height:1.1}.agenda-date span{font-size:10px;color:var(--muted);margin-top:6px}.agenda-events{flex:1;display:flex;flex-direction:column;gap:7px;min-width:0}.agenda-event{display:flex;align-items:center;gap:20px;width:100%;border:1px solid var(--border);border-left:3px solid var(--event-color);border-radius:9px;padding:16px 20px;text-align:left}.agenda-event:hover{background:var(--subtle)}.agenda-time{width:65px;font-size:12px;flex:none}.agenda-time small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.agenda-text{flex:1;min-width:0}.agenda-text strong{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere}.agenda-text small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.agenda-event>.icon{width:15px;color:var(--muted)}.agenda-event .event-icons{color:var(--muted)}.agenda-event .event-icons .icon{width:13px;height:13px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:70px 20px;gap:17px}.empty-art{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:25px;background:var(--accent-soft);color:var(--accent);transform:rotate(-8deg);margin-bottom:10px}.empty-art .icon{height:40px;width:40px}.empty-state h2{font-size:26px}.empty-state p{max-width:340px;color:var(--muted);font-size:13px}.home-main{padding:40px 45px;flex:1;overflow-y:auto;min-width:0}.home-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.home-header h1{font-size:35px;margin:12px 0 6px}.home-header .eyebrow{font-size:9px}.home-header p{font-size:12px}.home-header>div>.icon-button{display:none}.welcome-banner{background:#e8ece5;border:1px solid #dbe2d6;border-radius:16px;padding:30px 40px;display:flex;justify-content:space-between;align-items:center;gap:25px;overflow:hidden;color:#3f4a37}.welcome-banner .eyebrow{color:#87907f;font-size:8px}.welcome-banner h2{font-size:33px;line-height:1.13;margin:13px 0}.welcome-banner p{font-size:11px;color:#8c9584}.banner-symbol{position:relative;min-width:135px}.banner-symbol>.icon{width:115px;height:115px;stroke-width:.65;transform:rotate(10deg);opacity:.5}.banner-symbol>span{color:var(--accent);position:absolute;font-size:78px;bottom:-12px;left:-35px}.section-title{display:flex;align-items:center;gap:10px;margin:32px 0 20px}.section-title h2{font-size:18px}.count-pill{font-size:10px;background:var(--border);border-radius:5px;padding:3px 6px;color:var(--muted)}.calendar-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.calendar-card{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:24px}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;gap:10px}.calendar-card-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;color:var(--event-color);background:color-mix(in srgb,var(--event-color) 13%,var(--surface))}.calendar-card h3{font-size:19px;margin-bottom:8px;overflow-wrap:anywhere}.calendar-card>p{font-size:11px;color:var(--muted);min-height:38px;overflow-wrap:anywhere}.card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:22px;padding-top:14px;border-top:1px solid var(--border)}.card-bottom>.icon-button{color:var(--muted)}.card-bottom>.icon-button .icon{height:16px;width:16px}.new-calendar-card{min-height:260px;border:1px dashed color-mix(in srgb,var(--muted) 35%,transparent);border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;gap:15px}.new-calendar-card>span{height:40px;width:40px;border-radius:50%;background:var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted)}.new-calendar-card strong{font-size:12px;font-weight:550}.new-calendar-card small{font-size:10px;color:var(--muted)}.new-calendar-card:hover{background:var(--surface);border-color:var(--accent)}html[data-theme=dark] .welcome-banner{background:#242f29;border-color:#35423b;color:#c2d3bc}html[data-theme=dark] .welcome-banner p{color:#9eaf99}
/* Dialogs, editors and admin */
dialog{width:min(490px,calc(100% - 32px));max-height:calc(100dvh - 60px);border:1px solid var(--border);border-radius:17px;background:var(--surface);color:var(--text);padding:25px;box-shadow:0 30px 100px #0003;overflow-y:auto;scrollbar-width:thin}dialog.wide{width:min(650px,calc(100% - 32px))}dialog::backdrop{background:#10131d65;backdrop-filter:blur(4px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.modal-heading h2{font-size:22px;font-weight:600}.modal-heading .icon-button{color:var(--muted);background:var(--subtle);width:30px;height:30px}.modal-heading .icon{width:16px;height:16px}.stack{display:flex;flex-direction:column;gap:16px}label{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:550}label:has(.optional){flex-wrap:wrap}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-width:0;border:1px solid var(--border);border-radius:8px;padding:11px 12px;background:var(--surface);color:var(--text);font-size:12px;min-height:41px;transition:border-color .15s}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}textarea{resize:vertical;min-height:70px;line-height:1.65}select{padding-right:28px}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;flex:none;margin:0}input[type=radio]{accent-color:var(--accent)}.check-label{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:500;font-size:12px}.check-label.small{font-size:10px;line-height:1.6}.check-label .icon{width:14px;height:14px}.form-row{display:flex;gap:14px;align-items:flex-end}.form-row>label{flex:1;min-width:0}.form-error{color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent);border-radius:7px;padding:10px 13px;font-size:12px;line-height:1.6}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid var(--border);margin-top:8px;padding-top:20px}.modal-footer .button{font-size:12px}.field-hint{font-size:10px;line-height:1.7;color:var(--muted);font-weight:400}.field-hint>.icon{width:12px;height:12px;vertical-align:-2px;margin-right:4px}.slug-field{display:flex;align-items:center;gap:0}.slug-field>span{border:1px solid var(--border);border-right:0;background:var(--subtle);padding:12px 11px;border-radius:8px 0 0 8px;font-weight:400;color:var(--muted);font-size:12px;min-height:41px}.slug-field>input{border-radius:0 8px 8px 0!important}.color-picker{display:flex;gap:9px;align-items:center}.color-picker>label{position:relative;cursor:pointer}.color-picker input{position:absolute;opacity:0;height:25px;width:25px;margin:0}.color-picker span{display:flex;align-items:center;justify-content:center;height:25px;width:25px;border-radius:50%;background:var(--event-color);border:2px solid var(--surface);outline:2px solid transparent}.color-picker .icon{width:13px;height:13px;color:#fff;opacity:0}.color-picker input:checked+span{outline-color:var(--event-color)}.color-picker input:checked+span .icon{opacity:1}.color-picker input:focus-visible+span{outline-color:var(--text)}.event-form-intro{display:flex;align-items:center;justify-content:space-between;gap:10px}.title-input{font-size:23px!important;font-weight:550;letter-spacing:-.5px;padding:12px 0!important;border:0!important;border-bottom:1px solid var(--border)!important;border-radius:0!important}.dates-row{gap:9px}.dates-row label{font-size:10px}.dates-row input{font-size:11px!important;padding:9px 7px!important;min-height:39px!important}.dates-row .time-field{flex:.73}.date-arrow{padding-bottom:11px;color:var(--muted)}.date-arrow .icon{width:15px;height:15px}.recurrence-box{border:1px solid var(--border);background:var(--subtle);border-radius:9px;padding:15px;display:flex;flex-direction:column;gap:12px}.with-icon{display:grid;grid-template-columns:20px 1fr;align-items:center;column-gap:5px}.with-icon .icon{width:15px;height:15px;color:var(--muted)}.with-icon select{grid-column:1/-1;background:var(--surface)}#recurrence-fields{display:flex;flex-direction:column;gap:13px}.interval-row{display:flex;align-items:center;gap:10px;font-size:11px}.interval-row input{width:65px!important;min-height:33px!important;padding:7px 9px!important}.weekday-picker{display:flex;gap:6px}.weekday-picker label{position:relative;cursor:pointer;flex:1}.weekday-picker input{position:absolute;opacity:0}.weekday-picker span{display:flex;align-items:center;justify-content:center;border:1px solid var(--border);height:33px;border-radius:7px;font-size:10px;background:var(--surface)}.weekday-picker input:checked+span{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.weekday-picker input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.recurrence-preview{font-size:11px;color:var(--accent-text);font-weight:550;line-height:1.6}.recurrence-box .field-hint{font-size:9px}.privacy-row{border:1px solid var(--border);border-radius:9px;padding:14px}.privacy-row .field-hint{padding:7px 0 0 24px;font-size:10px}.event-color-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:3px 0}.event-color-row>.small{font-size:10px;color:var(--muted)}.notice{display:flex;gap:10px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:10px;padding:16px;font-size:12px;line-height:1.7;color:var(--accent-text)}.notice .icon{margin-top:2px}.notice p{font-size:11px;margin-top:6px;overflow-wrap:anywhere}.notice.small{font-size:11px}.notice code{font-size:10px}.auth-form-wrap>.notice{margin:20px 0}.event-detail{position:relative}.detail-color{display:block;width:35px;height:4px;border-radius:3px;margin-bottom:14px}.event-detail h3{font-size:27px;line-height:1.25;margin-bottom:15px;overflow-wrap:anywhere}.detail-badges{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:24px}.detail-line{display:flex;align-items:flex-start;gap:13px;margin:17px 0;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.detail-line>.icon{color:var(--muted);width:17px;height:17px;margin-top:2px}.detail-line strong{display:block;font-weight:550}.detail-line div>span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.detail-description{font-size:12px;color:var(--muted);border-top:1px solid var(--border);padding-top:18px;margin:22px 0;white-space:pre-wrap;overflow-wrap:anywhere}.detail-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px;border-top:1px solid var(--border);padding-top:22px}.detail-actions .button{font-size:11px;flex:1;min-height:38px;padding:9px 12px}.detail-actions .text-button{margin-top:5px;flex-basis:100%;justify-content:center;font-size:11px}.confirm-message{font-size:13px;color:var(--muted);padding:3px 0 18px}.users-intro{display:flex;align-items:center;gap:20px;justify-content:space-between;margin-bottom:20px}.users-intro p{font-size:11px;max-width:260px}.users-intro .button{font-size:11px}.user-list{display:flex;flex-direction:column;margin-bottom:20px;border-top:1px solid var(--border)}.user-row{display:flex;align-items:center;gap:12px;padding:16px 2px;border-bottom:1px solid var(--border)}.user-info{flex:1;min-width:0}.user-info strong{font-size:12px;font-weight:550;overflow-wrap:anywhere}.user-info small{font-size:10px;display:block;margin-top:5px;color:var(--muted)}.user-row .avatar{height:35px;width:35px}.user-row .icon-button{width:28px;height:28px}.user-row .icon-button .icon{height:15px;width:15px}.context-menu{position:fixed;z-index:100;width:275px;border:1px solid var(--border);border-radius:11px;padding:6px;background:var(--surface);box-shadow:var(--shadow)}.context-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px;border-radius:6px;font-size:11px}.context-item>.icon{width:15px;height:15px;opacity:.7}.context-item:hover{background:var(--subtle)}.context-menu hr{border:0;border-top:1px solid var(--border);margin:5px 3px}#toasts{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:150;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:max-content;max-width:calc(100% - 32px)}.toast{background:var(--text);color:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);padding:13px 19px;border-radius:10px;font-size:12px;display:flex;align-items:center;gap:10px;animation:toast-in .2s ease-out;line-height:1.6}.toast>.icon{width:16px;height:16px;color:#9fc3a3}.toast.error>.icon{color:#ffb29c}.toast span{overflow-wrap:anywhere}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.sidebar{width:260px;min-width:260px;padding-left:25px;padding-right:25px}.calendar-header{padding-top:35px;padding-bottom:25px}.calendar-toolbar{padding-top:23px;padding-bottom:23px}.event-title{font-size:12px}.event-time{font-size:10px}.event-meta{font-size:9px}.day-heading strong{font-size:25px}.calendar-title h1{font-size:31px}.calendar-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.auth-story{padding-left:80px;padding-right:80px}.calendar-art{margin-top:25px}.story-copy{margin-top:100px}.auth-form-wrap{max-width:380px}}
@media(max-width:1200px){.sidebar{width:213px;min-width:213px;padding-left:15px;padding-right:15px}.calendar-toolbar{padding:16px 22px;gap:13px}.view-controls{gap:12px}.search-field{width:130px}.date-navigation{gap:8px}.date-navigation h2{font-size:15px}.week-number{display:none}.segmented button{padding:6px 9px}.calendar-header{padding:25px 25px 20px}.visibility-badge{font-size:9px;padding-right:0}.home-main{padding:35px 30px}.auth-story{padding-left:35px;padding-right:35px}.auth-top .tiny-label{display:none}.story-copy h1{font-size:55px}.calendar-art{margin-left:0;width:95%}.floating-note{right:-17px}.art-three{left:auto;right:0}.art-two{left:100px;width:180px}}
@media(max-width:1000px){.calendar-toolbar{flex-direction:column;align-items:stretch;padding:15px 20px;gap:15px}.view-controls{justify-content:space-between}.date-navigation{gap:10px}.date-navigation h2{font-size:17px}.week-number{display:inline-block}.search-field{width:190px}.sidebar{width:205px;min-width:205px}.sidebar-note{padding:12px 8px}.event-card{padding:6px 5px}.event-title{font-size:9px}.event-time{font-size:8px}.event-meta{font-size:7px}.event-icons{gap:2px}.event-icons .icon{height:9px;width:9px}.visibility-badge{display:none}.calendar-title h1{font-size:25px}.calendar-subline{font-size:9px}.calendar-footer span:last-child{display:none}.home-header{align-items:flex-start}.home-header>.button{font-size:11px;padding:9px 12px}.welcome-banner{padding:26px}.welcome-banner h2{font-size:29px}.auth-page{grid-template-columns:.9fr 1fr}.auth-story{padding:30px 25px}.auth-form-side{padding:30px}.story-copy{margin-top:60px}.story-copy h1{font-size:48px;letter-spacing:-2.5px}.calendar-art{padding:15px 12px;margin-top:15px}.art-top span:last-child{letter-spacing:1px;font-size:8px}.art-two{left:60px;width:175px}.art-one{left:35px}.story-footer span:last-child{display:none}.auth-form-wrap h2{font-size:27px}}
@media(max-width:760px){.auth-page{display:block;min-height:100dvh}.auth-story{display:none}.auth-form-side{min-height:100dvh;padding:22px 27px}.auth-form-side:before{content:'takt.';position:absolute;top:30px;left:29px;font-size:30px;letter-spacing:-1.8px;font-weight:750;color:var(--accent)}.auth-form-wrap{max-width:380px;padding:35px 0}.auth-form-wrap h2{font-size:29px}.auth-form-wrap>.eyebrow{font-size:9px}.auth-form-wrap>.muted{margin-bottom:29px}.auth-form-wrap .stack{gap:21px}.auth-bottom{font-size:10px;padding-top:0}.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform .2s;width:260px;min-width:260px;padding:25px 22px;box-shadow:10px 0 50px #0001}.sidebar.open{transform:translateX(0)}.sidebar-brand{margin-bottom:29px}.sidebar-brand>.icon-button{display:inline-flex}.sidebar-scrim{position:fixed;inset:0;z-index:19;background:#10131c65}.mini-day{height:28px;width:28px;font-size:11px}.mini-heading strong{font-size:12px}.mini-weekday{font-size:10px}.calendar-nav-item{font-size:12px;min-height:42px}.nav-button{font-size:12px;padding:12px 8px}.profile-name strong{font-size:12px}.profile-name small{font-size:9px}.calendar-header{padding:20px 17px 15px}.calendar-title-row{justify-content:initial;gap:10px}.calendar-title-row>.icon-button{display:inline-flex;width:30px;height:33px;margin-left:-5px}.calendar-title{flex:1;min-width:0}.calendar-title h1{font-size:23px;gap:8px;line-height:1.2;overflow-wrap:anywhere}.calendar-title .eyebrow{font-size:6.5px;letter-spacing:1.3px;margin-bottom:8px}.header-dot{width:6px;height:6px}.header-actions{gap:5px}.header-actions>.icon-button{width:30px;height:30px}.header-actions>[data-action=share]{display:none}.calendar-subline{margin-top:11px;font-size:9px;gap:10px}.timezone{font-size:8px}.timezone .icon{display:none}.calendar-toolbar{padding:14px 16px;gap:13px}.date-navigation{gap:8px}.date-navigation h2{font-size:16px}.date-navigation .button{font-size:11px;min-height:32px;padding:6px 10px}.nav-arrows .icon-button{width:22px}.week-number{font-size:8px;margin-left:auto}.view-controls{gap:9px}.segmented button{font-size:10px;padding:6px 10px}.search-field{width:130px;flex:1;max-width:180px}.search-field input{font-size:9px!important}.search-field .icon{width:13px}.grid-heading{min-height:67px;padding-right:0}.time-grid-wrap{--axis:48px}.grid-heading>.time-gutter{font-size:7px}.time-gutter{font-size:8px}.day-heading{gap:5px;padding:9px 3px}.day-heading>span{font-size:8px;letter-spacing:.8px}.day-heading strong{font-size:20px;width:30px;height:28px}.all-day-row{padding-right:0;min-height:31px}.all-day-card .event-title{font-size:8px}.all-day-card .event-icons{display:none}.hour-axis span{font-size:9px;right:8px}.time-scroll{scrollbar-width:none;scrollbar-gutter:auto}.time-scroll::-webkit-scrollbar{display:none}.event-card{padding:7px 8px;border-radius:7px}.event-title{font-size:12px}.event-time{font-size:11px}.event-meta{font-size:10px}.event-icons .icon{height:12px;width:12px}.time-grid-wrap[style="--days:7"] .event-card,.time-grid-wrap[style="--days:5"] .event-card{padding:4px 3px;border-left-width:2px}.time-grid-wrap[style="--days:7"] .event-title,.time-grid-wrap[style="--days:5"] .event-title{font-size:9px;white-space:normal;line-height:1.3}.time-grid-wrap[style="--days:7"] .event-time,.time-grid-wrap[style="--days:5"] .event-time{font-size:8px}.time-grid-wrap[style="--days:7"] .event-meta,.time-grid-wrap[style="--days:5"] .event-meta{display:none}.calendar-footer{font-size:8px;padding:9px 15px;min-height:31px}.mobile-fab{display:flex;position:fixed;right:22px;bottom:53px;width:50px;height:50px;align-items:center;justify-content:center;background:var(--accent);color:#30231c;border-radius:16px;box-shadow:0 5px 18px #0002;z-index:8}.mobile-fab>.icon{width:23px;height:23px}.agenda{padding:14px}.agenda-day{gap:10px;margin-bottom:18px}.agenda-date{min-width:40px}.agenda-date strong{font-size:25px}.agenda-date span{font-size:8px;max-width:45px;text-align:center;line-height:1.6}.agenda-event{padding:13px 10px;gap:9px}.agenda-time{width:51px;font-size:10px}.agenda-time small{font-size:9px}.agenda-text strong{font-size:12px}.agenda-text small{font-size:9px}.agenda-event .event-icons .icon{width:11px;height:11px}.agenda-event>.icon{display:none}.grid-empty-hint{padding:13px 16px;font-size:11px;width:280px;max-width:75%;top:20%;line-height:1.7}.grid-empty-hint .icon{width:17px;height:17px}.home-main{padding:23px 20px}.home-header{gap:12px;margin-bottom:25px;align-items:center}.home-header>div{position:relative;padding-left:0}.home-header>div>.icon-button{display:inline-flex;position:absolute;top:0;left:-5px;height:22px;width:22px}.home-header .eyebrow{padding-left:27px;font-size:8px;min-height:22px}.home-header h1{font-size:30px;margin-top:15px}.home-header p{font-size:11px}.home-header>.button{font-size:0;padding:0;width:40px;min-width:40px;min-height:40px;margin-top:23px}.home-header>.button .icon{width:20px;height:20px}.welcome-banner{padding:23px;gap:10px;border-radius:13px}.welcome-banner h2{font-size:26px}.welcome-banner p{font-size:10px;max-width:220px}.welcome-banner .eyebrow{font-size:7px;letter-spacing:1.2px}.banner-symbol{min-width:70px;align-self:flex-end;margin-bottom:10px}.banner-symbol>.icon{width:70px;height:70px}.banner-symbol>span{font-size:55px;left:-22px;bottom:-12px}.section-title{margin:27px 0 17px}.section-title h2{font-size:17px}.calendar-cards{grid-template-columns:1fr;gap:15px}.calendar-card{padding:22px}.new-calendar-card{min-height:200px}.empty-state{padding:45px 10px}.empty-state h2{font-size:23px}.empty-state p{font-size:12px}.error-page h1{font-size:28px}.error-page p{font-size:12px}dialog{padding:20px;border-radius:16px;max-height:calc(100dvh - 24px);width:calc(100% - 24px)}dialog.wide{width:calc(100% - 24px)}.modal-heading{margin-bottom:21px}.modal-heading h2{font-size:20px}.dates-row{display:grid;grid-template-columns:1.4fr 1fr;gap:12px}.dates-row .date-arrow{display:none}.dates-row input{font-size:13px!important;padding:10px!important}.form-row{gap:10px}.form-row>label{font-size:10px}.form-row input,.form-row select{font-size:11px}.stack{gap:17px}input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px!important;min-height:44px}.search-field input{font-size:12px!important;min-height:27px!important}.title-input{font-size:23px!important}.interval-row input{font-size:14px!important}.recurrence-box select{font-size:12px!important}.recurrence-box .form-row{flex-wrap:wrap}.recurrence-box .form-row>label{min-width:100px}.modal-footer{gap:8px}.modal-footer .button{padding:10px 13px;font-size:11px;min-height:43px}.users-intro{align-items:flex-start;gap:13px}.users-intro p{font-size:10px;max-width:170px}.users-intro .button{font-size:10px;padding:9px 10px;gap:5px}.users-intro .button .icon{width:14px}.user-row{gap:9px}.user-row .badge{font-size:8px;padding:4px 6px}.user-info strong{font-size:11px}.user-info small{font-size:9px}.user-row .avatar{width:30px;height:30px;font-size:11px}.event-form-intro .small{font-size:10px}.event-form-intro .badge{font-size:9px}.detail-actions .button{font-size:11px}.event-detail h3{font-size:24px}.event-color-row{align-items:flex-start}.color-picker{gap:7px}.color-picker span{height:25px;width:25px}.toast{font-size:11px;padding:12px 15px}#toasts{bottom:20px}.context-menu{width:265px}.context-item{padding:12px 10px}.auth-help p{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Comfortable reading at full desktop width; keep the search on one line. */
.search-field{flex-direction:row;font-weight:400}
@media(min-width:1001px){.event-title{font-size:12px}.event-time{font-size:10px}.event-meta{font-size:9px}.calendar-nav-item{font-size:12px}.nav-button{font-size:12px}.profile-name strong{font-size:12px}.calendar-subline{font-size:11px}.day-heading>span{font-size:10px}.hour-axis span{font-size:10px}.segmented button{font-size:11px}.search-field input{font-size:11px!important}}
label:has(.optional){display:grid;grid-template-columns:max-content 1fr;align-items:center;gap:8px 6px}
label:has(.optional)>input,label:has(.optional)>textarea{grid-column:1/-1}
label:has(.optional)>.optional{margin-left:0}
.event-card[data-duration="30"]{padding:3px 6px;gap:1px}
.event-card[data-duration="30"] .event-title{font-size:10px;line-height:12px}
.event-card[data-duration="30"] .event-time{font-size:8px;line-height:9px}
@media(max-width:760px){.nav-arrows .icon-button{width:28px}.event-card[data-duration="30"]{padding:3px 7px}}
.event-title>.icon{width:10px;height:10px;vertical-align:-1px;margin-right:4px}
.is-dragging,.is-dragging *{cursor:grabbing!important;user-select:none!important}
.day-column.drag-over::after{content:attr(data-drop-time);position:absolute;z-index:6;top:var(--drop-top);left:2px;right:2px;border-top:2px solid var(--accent);border-radius:4px;background:var(--accent-soft);color:var(--accent-text);font-size:10px;font-weight:600;padding:4px 7px;pointer-events:none}
