*{box-sizing:border-box}
html,body{margin:0}
body{font-family:var(--font);color:var(--ink);background:#fff;line-height:1.55;font-size:16.5px;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--display,var(--font));line-height:1.15;margin:0 0 .4em;color:var(--primary)}
h1{font-size:clamp(28px,5vw,42px);font-weight:600}
h2{font-size:22px;font-weight:600}
h3{font-size:18px}
a{color:var(--primary)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.wrap{max-width:1100px;margin:0 auto;padding:0 22px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.muted{color:#5d6b76}
.small{font-size:14px}
.opt{font-weight:400;color:#6d7a84;font-size:14px}
.break{word-break:break-all}

/* zest bar */
.zbar{background:#0C2908;color:#fff;font-size:14px}
.zbar .wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.zbar strong{color:#FAE843;font-family:"Geist",system-ui,sans-serif;font-weight:500}
.zbar a{color:#fff;text-decoration:none}
.zbar a:hover{text-decoration:underline}
.zbar .switch select{font:inherit;padding:4px 8px;border-radius:6px;border:0}
.zbar .out{margin-left:auto}

/* header */
.top{background:var(--primary);color:#fff}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;padding-bottom:18px}
.brand{display:flex;align-items:center;text-decoration:none;color:#fff}
.brand img{max-height:46px;max-width:220px;display:block}
.brand-name{font-family:var(--display,var(--font));font-size:24px;font-weight:600}
.who{font-size:14px;color:rgba(255,255,255,.85)}
.who a{color:#fff}
.tabs{background:var(--primary);border-top:1px solid rgba(255,255,255,.14)}
.tabs-in{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.tabs-in::-webkit-scrollbar{display:none}
.tabs a{color:rgba(255,255,255,.82);text-decoration:none;white-space:nowrap;padding:12px 12px 10px;border-bottom:3px solid transparent;font-size:15px}
.tabs a:hover{color:#fff}
.tabs a[aria-current]{color:#fff;border-bottom-color:var(--accent)}
.ztop{background:#0C2908}
.zest-word{font-family:"Geist",system-ui,sans-serif;font-weight:500;font-size:22px;color:#0C2908}
.ztop .zest-word{color:#FAE843}

.main{padding-top:32px;padding-bottom:64px;min-height:60vh}
.foot{border-top:1px solid #e3e8ec;color:#6d7a84;font-size:13px;padding:18px 0}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:6px;font:inherit;font-weight:600;font-size:15px;background:var(--accent);color:var(--accent-ink);border:2px solid var(--accent);border-radius:8px;padding:9px 18px;text-decoration:none;cursor:pointer}
.btn:hover{filter:brightness(.95)}
.btn.ghost{background:transparent;color:var(--primary);border-color:var(--primary)}
.btn.small{font-size:13.5px;padding:5px 12px}
.btn.danger{background:#fff;color:#b3261e;border-color:#b3261e}
.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
.note{font-size:14px;color:#6d4c00;background:#fff6db;padding:8px 12px;border-radius:6px}

/* flash */
.flash{background:var(--soft);border-left:5px solid var(--accent);padding:12px 16px;border-radius:6px;margin-bottom:22px}
.flash.err{background:#fdecea;border-color:#b3261e}

/* home */
.hello{margin-bottom:30px}
.hello p{max-width:680px;margin:.2em 0 0}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:36px}
.col{background:var(--soft);border-radius:12px;padding:18px}
.col h2{font-size:18px;display:flex;align-items:center;gap:8px}
.count{background:var(--primary);color:#fff;font-size:13px;border-radius:999px;padding:1px 9px;font-family:var(--font)}
.empty{color:#6d7a84;font-size:15px}
.empty.big{font-size:17px;padding:28px 0}
.block{margin-top:10px}
.update{border-top:1px solid #e3e8ec;padding:16px 0}
.update h3{margin:.2em 0}

/* cards and lists */
.list{display:flex;flex-direction:column;gap:10px}
.card{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:start;background:#fff;border:1px solid #dfe6ec;border-radius:10px;padding:12px 14px;text-decoration:none;color:var(--ink);margin-bottom:8px}
.col .card{margin-bottom:8px}
.card:hover{border-color:var(--primary)}
.card-t{font-weight:600}
.card .meta{grid-column:1 / -1}
.meta{font-size:13.5px;color:#65737e}
.chip{font-size:12.5px;font-weight:600;border-radius:999px;padding:2px 10px;white-space:nowrap;align-self:start}
.st-wait{background:#fff1c7;color:#6d4c00}
.st-alert{background:#fde3df;color:#9a2016}
.st-done{background:#dcf3e3;color:#16552e}
.st-open{background:#e4ecf6;color:#1f3f66}
.filters{display:flex;flex-wrap:wrap;gap:6px;margin:-10px 0 18px}
.filters a{font-size:14px;text-decoration:none;border:1px solid #cfd8df;border-radius:999px;padding:4px 12px;color:var(--ink)}
.filters a[aria-current]{background:var(--primary);color:#fff;border-color:var(--primary)}
h2.group{margin-top:30px;font-size:19px;border-bottom:2px solid var(--soft);padding-bottom:6px}

/* documents, people, reporting */
.docs{display:flex;flex-direction:column}
.doc{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e8edf1}
.doc-t{font-weight:600;display:block}
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.person{background:var(--soft);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:4px}
.person .role{font-size:14px;color:#55636e}
.person .prose{font-size:14.5px}
.report{margin-bottom:26px}
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.stat{background:var(--soft);border-radius:10px;padding:14px}
.stat-v{display:block;font-family:var(--display,var(--font));font-size:26px;font-weight:600;color:var(--primary)}
.stat-k{font-size:14px;color:#55636e}

/* brand hub */
.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.logo-tile{border:1px solid #dfe6ec;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.logo-tile img{max-width:100%;max-height:90px;object-fit:contain;background:repeating-conic-gradient(#f1f3f5 0 25%,#fff 0 50%) 0 0/16px 16px;padding:8px;border-radius:6px}
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.swatch{display:flex;flex-direction:column;gap:6px}
.sw{height:84px;border-radius:10px;border:1px solid rgba(0,0,0,.08)}
.copy-btn{font:inherit;font-size:13.5px;cursor:pointer}
.swatch .copy-btn{background:none;border:1px solid #cfd8df;border-radius:6px;padding:3px 8px;align-self:flex-start;font-family:ui-monospace,Menlo,monospace}
.type-row{padding:10px 0;border-bottom:1px solid #e8edf1;display:flex;flex-direction:column}
.wording{background:var(--soft);border-radius:10px;padding:16px 18px;margin-bottom:12px}
.wording-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}

/* item */
.crumb{font-size:14px;margin:0 0 10px}
.item-h{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}
.item-h h1{margin-bottom:0}
.item-h .chip{margin-top:10px}
.item>.meta{margin:8px 0 20px}
.panel{background:var(--soft);border-radius:12px;padding:16px 20px;margin:18px 0}
.panel-h{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:600;margin-bottom:10px}
.prose{white-space:normal;overflow-wrap:anywhere}
.preview{max-width:100%;border-radius:10px;border:1px solid #dfe6ec;margin:8px 0}
.decide{border:2px solid var(--accent);border-radius:12px;padding:18px 20px;margin:24px 0}
.zest-tools{background:#f6f7f2;border:1px dashed #b6c0a8;border-radius:10px;padding:12px 16px;margin:22px 0;font-size:14px}
.history{margin:12px 0;font-size:14px}
.comments{margin-top:32px;max-width:760px}
.comment{border-left:3px solid #d5dde3;padding:6px 0 6px 14px;margin:12px 0}
.comment.from-zest{border-left-color:var(--accent)}

/* forms */
.form{display:flex;flex-direction:column;gap:14px;max-width:520px}
.form.wide{max-width:720px}
.form label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:15px}
.form input,.form select,.form textarea,.inline select{font:inherit;font-weight:400;padding:10px 12px;border:1px solid #c3ced6;border-radius:8px;background:#fff;color:var(--ink);width:100%}
.form input[type=color]{padding:2px;height:44px;width:90px}
.form input[type=file]{padding:8px}
.form label.tick,.tick{flex-direction:row;align-items:center;gap:8px;font-weight:400;display:inline-flex}
.tick input{width:auto}
fieldset{border:1px solid #dfe6ec;border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:14px}
legend{font-weight:600;padding:0 6px}
.colours{display:flex;flex-wrap:wrap;gap:16px}
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.logo-prev{padding:14px;border-radius:8px;display:inline-block}
.logo-prev img{max-height:48px;display:block}
.inline{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}
.inline select{width:auto;padding:6px 8px}

/* tables, dashboard */
.tbl{width:100%;border-collapse:collapse;margin:10px 0 30px;font-size:15px}
.tbl th,.tbl td{text-align:left;padding:10px 8px;border-bottom:1px solid #e3e8ec;vertical-align:top}
.tbl .acts{display:flex;flex-wrap:wrap;gap:6px}
.dash{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:18px 0 34px}
.dash-card{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:12px;border:1px solid #dfe6ec;border-top:6px solid var(--c);text-decoration:none;color:#0C2908}
.dash-card strong{font-size:18px;margin-bottom:4px}
.dash-card b{font-size:18px}
.feed{list-style:none;padding:0;margin:0}
.feed li{padding:9px 0;border-bottom:1px solid #eef1f3}

/* auth */
body.zest{--accent:#FAE843;--accent-ink:#0C2908;--primary:#0C2908;--soft:#EAF9DD}
.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#EAF9DD;padding:24px}
.auth-card{background:#fff;border-radius:16px;padding:34px 30px;max-width:430px;width:100%;box-shadow:0 1px 0 #d7e6c9}
.auth-card h1{font-family:"Geist",system-ui,sans-serif;font-weight:400;color:#0C2908;margin:18px 0 6px;font-size:30px}
.auth-card .form{margin-top:18px}

@media (max-width:860px){.cols{grid-template-columns:1fr}}
@media (max-width:560px){body{font-size:16px}.wrap{padding-left:16px;padding-right:16px}.doc{flex-direction:column;align-items:flex-start}.tbl thead{display:none}.tbl tr{display:block;border-bottom:1px solid #e3e8ec;padding:8px 0}.tbl td{display:block;border:0;padding:4px 0}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
/* v2: statuses, home page, approvals inbox, versions */
.st-draft{background:#ececec;color:#444}
.st-ready{background:#e3f0ff;color:#1b4b82}
.home-hello{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px}
.home-hello .actions{margin-top:6px}
.home-block{margin-bottom:30px}
.approve-block{border:2px solid var(--accent);border-radius:14px;padding:18px 20px}
.approve-block h2{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:20px}
.who-appr{font-size:15px;font-weight:400;color:#55616b;font-family:var(--font)}
.review-list{display:flex;flex-direction:column;gap:10px}
.review{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid #dfe6ec;border-radius:10px;padding:10px 12px}
.review .thumb{width:64px;height:64px;border-radius:8px;object-fit:cover;background:var(--soft)}
.thumb-none{display:flex;align-items:center;justify-content:center;font-weight:600;font-size:22px;color:var(--primary)}
.review-b{display:flex;flex-direction:column;gap:2px;min-width:0}
.review-b .card-t{text-decoration:none;color:var(--ink)}
.due{font-size:13.5px;font-weight:600;color:#3d4a55}
.due.soon{color:#8a5a00}
.due.late{color:#b3261e}
.old-version{border-left:3px solid #dfe6ec;padding:6px 0 6px 12px;margin:10px 0}
.bad{color:#b3261e}
h2.group .count{font-size:13px}
@media (max-width:600px){.review{grid-template-columns:48px 1fr}.review .thumb{width:48px;height:48px}.review .btn{grid-column:1 / -1;justify-content:center}}
/* v3: Stage A. Logos, co-branding, monthly summary, needs, onboarding, who's who */
.brand img{max-height:58px;max-width:240px}
.top-in{padding-top:20px;padding-bottom:20px}
.tabs-in{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent);padding-right:40px}
@media (min-width:1000px){.tabs-in{-webkit-mask-image:none;mask-image:none}}
.nbadge{display:inline-block;min-width:20px;text-align:center;background:var(--accent);color:var(--accent-ink);border-radius:999px;font-size:12px;font-weight:700;padding:1px 6px;margin-left:4px}
.zbar-logo{height:20px;width:auto;display:block}
.zest-logo{height:34px;width:auto;display:block}
.zest-sub{color:rgba(255,255,255,.75);font-size:14px;margin-left:12px;padding-left:12px;border-left:1px solid rgba(255,255,255,.3)}
.auth-logo img{height:44px;width:auto;display:block}
.foot-in{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.foot-zest{display:inline-flex;align-items:center;gap:8px}
.foot-zest img{height:22px;width:auto;display:block}
.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--primary);opacity:.75}
.month{background:var(--soft);border-radius:14px;padding:20px 22px;margin-bottom:26px}
.month-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin:10px 0 6px}
.month h3{font-size:16px;margin-bottom:4px}
.month .prose{font-size:15.5px}
.onb{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;border:1px solid #dfe6ec;border-radius:12px;padding:14px 18px;margin-bottom:26px}
.bar{height:10px;background:#e8edf1;border-radius:999px;overflow:hidden}
.bar span{display:block;height:100%;background:var(--accent);border-radius:999px}
section.onb:not(:has(.btn)){grid-template-columns:auto 1fr}
.needs-block{border:1px solid #f0d9a6;background:#fffaf0;border-radius:14px;padding:18px 20px}
.needs-block h2{display:flex;align-items:center;gap:8px;font-size:20px}
.need .thumb-none{background:#fff1c7;color:#6d4c00}
.track{grid-column:1 / -1;font-size:13.5px;color:#2d5a3d}
.trackbox{background:#eef7f1;border-left:4px solid #2d8a55;border-radius:6px;padding:10px 14px;margin:12px 0;color:#1d3d29}
.poc{background:var(--soft);border-radius:12px;padding:14px 18px;margin-bottom:6px}
.poc .eyebrow{margin-right:8px}
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.person{background:#fff;border:1px solid #dfe6ec;gap:8px}
.person.is-main{border:2px solid var(--accent)}
.person-h{display:flex;gap:12px;align-items:center}
.person-h strong{display:block}
.avatar{width:44px;height:44px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:15px;flex:none}
.person .chip{align-self:flex-start}
.person .actions{margin-top:auto;padding-top:6px}
@media (max-width:600px){.onb{grid-template-columns:1fr}.home-hello .actions{width:100%}}
@media (min-width:1000px){.tabs-in{flex-wrap:wrap;overflow:visible;padding-right:0}}
.brand img.plate,.logo-prev img.plate{background:#fff;padding:8px 14px;border-radius:8px;box-sizing:content-box;max-height:44px}
.edit-copy{border:1px solid #dfe6ec;border-radius:12px;padding:12px 18px;margin:18px 0}
.edit-copy summary{cursor:pointer;font-weight:600;color:var(--primary)}
/* full calendar */
.cal-bar{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;margin:6px 0 12px}
.seg{display:inline-flex;border:1px solid #cfd8df;border-radius:999px;overflow:hidden}
.seg a{padding:6px 16px;font-size:14px;text-decoration:none;color:var(--ink)}
.seg a[aria-current]{background:var(--primary);color:#fff}
.cal-nav{display:flex;align-items:center;gap:10px}
.cal-nav strong{font-family:var(--display,var(--font));font-size:20px;color:var(--primary);min-width:170px;text-align:center}
.cal-filters .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle}
.cal{border:1px solid #dfe6ec;border-radius:12px;overflow:hidden;margin-top:12px}
.cal-head{display:grid;grid-template-columns:repeat(7,1fr);background:var(--soft);font-size:13px;font-weight:600;color:var(--primary)}
.cal-head span{padding:8px 10px}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.day{min-height:118px;border-top:1px solid #e6ebef;border-left:1px solid #e6ebef;padding:6px;display:flex;flex-direction:column;gap:4px;min-width:0}
.day:nth-child(7n+1){border-left:0}
.day.other{background:#fafbfc}.day.other .dnum{color:#a3adb5}
.day.weekend{background:#fbfcfd}
.day.today .dnum{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:0 7px;align-self:flex-start}
.dnum{font-size:13px;font-weight:600;color:#44525d}
.dname,.dmon{display:none}
.cal-week .day{min-height:260px}
.ev{display:block;font-size:12.5px;line-height:1.3;text-decoration:none;color:#fff;border-radius:6px;padding:4px 6px;overflow:hidden}
.ev-t{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-week .ev-t{white-space:normal}
.ev-s,.ev-k{display:block;font-size:11px;opacity:.85}
.ev:hover{filter:brightness(1.08)}
.t-linkedin{background:#0a66c2}.t-email{background:#7a3db8}.t-web{background:#1c7a4d}.t-other{background:#5b6770}
.t-deadline{background:#fff;color:#8a4b00;border:1.5px dashed #d98a1f}
.ev.is-due{background:#fff8ec;color:#6d3c00;border:1.5px dashed #d98a1f}
.dot.t-deadline{border:1.5px dashed #d98a1f;background:#fff8ec}
.more{font-size:12px;text-decoration:none}
.cal-key .key{display:inline-block;margin-right:8px}
@media (max-width:760px){
  .cal-head{display:none}
  .cal-grid{display:block}
  .day{min-height:0;border-left:0;padding:10px 12px}
  .day.empty{display:none}
  .dname,.dmon{display:inline}
  .ev-t{white-space:normal}
  .cal-nav strong{min-width:0;font-size:17px}
}
/* quick ticks and pager */
.card-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:8px}
.card-row .card{flex:1;margin-bottom:0;min-width:0}
.tick-f{margin:0;flex:none}
.tickbtn{width:34px;height:34px;border-radius:50%;border:2px solid #b9c5ce;background:#fff;color:transparent;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-top:8px;padding:0}
.tickbtn:hover,.tickbtn:focus-visible{border-color:#1c7a4d;color:#1c7a4d;background:#eef7f1}
.review.with-tick{grid-template-columns:auto 64px 1fr auto}
.review.with-tick .tickbtn{margin-top:0}
.crumb-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}
.pager{display:flex;align-items:center;gap:10px}
.btn.disabled{opacity:.35;pointer-events:none}
@media (max-width:600px){.review.with-tick{grid-template-columns:auto 48px 1fr}.pager{width:100%;justify-content:space-between}}
.drive{margin:8px 0 28px;padding:0!important;overflow:hidden}
.drive-h{display:flex;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.drive-ico{width:34px;height:34px;padding:7px;border-radius:10px;background:var(--canvas);color:var(--ink,#1c2530);flex:none}
.drive-t{flex:1;min-width:200px}.drive-t h2{margin:0;font-size:1.05rem}.drive-t .meta{display:block;margin-top:2px}
.drive-box{background:#fff;padding:6px 8px 0}
.drive .drive-frame{display:block;width:100%;height:520px;border:0;border-radius:0;background:#fff}
.drive-note{margin:0;padding:12px 22px 16px;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted,#6b7280)}
@media(max-width:640px){.drive-h{padding:14px 16px}.drive .drive-frame{height:420px}.drive-note{padding:12px 16px}}
/* grouped menu with dropdowns */
.tabs-in{flex-wrap:wrap;overflow:visible;-webkit-mask-image:none;mask-image:none;padding-right:0}
.navdrop{position:relative}
.navdrop summary{list-style:none;cursor:pointer;color:rgba(255,255,255,.82);white-space:nowrap;padding:12px 12px 10px;border-bottom:3px solid transparent;font-size:15px}
.navdrop summary::-webkit-details-marker{display:none}
.navdrop summary::after{content:"";display:inline-block;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 0 3px 8px}
.navdrop[open] summary::after{transform:rotate(-135deg);margin-bottom:-1px}
.navdrop summary:hover,.navdrop[open] summary{color:#fff}
.navdrop summary[aria-current]{color:#fff;border-bottom-color:var(--accent)}
.navmenu{position:absolute;left:0;top:100%;z-index:20;min-width:220px;background:#fff;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:6px;display:flex;flex-direction:column}
.tabs .navmenu a{color:var(--ink);padding:10px 12px;border-radius:6px;border:0;font-size:15px}
.tabs .navmenu a:hover{background:var(--soft)}
.tabs .navmenu a[aria-current]{background:var(--soft);font-weight:600;color:var(--primary)}
@media (max-width:600px){.tabs a,.navdrop summary{padding:10px 9px 8px;font-size:14.5px}.navmenu{position:fixed;left:12px;right:12px;top:auto;min-width:0}}
/* v5: smaller, cleaner ticks */
.card-row{gap:8px;align-items:center}
.tickbtn{width:22px;height:22px;border:1.5px solid #c5cfd6;margin-top:0;font-size:11px;color:#c5cfd6;background:#fff;transition:all .12s}
.tickbtn:hover,.tickbtn:focus-visible{border-color:#1c7a4d;background:#1c7a4d;color:#fff}
.review.with-tick{grid-template-columns:22px 64px 1fr auto;gap:12px}
@media (max-width:600px){.review.with-tick{grid-template-columns:22px 48px 1fr}}
.fixes-embed{margin:4px 0 28px}
.fixes-frame{width:100%;height:calc(100vh - 150px);min-height:560px;border:1px solid #dfe6ec;border-radius:12px;background:#eef0f2}
.review.no-thumb{grid-template-columns:1fr auto}
.review.no-thumb.with-tick{grid-template-columns:22px 1fr auto}
@media (max-width:600px){.review.no-thumb.with-tick{grid-template-columns:22px 1fr}.review.no-thumb.with-tick .btn{grid-column:2}}
/* v6: website fixes list, native */
.fx{margin:6px 0 34px}
.fx-top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;border-bottom:2px solid var(--soft);padding-bottom:12px}
.fx-title{font-size:24px;margin:2px 0 0;max-width:720px}
.fx-progress{min-width:220px;font-size:14px;color:#44525d}
.fx-progress strong{color:var(--primary);font-size:18px}
.fx-progress .bar{margin-top:6px}
.fx-intro{color:#44525d;font-size:14.5px;max-width:820px;margin:12px 0}
.fx-stats{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.fx-stats span{background:var(--soft);border-radius:10px;padding:10px 14px;font-size:13.5px;color:#44525d}
.fx-stats b{display:block;font-size:22px;color:var(--primary);font-family:var(--display,var(--font));line-height:1.1}
.fx-key{display:flex;gap:6px 16px;flex-wrap:wrap;font-size:13px;color:#55616b;margin:4px 0 12px}
.fx-note{border-left:4px solid var(--accent);background:#fff;border:1px solid #e3e8ec;border-left-width:4px;border-left-color:var(--accent);border-radius:8px;padding:12px 16px;font-size:14px;color:#3b4852;margin:0 0 18px}
.fx-tag{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;border-radius:999px;padding:2px 8px;vertical-align:1px;white-space:nowrap}
.fx-dev{background:#e4ecf6;color:#1f3f66}.fx-des{background:#efe6f7;color:#5b2b86}.fx-cop{background:#e2f3ea;color:#1d5c3b}
.fx-sam{background:#fff1c7;color:#6d4c00}.fx-pri{background:#fde3df;color:#9a2016}
.fx-sec{margin:26px 0 8px}
.fx-sec.fx-new{border:2px solid var(--accent);border-radius:14px;padding:16px 18px;background:#fff}
.fx-sec-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.fx-sec-h h3{font-size:18px;margin:0}
.fx-letter{width:26px;height:26px;border-radius:7px;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.fx-newtag{background:var(--accent);color:var(--accent-ink);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:3px 10px}
.fx-count{font-size:13px;color:#55616b;background:var(--soft);border-radius:999px;padding:2px 10px}
.fx-secnote{font-size:14px;color:#55616b;margin:2px 0 10px;max-width:860px}
.fx-list ul{margin:6px 0 0;padding-left:20px;font-size:14.5px}
.fx-list li{margin-bottom:6px}
.fx-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:30px 0 6px;padding-top:18px;border-top:2px solid var(--soft)}
.fx-jump{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}
.fx-jump a{font-size:13px;text-decoration:none;border:1px solid #cfd8df;border-radius:999px;padding:3px 11px;color:var(--ink)}
.fx-jump a:hover{border-color:var(--primary)}
.fx-table{border:1px solid #e3e8ec;border-radius:12px;background:#fff;overflow:hidden}
.fx-row{display:grid;grid-template-columns:30px repeat(var(--cols,1),minmax(0,1fr)) auto;gap:6px 16px;align-items:start;padding:12px 14px;border-top:1px solid #edf1f4;font-size:14px}
.fx-row:first-child{border-top:0}
.fx-head{background:var(--soft);font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--primary);padding:9px 14px}
.fx-row .tickbtn{margin-top:1px}
.fx-state .tickbtn{display:flex;cursor:default}
.tickbtn.on{background:#1c7a4d;border-color:#1c7a4d;color:#fff}
.fx-tt{font-weight:600;color:var(--ink)}
.fx-desc{color:#44525d;margin-top:4px;font-size:13.8px}
.fx-cell{min-width:0;overflow-wrap:anywhere}
.fx-lab{display:none}
.fx-cell .nfrom{font-size:12px;color:#6d7a84;margin-top:2px}
.fx-cell .stt{display:inline-block;font-size:11.5px;font-weight:600;border-radius:999px;padding:2px 9px;background:#fde3df;color:#9a2016}
.fx-cell .stt.ok,.fx-cell .stt.donenow{background:#dcf3e3;color:#16552e}
.fx-cell .cpt{background:var(--soft);border-radius:4px;padding:0 4px}
.fx-cell .mrow{margin-bottom:6px}
.fx-cell a{word-break:break-all}
.fx-copy{font:inherit;font-size:11.5px;font-weight:600;border:1px solid #cfd8df;background:#fff;border-radius:999px;padding:1px 8px;margin-left:6px;cursor:pointer;color:var(--primary);vertical-align:1px}
.fx-row.is-done .fx-cell,.fx-row.is-done .fx-main{opacity:.55}
.fx-row.is-done .fx-tt,.fx-row.is-done .fx-cell:nth-child(2){text-decoration:line-through}
.fx-by{grid-column:2 / -1;font-size:12px;color:#1c7a4d}
.fx-thread summary{list-style:none;cursor:pointer;font-size:12px;font-weight:600;color:#55616b;border:1px solid #cfd8df;border-radius:999px;padding:2px 10px;white-space:nowrap}
.fx-thread summary::-webkit-details-marker{display:none}
.fx-thread summary.has{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.fx-thread[open]{grid-column:1 / -1}
.fx-thread[open] summary{display:inline-block;margin-bottom:8px}
.fx-thread-b{background:#f6f8fa;border-radius:10px;padding:12px 14px}
.fx-c{font-size:13.5px;margin-bottom:10px}
.fx-c small{color:#8a96a0;margin-left:4px}
.fx-cform{display:flex;gap:8px;align-items:flex-end}
.fx-cform textarea{flex:1;font:inherit;font-size:14px;padding:8px 10px;border:1px solid #c3ced6;border-radius:8px}
.fx-alldone{color:#1c7a4d}
@media (max-width:760px){
  .fx-row{grid-template-columns:30px minmax(0,1fr);}
  .fx-row > .fx-cell,.fx-row > .fx-main{grid-column:2}
  .fx-row > .fx-thread{grid-column:2}
  .fx-head{display:none}
  .fx-lab{display:block;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#8a96a0}
}
.fx-row.fx-n1{grid-template-columns:30px 76px repeat(calc(var(--cols) - 1),minmax(0,1fr)) auto}
.fx-cell .who{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;border-radius:999px;padding:2px 8px;background:#e4ecf6;color:#1f3f66}
.fx-cell .who.des{background:#efe6f7;color:#5b2b86}.fx-cell .who.cop{background:#e2f3ea;color:#1d5c3b}.fx-cell .who.sam{background:#fff1c7;color:#6d4c00}
.fx-row.is-done .fx-cell:nth-child(2){text-decoration:none}
@media (max-width:760px){.fx-row.fx-n1{grid-template-columns:30px minmax(0,1fr)}.fx-row > .fx-cell{grid-column:2 !important}}
.fx .who{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;border-radius:999px;padding:1px 8px;background:#e4ecf6;color:#1f3f66}
.fx .who.des{background:#efe6f7;color:#5b2b86}.fx .who.cop{background:#e2f3ea;color:#1d5c3b}.fx .who.sam{background:#fff1c7;color:#6d4c00}
.fx-row{grid-template-columns:30px repeat(var(--cols,1),minmax(0,1fr)) 104px}
.fx-row.fx-n1{grid-template-columns:30px 76px repeat(calc(var(--cols) - 1),minmax(0,1fr)) 104px}
.fx-thread{justify-self:end}
.fx-thread[open]{justify-self:stretch}
@media (max-width:760px){.fx-row,.fx-row.fx-n1{grid-template-columns:30px minmax(0,1fr)}.fx-thread{justify-self:start}}
/* ============ v7: soft canvas, floating header, rounded cards, pills, bento ============ */
:root{--canvas:#EEF0ED;--card:#fff;--r-lg:26px;--r-md:18px;--shadow:0 1px 2px rgba(16,24,32,.04),0 8px 24px rgba(16,24,32,.05)}
body{background:var(--canvas)}
body.zest{--canvas:#EEF1EA}
/* floating header card */
.top{background:transparent;color:#fff;padding-top:14px}
.top .top-in{background:var(--primary);border-radius:var(--r-lg) var(--r-lg) 0 0;padding:18px 26px 12px;max-width:1100px}
.tabs{background:transparent;border-top:0}
.tabs .tabs-in{background:var(--primary);border-radius:0 0 var(--r-lg) var(--r-lg);padding:4px 18px 14px;gap:4px;max-width:1100px}
.wrap.top-in,.wrap.tabs-in{margin:0 auto;width:calc(100% - 32px)}
.tabs a,.navdrop summary{border-bottom:0;border-radius:999px;padding:8px 14px;font-size:14.5px}
.tabs a[aria-current],.navdrop summary[aria-current]{background:rgba(255,255,255,.14);color:#fff}
.tabs a:hover,.navdrop summary:hover{background:rgba(255,255,255,.08)}
.navmenu{border-radius:18px;padding:8px;top:calc(100% + 6px)}
.tabs .navmenu a{border-radius:12px}
.ztop .top-in{border-radius:var(--r-lg)}
.zbar{background:transparent;color:#0C2908}
.zbar .wrap{background:#0C2908;color:#fff;border-radius:999px;margin-top:12px;padding:8px 18px;width:calc(100% - 32px)}
/* type */
h1{font-weight:500;letter-spacing:-.02em}
.greet{font-size:clamp(30px,5vw,48px);font-weight:600;line-height:1.08;max-width:760px}
.greet span{display:block;color:#8a949b;font-weight:400}
.main{padding-top:30px}
/* pills */
.btn{border-radius:999px;padding:10px 20px}
.btn.small{padding:6px 14px}
.btn.ghost{background:#fff;border-color:transparent;box-shadow:var(--shadow)}
.home-hello .btn.ghost{border:0}
.filters a,.seg,.fx-jump a{background:#fff;border-color:transparent;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.seg{border:0}
/* cards everywhere: white, big radius, no hard borders */
.col,.month,.onb,.approve-block,.needs-block,.panel,.fx-table,.cal,.person,.poc,.decide,.edit-copy,.fx-stats span,.fx-note,.fx-sec.fx-new,.doc,.wording,.stat,.logo-tile,.swatch,.report,.update,.trackbox{border-radius:var(--r-md)}
.col{background:var(--card);box-shadow:var(--shadow)}
.month{background:var(--card);box-shadow:var(--shadow);padding:26px 28px}
.approve-block{background:var(--card);border:0;box-shadow:var(--shadow);padding:22px 24px;position:relative}
.approve-block::before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:4px;border-radius:4px;background:var(--accent)}
.needs-block{background:var(--card);border:0;box-shadow:var(--shadow)}
.onb{background:var(--card);border:0;box-shadow:var(--shadow);border-radius:999px;padding:12px 14px 12px 24px}
.card,.review{border:0;border-radius:16px;background:#F6F7F5}
.col .card{background:#F6F7F5}
.review{padding:12px 14px}
.review .thumb{border-radius:14px;background:#fff}
.card:hover,.review:hover{background:#EFF1EE}
.panel{background:var(--card);box-shadow:var(--shadow)}
.person{border:0;box-shadow:var(--shadow)}
.fx-table,.cal{border:0;box-shadow:var(--shadow)}
.fx-stats span{background:#fff;box-shadow:var(--shadow)}
.decide{background:#fff;box-shadow:var(--shadow)}
.foot{border-top:0}
/* bento */
.bento{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:18px;margin-bottom:22px}
.bento .month{margin:0}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tile{position:relative;background:var(--card);border-radius:var(--r-md);box-shadow:var(--shadow);padding:18px 18px 16px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;justify-content:flex-end;min-height:122px}
.tile-n{font-family:var(--display,var(--font));font-size:40px;line-height:1;font-weight:500;letter-spacing:-.02em;color:var(--primary)}
.tile-l{font-size:13.5px;color:#66727b;margin-top:6px}
.tile-go{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;border:1px solid #e3e7e4;display:flex;align-items:center;justify-content:center;font-size:14px;color:#66727b}
.tile.hot{background:var(--primary);color:#fff}
.tile.hot .tile-n{color:#fff}.tile.hot .tile-l{color:rgba(255,255,255,.75)}
.tile.hot .tile-go{border-color:rgba(255,255,255,.3);color:#fff}
.tile:hover .tile-go{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.month-empty p{color:#66727b}
.cols{gap:18px}
@media (max-width:860px){.bento{grid-template-columns:1fr}}
@media (max-width:600px){.top .top-in{padding:14px 18px 8px}.tabs .tabs-in{padding:2px 10px 10px}.tile-n{font-size:32px}.tile{min-height:104px}.onb{border-radius:var(--r-md)}}
/* Zest type system: Geist Light/Regular/Medium for display, Manrope for body. No heavy bold. */
h1,h2,h3,.fx-title,.tile-n,.cal-nav strong,.brand-name{font-family:var(--display);font-weight:500;letter-spacing:-.015em}
h1{font-weight:400}
.greet{font-weight:500;letter-spacing:-.03em}
.greet span{font-weight:300}
.tile-n{font-weight:300;font-size:44px}
.stat-v,.fx-stats b{font-family:var(--display);font-weight:400}
.eyebrow{font-family:var(--display);font-weight:500}
.btn{font-weight:600}
.card-t,.fx-tt{font-weight:600}
/* log out and client view buttons */
.who{display:flex;align-items:center;gap:12px}
.who-name{font-size:14px;color:rgba(255,255,255,.85)}
.btn.logout{background:rgba(255,255,255,.12);color:#fff;border-color:transparent}
.btn.logout:hover{background:rgba(255,255,255,.22);filter:none}
.zbar .out.btn{background:#fff;color:#0C2908;border-color:#fff;margin-left:0}
.zbar .wrap{gap:14px}
.cv-btn{margin-left:auto;background:#FAE843;color:#0C2908 !important;font-weight:600;font-size:13.5px;border-radius:999px;padding:5px 14px;text-decoration:none !important}
.cv-btn.on{background:#fff}
.zbar.cv-on .wrap{background:#FAE843;color:#0C2908}
.zbar.cv-on .zbar-logo{filter:invert(1) brightness(.3)}
.zbar.cv-on span{font-weight:600;font-size:14px}
.zbar.cv-on .cv-btn{background:#0C2908;color:#fff !important}
/* dashboard row: approvals + calendar */
.dash-row{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:18px;margin-bottom:22px;align-items:start}
.dash-row .approve-block{margin:0}
.home-cal{background:var(--card);border-radius:var(--r-md);box-shadow:var(--shadow);padding:20px 22px}
.hc-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.hc-h h2{margin:0;font-size:22px}
.hc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.hc-w{font-size:11.5px;color:#8a949b;font-weight:600;padding-bottom:4px}
.hc-d{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;height:40px;border-radius:12px;text-decoration:none;color:var(--ink);font-size:14px}
.hc-d.other{color:#b7bec3}
.hc-d.has{background:#F4F5F3;font-weight:600}
.hc-d.has:hover{background:#EBEDEA}
.hc-d.today span{background:var(--primary);color:#fff;border-radius:999px;width:28px;height:28px;display:flex;align-items:center;justify-content:center}
.hc-dots{display:flex;gap:2px;position:absolute;bottom:4px}
.hc-dots b{width:5px;height:5px;border-radius:50%}
.hc-dots b.t-deadline{background:#d98a1f;border:0}
.hc-sub{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:#8a949b;margin:18px 0 8px;font-weight:500}
.hc-list{list-style:none;margin:0;padding:0}
.hc-list a{display:flex;gap:12px;align-items:center;padding:8px 6px;border-radius:12px;text-decoration:none;color:var(--ink)}
.hc-list a:hover{background:#F4F5F3}
.hc-date{flex:none;width:44px;height:44px;border-radius:12px;background:#F4F5F3;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;color:#66727b;line-height:1.1}
.hc-date b{font-family:var(--display);font-size:18px;font-weight:500;color:var(--ink)}
.hc-t{font-size:14px;font-weight:600;min-width:0}
.hc-t small{display:block;font-weight:400;color:#8a949b;font-size:12.5px}
.hc-t .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:1px}
.dot.t-deadline{background:#fff8ec;border:1.5px dashed #d98a1f}
.col .review{background:#F6F7F5}
@media (max-width:980px){.dash-row{grid-template-columns:1fr}}
.steps{margin:6px 0 0;padding-left:20px;font-size:14.5px}.steps li{margin-bottom:6px}
.staging{position:sticky;top:0;z-index:50;background:repeating-linear-gradient(45deg,#FAE843,#FAE843 14px,#f3dd2f 14px,#f3dd2f 28px);color:#0C2908;text-align:center;font-weight:700;font-size:13.5px;padding:6px 12px}
/* ================= v9: calm, light, precise ================= */
:root{--canvas:#FAFAF8;--line:#EAEAE6;--line2:#F1F1EE;--muted:#6B7278;--r:16px;--r-sm:12px}
body{background:var(--canvas);color:#1C2127}
body.zest{--canvas:#FAFAF8}
/* header: slim, white, fine border */
.hdr{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
.hdr-in{display:flex;align-items:center;gap:18px;min-height:64px;max-width:1160px}
.hdr .brand img{max-height:36px;max-width:170px;display:block}
.hdr .brand-name{font-family:var(--display);font-size:19px;font-weight:600;color:var(--primary)}
.withzest{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);padding-left:14px;border-left:1px solid var(--line);white-space:nowrap}
.withzest img{height:13px;width:auto;display:block;opacity:.85}
.mainnav{display:flex;gap:2px;margin:0 auto;flex-wrap:nowrap}
.mainnav a,.mnav nav a{color:#3A4148;text-decoration:none;font-size:14.5px;padding:7px 12px;border-radius:999px;white-space:nowrap;font-weight:500}
.mainnav a:hover{background:var(--line2)}
.mainnav a[aria-current],.mnav nav a[aria-current]{background:#F0F0ED;color:#111}
.nbadge{background:#1C2127;color:#fff;font-size:11px;min-width:18px;padding:1px 6px;border-radius:999px;margin-left:5px;font-weight:600}
.hdr-r{display:flex;align-items:center;gap:10px;margin-left:auto}
.acct{position:relative}.acct summary,.mnav summary{list-style:none;cursor:pointer}.acct summary::-webkit-details-marker,.mnav summary::-webkit-details-marker{display:none}
.avatar.sm{width:34px;height:34px;font-size:12.5px}
.acct-m{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:14px;min-width:220px;display:flex;flex-direction:column;gap:6px;box-shadow:0 12px 30px rgba(0,0,0,.08)}
.mnav{display:none}
.mnav summary{font-size:14px;font-weight:600;border:1px solid var(--line);border-radius:999px;padding:6px 14px}
.mnav nav{position:absolute;left:16px;right:16px;top:calc(100% + 1px);background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px;display:flex;flex-direction:column;box-shadow:0 12px 30px rgba(0,0,0,.08)}
@media (max-width:1060px){.mainnav{display:none}.mnav{display:block}.hdr-in{position:relative}}
@media (max-width:560px){.withzest{display:none}.hdr .brand img{max-height:30px}}
.subnav{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 22px}
.subnav a{font-size:14px;text-decoration:none;color:#3A4148;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:#fff}
.subnav a[aria-current]{background:#1C2127;border-color:#1C2127;color:#fff}
.subcount{font-size:11.5px;opacity:.75;margin-left:3px}
/* Zest bar: slim strip */
.zbar{background:#0C2908}.zbar .wrap{background:transparent;border-radius:0;margin:0 auto;padding:7px 22px;width:auto;max-width:1160px}
.zbar.cv-on{background:#FAE843}.zbar.cv-on .wrap{background:transparent}
/* type */
h1,h2,h3{color:#15191E;letter-spacing:-.01em}
h1{font-size:clamp(28px,4vw,36px);font-weight:500}
h2{font-size:18px;font-weight:600}
.main{padding-top:34px;max-width:1160px}
.greet2{font-size:clamp(30px,4.2vw,40px);font-weight:500;margin:0 0 6px;letter-spacing:-.02em}
.lede{font-size:18px;color:var(--muted);margin:0}
.greet-row{margin-bottom:26px}
/* buttons: navy primary, quiet secondary; red only for real problems */
.btn{background:var(--primary);border-color:var(--primary);color:#fff;border-radius:999px;font-weight:600}
.btn:hover{filter:brightness(1.12)}
.btn.ghost{background:#fff;color:#1C2127;border:1px solid var(--line);box-shadow:none}
.btn.danger{background:#fff;color:#b3261e;border-color:#e7c5c1}
/* panels: white, fine border, no shadows, no cards inside cards */
.panel2{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;margin-bottom:22px}
.p2-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}
.p2-h h2{margin:0}
.p2-h .small a,.p2-h a.small{color:var(--muted)}
.two{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;align-items:start}
.two.even{grid-template-columns:1fr 1fr}
.two .panel2{margin-bottom:22px}
.stack{display:flex;flex-direction:column}
@media (max-width:900px){.two,.two.even{grid-template-columns:1fr}}
/* rows with dividers */
.arow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:14px 0;border-top:1px solid var(--line2)}
.p2-h + .arow{border-top:0}
.arow-l{display:flex;gap:14px;align-items:center;text-decoration:none;color:inherit;min-width:0}
.thumb2{width:52px;height:52px;border-radius:10px;object-fit:cover;flex:none;background:#F4F4F1}
.thumb2.icon{display:flex;align-items:center;justify-content:center;color:#5B646C}
.row{display:flex;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line2);text-decoration:none;color:inherit}
.p2-h + .row,.p2-h + p + .row{border-top:0}
.row:hover .row-t,.arow-l:hover .row-t{text-decoration:underline;text-underline-offset:3px}
.row.compact{padding:9px 0;justify-content:space-between}
.row-b{display:flex;flex-direction:column;min-width:0;gap:2px}
.row-t{font-weight:600;color:#1C2127;overflow:hidden;text-overflow:ellipsis}
.row .meta,.arow .meta{font-size:13.5px;color:var(--muted)}
.next{font-size:13.5px;color:#1C2127}
.due{font-size:13px;font-weight:600;color:#5B646C;white-space:nowrap}
.due.soon{color:#8a5a00}.due.late{color:#b3261e}
.datechip{flex:none;width:44px;height:44px;border-radius:10px;background:#F4F4F1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;color:var(--muted);line-height:1.1}
.datechip b{font-family:var(--display);font-size:17px;font-weight:500;color:#1C2127}
.ok-mark{color:#1c7a4d;font-weight:700}
.minor{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:18px 0 2px;font-weight:600}
.more-row{margin:10px 0 0}
/* setup checklist: quiet */
.setup{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 12px 9px 18px;margin-bottom:22px;font-size:14px}
.setup .bar{flex:1;max-width:260px;height:6px;background:#EEEEEA;border-radius:999px;overflow:hidden;display:block}
.setup .bar span{display:block;height:100%;background:#1C2127;border-radius:999px}
.setup a{font-weight:600;color:#1C2127}
.setup .x{margin-left:auto;background:none;border:0;font-size:20px;color:var(--muted);cursor:pointer;line-height:1}
.bar span{background:var(--primary)}
/* this week strip */
.wk{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.wk-d{border-radius:12px;padding:10px 8px;min-height:96px;background:#FBFBF9;border:1px solid var(--line2);display:flex;flex-direction:column;gap:5px;min-width:0}
.wk-d.today{background:#fff;border-color:#1C2127}
.wk-h{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--muted)}
.wk-h b{font-family:var(--display);font-size:17px;font-weight:500;color:#1C2127}
.wk-e{font-size:12.5px;line-height:1.3;text-decoration:none;color:#1C2127;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wk-e.due{color:#8a4b00}
.wk-e .dot,.row .dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:1px}
.wk-more{font-size:12px;color:var(--muted)}
@media (max-width:760px){.wk{grid-template-columns:1fr}.wk-d{min-height:0;flex-direction:row;align-items:center;flex-wrap:wrap}.wk-d.empty{display:none}.wk-h{gap:6px;min-width:60px}}
/* focus + contact */
.focus h3{font-size:14px;font-weight:600;margin:14px 0 2px;color:#1C2127}
.focus .prose{font-size:15.5px;color:#2A3138}
.contact-h{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.contact-h strong{display:block;font-size:16px}
.contact-h .eyebrow{display:block;font-size:11px}
.avatar{background:#1C2127}
/* news */
.news-i{border-top:1px solid var(--line2);padding:10px 0}
.news-i summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:12px}
.news-i summary::-webkit-details-marker{display:none}
.news-i .prose{margin-top:8px;font-size:15px}
.zest-actions{color:var(--muted)}
/* quieten older components that still appear on section pages */
.col,.month,.approve-block,.needs-block,.panel,.fx-table,.cal,.person,.poc,.decide,.edit-copy,.fx-stats span,.home-cal,.tile,.onb,.review,.doc,.update{box-shadow:none !important}
.col,.month,.approve-block,.needs-block,.panel,.fx-table,.cal,.person,.poc,.decide,.edit-copy,.home-cal,.onb{border:1px solid var(--line) !important;background:#fff}
.approve-block::before{display:none}
.review,.card{background:transparent;border:0;border-top:1px solid var(--line2);border-radius:0;padding-left:0;padding-right:0}
.review-list .review:first-child,.list .card:first-child{border-top:0}
.review .thumb{background:#F4F4F1;border-radius:10px}
.filters a,.seg,.fx-jump a{box-shadow:none;border:1px solid var(--line)}
.tickbtn:hover,.tickbtn:focus-visible{background:#1C2127;border-color:#1C2127}
.fx-thread summary.has{background:#1C2127;border-color:#1C2127;color:#fff}
.fx-newtag,.nbadge{background:#1C2127;color:#fff}
.fx-sec.fx-new{border:1px solid var(--line)}
.person.is-main{border:1px solid #1C2127 !important}
.chip{font-weight:600}
.foot{background:transparent}
@media (max-width:640px){
  .arow{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}
  .arow .due{grid-column:1;grid-row:2;padding-left:66px}
  .arow .btn{grid-column:2;grid-row:1 / span 2;align-self:center}
  .arow-l{align-items:flex-start}
  .setup{border-radius:var(--r-sm);flex-wrap:wrap}
  .setup .bar{order:3;flex-basis:100%;max-width:none}
  .news-i summary{flex-direction:column;gap:2px}
  .greet2{font-size:30px}
  .lede{font-size:16.5px}
}
/* ===== v10: dropdowns in the white header ===== */
.mainnav{align-items:center}
.mainnav .navdrop{position:relative}
.mainnav .navdrop summary{color:#3A4148;font-size:14.5px;font-weight:500;padding:7px 12px;border-radius:999px;border:0;white-space:nowrap}
.mainnav .navdrop summary::after{border-color:currentColor;opacity:.6;width:5px;height:5px;margin:0 0 3px 7px}
.mainnav .navdrop summary:hover,.mainnav .navdrop[open] summary{background:var(--line2);color:#111}
.mainnav .navdrop summary[aria-current]{background:#F0F0ED;color:#111}
.mainnav .navmenu{top:calc(100% + 10px);left:50%;transform:translateX(-50%);min-width:210px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px;box-shadow:0 16px 40px rgba(20,24,28,.10)}
.mainnav .navmenu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.mainnav .navmenu a{display:flex;justify-content:space-between;align-items:center;color:#1C2127;padding:10px 12px;border-radius:10px;font-size:14.5px}
.mainnav .navmenu a:hover{background:var(--line2)}
.mainnav .navmenu a[aria-current]{background:#F0F0ED;font-weight:600}
.mnav nav{gap:2px}
.mnav .mgroup{font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;padding:12px 12px 4px}
.mnav nav a{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:10px}

/* ===== v10: spacing system (8px scale) ===== */
:root{--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px}
.wrap{padding-left:var(--s3);padding-right:var(--s3)}
.hdr-in{min-height:68px;gap:var(--s3)}
.main{padding-top:var(--s5);padding-bottom:var(--s6)}
.greet-row{margin-bottom:var(--s4)}
.greet2{margin-bottom:var(--s1)}
.setup{margin-bottom:var(--s4)}
.panel2{padding:var(--s3) 28px;margin-bottom:var(--s4)}
.two{gap:var(--s4)}
.two .panel2,.stack .panel2{margin-bottom:var(--s4)}
.stack{gap:0}
.p2-h{margin-bottom:var(--s2)}
.arow{padding:var(--s2) 0;gap:var(--s2) var(--s3)}
.row{padding:14px 0;gap:var(--s2)}
.row-b{gap:4px}
.row-t{line-height:1.35}
.meta{line-height:1.45}
.wk{gap:10px}
.wk-d{padding:12px 10px;gap:6px;min-height:104px}
.focus h3{margin:var(--s3) 0 6px}
.focus h3:first-of-type{margin-top:0}
.focus .prose{line-height:1.6}
.focus .meta{margin-top:var(--s3)}
.contact-h{margin-bottom:var(--s2)}
.contact .actions{margin-top:0}
.contact .meta{margin-top:var(--s2)}
.news-i{padding:var(--s2) 0}
.minor{margin:var(--s3) 0 var(--s1)}
.subnav{margin:0 0 var(--s4)}
.hello{margin-bottom:var(--s4)}
.hello p{margin-top:var(--s1)}
.actions{gap:10px;margin-top:var(--s2)}
h2.group{margin-top:var(--s5);margin-bottom:var(--s2)}
.fx-sec{margin:var(--s5) 0 var(--s2)}
.fx-row{padding:var(--s2) 18px}
.foot{padding:var(--s4) 0 var(--s5)}
.prose p{margin:0 0 .8em}
@media (max-width:640px){
  :root{--s3:18px;--s4:24px;--s5:32px;--s6:48px}
  .wrap{padding-left:16px;padding-right:16px}
  .panel2{padding:var(--s3) 18px}
  .main{padding-top:var(--s4)}
  .arow .due{padding-left:66px}
}
/* home: attention beside the month calendar */
@media(min-width:901px){.cal-row{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}
.home-cal{background:#fff;border:1px solid var(--line) !important;border-radius:var(--r);padding:var(--s3) 24px;margin-bottom:var(--s4)}
.hc-h h2{font-size:18px}
.hc-d.has{background:#F4F4F1}
.hc-d.today span{background:#1C2127}
.hc-key{display:flex;gap:16px;font-size:12.5px;color:var(--muted);margin:14px 0 0}
.hc-key .dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:1px}
.allclear .empty{margin:0}
/* attention list sits level with the calendar and scrolls inside if longer */
@media(min-width:901px){
  .cal-row{align-items:stretch}
  .cal-row>.panel2,.cal-row>.home-cal{margin-bottom:var(--s4)}
  .att-fit{display:flex;flex-direction:column;contain:size}
  .att-fit .att-list{flex:1 1 0;min-height:0;overflow-y:auto;margin-right:-10px;padding-right:10px;scrollbar-width:thin}
  .att-fit .att-list::-webkit-scrollbar{width:6px}.att-fit .att-list::-webkit-scrollbar-thumb{background:#D9D9D4;border-radius:6px}
  .cal-row>.allclear{height:auto}
}
/* search boxes */
.finder{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 16px;margin:0 0 var(--s3);max-width:520px;color:var(--muted)}
.finder input{border:0;outline:0;font:inherit;font-size:15px;padding:8px 0;flex:1;background:transparent;color:#1C2127;min-width:0}
.finder:focus-within{border-color:#1C2127}
.finder-n{font-size:13px;white-space:nowrap}
.f-empty{display:none !important}
[hidden]{display:none !important}
/* every two-column row on desktop: panels line up top and bottom */
@media(min-width:901px){
  .two{align-items:stretch}
  .two>.panel2{margin-bottom:var(--s4)}
  .two>.stack{display:flex;flex-direction:column;margin-bottom:var(--s4)}
  .two>.stack>.panel2{margin-bottom:var(--s4)}
  .two>.stack>.panel2:last-child{flex:1;margin-bottom:0}
}
@media(min-width:901px){.att-fit .att-list{-webkit-mask-image:linear-gradient(#000 calc(100% - 28px),transparent);mask-image:linear-gradient(#000 calc(100% - 28px),transparent);padding-bottom:20px}}
/* Latest from Zest: white with a Zest yellow accent */
.panel2.news{position:relative;overflow:hidden;padding-left:34px!important}
.panel2.news::before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:#FAE843}
.news h2{display:flex;align-items:center;gap:8px}
.news-logo{height:19px;width:auto;position:relative;top:1px}
@media(max-width:640px){.panel2.news{padding-left:24px!important}.panel2.news::before{width:6px}}
/* ===== v17 refinements: approvals as the focal point, real previews, calmer details ===== */
:root{--muted:#50575D}
/* shared grid: wide left column, narrower right, same on every row */
@media(min-width:901px){
  .two,.two.even,.cal-row{grid-template-columns:minmax(0,1.85fr) minmax(320px,1fr)}
}
/* approval rows: preview, title, one meta line, aligned button */
.arow{grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important;padding:16px 0!important}
.arow-l{gap:16px;align-items:center}
.att .thumb2{width:72px;height:72px;border-radius:12px;border:1px solid var(--line)}
.thumb2.vid{position:relative;overflow:hidden;display:block;background:#111}
.thumb2.vid video{width:100%;height:100%;object-fit:cover;display:block}
.thumb2.vid i{position:absolute;inset:0;margin:auto;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.92)}
.thumb2.vid i::after{content:"";position:absolute;left:9px;top:7px;border-left:8px solid #1C2127;border-top:5px solid transparent;border-bottom:5px solid transparent}
.arow .row-t{font-size:16.5px;font-weight:500;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.arow .meta{display:block;margin-top:4px;font-size:14.5px}
.arow .meta .due{font-weight:500;padding:0!important}
.arow .btn{min-width:92px;justify-content:center}
@media(max-width:640px){
  .arow{grid-template-columns:minmax(0,1fr)!important}
  .arow .btn{grid-column:1!important;grid-row:auto!important;justify-self:start;margin-left:88px}
  .att .thumb2{width:60px;height:60px}
  .arow .btn{margin-left:76px}
}
/* supporting text: darker and a touch larger */
.row .meta,.meta{font-size:14.5px}
.p2-h a.small,.p2-h .small a{font-size:14.5px;color:var(--muted)}
.label{display:block;font-size:14px;color:var(--muted);margin-bottom:1px}
/* account lead with a real face */
.avatar.lg{width:64px;height:64px;font-size:20px}
.avatar.photo{object-fit:cover;padding:0;border:0;background:#EEE}
.contact-h{gap:16px}
.contact-h strong{font-size:17px}
.contact .actions .btn{min-width:0}
/* Latest from Zest with a picture of the work */
.news-b{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
.news-i.has-img .news-b{grid-template-columns:minmax(0,1fr) minmax(220px,340px)}
.news-img{display:block;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 6px 20px rgba(16,24,32,.07);margin-top:8px}
.news-img img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top}
.news-link{margin:14px 0 0}
@media(max-width:700px){.news-i.has-img .news-b{grid-template-columns:1fr}}
/* type scale: page title, section heading, body */
.p2-h h2,.hc-h h2,.panel2 h2{font-size:19px;font-weight:500;letter-spacing:-.01em}
.focus h3{font-size:15px;font-weight:600;margin:18px 0 4px}
/* less empty space before the footer */
.main{padding-bottom:var(--s4)!important}
.foot{padding:var(--s3) 0 var(--s4)!important}
.panel2.contact{display:flex;flex-direction:column}
.contact-about{margin:16px 0 0;color:var(--ink)}
.contact-f{margin-top:auto;padding-top:18px;border-top:1px solid var(--line2);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.contact .actions + .contact-f,.contact-about + .contact-f{margin-top:auto}
.panel2.contact>.actions{margin-bottom:18px}
.contact-b{display:flex;align-items:center;gap:10px;font-size:15px}
.contact-b .label{font-size:13px;margin:0}
.contact-f a.small{color:var(--muted);font-size:14.5px}
.avatar.sm{width:36px;height:36px;font-size:13px}
/* ===== Zest side ===== */
.zhdr .brand img{height:24px;width:auto}
.greet-row{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:var(--s4)}
.count{display:inline-block;min-width:22px;padding:1px 7px;margin-left:6px;border-radius:999px;background:#F1F1EE;font-size:13px;font-weight:500;vertical-align:2px;text-align:center}
.wl{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 14px;align-items:center;padding:12px 0;border-top:1px solid var(--line2);text-decoration:none;color:inherit}
.p2-h + .wl{border-top:0}
.wl:hover .wl-t{text-decoration:underline;text-underline-offset:3px}
.wl-c{font-size:12.5px;font-weight:500;padding:3px 9px;border-radius:999px;background:#F1F1EE;white-space:nowrap}
.wl-b{min-width:0}.wl-t{display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wl-m{display:block;font-size:14px;color:var(--muted);margin-top:2px}
.wl-d{font-size:14px;white-space:nowrap;color:var(--muted)}
.wl.late .wl-d{color:#B42318;font-weight:500}
.panel2.is-late{box-shadow:inset 4px 0 0 #E5484D}
.team-load{display:flex;flex-direction:column}
.tl{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line2);text-decoration:none;color:inherit}
.tl:first-child{border-top:0}.tl-n{font-weight:500}.tl-s{font-size:14px;color:var(--muted)}.tl-s em{color:#B42318;font-style:normal;font-weight:500}
.tl-warn{margin:12px 0 0;padding:10px 12px;background:#FFF7E0;border-radius:10px;color:#6B4E00}
.tbl-wrap{overflow-x:auto}
table.health{width:100%;border-collapse:collapse;font-size:15px}
.health th{text-align:left;font-weight:500;font-size:13.5px;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line)}
.health td{padding:12px 10px;border-bottom:1px solid var(--line2);white-space:nowrap}
.health tr:last-child td{border-bottom:0}
.health .acts a{margin-right:10px;font-size:14px}
.hc-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}
.amber{color:#9A6700;font-weight:500}.ok{color:#1A7F37}.muted{color:var(--muted)}
.who-pick select,.board-h select{font:inherit;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff}
/* board */
.board-h{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.board-h .actions{display:flex;gap:10px;align-items:center}
.board{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:14px;overflow-x:auto;padding-bottom:12px;margin-top:var(--s3)}
.bcol{background:#F3F3F0;border-radius:16px;padding:12px;min-height:200px}
.bcol h2{font-size:15px;font-weight:500;margin:4px 6px 12px;display:flex;align-items:center}
.bcol-client h2::before,.bcol-doing h2::before,.bcol-planned h2::before,.bcol-ready h2::before,.bcol-done h2::before{content:"";width:8px;height:8px;border-radius:50%;margin-right:8px;background:#9AA0A6}
.bcol-doing h2::before{background:#2F6FDF}.bcol-client h2::before{background:#E8A317}.bcol-ready h2::before{background:#1A7F37}.bcol-done h2::before{background:#C4C7C5}
.bcard{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px;text-decoration:none;color:inherit;transition:box-shadow .15s}
.bcard:hover{box-shadow:0 4px 14px rgba(16,24,32,.08)}
.bcard.late{border-color:#F3B6B6}
.bcard.task{border-left:4px solid #FAE843}
.bc-sec{font-size:12.5px;color:var(--muted)}
.bc-t{font-weight:500;line-height:1.35}
.bc-f{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted)}
.bcard.late .bc-f span:last-child{color:#B42318;font-weight:500}
.bc-none{color:#9A6700}.bc-n{font-size:12.5px;color:var(--muted)}
.avatar.xs{width:24px;height:24px;font-size:10.5px}
.bempty{font-size:14px;color:var(--muted);margin:6px}
.bcol-done .bcard{opacity:.7}
/* notes on items */
.znotes{margin-top:var(--s5);padding:20px 22px;border-radius:16px;background:#FFFBE0;border:1px solid #F2E27A}
.znotes .p2-h{margin-bottom:10px}
.zfacts{display:flex;gap:18px;flex-wrap:wrap;font-size:14.5px;margin-bottom:12px}
.znote{padding:10px 0;border-top:1px solid rgba(12,41,8,.1)}
.znote-f{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin-top:10px}
.znote-f label{flex:1;min-width:180px}
fieldset.scope{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:6px 0 14px}
.scope-g{display:grid;grid-template-columns:1fr 1fr;gap:16px}.scope-g .tick{display:block}
@media(max-width:640px){.wl{grid-template-columns:minmax(0,1fr) auto}.wl-c{grid-column:1 / -1;justify-self:start}.scope-g{grid-template-columns:1fr}}
.p2-h h2 .count,.bcol h2 .count{color:#1C2127;background:#EDEDE9}
.zhdr .hdr-r{display:flex;align-items:center;gap:14px;margin-left:auto}
.zhdr .switch select{font:inherit;font-size:14.5px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:#fff}
.zhdr .hdr-r a.small{color:var(--muted)}
.act{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line2)}
.p2-h + .act{border-top:0}
.act-t{font-size:15px}.act-t a{color:inherit;text-decoration:none}.act-t a:hover{text-decoration:underline}
.tl-n{display:flex;flex-direction:column}.tl-n .tl-s{font-weight:400}
.tl{grid-template-columns:auto minmax(0,1fr)}
@media(max-width:640px){.act{grid-template-columns:minmax(0,1fr) auto}.act .wl-c{grid-column:1/-1;justify-self:start}}
.board{grid-template-columns:repeat(5,minmax(190px,1fr))}
.bcard.onb{text-align:left}.bcard.onb .bbar{display:block;height:6px;border-radius:6px;background:#EDEDE9;overflow:hidden}
.bcard.onb .bbar span{display:block;height:100%;background:#1C2127}
@media(max-width:900px){
  .zhdr .hdr-in{flex-wrap:wrap;row-gap:8px}
  .zhdr .mainnav{display:flex!important;order:3;width:100%;overflow-x:auto;gap:4px}
  .zhdr .switch,.zhdr .hdr-r a.small,.zhdr .withzest{display:none}
  .zhdr .hdr-r .btn{white-space:nowrap}
  .p2-h{flex-wrap:wrap;gap:4px 12px}
}
/* ===== v19: nicer dropdowns ===== */
.mainnav .navdrop summary{display:inline-flex;align-items:center;gap:6px;line-height:1.2}
.mainnav .navdrop summary::after{content:"";width:6px;height:6px;margin:0;border:0;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.55;transition:transform .2s ease}
.mainnav .navdrop[open] summary::after{transform:translateY(1px) rotate(-135deg);margin:0}
.mainnav .navdrop summary .nbadge{margin:0}
.mainnav .navmenu{min-width:300px;padding:8px;border-radius:18px;border:1px solid rgba(20,24,28,.07);box-shadow:0 1px 2px rgba(20,24,28,.04),0 18px 48px -8px rgba(20,24,28,.18);gap:2px}
.mainnav .navdrop[open] .navmenu{animation:navIn .16s ease-out}
@keyframes navIn{from{opacity:0;transform:translate(-50%,-4px)}to{opacity:1;transform:translate(-50%,0)}}
.mainnav .navmenu a{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:10px 12px;border-radius:12px;text-decoration:none}
.nm-i{flex:none;width:36px;height:36px;border-radius:10px;background:#F4F4F1;display:flex;align-items:center;justify-content:center;color:#3A4148;transition:background .15s,color .15s}
.mainnav .navmenu a:hover .nm-i,.mainnav .navmenu a[aria-current] .nm-i{background:var(--primary,#1C2127);color:#fff}
.nm-t{display:flex;flex-direction:column;min-width:0}
.nm-l{display:flex;align-items:center;gap:8px;font-weight:500;font-size:14.5px;color:#1C2127}
.nm-d{font-size:13px;color:var(--muted);font-weight:400;margin-top:1px}
.mainnav .navmenu a[aria-current]{font-weight:inherit}
@media (prefers-reduced-motion:reduce){.mainnav .navdrop[open] .navmenu{animation:none}}
/* calendar toolbar: more breathing room */
.cal-bar{margin:var(--s2) 0 var(--s3);gap:16px 24px}
.cal-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 var(--s4)}
.cal-filters a{padding:8px 16px}
.seg{padding:4px;gap:4px;background:#fff;border:1px solid var(--line)!important;border-radius:999px}
.seg a{padding:7px 18px;border-radius:999px}
.cal-nav{display:flex;align-items:center;gap:14px}
/* ===== v21: settings, roles, search, account ===== */
.zbar .wrap{display:flex;align-items:center}
.zbar-home{display:flex;align-items:center}
.zbar-r{margin-left:auto;display:flex;align-items:center;gap:12px}
.zbar .switch select{border-radius:999px;padding:5px 12px}
.zbar-me{opacity:.9}
.zhdr .brand{display:flex;align-items:center}
.topsearch{display:flex;align-items:center;gap:8px;background:#F4F4F1;border:1px solid transparent;border-radius:999px;padding:0 14px;height:38px;color:var(--muted);transition:background .15s,border-color .15s}
.topsearch:focus-within{background:#fff;border-color:var(--line)}
.topsearch input{border:0;background:transparent;font:inherit;font-size:14.5px;width:170px;outline:none;color:var(--ink)}
@media(max-width:1100px){.topsearch input{width:110px}}
@media(max-width:900px){.hdr .topsearch{display:none}}
.acct summary{list-style:none;cursor:pointer;display:flex}
.acct summary::-webkit-details-marker{display:none}
.acct{position:relative}
.acct-m{position:absolute;right:0;top:calc(100% + 10px);z-index:30;min-width:240px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 48px -8px rgba(20,24,28,.18);padding:8px;display:flex;flex-direction:column}
.acct-who{padding:8px 10px 10px;border-bottom:1px solid var(--line2);margin-bottom:6px;display:flex;flex-direction:column}
.acct-m a{padding:9px 10px;border-radius:10px;text-decoration:none;color:var(--ink);font-size:14.5px}
.acct-m a:hover{background:var(--line2)}
.acct-m .acct-out{color:#B42318}
.set-wrap{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--s5);align-items:start}
.set-side{position:sticky;top:20px;display:flex;flex-direction:column;gap:2px}
.set-h{font-size:13px;color:var(--muted);padding:0 12px 8px}
.set-side a{padding:9px 12px;border-radius:10px;text-decoration:none;color:var(--ink);font-size:15px}
.set-side a:hover{background:var(--line2)}
.set-side a[aria-current]{background:#fff;border:1px solid var(--line);font-weight:500}
.set-main h1{margin-top:0}
.set-main .lede{margin-bottom:var(--s4)}
.set-sub{font-size:19px;font-weight:500;margin:var(--s5) 0 var(--s2)}
.set-title{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:var(--s2)}
.set-title h1{margin:0}
@media(max-width:900px){.set-wrap{grid-template-columns:1fr;gap:var(--s3)}.set-side{position:static;flex-direction:row;overflow-x:auto}.set-h{display:none}.set-side a{white-space:nowrap}}
.ctabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);margin:var(--s3) 0 var(--s3)}
.ctabs a{padding:10px 14px;text-decoration:none;color:var(--muted);font-size:14.5px;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}
.ctabs a[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink);font-weight:500}
.save-bar{display:flex;align-items:center;gap:14px;margin:0 0 var(--s4)}
.role{display:inline-block;font-size:12.5px;font-weight:500;padding:3px 10px;border-radius:999px;background:#F1F1EE;color:#3A4148;white-space:nowrap}
.r-admin{background:#1C2127;color:#fff}.r-approver{background:#E6F4EA;color:#1A7F37}.r-team{background:#EAF0FB;color:#1F4FB0}
.r-limited{background:#FFF4D6;color:#8A5A00}.r-viewer{background:#F1F1EE;color:#6B7278}.r-pending{background:#FFF4D6;color:#8A5A00}.r-ok{background:#E6F4EA;color:#1A7F37}
.roles-key{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:0 0 var(--s4)}
.roles-key>div{display:flex;flex-direction:column;gap:6px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.small-key{margin:var(--s3) 0 0}.small-key>div{background:var(--canvas)}
.person-set .ps-h{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}
.person-set .ps-h strong{display:block}
.person-set select,.lacts select,.req-row select,.filters2 select,.lrow select{font:inherit;font-size:14px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:#fff}
.person-set .scope-box{margin-top:14px}.ps-f{margin-top:12px;display:flex;justify-content:flex-end}
.lrow{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center}
.lacts{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.lrow.pending{opacity:.8}
.danger-t{color:#B42318!important}
.filters2{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 var(--s2)}
.filters2 .finder{margin:0;flex:1;min-width:200px}
.req-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line2)}
.p2-h + .req-row{border-top:0}.rr-b strong{display:block}
.invite-box{border-color:#B7E1C1!important;background:#F4FBF6}
.switch-row{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line2);cursor:pointer}
.p2-h + .switch-row,.switch-row:first-child{border-top:0}
.switch-row input{margin-top:4px;width:18px;height:18px;accent-color:#1C2127;flex:none}
.switch-row strong{display:block;font-weight:500}.switch-row .small{display:block}
.acc-wrap{max-width:760px}
.acc-wrap .panel2{margin-bottom:var(--s3)}
.setup-me{display:flex;gap:18px;align-items:center;margin-bottom:12px}
.qr-row{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:12px 0}
.qr{width:180px;height:180px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px}
.qr svg{width:100%;height:100%}
code.key{display:inline-block;font-size:16px;letter-spacing:.06em;background:#F4F4F1;padding:8px 12px;border-radius:10px}
.inline-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.inline-form label{max-width:260px}
.backup-codes{background:#FFFBE0;border:1px solid #F2E27A;border-radius:14px;padding:14px 16px;margin-bottom:14px}
.codes{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin:10px 0}
.codes code{background:#fff;border-radius:8px;padding:6px 10px;text-align:center;font-size:15px}
.search-page{max-width:880px}
.bigsearch{display:flex;gap:10px;margin:0 0 var(--s4);flex-wrap:wrap}
.bigsearch input{flex:1;min-width:220px;font:inherit;font-size:17px;padding:12px 18px;border:1px solid var(--line);border-radius:999px;background:#fff}
.claude-ans{border-left:4px solid #FAE843}
.claude-ans .prose a{word-break:break-all}
@media(max-width:640px){.lrow{grid-template-columns:auto minmax(0,1fr)}.lrow .role,.lacts,.lrow form{grid-column:2}.req-row{grid-template-columns:1fr}.person-set .ps-h{grid-template-columns:auto 1fr}.person-set .ps-h select{grid-column:1/-1}}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
@media(max-width:640px){.grid2{grid-template-columns:1fr}}
.form .btn,.form button.btn{align-self:flex-start;width:auto}
.form label.switch-row{flex-direction:row;font-weight:400}
.form label.tick{flex-direction:row}
.date-rows{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.date-row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:10px}
@media(max-width:640px){.date-row{grid-template-columns:1fr}}
.hdr-r .btn{white-space:nowrap}
.hdr:not(.zhdr) .topsearch input{width:120px}
@media(max-width:1200px){.hdr:not(.zhdr) .topsearch{width:40px;padding:0 12px;overflow:hidden}.hdr:not(.zhdr) .topsearch:focus-within{width:auto}}
.zbar .topsearch{background:rgba(255,255,255,.12);height:32px;color:rgba(255,255,255,.8)}
.zbar .topsearch input{color:#fff;width:150px}.zbar .topsearch input::placeholder{color:rgba(255,255,255,.7)}
.zbar .topsearch:focus-within{background:#fff;color:var(--muted)}.zbar .topsearch:focus-within input{color:var(--ink)}
.panel2 > .lrow:first-child,.panel2 > .p2-h + .lrow{border-top:0}
.form.inline-form{flex-direction:column;align-items:flex-start;gap:10px}.form.inline-form label{width:100%;max-width:260px;margin:0}
.ptitle{display:block;font-size:14.5px;color:var(--muted);line-height:1.35;margin-top:2px}
.people{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.person-h>div{min-width:0}
.row.compact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:baseline}
.row.compact .meta{white-space:nowrap}
.zest-nudge{background:#FFFBE0;border:1px solid #F2E27A;border-radius:14px;padding:12px 16px;margin:0 0 var(--s4);font-size:15px}
@media(min-width:901px){.side-pair{grid-template-columns:1fr 1fr}.side-pair>.panel2{margin-bottom:var(--s4)}}
.poc .eyebrow{text-transform:none;letter-spacing:0;font-size:14.5px;font-weight:400;color:var(--muted);opacity:1}
.contact-about{margin-bottom:18px}
/* account lead on its own: one slim row, not a big card */
.contact-slim .panel2.contact{flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px 28px;padding:18px 24px}
.contact-slim .contact-h{margin:0}
.contact-slim .avatar.lg{width:52px;height:52px}
.contact-slim .panel2.contact>.actions{margin:0}
.contact-slim .contact-about{margin:0;flex:1;min-width:220px;color:var(--muted);font-size:15px}
.contact-slim .contact-f{margin:0;padding:0;border:0;gap:18px}
/* ===== v25: calmer Zest strip ===== */
.zbar .wrap{padding-top:6px!important;padding-bottom:6px!important;gap:6px!important;min-height:44px}
.zbar a{font-size:14px;padding:5px 10px;border-radius:999px;opacity:.85}
.zbar a:hover{opacity:1;background:rgba(255,255,255,.1);text-decoration:none}
.zbar-home{padding:4px 10px 4px 0!important;opacity:1!important}.zbar-home:hover{background:none!important}
.zbar-logo{height:17px}
.zbar-r{gap:6px}
.zbar .switch select{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.22);font-size:14px;padding:4px 28px 4px 12px;border-radius:999px;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;cursor:pointer}
.zbar .switch select option{color:#1C2127}
.zbar .cv-btn{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.22);font-weight:400}
.zbar .cv-btn.on{background:#FAE843!important;color:#0C2908!important;border-color:#FAE843}
.zbar-ico{display:flex;align-items:center;padding:6px!important}
.zbar .acct .avatar{width:28px;height:28px;font-size:11px;background:#fff;color:#0C2908}
.zbar .acct summary{padding:0 0 0 4px}
.zbar .acct-m a{opacity:1;color:var(--ink);font-size:14.5px;border-radius:10px;padding:9px 10px}
.zbar .acct-m a:hover{background:var(--line2)}
.zbar .acct-m .acct-out{color:#B42318}
.zbar .acct-m{color:var(--ink)}
@media(max-width:700px){.zbar .switch{display:none}}
.zbar{position:relative;z-index:60}.zbar .acct-m{z-index:61}
.zbar .acct-who strong{color:var(--ink)!important}.zbar .acct-who .small{color:var(--muted)}
/* client picker */
.cswitch{position:relative}
.cswitch summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;padding:5px 12px;border-radius:999px;border:1px solid var(--line);white-space:nowrap}
.cswitch summary::-webkit-details-marker{display:none}
.cswitch summary::after{content:"";width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.7;margin-left:2px}
.cswitch[open] summary::after{transform:translateY(1px) rotate(-135deg)}
.cs-dot{width:9px;height:9px;border-radius:50%;display:inline-block;box-shadow:0 0 0 1.5px rgba(255,255,255,.6)}
.cs-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:61;width:290px;background:#fff;border:1px solid rgba(20,24,28,.07);border-radius:18px;box-shadow:0 18px 48px -8px rgba(20,24,28,.22);padding:8px;display:flex;flex-direction:column;color:var(--ink);animation:navIn2 .15s ease-out}
@keyframes navIn2{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.cs-h{font-size:13px;color:var(--muted);padding:6px 10px 6px}
.cs-menu a{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:12px;text-decoration:none;color:var(--ink)!important;font-size:14.5px;opacity:1!important}
.cs-menu a:hover,.cs-menu a[aria-current]{background:var(--line2)!important}
.cs-menu a span:nth-child(2){flex:1}
.cs-logo{width:40px;height:28px;border-radius:8px;background:#F4F4F1;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none}
.cs-logo img{max-width:34px;max-height:22px;object-fit:contain}
.cs-logo b{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11.5px;font-weight:600}
.cs-menu .cs-all{border-top:1px solid var(--line2);border-radius:0 0 10px 10px;margin-top:4px;padding-top:12px;color:var(--muted)!important;font-size:14px}
.zbar .cswitch summary{color:#fff;border-color:rgba(255,255,255,.22)}
.zbar .cswitch summary:hover{background:rgba(255,255,255,.08)}
.zhdr .cswitch summary{background:#fff;height:38px;padding:0 14px}
@media(max-width:700px){.zbar .cswitch{display:none}}
/* ===== first-time setup ===== */
.setup-page{display:grid;grid-template-columns:320px minmax(0,1fr);gap:32px;max-width:1240px;margin:0 auto;padding:32px 24px 64px;min-height:calc(100vh - 44px);
  background:radial-gradient(1200px 500px at 85% -10%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 60%),radial-gradient(900px 500px at -10% 110%,color-mix(in srgb,var(--primary) 10%,transparent),transparent 60%)}
body:has(.setup-page){background:#FAFAF8}
.setup-rail{position:sticky;top:24px;align-self:start;background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 1px 2px rgba(16,24,32,.04),0 12px 40px -12px rgba(16,24,32,.12)}
.sr-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.sr-brand>img{max-height:36px;max-width:150px}
.sr-prog{height:6px;border-radius:6px;background:#F0F0ED;overflow:hidden;margin-bottom:18px}
.sr-prog span{display:block;height:100%;background:var(--primary);border-radius:6px;transition:width .4s}
.sr-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.sr-steps a{display:flex;gap:12px;align-items:center;padding:9px 10px;border-radius:14px;text-decoration:none;color:var(--ink)}
.sr-steps a:hover{background:var(--line2)}
.sr-steps strong{display:block;font-size:14.5px;font-weight:500}.sr-steps small{display:block;font-size:12.5px;color:var(--muted)}
.sr-n{flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;background:#F0F0ED;color:#6B7278}
.sr-steps li.now a{background:color-mix(in srgb,var(--primary) 7%,#fff)}
.sr-steps li.now .sr-n{background:var(--primary);color:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 18%,transparent)}
.sr-steps li.done .sr-n{background:#E6F4EA;color:#1A7F37}
.sr-help{font-size:13.5px;color:var(--muted);margin:18px 4px 0}
.setup-main{min-width:0}
.setup-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:44px 48px;box-shadow:0 1px 2px rgba(16,24,32,.04),0 24px 60px -20px rgba(16,24,32,.16);max-width:820px}
.setup-step{display:inline-block;font-size:13px;font-weight:500;padding:4px 12px;border-radius:999px;background:color-mix(in srgb,var(--primary) 8%,#fff);color:var(--primary);margin-bottom:14px}
.setup-h{font-family:var(--display,"Geist"),sans-serif;font-size:clamp(28px,3.4vw,40px);font-weight:500;letter-spacing:-.02em;line-height:1.12;margin:0 0 14px}
.setup-lede{font-size:18px;line-height:1.6;color:#3A4148;max-width:640px;margin:0 0 22px}
.setup-why{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:8px 0 26px}
.setup-why>div{background:#FAFAF8;border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:6px}
.setup-why strong{font-size:15.5px;font-weight:500}.setup-why span:last-child{font-size:14px;color:var(--muted);line-height:1.45}
.sw-i{width:30px;height:30px;border-radius:10px;background:#FAE843;color:#0C2908;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;margin-bottom:4px}
.setup-lead{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:18px;background:color-mix(in srgb,var(--primary) 5%,#fff);margin:0 0 16px;max-width:420px}
.setup-lead strong{display:block}
.setup-form{max-width:none!important}
.setup-form label{font-weight:500}
.setup-form textarea,.setup-form input:not([type=checkbox]):not([type=radio]):not([type=file]),.setup-form select{border-radius:14px;padding:12px 14px;background:#FCFCFB}
.setup-sub{font-size:18px;font-weight:500;margin:26px 0 4px}
.team-rows{display:flex;flex-direction:column;gap:10px;margin:12px 0}
.team-row{display:grid;grid-template-columns:1.1fr 1fr 1.3fr auto;gap:10px;align-items:center}
.access{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 18px}
.acc{border:1px solid var(--line);border-radius:18px;padding:14px 16px;margin:0;background:#FCFCFB}
.acc legend{font-weight:500;padding:0 4px}
.acc-opts{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.setup-form label.pill{flex-direction:row;display:inline-flex;align-items:center;gap:6px;font-weight:400;font-size:13.5px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;cursor:pointer}
.pill:has(input:checked){background:var(--primary);color:#fff;border-color:var(--primary)}
.pill input{position:absolute;opacity:0;width:0;height:0}
.howto summary{font-size:13.5px;cursor:pointer;color:var(--muted)}
.howto .prose{font-size:14px;margin-top:6px}
.setup-btns{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line2)}
.setup-later{display:flex;align-items:center;gap:18px}
.linkish{background:none;border:0;font:inherit;font-size:14.5px;color:var(--muted);text-decoration:underline;cursor:pointer;padding:0}
.setup-btns .btn{padding:12px 24px}
.preview-note{background:#FFFBE0;border:1px solid #F2E27A;border-radius:14px;padding:10px 16px;margin:0 0 16px;font-size:14.5px;max-width:820px}
.profile .prof-sec{border-top:1px solid var(--line2);padding:14px 0}
.profile dl{display:grid;grid-template-columns:180px minmax(0,1fr);gap:6px 16px;margin:8px 0 0}
.profile dt{color:var(--muted);font-size:14px}.profile dd{margin:0}
@media(max-width:960px){.setup-page{grid-template-columns:1fr;padding:16px}.setup-rail{position:static}.sr-steps{flex-direction:row;overflow-x:auto}.sr-steps small,.sr-steps strong{display:none}.setup-card{padding:28px 22px;border-radius:22px}.setup-why,.access{grid-template-columns:1fr}.team-row{grid-template-columns:1fr 1fr}.profile dl{grid-template-columns:1fr}}
.setup-page{background:none}
body:has(.setup-page){background:radial-gradient(1200px 520px at 90% -10%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 60%),radial-gradient(900px 520px at -10% 110%,color-mix(in srgb,var(--primary) 9%,transparent),transparent 60%),#FAFAF8;background-attachment:fixed}
/* ===== setup v2: stepper look ===== */
.setup-rail{background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 7%,#fff) 0%,#fff 55%);padding:28px 26px;display:flex;flex-direction:column;min-height:640px}
.sr-brand{margin-bottom:34px}
.stepper{list-style:none;margin:0;padding:0;flex:1}
.stepper li{position:relative;padding-bottom:10px}
.stepper li:not(:last-child)::before{content:"";position:absolute;left:17px;top:40px;bottom:-2px;width:2px;background:#E4E4E0;border-radius:2px}
.stepper li.done:not(:last-child)::before{background:#22A45D}
.stepper a{display:flex;gap:14px;align-items:flex-start;text-decoration:none;color:var(--ink);padding:2px 0 8px}
.st-dot{flex:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #DADAD5;background:#fff;color:#fff;position:relative;z-index:1}
.stepper li.done .st-dot{background:#22A45D;border-color:#22A45D}
.stepper li.now .st-dot{background:var(--primary);border-color:var(--primary);box-shadow:0 0 0 5px color-mix(in srgb,var(--primary) 16%,transparent);color:#fff}
.stepper li.now .st-dot .s-ico{background:none;color:#fff;width:auto;height:auto}
.st-t{display:flex;flex-direction:column;gap:1px;padding-top:1px}
.st-t small{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#8A9096;font-weight:600}
.st-t strong{font-size:15.5px;font-weight:600}
.stepper li.todo .st-t strong{color:#9AA0A6;font-weight:500}
.st-pill{align-self:flex-start;font-style:normal;font-size:11.5px;font-weight:500;padding:2px 9px;border-radius:999px;margin-top:4px}
.st-pill.done{background:#E6F4EA;color:#1A7F37}.st-pill.now{background:color-mix(in srgb,var(--primary) 10%,#fff);color:var(--primary)}
.st-help{display:flex;align-items:center;gap:12px;margin-top:18px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;text-decoration:none;color:var(--ink)}
.st-help:hover{border-color:#cfcfca}
.st-q{width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--primary) 8%,#fff);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:600}
.st-help small{display:block;font-size:12.5px;color:var(--muted)}.st-help strong{font-weight:600;font-size:14.5px}
.st-skip{font-size:13.5px;color:var(--muted);margin:12px 4px 0}
.setup-card{padding:0;overflow:hidden}
.sc-head{display:flex;align-items:center;gap:14px;padding:22px 40px 18px}
.sc-head strong{display:block;font-size:16px;font-weight:600}
.sc-step{display:block;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#8A9096;font-weight:600}
.s-ico{width:44px;height:44px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.sc-line{height:3px;background:#F0F0ED}
.sc-line span{display:block;height:100%;background:var(--primary);transition:width .4s}
.sc-body{padding:36px 48px 40px}
.setup-step{display:none}
.setup-btns .btn.ghost{background:#fff}
@media(max-width:960px){.setup-rail{min-height:0}.stepper{display:flex;overflow-x:auto;gap:4px}.stepper li::before{display:none}.st-t{display:none}.sc-head{padding:18px 22px}.sc-body{padding:24px 22px 28px}.st-help,.st-skip{display:none}}
html:has(.setup-page),body:has(.setup-page){min-height:100%}body:has(.setup-page){background-attachment:scroll;background-size:100% 100%}
/* ===== Zest app shell: icon rail + bento home ===== */
body.zest{background:#F3F4F1}
.zapp{display:grid;grid-template-columns:92px minmax(0,1fr);min-height:100vh}
.zrail{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 0;background:#0C2908;border-radius:0 28px 28px 0}
.zr-logo{width:48px;height:48px;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.zr-logo img{width:30px;height:30px}
.zr-i{position:relative;width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.72);transition:background .15s,color .15s}
.zr-i:hover{background:rgba(255,255,255,.1);color:#fff}
.zr-i.on{background:#FAE843;color:#0C2908}
.zr-tip{position:absolute;left:60px;top:50%;transform:translateY(-50%);background:#1C2127;color:#fff;font-size:13px;padding:5px 10px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s}
.zr-i:hover .zr-tip{opacity:1}
.zapp-main{min-width:0;padding:0 36px 48px}
.zbar2{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0 10px}
.zb2-t{font-size:14.5px;color:var(--muted)}
.zbar2 .hdr-r{display:flex;align-items:center;gap:12px}
.zbar2 .topsearch{background:#fff;border-color:var(--line)}
.zbar2 .cswitch summary{background:#fff;height:38px;padding:0 14px}
.zmain{max-width:1320px}
.zmain .greet-row,.zmain .set-wrap{margin-top:12px}
.zh-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr);gap:28px;align-items:center;margin:14px 0 28px}
.zh-date{display:inline-block;font-size:13px;font-weight:500;padding:4px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);margin-bottom:14px}
.zh-hello h1{font-size:clamp(32px,3.6vw,46px);line-height:1.08;letter-spacing:-.025em;font-weight:500;margin:0 0 12px}
.zh-hello h1 span{color:#8A9096}
.zh-hello p{font-size:16.5px;color:var(--muted);margin:0}.zh-hello p b{color:#B42318}
.zh-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.zh-tile{background:#fff;border-radius:26px;padding:18px;text-decoration:none;color:var(--ink);box-shadow:0 1px 2px rgba(16,24,32,.04),0 16px 40px -18px rgba(16,24,32,.18);display:flex;flex-direction:column;gap:4px;transition:transform .2s,box-shadow .2s}
.zh-tile:hover{transform:translateY(-3px);box-shadow:0 1px 2px rgba(16,24,32,.04),0 24px 50px -18px rgba(16,24,32,.26)}
.zt-art{position:relative;height:104px;border-radius:18px;background:var(--t);display:flex;align-items:center;justify-content:center;margin-bottom:12px;overflow:hidden;color:#0C2908}
.zt-art svg{position:relative;z-index:1;width:40px;height:40px;background:#fff;border-radius:14px;padding:8px;box-shadow:0 8px 20px -8px rgba(12,41,8,.35)}
.zt-art i{position:absolute;border-radius:50%;background:rgba(255,255,255,.45)}
.zt-art i:nth-of-type(1){width:90px;height:90px;right:-24px;top:-30px}
.zt-art i:nth-of-type(2){width:46px;height:46px;left:14px;bottom:-14px;background:rgba(12,41,8,.08)}
.zh-tile strong{font-size:16px;font-weight:600}.zh-tile small{font-size:13.5px;color:var(--muted)}
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;grid-template-areas:"n n n n n w w w w c c c" "r r r r r r t t t c c c" "f f f f a a a a a a a a"}
.bx{background:#fff;border-radius:26px;padding:22px 24px;box-shadow:0 1px 2px rgba(16,24,32,.04),0 16px 40px -22px rgba(16,24,32,.16);min-width:0}
.bx-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.bx-h h2{font-size:18px;font-weight:600;margin:0;letter-spacing:-.01em}
.bx-h a.small{color:var(--muted)}
.b-nudge{grid-area:n}.b-week{grid-area:w}.b-cal{grid-area:c}.b-rings{grid-area:r}.b-team{grid-area:t}.b-feat{grid-area:f}.b-act{grid-area:a}
.nudge{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px 0;border-top:1px solid var(--line2)}
.bx-h + .nudge{border-top:0}
.nd-days{width:52px;height:52px;border-radius:16px;background:#F4F4F1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;color:var(--muted);line-height:1.1}
.nd-days b{font-size:18px;color:var(--ink)}
.nd-days.old{background:#FFF1E6}.nd-days.old b{color:#B45309}
.nd-b{display:flex;flex-direction:column;gap:4px;min-width:0}.nd-b .wl-c{align-self:flex-start}
.nd-b strong{font-weight:500;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nudge .btn{display:inline-flex;align-items:center;gap:6px}
.dw{display:grid;grid-template-columns:minmax(0,1fr) 70px auto;gap:12px;align-items:center;padding:10px 12px;margin:0 -12px;border-radius:14px;text-decoration:none;color:inherit}
.dw:hover{background:#FAFAF8}
.dw-b strong{display:block;font-weight:500;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dw-b small{font-size:12.5px;color:var(--muted)}
.dw-bar{display:block;height:6px;border-radius:6px;background:#EFEFEB;overflow:hidden}.dw-bar i{display:block;height:100%;background:#0C2908;border-radius:6px}
.dw-d{font-size:13px;color:var(--muted);white-space:nowrap}.dw-d.late{color:#B42318;font-weight:600}
.mc{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center;font-size:13px;margin-bottom:14px}
.mc>span:nth-child(-n+7){font-size:11.5px;color:#9AA0A6;padding-bottom:4px}
.mc-d{position:relative;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%}
.mc-d.other{color:#C4C7C5}
.mc-d.today{background:#0C2908;color:#fff;font-weight:600}
.mc-d i{position:absolute;bottom:3px;width:5px;height:5px;border-radius:50%;background:#01DF78}
.mc-d.today i{background:#FAE843}
.ztl{border-top:1px solid var(--line2);padding-top:10px}
.ztl-i{display:flex;flex-direction:column;gap:4px;padding:10px 0;text-decoration:none;color:inherit;border-bottom:1px dashed var(--line)}
.ztl-i:last-child{border-bottom:0}
.ztl-when{font-size:12.5px;font-weight:600;color:#8A9096}
.ztl-t{display:grid;grid-template-columns:8px minmax(0,1fr);gap:4px 10px;align-items:center}
.ztl-t i{width:8px;height:8px;border-radius:50%}.ztl-t strong{font-weight:500;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ztl-t small{grid-column:2;font-size:12.5px;color:var(--muted)}
.rings{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.rg{display:flex;gap:12px;align-items:center;padding:12px;border-radius:18px;background:#FAFAF8;text-decoration:none;color:inherit;transition:background .15s}
.rg:hover{background:#F2F2EE}
.rg strong{display:block;font-weight:600;font-size:14.5px}.rg small{font-size:12.5px;color:var(--muted)}
.tm{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;align-items:center;padding:8px 0;text-decoration:none;color:inherit}
.tm-b{display:flex;flex-direction:column;gap:6px}.tm-b strong{font-weight:500;font-size:14.5px}
.tm small{grid-column:2;font-size:12.5px;color:var(--muted)}.tm small em{color:#B42318;font-style:normal}
.b-feat{background:#FAE843;color:#0C2908;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:8px}
.b-feat::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.35);right:-60px;top:-60px}
.bf-art{width:52px;height:52px;border-radius:16px;background:#0C2908;color:#FAE843;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}
.b-feat h2{font-size:21px;margin:8px 0 0;font-weight:600;letter-spacing:-.01em;position:relative;z-index:1}
.b-feat p{margin:0 0 8px;font-size:15px;line-height:1.5;position:relative;z-index:1}
.b-feat .btn{align-self:flex-start;background:#0C2908;color:#fff;display:inline-flex;gap:8px;align-items:center;position:relative;z-index:1}
.ac{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--line2)}
.bx-h + .ac{border-top:0}
.ac-t{font-size:14.5px}.ac-t a{color:inherit;text-decoration:none}.ac-t a:hover{text-decoration:underline}.ac small{display:block;font-size:12.5px;color:var(--muted)}
.health-more{margin-top:24px}.health-more summary{cursor:pointer;color:var(--muted);font-size:14.5px;margin-bottom:12px}
.zh-title{font-size:30px;font-weight:500;letter-spacing:-.02em}
.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:18px}
.pick{background:#fff;border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:14px;text-decoration:none;color:var(--ink);box-shadow:0 16px 40px -22px rgba(16,24,32,.18);transition:transform .2s}
.pick:hover{transform:translateY(-3px)}
.cs-logo.big{width:72px;height:48px;border-radius:12px}.cs-logo.big img{max-width:60px;max-height:36px}
@media(max-width:1200px){.bento{grid-template-areas:"n n n n n n w w w w w w" "c c c c c c t t t t t t" "r r r r r r r r r r r r" "f f f f a a a a a a a a"}.zh-hero{grid-template-columns:1fr}}
@media(max-width:760px){.zapp{grid-template-columns:1fr}.zrail{position:fixed;bottom:0;top:auto;left:0;right:0;height:64px;flex-direction:row;justify-content:space-around;border-radius:22px 22px 0 0;padding:0 8px;z-index:50}.zr-logo,.zr-tip{display:none}.zapp-main{padding:0 16px 90px}.bento{grid-template-columns:1fr;grid-template-areas:"n" "w" "f" "c" "r" "t" "a"}.zh-tiles{grid-template-columns:1fr 1fr 1fr;gap:10px}.zt-art{height:70px}.zh-tile small{display:none}.zbar2 .topsearch,.zbar2 .cswitch{display:none}}

.nd-new{font-size:13px!important;color:#1A7F37!important}
/* ===== setup v3 ===== */
.setup-page{align-items:stretch}
.setup-rail{position:relative;top:0;align-self:stretch}
.setup-card{max-width:none;height:100%}
.sguide{display:flex;gap:12px;align-items:flex-start;background:color-mix(in srgb,var(--primary) 5%,#fff);border:1px solid color-mix(in srgb,var(--primary) 12%,#fff);border-radius:16px;padding:14px 16px;margin:4px 0 24px;font-size:15px;line-height:1.55;color:#2E353B}
.sg-i{flex:none;width:24px;height:24px;border-radius:50%;background:var(--primary);color:#fff;font-size:13px;font-weight:700;font-style:italic;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;margin-top:1px}
.acc-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;overflow:hidden;margin:6px 0 14px}
.acc2{padding:16px 18px;border-top:1px solid var(--line2);background:#fff}
.acc2:first-child{border-top:0}
.acc2-h{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.acc2-n strong{display:block;font-weight:600;font-size:15.5px}.acc2-n small{display:block;font-size:13.5px;color:var(--muted);margin-top:2px}
.seg2{display:inline-flex;background:#F2F2EF;border-radius:999px;padding:4px;gap:2px;flex-wrap:wrap}
.setup-form .seg2 label{display:inline-flex;flex-direction:row;margin:0;font-weight:500;cursor:pointer}
.seg2 input{position:absolute;opacity:0;width:0;height:0}
.seg2 span{font-size:13.5px;padding:7px 13px;border-radius:999px;color:#4A5157;white-space:nowrap;transition:background .15s,color .15s}
.seg2 label:hover span{color:var(--ink)}
.seg2 input:checked+span{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(16,24,32,.12)}
.seg2 input[value=done]:checked+span{background:#22A45D;color:#fff}
.seg2 input[value=help]:checked+span{background:#FAE843;color:#0C2908}
.seg2 input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}
.howto2{margin-top:10px}
.howto2 summary{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:500;color:var(--primary);cursor:pointer;list-style:none}
.howto2 summary::-webkit-details-marker{display:none}
.howto2 summary::before{content:"+";width:18px;height:18px;border-radius:50%;background:color-mix(in srgb,var(--primary) 10%,#fff);display:inline-flex;align-items:center;justify-content:center;font-size:13px}
.howto2[open] summary::before{content:"\2013"}
.howto2 .prose{font-size:14px;line-height:1.6;background:#FAFAF8;border-radius:12px;padding:12px 14px;margin-top:8px}
.acc2:has(input[value=help]:checked){background:#FFFDF0}
.st-help{display:block;padding:0;margin-top:18px;border:1px solid var(--line);border-radius:16px;background:#fff}
.st-help summary{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;list-style:none}
.st-help summary::-webkit-details-marker{display:none}
.st-help[open] summary{border-bottom:1px solid var(--line2)}
.st-help-f{padding:12px 16px 16px;gap:10px}
.st-help-f textarea{border-radius:12px}
.onb-toggle{margin-bottom:14px;padding:6px 18px!important}
/* splash */
body.splash{margin:0;min-height:100vh;background:#FAE843;display:flex;align-items:center;justify-content:center;overflow:hidden;font-family:"Manrope",system-ui,sans-serif;color:#0C2908}
.sp-in{position:relative;z-index:2;text-align:center;padding:24px}
.sp-logo{height:44px;opacity:0;animation:spUp .7s .1s ease-out forwards}
.sp-h{font-family:"Geist",sans-serif;font-weight:600;font-size:clamp(48px,9vw,120px);letter-spacing:-.04em;line-height:1;margin:28px 0 20px}
.sp-h span{display:inline-block;opacity:0;transform:translateY(30px);animation:spUp .7s ease-out forwards}
.sp-h span:nth-child(1){animation-delay:.45s}.sp-h span:nth-child(2){animation-delay:.65s}.sp-h span:nth-child(3){animation-delay:.85s}
.sp-sub{font-size:clamp(17px,2vw,21px);opacity:0;animation:spUp .7s 1.3s ease-out forwards;margin:0 0 28px}
.sp-go{display:inline-block;background:#0C2908;color:#fff;text-decoration:none;font-weight:600;padding:14px 28px;border-radius:999px;opacity:0;animation:spUp .6s 1.8s ease-out forwards}
.sp-b{position:absolute;border-radius:50%;background:rgba(255,255,255,.35);z-index:1;animation:spFloat 6s ease-in-out infinite}
.sp-b.b1{width:420px;height:420px;right:-120px;top:-140px}
.sp-b.b2{width:260px;height:260px;left:-80px;bottom:-60px;background:rgba(12,41,8,.07);animation-delay:1s}
.sp-b.b3{width:120px;height:120px;left:18%;top:14%;background:rgba(1,223,120,.35);animation-delay:2s}
@keyframes spUp{to{opacity:1;transform:none}}
@keyframes spFloat{50%{transform:translateY(18px) scale(1.03)}}
@media (prefers-reduced-motion:reduce){.sp-logo,.sp-h span,.sp-sub,.sp-go{animation:none;opacity:1;transform:none}.sp-b{animation:none}}
@media(max-width:960px){.setup-card{height:auto}}
.preview-bar{max-width:1240px;margin:20px auto -12px;padding:10px 16px;background:#FFFBE0;border:1px solid #F2E27A;border-radius:14px;font-size:14.5px;width:calc(100% - 48px)}
.setup-main{display:flex;flex-direction:column}.setup-main>.flash{margin-bottom:12px}.setup-main>.setup-card{flex:1}
.acc2-n{flex:1 1 280px}
.seg2{flex-wrap:nowrap}
@media(max-width:640px){.seg2{flex-wrap:wrap}}
.zbar-home{display:flex!important;align-items:baseline;gap:6px}
.zbar-word{font-family:"Geist",sans-serif;font-size:17px;font-weight:400;color:#FAE843;letter-spacing:-.01em;line-height:1}
.zbar-sep{width:1px;height:18px;background:rgba(255,255,255,.2);margin:0 6px 0 4px}
/* ===== client app shell: left rail in the client's colour ===== */
body:not(.zest):has(.capp){background:#F6F6F3}
.capp{display:grid;grid-template-columns:104px minmax(0,1fr);min-height:100vh}
.crail{background:var(--primary);display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 0 22px;border-radius:0 28px 28px 0;position:relative;z-index:40}
.cr-logo{width:64px;height:64px;border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:16px;overflow:hidden;box-shadow:0 6px 18px -8px rgba(0,0,0,.35)}
.cr-logo img{max-width:52px;max-height:40px;object-fit:contain}
.cr-logo b{font-size:18px;color:var(--primary)}
.cr-g{position:relative}
.cr-i{position:relative;width:80px;padding:10px 4px 8px;border-radius:16px;display:flex;flex-direction:column;align-items:center;gap:5px;text-decoration:none;color:color-mix(in srgb,var(--primary-ink,#fff) 78%,transparent);font-size:11.5px;font-weight:500;text-align:center;line-height:1.15;transition:background .15s,color .15s}
.cr-i svg{flex:none}
.cr-i:hover{background:rgba(255,255,255,.12);color:#fff}
.cr-i.on{background:#fff;color:var(--primary);box-shadow:0 6px 16px -8px rgba(0,0,0,.35)}
.cr-b{position:absolute;top:6px;right:14px;min-width:18px;height:18px;border-radius:9px;background:var(--accent);color:var(--accent-ink,#fff);font-style:normal;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px;box-shadow:0 0 0 2px var(--primary)}
.cr-i.on .cr-b{box-shadow:0 0 0 2px #fff}
.cr-fly{position:absolute!important;left:88px;top:0;min-width:300px;display:none;flex-direction:column;background:#fff;border:1px solid rgba(20,24,28,.07);border-radius:18px;padding:8px;box-shadow:0 18px 48px -8px rgba(20,24,28,.22);z-index:60}
.cr-fly::before{content:"";position:absolute;left:-12px;top:0;bottom:0;width:12px}
.cr-g:hover .cr-fly,.cr-g:focus-within .cr-fly{display:flex;animation:navIn2 .14s ease-out}
.cr-fh{font-size:12.5px;color:var(--muted);padding:6px 10px 4px}
.cr-fly a{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:12px;text-decoration:none;color:var(--ink)}
.cr-fly a:hover,.cr-fly a[aria-current]{background:var(--line2)}
.cr-fly a:hover .nm-i,.cr-fly a[aria-current] .nm-i{background:var(--primary);color:#fff}
.cr-zest{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10.5px;color:rgba(255,255,255,.65);padding-top:18px}
.cr-zest img{height:14px;width:auto;opacity:.9}
.capp-main{min-width:0;padding:0 40px}
.cbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0 6px;max-width:1240px}
.cb-l{display:flex;align-items:center;gap:8px;font-size:14.5px;color:var(--muted);min-width:0}
.cb-client{font-weight:500;color:var(--ink)}.cb-sep{opacity:.5}
.cb-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cbar .hdr-r{display:flex;align-items:center;gap:12px}
.cbar .topsearch{background:#fff;border-color:var(--line)}
.cmain{max-width:1240px;padding-top:18px!important;margin:0}
.cfoot{max-width:1240px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:28px 0 36px!important;border:0;color:var(--muted);font-size:13px}
.capp .hdr{display:none}
@media(max-width:860px){
  .capp{grid-template-columns:1fr}
  .crail{position:fixed;left:0;right:0;bottom:0;top:auto;flex-direction:row;justify-content:space-around;padding:6px 6px calc(6px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;gap:0;overflow-x:auto}
  .cr-logo,.cr-zest,.cr-fly{display:none!important}
  .cr-i{width:auto;min-width:58px;padding:8px 6px;font-size:10.5px}
  .capp-main{padding:0 16px 96px}
  .cbar .topsearch{display:none}
}
/* ===== expandable sidebars ===== */
.crail .nm-i{background:none!important;color:inherit!important;width:auto;height:auto}
.cr-fly .nm-i{background:#F4F4F1!important;color:#3A4148!important;width:36px;height:36px}
.cr-fly a:hover .nm-i,.cr-fly a[aria-current] .nm-i{background:var(--primary)!important;color:#fff!important}
.cr-logo{flex-direction:row;gap:12px;text-decoration:none}
.cr-lt{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.cr-lt img{max-width:52px;max-height:40px;object-fit:contain}
.cr-ln,.zr-ln,.zr-l,.cr-sub{display:none}
.rail-t{margin-top:10px;width:48px;height:40px;border-radius:14px;border:0;background:rgba(255,255,255,.08);color:rgba(255,255,255,.75);display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;font:inherit;font-size:13.5px}
.rail-t:hover{background:rgba(255,255,255,.16);color:#fff}
.rail-t span{display:none}
.rail-t .rt-a{transition:transform .2s;transform-origin:14.5px 12px}
.capp,.zapp{transition:grid-template-columns .22s ease}
.zrail .rail-t{margin-top:auto}
/* wide */
.capp.wide{grid-template-columns:252px minmax(0,1fr)}
.zapp.wide{grid-template-columns:240px minmax(0,1fr)}
.wide .crail,.wide .zrail{align-items:stretch;padding-left:16px;padding-right:16px}
.wide .rail-t{width:auto;justify-content:flex-start;padding:0 14px}
.wide .rail-t span{display:inline}
.wide .rail-t .rt-a{transform:rotate(180deg)}
.wide .cr-logo{width:auto;height:auto;background:none;box-shadow:none;justify-content:flex-start;padding:4px 4px 10px;overflow:visible}
.wide .cr-lt{width:52px;height:52px;flex:none;background:#fff;border-radius:16px}
.wide .cr-lt img{max-width:42px;max-height:32px}
.wide .cr-ln{display:block;color:#fff;font-weight:600;font-size:15.5px;line-height:1.2}
.wide .cr-i{width:auto;flex-direction:row;gap:12px;padding:11px 14px;font-size:14.5px;text-align:left}
.wide .cr-b{position:static;margin-left:auto;box-shadow:none}
.wide .cr-fly{display:none!important}
.wide .cr-sub{display:flex;flex-direction:column;margin:2px 0 6px 47px;border-left:1px solid rgba(255,255,255,.18)}
.wide .cr-sub a{color:rgba(255,255,255,.72);text-decoration:none;font-size:13.5px;padding:6px 12px;border-radius:0 10px 10px 0}
.wide .cr-sub a:hover{color:#fff;background:rgba(255,255,255,.08)}
.wide .cr-sub a[aria-current]{color:#fff;font-weight:600;box-shadow:inset 2px 0 0 #fff}
.wide .cr-sub em{font-style:normal;font-size:11px;background:var(--accent);color:var(--accent-ink,#fff);border-radius:8px;padding:0 6px;margin-left:4px}
.wide .cr-zest{flex-direction:row;justify-content:flex-start;gap:8px;padding-left:14px}
.wide .zr-logo{width:auto;background:none;justify-content:flex-start;gap:12px;padding:0 4px}
.wide .zr-lt{width:48px;height:48px;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.zr-lt{display:flex;align-items:center;justify-content:center}
.wide .zr-ln{display:flex;align-items:baseline;gap:6px}.wide .zr-ln img{height:20px}.wide .zr-ln em{font-style:normal;color:#FAE843;font-family:"Geist",sans-serif;font-size:17px}
.wide .zr-i{width:auto;justify-content:flex-start;gap:14px;padding:0 14px}
.wide .zr-l{display:inline;font-size:14.5px;font-weight:500}
.wide .zr-tip{display:none}
@media(max-width:860px){.rail-t{display:none}.capp.wide,.zapp.wide{grid-template-columns:1fr}.wide .cr-sub,.wide .cr-ln,.wide .zr-ln,.wide .zr-l{display:none}}

@media(min-width:861px){
  .zrail,.crail{position:sticky!important;top:0;height:100vh;align-self:start;overflow-y:auto;overflow-x:visible;scrollbar-width:none}
  .zrail::-webkit-scrollbar,.crail::-webkit-scrollbar{display:none}
  .crail{overflow:visible}
}
.zbar .zbar-hq{display:inline-flex!important;align-items:center;gap:7px;background:#FAE843;color:#0C2908!important;font-weight:600;opacity:1!important;padding:6px 14px!important;border-radius:999px}
.zbar .zbar-hq:hover{background:#fff!important}
.zr-i,.zr-i:hover{text-decoration:none}
.zbar .wrap{max-width:none!important;width:auto!important;margin:0!important;padding-left:28px!important;padding-right:28px!important;border-radius:0!important}
/* HQ in black */
.zrail{background:#0E0F0F!important}
.zbar,.zbar .wrap{background:#0E0F0F!important}
.wide .zr-logo{padding:8px 10px 18px}
.wide .zr-lt{display:none}
.wide .zr-ln img{height:26px}
.zr-i.on{background:#FAE843;color:#0E0F0F}
/* clients as cards */
.set-title .lede{margin:6px 0 0}
.set-title .btn{display:inline-flex;align-items:center;gap:8px}
.cl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-top:22px}
.cl-card{position:relative;background:#fff;border-radius:24px;padding:22px;display:flex;flex-direction:column;gap:6px;box-shadow:0 1px 2px rgba(16,24,32,.04),0 16px 40px -22px rgba(16,24,32,.18);overflow:hidden}
.cl-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--cc)}
.cl-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}
.cl-logo{width:84px;height:56px;border-radius:14px;background:#F6F6F3;display:flex;align-items:center;justify-content:center;overflow:hidden}
.cl-logo img{max-width:70px;max-height:40px;object-fit:contain}
.cl-logo b{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px}
.cl-state{font-size:12.5px;font-weight:500;padding:4px 10px;border-radius:999px}
.cl-state.ok{background:#E6F4EA;color:#1A7F37}.cl-state.amb{background:#FFF4D6;color:#8A5A00}
.cl-card h2{font-size:19px;font-weight:600;margin:0;letter-spacing:-.01em}
.cl-url{font-size:13.5px;color:var(--muted);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cl-url:hover{text-decoration:underline}
.cl-stats{display:flex;gap:16px;margin:12px 0 14px;font-size:13.5px;color:var(--muted)}
.cl-stats b{color:var(--ink);font-size:16px;margin-right:3px}
.cl-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.cl-add{border:2px dashed #DADAD5;box-shadow:none;background:#FAFAF8}
.cl-add::before{display:none}
.cl-plus{width:44px;height:44px;border-radius:14px;background:#FAE843;color:#0E0F0F;display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.cl-add input{font:inherit;font-size:14.5px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;width:100%;box-sizing:border-box}
.cl-slug{display:flex;align-items:center;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;margin:4px 0 8px}
.cl-slug span{font-size:12.5px;color:var(--muted);padding-left:12px;white-space:nowrap}
.cl-slug input{border:0!important;padding-left:2px!important;min-width:0}
.cl-add .btn{align-self:flex-start;margin-top:4px}
.wl-c.cc{font-weight:600;letter-spacing:.005em}
.wide .zr-ln img{width:auto!important;height:26px!important;max-width:none}.wide .zr-logo{height:auto!important;background:none!important}
/* import + private */
.imp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:6px 0 16px}
.imp-c{display:flex;flex-direction:column;gap:4px;align-items:flex-start;background:#FAFAF8;border:1px solid var(--line);border-radius:16px;padding:14px}
.imp-c b{font-size:26px;font-weight:600;line-height:1}.imp-c small{font-size:13px;color:var(--muted)}
.imp-c.priv{background:#FFFBE0;border-color:#F2E27A}
.imp-notes{font-size:14.5px;line-height:1.6;margin:0 0 18px;padding-left:20px}
.pv-add{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 16px!important;margin-bottom:16px}
.pv-add input{font:inherit;font-size:14.5px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.pv-add input[name=title]{flex:1;min-width:220px}
.pv{display:block;padding:0}
.pv summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;cursor:pointer;list-style:none}
.pv summary::-webkit-details-marker{display:none}
.pv-t{font-size:15px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pv-d{font-size:13.5px;color:var(--muted);white-space:nowrap}.pv-d.late{color:#B42318;font-weight:600}
.pv-tick{margin:0}
.tickbtn{width:22px;height:22px;border-radius:50%;border:2px solid #C9CBC7;background:#fff;cursor:pointer;padding:0}
.tickbtn:hover{border-color:#22A45D}
.tickbtn.on{background:#22A45D;border-color:#22A45D;position:relative}
.tickbtn.on::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.pv-body{padding:4px 0 16px 34px;font-size:14.5px;line-height:1.6;color:#2E353B;word-break:break-word}
.pv-note{margin-top:10px}
.pv-g{margin-bottom:16px}
/* profile */
.prof-grid{display:grid;grid-template-columns:180px minmax(0,1fr);gap:32px;align-items:start}
.prof-photo{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.ph-drop{position:relative;cursor:pointer;display:block;border-radius:50%}
.avatar.xl{width:140px;height:140px;font-size:40px}
.ph-edit{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;box-shadow:0 4px 12px -4px rgba(16,24,32,.2);white-space:nowrap}
.ph-drop:hover .ph-edit{background:#1C2127;color:#fff;border-color:#1C2127}
.ph-drop:focus-within,.prof-photo:has(input:focus-visible) .ph-drop{outline:2px solid var(--primary);outline-offset:4px}
.ph-name{max-width:170px;margin-top:8px}
.prof-form .opt{font-weight:400;color:var(--muted);font-size:13px;margin-left:4px}
.prof-form label{font-weight:500;font-size:14.5px}
.ro-field{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:12px;background:#F4F4F1;color:var(--muted);font-weight:400;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prof-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px;padding-top:18px;border-top:1px solid var(--line2)}
.prof-foot .btn{align-self:auto}
@media(max-width:700px){.prof-grid{grid-template-columns:1fr}.avatar.xl{width:112px;height:112px}}
/* profile layout fix */
.form.prof-form{max-width:none}
.prof-fields{display:flex;flex-direction:column;gap:14px;min-width:0;width:100%}
.prof-form .grid2{gap:14px 20px;align-items:end}
.prof-form label{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:6px;row-gap:6px}
.prof-form label>input,.prof-form label>.ro-field{grid-column:1/-1;margin-top:0;width:100%;min-width:0}
.prof-form .opt{margin-left:0;white-space:nowrap}
.prof-form .ph-drop{display:block}
.prof-foot .small{flex:1 1 280px}
.prof-role{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
/* ---------- login v2: card + overlapping yellow panel ---------- */
.auth2{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 24px;background:linear-gradient(135deg,#F3F2EC 0%,#E4E6DF 55%,#D6DAD2 100%);font-family:"Manrope",system-ui,sans-serif}
.a2-shell{position:relative;display:grid;grid-template-columns:112px minmax(0,1.15fr) minmax(0,1fr);width:100%;max-width:1040px;min-height:460px;background:#fff;border-radius:18px;box-shadow:0 30px 70px -30px rgba(12,20,10,.25)}
.a2-side{display:flex;flex-direction:column;align-items:center;padding:30px 0;gap:34px}
.a2-logo img{height:30px;width:auto;display:block}
.a2-nav{display:flex;flex-direction:column;gap:18px;width:100%}
.a2-nav a{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;color:#6d7a84;text-decoration:none;font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;padding:6px 0}
.a2-nav a:hover{color:#0E0F0F}
.a2-nav a.on{color:#0E0F0F}
.a2-nav a.on::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:4px;border-radius:0 4px 4px 0;background:#0E0F0F}
.a2-hero{position:relative;overflow:hidden;margin:-28px 0;background:#FAE843;color:#0E0F0F;padding:64px 56px 40px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 30px 60px -24px rgba(90,80,0,.45);border-radius:6px}
.a2-hero>*{position:relative;z-index:2}
.a2-hero h2{font-family:"Geist",system-ui,sans-serif;font-weight:600;font-size:clamp(32px,3.6vw,44px);letter-spacing:-.03em;line-height:1.05;margin:0 0 14px}
.a2-hero p{font-size:clamp(18px,1.8vw,22px);line-height:1.35;margin:0;max-width:320px;font-weight:400}
.a2-web{color:#0E0F0F;font-size:14px;font-weight:600;text-decoration:none;opacity:.8}
.a2-web:hover{opacity:1;text-decoration:underline}
.a2-b{position:absolute;border-radius:50%;z-index:1}
.a2-b.b1{width:300px;height:300px;right:-110px;bottom:-120px;background:rgba(255,255,255,.4)}
.a2-b.b2{width:90px;height:90px;right:70px;top:48px;background:rgba(1,223,120,.35)}
.a2-form.auth-card{box-shadow:none;max-width:none;border-radius:0 18px 18px 0;padding:56px 52px;display:flex;flex-direction:column;justify-content:center;background:transparent}
.a2-form h1{margin-top:0}
.a2-form .form{max-width:none}
.a2-form .btn[type=submit],.a2-form .form .btn{background:#0E0F0F;color:#fff;border-color:#0E0F0F}
@media(max-width:860px){
 .a2-shell{grid-template-columns:1fr;max-width:480px}
 .a2-side{flex-direction:row;justify-content:space-between;padding:20px 24px;gap:16px}
 .a2-nav{flex-direction:row;width:auto;gap:14px}.a2-nav a{font-size:10px}.a2-nav a.on::before{left:6px;right:6px;top:auto;bottom:-6px;width:auto;height:3px;border-radius:3px}
 .a2-hero{margin:0 -10px;padding:34px 30px;min-height:0;gap:18px}.a2-hero h2{font-size:32px}
 .a2-form.auth-card{padding:32px 28px;border-radius:0 0 18px 18px}
}
.a2-shell{grid-template-columns:132px minmax(0,1.15fr) minmax(0,1fr)}
.a2-logo img{height:24px}
.a2-b.b2{width:64px;height:64px;right:auto;left:56px;top:auto;bottom:88px}
.a2-form .form .btn{width:100%;justify-content:center;padding-top:14px;padding-bottom:14px}
@media(max-width:860px){.a2-shell{grid-template-columns:1fr}.a2-b.b2{display:none}.a2-b.b1{width:200px;height:200px;right:-90px;bottom:-110px}}
/* ---------- rail: active item becomes a tab that melts into the page ---------- */
@media(min-width:861px){
 .crail .cr-g:has(> .cr-i.on){align-self:stretch;display:flex;flex-direction:column;align-items:flex-end}
 .crail .cr-i.on,.zrail .zr-i.on{align-self:flex-end;background:var(--canvas);box-shadow:none;border-radius:18px 0 0 18px;overflow:visible}
 .crail .cr-i.on{width:92px;padding-right:16px}
 .zrail .zr-i.on{width:70px;padding-right:22px;color:#0E0F0F}
 .zrail .zr-i.on svg{color:#0E0F0F}
 .crail .cr-i.on::before,.crail .cr-i.on::after,.zrail .zr-i.on::before,.zrail .zr-i.on::after{content:"";position:absolute;right:0;width:20px;height:20px;pointer-events:none}
 .crail .cr-i.on::before,.zrail .zr-i.on::before{top:-20px;background:radial-gradient(circle at 0 0,transparent 19.5px,var(--canvas) 20px)}
 .crail .cr-i.on::after,.zrail .zr-i.on::after{bottom:-20px;background:radial-gradient(circle at 0 100%,transparent 19.5px,var(--canvas) 20px)}
 .zrail .zr-i.on .zr-tip{display:none}
 .wide .crail .cr-i.on{width:auto;align-self:stretch;margin-right:-16px;padding-right:30px}
 .wide .crail .cr-g:has(> .cr-i.on){align-items:stretch}
 .wide .zrail .zr-i.on{width:auto;align-self:stretch;margin-right:-16px;padding-right:30px}
}
/* tab colour = page colour */
body.zest{--tabbg:#F3F4F1}
body:not(.zest):has(.capp){--tabbg:#F6F6F3}
@media(min-width:861px){
 .crail .cr-i.on,.zrail .zr-i.on{background:var(--tabbg,var(--canvas))}
 .crail .cr-i.on::before,.zrail .zr-i.on::before{background:radial-gradient(circle at 0 0,transparent 19.5px,var(--tabbg,var(--canvas)) 20px)}
 .crail .cr-i.on::after,.zrail .zr-i.on::after{background:radial-gradient(circle at 0 100%,transparent 19.5px,var(--tabbg,var(--canvas)) 20px)}
}
/* login v2 polish: spacing, flower, help */
.a2-shell{grid-template-columns:150px minmax(0,1.1fr) minmax(0,1fr)}
.a2-side{padding:38px 24px 30px 0;gap:40px}
.a2-logo{padding-left:24px}.a2-logo img{height:24px}
.a2-nav{gap:10px}
.a2-nav a{padding:12px 0;border-radius:0}
.a2-nav a:focus-visible{outline:2px solid #0E0F0F;outline-offset:-2px;border-radius:10px}
.a2-nav a:focus:not(:focus-visible){outline:none}
.a2-hero{padding:64px 56px 44px}
.a2-b{display:none}
.a2-f{position:absolute;z-index:1;pointer-events:none}
.a2-f.f1{width:340px;height:340px;right:-110px;bottom:-110px;fill:rgba(255,255,255,.45);animation:a2spin 60s linear infinite}
.a2-f.f2{width:58px;height:58px;left:56px;bottom:92px;fill:#01DF78;opacity:.85;animation:a2spin 30s linear infinite reverse}
@keyframes a2spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.a2-f{animation:none}}
.a2-tips{list-style:none;padding:0;margin:14px 0 6px;display:flex;flex-direction:column;gap:8px;font-size:14.5px;color:#3A4148}
.a2-tips li{background:#F6F6F3;border-radius:12px;padding:10px 14px}
.a2-tips a{color:#0E0F0F;font-weight:600}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.a2-form textarea{min-height:90px}
@media(max-width:860px){.a2-shell{grid-template-columns:1fr}.a2-side{padding:20px 24px;gap:16px}.a2-logo{padding-left:0}.a2-f.f2{display:none}.a2-f.f1{width:220px;height:220px;right:-80px;bottom:-90px}}
.a2-form .grid2{grid-template-columns:1fr;gap:14px}
/* Zest+ petal mark on the login panel */
.a2-f.f2{display:none}
.a2-f.f1{width:460px;height:460px;right:-150px;bottom:-150px;fill:none;animation:none}
.a2-f path{fill:none;vector-effect:non-scaling-stroke}
.a2-f .zf-base{stroke:#0E0F0F;stroke-opacity:.16;stroke-width:1.3}
.a2-f .zf-shine{stroke-width:1.8}
.a2-f .zf-rot{transform-origin:34.3366px 34.3366px;animation:a2spin 120s linear infinite}
@media (prefers-reduced-motion:reduce){.a2-f .zf-rot{animation:none}}
@media(max-width:860px){.a2-f.f1{width:260px;height:260px;right:-90px;bottom:-100px}}
.a2-f .zf-base{stroke-opacity:.22}
/* flower: solid, even line (no fading shine), more of it visible */
.a2-f .zf-shine{display:none}
.a2-f .zf-base{stroke:#0E0F0F;stroke-opacity:.2;stroke-width:1.5}
.a2-f.f1{width:400px;height:400px;right:-120px;bottom:-120px}
/* flower: thin even line in every browser (stroke in drawing units, not screen px), faded */
.a2-f path{vector-effect:none}
.a2-f .zf-base{stroke:#0E0F0F;stroke-opacity:.1;stroke-width:.3}
.a2-hero h2{font-size:clamp(30px,3.2vw,40px);max-width:380px}
/* centre the form column */
.a2-form.auth-card{align-items:center;text-align:center}
.a2-form>*{width:100%;max-width:360px}
.a2-form .form{text-align:left}
.a2-form .a2-tips{text-align:left}
/* flower: plain inline paths, thin */
.a2-f .zf-rot path{stroke:inherit;stroke-width:inherit;fill:none}
/* smooth size change between log in, reset and help */
@view-transition{navigation:auto}
.a2-shell{view-transition-name:a2shell}
.a2-hero{view-transition-name:a2hero}
::view-transition-group(a2shell),::view-transition-group(a2hero){animation-duration:.35s;animation-timing-function:cubic-bezier(.3,.7,.2,1)}
::view-transition-old(root),::view-transition-new(root){animation-duration:.25s}
.a2-form>*{animation:a2in .35s ease-out both}
@keyframes a2in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.a2-form>*{animation:none}::view-transition-group(*){animation:none}}
.a2-f.f1{width:440px;height:440px;right:-130px;bottom:-130px}
/* login: one steady card size, content fades instead of the page jumping */
@view-transition{navigation:none}
.a2-shell{view-transition-name:none}.a2-hero{view-transition-name:none}
@media(min-width:861px){.a2-shell{min-height:600px}}
.a2-form>*{animation:none}
.a2-form{transition:opacity .16s ease,transform .16s ease}
.a2-form.a2-out{opacity:0;transform:translateY(4px)}
.a2-form.a2-in>*{animation:a2in .3s ease-out both}
@media (prefers-reduced-motion:reduce){.a2-form{transition:none}.a2-form.a2-in>*{animation:none}}
.a2-form textarea{min-height:64px}
.a2-form .form{gap:12px}
@media(min-width:861px){.a2-shell{min-height:620px}}
/* access picker */
.acc-pick{margin-top:14px;padding-top:14px;border-top:1px solid var(--line2)}
.acc-admin{display:none;color:var(--muted)}
.acc-pick.is-admin .acc-admin{display:block}.acc-pick.is-admin .acc-team{display:none}
.acc-some{display:none;margin-top:14px}
.acc-pick.is-some .acc-some{display:block;animation:navIn2 .15s ease-out}
.acc-l{display:block;font-size:13.5px;font-weight:600;margin:0 0 8px}.acc-l em{font-style:normal;font-weight:400;color:var(--muted);margin-left:6px}
.pick-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.pp{position:relative;cursor:pointer}
.pp input{position:absolute;opacity:0;width:0;height:0}
.pp span{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:14px;color:#3A4148;transition:background .15s,color .15s,border-color .15s}
.pp span::before{content:"";width:14px;height:14px;border-radius:50%;border:1.5px solid currentColor;opacity:.5;flex:none}
.pp:hover span{border-color:#c9ccc6}
.pp input:checked+span{background:var(--pp,#0E0F0F);border-color:var(--pp,#0E0F0F);color:var(--ppi,#fff)}
.pp input:checked+span::before{opacity:1;background:currentColor;box-shadow:inset 0 0 0 2px var(--pp,#0E0F0F)}
.pp input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.acc-self{margin:12px 0 0;color:var(--muted)}
.add-login .acc-pick{border-top:0;padding-top:0}
/* login spacing: even rhythm between intro, fields and button */
.a2-form h1{margin-bottom:10px}
.a2-form>p.muted{margin:0}
.a2-form .form{margin-top:26px;gap:16px}
.a2-form .form .btn{margin-top:10px}
.a2-form .form+p.small{margin-top:18px}
/* sign-up with photo */
.su-form{text-align:left}
.su-photo{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:6px;text-align:center}
.su-photo .avatar.lg{width:96px;height:96px;font-size:30px}
.su-photo .ph-drop{position:relative}
.su-photo .ph-edit{white-space:nowrap}
.su-later{font-weight:400!important;color:var(--muted)}
.a2-form .su-form .grid2{grid-template-columns:1fr 1fr;gap:12px}
.a2-form .su-form label{font-size:14.5px}
.a2-form .form label{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:6px;row-gap:6px}
.a2-form .form label>input,.a2-form .form label>textarea,.a2-form .form label>select{grid-column:1/-1;width:100%}
.a2-form .form label.tick{display:inline-flex}
.a2-form .opt{font-size:13px;color:var(--muted);font-weight:400;white-space:nowrap}
.a2-form .su-later{display:inline-flex!important;align-items:center;gap:8px;white-space:nowrap;grid-template-columns:none}
/* performance card (Metricool) */
.perf .p2-h .small{color:var(--muted)}
.perf-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:6px 0 18px}
.pt{background:#F6F6F3;border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.pt-l{font-size:13px;color:var(--muted);font-weight:500}
.pt strong{font-family:"Geist",system-ui,sans-serif;font-size:28px;font-weight:600;letter-spacing:-.02em;color:var(--ink);line-height:1.15}
.pt-s{font-size:12.5px;color:var(--muted)}
.perf-bars{display:flex;align-items:flex-end;gap:14px;height:150px;padding:0 4px;border-bottom:1px solid var(--line2)}
.pb{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px;min-width:0}
.pb-bar{width:min(64px,70%);background:var(--primary,#0E0F0F);border-radius:8px 8px 0 0}
.pb-v{font-size:12.5px;font-weight:600;color:var(--ink)}
.pb-l{font-size:12.5px;color:var(--muted);margin-bottom:-24px;white-space:nowrap}
.perf .meta{margin-top:30px}
@media(max-width:760px){.perf-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ro-field svg{flex:none}
.ro-field>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* toasts instead of the full-width banner */
.flash.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:200;display:flex;align-items:center;gap:12px;max-width:min(560px,calc(100vw - 32px));margin:0;padding:10px 10px 10px 12px;border:0;border-radius:999px;background:#0E0F0F;color:#fff;font-size:14.5px;box-shadow:0 18px 40px -12px rgba(0,0,0,.35);animation:toastIn .35s cubic-bezier(.2,.8,.2,1) both}
.toast .t-ic{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;background:#FAE843;color:#0E0F0F}
.toast.t-note .t-ic{background:#fff;color:#0E0F0F}
.toast .t-tx{line-height:1.35;padding-right:4px}
.toast .t-x{flex:none;width:28px;height:28px;border-radius:50%;border:0;background:rgba(255,255,255,.1);color:#fff;font-size:18px;line-height:1;cursor:pointer}
.toast .t-x:hover{background:rgba(255,255,255,.2)}
.toast.t-out{animation:toastOut .25s ease-in forwards}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes toastOut{to{opacity:0;transform:translate(-50%,12px)}}
@media (prefers-reduced-motion:reduce){.flash.toast,.toast.t-out{animation:none}}
/* ---------- ClickUp-style task list with quick edits ---------- */
.vt{display:inline-flex}.vt a{font-size:13.5px;padding:7px 14px;border-radius:999px;color:#4A5157;text-decoration:none}
.vt a.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(16,24,32,.12)}
.tlist{margin-top:var(--s3);display:flex;flex-direction:column;gap:18px}
.tl-onb{display:grid;grid-template-columns:auto 1fr 180px;gap:14px;align-items:center;background:#fff;border:1px solid var(--line2);border-radius:14px;padding:12px 16px;text-decoration:none;color:var(--ink);font-size:14.5px}
.tl-onb span{color:var(--muted)}
.tl-g{background:#fff;border:1px solid var(--line2);border-radius:18px;padding:6px 8px 10px}
.tl-g>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:10px 8px;cursor:pointer;border-radius:12px}
.tl-g>summary::-webkit-details-marker{display:none}
.tl-caret{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #6B7278;transform:rotate(-90deg);transition:transform .15s}
.tl-g[open] .tl-caret{transform:none}
.tl-pill{display:inline-flex;align-items:center;gap:7px;padding:5px 12px 5px 9px;border-radius:8px;font-size:12.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#fff}
.tl-pill i{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.9);background:transparent}
.tl-c{color:var(--muted);font-size:14px}
.st-planned{--st:#8A9099}.st-doing{--st:#3B6FF6}.st-client{--st:#E8962E}.st-ready{--st:#1FA37A}.st-done{--st:#5C6770}
.tl-pill.st-planned,.tl-pill.st-doing,.tl-pill.st-client,.tl-pill.st-ready,.tl-pill.st-done{background:var(--st)}
.tl-head,.tl-row{display:grid;grid-template-columns:34px minmax(0,1fr) 110px 130px 120px;align-items:center;gap:8px}
.tl-head{padding:4px 10px 8px;border-bottom:1px solid var(--line2);font-size:13px;color:var(--muted)}
.tl-row{padding:6px 10px;border-bottom:1px solid var(--line2);border-radius:10px;transition:background .12s}
.tl-row:last-child{border-bottom:0}
.tl-row:hover{background:#FAFAF7}
.tl-row.saving{opacity:.6}
.tl-row button{font:inherit;background:none;border:0;cursor:pointer;color:inherit;padding:0}
.tl-st{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%}
.tl-st span{width:16px;height:16px;border-radius:50%;border:2px solid var(--st);display:block;background:transparent;transition:transform .12s}
.tl-st.st-doing span{background:linear-gradient(90deg,var(--st) 50%,transparent 50%)}
.tl-st.st-client span{background:conic-gradient(var(--st) 0 75%,transparent 75%)}
.tl-st.st-ready span,.tl-st.st-done span{background:var(--st)}
.tl-st:hover span{transform:scale(1.15)}
.tl-name{display:flex;flex-direction:column;min-width:0;text-decoration:none;color:var(--ink);padding:4px 0}
.tl-t{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-name:hover .tl-t{text-decoration:underline;text-underline-offset:3px}
.tl-sec{font-size:12.5px;color:var(--muted)}
.tl-as{justify-self:start;border-radius:50%}
.tl-empty-av{width:28px;height:28px;border-radius:50%;border:1.5px dashed #c3c7c2;display:inline-flex;align-items:center;justify-content:center;color:#8A9099;font-size:15px}
.tl-as:hover .tl-empty-av{border-color:var(--ink);color:var(--ink)}
.tl-due{position:relative;font-size:14px}
.tl-due button{padding:4px 8px!important;border-radius:8px}
.tl-due button:hover{background:#F2F2EF}
.tl-due.late button{color:#C0362C;font-weight:600}
.tl-due input{position:absolute;left:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0}
.tl-add{color:#9aa0a6}
.tl-pr{display:inline-flex;align-items:center;gap:6px;font-size:14px;padding:4px 8px!important;border-radius:8px;justify-self:start}
.tl-pr:hover{background:#F2F2EF}
.tl-pr.pr-none svg{fill:none;stroke:#aab0b5;stroke-width:1.6}
.tl-pr.pr-urgent svg{color:#D93025}.tl-pr.pr-high svg{color:#F2B300}.tl-pr.pr-normal svg{color:#4C7DF0}.tl-pr.pr-low svg{color:#9AA0A6}
.tl-pr.mini{padding:0!important;vertical-align:-2px}
.tl-none{color:var(--muted);font-size:14px;padding:10px 12px;margin:0}
.tl-addrow{display:inline-block;margin:6px 10px 2px;color:var(--muted);text-decoration:none;font-size:14px}
.tl-addrow:hover{color:var(--ink)}
/* quick-edit menu */
.qmenu{position:absolute;z-index:300;min-width:200px;background:#fff;border:1px solid rgba(20,24,28,.08);border-radius:14px;padding:6px;box-shadow:0 18px 40px -10px rgba(16,24,32,.28);animation:navIn2 .12s ease-out}
.qmenu button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;font:inherit;font-size:14px;background:none;border:0;border-radius:9px;padding:8px 10px;cursor:pointer;color:var(--ink)}
.qmenu button:hover,.qmenu button:focus-visible{background:#F2F2EF;outline:none}
.qmenu button.cur{font-weight:600}
.qmenu .qm-h{font-size:12px;color:var(--muted);padding:6px 10px 4px;text-transform:uppercase;letter-spacing:.05em}
.qmenu hr{border:0;border-top:1px solid var(--line2);margin:4px 0}
@media(max-width:760px){.tl-head{display:none}.tl-row{grid-template-columns:30px minmax(0,1fr) auto;row-gap:2px}.tl-due,.tl-pr{grid-column:2}.tl-as{grid-column:3;grid-row:1}}
/* ---------- task table, Pipeline style ---------- */
.tlist{gap:22px}
.tl-g{background:transparent;border:0;padding:0}
.tl-g>summary{background:#F4F5F3;border-radius:12px;padding:12px 14px;gap:12px}
.tl-g>summary:hover{background:#EFF0ED}
.tl-gt{font-weight:600;font-size:15.5px;color:var(--ink);display:flex;align-items:center;gap:10px}
.tl-gt::before{content:"";width:3px;height:18px;border-radius:2px;background:var(--gc)}
.tl-c{font-size:12.5px;font-weight:600;color:#5b6ad0;background:#ECEEFB;border-radius:6px;padding:1px 7px}
.tl-plus{margin-left:auto;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#6B7278;text-decoration:none;font-size:20px}
.tl-plus:hover{background:#fff;color:var(--ink)}
.tl-caret{order:0}
.tl-head,.tl-row{grid-template-columns:34px minmax(0,1fr) 120px 150px 118px;gap:12px}
.with-client .tl-head,.with-client .tl-row{grid-template-columns:34px minmax(0,1fr) 170px 120px 150px 118px}
.tl-head{padding:12px 12px 10px;font-size:13px;color:#6B7278;border-bottom:1px solid var(--line2)}
.tl-rows{background:#fff}
.tl-row{padding:10px 12px;border-radius:0;border-bottom:1px solid var(--line2);min-height:58px}
.tl-row:hover{background:#FAFAF8}
.tl-t{font-weight:600;font-size:14.5px}
.tl-sec{font-size:12.5px}
.tl-cl .wl-c{font-size:12.5px;padding:4px 10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}
.tl-due{font-weight:600;font-size:14px;color:var(--ink)}
.tl-as{display:inline-flex;align-items:center;gap:8px;padding:3px 8px 3px 3px!important;border-radius:999px}
.tl-as:hover{background:#F2F2EF}
.tl-own{font-size:14px}
.tl-pr{gap:7px;padding:4px 10px!important;border-radius:8px;font-size:13px;font-weight:600}
.tl-pr i{width:7px;height:7px;border-radius:50%;background:currentColor}
.tl-pr.pr-urgent{background:#FDE8E7;color:#C62828}
.tl-pr.pr-high{background:#FFEBDD;color:#C2410C}
.tl-pr.pr-normal{background:#FFF4D6;color:#A16207}
.tl-pr.pr-low{background:#E6F0FF;color:#2F5FD0}
.tl-pr.pr-none{background:none;color:#9AA0A6;font-weight:500}
.tl-pr.pr-none i{background:none;border:1.5px dashed currentColor;width:8px;height:8px}
.tl-pr.pr-none:hover{background:#F2F2EF}
.tl-pr.pr-urgent:hover,.tl-pr.pr-high:hover,.tl-pr.pr-normal:hover,.tl-pr.pr-low:hover{filter:brightness(.97)}
.st-planned{--st:#8A9099}.st-doing{--st:#E0A800}.st-client{--st:#E8762E}.st-ready{--st:#3B6FF6}.st-done{--st:#1FA37A}
.tl-none{padding:14px 12px}
.qmenu .tl-pr{padding:4px 10px!important}
@media(max-width:900px){.with-client .tl-head{display:none}.with-client .tl-row{grid-template-columns:30px minmax(0,1fr) auto;row-gap:4px}.with-client .tl-cl,.with-client .tl-due,.with-client .tl-pr{grid-column:2}.with-client .tl-as{grid-column:3;grid-row:1}}
/* ---------- HQ calendar ---------- */
.cal-top{align-items:flex-end}
.cal-nav{display:flex;align-items:center;gap:10px}.cal-nav strong{font-family:"Geist",sans-serif;font-size:20px;font-weight:600;min-width:170px;text-align:center}
.cal-filters{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 18px}
.hcal{background:#fff;border:1px solid var(--line2);border-radius:18px;overflow:hidden}
.hcal-h,.hcal-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.hcal-h span{padding:10px 12px;font-size:12.5px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--line2)}
.hc-day{min-height:128px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:8px 6px 6px;display:flex;flex-direction:column;gap:4px;min-width:0}
.hc-day:nth-child(7n){border-right:0}
.hc-day.wkend{background:#FBFBF9}
.hc-day.out{background:#F7F7F4}.hc-day.out .hc-n{color:#b4b8bb}
.hc-n{font-size:13px;font-weight:600;color:#3A4148;padding:0 4px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%}
.hc-day.today .hc-n{background:#FAE843;color:#0E0F0F}
.hc-list{display:flex;flex-direction:column;gap:3px;min-width:0}
.hc-e{display:flex;align-items:center;gap:6px;font-size:12.5px;line-height:1.25;padding:3px 6px;border-radius:7px;text-decoration:none;color:var(--ink);background:color-mix(in srgb,var(--ec) 10%,#fff);min-width:0}
.hc-e i{width:7px;height:7px;border-radius:50%;background:var(--ec);flex:none}
.hc-e span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
a.hc-e:hover{background:color-mix(in srgb,var(--ec) 20%,#fff)}
.hc-z{background:#F2F3F1;border-left:3px solid var(--ec);border-radius:4px 7px 7px 4px;color:#3A4148}
.hc-z b{font-weight:600;font-size:11.5px;color:#6B7278;flex:none}
.hc-e.is-done span{text-decoration:line-through;opacity:.6}
.hide-done .is-done{display:none}
.hcal-agenda{display:none}
.hcal-agenda h3{font-size:14px;margin:18px 0 6px}
.hcal-agenda .hc-e{margin-bottom:4px;font-size:14px;padding:8px 10px}
.hidden-f{display:none!important}
@media(max-width:860px){.hcal{display:none}.hcal-agenda{display:block}.cal-nav strong{min-width:0}}
/* settings: team calendars */
.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.cal-feed{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line2)}
.cal-feed:last-child{border-bottom:0}
.cf-dot{width:12px;height:12px;border-radius:50%;flex:none}
.cf-b{flex:1;display:flex;flex-direction:column}
.hc-list .hc-e.over{display:none}
.hc-list.open .hc-e.over{display:flex}
.hc-more{font:inherit;font-size:12px;font-weight:600;color:#4A5157;background:none;border:0;text-align:left;padding:2px 6px;cursor:pointer;border-radius:6px}
.hc-more:hover{background:#F2F2EF}
/* ---------- online dots ---------- */
.av-wrap{position:relative;display:inline-flex;flex:none}
.pdot{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;border:2px solid #fff;background:#B8BDC2}
.pdot.p-on{background:#1FB45A}.pdot.p-away{background:#F2B300}
.online-stack{display:inline-flex;align-items:center;gap:0;text-decoration:none;color:var(--ink);font-size:13px;padding:4px 10px 4px 6px;border-radius:999px;background:#fff;border:1px solid var(--line2);position:relative}
.online-stack .av-wrap{margin-right:-6px}.online-stack .av-wrap .avatar{box-shadow:0 0 0 2px #fff}
.online-stack>span{margin-left:12px;white-space:nowrap}
.chat-badge{font-style:normal;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#D93025;color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.online-stack .chat-badge{margin-left:8px}
.zr-i .chat-badge{position:absolute;top:4px;right:6px}
.wide .zr-i .chat-badge{position:static;margin-left:auto}
.chat-badge[hidden]{display:none}
/* ---------- chat ---------- */
.chat-page{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;align-items:start}
.chat-main .chat{height:calc(100vh - 260px);min-height:420px}
.chat{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line2);border-radius:18px;overflow:hidden}
.znotes .chat{height:440px;margin:10px 0 14px}
.chat-log{flex:1;overflow-y:auto;padding:16px 18px 8px;display:flex;flex-direction:column;gap:2px}
.chat-empty{margin:auto;color:var(--muted);text-align:center;max-width:320px}
.chat-day{align-self:center;font-size:12px;font-weight:600;color:var(--muted);background:#F4F5F3;border-radius:999px;padding:3px 10px;margin:12px 0 8px}
.cm{display:flex;gap:10px;align-items:flex-end;max-width:78%;margin-top:10px}
.cm.cont{margin-top:3px}
.cm-av{width:28px;flex:none}
.cm-b{display:flex;flex-direction:column;gap:3px;min-width:0}
.cm-h{display:flex;gap:8px;align-items:baseline;font-size:12.5px;padding:0 4px}.cm-h span{color:var(--muted)}
.cm-t{background:#F2F3F1;border-radius:16px 16px 16px 5px;padding:9px 13px;font-size:14.5px;line-height:1.45;overflow-wrap:anywhere}
.cm.cont .cm-t{border-radius:16px}
.cm.mine{align-self:flex-end;flex-direction:row-reverse}
.cm.mine .cm-h{justify-content:flex-end}
.cm.mine .cm-t{background:#FAE843;color:#0E0F0F;border-radius:16px 16px 5px 16px}
.cm-t a{color:inherit;text-decoration:underline}
.mention{background:rgba(59,111,246,.12);color:#2F5FD0;border-radius:4px;padding:0 3px;font-weight:600}
.cm.mine .mention{background:rgba(14,15,15,.1);color:#0E0F0F}
.chat-form{display:flex;gap:10px;align-items:flex-end;padding:12px;border-top:1px solid var(--line2)}
.chat-form textarea{flex:1;resize:none;border:1px solid var(--line);border-radius:14px;padding:10px 14px;font:inherit;font-size:14.5px;max-height:160px;min-height:44px}
.chat-send{width:44px;height:44px;border-radius:50%;border:0;background:#0E0F0F;color:#fff;cursor:pointer;flex:none;display:flex;align-items:center;justify-content:center}
.chat-send:hover{background:#2a2c2c}
.chat-hint{margin:0;padding:0 14px 10px;font-size:12px;color:var(--muted)}
.chat-side{background:#fff;border:1px solid var(--line2);border-radius:18px;padding:16px 18px;position:sticky;top:20px}
.chat-side h2{font-size:15px;margin:0 0 10px}
.team-pres{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:12px}
.team-pres li{display:flex;gap:10px;align-items:center}.team-pres li>span{display:flex;flex-direction:column;min-width:0}
.znote-set{margin-top:0}
@media(max-width:900px){.chat-page{grid-template-columns:1fr}.chat-side{position:static}.cm{max-width:90%}}
.ztag{font-style:normal;font-size:10.5px;font-weight:700;background:#FAE843;color:#0E0F0F;border-radius:5px;padding:1px 6px;text-transform:uppercase;letter-spacing:.04em}
.cs-h2{margin-top:20px!important}
.client-chats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.client-chats a{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:12px;text-decoration:none;color:var(--ink);position:relative}
.client-chats a:hover{background:#F6F6F3}
.client-chats .wl-c{align-self:flex-start;font-size:12px;padding:3px 9px}
.client-chats .chat-badge{position:absolute;top:8px;right:8px}
.chat-hint.ro{padding:12px 14px;border-top:1px solid var(--line2)}
.capp .chat-main .chat{height:calc(100vh - 300px)}
/* chat layout tidy: title above, chat and side panel the same height and top */
.chat-top{margin-bottom:18px}.chat-top .lede{margin:4px 0 0}
.chat-page{align-items:stretch;height:calc(100vh - 240px);min-height:480px}
.chat-main,.chat-main .chat,.capp .chat-main .chat{height:100%;min-height:0}
.chat-side{position:static;height:100%;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column}
.cs-h{font-size:12px!important;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 10px!important}
.cs-h:not(:first-child){margin-top:22px!important;padding-top:18px;border-top:1px solid var(--line2)}
.team-pres{gap:4px;margin:0}
.team-pres li,.client-chats a{display:flex;align-items:center;gap:12px;padding:7px 8px;border-radius:12px;min-width:0}
.tp-b{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.3}
.tp-b strong{font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tp-s{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tp-you{font-size:11px;font-weight:600;color:var(--muted);background:#F2F3F1;border-radius:5px;padding:1px 6px;margin-left:4px;vertical-align:1px}
.client-chats{gap:2px}
.client-chats a{flex-direction:row;text-decoration:none;color:var(--ink)}
.client-chats a:hover{background:#F6F6F3}
.cc-dot{width:32px;height:32px;border-radius:10px;flex:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}
.client-chats .chat-badge{position:static;margin-left:auto}
.team-pres .avatar.sm,.team-pres .av-wrap .avatar{width:32px;height:32px;font-size:12px}
@media(max-width:900px){.chat-page{height:auto}.chat-main .chat,.capp .chat-main .chat{height:70vh}.chat-side{height:auto}}
.capp .chat-page{height:calc(100vh - 330px);min-height:440px}.capp .hello p{max-width:none}
/* since your last visit: calmer text */
.since .row-t{font-size:14.5px;font-weight:500;line-height:1.4}
.since .meta{font-size:13px}
/* ---------- notifications bell ---------- */
.nbell{position:relative}
.nbell>summary{list-style:none;cursor:pointer;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;color:var(--ink);background:#fff;border:1px solid var(--line2)}
.nbell>summary::-webkit-details-marker{display:none}
.zbar .nbell>summary{background:transparent;border-color:rgba(255,255,255,.18);color:#fff;width:34px;height:34px}
.nbell>summary:hover{background:#F6F6F3}.zbar .nbell>summary:hover{background:rgba(255,255,255,.1)}
.nb-c{position:absolute;top:-4px;right:-4px;font-style:normal;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#D93025;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #fff}
.nb-c[hidden]{display:none}
.nb-panel{position:absolute;right:0;top:calc(100% + 10px);width:380px;max-width:calc(100vw - 24px);background:#fff;border:1px solid rgba(20,24,28,.08);border-radius:18px;box-shadow:0 22px 50px -12px rgba(16,24,32,.3);z-index:400;overflow:hidden;color:var(--ink);animation:navIn2 .14s ease-out}
.nb-h{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 10px;border-bottom:1px solid var(--line2)}
.nb-h strong{font-size:15px}.nb-h form{margin:0}.nb-h .linkish{font-size:13px}
.nb-list{max-height:420px;overflow-y:auto;padding:6px}
.nb-empty{color:var(--muted);text-align:center;padding:28px 12px;margin:0;font-size:14px}
.nrow{display:flex;gap:12px;align-items:flex-start;padding:10px;border-radius:12px;text-decoration:none;color:var(--ink);position:relative}
.nrow:hover{background:#F6F6F3}
.nrow.unread{background:#FFFCE8}.nrow.unread:hover{background:#FFF8D0}
.nr-ic{width:32px;height:32px;border-radius:10px;flex:none;display:flex;align-items:center;justify-content:center;background:#F2F3F1;color:#3A4148}
.nr-ic.k-approval{background:#E4F6EC;color:#1B7F4B}.nr-ic.k-changes{background:#FFF1E0;color:#B45309}.nr-ic.k-chat{background:#EAF0FF;color:#2F5FD0}.nr-ic.k-mention{background:#F1EAFF;color:#6D3FD8}.nr-ic.k-task{background:#FFF7CC;color:#8A6D00}.nr-ic.k-request{background:#FDECEC;color:#B42318}
.nr-b{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.nr-t{font-size:13.5px;line-height:1.4;overflow-wrap:anywhere}
.nr-m{font-size:12px;color:var(--muted)}
.nr-dot{width:8px;height:8px;border-radius:50%;background:#2F5FD0;flex:none;margin-top:6px}
.nb-all{display:block;text-align:center;padding:12px;border-top:1px solid var(--line2);font-size:13.5px;font-weight:600;color:var(--ink);text-decoration:none}
.nb-all:hover{background:#F6F6F3}
.npage{padding:10px 14px}.npage .nrow{padding:12px}
.nday{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:16px 10px 6px}
.nday:first-child{margin-top:6px}
/* ---------- client folders ---------- */
.fold-page{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:start}
.fold-side{background:#fff;border:1px solid var(--line2);border-radius:18px;padding:10px;display:flex;flex-direction:column;gap:2px;position:sticky;top:20px}
.fold-side a{display:flex;align-items:center;gap:12px;padding:8px;border-radius:12px;text-decoration:none;color:var(--ink);min-width:0}
.fold-side a:hover{background:#F6F6F3}
.fold-side a[aria-current]{background:#FFF7C2}
.cc-dot.root{background:#0E0F0F;color:#FAE843;display:flex;align-items:center;justify-content:center}
.fold-main{padding:18px 20px}
.fold-h{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.fold-h h2{margin:0 0 4px}
.fold-acts{display:flex;gap:10px;align-items:center}
.fold-search input{border:1px solid var(--line);border-radius:999px;padding:8px 14px;font:inherit;font-size:14px;width:220px}
.fold-box .drive-frame{height:calc(100vh - 330px);min-height:420px}
@media(max-width:900px){.fold-page{grid-template-columns:1fr}.fold-side{position:static}}
.fold-box{border:1px solid var(--line2);border-radius:14px;overflow:hidden}.fold-box .drive-frame{display:block;width:100%;border:0;background:#fff}.fold-main .drive-note{font-size:13px;color:var(--muted);margin:10px 2px 0}
/* group accounts */
.gco-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.gco-c{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--line2);border-radius:16px;text-decoration:none;color:var(--ink);background:#fff;border-left:4px solid var(--gc)}
.gco-c:hover{background:#FAFAF8}
.gco-l{width:52px;height:52px;border-radius:12px;background:#F4F5F3;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none}
.gco-l img{max-width:44px;max-height:36px;object-fit:contain}.gco-l b{color:var(--gc)}
.gco-b{display:flex;flex-direction:column;min-width:0;flex:1}.gco-b strong{font-size:15.5px}
.gco-m{font-size:13px;color:var(--muted)}.gco-m em{font-style:normal;color:#B45309;font-weight:600}
.gco-go{font-size:13.5px;font-weight:600;white-space:nowrap}
.cb-group{color:var(--muted);text-decoration:none}.cb-group:hover{color:var(--ink);text-decoration:underline}
/* ---------- board cards (kanban) ---------- */
.kb{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(290px,1fr);gap:16px;overflow-x:auto;padding:4px 2px 16px;margin-top:var(--s3);align-items:start}
.kb-col{background:#EFF0ED;border-radius:22px;padding:14px 12px 12px;display:flex;flex-direction:column;min-width:0}
.kb-h{display:flex;justify-content:space-between;align-items:flex-start;padding:2px 6px 12px}
.kb-h h2{font-size:14.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin:0;display:flex;align-items:center;gap:10px}
.kb-h h2::before{content:"";width:4px;height:18px;border-radius:3px;background:var(--kc)}
.kb-n{display:block;font-size:12.5px;color:var(--muted);margin:3px 0 0 14px}
.kb-plus{width:30px;height:30px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--ink);font-size:19px;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.kb-plus:hover{background:#0E0F0F;color:#fff}
.kb-body{display:flex;flex-direction:column;gap:12px}
.kb-empty{margin:4px 6px 8px;color:var(--muted);font-size:13.5px}
.kb-add{margin:10px 6px 2px;color:#4A5157;text-decoration:none;font-size:14px;font-weight:500}.kb-add:hover{color:var(--ink)}
.kc{--pc:#C9CDD2;display:flex;flex-direction:column;background:#fff;border-radius:18px;text-decoration:none;color:var(--ink);box-shadow:0 1px 2px rgba(16,24,32,.05),0 6px 18px -10px rgba(16,24,32,.18);overflow:hidden;transition:transform .12s,box-shadow .12s}
.kc:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(16,24,32,.06),0 14px 28px -12px rgba(16,24,32,.28)}
.kc-band{display:block;text-align:center;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;padding:5px 0 14px;margin-bottom:-10px;background:linear-gradient(180deg,var(--pc),color-mix(in srgb,var(--pc) 75%,#fff))}
.kc.pr-urgent{--pc:#E5484D}.kc.pr-high{--pc:#F2780C}.kc.pr-normal{--pc:#3B82F6}.kc.pr-low{--pc:#2FA36B}
.kc-in{position:relative;background:#fff;border-radius:16px 16px 0 0;margin:0;padding:14px 16px 12px;display:flex;flex-direction:column;gap:6px}
.kc[class*="pr-"] .kc-in{margin:0 6px;border:1.5px dashed color-mix(in srgb,var(--pc) 35%,#E4E6E3);border-radius:14px;margin-top:0}
.kc-sec{font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.kc-t{font-size:15.5px;font-weight:600;line-height:1.3}
.kc-d{font-size:13.5px;color:#6B7278;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kc-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:4px}
.kc-who{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500}.kc-who.none{color:#9AA0A6;font-weight:400}
.kc-st{font-size:12px;font-weight:600;padding:4px 10px;border-radius:8px;background:#F2F3F1;color:#4A5157;white-space:nowrap}
.kc-st.s-doing{background:#FFF4D6;color:#A16207}.kc-st.s-client{background:#FFEBDD;color:#C2410C}.kc-st.s-ready{background:#E6F0FF;color:#2F5FD0}.kc-st.s-done{background:#E4F6EC;color:#1B7F4B}
.kc-f{display:flex;align-items:center;gap:14px;padding:10px 16px 12px;font-size:13px;color:#6B7278}
.kc-ic{display:inline-flex;align-items:center;gap:5px}
.kc-when{margin-left:auto;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.kc-when.late{color:#C0362C;font-weight:600}
.kc-bar{display:block;height:6px;border-radius:3px;background:#EEF0EC;overflow:hidden;margin-top:4px}.kc-bar span{display:block;height:100%;background:linear-gradient(90deg,#3B82F6,#8B5CF6)}
.kc-onb .kc-in{border-radius:16px}
/* ---------- activity feed ---------- */
.fd-wrap{padding:8px 24px 20px}
.fd-b{font-family:"Geist",system-ui,sans-serif;font-size:19px;font-weight:600;margin:22px 0 14px}
.fd{list-style:none;margin:0;padding:0}
.fd-e{position:relative;display:flex;gap:14px;padding-bottom:18px}
.fd-e:not(:last-child)::before{content:"";position:absolute;left:12px;top:28px;bottom:2px;width:2px;background:#E6E8E4;border-radius:2px}
.fd-i{width:26px;height:26px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;background:#8A9099;color:#fff;position:relative;z-index:1}
.k-approve .fd-i{background:#1FA37A}.k-changes .fd-i{background:#F2780C}.k-comment .fd-i,.k-chat .fd-i{background:#2F6FEB}.k-file .fd-i{background:#7C5CFC}.k-remove .fd-i{background:#6B7278}.k-add .fd-i{background:#3A4148}.k-bolt .fd-i{background:#0E0F0F;color:#FAE843}.k-version .fd-i{background:#0EA5B7}
.fd-c{flex:1;min-width:0;padding-top:2px}
.fd-t{font-size:15px;font-weight:600;color:var(--ink);line-height:1.4}
.fd-v{font-weight:400;color:#5B6167}
.fd-m{font-size:13px;color:var(--muted);margin-top:3px}
.fd-m a{color:var(--ink);font-weight:600;text-decoration:none}.fd-m a:hover{text-decoration:underline}
.fd-dot,.fd-chev{margin:0 4px;color:#B4B8BB}
.fd-q{display:flex;gap:12px;align-items:flex-start;margin-top:10px;padding:12px 14px;border:1px solid var(--line2);border-radius:12px;box-shadow:0 1px 3px rgba(16,24,32,.06);text-decoration:none;color:var(--ink);background:#fff}
.fd-q span{flex:1;border-left:3px solid #E1E4E0;padding-left:12px;font-size:14.5px;line-height:1.5}
.fd-q i{font-style:normal;width:26px;height:26px;border-radius:50%;border:1px solid var(--line2);display:flex;align-items:center;justify-content:center;font-size:13px;color:#6B7278;flex:none}
.fd-q:hover{border-color:#D5D8D3}.fd-q:hover i{background:#0E0F0F;color:#fff;border-color:#0E0F0F}
.pp-link{display:inline-flex;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:14px;color:#3A4148;text-decoration:none}
.pp-link.on{background:var(--pp,#0E0F0F);border-color:var(--pp,#0E0F0F);color:var(--ppi,#fff)}
/* ---------- assign a task form ---------- */
.tf-wrap{max-width:820px;margin:8px auto 40px}
.tform{background:#fff;border:1px solid var(--line2);border-radius:24px;box-shadow:0 18px 50px -30px rgba(16,24,32,.25);overflow:visible}
.tf-h{display:flex;gap:16px;align-items:center;padding:22px 28px;border-bottom:1px solid var(--line2)}
.tf-h h1{font-size:20px;margin:0}.tf-h p{margin:2px 0 0;color:var(--muted);font-size:14.5px}
.tf-ic{width:48px;height:48px;border-radius:50%;border:1.5px dashed #D5D8D3;display:flex;align-items:center;justify-content:center;color:#6B7278;flex:none}
.tf-body{padding:24px 28px 8px;display:flex;flex-direction:column;gap:20px}
.tf-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.tf-f{display:flex;flex-direction:column;gap:8px;min-width:0}
.tf-l{font-weight:600;font-size:15px}
.tform input[type=text],.tform input:not([type]),.tform input[name=title],.tform select,.tform textarea{font:inherit;font-size:15px;border:1px solid var(--line);border-radius:12px;padding:11px 14px;background:#fff;width:100%}
.tform textarea{resize:vertical;min-height:120px}
.tf-static{min-height:46px;display:flex;align-items:center}
.tf-date{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:0 14px;color:#6B7278}
.tf-date input{border:0;padding:11px 0;font:inherit;font-size:15px;flex:1;background:transparent;color:var(--ink);min-width:0}
.tf-date:focus-within,.tform input:focus,.tform select:focus,.tform textarea:focus{outline:2px solid #0E0F0F;outline-offset:1px}
.tf-date input:focus{outline:none}
.tf-pr{display:flex;gap:8px;flex-wrap:wrap}
.tf-prc{cursor:pointer;position:relative;padding:8px 14px!important;opacity:.55;border:1.5px solid transparent;transition:opacity .12s}
.tf-prc input{position:absolute;opacity:0;width:0;height:0}
.tf-prc:has(input:checked){opacity:1;border-color:currentColor}
.tf-prc:has(input:focus-visible){outline:2px solid #0E0F0F;outline-offset:2px}
.tf-prc:hover{opacity:.85}
.tf-drop{display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 16px;border:2px dashed #D5D8D3;border-radius:16px;background:#FAFAF8;color:#B4B8BB;text-align:center;cursor:pointer;transition:background .12s,border-color .12s}
.tf-drop strong{color:var(--ink);font-size:15px}.tf-drop>span:not(.btn){font-size:13.5px;color:var(--muted)}
.tf-drop .btn{margin-top:6px;pointer-events:none}
.tf-drop.over{background:#FFFBE0;border-color:#E3C800}.tf-drop.has{border-style:solid;border-color:#1FA37A;background:#F2FBF6}
.tf-foot{display:flex;justify-content:flex-end;gap:12px;padding:18px 28px 24px}
.pick-p{position:relative}
.pp-btn{width:100%;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:8px 14px;background:#fff;font:inherit;font-size:15px;cursor:pointer;text-align:left;min-height:46px}
.pp-btn .chev{margin-left:auto;color:#6B7278}.pp-ph{color:var(--muted)}
.pp-none-av{width:24px;height:24px;border-radius:50%;border:1.5px dashed #C3C7C2;display:inline-flex;align-items:center;justify-content:center;color:#8A9099;font-size:14px;flex:none}
.pp-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid rgba(20,24,28,.08);border-radius:14px;box-shadow:0 18px 40px -10px rgba(16,24,32,.28);padding:6px;z-index:50;max-height:300px;overflow:auto}
.pp-menu button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;font:inherit;font-size:14.5px;padding:8px 10px;border-radius:9px;cursor:pointer;text-align:left;color:var(--ink)}
.pp-menu button:hover,.pp-menu button:focus-visible,.pp-menu button[aria-selected=true]{background:#F2F2EF;outline:none}
@media(max-width:700px){.tf-grid{grid-template-columns:1fr}.tf-h,.tf-body,.tf-foot{padding-left:18px;padding-right:18px}}
/* HQ sweep: real buttons and links */
.bx-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;padding:6px 12px;border-radius:999px;background:#F4F5F3;border:1px solid var(--line2);white-space:nowrap}
.bx-btn:hover{background:#0E0F0F;color:#fff;border-color:#0E0F0F}
.hs-l{color:inherit;text-decoration:none;border-bottom:1px dashed currentColor}.hs-l:hover{border-bottom-style:solid}
.hs-l.late b{color:#C0362C}
.tw-btn{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:#6B4E00;font-size:14px;line-height:1.4}
.tw-go{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;background:#0E0F0F;color:#fff;font-weight:600;font-size:13px;padding:7px 14px;border-radius:999px}
.tw-btn:hover .tw-go{background:#2a2c2c}
.tl-g{scroll-margin-top:20px}
/* rail polish: softer tab corners, depth instead of chunky bulges */
@media(min-width:861px){
 .crail,.zrail{box-shadow:inset -14px 0 22px -18px rgba(0,0,0,.55)}
 .crail .cr-i.on,.zrail .zr-i.on{border-radius:14px 0 0 14px;box-shadow:-8px 8px 18px -12px rgba(0,0,0,.45)}
 .crail .cr-i.on::before,.crail .cr-i.on::after,.zrail .zr-i.on::before,.zrail .zr-i.on::after{width:14px;height:14px}
 .crail .cr-i.on::before,.zrail .zr-i.on::before{top:-14px;background:radial-gradient(circle at 0 0,transparent 13.5px,var(--tabbg,var(--canvas)) 14px)}
 .crail .cr-i.on::after,.zrail .zr-i.on::after{bottom:-14px;background:radial-gradient(circle at 0 100%,transparent 13.5px,var(--tabbg,var(--canvas)) 14px)}
 .wide .cr-logo{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.12);border-radius:0}
 .wide .cr-lt{box-shadow:0 6px 16px -8px rgba(0,0,0,.5)}
 .wide .zr-logo{margin-bottom:10px}
}
/* ---------- task side panel ---------- */
html.tp-open{overflow:hidden}
.tp{position:fixed;inset:0;z-index:300}
.tp-scrim{position:absolute;inset:0;background:rgba(14,15,15,.42);opacity:0;transition:opacity .22s ease}
.tp.on .tp-scrim{opacity:1}
.tp-sheet{position:absolute;top:12px;right:12px;bottom:12px;width:min(1060px,calc(100vw - 110px));background:#fff;border-radius:20px;box-shadow:0 30px 80px -20px rgba(0,0,0,.45);display:flex;flex-direction:column;overflow:hidden;transform:translateX(40px);opacity:0;transition:transform .24s cubic-bezier(.2,.8,.2,1),opacity .2s ease}
.tp.on .tp-sheet{transform:none;opacity:1}
.tp-nav{position:absolute;top:24px;right:calc(min(1060px,calc(100vw - 110px)) + 26px);display:flex;flex-direction:column;background:#fff;border-radius:999px;padding:4px;box-shadow:0 10px 26px -10px rgba(0,0,0,.4);opacity:0;transition:opacity .2s}
.tp.on .tp-nav{opacity:1}
.tp-nav button{width:40px;height:40px;border:0;background:none;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;color:#0E0F0F}
.tp-nav button:hover:not(:disabled){background:#F2F2EF}
.tp-nav button:disabled{color:#c8ccd0;cursor:default}
.tp-top{display:flex;align-items:center;justify-content:space-between;padding:12px 22px;border-bottom:1px solid #ECECE8;font-size:13.5px;color:#6d7a84}
.tp-close{border:0;background:none;font:inherit;font-weight:600;color:#1FA37A;cursor:pointer;padding:6px 8px;border-radius:8px}
.tp-close:hover{background:#EEF8F3}
.tp-body-w{flex:1;min-height:0;display:flex;transition:opacity .15s}
.tp-body-w.loading{opacity:.45;pointer-events:none}
.tp-in{flex:1;min-height:0;display:grid;grid-template-columns:320px minmax(0,1fr)}
.tp-in.saving{cursor:progress}
.tp-l{border-right:1px solid #ECECE8;padding:22px;overflow-y:auto;display:flex;flex-direction:column}
.tp-r{display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:18px 26px 22px}
.tp-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.tp-tags .cc{font-size:11.5px;padding:3px 10px;border-radius:999px}
.tp-tag{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;background:#F2F2EF;color:#4b5561;border-radius:6px;padding:3px 8px;display:inline-flex;align-items:center;gap:5px}
.tp-tag.pr i{width:7px;height:7px;border-radius:50%;background:currentColor}
.tp-tag.pr-urgent{background:#FDECEA;color:#C5221F}.tp-tag.pr-high{background:#FFF6DB;color:#9A6B00}.tp-tag.pr-normal{background:#EAF0FE;color:#3563D6}.tp-tag.pr-low{background:#F2F2EF;color:#6d7a84}
.tp-title{font-size:22px;color:#0E0F0F;margin:0 0 4px;line-height:1.25}
.tp-sub{margin:0 0 18px;color:#6d7a84;font-size:14px}
.tp-acts{display:flex;gap:8px;margin-bottom:18px}
.tp-main{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#FAE843;color:#0E0F0F;border:0;border-radius:999px;padding:11px 16px;font:inherit;font-weight:600;font-size:15px;cursor:pointer;text-decoration:none}
.tp-main:hover{filter:brightness(.96)}
.tp-main.done{background:#E6F6EF;color:#137A57}
.tp-icon{width:44px;height:44px;border-radius:50%;border:1px solid #E2E3DF;display:inline-flex;align-items:center;justify-content:center;color:#0E0F0F;flex:none}
.tp-icon:hover{background:#F6F6F3}
.tp-due{background:#F6F6F3;border-radius:14px;padding:14px 16px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 10px;margin-bottom:22px}
.tp-due .tp-dl{grid-column:1;font-size:13px;color:#6d7a84}
.tp-due strong{grid-column:1;font-size:19px;color:#0E0F0F;font-weight:600}
.tp-due.late{background:#FDECEA}.tp-due.late .tp-dl,.tp-due.late strong{color:#B3261E}
.tp-dchange{grid-column:2;grid-row:1/3;position:relative;font-size:13.5px;font-weight:600;color:#1FA37A;cursor:pointer;padding:4px 2px}
.tp-dchange input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.tp-h{font-size:15px;color:#0E0F0F;margin:0 0 10px}
.tp-dl2{margin:0;display:flex;flex-direction:column;gap:2px}
.tp-dl2>div{display:grid;grid-template-columns:1fr;gap:2px;padding:9px 0;border-bottom:1px solid #F0F0EC}
.tp-dl2 dt{display:flex;align-items:center;gap:7px;font-size:12.5px;color:#7a858f}
.tp-dl2 dd{margin:0 0 0 23px;font-size:14.5px;color:#0E0F0F}
.tp-dl2 select{font:inherit;font-size:14.5px;border:1px solid transparent;background:transparent;border-radius:8px;padding:3px 6px;margin-left:-7px;color:#0E0F0F;cursor:pointer;max-width:100%}
.tp-dl2 select:hover{border-color:#E2E3DF;background:#FAFAF8}
.tp-foot{margin-top:auto;padding-top:18px;font-size:12.5px;color:#9aa3ab}
.tp-stages{display:flex;gap:3px;margin-bottom:16px}
.tp-stg{flex:1;border:0;font:inherit;font-size:12.5px;font-weight:600;padding:8px 14px 8px 18px;background:#EDEEEA;color:#6d7a84;cursor:pointer;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%,10px 50%);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tp-stg:first-child{clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%);border-radius:999px 0 0 999px;padding-left:14px}
.tp-stg:last-child{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,10px 50%);border-radius:0 999px 999px 0}
.tp-stg.past{background:#CDEFE1;color:#137A57}
.tp-stg.now{background:#1FA37A;color:#fff;cursor:default}
.tp-stg:not(.now):hover{filter:brightness(.95)}
.tp-tabs{display:flex;gap:4px;border-bottom:1px solid #ECECE8;margin-bottom:16px}
.tp-tabs button{border:0;background:none;font:inherit;font-size:14px;font-weight:500;color:#6d7a84;padding:10px 12px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.tp-tabs button.on{color:#0E0F0F;border-bottom-color:#0E0F0F;font-weight:600}
.tp-tabs em{font-style:normal;font-size:11.5px;background:#F2F2EF;border-radius:999px;padding:1px 7px;margin-left:3px}
.tp-pane{flex:1;min-height:0}
.tp-pane[data-pane=chat]{display:flex;flex-direction:column}
.tp-pane[data-pane=chat][hidden]{display:none}
.tp-pane .chat{flex:1;display:flex;flex-direction:column;min-height:320px}
.tp-pane .chat-log{flex:1;max-height:none;min-height:220px}
.tp-body{font-size:15px;color:#2b333b}
.tp-empty{color:#7a858f;font-size:14.5px}
.tp-file{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #ECECE8;border-radius:14px;text-decoration:none;color:#0E0F0F;margin-bottom:8px}
.tp-file:hover{background:#FAFAF8}
.tp-file img{width:64px;height:48px;object-fit:cover;border-radius:8px}
.tp-fic{width:44px;height:44px;border-radius:10px;background:#F2F2EF;display:flex;align-items:center;justify-content:center;flex:none}
.tp-file strong{display:block;font-size:14.5px}.tp-file small{color:#7a858f;font-size:12.5px}
.tp-feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.tp-feed li{display:flex;gap:10px;align-items:flex-start}
.tp-ft{display:block;font-size:14.5px;color:#0E0F0F}.tp-fm{display:block;font-size:12.5px;color:#9aa3ab}
@media(max-width:860px){
 .tp-sheet{inset:0;width:auto;border-radius:0}
 .tp-nav{display:none}
 .tp-in{display:block;overflow-y:auto}
 .tp-l{border-right:0;border-bottom:1px solid #ECECE8}
 .tp-stages{overflow-x:auto}
 .tp-stg{flex:none}
}
/* ---------- all chats inbox ---------- */
.ib{display:grid;grid-template-columns:330px minmax(0,1fr);height:calc(100vh - 118px);min-height:520px;background:#fff;border:1px solid #E8E8E4;border-radius:22px;overflow:hidden}
.ib-list{display:flex;flex-direction:column;min-height:0;border-right:1px solid #ECECE8}
.ib-lh{padding:18px 16px 0}
.ib-lh h1{font-size:22px;color:#0E0F0F;margin:0 0 12px}
.ib-search{display:flex;align-items:center;gap:8px;background:#F4F4F1;border-radius:12px;padding:0 12px;color:#7a858f}
.ib-search input{flex:1;border:0;background:none;font:inherit;font-size:14.5px;padding:10px 0;outline:none;min-width:0;color:#0E0F0F}
.ib-search:focus-within{box-shadow:0 0 0 2px #0E0F0F}
.ib-tabs{display:flex;gap:2px;margin:12px -4px 0;border-bottom:1px solid #ECECE8;overflow-x:auto;scrollbar-width:none}
.ib-tabs button{border:0;background:none;font:inherit;font-size:13.5px;color:#6d7a84;padding:9px 9px;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;white-space:nowrap}
.ib-tabs button.on{color:#0E0F0F;font-weight:600;border-bottom-color:#0E0F0F}
.ib-rows{flex:1;overflow-y:auto;padding:4px 8px 12px}
.ib-sec{font-size:12px;font-weight:600;color:#9aa3ab;text-transform:uppercase;letter-spacing:.04em;margin:12px 8px 4px}
.ib-none{color:#7a858f;font-size:14px;padding:16px 8px}
.ib-row{display:flex;gap:11px;align-items:center;padding:10px 10px;border-radius:14px;text-decoration:none;color:#0E0F0F;position:relative}
.ib-row:hover{background:#F6F6F3}
.ib-row.on{background:#F1F1EC}
.ib-row.on::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:#0E0F0F}
.ib-rb{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.ib-rt{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.ib-rt strong{font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ib-rt time{font-size:12px;color:#9aa3ab;flex:none}
.ib-rs{font-size:12px;color:#7a858f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ib-rp{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#6d7a84}
.ib-rp span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ib-rp em{font-style:normal;font-size:11.5px;font-weight:700;background:#1FA37A;color:#fff;border-radius:999px;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;flex:none}
.ib-row.unread .ib-rt strong,.ib-row.unread .ib-rp span{color:#0E0F0F}
.ib-row.unread .ib-rt time{color:#1FA37A;font-weight:600}
.ib-av{width:44px;height:44px;border-radius:14px;flex:none;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #ECECE8;overflow:hidden;font-weight:700;font-size:14px}
.ib-av img{max-width:78%;max-height:70%;object-fit:contain}
.ib-av.zest{background:#FAE843;border-color:#FAE843;color:#0E0F0F}
.ib-av.sm{width:36px;height:36px;border-radius:11px;font-size:12px}
.ib-av.lg{width:42px;height:42px}
.ib-av.xl{width:72px;height:72px;border-radius:20px;font-size:22px}
.ib-av-t{position:relative;width:44px;height:44px;flex:none;display:inline-flex;align-items:center;justify-content:center}
.ib-av-t i{position:absolute;right:-2px;bottom:-2px;width:20px;height:20px;border-radius:50%;background:#0E0F0F;color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.ib-av-t.lg{width:42px;height:42px}
.ib-pane{display:grid;grid-template-columns:minmax(0,1fr) 300px;min-height:0;transition:opacity .15s}
.ib-pane.loading{opacity:.5}
.ib-mid{display:flex;flex-direction:column;min-height:0;min-width:0}
.ib-head{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid #ECECE8}
.ib-head>div{flex:1;min-width:0;display:flex;flex-direction:column}
.ib-head strong{font-size:16px;color:#0E0F0F;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ib-head span{font-size:12.5px;color:#7a858f}
.ib-hbtn{font-size:13.5px;font-weight:600;color:#0E0F0F;text-decoration:none;border:1px solid #E2E3DF;border-radius:999px;padding:7px 14px;white-space:nowrap}
.ib-hbtn:hover{background:#F6F6F3}
.ib-back{display:none;border:0;background:none;padding:6px;margin-left:-6px;cursor:pointer;color:#0E0F0F}
.ib-mid .chat{flex:1;min-height:0;display:flex;flex-direction:column;border:0;border-radius:0;box-shadow:none;background:#FAFAF8}
.ib-mid .chat-log{flex:1;min-height:0;max-height:none}
.ib-side{border-left:1px solid #ECECE8;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:12px;background:#fff}
.ib-card{border:1px solid #ECECE8;border-radius:16px;padding:14px 14px}
.ib-card h4{font-size:13.5px;margin:0 0 10px;color:#0E0F0F}
.ib-hero{text-align:center;border:0;padding:8px 6px 4px}
.ib-hero .ib-av{margin:0 auto 10px}
.ib-hero h3{font-size:17px;color:#0E0F0F;margin:0 0 2px}
.ib-hero p{font-size:13px;color:#7a858f;margin:0}
.ib-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:14px}
.ib-quick a{display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;color:#0E0F0F;font-size:12px;padding:8px 2px;border-radius:12px}
.ib-quick a svg{width:36px;height:36px;padding:8px;border-radius:50%;background:#F4F4F1;box-sizing:border-box}
.ib-quick a:hover svg{background:#FAE843}
.ib-stat{display:block;text-decoration:none;color:#4b5561;font-size:14px;padding:6px 0}
.ib-stat b{font-size:18px;color:#0E0F0F;margin-right:4px}
.ib-stat.late b{color:#C5221F}
.ib-card .team-pres{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.ib-card .team-pres li{display:flex;gap:10px;align-items:flex-start}
.ib-mail{color:#3563D6!important;text-decoration:none;word-break:break-all}
.ib-dl{margin:0 0 12px}.ib-dl div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid #F2F2EF;font-size:14px}
.ib-dl dt{color:#7a858f}.ib-dl dd{margin:0;text-align:right;color:#0E0F0F}.ib-dl dd.late{color:#C5221F}
@media(max-width:1180px){.ib-pane{grid-template-columns:minmax(0,1fr)}.ib-side{display:none}}
@media(max-width:860px){
 .ib{grid-template-columns:minmax(0,1fr);height:calc(100vh - 170px);border-radius:18px}
 .ib-list{border-right:0}
 .ib.show-pane .ib-list{display:none}
 .ib:not(.show-pane) .ib-pane{display:none}
 .ib-back{display:inline-flex}
 .ib-hbtn{display:none}
}
.ib-list,.ib-pane,.ib-rows{min-width:0}
/* ---------- selects: one chevron, even padding ---------- */
select:not([multiple]):not([size]){-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1.5 1.5l4.5 4.5 4.5-4.5' fill='none' stroke='%23303840' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px 8px;padding-right:42px!important;cursor:pointer}
.zbar .switch select:not([multiple]):not([size]){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1.5 1.5l4.5 4.5 4.5-4.5' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;padding-right:32px!important}
.tp-dl2 select:not([multiple]){background-position:right 8px center;padding-right:28px!important}
.who-pick select{padding:10px 44px 10px 20px!important;font-size:15px;border-radius:999px;border:1px solid var(--line2);background-color:#fff;min-height:44px}
/* ---------- My work, calmer task lists ---------- */
.greet-row .mw-acts{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mw-sum{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 22px}
.mw-sum a{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line2);border-radius:14px;padding:10px 16px 10px 14px;text-decoration:none;color:#4b5561;font-size:14px;position:relative}
.mw-sum a::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gc)}
.mw-sum a b{font-size:20px;color:#0E0F0F;font-weight:600;line-height:1}
.mw-sum a:hover{border-color:#cfd2cc}
.mw-sum a.zero{opacity:.55}
.tlist{gap:16px}
.tl-g{background:#fff!important;border:1px solid var(--line2)!important;border-radius:18px!important;overflow:hidden;padding:0!important}
.tl-g>summary{background:#fff!important;border-radius:0!important;padding:14px 18px!important}
.tl-g>summary:hover{background:#FAFAF8!important}
.tl-head{padding:8px 18px!important;background:#FAFAF8;border-top:1px solid var(--line2);font-size:12px!important;text-transform:uppercase;letter-spacing:.04em;color:#8a939b!important}
.tl-row{padding:8px 18px!important;min-height:52px!important;border-bottom:1px solid #F0F0EC!important}
.tl-row:last-child{border-bottom:0!important}
.tl-t{font-weight:500!important;font-size:14.5px!important;color:#0E0F0F}
.tl-sec{font-size:12.5px;color:#8a939b}
.with-client .tl-head,.with-client .tl-row{grid-template-columns:30px minmax(0,1fr) 190px 150px 120px 110px!important}
.with-client.no-who .tl-head,.with-client.no-who .tl-row{grid-template-columns:30px minmax(0,1fr) 200px 160px 110px!important}
.no-who .tl-as,.no-who .tl-head span:nth-child(5){display:none}
.tl-cl{display:flex;align-items:center;gap:9px;min-width:0;font-size:13.5px;color:#4b5561}
.tl-cl>span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ib-av.xs{width:24px;height:24px;border-radius:7px;font-size:9.5px;font-weight:700}
.tl-due{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.tl-due button{font-size:13.5px;font-weight:600}
.tl-due.late button{background:#FDECEA;color:#B3261E;border-radius:999px!important;padding:3px 10px!important}
.tl-lb{font-size:11.5px;color:#B3261E;padding-left:10px;font-weight:500}
.tl-lb:empty{display:none}
.tl-pr.pr-none span{display:none}
.tl-pr.pr-none{opacity:.55}
.tl-row:hover .tl-pr.pr-none{opacity:1}
.tl-row:hover .tl-pr.pr-none span{display:inline}
.tl-more{display:block;width:100%;border:0;border-top:1px solid #F0F0EC;background:#FAFAF8;font:inherit;font-size:14px;font-weight:600;color:#0E0F0F;padding:12px;cursor:pointer}
.tl-g .tl-more{margin:0}
.tl-more:hover{background:#F2F2EF}
@media(max-width:900px){.with-client .tl-row,.with-client.no-who .tl-row{grid-template-columns:30px minmax(0,1fr) auto!important}}
/* ---------- item page, two columns ---------- */
.itm-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.itm-crumb a{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:#4b5561;text-decoration:none;padding:6px 12px 6px 8px;border-radius:999px;background:#fff;border:1px solid var(--line2)}
.itm-crumb a:hover{color:#0E0F0F;border-color:#cfd2cc}
.itm-top .pager{display:flex;align-items:center;gap:8px;margin:0}
.itm-head{background:#fff;border:1px solid var(--line2);border-radius:22px;padding:26px 28px 22px;margin-bottom:18px}
.itm-eyebrow{display:inline-block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6d7a84;background:#F4F4F1;border-radius:6px;padding:3px 8px;margin-bottom:12px}
.itm-ht{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.itm-ht h1{margin:0;font-size:clamp(26px,3.4vw,36px);color:#0E0F0F;line-height:1.15}
.itm-meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin:14px 0 0;font-size:14px;color:#6d7a84}
.itm-meta span{display:inline-flex;align-items:center;gap:7px}
.itm{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.itm-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.itm-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:20px}
.itm-card{background:#fff;border:1px solid var(--line2);border-radius:20px;padding:20px 22px;margin:0}
.itm-card h2{font-size:16px;color:#0E0F0F;margin:0 0 12px}
.itm-ch{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.itm-ch h2{margin:0}
.itm-copy{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line2);background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;font-weight:600;color:#0E0F0F;cursor:pointer}
.itm-copy:hover{background:#F6F6F3}
.itm-card .prose{font-size:15.5px;line-height:1.65;color:#2b333b}
.itm-img{margin:0;background:#fff;border:1px solid var(--line2);border-radius:20px;padding:10px}
.itm-img img{display:block;width:100%;height:auto;border-radius:12px}
.itm-atts{display:flex;flex-direction:column;gap:8px}
.itm-att{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #ECECE8;border-radius:14px;text-decoration:none;color:#0E0F0F}
.itm-att:hover{background:#FAFAF8;border-color:#dcdcd6}
.itm-att>span:nth-child(2){flex:1;min-width:0}
.itm-att strong{display:block;font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.itm-att small{font-size:12.5px;color:#7a858f}
.itm-ai{width:40px;height:40px;border-radius:12px;background:#F4F4F1;display:flex;align-items:center;justify-content:center;flex:none}
.itm-go{color:#7a858f}
.itm-note{margin:0;background:#FFF8E1;border-radius:14px;padding:12px 16px;font-size:14.5px;color:#6B4E00}
.itm-note.warn{background:#FDECEA;color:#8C1D18}
.itm-card.decide{border:2px solid var(--accent)}
.itm-conv .itm-thread{display:flex;flex-direction:column;gap:14px;margin-bottom:14px}
.itm-count{font-size:12px;font-weight:600;background:#F2F2EF;border-radius:999px;padding:2px 9px;color:#4b5561}
.itm-empty{color:#7a858f;font-size:14.5px;margin:0 0 4px}
.itm-cm{display:flex;gap:10px;align-items:flex-start}
.itm-cb{background:#F6F6F3;border-radius:4px 16px 16px 16px;padding:10px 14px;max-width:85%}
.itm-cm.from-zest .itm-cb{background:#FFFBE0}
.itm-cm.mine{flex-direction:row-reverse}
.itm-cm.mine .itm-cb{background:#0E0F0F;color:#fff;border-radius:16px 4px 16px 16px}
.itm-cm.mine .itm-cb .prose{color:#fff}
.itm-cm.mine .itm-cmh span{color:rgba(255,255,255,.6)}
.itm-cmh{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:2px}
.itm-cmh span{color:#8a939b}
.itm-cb .prose{font-size:14.5px;line-height:1.55}
.itm-cb .prose p{margin:0}
.itm-compose{display:flex;gap:10px;align-items:flex-end;border:1px solid #E2E3DF;border-radius:16px;padding:8px 8px 8px 14px;background:#fff}
.itm-compose:focus-within{border-color:#0E0F0F}
.itm-compose textarea{flex:1;border:0;outline:none;font:inherit;font-size:15px;resize:vertical;min-height:44px;padding:8px 0;background:transparent}
.itm-compose .btn{border-radius:999px;padding:10px 18px}
.itm-hint{font-size:12.5px;color:#8a939b;margin:8px 2px 0}
.itm-facts dl{margin:0}
.itm-facts dl>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #F0F0EC;font-size:14px}
.itm-facts dl>div:last-child{border-bottom:0}
.itm-facts dt{color:#7a858f}
.itm-facts dd{margin:0;text-align:right;color:#0E0F0F;font-weight:500}
.itm-own{display:flex;align-items:center;gap:8px}
.itm-hist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;border-left:2px solid #ECECE8;padding-left:14px}
.itm-hist li{display:flex;flex-direction:column;font-size:14px;position:relative}
.itm-hist li::before{content:"";position:absolute;left:-19px;top:6px;width:8px;height:8px;border-radius:50%;background:#cfd2cc}
.itm-hist li:first-child::before{background:#1FA37A}
.itm-hist small{font-size:12.5px;color:#8a939b}
.itm-zest{background:#FAFAF6;border-style:dashed}
.itm-zest .btn{display:inline-flex;align-items:center;gap:6px}
.itm-stf{display:flex;flex-direction:column;gap:8px;margin:14px 0 8px}
.itm-stf label[for]{font-size:13px;color:#7a858f}
.itm-stf select{font:inherit;font-size:14.5px;padding:9px 14px;border:1px solid var(--line2);border-radius:12px;background-color:#fff}
.itm-stf .btn{align-self:flex-start}
.itm-zest .linkish.danger{color:#B3261E;font-size:13.5px;margin-top:6px}
.itm details.itm-card>summary{cursor:pointer;font-weight:600;color:#0E0F0F}
.itm .znotes{background:#fff;border:1px solid var(--line2);border-radius:20px;padding:20px 22px;margin:0}
@media(max-width:1000px){.itm{grid-template-columns:1fr}.itm-side{position:static}}
.itm .form{max-width:none}.itm .form textarea{width:100%;max-width:none;border-radius:14px}.itm-facts dt{white-space:nowrap}
/* ---------- sales ---------- */
.sl-sum span{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line2);border-radius:14px;padding:10px 16px 10px 14px;color:#4b5561;font-size:14px}
.sl-sum span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gc)}
.sl-sum b{font-size:20px;color:#0E0F0F;font-weight:600;line-height:1}
.sl-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}
.sl-list{display:flex;flex-direction:column;gap:12px;min-width:0}
.sl-card{background:#fff;border:1px solid var(--line2);border-radius:18px;padding:16px 20px}
.sl-card.on{border-color:#0E0F0F;box-shadow:0 10px 30px -18px rgba(0,0,0,.35)}
.sl-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sl-st{font-size:12px;font-weight:600;color:var(--sc);background:color-mix(in srgb,var(--sc) 12%,#fff);border-radius:999px;padding:3px 10px}
.sl-name{font-size:16.5px;font-weight:600;color:#0E0F0F;text-decoration:none}
.sl-name:hover{text-decoration:underline}
.sl-co{font-size:14px;color:#7a858f}
.sl-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px;font-size:13.5px;color:#6d7a84;align-items:center}
.sl-meta a{color:#0E0F0F;font-weight:600}
.sl-hot{color:#137A57;font-weight:600}
.sl-meta .linkish{font-size:13.5px;color:#0E0F0F}
.sl-empty{background:#fff;border:1px dashed #cfd2cc;border-radius:18px;padding:28px;text-align:center}
.sl-empty h2{font-size:18px;color:#0E0F0F}
.sl-new>summary,.sl-edit>summary{cursor:pointer;font-weight:600;color:#0E0F0F}
.sl-form{margin-top:14px;max-width:none}
.sl-edit{margin-top:14px;border-top:1px solid #F0F0EC;padding-top:12px}
.sl-card form .linkish.danger{color:#B3261E;font-size:13px;margin-top:10px}
.sv-list{list-style:none;margin:14px 0 0;padding:0 0 0 14px;border-left:2px solid #ECECE8;display:flex;flex-direction:column;gap:14px}
.sv-list.mini{margin-top:12px}
.sv{position:relative}
.sv-dot{position:absolute;left:-20px;top:5px;width:10px;height:10px;border-radius:50%;background:#FAE843;border:2px solid #fff;box-shadow:0 0 0 1px #d9c93a}
.sv-t{margin:0;font-size:14.5px;color:#0E0F0F}
.sv-p{margin:2px 0 0;font-size:13.5px;color:#4b5561}
.sv time{font-size:12.5px;color:#8a939b}
.sv-none{color:#7a858f;font-size:14px}
.sl-feed{position:sticky;top:20px;max-height:calc(100vh - 140px);overflow-y:auto}
@media(max-width:1000px){.sl-grid{grid-template-columns:1fr}.sl-feed{position:static;max-height:none}}
/* client view bar: readable on the black Zest strip */
.zbar.cv-on,.zbar.cv-on .wrap{background:#0E0F0F!important}
.zbar.cv-on .wrap{display:flex;align-items:center;gap:14px}
.zbar.cv-on .zbar-logo{filter:none!important}
.zbar.cv-on span{font-weight:500;font-size:14px}
.zbar.cv-on .cv-tag{display:inline-flex;align-items:center;gap:6px;background:#FAE843;color:#0E0F0F;border-radius:999px;padding:4px 12px 4px 10px;font-weight:600;font-size:13px}
.zbar.cv-on .cv-msg{color:rgba(255,255,255,.88)}
.zbar.cv-on .cv-btn{margin-left:auto;background:#fff!important;color:#0E0F0F!important;border-radius:999px;padding:6px 14px!important;font-weight:600;text-decoration:none}
.zbar.cv-on .cv-btn:hover{background:#FAE843!important}
@media(max-width:760px){.zbar.cv-on .cv-msg{display:none}}
/* ---------- Zest-only (not client facing) sections: yellow marker ---------- */
.zo-tag{display:inline-flex;align-items:center;gap:6px;background:#FAE843;color:#0E0F0F;border-radius:999px;padding:4px 12px 4px 10px;font-size:12.5px;font-weight:600;letter-spacing:.01em;white-space:nowrap}
.znotes,.itm .znotes,.itm-zest{position:relative;background:#FFFDF2!important;border:1px solid #F1E48A!important;border-left:6px solid #FAE843!important;border-radius:20px}
.znotes .p2-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.znotes .p2-h h2{margin:0;font-size:18px;color:#0E0F0F}
.znotes .zfacts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;font-size:14px}
.znotes .zfacts span{background:#fff;border:1px solid #EFE7B5;border-radius:999px;padding:4px 12px}
.znotes .zfacts .amber{background:#FFF4D6;border-color:#F2D38A;color:#8A5A00}
.znotes .chat{background:#fff;border:1px solid #EFE7B5}
.znotes .chat-log{min-height:120px;height:auto;max-height:420px}
.znotes .chat-log:has(.chat-empty){min-height:0;padding:22px 18px}
.znotes .chat-empty{margin:0;font-size:14.5px}
.znote-f{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end;margin-top:16px}
.znote-f label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:600;color:#4b5561;margin:0}
.znote-f select,.znote-f input{font:inherit;font-size:15px;font-weight:400;border:1px solid #E2DDB8;border-radius:12px;padding:10px 14px;background-color:#fff;height:46px;width:100%}
.znote-f .btn{height:46px}
.itm-zest h2{margin-bottom:12px}
.itm-zest h2 .zo-tag{font-size:13px}
@media(max-width:700px){.znote-f{grid-template-columns:1fr}}
.znotes .chat{height:auto!important;min-height:0!important}.znotes .chat-log{flex:none!important;height:auto!important;min-height:90px}.znotes .chat-log:has(.chat-empty){min-height:0!important;align-items:center;justify-content:center}.znotes .chat-empty{text-align:center;width:100%;color:#7a858f}
/* ---------- daily downlow ---------- */
.dl{background:#0E0F0F;color:#fff;border-radius:26px;padding:24px 26px 22px;margin:0 0 22px;position:relative;overflow:hidden}
.dl::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(250,232,67,.28),transparent 70%);pointer-events:none}
.dl-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;position:relative;z-index:1}
.dl-kick{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#FAE843;margin-bottom:4px}
.dl-head h2{color:#fff;font-size:24px;margin:0}
.dl-when{font-size:13px;color:rgba(255,255,255,.6)}
.dl-chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 4px;position:relative;z-index:1}
.dl-chip{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.85);text-decoration:none;border-radius:999px;padding:6px 14px 6px 8px;font-size:13.5px}
.dl-chip b{background:#fff;color:#0E0F0F;border-radius:999px;min-width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0 7px;font-size:13.5px}
.dl-chip.late b{background:#FF6B5E;color:#fff}.dl-chip.hot b{background:#FAE843}
.dl-chip.zero{opacity:.5}
.dl-chip:hover{background:rgba(255,255,255,.14)}
.dl-sum{font-size:16.5px;line-height:1.55;color:rgba(255,255,255,.92);margin:16px 0 4px;max-width:900px;position:relative;z-index:1}
.dl-empty{font-size:14.5px;color:rgba(255,255,255,.7);margin:14px 0 0;max-width:760px}
.dl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:18px;position:relative;z-index:1}
.dl-sec{background:#fff;color:#0E0F0F;border-radius:18px;padding:14px 16px}
.dl-sec h3{font-size:14px;margin:0 0 8px;color:#0E0F0F;display:flex;align-items:center;gap:8px}
.dl-sec h3 em{font-style:normal;font-size:11.5px;background:#F2F2EF;border-radius:999px;padding:1px 8px;color:#4b5561}
.dl-needs h3::before{content:"";width:8px;height:8px;border-radius:50%;background:#FAE843;box-shadow:0 0 0 3px #FFF6B3}
.dl-sec ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.dl-i{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid #F0F0EC}
.dl-i:first-child{border-top:0}
.dl-ib{flex:1;min-width:0}
.dl-ib p{margin:0;font-size:14.5px;line-height:1.45}
.dl-ib p a{color:#0E0F0F;text-decoration:none}
.dl-ib p a:hover{text-decoration:underline}
.dl-ib small{display:block;font-size:12.5px;color:#8a939b;margin-top:2px}
.dl-cl{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#4b5561;margin-bottom:3px}
.dl-cl .ib-av.xs{width:18px;height:18px;border-radius:5px;font-size:8px}
.dl-time{font-size:13px;font-weight:700;min-width:46px;color:#0E0F0F;padding-top:1px}
.dl-tick{width:22px;height:22px;flex:none;border-radius:50%;border:1.8px solid #cfd2cc;background:#fff;color:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-top:1px;padding:0}
.dl-tick:hover{border-color:#1FA37A}
.dl-tick[aria-pressed=true]{background:#1FA37A;border-color:#1FA37A;color:#fff}
.dl-i.done .dl-ib p{text-decoration:line-through;color:#9aa3ab}
.dl-grid.one{grid-template-columns:1fr}
@media(max-width:700px){.dl{padding:20px 18px;border-radius:22px}.dl-head h2{font-size:20px}}
.dl-sum,.dl-empty{max-width:none!important}
/* ---------- floating chat button ---------- */
.fchat{position:fixed;right:24px;bottom:24px;z-index:250}
.fc-btn{width:58px;height:58px;border-radius:50%;border:0;background:#FAE843;color:#0E0F0F;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 12px 30px -8px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.04);transition:transform .15s}
.fc-btn:hover{transform:scale(1.06)}
.fchat.open .fc-btn{background:#0E0F0F;color:#fff}
.fc-n{position:absolute;top:-2px;right:-2px;min-width:22px;height:22px;border-radius:999px;background:#D93025;color:#fff;font-style:normal;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 6px;border:2px solid #fff}
.fc-pop{position:absolute;right:0;bottom:72px;width:380px;height:min(560px,calc(100vh - 130px));background:#fff;border-radius:22px;box-shadow:0 30px 70px -20px rgba(0,0,0,.45),0 0 0 1px rgba(0,0,0,.05);display:flex;flex-direction:column;overflow:hidden;transform-origin:bottom right;animation:fcIn .18s ease}
@keyframes fcIn{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.fc-pop[hidden]{display:none}
.fc-h{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid #ECECE8}
.fc-t{flex:1;min-width:0;font-size:15px;color:#0E0F0F;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fc-full{font-size:12.5px;font-weight:600;color:#4b5561;text-decoration:none;white-space:nowrap}
.fc-full:hover{color:#0E0F0F;text-decoration:underline}
.fc-x,.fc-back{border:0;background:none;width:32px;height:32px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;color:#4b5561;display:flex;align-items:center;justify-content:center;padding:0}
.fc-x:hover,.fc-back:hover{background:#F2F2EF;color:#0E0F0F}
.fc-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}
.fc-body .ib-sec,.fc-body .ib-none{display:none}
.fc-body .ib-row{margin:2px 6px;padding:9px 10px}
.fc-body .ib-row.on::before{display:none}
.fc-conv{flex:1;min-height:0;display:flex;flex-direction:column}
.fc-conv .chat{flex:1;min-height:0;display:flex;flex-direction:column;border:0;border-radius:0;box-shadow:none;height:auto;background:#FAFAF8}
.fc-conv .chat-log{flex:1;min-height:0;max-height:none}
.fc-conv .chat-hint{display:none}
.fc-loading{padding:30px;text-align:center;color:#8a939b;font-size:14px}
@media(max-width:860px){.fchat{right:14px;bottom:92px}.fc-pop{position:fixed;left:10px;right:10px;bottom:160px;width:auto;height:calc(100vh - 230px)}.fc-btn{width:52px;height:52px}}
body:has(.ib) .fchat,body:has(.chat-page) .fchat{display:none}
.fchat[data-mode=client] .fc-btn{background:var(--primary);color:#fff}
.sl-info{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:8px;font-size:13.5px;color:#4b5561}
.sl-info b{font-weight:600;color:#8a939b;margin-right:6px;font-size:12px;text-transform:uppercase;letter-spacing:.03em}
.sl-next{margin:10px 0 0;background:#F6F6F3;border-radius:12px;padding:9px 12px;font-size:14px;color:#0E0F0F}
.sl-next b{display:block;font-size:12px;color:#6d7a84;text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px}
.sl-next.late{background:#FDECEA}.sl-next.late b{color:#B3261E}
.sl-ms{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}
.sl-ms form{margin:0}
.sl-mst{font-size:12px;font-weight:600;background:#EEF8F3;color:#137A57;border-radius:999px;padding:3px 10px}
.sl-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lockbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#FFF6D6;border:1px solid #F2D38A;border-left:6px solid #F2B300;border-radius:18px;padding:14px 18px;margin:0 0 16px;font-size:14.5px;color:#5c4400}
@media(max-width:860px){.crail .cr-i{flex:1 1 0;min-width:0!important;padding:8px 2px!important;font-size:10px!important}.crail .cr-i span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}}
@media(max-width:860px){.crail .cr-i.on{flex:1.25 1 0!important;width:auto!important;margin:0!important}.crail{gap:2px!important;padding-left:6px!important;padding-right:6px!important}}
/* ---------- security page ---------- */
.sec-card{margin-bottom:18px}
.sec-card .p2-h{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:14px}
.sec-card .p2-h h2{margin:0}
.sec-card .p2-h .small{color:#6d7a84;max-width:760px}
.sec-tbl{display:flex;flex-direction:column}
.sec-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1.2fr) 90px 150px 200px;gap:12px;align-items:center;padding:10px 4px;border-top:1px solid #F0F0EC;font-size:14px}
.sec-head{border-top:0;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#8a939b}
.sec-row strong{display:block;font-weight:600;color:#0E0F0F}
.sec-row small{display:block;color:#8a939b;font-size:12.5px;word-break:break-all}
.sec-row b.ok{color:#137A57;font-weight:600}.sec-row b.no{color:#B3261E;font-weight:600}
.sec-row em{font-style:normal;font-size:11.5px;font-weight:700;background:#FFF4D6;color:#8A5A00;border-radius:999px;padding:1px 8px;margin-left:4px}
.sec-row.off{opacity:.55}
.sec-row form{display:flex;gap:10px;justify-content:flex-end;margin:0}
.sec-row .linkish{font-size:13px}.sec-row .linkish.danger{color:#B3261E}
.sec-bk{max-width:520px}
.sec-log{display:flex;flex-direction:column}
.sec-l{display:grid;grid-template-columns:110px minmax(0,1fr) 170px;gap:12px;padding:8px 4px;border-top:1px solid #F0F0EC;font-size:14px;align-items:baseline}
.sec-l time{color:#8a939b;font-size:13px}
.sec-l small{color:#8a939b;font-size:12.5px}
.sec-l.warn strong{color:#B3261E}
@media(max-width:900px){.sec-row{grid-template-columns:1fr 1fr}.sec-head{display:none}.sec-row form{justify-content:flex-start}.sec-l{grid-template-columns:90px 1fr}.sec-l>small{display:none}}
/* ---------- activity v2 ---------- */
.fd-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 16px}
.fd-chips button{font:inherit;font-size:13.5px;border:1px solid var(--line2);background:#fff;border-radius:999px;padding:7px 14px;cursor:pointer;color:#4b5561}
.fd-chips button b{color:#0E0F0F;font-weight:700;margin-right:2px}
.fd-chips button.on{background:#0E0F0F;color:#fff;border-color:#0E0F0F}.fd-chips button.on b{color:#FAE843}
.fd-wrap{padding:6px 26px 22px!important}
.fd-b{font-size:13px!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.06em;color:#8a939b;margin:24px 0 12px!important;font-family:inherit!important}
.fd-e{gap:14px!important;padding-bottom:20px!important}
.fd-e:not(:last-child)::before{left:15px!important;top:36px!important;background:#EEEEEA!important}
.fd-av{position:relative;flex:none;width:32px;height:32px}
.fd-av .avatar{width:32px!important;height:32px!important;font-size:11px}
.fd-av .fd-i{position:absolute;right:-5px;bottom:-4px;width:18px!important;height:18px!important;border:2px solid #fff}
.fd-av .fd-i svg{width:10px;height:10px}
.fd-t{font-weight:400!important;font-size:14.5px!important}
.fd-t strong{font-weight:600;color:#0E0F0F}
.fd-m{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12.5px!important;color:#8a939b!important;margin-top:4px!important}
.fd-cl{display:inline-flex;align-items:center;gap:6px}
.fd-cl .ib-av.xs{width:18px;height:18px;border-radius:5px;font-size:8px}
.fd-where{background:#F4F4F1;border-radius:6px;padding:1px 8px;color:#4b5561}
.fd-q{flex-wrap:wrap;background:#FAFAF8;border-color:#EEEEEA!important;padding:10px 12px!important;border-radius:14px!important;max-width:760px}
.fd-q span{flex:1 1 100%!important;font-size:14px!important;color:#3a4450;border-left:0!important;padding-left:0!important}
.fd-q span b{color:#0E0F0F;font-weight:600}
.fd-q{position:relative;padding-right:44px!important;flex-direction:column;gap:4px!important}
.fd-q i{position:absolute;right:10px;top:10px}
.fd-more{display:block;margin:6px auto 0;font:inherit;font-size:14px;font-weight:600;border:1px solid var(--line2);background:#fff;border-radius:999px;padding:9px 18px;cursor:pointer}
.ti-card{border:2px solid #FAE843!important;margin-bottom:18px}
.ti-card .p2-h{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.ti-list{display:flex;flex-direction:column;margin:10px 0}
.ti-row{display:flex;align-items:center;gap:12px;padding:10px 4px;border-top:1px solid #F0F0EC;cursor:pointer}
.ti-row input{width:18px;height:18px}
.ti-row span{flex:1;min-width:0}.ti-row strong{display:block;font-size:14.5px}.ti-row small{color:#8a939b;font-size:12.5px}
.ti-row em{font-style:normal;font-size:12.5px;color:#6d7a84;background:#F4F4F1;border-radius:999px;padding:2px 10px}
.ti-row.done{opacity:.55}
.ti-prev{margin:6px 0 14px}.ti-prev summary{cursor:pointer;font-weight:600;font-size:14px}
.ti-body{background:#FAFAF8;border:1px solid #EEEEEA;border-radius:12px;padding:14px 16px;font-size:14px;line-height:1.6;margin-top:8px}
/* Private v2 */
.pv-sum button{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line2);border-radius:14px;padding:10px 16px 10px 14px;color:#4b5561;font:inherit;font-size:14px;cursor:pointer}
.pv-sum button::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gc)}
.pv-sum button b{font-size:20px;color:#0E0F0F;font-weight:600;line-height:1}
.pv-sum button:hover{border-color:#cfd2cc}
.pv-sum button.on{border-color:#0E0F0F;box-shadow:inset 0 0 0 1px #0E0F0F}
.pv-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 18px}
.pv-tools .finder{flex:1;min-width:240px;margin:0}
.pv-lists{display:flex;gap:6px;flex-wrap:wrap}
.pv-lists button{font:inherit;font-size:13.5px;background:#fff;border:1px solid var(--line2);border-radius:999px;padding:7px 13px;cursor:pointer;color:#4b5561}
.pv-lists button em{font-style:normal;color:#8A9099;margin-left:3px}
.pv-lists button.on{background:#0E0F0F;border-color:#0E0F0F;color:#fff}.pv-lists button.on em{color:#FAE843}
details.pv-g{background:#fff;border:1px solid var(--line2);border-radius:18px;margin-bottom:14px;overflow:hidden}
details.pv-g>summary{display:flex;align-items:center;gap:10px;padding:14px 18px;cursor:pointer;list-style:none}
details.pv-g>summary::-webkit-details-marker{display:none}
details.pv-g>summary h2{font-size:16px;font-weight:600;margin:0}
details.pv-g[open] .tl-caret{transform:none}
.pv-rows{border-top:1px solid var(--line2)}
details.pv{border-top:1px solid #F0F1EE}
details.pv:first-child{border-top:0}
details.pv>summary{grid-template-columns:28px minmax(0,1fr) 170px 96px 76px;gap:14px;padding:10px 18px}
details.pv>summary:hover{background:#FAFAF8}
details.pv[open]>summary{background:#FAFAF8}
.pv-t{font-weight:500;color:#1b1f23}
.pv-n{font-style:normal;font-size:12px;color:#6B7278;background:#F2F3F0;border-radius:999px;padding:2px 8px;font-weight:400}
.pv-cl{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#4b5561;min-width:0}
.pv-cl span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv-st b{font-size:12px;font-weight:600;color:#3B6FF6;background:#EEF3FF;border-radius:999px;padding:3px 9px;white-space:nowrap}
.pv-d{text-align:right}
.pv-d.late{background:#FDECEA;border-radius:999px;padding:3px 9px;text-align:center;justify-self:end}
.pv-none{color:#B0B5BA}
details.pv .pv-body{padding:6px 18px 18px 60px;background:#FAFAF8}
.pv-desc{margin-bottom:12px}
.pv-note-i{background:#fff;border:1px solid var(--line2);border-radius:12px;padding:10px 14px;margin-bottom:8px}
.pv-note-i .meta{font-size:12.5px;color:#6B7278;margin-bottom:4px}
.pv-note textarea{background:#fff}
.pv-g[hidden],details.pv[hidden]{display:none}
@media(max-width:760px){details.pv>summary{grid-template-columns:28px minmax(0,1fr) auto;row-gap:4px}.pv-cl,.pv-st{grid-column:2}.pv-d{grid-row:1;grid-column:3}details.pv .pv-body{padding-left:18px}}
/* HQ calendar v2: client-facing vs team only vs calendars */
.cf2{background:#fff;border:1px solid var(--line2);border-radius:18px;padding:12px 16px;margin:6px 0 18px;display:flex;flex-direction:column;gap:10px}
.cf2-r{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.cf2-r+.cf2-r{border-top:1px solid #F0F1EE;padding-top:10px}
.cf2-l{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#8A9099;width:86px;flex:none}
.ck{position:relative;cursor:pointer}
.ck input{position:absolute;opacity:0;width:0;height:0}
.ck span{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:999px;border:1px solid var(--line2);font-size:13.5px;color:#8A9099;background:#FAFAF8;transition:all .15s}
.ck span em{font-style:normal;font-size:11.5px;color:#8A9099}
.ck input:checked+span{background:#fff;color:#1b1f23;border-color:#D5D8D2}
.ck input:not(:checked)+span .dt,.ck input:not(:checked)+span .sw{opacity:.3}
.ck input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.ck-done{margin-left:auto}
.ck .dt{width:9px;height:9px;border-radius:50%;flex:none}.ck .dt.sq{border-radius:3px}
.sw{width:18px;height:12px;border-radius:4px;flex:none}
.sw-client{background:#DDE7F5;box-shadow:inset 0 0 0 1px #9DB7DF}
.sw-team{background:#fff;box-shadow:inset 3px 0 0 #FAE843,inset 0 0 0 1px #E3E4DF}
.sw-cal{background:#F2F3F1;box-shadow:inset 3px 0 0 #9AA0A6}
.hc-cals{display:flex;flex-direction:column;gap:2px;margin-bottom:2px}
.hc-z{display:flex;align-items:center;gap:6px;font-size:11.5px;line-height:1.2;padding:2px 6px;border-radius:3px 6px 6px 3px;background:#F4F5F3;border-left:3px solid var(--ec);color:#6B7278;min-width:0}
.hc-z b{font-weight:600;color:#3A4148;flex:none}
.hc-z span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.hc-e.hc-cl{background:color-mix(in srgb,var(--ec) 11%,#fff);font-weight:500}
.hc-e.hc-tm{background:#fff;border:1px solid #ECEDE9;border-left:3px solid #FAE843;border-radius:3px 7px 7px 3px;color:#4A5157}
.hc-e.hc-tm i{width:6px;height:6px}
.hc-e.hc-tm:hover{background:#FFFDF0}
.hc-z.hidden-f,.hc-e.hidden-f{display:none!important}
.hcal-agenda .hc-z{font-size:13px;padding:6px 10px;margin-bottom:4px}
@media(max-width:700px){.cf2-l{width:100%}.ck-done{margin-left:0}}
/* 90-day plan (gtm) */
.gp{--gc:var(--primary,#0F2D52)}
.gp-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;background:#fff;border:1px solid var(--line2);border-radius:22px;padding:28px 30px;margin-bottom:14px}
.gp-kick{font-size:12.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#6B7278;margin:0 0 6px}
.gp-hero h1{font-size:clamp(28px,3.4vw,40px);margin:0 0 10px;letter-spacing:-.02em}
.gp-intro{margin:0;color:#4A5157;max-width:640px;line-height:1.6}
.gp-prog{display:flex;align-items:center;gap:18px}
.gp-ring{--p:0;width:108px;height:108px;border-radius:50%;background:conic-gradient(var(--gc) calc(var(--p)*1%),#ECEEEA 0);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}
.gp-ring::before{content:"";position:absolute;inset:10px;border-radius:50%;background:#fff}
.gp-ring b,.gp-ring span{position:relative}.gp-ring b{font-size:24px;line-height:1}.gp-ring span{font-size:12px;color:#6B7278}
.gp-nums{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#4A5157}
.gp-nums b{color:#0E0F0F}.gp-nums .w b{color:#C4620B}.gp-nums .l b{color:#B42318}
.gp-ms{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gp-ms li{background:#fff;border:1px solid var(--line2);border-radius:16px;padding:12px 16px;display:flex;gap:12px;align-items:center;font-size:14px;color:#4A5157}
.gp-ms time{font-weight:700;color:#0E0F0F;background:#F2F3F0;border-radius:10px;padding:6px 10px;white-space:nowrap;font-size:13px}
.gp-ms li.past time{background:#FDECEA;color:#B42318}
.gp-wait{background:#FFF8EC;border:1px solid #F4DDB3;border-radius:18px;padding:16px 20px;margin-bottom:14px}
.gp-wait h2{font-size:17px;margin:0 0 2px}.gp-wait ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.gp-wait a{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.gp-wait li{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border-radius:12px;padding:10px 14px}
.gp-wait strong{font-size:14.5px}.gp-wait a span{font-size:13px;color:#6B7278}
.gp-wait em{font-style:normal;font-size:12px;font-weight:600;color:#C4620B;background:#FDF0DC;border-radius:999px;padding:3px 10px;white-space:nowrap}
.gp-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:#6B7278;margin:18px 2px 10px}
.gp-legend span{display:flex;align-items:center;gap:6px}
.gp i[class^="st-"],.wk-card i[class^="st-"],.gp-legend i{width:12px;height:12px;border-radius:50%;flex:none;display:inline-block}
i.st-done{background:#1FA37A;box-shadow:inset 0 0 0 3px #1FA37A}
i.st-doing{background:conic-gradient(#3B6FF6 50%,#DCE5FD 0)}
i.st-wait{background:#F59E0B}
i.st-todo{background:#fff;box-shadow:inset 0 0 0 2px #C9CDC7}
.gp-m{background:#fff;border:1px solid var(--line2);border-radius:22px;margin-bottom:14px;overflow:hidden}
.gp-mh{display:flex;gap:16px;align-items:flex-start;padding:22px 24px 16px}
.gp-mn{flex:none;width:40px;height:40px;border-radius:50%;background:var(--gc);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.gp-mh h2{font-size:22px;margin:0 0 4px}.gp-mh p{margin:0;color:#4A5157;font-size:14.5px;max-width:720px}.gp-mh .gp-kick{margin-bottom:2px}
.gp-mc{margin-left:auto;font-size:13px;font-weight:600;color:#6B7278;background:#F2F3F0;border-radius:999px;padding:4px 10px;white-space:nowrap}
.gp-w{display:grid;grid-template-columns:200px minmax(0,1fr);border-top:1px solid #F0F1EE}
.gp-w.now{background:#FFFDF2;box-shadow:inset 3px 0 0 #FAE843}
.gp-wl{padding:14px 18px 14px 24px}
.gp-wl strong{font-size:14px}.gp-wl em{font-style:normal;font-size:11.5px;font-weight:700;background:#FAE843;border-radius:999px;padding:2px 8px;margin-left:6px}
.gp-out{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.gp-out span{font-size:11.5px;color:#4A5157;background:#F2F3F0;border-radius:6px;padding:2px 7px}
.gp-ls{list-style:none;margin:0;padding:6px 12px 6px 0}
.gp-l{display:grid;grid-template-columns:14px minmax(0,1fr) 120px 128px 56px;gap:12px;align-items:center;padding:8px 10px;border-radius:10px;text-decoration:none;color:inherit;font-size:14px}
a.gp-l:hover{background:#F7F7F4}
.gp-t{min-width:0}
.gp-k{font-style:normal;font-size:11px;font-weight:600;border-radius:999px;padding:1px 7px;margin-left:4px;white-space:nowrap}
.gp-k-needs{background:#FDF0DC;color:#9A4D06}.gp-k-approvals{background:#EEF3FF;color:#2952C8}
.gp-who{display:flex;align-items:center;gap:6px;font-size:13px;color:#4A5157;min-width:0}.gp-who span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gp-st{font-size:12px;font-weight:600;border-radius:999px;padding:3px 9px;text-align:center;white-space:nowrap}
.gp-st.st-done{background:#E6F6EF;color:#137A5A}.gp-st.st-doing{background:#EEF3FF;color:#2952C8}.gp-st.st-wait{background:#FDF0DC;color:#9A4D06}.gp-st.st-todo{background:#F2F3F0;color:#6B7278}
.gp-d{font-size:13px;color:#6B7278;text-align:right;white-space:nowrap}.gp-d.late{color:#B42318;font-weight:600}
.gp-end{margin:0;padding:12px 24px 16px;border-top:1px solid #F0F1EE;font-size:14px;color:#4A5157;background:#FAFAF8}
.gp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.gp-card{background:#fff;border:1px solid var(--line2);border-radius:22px;padding:22px 24px}
.gp-card h2{font-size:19px;margin:0 0 12px}.gp-card h3{font-size:15px;margin:18px 0 6px}.gp-card p{margin:0;color:#4A5157;font-size:14.5px;line-height:1.6}
.gp-tb{width:100%;border-collapse:collapse;font-size:14px}.gp-tb th{text-align:left;white-space:nowrap;padding:8px 12px 8px 0;vertical-align:top}.gp-tb td{padding:8px 8px 8px 0;color:#4A5157;border-top:1px solid #F0F1EE;vertical-align:top}.gp-tb tr:first-child td{border-top:0}
.gp-tb tr+tr th{border-top:1px solid #F0F1EE}
.gp-bs{font-size:12px;font-weight:600;background:#F2F3F0;color:#4A5157;border-radius:999px;padding:3px 9px;white-space:nowrap}.gp-bs.ok{background:#E6F6EF;color:#137A5A}
.gp-bul{margin:0;padding-left:18px;color:#4A5157;font-size:14.5px;line-height:1.6}.gp-bul li+li{margin-top:8px}
.gp-dl{margin:0;display:grid;grid-template-columns:150px 1fr;gap:10px 14px;font-size:14px}.gp-dl dt{font-weight:600}.gp-dl dd{margin:0;color:#4A5157}
@media(max-width:900px){.gp-hero{grid-template-columns:1fr}.gp-ms{grid-template-columns:1fr}.gp-w{grid-template-columns:1fr}.gp-wl{padding-bottom:4px}.gp-ls{padding:0 10px 10px}.gp-l{grid-template-columns:14px minmax(0,1fr) auto;row-gap:4px}.gp-who{grid-column:2}.gp-st{grid-column:3;grid-row:1}.gp-d{grid-column:3;grid-row:2}.gp-grid{grid-template-columns:1fr}.gp-dl{grid-template-columns:1fr}}
/* What we're working on (client home) */
.wk-prog{display:flex;align-items:center;gap:12px;margin:2px 0 10px}.wk-prog .bar{flex:1;height:8px;border-radius:99px;background:#ECEEEA;overflow:hidden}.wk-prog .bar span{display:block;height:100%;background:var(--primary,#1FA37A);border-radius:99px}
.wk-list{list-style:none;margin:0;padding:0}
.wk-list li{display:grid;grid-template-columns:14px minmax(0,1fr) 110px 86px;gap:12px;align-items:center;padding:9px 2px;border-top:1px solid #F0F1EE;font-size:14.5px}
.wk-list li:first-child{border-top:0}
.wkc-who{display:flex;align-items:center;gap:6px;font-size:13px;color:#4A5157}
.wkc-d{font-size:13px;color:#6B7278;text-align:right;white-space:nowrap}.wkc-d.late{color:#B42318;font-weight:600}
.wk-done{margin:8px 0 0!important;color:#137A5A}
@media(max-width:640px){.wk-list li{grid-template-columns:14px minmax(0,1fr) auto}.wkc-who{display:none}}
.itm-lock{margin:12px 0 0;padding-top:12px;border-top:1px solid #F0F1EE}
/* Client picker: groups with their companies tucked underneath */
.cs-gr{display:flex;align-items:center;gap:2px}
.cs-gr>a{flex:1;min-width:0}
.cs-tg{flex:none;display:flex;align-items:center;gap:2px;height:36px;padding:0 8px;border:0;background:none;border-radius:10px;cursor:pointer;color:#6B7278;font:inherit}
.cs-tg:hover{background:var(--line2)}
.cs-tg em{font-style:normal;font-size:11.5px;font-weight:600;background:#F2F3F0;border-radius:999px;padding:1px 6px}
.cs-tg svg{transition:transform .15s}
.cs-grp.open .cs-tg svg{transform:rotate(90deg)}
.cs-kids{display:none;margin:2px 0 4px 22px;padding-left:10px;border-left:2px solid #ECEDE9}
.cs-grp.open .cs-kids{display:block}
.cs-menu a.cs-kid{font-size:14px;padding:6px 10px}
.cs-menu a.cs-kid .cs-logo{width:32px;height:24px}
.gp-k-lock{background:#0E0F0F;color:#FAE843}
/* HQ rail on phones: four main tabs plus More (the rest open as a sheet) */
.zr-more{display:none}
@media(max-width:760px){
  .zrail{height:auto!important;padding:6px 8px calc(6px + env(safe-area-inset-bottom))!important;gap:4px!important;border-radius:22px 22px 0 0!important;box-shadow:0 -8px 24px -12px rgba(0,0,0,.35)!important;justify-content:space-between!important;align-items:stretch!important}
  .zrail .zr-i{flex:1 1 0;width:auto!important;height:auto!important;min-width:0;margin:0!important;padding:8px 2px 6px!important;border-radius:14px!important;display:flex;flex-direction:column;align-items:center;gap:3px;color:rgba(255,255,255,.7);background:none!important;box-shadow:none!important;align-self:auto!important;position:relative}
  .zrail .zr-i .zr-l{display:block!important;font-size:10.5px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:inherit}
  .zrail .zr-i svg{width:22px;height:22px}
  .zrail .zr-i.on{background:#FAE843!important;color:#0E0F0F!important}
  .zrail .zr-i.on svg{color:#0E0F0F!important}
  .zrail .zr-i.on::before,.zrail .zr-i.on::after{display:none!important}
  .zrail .zr-x{display:none!important}
  .zr-more{display:flex!important;border:0;font:inherit;cursor:pointer}
  .zrail.more-open .zr-more{background:rgba(255,255,255,.12)!important;color:#fff}
  .zrail .rail-t{display:none!important}
}
.zr-sheet{display:none}
@media(max-width:760px){.zrail.more-open .zr-sheet{display:grid}}
.zr-sheet{position:absolute;left:8px;right:8px;bottom:calc(100% + 8px);background:#0E0F0F;border-radius:20px;padding:10px;grid-template-columns:repeat(4,1fr);gap:6px;box-shadow:0 18px 40px -10px rgba(0,0,0,.5)}
.zr-sheet .zr-i{display:flex!important;position:static!important;width:auto!important}
@media(max-width:760px){body:has(.zrail) .fchat{display:none}}
/* ===== Phones: one consistent bottom bar, no floating chat, nothing wider than the screen ===== */
.cr-more{display:none}
@media(max-width:860px){
  .fchat{display:none!important}
  html,body{overflow-x:clip}
  .crail{height:auto!important;overflow:visible!important;padding:6px 8px calc(6px + env(safe-area-inset-bottom))!important;gap:4px!important;justify-content:space-between!important;align-items:stretch!important;box-shadow:0 -8px 24px -12px rgba(0,0,0,.35)!important;z-index:60}
  .crail>.cr-i,.crail>.cr-g{flex:1 1 0!important;min-width:0!important}
  .crail .cr-g{display:flex}
  .crail .cr-i{flex:1 1 0!important;width:auto!important;min-width:0!important;margin:0!important;padding:8px 2px 6px!important;border-radius:14px!important;display:flex!important;flex-direction:column;align-items:center;gap:3px;font-size:10.5px!important;color:rgba(255,255,255,.75);background:none!important;box-shadow:none!important;align-self:auto!important;position:relative}
  .crail .cr-i>span{display:block!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.1}
  .crail .cr-i svg{width:21px;height:21px}
  .crail .cr-i.on{background:#fff!important;color:var(--primary,#0E0F0F)!important}
  .crail .cr-i.on::before,.crail .cr-i.on::after{display:none!important}
  .crail .cr-b{position:absolute;top:2px;left:calc(50% + 4px)}
  .crail .cr-x,.crail .cr-sub,.crail .cr-fly{display:none!important}
  .cr-more{display:flex!important;border:0;font:inherit;cursor:pointer}
  .crail.more-open .cr-more{background:rgba(255,255,255,.14)!important;color:#fff}
  .crail.more-open .cr-sheet{display:grid}
  .cr-sheet{background:var(--primary,#0E0F0F)!important}
  .cr-sheet .cr-i{display:flex!important;color:#fff}
  .cr-sheet .cr-i.on{background:#fff!important}
  /* breadcrumbs: just the last two steps */
  .cb-group,.cb-group+.cb-sep{display:none}
  .cbar .cb-l{min-width:0;overflow:hidden;white-space:nowrap}
  .cbar .cb-title{overflow:hidden;text-overflow:ellipsis}
  /* week ahead: one clean row per day with something on */
  .wk-d{display:grid!important;grid-template-columns:62px minmax(0,1fr);column-gap:10px;row-gap:6px;align-items:start;padding:12px!important;min-height:0!important}
  .wk-d .wk-h{grid-row:1 / span 6;flex-direction:column;align-items:flex-start;gap:0;min-width:0}
  .wk-d .wk-h b{font-size:20px}
  .wk-e,.wk-more{grid-column:2;white-space:normal!important;font-size:14px!important;line-height:1.35}
  /* long words and links never push the page sideways */
  .prose,.fd-b,.fd-q,.chat-b,.itm-card,.pv-desc,.gp-t,.row-t{overflow-wrap:anywhere}
  /* 90-day plan tables */
  .gp-tb,.gp-tb tbody,.gp-tb tr,.gp-tb th,.gp-tb td{display:block;width:auto}
  .gp-tb tr{padding:10px 0;border-top:1px solid #F0F1EE}.gp-tb tr:first-child{border-top:0}
  .gp-tb th,.gp-tb td{border:0!important;padding:2px 0!important;white-space:normal}
  .gp-card{padding:18px}
  .gp-wait li{flex-wrap:wrap}
  .gp-hero{padding:22px 20px}
  /* board and task lists: title on top, details underneath */
  .tlist .tl-head{display:none!important}
  .tlist .tl-row,.tlist.with-client .tl-row,.tlist.with-client.no-who .tl-row{grid-template-columns:28px minmax(0,1fr) auto!important;column-gap:10px!important;row-gap:4px!important;padding:10px 14px!important;align-items:start!important}
  .tlist .tl-st{grid-column:1;grid-row:1}
  .tlist .tl-name{grid-column:2;grid-row:1}
  .tlist .tl-as{grid-column:3;grid-row:1;justify-self:end}
  .tlist .tl-due{grid-column:2;grid-row:2;display:flex;align-items:center;gap:8px}
  .tlist .tl-pr{grid-column:3;grid-row:2;justify-self:end}
  .tlist .tl-cl{grid-column:2;grid-row:3}
  .tlist .tl-t{white-space:normal!important;overflow:visible!important}
  /* settings tabs scroll sideways instead of cutting off */
  .set-tabs,.settings-tabs,.snav{overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap!important}
  /* HQ calendar filters fold away */
  .cf2-t{display:flex}
}
.cf2-t{display:none}.cf2w>summary{list-style:none}.cf2w>summary::-webkit-details-marker{display:none}
@media(max-width:860px){.cf2-t{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--line2);border-radius:14px;padding:11px 16px;font-weight:600;cursor:pointer;margin:6px 0 12px}.cf2-t span{font-weight:400;font-size:13px;color:#8A9099;margin-right:auto}.cf2-t::after{content:"";width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);margin-top:-4px}.cf2w[open] .cf2-t::after{transform:rotate(-135deg);margin-top:4px}.cf2w .cf2{margin-top:0}}
@media(max-width:860px){.tlist .tl-due{justify-self:start!important;flex-direction:row!important;text-align:left!important;width:auto!important}.tlist .tl-due small{margin:0!important}}
@media(max-width:860px){.tlist .tl-pr.pr-none{display:none!important}.tlist .tl-due{align-items:center!important;flex-wrap:wrap}.tlist .tl-due small{font-size:12px}}
/* Phones: "Needs your attention" rows use the full width, button beside the date */
@media(max-width:600px){
  .arow{display:flex!important;align-items:flex-end!important;gap:12px!important;padding:14px 0!important}
  .arow-l{flex:1 1 auto;min-width:0}
  .arow .btn{flex:none;margin-left:0!important}
  .arow{width:auto!important;max-width:100%}
  .arow-l .thumb2,.arow-l .thumb2-i,.arow-l>img,.arow-l>span:first-child:not(.row-b){display:none!important}
  .arow .row-t{font-size:15.5px;line-height:1.3}
  .arow .meta{display:block;margin-top:4px;line-height:1.45}
  .arow .meta .sep:has(+ .due){display:none}
  .arow .meta .due{display:block;padding:0!important;margin-top:2px}
  .arow .btn{grid-column:2!important;grid-row:1!important;align-self:end!important;white-space:nowrap}
}
@media(max-width:600px){.arow{flex-direction:column!important;align-items:stretch!important;gap:10px!important}.arow .btn{align-self:flex-start!important}.arow .row-t{-webkit-line-clamp:3!important}}
/* @mention picker */
.mpop{position:absolute;left:0;right:0;bottom:calc(100% + 8px);z-index:80;background:#fff;border:1px solid var(--line2);border-radius:14px;box-shadow:0 14px 36px -10px rgba(20,24,28,.28);padding:6px;display:flex;flex-direction:column;gap:2px;max-width:340px}
.mpop[hidden]{display:none}
.mp-i{display:flex;align-items:center;gap:10px;border:0;background:none;font:inherit;font-size:14.5px;text-align:left;padding:8px 10px;border-radius:10px;cursor:pointer;color:#1b1f23}
.mp-i.on,.mp-i:hover{background:#F4F5F2}
.mp-av{width:28px;height:28px;border-radius:50%;background:#E9EBE6;color:#3A4148;font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}
.mp-av.z{background:#FAE843;color:#0E0F0F}
.mp-n{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-i em{font-style:normal;font-size:11.5px;color:#8A9099}
/* ===== Mobile header: the client's logo up top, tidy icons on the right ===== */
.cb-brand{display:none}
.nr-btn svg{display:none}
@media(max-width:860px){
  .cbar{display:flex!important;align-items:center;gap:10px;padding:12px 0 10px!important;position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--canvas,#F4F4F1) 97%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(12px);margin:0 -16px 6px!important;padding-left:16px!important;padding-right:16px!important;border-bottom:1px solid rgba(20,24,28,.06)}
  .cbar .cb-l{display:none!important}
  .cb-brand{display:flex;align-items:center;gap:10px;min-width:0;flex:1;text-decoration:none;color:inherit}
  .cb-lg{width:44px;height:44px;border-radius:14px;background:#fff;box-shadow:0 1px 0 rgba(20,24,28,.06),0 6px 16px -8px rgba(20,24,28,.25);display:flex;align-items:center;justify-content:center;flex:none;overflow:hidden}
  .cb-lg img{max-width:34px;max-height:30px;object-fit:contain}
  .cb-lg b{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px}
  .cb-bt{display:flex;flex-direction:column;min-width:0;line-height:1.15}
  .cb-bt small{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cb-bt strong{font-size:17px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#0E0F0F}
  .cbar .hdr-r{gap:8px!important;flex:none}
  .nr-btn{width:40px;height:40px;padding:0!important;border-radius:50%!important;display:flex!important;align-items:center;justify-content:center}
  .nr-btn span{display:none}.nr-btn svg{display:block}
  /* Zest bar above a client's pages: one slim row */
  .zbar .wrap{flex-wrap:nowrap!important;padding:6px 12px!important;gap:4px!important;min-height:48px}
  .zbar-hq{font-size:0!important;padding:6px!important}.zbar-hq svg{margin:0!important}
  .zbar-sep{display:none}
  .zbar-r{gap:2px!important;flex-wrap:nowrap}
  .zbar-r .zbar-ico[aria-label="Search"]{display:none!important}
  .zbar .cv-btn{font-size:13px!important;padding:5px 11px!important;white-space:nowrap}
}
/* Pop-ups on this device (in the bell) */
.pushc{display:flex;align-items:center;gap:10px;margin:6px 8px 4px;padding:10px 12px;border-radius:12px;background:#FFFBE0;border:1px solid #F4E88A}
.pushc[hidden]{display:none}
.pushc-i{width:32px;height:32px;border-radius:10px;background:#FAE843;color:#0E0F0F;display:flex;align-items:center;justify-content:center;flex:none}
.pushc-t{flex:1;min-width:0;display:flex;flex-direction:column;font-size:13px;line-height:1.35}
.pushc-t strong{font-size:13.5px}
.pushc-s{color:#4A5157}
.pushc-b{flex:none;white-space:nowrap}
.pushc[data-state="on"]{background:#EEF8F2;border-color:#CDEBD8}.pushc[data-state="on"] .pushc-i{background:#1FA37A;color:#fff}
/* Seeing the portal as a team member */
.vas-bar{position:sticky;top:0;z-index:300;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;background:#FAE843;color:#0E0F0F;font-size:14px;padding:8px 16px;box-shadow:0 4px 14px -8px rgba(0,0,0,.4)}
.vas-bar .btn{background:#0E0F0F;color:#fff;border-color:#0E0F0F}
@media(max-width:860px){.vas-bar{font-size:12.5px;gap:8px;padding:6px 12px}}
/* ===== Training centre ===== */
.tr-kick{font-size:12.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#6B7278;margin:0 0 6px}
.tr-hero{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:center;background:#0E0F0F;color:#fff;border-radius:24px;padding:28px 30px;margin:4px 0 16px;position:relative;overflow:hidden}
.tr-hero::after{content:"";position:absolute;right:-60px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,#FAE84355,transparent 70%)}
.tr-hero .tr-kick{color:#FAE843}
.tr-hero h1{font-size:clamp(26px,3.2vw,36px);margin:0 0 8px;color:#fff;letter-spacing:-.02em}
.tr-lede{margin:0;color:rgba(255,255,255,.78);max-width:560px;line-height:1.55}
.tr-me{position:relative;z-index:1;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:16px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}
.tr-lv span{display:block;font-size:12px;color:rgba(255,255,255,.6)}.tr-lv b{font-size:20px;color:#FAE843}
.tr-st{text-align:center;background:#FAE843;color:#0E0F0F;border-radius:14px;padding:8px 12px;grid-row:1 / span 2;grid-column:2}.tr-st b{display:block;font-size:22px;line-height:1}.tr-st span{font-size:11px;font-weight:600}
.tr-xp small{display:block;margin-top:6px;font-size:12.5px;color:rgba(255,255,255,.75)}.tr-xp b{color:#fff}
.tr-bar{height:9px;border-radius:99px;background:rgba(255,255,255,.15);overflow:hidden}.tr-bar span{display:block;height:100%;background:linear-gradient(90deg,#FAE843,#01DF78);border-radius:99px}
.tr-bar.sm{background:#ECEEEA;height:7px}.tr-bar.sm span{background:var(--tc)}
.tr-admin-l{margin:0 0 14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.tr-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}
.tr-mods{display:flex;flex-direction:column;gap:12px}
.tr-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--line2);border-radius:20px;padding:18px 20px;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}
.tr-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--tc)}
.tr-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px -16px rgba(0,0,0,.3)}
.tr-card.done{background:#FBFDF9}
.tr-mk{border-radius:14px;background:var(--tc);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;flex:none}
.tr-cb{display:flex;flex-direction:column;gap:4px;min-width:0}.tr-cb strong{font-size:17px}.tr-cb>span{color:#4A5157;font-size:14px;line-height:1.45}
.tr-cp{display:flex;align-items:center;gap:10px;margin-top:6px}.tr-cp .tr-bar{flex:1;max-width:220px}.tr-cp small{font-size:12.5px;color:#6B7278;white-space:nowrap}
.tr-go{font-weight:700;font-size:14px;background:#0E0F0F;color:#fff;border-radius:999px;padding:8px 14px;white-space:nowrap}
.tr-card.done .tr-go{background:#1FA37A}
.tr-draft{font-style:normal;font-size:11.5px;font-weight:700;background:#FAE843;color:#0E0F0F;border-radius:999px;padding:2px 8px;align-self:flex-start;margin-top:4px}
.tr-side{display:flex;flex-direction:column;gap:12px}.tr-side .panel2{margin:0}.tr-side h2{font-size:16px;margin:0 0 10px}
.tr-bg{display:flex;flex-wrap:wrap;gap:6px}
.tr-b{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;border-radius:999px;padding:5px 10px;background:#F2F3F0;color:#9AA0A6}
.tr-b i{width:10px;height:10px;border-radius:50%;background:#D5D8D2}
.tr-b.on{background:#FFF7C2;color:#0E0F0F;font-weight:600}.tr-b.on i{background:#E3B800}
.tr-lb ol{list-style:none;margin:0;padding:0}.tr-lb li{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:10px}
.tr-lb li.me{background:#FFFBE0}.tr-rk{width:20px;font-weight:700;color:#6B7278;text-align:center}.tr-lb li:nth-child(1) .tr-rk{color:#E3B800}
.tr-ln{flex:1;min-width:0;display:flex;flex-direction:column;font-size:14px}.tr-ln small{font-size:12px;color:#8A9099}
.tr-how ul{margin:0;padding:0;list-style:none;font-size:14px;color:#4A5157}.tr-how li{padding:3px 0}.tr-how b{display:inline-block;min-width:38px;color:#0E0F0F}
.tr-wrap{max-width:820px}.tr-wrap.wide{max-width:none}
.tr-back{display:inline-block;margin:4px 0 14px;text-decoration:none;color:#4A5157;font-size:14px}
.tr-mh{display:flex;gap:16px;align-items:center;margin-bottom:16px}.tr-mh h1{margin:0 0 4px;font-size:30px}.tr-mh p{margin:0;color:#4A5157}
.tr-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.tr-steps a{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line2);border-radius:16px;padding:14px 16px;text-decoration:none;color:inherit}
.tr-steps a:hover{border-color:#cfd2cc}.tr-steps small{display:block;color:#6B7278;font-size:13px}
.tr-n{width:34px;height:34px;border-radius:50%;background:#F2F3F0;display:flex;align-items:center;justify-content:center;font-weight:700;flex:none}
.tr-steps li.done .tr-n{background:#1FA37A;color:#fff}.tr-steps li.quiz .tr-n{background:#FAE843}
.tr-dots{display:flex;gap:6px;margin-bottom:14px}.tr-dots span{flex:1;height:6px;border-radius:9px;background:#E3E5E0}.tr-dots .past{background:#1FA37A}.tr-dots .on{background:#0E0F0F}.tr-dots .q{max-width:40px;background:#FFF1A6}
.tr-lesson{background:#fff;border:1px solid var(--line2);border-radius:22px;padding:28px 30px;font-size:16px;line-height:1.65;border-top:5px solid var(--tc)}
.tr-lesson h1{font-size:28px;margin:0 0 12px}.tr-lesson p{margin:0 0 14px;color:#2E353B}
.tr-ul{margin:0 0 16px;padding-left:20px}.tr-ul li{margin:6px 0}
.tr-tip{background:#FFFBE0;border:1px solid #F4E88A;border-radius:14px;padding:12px 16px;margin:0 0 16px}.tr-tip b{font-size:13px;text-transform:uppercase;letter-spacing:.05em}.tr-tip p{margin:4px 0 0}
.tr-dd{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 16px}.tr-dd>div{border-radius:14px;padding:12px 16px}.tr-dd ul{margin:6px 0 0;padding-left:18px;font-size:15px}
.tr-do{background:#EEF8F2}.tr-do b{color:#137A5A}.tr-dont{background:#FDEEEC}.tr-dont b{color:#B42318}
.tr-next{display:flex;justify-content:flex-end;margin:16px 0 30px}
.tr-quiz{display:flex;flex-direction:column;gap:12px;margin-bottom:30px}
.tr-q{border:1px solid var(--line2);background:#fff;border-radius:18px;padding:16px 18px;margin:0}
.tr-q legend{font-weight:600;font-size:16px;padding:0;display:flex;gap:10px;margin-bottom:10px;float:left;width:100%}.tr-q legend span{width:26px;height:26px;border-radius:50%;background:#FAE843;display:flex;align-items:center;justify-content:center;font-size:13px;flex:none}
.tr-o{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--line2);margin-top:6px;cursor:pointer;clear:both}
.tr-o:hover{background:#FAFAF8}.tr-o input{accent-color:#0E0F0F}
.tr-o.right{border-color:#1FA37A;background:#EEF8F2}.tr-o.wrong{border-color:#E5A29B;background:#FDEEEC}
.tr-why{margin:10px 0 0;font-size:14px;color:#B42318}.tr-why.ok{color:#137A5A}
.tr-quiz>.btn{align-self:flex-end}
.tr-result{display:flex;gap:18px;align-items:center;background:#FFF4EC;border-radius:20px;padding:18px 22px;margin-bottom:14px}
.tr-result.pass{background:#EEF8F2}.tr-result>b{font-size:40px;line-height:1}.tr-result h1{font-size:22px;margin:0 0 4px}.tr-result p{margin:0;color:#4A5157}
.tr-adm{display:flex;flex-direction:column}.tr-arow{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #F0F1EE}.tr-arow:first-child{border-top:0}.tr-arow>span{flex:1;display:flex;flex-direction:column}.tr-arow small{color:#6B7278}
.tr-ed textarea{width:100%;font:13px/1.5 ui-monospace,Menlo,monospace;border:1px solid var(--line);border-radius:12px;padding:12px;margin:10px 0}
.tr-tbl{overflow-x:auto}.tr-tbl table{width:100%;border-collapse:collapse;font-size:14px}.tr-tbl th,.tr-tbl td{text-align:left;padding:9px 10px;border-top:1px solid #F0F1EE;white-space:nowrap}.tr-tbl th{font-size:12.5px;color:#6B7278;border-top:0}
.tr-ok{color:#137A5A;font-weight:600}.tr-due{color:#C4620B;font-weight:600}.tr-req{font-style:normal;font-size:11.5px;background:#FFF1A6;border-radius:999px;padding:1px 7px}
.tr-nudge{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line2);border-left:5px solid var(--tc);border-radius:18px;padding:14px 16px;margin:0 0 16px;text-decoration:none;color:inherit}.tr-nudge>span:nth-child(2){flex:1;display:flex;flex-direction:column}.tr-nudge small{color:#6B7278}
@media(max-width:900px){.tr-hero,.tr-grid{grid-template-columns:1fr}.tr-hero{padding:22px 20px}.tr-card{grid-template-columns:auto minmax(0,1fr);padding:16px}.tr-card .tr-go{display:none}.tr-dd{grid-template-columns:1fr}.tr-lesson{padding:22px 20px}.tr-cp .tr-bar{max-width:none}}
.tr-qh{font-weight:600;font-size:16px;display:flex;gap:10px;align-items:flex-start;margin:0 0 10px;line-height:1.4}
.tr-qh span{width:26px;height:26px;border-radius:50%;background:#FAE843;display:flex;align-items:center;justify-content:center;font-size:13px;flex:none;margin-top:-1px}
.tr-q .tr-o:last-of-type{margin-bottom:0}
/* toasts sit above the phone bottom bar */
@media(max-width:860px){.flash.toast{bottom:calc(84px + env(safe-area-inset-bottom))!important;width:max-content;max-width:calc(100vw - 32px)}}
/* HQ header on phones: Zest tile, one-line title, compact icons */
@media(max-width:760px){
  .zbar2{position:sticky;top:0;z-index:40;display:flex!important;align-items:center;gap:10px;margin:0 -16px 8px!important;padding:12px 16px 10px!important;background:color-mix(in srgb,var(--canvas,#F4F4F1) 97%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(20,24,28,.06)}
  .zb2-l{flex:1;min-width:0;display:flex;align-items:center;gap:10px}
  .zb2-l::before{content:"";width:40px;height:40px;border-radius:12px;flex:none;background:#FAE843 url(zest-app-192.png) center/cover;box-shadow:0 6px 16px -8px rgba(20,24,28,.3)}
  .zb2-t{font-size:17px!important;font-weight:600;color:#0E0F0F;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .zbar2 .hdr-r{gap:8px!important;flex:none}
  .online-stack{padding:4px 10px 4px 4px!important;gap:6px!important}
  .online-stack>span:last-of-type{font-size:13px!important;white-space:nowrap}
  .online-stack>.av-wrap:nth-child(n+2){display:none!important}
  .online-stack>span:last-of-type{margin-left:6px!important}
}
/* ===== Training animations ===== */
.tq-top{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line2);border-radius:16px;padding:12px 16px;position:sticky;top:10px;z-index:5}
.tq-n{font-weight:600;font-size:14px;white-space:nowrap}
.tq-bar{flex:1;height:10px;border-radius:99px;background:#EEF0EC;overflow:hidden}
.tq-bar i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#FAE843,#01DF78);transition:width .5s cubic-bezier(.2,.9,.3,1.2)}
.tq-streak{font-size:12.5px;font-weight:700;background:#0E0F0F;color:#FAE843;border-radius:999px;padding:4px 10px;white-space:nowrap}
.tq-streak.pulse{animation:tqPulse .6s ease}
@keyframes tqPulse{0%{transform:scale(.6)}60%{transform:scale(1.15)}100%{transform:scale(1)}}
.tr-q.in-r{animation:tqIn .45s cubic-bezier(.2,.9,.3,1.1)}
.tr-q.in-l{animation:tqInL .45s cubic-bezier(.2,.9,.3,1.1)}
@keyframes tqIn{from{opacity:0;transform:translateX(40px) scale(.98)}to{opacity:1;transform:none}}
@keyframes tqInL{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
.tr-quiz[data-live] .tr-o{transition:transform .15s,background .2s,border-color .2s,box-shadow .2s}
.tr-quiz[data-live] .tr-o:hover{transform:translateY(-2px);box-shadow:0 8px 18px -12px rgba(0,0,0,.35)}
.tr-quiz[data-live] .tr-o:active{transform:scale(.98)}
.tr-o.locked{pointer-events:none}
.tr-o.locked:not(.right):not(.wrong){opacity:.55}
.tr-o.right{border-color:#1FA37A!important;background:#E8F7EF!important;position:relative}
.tr-o.right::after{content:"✓";margin-left:auto;width:26px;height:26px;border-radius:50%;background:#1FA37A;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;animation:tqTick .45s cubic-bezier(.2,1.4,.4,1)}
.tr-o.wrong::after{content:"✕";margin-left:auto;width:26px;height:26px;border-radius:50%;background:#E5584A;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
@keyframes tqTick{from{transform:scale(0) rotate(-45deg)}to{transform:scale(1) rotate(0)}}
.shake{animation:tqShake .45s}
@keyframes tqShake{0%,100%{transform:none}20%{transform:translateX(-8px)}40%{transform:translateX(7px)}60%{transform:translateX(-5px)}80%{transform:translateX(3px)}}
.bounce{animation:tqBounce .5s cubic-bezier(.2,1.5,.4,1)}
@keyframes tqBounce{0%{transform:scale(1)}40%{transform:scale(1.04)}100%{transform:scale(1)}}
.tr-why.show{animation:tqUp .35s ease both}
@keyframes tqUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.tq-next{margin-top:14px;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s}
.tq-next.ready{opacity:1;transform:none}
.tr-quiz[data-live]>.btn[hidden]{display:none}
.cf{position:fixed;width:9px;height:12px;z-index:400;pointer-events:none;border-radius:2px;animation:cfFly 1.2s cubic-bezier(.15,.7,.4,1) forwards}
@keyframes cfFly{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(var(--dx),calc(var(--dy) + 160px)) rotate(var(--r));opacity:0}}
.xp-pop{position:absolute;z-index:400;transform:translateX(-50%);font-weight:800;font-size:15px;color:#0E0F0F;background:#FAE843;border-radius:999px;padding:4px 10px;box-shadow:0 8px 20px -8px rgba(0,0,0,.4);pointer-events:none;animation:xpUp 1.3s ease-out forwards}
@keyframes xpUp{0%{opacity:0;transform:translate(-50%,10px) scale(.7)}20%{opacity:1;transform:translate(-50%,-10px) scale(1.1)}100%{opacity:0;transform:translate(-50%,-70px) scale(1)}}
.tr-result.in{animation:tqIn .5s cubic-bezier(.2,.9,.3,1.2)}
.tr-result.wobble{animation:tqShake .5s .2s}
.tr-card{animation:tqUp .5s ease both}.tr-mods .tr-card:nth-child(2){animation-delay:.06s}.tr-mods .tr-card:nth-child(3){animation-delay:.12s}.tr-mods .tr-card:nth-child(4){animation-delay:.18s}
.tr-bar span{transition:width .8s cubic-bezier(.2,.9,.3,1)}
.tr-b.on{animation:tqTick .5s cubic-bezier(.2,1.4,.4,1) both}
@media(prefers-reduced-motion:reduce){.tr-q,.tr-result,.tr-card,.tr-b.on,.shake,.bounce,.tq-streak{animation:none!important}}
@media(max-width:760px){.tq-top{top:76px}}
.tr-acts{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}
.tr-acts .btn{flex:0 1 auto}
.tr-nextmod{animation:tqUp .4s .5s ease both}
.tr-review>summary{cursor:pointer;font-weight:600;padding:12px 16px;background:#fff;border:1px solid var(--line2);border-radius:14px;list-style:none;display:flex;justify-content:space-between;align-items:center}
.tr-review>summary::-webkit-details-marker{display:none}
.tr-review>summary::after{content:"";width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);margin-top:-4px}
.tr-review[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
.tr-review .tr-quiz{margin-top:12px}
div.tr-o{cursor:default}
@media(max-width:600px){.tr-acts{flex-direction:column}.tr-acts .btn{width:100%;justify-content:center;text-align:center}}
.tr-crumbs{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:4px 0 14px}
.tr-crumbs .tr-back{margin:0}
.tr-home{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;text-decoration:none;color:#0E0F0F;background:#fff;border:1px solid var(--line2);border-radius:999px;padding:6px 12px;white-space:nowrap}
.tr-home:hover{border-color:#cfd2cc}
.tr-o>span{flex:1;min-width:0}
.tr-o.right::after,.tr-o.wrong::after{flex:0 0 26px;min-width:26px;height:26px;line-height:26px;font-size:14px}
/* ===== Lemon Launch ===== */
.gm-head{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#0E0F0F;color:#fff;border-radius:24px;padding:24px 28px;margin-bottom:16px;position:relative;overflow:hidden}
.gm-head::after{content:"";position:absolute;right:120px;bottom:-50px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,#FAE84344,transparent 70%)}
.gm-head .tr-kick{color:#FAE843}.gm-head h1{color:#fff;margin:0 0 6px;font-size:32px}.gm-head p{margin:0;color:rgba(255,255,255,.8);max-width:560px}.gm-head b{color:#fff}
.gm-champ{position:relative;z-index:1;display:flex;gap:12px;align-items:center;background:#FAE843;color:#0E0F0F;border-radius:18px;padding:12px 16px}.gm-champ>span{font-size:30px}.gm-champ small{display:block;font-size:12px}.gm-champ b{font-size:18px}
.gm-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.gm-stage{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line2);background:#FFF9D6;aspect-ratio:16/9;user-select:none;-webkit-user-select:none}
.gm-stage canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:none}
.gm-hud{position:absolute;left:16px;top:12px;right:16px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}
.gm-score{font:800 26px/1 Geist,Manrope,system-ui,sans-serif;background:#fff;border-radius:999px;padding:6px 14px;box-shadow:0 6px 16px -10px rgba(0,0,0,.4)}
.gm-lemons{display:flex;gap:6px}.gm-lemons i{width:26px;height:20px;border-radius:50%;background:#FAE843;border:2px solid #D9B800}
.gm-over,.gm-start{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(14,15,15,.35);backdrop-filter:blur(2px)}
.gm-over[hidden],.gm-start[hidden]{display:none}
.gm-card{background:#fff;border-radius:22px;padding:22px 24px;max-width:380px;text-align:center;box-shadow:0 20px 50px -20px rgba(0,0,0,.5);animation:tqIn .4s cubic-bezier(.2,.9,.3,1.2)}
.gm-card h2{margin:0 0 6px;font-size:24px}.gm-card p{margin:0 0 14px;color:#4A5157}.gm-btns{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.gm-tip{margin:8px 4px 0}
.gm-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gm-stats div{background:#F4F5F2;border-radius:14px;padding:12px;text-align:center}.gm-stats b{display:block;font-size:24px}.gm-stats span{font-size:12.5px;color:#6B7278}
.gm-promo{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;background:linear-gradient(120deg,#FAE843,#FFF4A8);border-radius:20px;padding:16px 20px;text-decoration:none;color:#0E0F0F;box-shadow:0 10px 24px -18px rgba(0,0,0,.5);animation:tqUp .5s ease both}
.gm-promo:hover{transform:translateY(-2px)}
.gm-pt{display:flex;flex-direction:column;min-width:0}.gm-pt small{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.gm-pt strong{font-size:19px}.gm-pt span{font-size:13.5px;color:#3A4148}
.gm-lemon{width:52px;height:44px;border-radius:50%;background:#fff;border:3px solid #D9B800;position:relative;animation:gmBob 2.4s ease-in-out infinite}
.gm-lemon::before{content:"";position:absolute;inset:6px 8px;border-radius:50%;background:#FAE843}
.gm-lemon::after{content:"";position:absolute;top:-8px;left:18px;width:14px;height:8px;border-radius:50%;background:#3CB44B;transform:rotate(-25deg)}
@keyframes gmBob{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-4px) rotate(6deg)}}
@media(max-width:900px){.gm-grid{grid-template-columns:1fr}.gm-head{flex-direction:column;align-items:flex-start;padding:20px}.gm-head h1{font-size:26px}.gm-promo .tr-go{display:none}.gm-promo{grid-template-columns:auto minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.gm-lemon,.gm-promo,.gm-card{animation:none}}
.gm-hud{pointer-events:none}.gm-fs{pointer-events:auto;margin-left:10px;width:36px;height:36px;border-radius:12px;border:0;background:#fff;box-shadow:0 6px 16px -10px rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#0E0F0F}
.gm-hud .gm-lemons{margin-left:auto}
body.gm-big{overflow:hidden}
body.gm-big .gm-stage{position:fixed;inset:0;z-index:500;border-radius:0;border:0;aspect-ratio:auto;background:#0E0F0F;display:flex;align-items:center;justify-content:center}
body.gm-big .gm-stage canvas{width:min(100vw,calc(100vh * 16 / 9));height:auto;aspect-ratio:16/9}
.gm-rot{display:none}
@media(max-width:760px){.gm-rot{display:inline}.gm-score{font-size:18px;padding:4px 10px}.gm-lemons i{width:18px;height:14px}.gm-hud{left:10px;top:8px;right:10px}.gm-card{padding:16px;max-width:300px}.gm-card h2{font-size:19px}.gm-card p{font-size:14px;margin-bottom:10px}}
@media(max-width:760px){.gm-over,.gm-start{position:fixed!important;z-index:450;padding:16px}}body.gm-big .gm-over,body.gm-big .gm-start{position:fixed;z-index:520}
/* App background: the same soft grey behind everything, including the phone's status bar and overscroll */
html{background:#F3F4F1}
@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top)}.cbar,.zbar2{top:0}}
.acct-theme{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;font-size:14px}
.seg-th{display:flex;background:#F2F3F0;border-radius:999px;padding:3px}
.seg-th button{border:0;background:none;font:inherit;font-size:13px;padding:5px 10px;border-radius:999px;cursor:pointer;color:#4A5157}
.seg-th button.on{background:#0E0F0F;color:#fff}
/* White top on phones: status bar and header */
html{background:#fff}
@media(max-width:860px){.zbar2,.cbar{background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}
/* Who's online list */
.onl{position:relative}
.onl>summary{list-style:none;cursor:pointer}.onl>summary::-webkit-details-marker{display:none}
.onl-m{position:absolute;right:0;top:calc(100% + 10px);z-index:70;width:290px;background:#fff;border:1px solid rgba(20,24,28,.07);border-radius:18px;box-shadow:0 18px 48px -8px rgba(20,24,28,.22);padding:8px;animation:tqUp .2s ease}
.onl-h{display:flex;justify-content:space-between;align-items:baseline;padding:8px 10px 6px}
.onl-l{display:flex;flex-direction:column;max-height:60vh;overflow-y:auto}
.onl-r{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px}
.onl-r:hover{background:#F6F7F4}
.onl-n{display:flex;flex-direction:column;min-width:0;line-height:1.3}.onl-n strong{font-size:14px;font-weight:600}.onl-n em{font-style:normal;font-size:11.5px;color:#8A9099;font-weight:400}.onl-n small{font-size:12.5px;color:#6B7278}
.onl-f{display:block;text-align:center;margin-top:4px;padding:10px;border-top:1px solid #F0F1EE;font-size:14px;font-weight:600;text-decoration:none;color:#0E0F0F}
@media(max-width:760px){.onl-m{position:fixed;left:12px;right:12px;top:70px;width:auto}}
.acct-theme{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;font-size:14.5px;cursor:pointer}
.acct-theme>span{display:flex;align-items:center;gap:8px}
.acct-theme select{font:inherit;font-size:13.5px;border:1px solid var(--line);border-radius:10px;padding:6px 28px 6px 10px;background:#fff;cursor:pointer}
/* ===== Sweep fixes (28 Sept) ===== */
/* menus opened from the black Zest bar on client pages were inheriting its white text */
.zbar .nb-panel,.zbar .acct-m,.zbar .onl-m,.zbar .cs-menu{color:#1C2127}
.zbar .nb-panel a,.zbar .acct-m a,.zbar .onl-m a{opacity:1;font-size:inherit}
.zbar .nb-panel a:hover,.zbar .acct-m a:hover{text-decoration:none}
.zbar .nb-panel .nrow{padding:10px;border-radius:12px;color:var(--ink)}
.zbar .nb-panel .nb-all{padding:12px;border-radius:0;color:var(--ink);font-size:13.5px}
.zbar .acct-m a{color:var(--ink);font-size:14.5px}
.zbar .acct-m .acct-out{color:#B3261E}
/* easier-to-read small print */
.ib-sec{color:#6B7278!important}
.cm time,.ib-row time,.chat-log time{color:#767C82}
.tl-sec,.tl-stl{color:#6B7278}
.tl-add{color:#6B7278}
.pv-none{color:#8A9099}
.tr-b{color:#6B7278}
.gm-champ b,.gm-champ small{color:#0E0F0F}
.zbar .pushc strong,.zbar .nb-panel strong,.zbar .acct-m strong,.zbar .onl-m strong{color:inherit}
.sl-st{color:color-mix(in srgb,var(--sc) 70%,#000)}
.dl-chip.late b{background:#E5483A}

/* keep me signed in */
.form label.keep-me,.a2-form .form label.keep-me{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px;text-align:left;font-size:14.5px;font-weight:500;margin:2px 0 4px}
.form label.keep-me>input,.a2-form .form label.keep-me>input{flex:0 0 18px;width:18px!important;height:18px;min-height:0;padding:0;margin:2px 0 0;accent-color:#0E0F0F;box-shadow:none}
.keep-me>span{flex:1 1 auto;min-width:0}
.keep-me small{display:block;font-size:12.5px;color:var(--muted);font-weight:400;margin-top:2px}

/* downlow lines as tasks */
.dl-task{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:7px}
.dl-tk{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:#0E0F0F;background:#FFF7C2;border:1px solid #F1E27A;border-radius:999px;padding:3px 10px;text-decoration:none;line-height:1.3}
.dl-tk:hover{background:#FAE843}
.dl-vis{display:inline;margin:0}
.dl-vb{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:12px;font-weight:600;color:#3A4046;background:#F2F3F0;border:1px solid #E1E3DE;border-radius:999px;padding:3px 10px;cursor:pointer;line-height:1.3}
.dl-vb span{font-weight:500;color:#6B7178;border-left:1px solid #D6D9D3;padding-left:6px}
.dl-vb.lock{background:#FDECEA;border-color:#F4C7C1;color:#9B2C22}
.dl-vb.lock span{border-color:#F0B8B0;color:#9B2C22}
.dl-i.done .dl-task{opacity:.6}

/* moved to the new address */
.mv-bar{display:flex;align-items:center;gap:12px;justify-content:space-between;background:#FAE843;color:#0E0F0F;padding:10px 16px;font-size:14px;line-height:1.4}
.mv-bar b{display:block}
.mv-bar .btn{flex:0 0 auto;background:#0E0F0F;color:#fff}

/* "Want pop-ups?" sheet, shown the first time the portal is opened as an app */
.pask{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-end;justify-content:center;background:rgba(14,15,15,0);transition:background .25s}
.pask.in{background:rgba(14,15,15,.45)}
.pask-c{background:#fff;color:#0E0F0F;width:100%;max-width:440px;border-radius:24px 24px 0 0;padding:26px 22px calc(22px + env(safe-area-inset-bottom));text-align:center;transform:translateY(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.pask.in .pask-c{transform:none}
.pask-i{display:inline-flex;width:56px;height:56px;border-radius:18px;background:#FAE843;align-items:center;justify-content:center;margin-bottom:12px}
.pask h2{margin:0 0 8px;font-size:21px}
.pask p{margin:0 0 18px;color:#555B61;font-size:15px;line-height:1.45}
.pask-b{display:flex;flex-direction:column;gap:8px}
.pask-b .btn{width:100%;justify-content:center}
@media(min-width:861px){.pask{align-items:center}.pask-c{border-radius:24px}}
@media (prefers-reduced-motion:reduce){.pask,.pask-c{transition:none}}
@media (display-mode:standalone){.mv-bar{display:none}}
