:root{--bg: #EFECE4;--ink: #14120E;--rule: rgba(20, 18, 14, .28);--muted: rgba(20, 18, 14, .55)}html[data-theme=dark]{--bg: #14120E;--ink: #EAE6DC;--rule: rgba(234, 230, 220, .3);--muted: rgba(234, 230, 220, .55)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;display:flex;background:var(--bg);color:var(--ink);font-family:"Source Serif 4",Iowan Old Style,Charter,Georgia,serif;font-size:19px;line-height:1.55;-webkit-font-smoothing:antialiased;transition:background-color .25s ease,color .25s ease}body.locked{overflow:hidden}.page{width:100%;max-width:600px;margin:auto;padding:48px 24px}.masthead{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:30px}h1{margin:0}.name{font:inherit;font-size:26px;font-weight:700;letter-spacing:-.01em;line-height:1.2;color:inherit;background:none;border:0;padding:0;margin:0;cursor:default;-webkit-user-select:none;user-select:none}.toggle{flex:none;width:52px;height:27px;margin-top:3px;padding:0;border:2px solid var(--ink);border-radius:999px;background:transparent;cursor:pointer;position:relative;transition:border-color .25s ease}.knob{position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:var(--ink);transition:transform .22s cubic-bezier(.4,0,.2,1),background-color .25s ease}html[data-theme=dark] .knob{transform:translate(25px)}p{margin:0 0 1.15em}h2{font-size:20px;font-weight:700;margin:2em 0 .55em;letter-spacing:-.005em}a{color:inherit;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}ul{margin:0 0 1.15em;padding-left:20px}li{margin-bottom:.5em}li::marker{font-size:.8em}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}@media(max-width:480px){body{font-size:18px}.page{padding:40px 20px}}.auth{position:fixed;inset:0;background:var(--bg);display:none;align-items:center;justify-content:center;padding:24px;z-index:20}.auth.open{display:flex;animation:fade .28s ease both}@keyframes fade{0%{opacity:0}to{opacity:1}}.auth-inner{width:100%;max-width:300px}.auth-row{display:flex;gap:8px}.auth input{font:inherit;font-size:.95em;color:var(--ink);background:transparent;border:1px solid var(--rule);border-radius:0;padding:8px 10px;flex:1;min-width:0}.auth input::placeholder{color:var(--muted)}.auth button[type=submit]{color:var(--bg);background:var(--ink);border:1px solid var(--ink);border-radius:0;padding:0;width:42px;flex:none;display:flex;align-items:center;justify-content:center;cursor:pointer}.auth button[type=submit] svg{width:17px;height:17px;display:block}.auth .msg{font-size:.88em;color:var(--muted);margin:.8em 0 0;min-height:1.4em}.esc{position:absolute;top:22px;left:22px;width:34px;height:34px;padding:0;background:none;border:0;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.55;transition:opacity .15s ease}.esc:hover{opacity:1}.esc svg{width:17px;height:17px;display:block}.console{position:fixed;inset:0;z-index:30;display:none;overflow:auto;color:#fff;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Inter,system-ui,sans-serif;font-size:15px;line-height:1.45}.console.open{display:block;animation:fade .45s ease both}.backdrop{position:fixed;inset:0;z-index:0;background:#0b0d10;overflow:hidden}.layer{position:absolute;inset:-2%;background-size:cover;background-position:center;opacity:0;transition:opacity 2.2s ease;will-change:opacity,transform}.layer.show{opacity:1;animation:drift 20s ease-out both}@keyframes drift{0%{transform:scale(1)}to{transform:scale(1.09)}}.veil{position:absolute;inset:0;background:radial-gradient(120% 90% at 20% 10%,#0000001a,#0000008c 75%),linear-gradient(180deg,#0000006b,#00000047 40%,#0000008c)}.glass{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:26px;-webkit-backdrop-filter:blur(34px) saturate(180%);backdrop-filter:blur(34px) saturate(180%);box-shadow:0 24px 70px #00000061,inset 0 1px #ffffff38}.shell{position:relative;z-index:1;min-height:100vh;padding:26px;display:grid;grid-template-columns:74px 1fr;gap:20px;align-content:start}.rail{padding:12px 10px;display:flex;flex-direction:column;gap:6px;align-items:center;position:sticky;top:26px;align-self:start}.rail button{width:52px;height:52px;border:0;border-radius:17px;background:transparent;color:#ffffff9e;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .18s ease,color .18s ease,transform .18s ease}.rail button:hover{background:#ffffff1f;color:#fff;transform:translateY(-1px)}.rail button.active{background:#ffffff38;color:#fff}.rail svg{width:21px;height:21px}.rail .spacer{flex:1;min-height:8px}.main{display:flex;flex-direction:column;gap:20px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 24px;flex-wrap:wrap}.greet{font-size:21px;font-weight:600;letter-spacing:-.01em}.greet span{display:block;font-size:13px;font-weight:400;color:#ffffff9e;letter-spacing:.01em;margin-top:2px}.topbar-right{display:flex;align-items:center;gap:12px}.chip{font-size:12.5px;letter-spacing:.02em;padding:7px 13px;border-radius:999px;background:#ffffff21;border:1px solid rgba(255,255,255,.18);white-space:nowrap}.chip b{font-weight:600}.ghost{font:inherit;font-size:13px;color:#ffffffbf;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:7px 15px;cursor:pointer;transition:background .18s ease,color .18s ease}.ghost:hover{background:#fff3;color:#fff}.view{display:none}.view.active{display:block;animation:lift .38s cubic-bezier(.2,.7,.3,1) both}@keyframes lift{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.console :focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media(max-width:620px){.shell{grid-template-columns:1fr;padding:16px;gap:14px}.rail{position:static;flex-direction:row;justify-content:space-between}.rail .spacer{display:none}.topbar{padding:18px}}.schedule-grid{display:grid;grid-template-columns:minmax(0,1fr) 352px;gap:20px;align-items:start}.panel{padding:24px 26px}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:20px}.panel-head h3{margin:0;font-size:26px;font-weight:600;letter-spacing:-.02em}.panel-head .sub{font-size:13px;color:#fff9}.agenda{list-style:none;margin:0;padding:0}.agenda li{display:grid;grid-template-columns:84px 12px minmax(0,1fr);gap:14px;align-items:start;padding:13px 0;border-top:1px solid rgba(255,255,255,.13)}.agenda li:first-child{border-top:0;padding-top:0}.agenda .time{font-size:13px;color:#ffffffa8;font-variant-numeric:tabular-nums;padding-top:2px}.agenda .dot{width:9px;height:9px;border-radius:50%;margin-top:7px;background:#ffffffb3}.agenda .dot.train{background:#7dd3a0}.agenda .dot.build{background:#8fb8ff}.agenda .dot.class{background:#e2c275}.agenda .dot.race{background:#ff9a6b}.agenda .what{font-size:15.5px;font-weight:500}.agenda .meta{font-size:13px;color:#ffffff94;margin-top:1px}.empty{padding:26px 0 6px;color:#fff9;font-size:14.5px}.month-card{padding:20px 22px 22px;cursor:pointer;transition:transform .22s cubic-bezier(.2,.7,.3,1),background .22s ease;text-align:left;color:inherit;font:inherit;width:100%;display:block}.month-card:hover{transform:translateY(-2px);background:#ffffff26}.month-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.month-head .label{font-size:16px;font-weight:600;letter-spacing:-.01em}.month-head .hint{font-size:12px;color:#ffffff8c}.dow,.grid{display:grid;grid-template-columns:repeat(7,1fr)}.dow{gap:2px;margin-bottom:6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#ffffff80;text-align:center}.grid{gap:2px}.day{position:relative;aspect-ratio:1;border:0;background:transparent;color:#ffffffe0;font:inherit;font-size:13px;font-variant-numeric:tabular-nums;border-radius:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.day:hover{background:#ffffff24}.day.out{color:#ffffff42}.day.today{box-shadow:inset 0 0 0 1.5px #ffffffa6}.day.sel{background:#fff;color:#14120e;font-weight:600}.day .mark{position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:#fffc}.day.sel .mark{background:#14120e}.sheet{position:fixed;inset:0;z-index:40;display:none;align-items:center;justify-content:center;padding:26px;background:#06080b73;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.sheet.open{display:flex}.sheet-card{width:min(880px,100%);max-height:92vh;overflow:auto;padding:26px 30px 30px;animation:pop .32s cubic-bezier(.2,.7,.3,1) both}@keyframes pop{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:none}}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.sheet-head h3{margin:0;font-size:24px;font-weight:600;letter-spacing:-.02em}.nav{display:flex;align-items:center;gap:8px}.nav button{width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#ffffff1a;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .16s ease}.nav button:hover{background:#ffffff38}.nav svg{width:15px;height:15px}.sheet .dow{font-size:12px;margin-bottom:8px;gap:6px}.sheet .grid{gap:6px}.sheet .day{aspect-ratio:auto;min-height:84px;align-items:flex-start;justify-content:flex-start;padding:9px 10px;font-size:14px;border-radius:14px;flex-direction:column;gap:5px;text-align:left}.sheet .day .mark{position:static;width:auto;height:auto;background:none}.ev{display:block;font-size:11.5px;line-height:1.3;color:#ffffffc7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.sheet .day.sel .ev{color:#14120eb3}@media(max-width:900px){.schedule-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:620px){.panel{padding:18px}.sheet-card{padding:20px}.sheet .day{min-height:60px}.sheet .day .ev{display:none}}.day-card{width:min(1180px,100%);display:flex;flex-direction:column;gap:16px;padding:24px 26px 26px}.day-headings{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.day-headings h3{margin:0;font-size:24px;font-weight:600;letter-spacing:-.02em}.day-sub{font-size:13px;color:#fff9}.day-tools{display:flex;flex-direction:column;gap:10px}.quick{display:flex;gap:8px}.quick .input{flex:1}.input{font:inherit;font-size:13.5px;color:#fff;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:9px 12px;width:100%;min-width:0;transition:background .16s ease,border-color .16s ease}.input::placeholder{color:#ffffff73}.input:focus{outline:none;background:#ffffff29;border-color:#fff6}select.input{appearance:none;cursor:pointer}select.input option{background:#1c2027;color:#fff}textarea.input{resize:vertical;line-height:1.45}.quick-echo{margin:0;min-height:15px;font-size:12px;color:#ffffff8c;letter-spacing:.01em}.tool-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.filters{display:flex;gap:6px;flex-wrap:wrap}.filter-chip{font:inherit;font-size:12px;color:#ffffffd1;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:5px 11px 5px 22px;cursor:pointer;position:relative;transition:background .16s ease,opacity .16s ease}.filter-chip:before{content:"";position:absolute;left:9px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--chip)}.filter-chip:hover{background:#ffffff2e}.filter-chip.off{opacity:.38}.tool-actions{display:flex;align-items:center;gap:8px}.tool-actions .ghost{white-space:nowrap}.ghost.icon-only{width:30px;padding:7px 0;text-align:center}.ghost.danger{color:#ffb3a0}.ghost.danger:hover{background:#ff785a3d;color:#fff}.search-wrap{position:relative}.search-wrap .input{width:150px}.search-pop{position:absolute;top:calc(100% + 6px);right:0;width:320px;max-height:320px;overflow:auto;display:none;flex-direction:column;padding:6px;border-radius:16px;background:#1c2027db;border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);box-shadow:0 20px 50px #00000073;z-index:3}.search-pop.open{display:flex}.search-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 10px;border:0;border-radius:11px;background:transparent;color:#fff;font:inherit;font-size:13px;text-align:left;cursor:pointer}.search-row:hover{background:#ffffff24}.search-dot{width:7px;height:7px;border-radius:50%;background:var(--tint)}.search-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-when{font-size:11.5px;color:#ffffff8c;white-space:nowrap}.search-empty{padding:12px;font-size:13px;color:#ffffff8c}.day-body{display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:18px;align-items:start;min-height:0}.day-main{display:flex;flex-direction:column;gap:10px;min-width:0}.allday-row{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;border-radius:14px;background:#ffffff12;border:1px solid rgba(255,255,255,.13)}.allday-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#ffffff80}.allday-strip{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.allday-empty{font-size:12.5px;color:#fff6}.allday-chip{font:inherit;font-size:12.5px;color:#fff;border:1px solid rgba(255,255,255,.2);border-left:3px solid var(--tint);border-radius:8px;background:#ffffff1f;padding:4px 10px;cursor:pointer;transition:background .16s ease}.allday-chip:hover{background:#fff3}.allday-chip.sel{background:#fff;color:#14120e}.allday-add{font:inherit;font-size:14px;line-height:1;color:#ffffffb3;width:24px;height:24px;border-radius:8px;border:1px dashed rgba(255,255,255,.3);background:transparent;cursor:pointer}.allday-add:hover{background:#ffffff29;color:#fff}.grid-wrap{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px;max-height:min(56vh,560px);overflow:auto;overscroll-behavior:contain;border-radius:14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);padding:0 10px 10px}.hours{padding-top:10px}.hour{position:relative}.hour-label{position:absolute;top:-7px;right:0;font-size:11px;color:#ffffff80;font-variant-numeric:tabular-nums;white-space:nowrap}.slots{position:relative;margin-top:10px;touch-action:none;cursor:crosshair}.hour-lines{position:absolute;inset:0;pointer-events:none}.hour-line{position:absolute;left:0;right:0;height:1px;background:#ffffff1c}.hour-line.half{background:#ffffff0d}.now-line{position:absolute;left:-4px;right:0;height:1.5px;background:#ff7a59;box-shadow:0 0 8px #ff7a59b3;z-index:2;pointer-events:none}.now-line:before{content:"";position:absolute;left:-3px;top:-3.25px;width:8px;height:8px;border-radius:50%;background:#ff7a59}.blocks{position:absolute;inset:0}.block{position:absolute;overflow:hidden;padding:4px 8px 4px 9px;border-radius:9px;background:color-mix(in srgb,var(--tint) 30%,rgba(20,24,30,.72));border:1px solid rgba(255,255,255,.22);border-left:3px solid var(--tint);cursor:grab;transition:box-shadow .16s ease,background .16s ease}.block:hover{background:color-mix(in srgb,var(--tint) 40%,rgba(20,24,30,.72))}.block.sel{box-shadow:0 0 0 2px #ffffffe6,0 10px 24px #0006}.block.clash{border-top:1px dashed #FFB3A0;border-right:1px dashed #FFB3A0;border-bottom:1px dashed #FFB3A0}.block.ghost{background:#ffffff38;border:1px dashed rgba(255,255,255,.6);pointer-events:none}.block-title{font-size:12.5px;font-weight:600;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.block-meta{font-size:11px;color:#ffffffbf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.block-repeat{position:absolute;top:3px;right:6px;font-size:10px;color:#ffffffb3}.block-resize{position:absolute;left:0;right:0;bottom:0;height:7px;cursor:ns-resize}.inspector{border-radius:16px;background:#ffffff12;border:1px solid rgba(255,255,255,.13);padding:14px;max-height:min(62vh,640px);overflow:auto}.inspector-empty{display:flex;flex-direction:column;gap:8px}.inspector-empty p{margin:0;font-size:13.5px;color:#ffffffb8}.inspector-empty .hintline{font-size:12.5px;color:#ffffff80}.primary{font:inherit;font-size:13px;margin-top:4px;padding:9px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:#ffffffe6;color:#14120e;cursor:pointer;transition:background .16s ease}.primary:hover{background:#fff}.inspector-form{display:flex;flex-direction:column;gap:11px}.field{display:flex;flex-direction:column;gap:5px}.field-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#ffffff80}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:9px}.row-inline{display:flex;align-items:center;gap:10px}.checkline{display:flex;align-items:center;gap:7px;font-size:13px;cursor:pointer}.checkline input{accent-color:#fff;width:15px;height:15px}.cat-row{display:flex;flex-wrap:wrap;gap:5px}.cat-chip{font:inherit;font-size:11.5px;color:#fffc;background:#ffffff1a;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:4px 10px 4px 20px;cursor:pointer;position:relative;transition:background .16s ease}.cat-chip:before{content:"";position:absolute;left:8px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--chip)}.cat-chip:hover{background:#fff3}.cat-chip.on{background:#fff;color:#14120e;border-color:#fff}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border-radius:999px;background:#ffffff1a;border:1px solid rgba(255,255,255,.16)}.seg{font:inherit;font-size:12px;color:#ffffffbf;background:transparent;border:0;border-radius:999px;padding:5px 8px;cursor:pointer}.seg.on{background:#ffffffe6;color:#14120e}.repeat-note,.duration-note{margin:-4px 0 0;font-size:11.5px;color:#ffffff80}.inspector-actions{display:flex;gap:8px;margin-top:2px}.inspector-actions .ghost{flex:1;text-align:center}.help-sheet{position:absolute;inset:0;display:none;align-items:center;justify-content:center;padding:26px;background:#06080b80;z-index:5}.help-sheet.open{display:flex}.help-card{padding:22px 26px;width:min(430px,100%)}.help-card h4{margin:0 0 10px;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:#ffffff8c}.help-card h4+ul{margin-bottom:18px}.help-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.help-card li{display:flex;align-items:center;gap:8px;font-size:13px}.help-card li span{color:#fffc}.help-card li .wide{color:#ffffffa6;font-size:12.5px}kbd{font:inherit;font-size:11px;min-width:24px;text-align:center;padding:3px 6px;border-radius:6px;background:#ffffff24;border:1px solid rgba(255,255,255,.22)}.toast-host{position:fixed;left:0;right:0;bottom:26px;display:flex;justify-content:center;z-index:60;pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease}.toast-host.show{opacity:1;transform:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:14px;padding:11px 14px 11px 18px;border-radius:999px;font-size:13px}.toast-error{border-color:#ff8c6e80}.toast-text{color:#ffffffeb}.toast-action{font:inherit;font-size:12.5px;color:#14120e;background:#ffffffeb;border:0;border-radius:999px;padding:5px 13px;cursor:pointer}.toast-action:hover{background:#fff}.panel.editable{cursor:pointer;transition:background .22s ease}.panel.editable:hover{background:#ffffff26}.panel-head-right{display:flex;align-items:baseline;gap:12px}.panel-head .hint{font-size:12px;color:#ffffff8c}.offline-note{margin:10px 0 0;font-size:12px;color:#ffc4b0}@media(max-width:900px){.day-body{grid-template-columns:minmax(0,1fr)}.inspector{max-height:none}}@media(max-width:620px){.day-card{padding:16px;gap:12px}.tool-row{align-items:stretch;flex-direction:column}.tool-actions{flex-wrap:wrap}.search-wrap{flex:1}.search-wrap .input{width:100%}.search-pop{width:min(320px,78vw)}.grid-wrap{max-height:46vh}.allday-row{grid-template-columns:1fr}}.projects-grid{display:grid;grid-template-columns:minmax(0,1fr) 352px;gap:20px;align-items:start;margin-bottom:20px}.brevity-panel{display:flex;flex-direction:column;gap:16px}.brevity-tagline{margin:0;font-size:17px;line-height:1.4;color:#ffffffe6;letter-spacing:-.01em;outline:none;border-radius:8px}.brevity-summary{margin:0;font-size:14px;line-height:1.55;color:#ffffffb3;white-space:pre-wrap;outline:none;border-radius:8px}.brevity-tagline.empty:before,.brevity-summary.empty:before{content:attr(data-placeholder);color:#ffffff57}.brevity-tagline:focus,.brevity-summary:focus{box-shadow:0 0 0 1px #ffffff4d;background:#ffffff0f}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px}.stat{display:flex;flex-direction:column;gap:2px;padding:12px 13px;border-radius:14px;background:#ffffff12;border:1px solid rgba(255,255,255,.12)}.stat-label{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:#ffffff80}.stat-value{font-size:22px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-sub{font-size:11.5px;color:#ffffff80}.clients-panel{display:flex;flex-direction:column;gap:12px}.client-list{display:flex;flex-direction:column;gap:4px}.client-row{display:grid;grid-template-columns:9px minmax(0,1fr) auto 20px;align-items:center;gap:9px;padding:9px 8px;border-radius:12px;transition:background .16s ease}.client-row:hover{background:#ffffff17}.client-dot{width:8px;height:8px;border-radius:50%;align-self:start;margin-top:5px}.client-main{display:flex;flex-direction:column;gap:1px;min-width:0}.client-side{display:flex;align-items:center;gap:8px}.client-name,.client-location,.client-mrr{outline:none;border-radius:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-name{font-size:14px;font-weight:500}.client-location{font-size:12.5px;color:#ffffff8c}.client-mrr{font-size:14px;font-variant-numeric:tabular-nums;text-align:right}.client-name:focus,.client-location:focus,.client-mrr:focus{box-shadow:0 0 0 1px #ffffff59;background:#ffffff1a}.client-status{font:inherit;font-size:11px;color:#ffffffb3;background:#ffffff1a;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:3px 6px;cursor:pointer;appearance:none}.client-status option{background:#1c2027;color:#fff}.client-remove{font:inherit;font-size:14px;line-height:1;color:#fff6;background:none;border:0;cursor:pointer;opacity:0;transition:opacity .16s ease,color .16s ease}.client-row:hover .client-remove{opacity:1}.client-remove:hover{color:#ffb3a0}.add-client{align-self:flex-start}.outreach-card{cursor:pointer;transition:background .22s ease,transform .22s cubic-bezier(.2,.7,.3,1)}.outreach-card:hover{background:#ffffff26;transform:translateY(-2px)}.channel-chips{display:flex;flex-wrap:wrap;gap:8px}.channel-chip{display:inline-flex;align-items:baseline;gap:7px;padding:7px 13px 7px 22px;border-radius:999px;background:#ffffff1a;border:1px solid rgba(255,255,255,.16);position:relative;font-size:12.5px}.channel-chip:before{content:"";position:absolute;left:9px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--chip)}.channel-chip.idle{opacity:.45}.channel-chip-label{color:#ffffffb8}.channel-chip-value{font-weight:600;font-variant-numeric:tabular-nums}.outreach-sheet-card{width:min(1080px,100%);display:flex;flex-direction:column;gap:14px;padding:24px 26px 26px}.period-switch{display:flex;grid-template-columns:none;flex:none}.period-switch .seg{width:auto;height:auto;padding:5px 11px;white-space:nowrap;flex:none}.outreach-sheet-card .sheet-head{flex-wrap:wrap;row-gap:10px}.outreach-sheet-card .nav{flex:none}.log-bar{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:14px;background:#ffffff12;border:1px solid rgba(255,255,255,.13)}.log-bar-label{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:#ffffff80}.date-step{display:flex;align-items:center;gap:6px;margin-right:auto}.date-step span{font-size:13.5px;min-width:104px;text-align:center}.date-step button{width:26px;height:26px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:#ffffff14;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.date-step button svg{width:12px;height:12px}.date-step button:hover:not(:disabled){background:#fff3}.date-step button:disabled{opacity:.3;cursor:default}.channels{display:flex;flex-direction:column;gap:8px;max-height:min(62vh,640px);overflow:auto}.channel{flex:none;border-radius:16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-left:3px solid var(--accent);overflow:hidden}.channel.open{background:#ffffff17}.channel-head{width:100%;display:grid;grid-template-columns:14px 132px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 15px;background:none;border:0;color:#fff;font:inherit;text-align:left;cursor:pointer;transition:background .16s ease}.channel-head:hover{background:#ffffff12}.channel-caret{font-size:15px;color:#ffffff80;transition:transform .2s ease}.channel.open .channel-caret{transform:rotate(90deg)}.channel-name{font-size:14.5px;font-weight:600}.channel-funnel{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.funnel-arrow{color:#ffffff47;font-size:12px}.funnel-cell{display:flex;align-items:baseline;gap:5px}.funnel-value{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.funnel-label{font-size:11px;color:#ffffff80}.channel-today{font-size:11.5px;color:#ffffff73;white-space:nowrap;padding:3px 9px;border-radius:999px;border:1px solid transparent}.channel-today.on{color:#fff;background:#ffffff24;border-color:#ffffff2e}.channel-body{display:flex;flex-direction:column;gap:14px;padding:4px 15px 16px;border-top:1px solid rgba(255,255,255,.1)}.logger{display:flex;flex-direction:column;gap:8px}.logger-label{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:#ffffff80}.logger-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px}.metric{display:flex;flex-direction:column;gap:5px;padding:9px 10px;border-radius:12px;background:#ffffff12;border:1px solid rgba(255,255,255,.12)}.metric-output{background:#ffffff1c;border-color:#fff3}.metric-label{font-size:11px;color:#ffffff9e;letter-spacing:.02em}.stepper{display:grid;grid-template-columns:26px minmax(0,1fr) 26px;gap:5px;align-items:center}.step{font:inherit;font-size:15px;line-height:1;height:26px;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:#ffffff1a;color:#fff;cursor:pointer;transition:background .14s ease}.step:hover:not(:disabled){background:#ffffff3d}.step:disabled{opacity:.3;cursor:default}.metric-value{font:inherit;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;text-align:center;width:100%;min-width:0;color:#fff;background:transparent;border:0;border-radius:6px;padding:2px 0}.metric-value:focus{outline:none;background:#ffffff29}.rate-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.rate{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:8px 11px;border-radius:11px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.rate-label{font-size:11.5px;color:#ffffff8c}.rate-value{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.strips{display:flex;flex-direction:column;gap:7px}.strip{display:grid;grid-template-columns:108px minmax(0,1fr) 48px;align-items:center;gap:10px}.strip-label{font-size:11px;color:#ffffff80}.strip-total{font-size:12px;font-variant-numeric:tabular-nums;text-align:right;color:#ffffffbf}.bars{display:flex;align-items:flex-end;gap:3px;height:28px}.bar{flex:1;min-width:0;border-radius:2px;background:var(--accent);opacity:.85}.bar.zero{background:#ffffff29;opacity:1}.metric-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.metric-target{font-size:10.5px;color:#ffffff73;white-space:nowrap}.metric-target.done{color:#7dd3a0}.metric.has-goal{border-color:#fff3}.goal-track{position:relative;height:3px;border-radius:2px;background:#ffffff24;overflow:hidden}.goal-fill{height:100%;border-radius:2px;background:var(--accent);transition:width .25s ease}.goal-fill.full{background:#7dd3a0}.pace .goal-track{overflow:visible}.pace-marker{position:absolute;top:-2px;width:1.5px;height:7px;background:#ffffffbf;border-radius:1px}.goals{display:flex;flex-direction:column;gap:8px}.goals-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.goals-toggle{padding:4px 11px;font-size:12px}.goals-empty{margin:0;font-size:12.5px;color:#ffffff6b}.goal-rows{display:flex;flex-direction:column;gap:7px}.goal-row{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.goal-metric{font-size:12px;color:#ffffffb8}.goal-derived{font-size:12px;color:#ffffff8c;font-variant-numeric:tabular-nums}.goal-row:has(.goal-target){grid-template-columns:92px 78px 108px 116px 22px}.goal-target{text-align:center}.goal-target,.goal-period,.goal-basis{font-size:12px;padding:5px 9px}.goal-clear{font:inherit;font-size:14px;line-height:1;color:#fff6;background:none;border:0;cursor:pointer}.goal-clear:hover:not(:disabled){color:#ffb3a0}.goal-clear:disabled{opacity:.25;cursor:default}.goal-bars{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:2px}.pace{display:grid;grid-template-columns:40px minmax(60px,1fr) auto;align-items:center;gap:8px}.pace-label{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:#ffffff6b}.pace-delta{font-size:11px;color:#fff9;font-variant-numeric:tabular-nums;white-space:nowrap}.pace-delta.behind{color:#ffb3a0}.pace-delta.ahead{color:#7dd3a0}.channel-today.goal{display:flex;flex-direction:column;gap:4px;align-items:stretch;min-width:86px}.channel-today.goal span{font-variant-numeric:tabular-nums}.channel-today.goal.met{color:#7dd3a0}.mini-track{height:3px;border-radius:2px;background:#ffffff29;overflow:hidden;display:block}.mini-fill{display:block;height:100%;background:var(--accent);border-radius:2px}.mini-fill.full{background:#7dd3a0}.goal-summary{font-size:12px;color:#ffffff9e;padding:5px 11px;border-radius:999px;background:#ffffff17;border:1px solid rgba(255,255,255,.15);white-space:nowrap}.goal-summary.all-met{color:#7dd3a0;border-color:#7dd3a066}.note-input{font-size:13px}@media(max-width:900px){.projects-grid{grid-template-columns:minmax(0,1fr)}.channel-head{grid-template-columns:14px minmax(0,1fr) auto}.channel-funnel{grid-column:1 / -1}}@media(max-width:620px){.outreach-sheet-card{padding:16px}.sheet-head .period-switch{grid-template-columns:repeat(2,1fr)}.log-bar{flex-wrap:wrap}.client-row{grid-template-columns:9px minmax(0,1fr) auto auto 20px}.client-location{display:none}.channels{max-height:56vh}}.notes-grid{display:grid;grid-template-columns:minmax(0,1fr) 352px;gap:20px;align-items:start}.journal-panel{display:flex;flex-direction:column}.journal-head-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.journal-head-right .date-step{margin-right:0}.journal-head-right .date-step span{min-width:92px}.journal-streak{background:#7dd3a029;border-color:#7dd3a059;color:#bfebd1}.journal-heading{font:inherit;font-size:21px;font-weight:600;letter-spacing:-.015em;color:#fff;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.14);padding:0 0 12px;margin-bottom:16px;width:100%}.journal-heading::placeholder{color:#ffffff57;font-weight:500}.journal-heading:focus{outline:none;border-bottom-color:#fff6}.journal-body{font:inherit;font-size:15.5px;line-height:1.65;color:#ffffffeb;background:transparent;border:0;padding:0;width:100%;min-height:min(46vh,420px);resize:vertical}.journal-body::placeholder{color:#ffffff52}.journal-body:focus{outline:none}.journal-foot{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:15px;border-top:1px solid rgba(255,255,255,.13)}.journal-tags{font:inherit;font-size:13px;color:#ffffffd9;background:#ffffff12;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:6px 14px;min-width:0;flex:1;max-width:340px}.journal-tags::placeholder{color:#ffffff59}.journal-tags:focus{outline:none;background:#ffffff21}.journal-meta{margin-left:auto;font-size:12.5px;color:#ffffff80;font-variant-numeric:tabular-nums;white-space:nowrap}.journal-meta.saving{color:#ffffffb8}.journal-meta.failed{color:#ffb3a0}.journal-delete:hover{background:#ff786442;color:#fff}.journal-side{padding:22px 22px 24px}.journal-side .panel-head{margin-bottom:14px}.journal-side .panel-head h3{font-size:20px}.journal-search{display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:14px;background:#ffffff14;border:1px solid rgba(255,255,255,.15)}.journal-search:focus-within{background:#ffffff24;border-color:#ffffff4d}.journal-search svg{width:15px;height:15px;color:#ffffff80;flex:none}.journal-search input{font:inherit;font-size:13.5px;color:#fff;background:transparent;border:0;min-width:0;flex:1;-webkit-appearance:none;appearance:none}.journal-search input::placeholder{color:#ffffff61}.journal-search input:focus{outline:none}.journal-search input::-webkit-search-cancel-button{display:none}.journal-search button{border:0;background:transparent;color:#ffffff8c;font-size:17px;line-height:1;cursor:pointer;padding:0 2px}.journal-search button:hover{color:#fff}.journal-jump{display:block;width:100%;margin-top:8px;padding:8px 12px;border-radius:12px;border:1px dashed rgba(255,255,255,.3);background:#ffffff0d;color:#ffffffd9;font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.journal-jump:hover{background:#ffffff24;border-style:solid}.journal-jump[hidden]{display:none}.journal-tagbar{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.journal-tagbar:empty{display:none}.journal-tag-chip:before{content:"#";opacity:.45}.journal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:16px 0 4px}.journal-wday{border:0;border-radius:12px;background:#ffffff0f;color:#fffc;font:inherit;padding:7px 0 8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;transition:background .15s ease}.journal-wday:hover{background:#ffffff29}.journal-wday .wd{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:#ffffff80}.journal-wday .wn{font-size:13px;font-variant-numeric:tabular-nums}.journal-wday .wm{width:4px;height:4px;border-radius:50%;background:transparent}.journal-wday.written .wm{background:#8fb8ff}.journal-wday.today{box-shadow:inset 0 0 0 1.5px #ffffff80}.journal-wday.sel{background:#fff;color:#14120e}.journal-wday.sel .wd{color:#14120e99}.journal-wday.sel .wm{background:#14120ebf}.journal-wday.ahead{opacity:.42}.journal-cal{margin-top:16px}.journal-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.journal-cal-head span{font-size:14.5px;font-weight:600;letter-spacing:-.01em}.journal-cal-head button{width:26px;height:26px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:#ffffff14;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.journal-cal-head button svg{width:12px;height:12px}.journal-cal-head button:hover{background:#fff3}.journal-dow,.journal-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.journal-dow{margin-bottom:6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#ffffff80;text-align:center}.journal-cal-grid .day.written{background:#8fb8ff38}.journal-cal-grid .day.written:hover{background:#8fb8ff57}.journal-cal-grid .day.sel{background:#fff;color:#14120e}.journal-cal-grid .day.hit{box-shadow:inset 0 0 0 1.5px #e2c275}.journal-cal-grid .day.today.hit{box-shadow:inset 0 0 0 1.5px #e2c275,0 0 0 1px #fff6}.journal-months{display:flex;flex-wrap:wrap;gap:5px;margin-top:14px}.journal-month-chip{border:1px solid rgba(255,255,255,.15);background:#ffffff12;color:#ffffffd1;border-radius:999px;font:inherit;font-size:11.5px;padding:4px 10px;cursor:pointer;white-space:nowrap}.journal-month-chip:hover{background:#ffffff2e;color:#fff}.journal-month-chip.on{background:#ffffffe6;color:#14120e;border-color:transparent}.journal-month-chip b{font-weight:600;opacity:.6;margin-left:4px}.journal-month-chip.on b{opacity:.55}.journal-list{margin-top:16px;border-top:1px solid rgba(255,255,255,.13);padding-top:6px;max-height:40vh;overflow:auto;display:flex;flex-direction:column}.journal-hit{text-align:left;border:0;background:transparent;color:inherit;font:inherit;padding:11px 10px;margin:0 -10px;border-radius:13px;cursor:pointer;display:block;width:calc(100% + 20px)}.journal-hit:hover{background:#ffffff1c}.journal-hit.sel{background:#ffffff29}.journal-hit-date{display:block;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:#ffffff85}.journal-hit-title{display:block;font-size:14px;font-weight:600;letter-spacing:-.01em;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-hit-snippet{font-size:12.5px;line-height:1.5;color:#ffffff9e;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.journal-hit-snippet mark{background:#e2c27557;color:#fff;border-radius:3px;padding:0 1px}.journal-group{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:#ffffff6b;padding:12px 0 4px}.journal-group:first-child{padding-top:4px}.journal-side .empty{padding:18px 0 6px;font-size:13.5px}@media(max-width:1080px){.notes-grid{grid-template-columns:1fr}.journal-side{max-width:520px}}@media(max-width:620px){.journal-head-right{width:100%;justify-content:space-between}.journal-foot{flex-wrap:wrap}.journal-meta{margin-left:0}}.todo-panel{max-width:980px}.todo-scope{grid-template-columns:repeat(4,minmax(0,1fr))}.todo-scope .seg{padding:5px 14px;white-space:nowrap}.todo-add{display:flex;gap:9px;align-items:center;margin-bottom:6px}.todo-add input{font:inherit;font-size:14.5px;color:#fff;background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:11px 16px;flex:1;min-width:0}.todo-add input::placeholder{color:#ffffff61}.todo-add input:focus{outline:none;background:#ffffff24;border-color:#ffffff57}.todo-add .primary{padding:10px 20px;border-radius:14px}.todo-list{display:flex;flex-direction:column}.todo-group{display:flex;align-items:baseline;gap:9px;padding:20px 0 7px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:2px}.todo-group:first-child{padding-top:8px}.todo-group-label{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#ffffff94}.todo-group-count{font-size:11px;color:#ffffff73;font-variant-numeric:tabular-nums}.todo-group.late .todo-group-label{color:#ffb3a0}.todo-group.done .todo-group-label{color:#fff6}.todo-clear{margin-left:auto;font:inherit;font-size:11.5px;color:#ffffff8c;background:transparent;border:0;cursor:pointer;padding:0}.todo-clear:hover{color:#fff;text-decoration:underline}.todo-row{display:grid;grid-template-columns:22px minmax(0,1fr) 26px auto auto 26px;align-items:center;gap:11px;padding:9px 12px 9px 13px;margin:0 -12px;border-radius:14px;position:relative;transition:background .15s ease}.todo-row:hover{background:#ffffff12}.todo-row:before{content:"";position:absolute;left:3px;top:12px;bottom:12px;width:3px;border-radius:2px;background:var(--cat, rgba(255,255,255,.4));opacity:.8}.todo-check{width:20px;height:20px;border-radius:7px;border:1.5px solid rgba(255,255,255,.42);background:transparent;cursor:pointer;padding:0;position:relative}.todo-check:hover{border-color:#fff;background:#ffffff1f}.todo-check:after{content:"";position:absolute;left:5.5px;top:2px;width:5px;height:10px;border:solid #14120E;border-width:0 2px 2px 0;transform:rotate(45deg) scale(.4);opacity:0;transition:opacity .14s ease,transform .14s ease}.todo-row.done .todo-check{background:#fff;border-color:#fff}.todo-row.done .todo-check:after{opacity:1;transform:rotate(45deg) scale(1)}.todo-title{font-size:15px;line-height:1.4;min-width:0;overflow-wrap:anywhere;border-radius:6px;padding:1px 3px;margin:0 -3px}.todo-title:focus{outline:none;background:#ffffff24}.todo-row.done .todo-title{color:#ffffff6b;text-decoration:line-through}.todo-star{width:26px;height:26px;border:0;border-radius:9px;background:transparent;color:#ffffff47;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;opacity:0;transition:opacity .15s ease,color .15s ease}.todo-star svg{width:15px;height:15px}.todo-row:hover .todo-star,.todo-star:focus-visible{opacity:1}.todo-star:hover{color:#fff;background:#ffffff1f}.todo-row.starred .todo-star{opacity:1;color:#e2c275;fill:#e2c27547}.todo-cat,.todo-due{font:inherit;font-size:12px;color:#ffffffb8;background:#ffffff12;border:1px solid rgba(255,255,255,.13);border-radius:9px;padding:4px 8px;cursor:pointer;color-scheme:dark}.todo-cat{-webkit-appearance:none;appearance:none;padding-right:8px}.todo-cat option{background:#1b1e24;color:#fff}.todo-due{font-variant-numeric:tabular-nums}.todo-cat:hover,.todo-due:hover{background:#ffffff29;color:#fff}.todo-cat:focus,.todo-due:focus{outline:none;border-color:#fff6}.todo-row.done .todo-cat,.todo-row.done .todo-due{opacity:.45}.todo-remove{width:24px;height:24px;border:0;border-radius:8px;background:transparent;color:#fff6;font-size:17px;line-height:1;cursor:pointer;padding:0;opacity:0;transition:opacity .15s ease,background .15s ease}.todo-row:hover .todo-remove,.todo-remove:focus-visible{opacity:1}.todo-remove:hover{background:#ff786447;color:#fff}.todo-more{align-self:flex-start;margin-top:16px;font:inherit;font-size:12.5px;color:#ffffff8c;background:transparent;border:0;border-bottom:1px dashed rgba(255,255,255,.3);padding:0 0 2px;cursor:pointer}.todo-more:hover{color:#fff;border-bottom-color:#fff}.todo-panel .empty{padding:30px 0 10px}@media(max-width:760px){.todo-row{grid-template-columns:22px minmax(0,1fr) 26px 26px;row-gap:7px}.todo-check{grid-row:1;grid-column:1}.todo-title{grid-row:1;grid-column:2}.todo-star{grid-row:1;grid-column:3}.todo-remove{grid-row:1;grid-column:4}.todo-cat{grid-row:2;grid-column:2;justify-self:start}.todo-due{grid-row:2;grid-column:3 / span 2;justify-self:end}.todo-star,.todo-remove{opacity:1}.todo-add{flex-wrap:wrap}}
