:root{--bg:#f7f8f4;--paper:#fffefa;--ink:#303a33;--muted:#829086;--line:#e6e9e0;--sage:#dce8dc;--accent:#587762;--tint:#f0f3ec;--shadow:0 18px 60px #23352c14}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button{color:inherit;cursor:pointer;background:0 0;border:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:2px solid #8dab93}.hidden{display:none!important}header{border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;height:68px;padding:0 clamp(16px,4vw,64px);display:flex}.brand{letter-spacing:.21em;font-size:13px;font-weight:650}.brand:before{content:"◌";color:var(--accent);margin-right:10px;font-size:21px}.quiet{color:var(--muted);font-size:11px}.shell{max-width:1530px;margin:auto;padding:25px clamp(16px,4vw,64px) 100px}.nav{flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:27px;display:flex}.nav button{color:var(--muted);border-radius:9px;padding:10px 15px}.nav button.active{background:var(--sage);color:var(--ink)}.nav button:not(.add):hover{background:var(--tint)}.spacer{flex:1}.add,.primary{border-radius:10px;padding:10px 17px;color:#fff!important;background:#303c33!important}.subbar{flex-wrap:wrap;align-items:center;gap:11px;margin-bottom:18px;display:flex}.date{font-size:16px;font-weight:550}.smallbtn{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:7px 10px;font-size:12px}.smallbtn.active{background:var(--sage);border-color:var(--sage)}.muted{color:var(--muted)}.sectionhead{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:27px 0 7px;font-size:11px}.list{max-width:870px}.task{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:60px;padding:12px 1px;transition:background .2s,transform .2s,opacity .2s;display:flex;position:relative}.task.dropbefore{box-shadow:0 -3px #8eb39a}.task.dropafter{box-shadow:0 3px #8eb39a}.task.dragging,.weektask.dragging{opacity:.35}.handle{cursor:grab;color:#a8b2a9;touch-action:none;-webkit-user-select:none;user-select:none;padding:6px 3px;font-size:17px}.check{border:1.5px solid #bdc8bd;border-radius:50%;flex:0 0 19px;width:19px;height:19px;transition:transform .24s,background .24s}.check:hover{border-color:var(--accent);transform:scale(1.16)}.done .check{background:var(--accent);border-color:var(--accent);color:#fff}.done .check:after{content:"✓";font-size:13px}.taskmain{cursor:pointer;flex:1;min-width:0}.taskname{font-size:14px}.done .taskname{color:#9aa49a;text-decoration:line-through}.meta{color:var(--muted);margin-top:2px;font-size:11px}.play,.pom{width:30px;height:30px;color:var(--accent);background:var(--tint);border-radius:50%;flex:none;transition:transform .2s,background .2s}.pom{background:0 0;font-size:18px}.play:hover,.pom:hover{background:var(--sage);transform:scale(1.1)}.task-controls{gap:3px;display:flex}.quickadd{gap:8px;margin-top:12px;display:flex}.quickadd input{background:var(--paper);border:1px solid var(--line);border-radius:9px;flex:1;min-width:0;padding:11px 13px}.quickadd button{background:var(--sage);border-radius:9px;padding:10px 16px}.grouphead{text-align:left;align-items:center;gap:11px;width:100%;padding:13px 0 5px;font-weight:560;display:flex}.swatch{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.grouphead small{color:var(--muted);font-weight:400}.grouphead .chev{color:var(--muted);margin-left:auto}.groupitems{border-left:1px solid var(--line);margin-left:4px;padding-left:18px}.weeklywrap{overscroll-behavior-x:contain;scrollbar-color:#ccd6cb transparent;padding:4px 0 16px;overflow-x:auto}.weekgrid{grid-template-columns:repeat(7,minmax(156px,1fr));align-items:start;gap:12px;min-width:1110px;display:grid}.daycol{background:var(--paper);border:1px solid var(--line);border-radius:15px;min-height:375px;padding:15px;transition:background .2s,border-color .2s}.daycol.isToday{border-color:#9eb49f}.daycol.dragover{background:#e9f0e5;border-color:#8eb59a}.dayhead{border-bottom:1px solid var(--line);justify-content:space-between;margin-bottom:10px;padding:4px 0 16px;font-size:14px;display:flex}.dayhead span{color:var(--muted);font-size:12px}.weektask{cursor:grab;background:#f5f6f1;border:1px solid #edf0e9;border-radius:13px;margin-bottom:9px;padding:13px;transition:transform .2s,opacity .2s,box-shadow .2s}.weektask:hover{box-shadow:0 3px 15px #2a392b0c}.weektask:active{cursor:grabbing}.weektask .bottom{color:var(--muted);justify-content:space-between;align-items:center;margin-top:13px;font-size:11px;display:flex}.weektask.isdone{opacity:.48}.weektask.isdone .wtitle{text-decoration:line-through}.wtitle{font-size:13px}.coladd{width:100%;color:var(--muted);border:1px dashed #e4e9df;border-radius:10px;margin-top:7px;padding:12px}.week-summary{grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:12px;display:none}.miniday{text-align:center;border-radius:7px;min-width:0;padding:7px 0}.miniday.today{background:var(--sage)}.miniday span{font-size:11px;display:block}.clientgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;max-width:1050px;display:grid}.clientcard{background:var(--paper);border:1px solid var(--line);cursor:pointer;border-radius:18px;min-height:190px;padding:22px;transition:transform .2s,border-color .2s;position:relative;overflow:hidden}.clientcard:hover{border-color:#b6c5b6;transform:translateY(-2px)}.clientcard .brandrow{align-items:center;gap:13px;margin-bottom:24px;display:flex}.clientlogo{object-fit:cover;border-radius:14px;flex:none;place-items:center;width:48px;height:48px;font-size:20px;font-weight:550;display:grid}.clientcard h3{margin:0;font-size:15px;font-weight:550}.timebig{font-variant-numeric:tabular-nums;font-size:30px;font-weight:300}.clientcard footer{color:var(--muted);margin-top:9px;font-size:11px}.detail{max-width:830px}.detailheader{align-items:center;gap:15px;margin-bottom:23px;display:flex}.detailheader .timebig{margin-left:auto}.sessions{margin-top:24px}.sessionrow{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:12px 0;font-size:12px;display:flex}.overlay{z-index:80;background:#26362964;place-items:center;padding:15px;animation:.18s fadein;display:grid;position:fixed;inset:0}.modal{background:var(--paper);width:min(480px,100%);box-shadow:var(--shadow);border-radius:19px;max-height:95dvh;padding:25px;overflow:auto}.modalhead{justify-content:space-between;align-items:center;margin-bottom:20px;font-size:15px;display:flex}.field{margin:13px 0}.field label{color:var(--muted);margin-bottom:5px;font-size:11px;display:block}.field input,.field textarea,.field select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fafbf8;border-radius:9px;padding:11px}.field textarea{resize:vertical;min-height:70px}.row2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modalfoot{justify-content:space-between;margin-top:22px;display:flex}.linkbutton{color:var(--muted);font-size:12px}.toast{color:#fff;z-index:130;pointer-events:none;background:#35483b;border-radius:11px;padding:10px 18px;font-size:12px;animation:.3s fadein;position:fixed;bottom:23px;left:50%;transform:translate(-50%)}.focusfloat{z-index:45;color:#fff;cursor:pointer;background:#34463a;border-radius:30px;align-items:center;gap:11px;padding:10px 15px;animation:.35s rise;display:flex;position:fixed;bottom:24px;right:22px;box-shadow:0 10px 33px #1a2e1a30}.focusfloat .pulse{background:#b7d9bb;border-radius:50%;width:9px;height:9px;animation:3s infinite breathe;box-shadow:0 0 #b7d9bb66}.focusfloat.paused .pulse{background:#d1d5cc;animation:none}.focusfloat span{font-variant-numeric:tabular-nums}.focusfloat small{white-space:nowrap;text-overflow:ellipsis;opacity:.75;max-width:125px;font-size:10px;overflow:hidden}.focuslayer{z-index:100;color:#f7faf4;background:radial-gradient(at 50% 45%,#405f4b 0%,#23392f 58%,#14251e 100%);flex-direction:column;justify-content:center;align-items:center;padding:25px;animation:.5s fadein;display:flex;position:fixed;inset:0;overflow:hidden}.focuslayer:before{content:"";aspect-ratio:1;pointer-events:none;border:1px solid #bce4bf19;border-radius:50%;width:min(75vw,590px);animation:9s ease-in-out infinite orb;position:absolute;box-shadow:0 0 0 70px #ffffff05,0 0 0 140px #ffffff05,0 0 0 220px #ffffff03}.focusinner{z-index:1;text-align:center;width:min(460px,100%);position:relative}.focuslabel{letter-spacing:.2em;text-transform:uppercase;opacity:.65;font-size:11px}.focustime{letter-spacing:-.06em;font-variant-numeric:tabular-nums;margin:20px 0 4px;font-size:clamp(64px,13vw,108px);font-weight:250}.focustask{margin:10px 0 30px;font-size:18px}.focusacts{justify-content:center;align-items:center;gap:12px;display:flex}.focusacts button{color:#fff;border:1px solid #d6e7d64d;border-radius:30px;padding:12px 21px}.focusacts .solid{color:#24362a;background:#ecf3e9}.focusclose{z-index:2;color:#fff9;font-size:24px;position:absolute;top:21px;right:24px}.focusprogress{background:#fff2;border-radius:10px;height:3px;margin:25px 50px}.focusprogress div{background:#e3f1e1;border-radius:10px;height:100%;transition:width .8s}.picklayer{z-index:90;background:#21382d98;place-items:center;padding:15px;animation:.2s fadein;display:grid;position:fixed;inset:0}.pickcard{background:var(--paper);text-align:center;width:min(420px,100%);box-shadow:var(--shadow);border-radius:21px;padding:28px}.picktimes{grid-template-columns:repeat(3,1fr);justify-items:center;gap:15px;margin:30px auto;display:grid}.picktimes button{background:#edf2e9;border:1px solid #e2e9e0;border-radius:50%;width:84px;height:84px;font-size:18px;font-weight:400;transition:transform .2s,background .2s;animation:.4s both pop}.picktimes button:hover{background:#dbe9d8;transform:scale(1.08)}.picktimes small{color:var(--muted);font-size:10px;display:block}.settingsline{justify-content:space-between;align-items:center;gap:10px;margin-top:17px;display:flex}.settingsline input[type=color]{background:0 0;border:0;width:45px;height:38px;padding:0}.logoUpload{border:1px dashed var(--line);border-radius:9px;width:100%;padding:12px}.twoactions{align-items:center;gap:10px;display:flex}.completeburst{pointer-events:none;border:2px solid #8db697;border-radius:50%;width:29px;height:29px;animation:.45s pop;position:absolute}.notice{max-width:850px;color:var(--muted);margin-top:18px;font-size:11px}.activeTimerInline{border:1px solid var(--line);cursor:pointer;background:var(--paper);border-radius:13px;justify-content:space-between;align-items:center;gap:15px;max-width:620px;margin:25px 0;padding:17px;display:flex}@keyframes breathe{0%,to{opacity:.6;box-shadow:0 0 #b7d9bb66}50%{opacity:1;box-shadow:0 0 0 11px #b7d9bb00}}@keyframes orb{0%,to{opacity:.55;transform:scale(.94)}50%{opacity:1;transform:scale(1.09)}}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@media (width<=850px){.clientgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){header{height:58px;padding:0 17px}.shell{padding:17px 14px 90px}.nav{gap:1px;margin-bottom:18px}.nav button{padding:9px 10px;font-size:12px}.nav .add{margin-left:auto;padding:9px 12px}.subbar{gap:8px}.weeklywrap{margin:0 -14px;padding:2px 14px 18px}.weekgrid{grid-template-columns:repeat(7,150px);gap:10px;min-width:1122px}.week-summary{display:grid}.daycol{min-height:350px;padding:12px}.clientgrid{grid-template-columns:1fr 1fr;gap:9px}.clientcard{min-height:155px;padding:15px}.clientcard .brandrow{gap:7px;margin-bottom:17px}.clientlogo{border-radius:10px;width:37px;height:37px;font-size:16px}.clientcard h3{font-size:12px}.timebig{font-size:23px}.task{gap:8px}.taskname{font-size:13px}.handle{padding:7px 1px}.focusfloat{bottom:14px;right:12px}.row2{gap:8px}.modal{padding:19px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.daycol{padding:15px 9px}.taskmain{text-align:left;padding:0}.taskname,.wtitle{overflow-wrap:anywhere}.header-right{align-items:center;gap:12px;display:flex}.settings-button{padding:6px;font-size:17px}.login{place-items:center;min-height:75dvh;padding:20px;display:grid}.login .modal{border:1px solid var(--line);box-shadow:none}.error{color:#994e42;font-size:12px}.filter{border:1px solid var(--line);background:var(--paper);max-width:180px;color:var(--ink);border-radius:8px;padding:7px 10px;font-size:12px}.period{flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 18px;display:flex}.period input{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:7px;padding:5px;font-size:11px}.client-name{text-align:left;padding:0;font-weight:550}.clientlogo img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.timebig{padding:0}.clientcard.archived{opacity:.65}.toast{pointer-events:auto;max-width:min(90vw,600px)}.toast button{color:#fff;margin-left:14px;text-decoration:underline}.empty{padding:20px 0}.weektitle{align-items:flex-start;gap:7px;display:flex}.weektitle .check{flex:0 0 15px;width:15px;height:15px;margin-top:2px;padding:0}.wtitle{text-align:left;padding:0}.weekcontrols{flex:none;display:flex}.weektask .bottom{align-items:flex-end;gap:4px}.weektask .bottom>span:first-child{overflow-wrap:anywhere}.check.checked{background:var(--accent);color:#fff}.check.checked:after{content:"✓";font-size:10px}.focus-notify{color:#e5f3e0b5;text-underline-offset:4px;font-size:11px;text-decoration:underline}.focus-caption{color:#dceadcaa;margin-top:14px}.focuslayer button:focus-visible{outline-offset:4px;outline:2px solid #dce8dc}button:disabled{cursor:wait;opacity:.6}a.smallbtn{color:var(--ink);text-decoration:none}summary{cursor:pointer;padding:8px 0}.modalhead button{min-width:30px;min-height:30px}.task.completed-flash .check{animation:.45s pop}.quiet,.meta,.muted{color:#68776c}.focusfloat .pulse{flex:none}.task:focus-within{background:#eef2e9}.weektitle .check{transition:background .2s}.focusfloat{max-width:calc(100vw - 28px)}@media (width<=620px){.daycol{padding:12px 9px}.filter{max-width:130px}.detailheader,.clientcard .brandrow{flex-wrap:wrap}.clientcard .brandrow .smallbtn{padding:3px 6px}.task-controls{gap:0}.play,.pom{width:32px;height:34px}.period{gap:8px}.weekgrid{min-width:1110px}.focusfloat{bottom:calc(14px + env(safe-area-inset-bottom))}.shell{padding-bottom:calc(100px + env(safe-area-inset-bottom))}}.sortable-list{border-radius:10px;min-height:4px}.drop-zone{background:#dce8dc33}.dragging-active .task,.dragging-active .weektask{will-change:transform}.drag-preview{background:var(--paper);cursor:grabbing;overflow-wrap:anywhere;pointer-events:none;border:1px solid #b6c5b6;border-radius:10px;max-width:none;margin:0;transform:scale(1.012);box-shadow:0 12px 28px #23352c20}.drag-preview.weektask{background:#f5f6f1;border-radius:13px}.task-card{cursor:grab;touch-action:auto;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.task-card .taskmain,.task-card .wtitle{cursor:inherit}.task-card[data-dragging]{cursor:grabbing;background-color:#e9f0e580}.task-card:focus-visible{outline-offset:3px;border-radius:8px;outline:2px solid #8dab93}.task-card .inline-title{-webkit-user-select:text;user-select:text;cursor:text}.clientcard{cursor:pointer}.clientcard:focus-within{border-color:#9eb49f;box-shadow:0 0 0 2px #9eb49f33}a.client-name{color:inherit;text-decoration:none}@media (prefers-reduced-motion:reduce){.drag-preview{transform:none}}.weektask .weekcontrols button{min-height:26px}.task.done .check{animation:.4s pop}.daycol:has(.drop-zone){background:#edf3e9;border-color:#8eb59a}.weektask .bottom>span:first-child{color:color-mix(in srgb, currentColor 60%, #303a33 40%)}.weektask.isdone{opacity:1;background:#f8f9f5;border-color:#edf0e980}.weektask.isdone .wtitle{opacity:.55}.weektask.isdone .bottom{color:#68776c}.weektask.isdone .bottom>span:first-child{color:#68776c!important}.weektask.isdone .weekcontrols{opacity:.65}.taskname,.task-meta{text-align:left;padding:0;display:block}.inline-title{background:var(--paper);width:100%;color:var(--ink);font-size:inherit;border:1px solid #9eb49f;border-radius:5px;padding:3px 5px}.weektask .bottom{flex-wrap:wrap}.weektask .bottom>span:first-child{overflow-wrap:anywhere;flex:auto;max-width:100%}.weektask .weekcontrols{margin-left:auto}@media (width<=620px){.clientcard .brandrow{grid-template-columns:37px minmax(0,1fr);gap:7px;min-height:48px;display:grid}.clientcard .brandrow h3{overflow-wrap:anywhere;padding-right:4px}.clientcard .brandrow>.smallbtn{position:absolute;top:8px;right:8px}}
