:root{--bg:#f5f6f3;--paper:#fff;--ink:#273a34;--muted:#8a948d;--line:#e8ece7;--accent:#426d58;--accent-soft:#eaf1e9;--hour:76px;--axis:54px;--radius:16px}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button,input,select,textarea{outline-offset:3px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #a6bea8}button:disabled{opacity:.4;cursor:default}button{border:0;background:none}svg{flex-shrink:0;vertical-align:middle;pointer-events:none}h1,h2,h3,p{margin:0}input,textarea,select{min-width:0}textarea{resize:vertical}button{touch-action:manipulation}[hidden]{display:none!important}.spacer{flex:1}.app{display:flex;min-height:100vh}.sidebar{width:230px;background:#fbfcfa;border-right:1px solid var(--line);position:sticky;top:0;height:100dvh;overflow:auto;display:flex;flex-direction:column;padding:31px 21px 18px;flex-shrink:0}.brand{display:flex;gap:11px;align-items:center;letter-spacing:-.5px;font-size:18px;font-weight:700;white-space:nowrap;margin-bottom:33px}.brand>div>span{display:block;font-size:7px;letter-spacing:1.5px;font-weight:650;color:#92a095;margin-top:4px}.brandmark{width:35px;height:35px;background:#42664e;color:#e9f0cf;border-radius:11px;display:grid;place-items:center;flex-shrink:0}.brandmark svg{width:23px;height:23px}.side-nav{display:grid;gap:5px;margin-bottom:26px}.nav-item{width:100%;display:flex;align-items:center;gap:10px;color:#839084;text-align:left;font-weight:550;font-size:12px;border-radius:9px;min-height:39px;padding:10px 11px}.nav-item:hover{background:#f0f3ee}.nav-item.active{background:#eaf0e5;color:#3d5c45;font-weight:650}.nav-count{margin-left:auto;color:#657c65;font-size:10px}.mini-calendar{margin:0 1px 23px}.mini-title{display:flex;justify-content:space-between;align-items:center;margin:0 2px 10px;font-size:11px}.mini-title strong{font-weight:650}.mini-title>div{display:flex;gap:2px}.mini-arrow{width:24px;height:24px;border-radius:6px;color:#7b8b7d;display:inline-grid;place-items:center}.mini-arrow svg{width:13px;height:13px}.mini-arrow:hover{background:#eaf0e5}.mini-weekdays,.mini-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:2px}.mini-weekdays{color:#9ba69e;font-size:9px;padding:4px 0 6px}.mini-days button{height:25px;font-size:10px;border-radius:6px;color:#7b8980}.mini-days .outside{color:#c8d0c9}.mini-days .selected-week{background:#eff3ea;color:#587158}.mini-days .today{background:#4f7058;color:white;font-weight:700}.mini-days button:hover{box-shadow:inset 0 0 0 1px #bac9b6}.side-section{margin:0 0 24px}.section-label{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.2px;font-weight:650;color:#98a298;margin:0 9px 9px}.person-filter,.area-filter{display:flex;align-items:center;gap:9px;width:100%;font-size:12px;color:#7e8b81;min-height:36px;text-align:left;padding:7px 10px;border-radius:8px}.person-filter:hover,.area-filter:hover{background:#f0f3ed}.person-filter.active{background:#f0f3ed;color:#354b3a;font-weight:650}.person-filter .tick{margin-left:auto;opacity:0}.person-filter.active .tick{opacity:1}.person-avatar{height:23px;min-width:23px;border-radius:50%;background:var(--person-soft,#ecf0ec);color:var(--person-color,#647b63);display:grid;place-items:center;font-size:9px;font-weight:750}.area-check{width:13px;height:13px;border:1px solid var(--area-color);background:var(--area-color);border-radius:4px;color:#fff;display:grid;place-items:center}.area-check svg{width:10px;height:10px}.area-filter.off{opacity:.55}.area-filter.off .area-check{background:transparent}.area-filter.off svg{opacity:0}.area-count{margin-left:auto;font-size:10px;color:#a1aba1}.reset-filters{font-size:10px;color:#52705a;text-decoration:underline;text-underline-offset:3px;margin:10px}.side-bottom{margin-top:auto;padding-top:12px}.storage-card{display:flex;align-items:center;gap:8px;padding:12px 10px;border:1px solid #e3e9df;border-radius:10px;background:#f2f5ee;width:100%;text-align:left;color:#78906f}.storage-card>span:nth-child(2){flex:1}.storage-card strong{display:block;font-weight:600;font-size:9px;line-height:1.4}.storage-card small{display:block;font-size:8px;color:#8e9c89;margin-top:3px}.storage-card>svg:last-child{width:12px}.settings-nav{font-size:10px;padding:13px 10px 3px;min-height:32px}.main{flex:1;min-width:0;padding:0 32px 0;max-width:2000px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:15px}.breadcrumb{font-size:9px;letter-spacing:1.3px;color:#9da99e;display:flex;gap:12px;align-items:center}.breadcrumb strong{font-size:9px;font-weight:550;color:#60745f;letter-spacing:.6px}.breadcrumb span{opacity:.4}.topbar-actions{display:flex;gap:6px;align-items:center}.avatar-top{width:29px;height:29px;border-radius:50%;background:#e3e9de;color:#697b60;font-weight:700;font-size:10px;margin-left:10px}.icon-btn{width:34px;min-width:34px;height:34px;display:inline-grid;place-items:center;border-radius:8px;color:#879588}.icon-btn:hover{background:#edf1e9;color:#48634a}.icon-btn svg{width:16px;height:16px}.page-heading{padding:27px 0 22px;display:flex;justify-content:space-between;gap:20px;align-items:center}.eyebrow{font-size:8px;letter-spacing:1.8px;font-weight:700;color:#7d967b;margin-bottom:9px;display:block}h1{font-size:36px;font-weight:620;letter-spacing:-1.65px;line-height:1.16}h1>span{color:#93a867} .page-heading p{font-size:12px;color:#8b978b;margin-top:9px}.btn{min-height:40px;padding:10px 15px;border-radius:9px;display:inline-flex;gap:8px;align-items:center;justify-content:center;white-space:nowrap;font-weight:600;font-size:12px;transition:background .15s}.btn.primary{background:#44674e;color:#fff;box-shadow:0 3px 8px #3d563810}.btn.primary:hover{background:#35563f}.btn.secondary{background:#fff;border:1px solid #e0e6dc;color:#697965}.btn.secondary:hover{background:#f4f6f0}.btn.small{min-height:30px;padding:6px 11px;font-size:10px}.btn.quiet{background:none;box-shadow:none;padding-left:0}.danger{color:#b06d6b}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}.stat{border:1px solid var(--line);border-radius:12px;background:#fff;padding:16px 17px 12px;display:grid;grid-template-columns:31px 1fr;gap:9px 11px;text-align:left;min-height:97px}.stat-icon{width:31px;height:31px;display:grid;place-items:center;border:1px solid #edf0e9;background:#f7f9f4;color:#95a789;border-radius:9px;align-self:center}.stat-icon svg{width:15px;height:15px}.stat strong{font-size:22px;font-weight:600;letter-spacing:-.75px;line-height:1.2;white-space:nowrap;display:block}.stat>div>span{font-size:10px;color:#98a194;margin-top:3px;display:block}.stat small{font-size:8px;color:#a5aea0;grid-column:1/-1;border-top:1px solid #f1f3ed;padding-top:9px;line-height:1.3}.conflict-stat:hover{border-color:#b9c8ae}.conflict-stat.has-conflicts .stat-icon{color:#bc7847;background:#fff5eb}.conflict-stat.has-conflicts strong{color:#b77949}.conflict-stat.active{box-shadow:inset 0 0 0 1px #acbb9b}.calendar-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 20px #344a2703}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 18px 14px}.date-tools{display:flex;align-items:center;gap:13px;min-width:0}.date-arrows{display:flex;gap:0}.date-arrows .icon-btn{width:25px;min-width:25px;height:30px}.calendar-toolbar h2{font-size:15px;font-weight:620;letter-spacing:-.35px;white-space:nowrap}.view-switch{display:flex;gap:2px;background:#f3f5f0;padding:3px;border-radius:8px}.view-switch button{display:flex;gap:6px;align-items:center;font-size:10px;padding:7px 10px;border-radius:6px;color:#91a08c}.view-switch button.active{background:#fff;color:#536949;box-shadow:0 1px 4px #33482b0d}.view-switch svg{width:13px;height:13px}.filterbar{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:0 20px 14px;border-bottom:1px solid var(--line)}.search-box{display:flex;align-items:center;gap:7px;color:#a0ad98;max-width:300px;flex:1}.search-box input{border:0;padding:4px;background:none;width:100%;font-size:10px;outline-offset:1px}.search-box input::placeholder{color:#a4af9c}.search-box svg{width:14px;height:14px}.search-box kbd{font:9px inherit;border:1px solid #e7ebdf;padding:0 5px;border-radius:3px;color:#a2af98}.filterbar-right{display:flex;gap:8px;align-items:center}.compact-select{border:1px solid #e5e9df;font-size:10px;border-radius:6px;background:#fff;padding:6px 8px;min-height:28px;color:#8c9b81;max-width:170px}.active-filterbar{padding:8px 20px;background:#f5f8f0;color:#6c825b;font-size:10px;display:flex;align-items:center;gap:10px}.active-filterbar button{margin-left:auto;text-decoration:underline;font-size:10px}.calendar-view{min-height:350px}.calendar-scroll{max-height:620px;height:calc(100dvh - 412px);min-height:395px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#dce3d4 transparent}.calendar-inner{min-width:840px;position:relative}.days-header{display:grid;grid-template-columns:var(--axis) repeat(7,minmax(0,1fr));background:white;position:sticky;top:0;z-index:15;border-bottom:1px solid var(--line)}.axis-head{display:flex;justify-content:center;align-items:center;color:#b0bba5;font-size:8px}.day-head{height:73px;padding:12px 10px;border-left:1px solid var(--line);display:flex;gap:8px;align-items:center;position:relative}.day-head.weekend{background:#fafbf7}.day-number{font-size:24px;font-weight:500;letter-spacing:-.9px;line-height:1}.day-head.today .day-number{background:#45664c;color:white;width:35px;height:35px;border-radius:10px;display:grid;place-items:center;font-size:21px;letter-spacing:-.3px;flex-shrink:0}.day-name{font-size:10px;color:#77866d;font-weight:550}.day-meta{font-size:8px;margin-top:4px;color:#a6b099}.day-plus{position:absolute;right:3px;top:4px;width:19px;height:19px;border-radius:5px;color:#b6c1aa;display:grid;place-items:center;opacity:0}.day-plus svg{width:11px;height:11px}.day-head:hover .day-plus{opacity:1}.all-day-row{display:grid;grid-template-columns:var(--axis) repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line);background:white}.all-day-label{display:flex;align-items:center;justify-content:center;color:#aab3a0;font-size:8px;min-height:30px}.all-day-cell{padding:3px;border-left:1px solid var(--line);min-height:30px;cursor:copy}.all-day-event{display:block;width:100%;text-align:left;background:var(--event-bg);border-left:3px solid var(--event-color);border-radius:4px;margin:2px 0;padding:4px;font-size:9px;color:var(--ink);line-height:1.3}.all-day-event small{display:block;color:var(--event-color);font-size:7px}.all-day-placeholder{opacity:0;font-size:9px;color:#a9b798;padding:3px;pointer-events:none}.all-day-cell:hover .all-day-placeholder{opacity:1}.time-grid{display:grid;grid-template-columns:var(--axis) repeat(7,minmax(0,1fr));position:relative}.time-axis{position:relative;user-select:none}.time-label{position:absolute;right:9px;color:#a6b09e;font-size:9px;font-variant-numeric:tabular-nums;transform:translateY(-50%)}.time-label:first-child{transform:translateY(5px)}.time-label:last-child{transform:translateY(-13px)}.day-column{position:relative;border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--hour)/2 - 1px),#f4f5f0 calc(var(--hour)/2 - 1px),#f4f5f0 calc(var(--hour)/2),transparent calc(var(--hour)/2),transparent calc(var(--hour) - 1px),#e9ede3 calc(var(--hour) - 1px),#e9ede3 var(--hour));cursor:crosshair}.day-column.weekend{background-color:#fdfefb}.day-column.today{background-color:#fcfdf9}.day-column:hover{background-color:#f8faf4}.empty-day{position:absolute;top:30px;left:10px;right:10px;color:#c5cdbb;font-size:9px;text-align:center;line-height:1.7;pointer-events:none}.empty-day span{display:block;margin-top:5px}.empty-day svg{width:16px;height:16px}.event{position:absolute;background:var(--event-bg);border:1px solid var(--event-border);border-left:3px solid var(--event-color);border-radius:9px;z-index:3;overflow:hidden;text-align:left;padding:9px 8px 7px;cursor:grab;transition:filter .12s,box-shadow .12s;touch-action:pan-y}.event:hover,.event:focus-visible{filter:brightness(.98);box-shadow:0 3px 12px #4b5e3414;z-index:8}.event:active{cursor:grabbing}.event.dragging{opacity:.4}.event-time{font-size:9px;color:var(--event-ink);white-space:nowrap;opacity:.85;font-variant-numeric:tabular-nums;letter-spacing:-.1px;display:flex;align-items:center;gap:4px}.event-time svg{width:10px;height:10px;margin-left:auto}.event-title{font-weight:650;font-size:13px;line-height:1.2;margin:4px 0 7px;letter-spacing:-.2px;display:flex;align-items:center;gap:5px}.event-title svg{width:13px;height:13px;color:var(--event-color)}.event-title .title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-tags{display:flex;flex-wrap:wrap;gap:3px}.tag{display:inline-flex;align-items:center;gap:3px;font-size:7px;font-weight:700;letter-spacing:.15px;padding:3px 5px;border-radius:4px;line-height:1.1;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;background:var(--tag-bg,#ffffff99);color:var(--tag-ink,#778771)}.tag-person{background:var(--person-soft,#eedee7);color:var(--person-color,#a56280)}.tag-location{background:#ffffff9c;color:var(--event-ink)}.tag-person .dot{width:4px;height:4px;background:currentColor;border-radius:50%;flex-shrink:0}.event-meta{font-size:8px;color:var(--event-ink);opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px}.event.compact{padding:5px 6px}.event.compact .event-title{font-size:11px;margin:2px 0 4px}.event.compact .tag{font-size:6px;padding:2px 3px}.event.tiny .event-tags,.event.tiny .event-meta{display:none}.event.micro .event-time{display:none}.event.micro .event-title{font-size:9px;margin:0;line-height:1}.event.done{opacity:.65}.event.done .event-title{text-decoration:line-through}.event.cancelled{opacity:.45;background:repeating-linear-gradient(135deg,var(--event-bg),var(--event-bg) 6px,#fff 6px,#fff 8px)}.event.cancelled .event-title{text-decoration:line-through}.event.tentative{border-style:dashed}.event.conflict{box-shadow:0 0 0 1px #d7a66c}.conflict-dot{position:absolute;right:5px;bottom:5px;color:#b2763b}.conflict-dot svg{width:11px;height:11px}.event-buffer{position:absolute;border-left:2px dashed var(--event-color);background:var(--event-bg);opacity:.4;left:6px;right:6px;pointer-events:none;z-index:1;border-radius:3px}.slot-preview{position:absolute;left:3px;right:3px;height:calc(var(--hour)/2);border:1px dashed #91ac77;background:#eaf3e58c;border-radius:7px;z-index:2;pointer-events:none;color:#7c9663;padding:5px;font-size:9px;display:none}.day-column.drag-over{background-color:#eef6e8}.current-time{position:absolute;left:0;right:0;border-top:1px solid #c18b70;pointer-events:none;z-index:9}.current-time:before{content:'';width:5px;height:5px;background:#c18b70;border-radius:50%;position:absolute;top:-3px;left:-2px}.calendar-footer{border-top:1px solid var(--line);padding:12px 18px;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:9px;color:#9caa91}.calendar-footer>span{display:flex;align-items:center;gap:7px}.calendar-footer svg{width:13px;height:13px}.footer-legend{white-space:nowrap}.footer-legend i{display:block;width:6px;height:6px;border-radius:2px;background:#93af73}.footer-legend b{font-weight:400;margin:0 4px}.main-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:17px 2px;color:#a2ad99;font-size:9px}.main-footer>span,.main-footer>button{display:flex;align-items:center;gap:6px}.main-footer svg{width:12px;height:12px}.main-footer button{font-size:9px;color:#859d73}.mobile-only,.mobile-brand,.sidebar-shade{display:none}.agenda-view{padding:8px 24px 20px;max-height:620px;overflow:auto;min-height:395px}.agenda-day{display:grid;grid-template-columns:100px 1fr;gap:22px;padding:21px 0;border-bottom:1px solid var(--line)}.agenda-day:last-child{border-bottom:0}.agenda-day-head{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.agenda-day-head strong{font-size:21px;font-weight:550;letter-spacing:-.7px}.agenda-day-head span{font-size:11px;color:#8e9c84}.agenda-day-head.today strong{color:#567548}.agenda-events{display:grid;gap:8px}.agenda-item{position:relative;display:flex;gap:12px;align-items:center;background:var(--event-bg);border:1px solid var(--event-border);border-left:3px solid var(--event-color);border-radius:9px;padding:12px 14px}.agenda-item:hover{filter:brightness(.98)}.agenda-main{min-width:0;flex:1;text-align:left;padding:0}.agenda-main strong{display:block;font-size:13px;font-weight:650}.agenda-main .event-tags{margin-top:7px}.agenda-time{display:flex;flex-direction:column;gap:3px;align-self:flex-start;min-width:70px;font-size:10px;color:var(--event-ink);padding-top:2px}.agenda-time small{font-size:8px;opacity:.7}.agenda-meta{font-size:10px;color:#8a987f;margin-top:5px}.done-toggle{border:1px solid #c4d3b8;color:#9aab8e;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#fff8;flex-shrink:0}.done-toggle.done{background:#789565;color:white;border-color:#789565}.done-toggle svg{width:13px;height:13px}.agenda-item.done .agenda-main strong{text-decoration:line-through;opacity:.55}.agenda-item.cancelled{opacity:.5}.agenda-item.tentative{border-style:dashed}.agenda-item.conflict{box-shadow:0 0 0 1px #d9ad7f}.empty-agenda{display:flex;align-items:center;gap:10px;color:#bec8b4;font-size:11px;background:#fafbf8;border:1px dashed #e7ecdf;border-radius:9px;padding:16px}.empty-agenda button{margin-left:auto;font-size:11px;color:#8ca379}.routines-intro{margin:18px 22px 0;background:#f3f6ef;border-radius:10px;padding:13px 15px;display:flex;gap:10px;font-size:11px;color:#829573}.routines-intro svg{width:16px;height:16px}.routines-view{padding:12px 22px 24px;max-height:620px;overflow:auto}.routine-row{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0}.routine-icon{width:34px;height:34px;border-radius:9px;background:var(--event-bg);color:var(--event-color);display:grid;place-items:center}.routine-copy{flex:1;text-align:left;min-width:0}.routine-copy strong{font-size:12px;font-weight:650}.routine-copy>span{display:block;font-size:10px;color:#9baa91;margin-top:3px}.routine-copy .event-tags{margin-top:6px}.empty-state{padding:65px 20px;text-align:center;color:#95a58a}.empty-state h3{font-size:16px;margin:13px 0 8px;font-weight:550}.empty-state p{font-size:11px;line-height:1.7;max-width:360px;margin:0 auto 15px}.empty-state>svg{width:29px;height:29px;opacity:.5}dialog{border:0;padding:0;background:#fff;color:var(--ink);box-shadow:0 18px 80px #27372936}dialog::backdrop{background:#25322455;backdrop-filter:blur(3px)}.event-dialog{position:fixed;left:auto;right:0;top:0;bottom:0;margin:0;width:min(548px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;border-radius:18px 0 0 18px}.event-dialog form{height:100%;display:flex;flex-direction:column}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:25px 27px 21px;gap:15px;border-bottom:1px solid var(--line);flex-shrink:0}.dialog-head h2{font-size:25px;font-weight:600;letter-spacing:-.8px;line-height:1.2}.dialog-head .eyebrow{margin-bottom:7px}.editor-body{flex:1;overflow:auto;padding:22px 27px 18px;overscroll-behavior:contain;scrollbar-width:thin}.editor-footer{padding:17px 27px;border-top:1px solid var(--line);display:flex;gap:8px;align-items:center;background:#fff;flex-shrink:0}.field{margin-bottom:17px;min-width:0}.field label,.field-heading label{display:block;font-size:11px;font-weight:650;color:#728268;margin-bottom:7px}.optional{font-size:9px;font-weight:400;color:#b0baa8;margin-left:5px}.input{border:1px solid #dfe5d8;border-radius:8px;background:#fff;padding:10px 11px;min-height:41px;width:100%;font-size:12px;line-height:1.45}.input::placeholder{color:#b4beab}.input:focus{border-color:#aac497}.title-input{font-size:18px;padding:10px 0;border:0;border-bottom:1px solid #e0e6d9;border-radius:0;font-weight:500;letter-spacing:-.35px}.title-field{margin-bottom:22px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.field-heading label{margin:0}.text-btn{font-size:10px;color:#839e6d;padding:0}.people-picker{display:flex;gap:7px;flex-wrap:wrap}.person-pick{display:flex;gap:7px;align-items:center;border:1px solid #e4e9dd;border-radius:20px;padding:5px 11px 5px 5px;color:#96a48b;font-size:11px}.person-pick.active{background:var(--person-soft);border-color:var(--person-color);color:var(--person-color)}.person-pick svg{width:11px;height:11px;opacity:0}.person-pick.active svg{opacity:1}.inline-person{display:flex;gap:7px;margin-top:10px}.area-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.area-pick{padding:9px 10px;border:1px solid #e5eadd;border-radius:8px;display:flex;gap:7px;align-items:center;color:#98a58c;font-size:11px;min-height:37px}.area-pick svg{width:14px;height:14px;color:var(--area-color)}.area-pick.active{background:var(--area-soft);border-color:var(--area-color);color:var(--area-color);font-weight:650}.type-suggestions{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.type-suggestions button{font-size:9px;color:#94a386;background:#f5f7f1;padding:5px 7px;border-radius:5px}.type-suggestions button:hover{background:#eaf1e2;color:#5f7d48}.hint{font-size:10px;line-height:1.65;color:#a1ae95;font-weight:400;margin:7px 0 11px}.repeat-days{display:flex;gap:6px}.day-pick{border:1px solid #e4e9dc;border-radius:7px;color:#a0ae93;font-size:10px;flex:1;min-height:34px}.day-pick.active{background:#ebf2e4;border-color:#a5bd8e;color:#5d7b47}.toggles-line{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:2px 0 16px}.check-label{display:inline-flex;align-items:center;gap:7px;font-size:10px;color:#8a9b7b}.check-label input{accent-color:#65864e;width:14px;height:14px;margin:0}.scope-box{background:#f0f5e8;color:#7e9469;border-radius:9px;display:flex;gap:10px;align-items:center;padding:12px;margin-bottom:17px}.scope-box label{font-size:10px;display:block;margin-bottom:4px}.scope-box select{border:0;background:transparent;font-size:12px;font-weight:600;color:#5d7946;max-width:100%;padding-right:5px}.scope-box>div{flex:1}.scope-box svg{width:18px;height:18px}.form-error,.form-warning{padding:11px 12px;border-radius:8px;font-size:11px;line-height:1.6;margin-bottom:16px}.form-error{color:#a45350;background:#fff1ef}.form-warning{color:#a27744;background:#fff7e9}.form-warning strong{font-weight:650}.form-warning ul{padding-left:16px;margin:4px 0 0}details{border-top:1px solid var(--line);margin:5px 0 18px;padding-top:3px}summary{list-style:none;display:flex;align-items:center;gap:7px;font-size:11px;color:#82996c;padding:14px 0;cursor:pointer}summary::-webkit-details-marker{display:none}summary>svg:first-child{width:14px;height:14px}summary>svg:last-child{width:14px;height:14px;margin-left:auto;transition:transform .15s}details[open] summary>svg:last-child{transform:rotate(180deg)}.detail-count{background:#eff4e9;color:#8fa678;padding:1px 5px;border-radius:4px;font-size:9px}.details-content{padding-top:3px}.event-preview{border:1px solid var(--event-border);border-left:3px solid var(--event-color);background:var(--event-bg);border-radius:9px;padding:12px 14px}.preview-top{display:flex;gap:7px;align-items:center;justify-content:space-between;margin-bottom:5px}.preview-top strong{font-size:12px}.preview-top>span{font-size:10px;color:var(--event-ink)}.preview-note{font-size:9px;color:var(--event-ink);margin-bottom:9px;opacity:.65}.event-preview .tag{font-size:8px;padding:4px 6px}.standard-dialog{border-radius:18px;width:min(570px,calc(100vw - 24px));max-height:calc(100dvh - 38px);margin:auto}.standard-body{padding:22px 27px 26px}.standard-body>section{margin-bottom:26px}.standard-body h3{font-size:13px;font-weight:650;margin:2px 0 12px;color:#637f4e}.body-note{font-size:12px;color:#98a88b;line-height:1.6;margin-bottom:23px}.settings-list{border:1px solid var(--line);border-radius:10px;padding:0 10px;margin-bottom:10px}.setting-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:7px 0}.setting-row:last-child{border:0}.setting-row .name-input{border:0;min-width:0;flex:1;font-size:12px;padding:8px 2px}.setting-row .usage{font-size:9px;color:#aebaa4;white-space:nowrap}.setting-row input[type=color],.add-row input[type=color]{width:27px;height:28px;border:0;background:none;padding:0;flex-shrink:0;cursor:pointer}.setting-row .icon-btn{width:25px;min-width:25px;height:28px}.setting-row svg{width:13px;height:13px}.add-row{display:flex;gap:8px;align-items:center}.add-row .input{flex:1}.info-box{display:flex;gap:10px;background:#f4f7ef;color:#8b9f79;font-size:11px;line-height:1.7;border:1px solid #e6eddb;padding:14px;border-radius:10px;margin-bottom:16px}.info-box svg{width:18px;height:18px;margin-top:2px}.data-actions{display:grid;gap:4px}.data-actions>button{display:flex;gap:12px;text-align:left;align-items:center;width:100%;padding:13px 7px;border-bottom:1px solid var(--line)}.data-actions>button:hover{background:#f8faf4}.data-actions>button>svg{width:18px;height:18px;color:#9caf87}.data-actions>button>svg:last-child{width:14px;height:14px;margin-left:auto}.data-actions strong{display:block;font-size:12px;font-weight:650;margin-bottom:4px;color:#6e8658}.data-actions small{display:block;font-size:10px;color:#a8b49b;line-height:1.6}.import-box{background:#f4f7ee;border:1px solid #dce8cc;padding:15px;border-radius:9px;margin-top:18px}.button-row{display:flex;gap:8px}.help-content h3{margin:22px 0 8px}.help-content h3:first-child{margin-top:0}.help-content p{font-size:12px;line-height:1.8;color:#91a07f}.help-content strong{color:#70845c;font-weight:600}.shortcut-row{display:flex;gap:8px;align-items:center;margin-top:23px;font-size:10px;color:#9dae8c;flex-wrap:wrap}.shortcut-row kbd{font:10px inherit;padding:4px 7px;background:#f0f4e9;border:1px solid #e1e9d5;border-radius:4px}.shortcut-row span{margin-right:12px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(10px);padding:14px 18px;border-radius:11px;z-index:1000;background:#31452b;color:#fff;font-size:12px;box-shadow:0 6px 26px #34462925;opacity:0;visibility:hidden;transition:.2s;max-width:calc(100vw - 24px);display:flex;align-items:center;gap:17px}.toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.toast button{color:#c5dba5;font-weight:700;font-size:11px;white-space:nowrap}.toast:popover-open{inset:auto auto 25px 50%;margin:0;border:0;overflow:visible}.sidebar-shade{position:fixed;inset:0;background:#2e412748;z-index:40}.mobile-brand{align-items:center;gap:10px;font-size:14px;letter-spacing:-.4px}#printArea{display:none}.not-saved #saveText{color:#b88148}.print-note{font-size:11px;color:#555}.print-day{break-inside:avoid;margin-top:20px}.print-day h3{font-size:15px;border-bottom:1px solid #bbb;padding-bottom:6px;margin-bottom:6px}.print-item{display:flex;gap:15px;padding:6px 0;font-size:11px;border-bottom:1px solid #eee}.print-item>span{min-width:95px}.print-item small{display:block;font-size:10px;color:#777;margin-top:2px}
@media(min-width:1600px){.main{padding:0 44px}.sidebar{width:245px;padding-left:25px;padding-right:25px}.event-title{font-size:14px}.event-time{font-size:10px}.tag{font-size:8px}.calendar-scroll{max-height:720px}.stat{padding:18px 20px 14px}.day-head{padding:12px 17px}}
@media(max-width:1250px){.sidebar{width:204px;padding:27px 15px 15px}.brand{font-size:16px;gap:9px}.brand>div>span{font-size:6px}.brandmark{width:30px;height:30px}.main{padding:0 23px}.stat{padding:14px 12px 11px;gap:9px}.stat strong{font-size:19px}.calendar-toolbar h2{font-size:13px}.date-tools{gap:8px}.footer-legend{display:none!important}.calendar-inner{min-width:840px}.calendar-scroll{min-height:420px}}
@media(max-width:1050px){.sidebar{width:184px;padding:24px 12px 13px}.brand{font-size:14px}.brand>div>span{font-size:5.5px;letter-spacing:1px}.brandmark{width:28px;height:28px;border-radius:8px}.brandmark svg{width:20px}.side-nav{margin-bottom:20px}.mini-calendar{margin-bottom:18px}.sidebar .side-section{margin-bottom:19px}.main{padding:0 18px}.page-heading{padding:23px 0 19px}h1{font-size:32px}.stat-icon{width:26px;height:26px}.stat{grid-template-columns:26px 1fr;gap:8px;padding:12px 10px 10px}.stat strong{font-size:18px}.stats{gap:8px}.stat small{font-size:7px}.calendar-toolbar{padding:14px 12px 12px}.filterbar{padding:0 12px 12px}.compact-select{max-width:135px;font-size:9px}.search-box input{font-size:9px}.calendar-toolbar h2{font-size:12px}.date-tools{gap:5px}.date-arrows .icon-btn{width:21px;min-width:21px}.view-switch button{padding:6px 8px}.main-footer{font-size:8px;line-height:1.6}.main-footer button{font-size:8px}}
@media(max-width:800px){.sidebar{position:fixed;left:0;top:0;bottom:0;width:254px;z-index:50;transform:translateX(-100%);transition:transform .2s;padding:24px 20px}.sidebar.open{transform:translateX(0)}.sidebar-shade{display:block}.sidebar .brand{font-size:18px;margin-bottom:23px}.sidebar .brand>div>span{font-size:6px}.sidebar .brand .icon-btn{margin-left:auto;min-width:25px;width:25px}.sidebar .mini-calendar{margin-bottom:23px}.mini-days button{height:28px}.main{padding:0 19px}.topbar{height:61px}.desktop-only{display:none}.mobile-brand{display:flex}.mobile-only{display:inline-flex}.icon-btn.mobile-only{display:inline-grid}.topbar-actions{gap:3px}.page-heading{padding:24px 0 20px}.stats{gap:10px;margin-bottom:20px}.stat{padding:14px 13px 11px}.stat strong{font-size:20px}.stat small{font-size:8px}.main-footer{font-size:9px}.main-footer button{font-size:9px}.calendar-scroll{height:calc(100dvh - 392px);min-height:400px}.calendar-toolbar{padding:15px}.filterbar{padding:0 15px 12px}.date-tools{gap:8px}.calendar-toolbar h2{font-size:14px}.compact-select{font-size:10px;max-width:160px}.filterbar-right{gap:5px}.nav-item{font-size:12px}}
@media(max-width:590px){.main{padding:0 12px}.topbar{height:58px}.topbar-actions .avatar-top{margin-left:3px}.page-heading{padding:20px 2px 18px;align-items:center;gap:10px}.eyebrow{font-size:6.5px;letter-spacing:1.5px;margin-bottom:8px}h1{font-size:29px;letter-spacing:-1.3px}.page-heading p{font-size:10px;max-width:215px;line-height:1.55;margin-top:7px}.page-heading>.btn{min-height:38px;padding:9px 11px;font-size:11px}.page-heading>.btn svg{width:15px;height:15px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:17px}.stat{min-height:85px;grid-template-columns:27px 1fr;padding:12px 12px 10px;gap:7px 9px}.stat strong{font-size:21px}.stat small{padding-top:7px;font-size:7.5px}.stat>div>span{font-size:9px}.stat-icon{width:27px;height:27px}.calendar-toolbar{flex-wrap:wrap;padding:12px 10px;gap:10px}.date-tools{gap:6px;flex:1}.calendar-toolbar h2{font-size:12px;letter-spacing:-.3px;margin-left:2px}.date-arrows .icon-btn{min-width:20px;width:20px;height:27px}.date-tools>.btn{font-size:9px;padding:5px 7px;min-height:26px}.view-switch{gap:0;padding:2px}.view-switch button{font-size:0;gap:0;padding:7px 8px}.view-switch svg{width:14px;height:14px}.filterbar{padding:0 11px 12px;flex-wrap:wrap;gap:10px}.search-box{flex-basis:100%;max-width:none}.search-box input{font-size:11px;padding:5px 3px}.search-box kbd{display:none}.filterbar-right{width:100%;justify-content:space-between;gap:4px}.compact-select{max-width:140px;flex:1;font-size:9px;padding:6px}.filterbar-right .btn{font-size:9px;min-height:28px;padding:6px 8px}.filterbar-right .btn svg{width:12px;height:12px}.filterbar-right .icon-btn{min-width:26px;width:26px;height:28px}.calendar-card{border-radius:13px}.active-filterbar{font-size:9px;padding:8px 12px;line-height:1.6}.calendar-view{min-height:300px}.calendar-scroll{height:550px;min-height:350px}.calendar-inner{min-width:880px;--axis:42px}.day-head{height:65px}.day-number{font-size:22px}.day-name{font-size:9px}.day-meta{font-size:7px}.day-head.today .day-number{width:30px;height:30px;font-size:19px}.day-plus{opacity:1}.agenda-view{padding:0 12px 12px;max-height:none;min-height:300px}.agenda-day{grid-template-columns:1fr;gap:10px;padding:16px 0}.agenda-day-head{flex-direction:row;align-items:center;gap:7px}.agenda-day-head strong{font-size:16px}.agenda-day-head span{font-size:11px}.agenda-day-head .today-dot{background:#e8f0dc;padding:2px 6px;font-size:8px;border-radius:4px;color:#739153}.agenda-item{gap:9px;padding:11px 10px}.agenda-main strong{font-size:13px}.agenda-time{min-width:60px;font-size:10px}.agenda-main .tag{font-size:7px;padding:4px 5px}.agenda-meta{font-size:9px}.calendar-footer{padding:11px 12px;line-height:1.6;font-size:8px}.main-footer{padding:15px 3px;font-size:8px;gap:12px;align-items:flex-start;line-height:1.65}.main-footer>span{max-width:235px;align-items:flex-start}.main-footer>span svg{margin-top:2px;flex-shrink:0}.main-footer>button{font-size:8px;white-space:nowrap}.routines-intro{margin:12px;font-size:10px;padding:11px}.routines-view{padding:0 13px 15px}.routine-row{gap:9px}.routine-copy>span{font-size:9px;line-height:1.5}.routine-copy strong{font-size:12px}.routine-copy .tag{font-size:7px}.event-dialog{border-radius:0}.dialog-head{padding:20px 19px 16px}.dialog-head .eyebrow{font-size:7px}.dialog-head h2{font-size:23px}.editor-body{padding:19px 19px 14px}.editor-footer{padding:13px 19px max(13px,env(safe-area-inset-bottom))}.editor-footer .btn{padding:10px 12px;font-size:11px}.area-picker{gap:6px}.area-pick{font-size:10px;padding:9px 8px;gap:5px}.type-suggestions button{font-size:8px}.input{font-size:12px;min-height:42px}.title-input{font-size:18px}.toggles-line{gap:7px}.check-label{font-size:9px;gap:5px}.standard-dialog{max-height:calc(100dvh - 20px);width:calc(100vw - 20px);border-radius:14px}.standard-body{padding:18px 19px 22px}.data-actions strong{font-size:11px}.data-actions small{font-size:9px}.data-actions>button{gap:9px}.setting-row .usage{font-size:8px}.toast{bottom:18px;font-size:11px;line-height:1.6;padding:12px 15px;width:max-content}.toast:popover-open{bottom:18px}.empty-agenda{font-size:10px;padding:12px}.form-row{gap:11px}.repeat-days{gap:4px}.day-pick{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white;color:#222}.app,dialog,.toast{display:none!important}#printArea{display:block;font-family:Arial,sans-serif;padding:12px}#printArea h1{font-size:25px;letter-spacing:-.5px;margin-bottom:6px}#printArea h2{font-size:15px;margin-bottom:9px}#printArea .print-day h3{color:#333}.tag{border:1px solid #ddd} @page{size:A4 portrait;margin:14mm}}
/* Readable secondary text, with quieter colour reserved for decoration. */
.person-filter,.area-filter{color:#697d65}.section-label{color:#85917e;font-size:9px}.page-heading p{color:#7a8972}.stat>div>span{color:#7c8a72;font-size:11px}.stat small{color:#8a967f;font-size:9px}.day-name{font-size:11px;color:#64795a}.day-meta{font-size:9px;color:#8c9c7e}.time-label{color:#87957b;font-size:10px}.event-time{font-size:10px}.event-title{font-size:14px}.event .tag{font-size:8px}.event.compact .event-title{font-size:13px;margin-top:3px;margin-bottom:5px}.event.compact .tag{font-size:8px;padding:3px 4px}.event.compact .event-time{font-size:10px}.event.tiny .event-title{font-size:11px}.event.micro .event-title{font-size:9px}.tag-person{--person-soft:#f1e6ec}.compact-select{color:#718663}.search-box input::placeholder{color:#8b9c7d}.input::placeholder{color:#94a487}.field label,.field-heading label{color:#657b56}.hint{color:#819371}.check-label{color:#70835f}.area-pick{color:#7d8e6d}.type-suggestions button{font-size:10px;color:#708a59}.person-pick{color:#7d906c}.optional{color:#94a584}.body-note,.help-content p{color:#768b64}.data-actions small{color:#839773}.data-actions strong{color:#617c4c}.quick-views{display:flex;gap:7px;align-items:center;padding:0 19px 15px;overflow:auto;scrollbar-width:none}.quick-views>span{font-size:9px;color:#8c9e7c;white-space:nowrap;margin-right:3px}.quick-views>button{display:flex;align-items:center;gap:5px;font-size:10px;padding:6px 10px;border:1px solid #e2e9d9;border-radius:7px;white-space:nowrap;color:#81986c}.quick-views>button.active{background:#eff4e7;color:#4f6f38;border-color:#c1d0ae;font-weight:650}.quick-views>button:hover{background:#f4f7ef}.quick-views>button>i{width:5px;height:5px;border-radius:50%;background:var(--quick-color,#89a36c)}
@media(max-width:590px){.stat>div>span{font-size:10px}.stat small{font-size:8px}.quick-views{padding:0 11px 12px;gap:5px}.quick-views>span{display:none}.quick-views>button{font-size:9px;padding:6px 8px}.day-name{font-size:10px}.day-meta{font-size:8px}.type-suggestions button{font-size:9px}.agenda-main .tag{font-size:8px}.agenda-time{font-size:11px}.agenda-time small{font-size:9px}}

/* Compact, deterministic geometry. The calendar never grows with its events. */
:root{--v3-ink:#273737;--v3-muted:#82908f;--v3-line:#e2e9e6;--v3-axis:52px;--v3-accent:#324c46}
html,body{height:100%;overflow:hidden;background:#f5f7f5;color:var(--v3-ink)}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.app{display:block!important;height:100dvh;min-height:0;padding:10px 24px 5px;overflow:hidden}
.main{display:flex;flex-direction:column;height:100%;min-width:0;min-height:0;padding:0!important;margin:0!important;width:100%;overflow:hidden}
.v3-header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:62px;flex:none}
.v3-brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.v3-mark{display:grid;place-items:center;background:var(--v3-accent);color:#ddecbb;width:36px;height:36px;border-radius:11px}.v3-mark svg{width:20px;height:20px}
.v3-brand strong{font-size:17px;letter-spacing:-.5px;font-weight:700}.v3-brand strong>span{font-size:8px;letter-spacing:2px;font-weight:600;display:block;color:var(--v3-muted);margin-top:4px}
.v3-dates{display:flex;gap:8px;align-items:center;margin-right:auto;margin-left:32px}.v3-dates h1{font-size:18px;font-weight:650;letter-spacing:-.5px;margin:0;white-space:nowrap;min-width:240px;text-align:center}.v3-dates .icon-btn{width:29px;min-width:29px;height:30px;padding:5px}.v3-dates #todayButton{margin-left:6px}
.v3-actions{display:flex;align-items:center;gap:5px}.v3-actions .icon-btn{width:32px;min-width:32px;height:34px;padding:7px}.v3-actions .primary{background:var(--v3-accent);margin-left:8px;font-size:12px;height:37px;min-height:37px;padding:9px 13px;color:white;border:0}.v3-actions .primary:hover{background:#49695f}
.v3-tools{height:53px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex:none;padding:1px 0 9px}.quick-views{margin:0;padding:0!important;min-height:0;border:0;display:flex;gap:5px;overflow:visible}.quick-views>span{display:none}.quick-views button{border:1px solid transparent;border-radius:7px;background:transparent;display:flex;align-items:center;gap:7px;font-size:11px;font-weight:500;padding:8px 10px;color:#81908a;white-space:nowrap;line-height:1.2}.quick-views button i{display:block;width:6px;height:6px;border-radius:50%;background:var(--quick-color)}.quick-views button.active{background:#fff;border-color:#dce5df;color:#2a3d36;box-shadow:0 1px 3px #172d2010;font-weight:650}.quick-views button:hover{color:#35483d;background:#eef2ed}
.selection-tools{display:flex;align-items:center;gap:16px}.select-switch{display:flex;background:#e9ede8;border:1px solid #e1e7df;padding:3px;border-radius:8px;gap:2px}.select-switch button{font:inherit;border:0;border-radius:5px;background:none;color:#7b8782;font-size:10px;font-weight:550;padding:6px 10px;white-space:nowrap}.select-switch button.active{background:#fff;color:#334d43;box-shadow:0 1px 3px #0a331712}.v3-range{font-size:10px;color:#87928c;font-variant-numeric:tabular-nums;white-space:nowrap}
.calendar-card.v3-card{display:flex;flex:1;min-height:0;border:1px solid #dce4df;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 5px 22px #243c2410;margin:0}.calendar-view{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;border:0}
.v3-week-head{display:grid;grid-template-columns:var(--v3-axis) repeat(7,minmax(0,1fr));height:59px;flex:none;border-bottom:1px solid var(--v3-line);background:#fff}.v3-axis-caption{align-self:center;text-align:center;font-size:8px;letter-spacing:1px;color:#a2aaa5}.v3-day-head{display:flex;justify-content:center;align-items:center;gap:9px;border-left:1px solid var(--v3-line);user-select:none}.v3-day-head.weekend{background:#f7f8f5}.v3-day-name{font-size:11px;font-weight:550;color:#738179}.v3-date{font-size:19px;font-weight:550;font-variant-numeric:tabular-nums;letter-spacing:-.7px;line-height:1}.is-today .v3-date{background:#344f44;color:#fff;display:grid;place-items:center;width:31px;height:31px;border-radius:9px;font-size:17px}.is-today .v3-day-name{color:#355146}.short-day{display:none}
.v3-band-row{flex:none;display:grid;grid-template-columns:var(--v3-axis) 1fr;border-bottom:1px solid #dce6df;min-height:31px}.v3-band-label{display:flex;align-items:center;justify-content:center;font-size:8px;color:#a0aaa4}.v3-band{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));touch-action:none;cursor:crosshair;user-select:none}.v3-band-cell{border-left:1px solid #e8ede9;background:#fcfdfb}.v3-band-cell.weekend{background:#f7f9f6}.v3-band:hover .v3-band-cell{background-color:#f3f7f0}.v3-span{position:absolute;display:flex;align-items:center;justify-content:space-between;gap:8px;box-sizing:border-box;height:22px;border:1px solid var(--event-border);background:var(--event-bg);color:var(--event-ink);border-radius:5px;padding:2px 10px;overflow:hidden;cursor:grab;touch-action:none;z-index:3;text-align:left}.v3-span strong{font-size:10px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.v3-span>span{font-size:8px;white-space:nowrap;opacity:.8}.more-spans{position:absolute;right:3px;bottom:3px;z-index:5;border:1px solid #d2dccf;border-radius:5px;font-size:9px;background:white;padding:2px 5px;color:#50614e;min-height:20px}
.v3-clock-row{flex:1;min-height:0;display:grid;grid-template-columns:var(--v3-axis) 1fr;position:relative}.v3-axis{position:relative;background:#fff;user-select:none}.v3-hour{position:absolute;left:0;right:9px;text-align:right;transform:translateY(-50%);font-variant-numeric:tabular-nums;font-size:9px;color:#8f9b92;line-height:1}.v3-hour.first{transform:translateY(6px)}.v3-hour.last{transform:translateY(-12px)}
.v3-grid{position:relative;min-height:0;touch-action:none;user-select:none;cursor:crosshair;isolation:isolate;overflow:hidden}.v3-grid-background{position:absolute;inset:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));pointer-events:none;z-index:0}.v3-day-bg{border-left:1px solid #e2e9e3;background:#fff}.v3-day-bg.weekend{background:#fcfdfb}.v3-horizontal{position:absolute;inset:0;pointer-events:none;z-index:1}.v3-horizontal i{position:absolute;left:0;right:0;height:1px}.full-hour{background:#e6ece7}.half-hour{background:#f2f5f1}.v3-day-block{position:absolute;top:2px;bottom:2px;background:var(--event-bg);opacity:.44;border:1px solid var(--event-border);border-radius:0 0 8px 8px;z-index:1;cursor:grab}.v3-day-block:hover{opacity:.60}
.v3-event{position:absolute;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:2px;border:1px solid var(--event-border);border-left:3px solid var(--event-color);background:var(--event-bg);border-radius:7px;color:var(--event-ink);padding:6px 9px;box-shadow:0 1px 2px #23452205;overflow:hidden;touch-action:none;cursor:grab;z-index:4;text-align:left;min-width:0;min-height:0;margin:0;transition:box-shadow .15s,filter .15s}.v3-event:hover{filter:saturate(1.1);box-shadow:0 3px 9px #28372b19;z-index:5}.v3-event-title{font-weight:650;font-size:12px;letter-spacing:-.12px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;flex:none}.v3-event-time{font-size:9px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap;opacity:.8;line-height:1.1;flex:none}.v3-event.compact{padding:3px 7px;gap:1px}.v3-event.compact .v3-event-title{font-size:11px}.v3-event.compact .v3-event-time{font-size:8px}.v3-event.micro{padding:1px 5px;justify-content:center;border-left-width:2px;border-radius:4px}.v3-event.micro .v3-event-title{font-size:9px;line-height:1.1}.v3-event.micro .v3-event-time{display:none}.v3-event.cancelled,.v3-span.cancelled{opacity:.4;text-decoration:line-through}.v3-event.tentative,.v3-span.tentative{border-style:dashed}.v3-event.done,.v3-span.done{filter:saturate(.55);opacity:.8}.v3-event.done .v3-event-title{text-decoration:line-through}
.time-edge{position:absolute;left:0;right:0;height:5px;cursor:ns-resize;z-index:6;display:block}.top-edge{top:0}.bottom-edge{bottom:0}.time-edge::after{content:'';position:absolute;left:calc(50% - 9px);width:18px;height:2px;top:1px;border-radius:3px;background:var(--event-ink);opacity:0}.bottom-edge::after{top:2px}.v3-event:hover .time-edge::after,.v3-event:focus-visible .time-edge::after{opacity:.4}.day-edge{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize;z-index:6}.start-edge{left:0}.end-edge{right:0}.day-edge::after{content:'';position:absolute;top:6px;bottom:6px;width:2px;background:var(--event-ink);opacity:0;left:3px;border-radius:2px}.v3-span:hover .day-edge::after{opacity:.4}
.v3-buffer{position:absolute;background:repeating-linear-gradient(135deg,var(--event-bg),var(--event-bg) 3px,transparent 3px,transparent 6px);opacity:.6;border-radius:4px;pointer-events:none;z-index:2}.v3-now{position:absolute;border-top:1px solid #d3887c;pointer-events:none;z-index:6;opacity:.65}.v3-now:before{content:'';position:absolute;left:0;top:-3px;width:5px;height:5px;border-radius:50%;background:#c87465}
.v3-footer{height:32px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#95a097;padding:0 3px;font-size:9px}.v3-footer>div{display:flex;align-items:center;gap:9px}.v3-footer button{border:0;background:none;font:inherit;color:inherit;padding:4px 0;white-space:nowrap}.v3-footer #outOfHours,.v3-footer #filterNotice{color:#8d795b}.v3-footer .icon-btn{width:22px;min-width:22px;height:24px;padding:4px}.local-dot{width:5px;height:5px;border-radius:50%;background:#83a58b}.not-saved .local-dot{background:#d37e62}.not-saved #footerBackup{color:#b25c40}
.gesture-fill{position:absolute;border:1.5px solid var(--sel,#587fba);background:var(--sel-bg,#d9e4f3);opacity:.85;border-radius:5px;pointer-events:none;z-index:9}.gesture-source{opacity:.18!important}.mode-days .v3-day-bg{background:#fcfdfb}.mode-days .v3-grid-background{outline:1px dashed #b3c9b1;outline-offset:-2px}#dragLabel{position:fixed;padding:10px 13px;border-radius:9px;background:#263e37;color:#fff;font-size:11px;font-weight:500;box-shadow:0 6px 22px #18332733;pointer-events:none;z-index:500;width:max-content;max-width:320px;font-variant-numeric:tabular-nums}#keyboardFocus{position:absolute;border:2px solid #829d70;background:#afca9433;pointer-events:none;z-index:8}.v3-grid:focus-visible{outline:2px solid #91ac7e;outline-offset:-2px}
/* Drawer is optional: filters, search, identities, categories, and settings. */
.sidebar{position:fixed!important;left:12px!important;top:12px!important;bottom:12px!important;height:calc(100dvh - 24px)!important;width:280px!important;z-index:80!important;transform:translateX(-320px)!important;transition:transform .2s;background:#fff;border:1px solid #e2e8dc!important;border-radius:16px!important;box-shadow:0 15px 80px #1d332137;overflow:auto!important;padding:22px 18px!important;display:flex!important;flex-direction:column;min-height:0}.sidebar.open{transform:translateX(0)!important}.sidebar .brand{flex-shrink:0;margin-bottom:20px}.sidebar .brand>.brandmark{display:none}.sidebar .brand>div{font-size:16px}.sidebar #closeSidebar{display:inline-flex!important;margin-left:auto}.sidebar .side-search{margin-top:0}.side-search .search-box{width:100%;max-width:none;min-width:0}.side-search .input{margin-top:9px;font-size:11px;padding:8px;min-height:35px}.sidebar-shade:not([hidden]){position:fixed!important;display:block!important;inset:0!important;width:100%;height:100%;border:0;background:#27342e40;backdrop-filter:blur(3px);z-index:79!important}.side-bottom{margin-top:auto;padding-top:16px}.sidebar .side-section{margin-bottom:14px}.mini-calendar{margin-bottom:8px}.sidebar .section-label{font-size:9px}
/* The editor, not the board, contains metadata. */
dialog.v3-editor{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 30px);border-radius:17px}.v3-editor .dialog-head{padding:21px 23px 16px}.v3-editor .dialog-head h2{font-size:23px}.v3-editor .dialog-head .eyebrow{font-size:9px;letter-spacing:1.5px}.v3-editor .editor-body{padding:19px 23px 13px;overflow-y:auto}.v3-editor .field{margin-bottom:17px}.v3-editor .field label{font-size:11px}.v3-editor .title-input{font-size:16px;font-weight:500;padding:12px;min-height:43px}.v3-editor .datetime-row{display:grid;grid-template-columns:57px minmax(0,1fr) 109px;align-items:center;gap:10px;margin-bottom:9px;font-size:11px}.datetime-row>.input{min-width:0;min-height:39px;font-size:12px;padding:8px 10px}.datetime-row>.time-input[hidden]{display:none}.datetime-row:has(.time-input[hidden]){grid-template-columns:57px minmax(0,1fr)}.v3-editor .v3-toggles{margin:15px 0 10px;gap:17px}.v3-editor .check-label{font-size:10px}.duration-caption{font-size:10px;color:#7d8d7a;background:#f5f8f2;border-radius:7px;padding:9px 10px;margin:11px 0 18px;line-height:1.6}.range-mode-box{background:#f0f4fc;padding:12px;border-radius:9px;margin-top:12px}.range-mode-box>label{display:block;font-size:10px;font-weight:600;color:#617392;margin-bottom:7px}.range-mode-box .input{font-size:11px;min-height:36px;padding:8px}.v3-editor .area-picker{gap:6px}.v3-editor .area-pick{padding:7px 9px;font-size:10px;min-height:31px}.v3-editor .people-picker{gap:7px}.v3-editor .person-pick{padding:5px 9px 5px 6px;font-size:11px}.v3-editor .person-avatar{width:24px;height:24px;font-size:10px}.v3-editor details summary{font-size:11px;padding:13px 0}.v3-editor .details-content{padding-top:13px}.important-line{display:flex;gap:7px;align-items:center;margin-bottom:6px}.v3-editor .editor-footer{padding:14px 23px 19px}.v3-editor .editor-footer .primary{background:#354f45;color:white;border:0}.v3-editor .editor-footer .btn{font-size:12px;min-height:38px}.form-warning{font-size:10px}.form-warning p{line-height:1.7;margin:7px 0}.form-error{font-size:11px}.overflow-item{display:flex;align-items:center;gap:12px;width:100%;background:#fff;border:0;border-bottom:1px solid #e5ebe3;padding:14px 0;text-align:left}.overflow-item>i{width:5px;align-self:stretch;border-radius:5px;background:var(--event-color)}.overflow-item>div{flex:1}.overflow-item strong{display:block;font-size:13px}.overflow-item small{display:block;margin-top:6px;font-size:10px;color:#8b978c}.v3-span:focus-visible,.v3-event:focus-visible{outline:2px solid var(--event-ink);outline-offset:-1px}
@media(min-width:1650px){.app{padding:13px 32px 6px}.v3-header{min-height:68px}.v3-dates h1{font-size:21px;min-width:280px}.v3-event-title{font-size:13px}.v3-event-time{font-size:10px}.v3-hour{font-size:10px}.v3-day-name{font-size:12px}}
@media(max-width:1150px){.app{padding:8px 15px 4px}.v3-header{gap:10px}.v3-dates{margin-left:8px;gap:3px}.v3-dates h1{font-size:16px;min-width:214px}.v3-brand strong{font-size:15px}.v3-brand strong>span{font-size:7px}.v3-range{display:none}.v3-tools{gap:8px}.v3-day-head{gap:6px}.v3-day-name{font-size:10px}.v3-event{padding:5px 6px}.v3-event-title{font-size:11px}.v3-event-time{font-size:9px}.v3-actions{gap:2px}.v3-actions .icon-btn{width:28px;min-width:28px}.v3-actions .primary{padding:9px 11px}}
@media(max-height:730px) and (min-width:701px){.v3-header{min-height:49px}.v3-tools{height:44px}.v3-week-head{height:46px}.v3-footer{height:26px}.v3-event{padding:3px 7px;gap:1px}.v3-event-title{font-size:11px}.v3-event-time{font-size:8px}.v3-event.compact .v3-event-time{display:none}.v3-event.compact{justify-content:center}.v3-date{font-size:16px}}
@media(max-width:800px){.v3-brand strong>span{display:none}.v3-dates h1{min-width:193px;font-size:14px}.v3-brand{gap:6px}.v3-mark{width:28px;height:28px;border-radius:8px}.v3-actions #fullScreen{display:none}.v3-brand strong{font-size:13px}.quick-views button{font-size:10px;padding:7px}.select-switch button{font-size:9px;padding:6px 8px}.v3-day-head{flex-direction:column-reverse;gap:4px}.v3-week-head{height:58px}.v3-date{font-size:17px}.v3-day-name{font-size:9px}}
@media(max-width:700px){:root{--v3-axis:34px}.app{padding:5px 8px 3px}.v3-header{display:grid;grid-template-columns:1fr auto;gap:6px;min-height:0;flex:none}.v3-brand{height:35px}.v3-brand strong{font-size:14px}.v3-dates{grid-row:2;grid-column:1/-1;margin:0;justify-content:flex-start;gap:5px;height:35px}.v3-dates h1{font-size:14px;min-width:0;text-align:left;margin-right:auto;order:-1}.v3-dates .icon-btn{width:24px;min-width:24px}.v3-dates #todayButton{font-size:9px;min-height:28px;padding:5px 8px;margin-left:2px}.v3-actions{gap:2px;justify-self:end;grid-row:1;grid-column:2}.v3-actions .icon-btn{min-width:25px;width:25px;height:29px}.v3-actions #undoButton{display:none}.v3-actions .primary{font-size:10px;min-height:30px;height:30px;padding:6px 8px;margin-left:3px;gap:3px}.v3-actions .primary svg{width:14px;height:14px}.v3-tools{height:auto;min-height:70px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:7px;padding:5px 0 8px}.quick-views{width:100%;justify-content:flex-start;gap:2px}.quick-views button{padding:6px 6px;font-size:9px;gap:4px;flex:none}.quick-views button i{width:4px;height:4px}.selection-tools{width:100%;justify-content:space-between;gap:4px}.v3-range{display:block;font-size:9px}.select-switch{padding:2px;gap:0}.select-switch button{font-size:9px;padding:5px 8px}.calendar-card.v3-card{border-radius:9px}.v3-week-head{height:46px}.long-day{display:none}.short-day{display:inline}.v3-day-head{gap:4px}.v3-date{font-size:15px}.is-today .v3-date{width:23px;height:23px;border-radius:6px;font-size:13px}.v3-day-name{font-size:8px}.v3-axis-caption{font-size:6px;letter-spacing:.5px}.v3-hour{right:5px;font-size:7px}.v3-hour.first{transform:translateY(4px)}.v3-hour.last{transform:translateY(-9px)}.v3-band-label{font-size:7px}.v3-band-row{min-height:27px}.v3-event{padding:4px 3px;border-left-width:2px;border-radius:4px;gap:3px}.v3-event-title{font-size:8px;letter-spacing:-.1px;font-weight:600}.v3-event-time{font-size:7px}.v3-event-time .event-end{display:none}.v3-event.compact{padding:2px 3px;gap:2px}.v3-event.compact .v3-event-title{font-size:8px}.v3-event.compact .v3-event-time{font-size:7px}.v3-event.micro{padding:0 2px}.v3-event.micro .v3-event-title{font-size:7px}.v3-span{padding:3px 6px;gap:3px;border-radius:4px}.v3-span strong{font-size:8px}.v3-span>span{display:none}.v3-footer{height:28px;font-size:8px;gap:4px}.v3-footer>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:53%}.v3-footer>div{gap:5px}.v3-footer .local-dot{display:none}.v3-footer #footerBackup{font-size:7px}.v3-footer .icon-btn{width:18px;min-width:18px}.sidebar{left:7px!important;top:7px!important;bottom:7px!important;height:calc(100dvh - 14px)!important;max-width:calc(100vw - 30px)}.v3-editor .dialog-head{padding:17px 18px 13px}.v3-editor .editor-body{padding:16px 18px 10px}.v3-editor .editor-footer{padding:12px 18px 15px}.v3-editor .datetime-row{grid-template-columns:49px minmax(0,1fr) 92px;gap:7px;font-size:10px}.datetime-row>.input{font-size:11px;padding:8px 6px}.v3-editor .title-input{font-size:14px}.v3-editor .area-picker{gap:5px}.v3-editor .area-pick{padding:7px 8px;font-size:9px}.v3-editor .area-pick svg{width:12px}.v3-editor .v3-toggles{gap:11px}.v3-editor .check-label{font-size:9px}.time-edge{height:7px}#dragLabel{font-size:10px;max-width:calc(100vw - 20px)}}
@media print{html,body{height:auto!important;overflow:visible!important;background:white!important}.app{display:block!important;height:190mm!important;width:277mm!important;padding:0!important;overflow:hidden!important}.main{display:flex!important;height:100%!important}.sidebar,.sidebar-shade,#printArea,dialog,.toast,#dragLabel,.v3-actions,.v3-tools,.v3-footer,#compatibility{display:none!important}.v3-header{min-height:45px!important}.v3-dates .icon-btn,.v3-dates #todayButton{display:none!important}.v3-brand strong>span{display:none}.v3-dates{margin-left:auto}.calendar-card.v3-card{border-radius:6px;box-shadow:none}.v3-event,.v3-span,.v3-day-block{print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}.v3-now{display:none}.v3-event{padding:3px 6px!important}.v3-event-title{font-size:10px!important}.v3-event-time{font-size:8px!important}.v3-day-name{font-size:10px}.v3-week-head{height:44px!important}.v3-card{page-break-inside:avoid}.v3-date{font-size:16px}@page{size:A4 landscape;margin:10mm}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Stretch the sole board child in both dimensions. */
.calendar-card.v3-card{flex-direction:column;align-items:stretch}.calendar-view{width:100%;flex:1}


/* Solid palette. Board geometry and interactions remain unchanged. */
:root{--v3-ink:#202139;--v3-muted:#85869b;--v3-line:#e8e9f1;--v3-accent:#22233e}
html,body{background:#f6f7fb;color:var(--v3-ink)}
.v3-mark{background:#191a32;color:#fff}.v3-actions .primary,.v3-editor .editor-footer .primary{background:#242440;color:#fff}.v3-actions .primary:hover,.v3-editor .editor-footer .primary:hover{background:#363459}
.calendar-card.v3-card{border-color:#e3e5ef;box-shadow:0 5px 22px #22223a08}.quick-views button{color:#818497}.quick-views button.active{border-color:#e0e3ee;color:#292a43}.quick-views button:hover{background:#eeeff6;color:#34354e}
.select-switch{background:#eceef6;border-color:#e5e7f1}.select-switch button{color:#84859a}.select-switch button.active{color:#30314c}
.v3-range,.v3-footer{color:#8b8da1}.v3-band-row{border-color:#e6e8f2}.v3-band-cell{background:#fcfcff;border-color:#e9ebf4}.v3-band-cell.weekend,.v3-day-head.weekend{background:#f7f8fd}.v3-band:hover .v3-band-cell{background-color:#f0f1fb}
.v3-day-name,.v3-hour{color:#85889b}.v3-date{color:#383a53}.is-today .v3-date{background:#282a49;color:#fff}.is-today .v3-day-name{color:#34375b}
.v3-day-bg{border-color:#e8eaf2}.v3-day-bg.weekend,.mode-days .v3-day-bg{background:#fdfdff}.full-hour{background:#e9ebf3}.half-hour{background:#f4f5f9}
.v3-event,.v3-span{background:var(--event-gradient);border:1px solid #ffffff25;color:var(--event-ink);text-shadow:var(--event-shadow);box-shadow:0 1px 3px #22243816}
.v3-event{border-radius:8px;border-left-width:1px}.v3-event.micro{border-left-width:1px}.v3-event-title{font-weight:700}.v3-event-time{font-weight:600;opacity:1}.v3-event:hover,.v3-span:hover{filter:brightness(1.035);box-shadow:0 3px 10px #1c214826}
.v3-event.done,.v3-span.done{filter:saturate(.55);opacity:.8}.v3-event.cancelled,.v3-span.cancelled{opacity:.4}.v3-event.tentative,.v3-span.tentative{border:1px dashed var(--event-ink)}
.v3-day-block{background:var(--event-gradient);opacity:.19;border-color:var(--event-border)}.v3-day-block:hover{opacity:.27}.v3-buffer{background:repeating-linear-gradient(135deg,var(--event-color),var(--event-color) 3px,transparent 3px,transparent 6px);opacity:.20}
.gesture-fill{background:var(--sel-gradient,var(--sel-bg));opacity:.48;border-color:var(--sel)}
#dragLabel{background:#23233d}.v3-grid:focus-visible,#keyboardFocus{outline-color:#7c65ef;border-color:#7c65ef}.overflow-item>i{width:7px;background:var(--event-gradient)}
.duration-caption{color:#73758f;background:#f5f5fb}
.gradient-control{display:flex;align-items:center;gap:16px}.gradient-control>label{flex:0 0 65px;margin:0!important;color:#74768c}
.event-gradient-button{flex:1;display:flex;align-items:center;gap:10px;min-width:0;min-height:40px;border:1px solid #e5e5ef;background:#fff;border-radius:8px;padding:7px 10px;text-align:left;color:#53556f;cursor:pointer}
.event-gradient-button:hover{border-color:#a698ea}.event-gradient-button>i{width:52px;height:24px;border-radius:6px;background:var(--chosen-gradient);flex:none}.event-gradient-button #eventGradientName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.event-gradient-button>.gradient-edit-label{font-size:10px;color:#8a8ba1;margin-left:auto}.event-gradient-button svg{width:12px;height:12px;flex:none}
.area-gradient-button{min-width:35px;width:35px;height:28px;border:1px solid #ffffff40;border-radius:6px;padding:0;cursor:pointer;flex:none;box-shadow:0 0 0 1px #24243c14}.area-gradient-button:hover{outline:2px solid #8873d7;outline-offset:2px}
.gradient-dialog{width:min(450px,calc(100vw - 28px));max-height:calc(100dvh - 26px);border:1px solid #2c2d45;border-radius:20px;background:#131329;color:#f4f4ff;padding:24px;box-shadow:0 25px 110px #090b264d;overflow-y:auto}
.gradient-dialog::backdrop{background:#10122970;backdrop-filter:blur(3px)}.gradient-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.gradient-dialog-head h2{font-size:21px;font-weight:600;letter-spacing:-.6px;margin:6px 0 0}.gradient-eyebrow{font-size:8px;letter-spacing:2px;color:#9798b7;font-weight:650}.gradient-dialog-head .icon-btn{color:#a6a6c3;background:transparent}.gradient-dialog-head .icon-btn:hover{background:#23233d;color:#fff}
#gradientCaption{font-size:11px;color:#9191ae;line-height:1.6;margin:14px 0 0}.gradient-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 20px;padding:25px 5px 24px}.gradient-swatch{position:relative;background:var(--swatch);height:63px;min-width:0;border:1px solid #ffffff19;border-radius:11px;cursor:pointer;padding:0;color:var(--swatch-ink);transition:transform .12s,box-shadow .12s;outline:0}.gradient-swatch:hover{transform:translateY(-2px);box-shadow:0 5px 18px #00000022}.gradient-swatch.selected,.gradient-swatch:focus-visible{outline:2px solid #fff;outline-offset:4px}.swatch-check{display:none;position:absolute;inset:0;place-items:center}.gradient-swatch.selected .swatch-check{display:grid}.swatch-number{position:absolute;left:8px;bottom:6px;font-size:8px;opacity:0;font-weight:650}.gradient-swatch:hover .swatch-number,.gradient-swatch:focus-visible .swatch-number{opacity:.8}
.gradient-dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #29293e;padding-top:14px}.gradient-dialog-footer button{background:#24243e;color:#d4d1f5;font:inherit;font-size:10px;padding:9px 10px;border:1px solid #36344e;border-radius:7px;cursor:pointer}.gradient-dialog-footer button:disabled{opacity:.4;cursor:default}.gradient-dialog-footer>span{font-size:9px;color:#81819d}
@media(max-width:500px){.gradient-dialog{padding:20px}.gradient-grid{gap:17px 16px;padding:24px 3px}.gradient-swatch{height:59px}.gradient-control{gap:8px}.gradient-control>label{flex-basis:60px}.event-gradient-button>i{width:42px}.event-gradient-button>.gradient-edit-label{display:none}.gradient-dialog-footer>span{max-width:120px;text-align:right}}
@media(max-height:560px) and (min-width:650px){.gradient-swatch{height:42px}.gradient-grid{gap:13px 20px;padding:16px 4px}.gradient-dialog{padding:17px 22px}.gradient-dialog-head h2{font-size:17px}#gradientCaption{margin-top:8px}}
@media print{.v3-event,.v3-span,.v3-day-block{print-color-adjust:exact;-webkit-print-color-adjust:exact}.gradient-dialog{display:none!important}}


/* Solid event colors with the original compact, restrained typography. */
.v3-event,.v3-span,.v3-day-block,.event-preview,.event,.all-day-event,.agenda-item{
  background:var(--event-bg);background-image:none;color:var(--event-ink);text-shadow:none;
}
.v3-event-title{font-weight:600}
.v3-event.done,.v3-span.done{filter:none;opacity:.68}
.v3-event.cancelled,.v3-span.cancelled{background:var(--event-bg);background-image:none}
.v3-event:hover .day-edge::after,.v3-event:focus-visible .day-edge::after{opacity:.4}
/* No separate all-day shelf: every plan is placed in the time grid. */
.v3-band-row,.all-day-row{display:none!important}
@media print{
  .v3-event,.v3-span,.v3-day-block{background:var(--event-bg)!important;background-image:none!important}
}

.empty-metadata{color:#9296a4;font-size:11px;line-height:1.5;grid-column:1/-1;padding:2px 0}
/* Family lanes: seven day groups, each with three independent calendars. */
:root{--v3-axis:44px;--family-lines:#d1d8e3}
.app{padding:8px 20px 4px}.v3-header{min-height:62px;gap:14px}
.v3-brand{gap:9px}.v3-brand strong{font-size:12px;font-weight:650;letter-spacing:1.1px;white-space:nowrap;line-height:1.4}.v3-brand strong>span{display:none}.v3-mark{width:33px;height:33px;background:#252b40;color:#fff;border-radius:9px;font-size:10px;font-weight:650;letter-spacing:.4px}
.v3-dates{margin-left:22px;gap:4px}.v3-dates h1{font-size:17px;font-weight:550;min-width:225px}.v3-tools{height:43px;padding-bottom:7px;gap:10px}.selection-tools{gap:10px}.quick-views button{font-size:10px;padding:7px 10px;font-weight:500}.quick-views button.active{font-weight:550}.v3-range{font-size:9px}.v3-footer{height:30px;font-size:9px}
#zoomToggle{display:inline-flex;align-items:center;gap:5px;font-size:10px;white-space:nowrap;border:1px solid #e0e4ee;border-radius:7px;padding:6px 8px;min-height:30px;background:#fff;color:#70768a}#zoomToggle svg{width:13px;height:13px}#zoomToggle.active{background:#edf1fc;color:#3e5b96;border-color:#c7d3ee}
.calendar-card.v3-card{border-radius:11px;box-shadow:0 3px 16px #242e4305}.calendar-view{display:block;overflow-x:hidden;overflow-y:hidden;position:relative;height:100%;min-height:0}.calendar-view.family-zoom{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#c8cfdf #f4f6fa}.family-board{height:100%;width:100%;display:flex;flex-direction:column;min-width:0}.family-zoom .family-board{min-width:1390px}
.family-week-head{display:grid;grid-template-columns:var(--v3-axis) repeat(7,minmax(0,1fr));height:70px;flex:none;border-bottom:1px solid #d6dce8;position:relative;z-index:15;background:#fff}
.family-week-head>.v3-axis-caption{height:100%;display:grid;place-items:center;font-size:8px;letter-spacing:.7px;background:white;border-right:1px solid #d6dce8;position:sticky;left:0;z-index:20}
.family-day-header{min-width:0;border-right:2px solid var(--family-lines);display:flex;flex-direction:column;background:white;user-select:none}.family-day-header:last-child{border-right:0}.family-day-header.weekend{background:#f7f8fc}
.family-date-line{height:37px;display:flex;align-items:center;justify-content:center;gap:8px;border-bottom:1px solid #e9ecf3}.family-date-line .v3-day-name{font-size:11px;font-weight:500;color:#727b8c}.family-date-line .v3-date{font-size:17px;font-weight:500;color:#3b4356;letter-spacing:-.3px}.family-day-header.is-today .v3-date{width:25px;height:25px;display:grid;place-items:center;background:#28334d;color:#fff;border-radius:7px;font-size:14px}.family-day-header.is-today .v3-day-name{color:#28334d}
.family-person-heads{height:32px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:1}.family-person-head{display:flex;align-items:center;justify-content:center;gap:4px;border-right:1px solid #e8ecf3;font-size:10px;font-weight:500;color:#636d80;white-space:nowrap;overflow:hidden;background:var(--person-tint)}.family-person-head:last-child{border-right:0}.family-person-head i{width:4px;height:4px;background:var(--person-color);border-radius:50%;flex:none}.family-person-head.dim{opacity:.45}.family-person-head:hover{box-shadow:inset 0 -2px var(--person-color);color:#323a4c}.family-person-head.highlight{box-shadow:inset 0 -2px var(--person-color);color:#28334d}
.v3-clock-row{min-height:0;flex:1;display:grid;grid-template-columns:var(--v3-axis) 1fr}.v3-axis{position:sticky;left:0;z-index:15;background:#fff;border-right:1px solid #d6dce8}.v3-hour{font-size:9px;color:#7b8699;right:7px}.v3-hour.first{transform:translateY(5px)}.v3-hour.last{transform:translateY(-11px)}
.v3-grid-background{grid-template-columns:repeat(21,minmax(0,1fr))}.family-lane-bg{border-right:1px solid #e9edf5;background:#fff}.family-lane-bg.weekend{background:#fafbfe}.family-lane-bg.today{background:#fcfdff}.family-lane-bg.day-end{border-right:2px solid var(--family-lines)}.family-lane-bg:last-child{border-right:0}.mode-days .family-lane-bg{background:#fafcff}.family-day-dividers{position:absolute;inset:0;z-index:2;pointer-events:none}.family-day-dividers i{position:absolute;top:0;bottom:0;width:2px;background:var(--family-lines);transform:translateX(-2px)}
.full-hour{background:#e2e7f0}.half-hour{background:#f3f5f9}.v3-horizontal{z-index:1}
.v3-event{padding:5px 5px;gap:3px;border-radius:5px;border:1px solid #ffffff36;box-shadow:none;background:var(--event-bg);min-height:0;text-shadow:none}.v3-event:hover{filter:brightness(1.02);box-shadow:0 2px 8px #23335b1f}.v3-event-title,.v3-event.compact .v3-event-title{font-size:11px;font-weight:500;line-height:1.18;letter-spacing:-.12px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;overflow:hidden;text-overflow:ellipsis;max-width:100%;width:100%}.v3-event-title{margin:0}.v3-event-time,.v3-event.compact .v3-event-time{font-size:8px;font-weight:400;line-height:1.2;display:block;opacity:.88;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:clip}.v3-event.compact{padding:3px 4px;gap:2px}.v3-event.compact .v3-event-title{-webkit-line-clamp:1}.v3-event.micro{padding:0 3px;justify-content:center;border-radius:4px}.v3-event.micro .v3-event-title{font-size:9px;font-weight:500;line-height:1.15;white-space:nowrap;display:block}.v3-event.micro .v3-event-time{display:none}.v3-event.all-day-block .v3-event-title{-webkit-line-clamp:4}.v3-event.all-day-block{padding-top:8px}.v3-event.free-time{border:1px dashed var(--event-ink)}.family-escort{border:1px dashed var(--event-ink)!important}.family-conflict{box-shadow:inset 0 0 0 1px #aa3023!important}
.day-edge{width:5px}.day-edge::after{left:1px;top:7px;bottom:7px}.time-edge{height:5px}.v3-event:hover .day-edge::after{opacity:.45}.v3-buffer{background:var(--event-bg);opacity:.18;border-left:1px dashed var(--event-ink);border-radius:3px}
.family-scope-note{font-size:10px;color:#939aae;line-height:1.6;margin-top:7px}.family-people-field{padding:13px 14px 11px;border:1px solid #e4e8f1;border-radius:10px;background:#fafbfe;margin-bottom:18px!important}.family-people-field .field-heading{margin-bottom:9px}.family-people-field .person-pick{font-size:11px;background:#fff}.family-people-field .person-pick.active{background:var(--person-soft)}.family-people-field .person-pick svg{display:none}.family-people-field .person-avatar{width:22px;height:22px}.family-people-field .optional{display:none}
.v3-editor .title-input{font-size:15px;font-weight:450}.v3-editor .field label{color:#6b7486}.v3-editor .dialog-head h2{font-size:22px;font-weight:550}.v3-editor .eyebrow{color:#9099ad}.person-pick:focus-visible{outline:2px solid #859bc8}.scope-box{background:#eff3fc;color:#6a7b9c}.scope-box select{color:#405776;font-size:12px}.family-setting-name{flex:1;font-size:12px;color:#566177}.family-member-settings .person-avatar{font-size:10px}.family-member-settings input[type=color]{width:30px;height:30px}.family-member-settings .usage{font-size:9px}#unassignedButton{color:#9d7140}.muted-line{font-size:10px;color:#9aa2b1}
@media(min-width:1650px){.app{padding:10px 25px 4px}.v3-header{min-height:65px}.v3-dates h1{font-size:18px}.v3-event-title,.v3-event.compact .v3-event-title{font-size:12px}.v3-event-time{font-size:9px}.v3-event.compact .v3-event-time{font-size:8px}.family-person-head{font-size:11px}.family-week-head{height:73px}.family-date-line{height:39px}}
@media(max-width:1250px){.app{padding:7px 12px 3px}.v3-brand strong{font-size:10px;letter-spacing:.7px}.v3-dates{margin-left:8px}.v3-dates h1{font-size:15px;min-width:208px}.v3-tools{gap:5px}.selection-tools{gap:6px}.v3-range{display:none}.family-person-head{font-size:9px;gap:2px}.v3-event-title,.v3-event.compact .v3-event-title{font-size:10px}.v3-event{padding:4px 3px;gap:2px}.v3-event-time{font-size:7.5px}.v3-event-time .event-end{display:none}.family-zoom .v3-event-title{font-size:11px}.family-zoom .v3-event-time{font-size:8px}.family-zoom .v3-event-time .event-end{display:inline}}
@media(max-height:730px) and (min-width:701px){.v3-header{min-height:48px}.v3-tools{height:38px}.family-week-head{height:60px}.family-date-line{height:32px}.family-person-heads{height:27px}.v3-footer{height:25px}.v3-event{padding:3px 4px;gap:2px}.v3-event-title{font-size:10px;-webkit-line-clamp:1}.v3-event-time{font-size:7px}.v3-event.compact .v3-event-time{display:none}}
@media(max-width:900px){.v3-brand strong{font-size:9px;letter-spacing:.8px}.v3-header{gap:9px}.v3-tools{flex-wrap:wrap;height:auto;min-height:73px;padding:6px 0;justify-content:space-between}.quick-views button{font-size:10px;padding:6px 9px}.selection-tools{margin-left:auto}.v3-actions #fullScreen{display:none}.v3-dates h1{font-size:14px;min-width:190px}.family-zoom .family-person-head{font-size:10px;gap:4px}.family-zoom .family-date-line .v3-day-name{font-size:11px}.v3-footer #boardTip{max-width:48%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v3-event-title{font-size:8px}.family-person-head i{display:none}.family-zoom .family-person-head i{display:block}.family-person-head{font-size:8px}}
@media(max-width:700px){.v3-header{display:grid;grid-template-columns:1fr auto;gap:4px;min-height:70px}.v3-brand{height:31px;gap:7px}.v3-brand strong{font-size:9px;letter-spacing:.75px}.v3-mark{height:26px;width:26px;font-size:9px}.v3-dates{grid-row:2;grid-column:1/-1;min-width:0;height:32px;margin:0}.v3-dates h1{font-size:14px;order:-1;text-align:left;margin-right:auto;min-width:0;letter-spacing:-.3px}.v3-actions{grid-row:1;grid-column:2;gap:0}.v3-actions .icon-btn{width:24px;min-width:24px}.v3-actions #undoButton{display:none}.v3-actions .primary{margin-left:3px;font-size:9px;padding:5px 7px;min-height:29px;height:29px}.v3-actions .primary svg{width:12px}.v3-tools{height:72px;min-height:72px;gap:4px;flex-direction:column;align-items:stretch;justify-content:space-between;padding:5px 0 7px}.quick-views{width:100%;gap:4px}.quick-views button{font-size:10px;padding:6px 9px}.selection-tools{width:100%;margin:0;justify-content:space-between}.select-switch button{font-size:9px}.family-week-head{height:62px}.family-date-line{height:34px;gap:4px;flex-direction:row}.family-date-line .v3-day-name{font-size:8px}.family-date-line .v3-date{font-size:13px}.family-zoom .family-date-line .v3-date{font-size:16px}.family-week-head .long-day{display:none}.family-week-head .short-day{display:inline}.family-zoom .long-day{display:inline}.family-zoom .short-day{display:none}.family-person-heads{height:28px}.family-person-head{font-size:6px;letter-spacing:-.4px;gap:0}.family-zoom .family-person-head{font-size:10px;letter-spacing:0}.family-zoom .family-board{min-width:1280px}.v3-hour{font-size:8px}.family-zoom .v3-event{padding:4px 5px}.family-zoom .v3-event-title,.family-zoom .v3-event.compact .v3-event-title{font-size:11px;font-weight:500}.family-zoom .v3-event.micro .v3-event-title{font-size:9px}.family-zoom .v3-event-time .event-end{display:inline}.family-zoom .v3-event.compact .v3-event-time{font-size:8px}.family-zoom .v3-event.micro .v3-event-time{display:none}.v3-footer{height:26px;font-size:8px}.v3-footer .local-dot{display:none}.v3-footer #boardTip{max-width:47%;font-size:8px}.v3-footer>div{gap:6px}#zoomToggle{font-size:9px;padding:5px 8px;min-height:27px}.family-people-field{padding:12px 10px}.family-people-field .person-pick{gap:5px;padding:5px 7px}.family-people-field .family-scope-note{font-size:9px}}
@media print{.app{height:190mm!important;width:277mm!important;padding:0!important}.family-board{min-width:0!important;width:100%!important}.calendar-view{overflow:hidden!important}.family-week-head{height:57px!important}.family-date-line{height:30px!important}.family-person-head{font-size:8px!important}.v3-event-title,.v3-event.compact .v3-event-title{font-size:8px!important;font-weight:500!important}.v3-event-time{font-size:6px!important}.v3-event.micro .v3-event-title{font-size:7px!important}.family-day-header{border-right-width:1px}.v3-brand strong{font-size:12px!important}.v3-event-time .event-end{display:none!important}.v3-week-head{display:none!important}.family-week-head .long-day{display:inline!important}.family-week-head .short-day{display:none!important}.v3-header{min-height:40px!important}}

#loginPanel{min-height:100dvh;display:grid;place-items:center;padding:24px}#loginPanel[hidden]{display:none}#loginForm{width:min(100%,380px);display:grid;gap:18px;background:white;border:1px solid var(--line);border-radius:16px;padding:32px}#loginForm h1{font-size:28px}#loginForm label{display:grid;gap:6px}#loginError{color:#a23b3b;font-size:12px}#logoutButton{font-size:10px;min-height:30px}#reloadChangedEvent{white-space:normal;max-width:145px}
