@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@500;600;650;700;750;800&display=swap');
:root{--paper:#f8f9f6;--ink:#27352f;--muted:#7b847e;--border:#e4e8e1;--green:#35624d;--lavender:#edeafa;--font:'DM Sans',system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:14px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7e8fc0;outline-offset:3px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.rainbow{height:4px;position:fixed;inset:0 0 auto;z-index:9;background:linear-gradient(90deg,#eeb0b6,#f0d395,#d1dd9b,#a4d8c4,#a8cee0,#c4b7e3)}.sidebar{position:fixed;inset:4px auto 0 0;width:245px;background:#fff;border-right:1px solid var(--border);padding:33px 23px 20px;display:flex;flex-direction:column}.brand{font:800 29px 'Manrope',var(--font);letter-spacing:-1.6px;display:flex;align-items:center;gap:8px}.brand-mark{background:#dcebcf;border-radius:12px;width:35px;height:35px;display:inline-grid;place-items:center;font-size:30px;font-weight:500}.brand-dot{color:#79a079;margin-left:-8px}.workspace-switch{display:flex;align-items:center;text-align:left;gap:10px;background:#fafbf8;border:1px solid var(--border);border-radius:9px;padding:12px 10px;margin:35px 0 28px;width:100%}.workspace-switch strong{display:block;font-size:12px;max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-switch small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.workspace-switch>span:last-child{margin-left:auto}.workspace-icon{background:#ebe7f6;color:#75668a;border-radius:7px;padding:8px}.nav-label,.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px}.nav-label{color:#969d96;margin:0 13px 14px}.nav-item{width:100%;border:0;background:none;display:flex;align-items:center;text-align:left;gap:13px;padding:12px 13px;margin-bottom:5px;font-size:13px;color:#737d75;border-radius:7px}.nav-item>span{font-size:20px;width:20px;line-height:1}.nav-item.selected{background:#edf1e9;color:#3e624a;font-weight:650}.nav-item:hover{background:#f2f5ee}.nav-item b{margin-left:auto;border-radius:5px;background:#dfe7d6;padding:2px 7px;font-size:10px}.sidebar-bottom{margin-top:auto;padding-top:30px}.little-note{background:linear-gradient(135deg,#faf4ea,#f2f3e8);border-radius:10px;padding:22px 19px;margin-bottom:25px}.little-note>span{color:#c4a768;font-size:22px}.little-note p{font:600 16px/1.6 'Manrope',var(--font);margin:9px 0}.little-note small{color:#929585;font-size:10px}.account-button{border:0;border-top:1px solid var(--border);background:transparent;display:flex;align-items:center;gap:11px;text-align:left;padding:18px 0 0;width:100%}.avatar{display:inline-grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:#e7e2f3;color:#77638c;font-weight:700}.account-button strong{display:block;font-size:11px}.account-button small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.page{margin-left:245px}.topbar{height:83px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 45px;font-size:11px;color:#6f7971}.topbar>div{display:flex;align-items:center;gap:25px}#breadcrumb span{padding:0 12px;color:#b8bdb7}.button{border:1px solid var(--border);border-radius:7px;padding:11px 17px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:white;transition:transform .15s,background .15s}.button:hover{transform:translateY(-1px);background:#f3f5ef}.button.primary{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 3px 5px #26392a12}.button.primary:hover{background:#274e3d}.button.subtle{background:#fff}.button.danger{color:#a34040;background:#fff3f1;border-color:#ebd2cd}.text-button{border:0;padding:0;background:transparent;color:var(--green);font-weight:600;font-size:12px}main{max-width:1500px;margin:auto;padding:39px 45px 0}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{color:#859174;margin:0 0 12px}h1{font:600 clamp(27px,2.7vw,41px)/1.25 'Manrope',var(--font);letter-spacing:-1.6px;margin:0 0 12px}h1 span{color:#8bab75}.intro p:last-child{color:var(--muted);font-size:13px;margin:0}.guest-notice{display:flex;align-items:center;gap:9px;border:1px solid #e8e4d7;background:#fcfaf2;border-radius:7px;padding:11px 14px;color:#8b8060;font-size:11px;margin-bottom:22px}.guest-notice>button{margin-left:auto;border:0;background:none;color:#6e664f;font-weight:600;font-size:11px;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px}.stats article{background:white;border:1px solid var(--border);border-radius:10px;padding:21px 20px;display:flex;align-items:center;gap:13px;position:relative}.stat-icon{height:42px;width:42px;display:grid;place-items:center;border-radius:11px;font-size:23px}.lavender{background:#efeaf8;color:#8b79b7}.mint{background:#e9f2e7;color:#7f9e72}.peach{background:#fbf0df;color:#c4a364}.stats small{font-size:11px;color:var(--muted);display:block}.stats strong{display:block;font:650 28px 'Manrope',var(--font);margin-top:5px}.stat-caption{margin-left:auto;align-self:flex-end;font-size:9px;color:#969e95;white-space:nowrap}.feature{background:#edf1e5;border:1px solid #e4e9da;min-height:253px;border-radius:12px;display:flex;overflow:hidden;position:relative;margin-bottom:38px;padding:29px 33px}.feature>div:first-child{z-index:1}.pill{font-size:9px;letter-spacing:1.1px;color:#71835d;background:#ffffff80;border:1px solid #ffffffa0;border-radius:4px;padding:5px 9px}.feature h2{font:500 28px/1.25 Georgia,serif;letter-spacing:-.5px;margin:17px 0 12px;color:#3b503a}.feature p{font-size:12px;color:#7d8874;line-height:1.7;margin:0 0 21px}.feature .text-button{font-size:11px}.feature .text-button span{margin-left:18px}.pond{position:absolute;right:4%;top:0;width:330px;height:100%}.orbit{border:1px solid #dbe3ce;border-radius:50%;position:absolute;width:245px;height:245px;top:0;left:35px}.orbit-two{width:310px;height:310px;top:-30px;left:4px}.lily{position:absolute;bottom:55px;left:55px;background:#9fb889;width:210px;height:58px;border-radius:50%;transform:rotate(-8deg);box-shadow:0 11px 0 #dce5ce}.lily:after{content:'';position:absolute;width:45%;height:50%;right:0;top:0;background:#edf1e5;clip-path:polygon(100% 0,15% 100%,100% 100%)}.lily-back{width:65px;height:24px;left:7px;bottom:96px;background:#cedbbc;transform:rotate(12deg);box-shadow:none}.frog{position:absolute;width:113px;height:83px;left:103px;bottom:91px;background:#a2c489;border-radius:48% 48% 42% 42%;box-shadow:inset 0 -8px 0 #95b77d,10px 13px 0 -9px #819c6b}.eye{position:absolute;width:37px;height:39px;top:-16px;background:#a2c489;border-radius:50%}.eye.left{left:7px}.eye.right{right:7px}.eye:before{content:'';position:absolute;width:20px;height:24px;top:6px;left:9px;border-radius:50%;background:#fffdf1}.eye:after{content:'';position:absolute;width:7px;height:10px;top:13px;left:16px;border-radius:50%;background:#3b4932}.smile{position:absolute;width:21px;height:12px;border:2px solid #485c3e;border-top:0;border-radius:0 0 20px 20px;left:46px;top:37px}.cheek{position:absolute;width:16px;height:8px;border-radius:50%;background:#d2b09b;top:36px}.cheek.left{left:17px}.cheek.right{right:17px}.spark{position:absolute;color:#a9b382;font-size:20px}.s1{top:43px;left:63px}.s2{top:65px;right:47px;font-size:32px}.s3{right:37px;bottom:64px;font-size:14px}.pond-label{position:absolute;bottom:18px;width:100%;text-align:center;font:italic 13px Georgia,serif;color:#889575}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 20px}h2{font:650 18px 'Manrope',var(--font);letter-spacing:-.4px;margin:0 0 7px}.section-heading h2 span{display:inline-block;font-size:10px;background:#e9ede4;border-radius:5px;padding:3px 7px;vertical-align:middle;margin-left:6px;color:#839174}.section-heading p{color:var(--muted);font-size:11px;margin:0}.goal-tools{display:flex;gap:10px}.search{display:flex;align-items:center;gap:7px;background:white;border:1px solid var(--border);border-radius:6px;padding:8px 10px;max-width:175px}.search span{font-size:19px;color:#92998d}.search input{padding:0;border:0;background:none;width:100%;font-size:11px}.goal-tools select{border:1px solid var(--border);background:white;border-radius:6px;padding:8px;font-size:11px;color:#727c72}.filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:21px}.filters button{border:1px solid transparent;background:none;color:#858d83;border-radius:6px;padding:7px 13px;font-size:11px}.filters button.active{background:white;border-color:#dce2d5;color:#4c6745;box-shadow:0 1px 3px #00000005}.goal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.goal-card{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;position:relative;padding:23px 21px 0;min-height:294px;border-top:3px solid var(--accent)}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.category{background:var(--tint);color:var(--tone);border-radius:5px;padding:5px 8px;font-size:9px;font-weight:600}.icon-button{border:0;background:none;font-size:22px;line-height:1;padding:4px 7px;color:#8b9488}.goal-card h3{font:650 16px/1.45 'Manrope',var(--font);letter-spacing:-.35px;margin:0 0 8px;overflow-wrap:anywhere}.goal-card p{color:#8b9289;line-height:1.6;font-size:11px;margin:0 0 20px;overflow-wrap:anywhere}.progress-label{display:flex;justify-content:space-between;font-size:10px;margin-bottom:8px;margin-top:auto;color:#8b9186}.progress-label b{color:#627356;font-size:11px}.progress-track{height:6px;background:#eff1eb;border-radius:5px;overflow:hidden}.progress-track span{display:block;background:var(--accent);height:100%;border-radius:5px}.goal-meta{display:flex;justify-content:space-between;color:#8b9285;font-size:10px;margin-top:14px;margin-bottom:22px;gap:5px}.goal-meta .overdue{color:#ad6959}.card-bottom{margin:0 -21px;background:#fcfdfb;border-top:1px solid #eef0e9;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#87917f;gap:8px}.card-bottom .avatar{width:24px;height:24px;font-size:9px;margin-right:5px;background:var(--tint);color:var(--tone)}.card-bottom button{background:#fff;border:1px solid var(--border);border-radius:5px;padding:7px 10px;color:#526e45;font-size:10px;font-weight:600}.empty{grid-column:1/-1;padding:48px 25px;text-align:center;border:1px dashed #ced8c5;border-radius:10px;background:#f4f6f0}.empty p{color:var(--muted);line-height:1.6}.panel{border:1px solid var(--border);background:#fff;border-radius:10px;padding:27px}.panel p{color:var(--muted);line-height:1.7;font-size:13px}.activity-row{display:flex;gap:15px;padding:18px 0;border-bottom:1px solid var(--border)}.activity-row:last-child{border:0}.activity-row p{margin:0;overflow-wrap:anywhere}.activity-row small{display:block;color:#92998c;font-size:10px;margin-top:5px}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.member{display:flex;gap:10px;align-items:center;padding:14px 0}.member:last-child{margin-bottom:18px}footer{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#a1a79b;border-top:1px solid var(--border);margin-top:40px;padding:23px 0}.footer-mark{font-size:16px;padding-right:5px;color:#92a885}dialog{border:1px solid var(--border);border-radius:15px;width:min(540px,calc(100% - 28px));padding:30px;color:var(--ink);box-shadow:0 24px 100px #142a3030;max-height:90dvh;overflow:auto}dialog::backdrop{background:#25332f55;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:23px}.dialog-heading h2{font-size:23px}dialog p{color:var(--muted);font-size:13px;line-height:1.6}dialog label{display:block;font-size:12px;font-weight:600;margin-bottom:17px}dialog input:not([type=checkbox]),dialog textarea,dialog select{display:block;width:100%;border:1px solid #dce2d6;background:#fcfdfb;color:var(--ink);padding:11px 12px;border-radius:6px;margin-top:7px}dialog textarea{resize:vertical}dialog small{color:var(--muted);font-size:10px;font-weight:400}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-row.three{grid-template-columns:1fr 1fr 1fr}.checkbox{display:flex!important;align-items:center;gap:8px;font-weight:400!important}.dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:15px;margin-top:24px}.form-error{color:#a34343;min-height:0}.form-error:empty{display:none}.invite-code{background:#f0f3e9;border:1px dashed #b8c7a6;padding:20px;text-align:center;font:600 24px monospace;letter-spacing:2px;margin:20px 0}.invite-warning{font-size:11px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:20;background:#2e4f3e;color:white;border-radius:8px;padding:14px 22px;box-shadow:0 8px 25px #0002;max-width:90vw;font-size:13px}hr{border:0;border-top:1px solid var(--border);margin:25px 0}#workspace-list button{display:block;width:100%;text-align:left;margin-bottom:10px}#workspace-list{margin-bottom:25px}
@media(min-width:1500px){main{padding-top:50px}.feature{min-height:280px}.pond{right:10%}.goal-card{min-height:320px}}
@media(max-width:1150px){.sidebar{width:210px;padding:30px 16px 16px}.page{margin-left:210px}main{padding:30px 25px 0}.topbar{padding:0 25px}.stat-caption{display:none}.stats article{padding:17px}.goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pond{right:-30px;transform:scale(.88)}.feature{padding:28px 23px}.feature h2{font-size:26px}.section-heading{align-items:flex-start}.goal-tools{flex-wrap:wrap;justify-content:flex-end}.brand{font-size:27px}}
@media(max-width:800px){.sidebar{width:78px;padding:26px 12px}.brand{font-size:0;gap:0;justify-content:center}.brand-dot,.workspace-switch,.nav-label,.little-note,.account-button>span:last-child{display:none}.brand-mark{font-size:28px}.sidebar nav{margin-top:37px}.nav-item{font-size:0;justify-content:center;padding:13px 0;gap:0}.nav-item span{font-size:23px}.nav-item b{display:none}.account-button{justify-content:center}.page{margin-left:78px}.today{display:none}.pond{right:-65px;opacity:.8}.feature>div:first-child{max-width:65%}.feature h2{font-size:24px}.feature p{font-size:11px}.stats{gap:10px}.stats article{padding:14px 10px;gap:9px}.stat-icon{width:30px;height:34px;font-size:19px}.stats small{font-size:10px}.stats strong{font-size:23px}.guest-notice{align-items:flex-start;flex-wrap:wrap}.guest-notice>span{flex:1;min-width:150px}.guest-notice>button{margin-left:20px}.intro{align-items:flex-start}.intro>.button{white-space:nowrap;padding:10px}.team-grid{grid-template-columns:1fr}}
@media(max-width:560px){.sidebar{position:static;width:auto;height:auto;padding:17px 18px 0;border:0;background:#fff;display:block}.brand{font-size:25px;justify-content:flex-start}.brand-mark{font-size:26px;width:31px;height:31px;margin-right:8px}.brand-dot{display:inline;margin-left:0}.sidebar nav{display:flex;margin-top:15px;gap:4px;overflow:auto}.nav-item{min-width:47px;margin-bottom:0;border-radius:7px 7px 0}.sidebar-bottom{position:absolute;right:20px;top:17px;margin:0;padding:0}.account-button{padding:0;border:0}.page{margin:0}.topbar{height:57px;padding:0 20px}.topbar .button{padding:7px 10px;font-size:10px}main{padding:27px 20px 0}.intro{gap:12px}.intro h1{font-size:28px;letter-spacing:-1px}.intro .eyebrow{font-size:8px}.intro p:last-child{font-size:11px;line-height:1.6}.intro .button{font-size:10px;margin-top:23px;padding:9px}.stats{gap:7px}.stats article{display:block;padding:13px 10px}.stat-icon{height:27px;width:27px;margin-bottom:10px;font-size:16px;border-radius:7px}.stats small{font-size:9px}.stats strong{font-size:24px}.feature{min-height:257px;margin-bottom:28px;padding:23px 18px}.feature h2{font-size:23px}.feature p br{display:none}.feature p{max-width:185px}.pill{font-size:7px;letter-spacing:.5px;padding:5px}.pond{right:-104px;top:37px;transform:scale(.64);opacity:.8}.pond-label{display:none}.feature>div:first-child{max-width:85%}.section-heading{display:block}.goal-tools{margin-top:16px;justify-content:flex-start}.search{max-width:none;flex:1}.filters{gap:2px}.filters button{padding:7px 9px;font-size:10px}.goal-grid{grid-template-columns:1fr}.goal-card{min-height:270px}.goal-card h3{font-size:18px}.goal-card p{font-size:12px}footer{font-size:9px}footer>span:last-child{max-width:120px;text-align:right}dialog{padding:23px}.dialog-heading h2{font-size:21px}.form-row.three{gap:8px}.dialog-actions{flex-wrap:wrap}.guest-notice{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* Clearer text, resilient layouts, and comfortable controls. */
:root { --muted: #59675e; }
body { overflow-wrap: break-word; }
button, input, select, textarea { touch-action: manipulation; }
button, input, select, textarea, .page, main, .panel { min-width: 0; }
button, .button { min-height: 40px; }
button:disabled { cursor: progress; }
main { scroll-margin-top: 20px; }
main:focus, #page-title:focus { outline: none; }
.skip-link {
  position: fixed;
  z-index: 50;
  top: 12px;
  left: 12px;
  padding: 12px 18px;
  border-radius: 7px;
  background: var(--green);
  color: #fff;
  transform: translateY(-160%);
}
.skip-link:focus { transform: translateY(0); }
.nav-label, .eyebrow { color: #60734f; }
.nav-item { color: #526156; }
.topbar { color: var(--muted); }
.avatar { color: #69557e; }
.button.subtle, .workspace-switch, .search, .goal-tools select, .filters button.active, .card-bottom button { border-color: #89927f; }
.nav-icon { flex-shrink: 0; }
.nav-text { flex: 1; width: auto !important; font-size: 13px !important; line-height: 1.3 !important; }
.workspace-switch > span:nth-child(2), .account-button > span:last-child { min-width: 0; }
.workspace-switch strong { max-width: none; }
.account-button strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-button { min-height: 48px; }
.account-details { overflow-wrap: anywhere; }
.account-details p { margin: 6px 0; }
.account-details strong { color: var(--ink); }
.little-note small, .stat-caption, .pond-label { color: #626d55; }
.stats article, .stats article > div { min-width: 0; }
.stats strong { overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.feature p { color: #58674e; }
.pill { color: #52683d; }
.guest-notice, .sample-notice { color: #6e6040; }
.guest-notice > button { color: #645534; min-height: 32px; white-space: normal; text-align: left; }
.sample-notice {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 16px;
  border: 1px solid #e1dccb;
  border-radius: 7px;
  padding: 12px 14px;
  margin-bottom: 22px;
  background: #fcfaf2;
  font-size: 12px;
  line-height: 1.6;
}
.sample-notice > span, .sample-notice > p { flex: 1 1 220px; margin: 0; }
.sample-notice button { flex-shrink: 0; }
.app-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 16px;
  padding: 14px 16px;
  margin-bottom: 22px;
  border: 1px solid #c8d7bf;
  border-radius: 8px;
  background: #edf3e8;
  color: #3d5938;
  line-height: 1.6;
}
.page > .app-status, .page > noscript > .app-status { width: calc(100% - 90px); max-width: 1410px; margin: 20px auto 0; }
.app-status p { margin: 0; }
.app-status button { flex-shrink: 0; }
.app-status.error { border-color: #dfc5be; background: #fff3ef; color: #843e2e; }
.search { min-width: 0; min-height: 42px; }
.search input, .goal-tools select { color: #49594c; font-size: 13px; }
.search input::placeholder, dialog input::placeholder, dialog textarea::placeholder { color: #64715f; opacity: 1; }
.filters { gap: 7px; }
.filters button { color: #57664f; min-height: 40px; }
.category { color: #435340; font-size: 11px; }
.card-top { flex-wrap: wrap; gap: 8px; }
.card-top .icon-button { margin-left: auto; flex-shrink: 0; }
.sample-badge {
  display: inline-block;
  border: 1px solid #ddd4b9;
  border-radius: 5px;
  padding: 4px 7px;
  background: #fcf8ec;
  color: #705e34;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;
}
.icon-button { min-width: 40px; min-height: 40px; color: #57674f; }
.goal-card p { color: #5c6a57; font-size: 12px; }
.progress-label { color: #53634d; gap: 12px; font-size: 12px; }
.progress-label > span { min-width: 0; overflow-wrap: anywhere; }
.progress-label b { flex-shrink: 0; color: #4d613f; font-size: 12px; }
.goal-meta { color: #596750; flex-wrap: wrap; gap: 8px 12px; font-size: 11px; }
.goal-meta .overdue { color: #9a4939; }
.card-bottom { color: #53664a; font-size: 11px; }
.card-bottom > span { min-width: 0; overflow-wrap: anywhere; }
.card-bottom button { flex-shrink: 0; min-height: 40px; font-size: 11px; }
.card-bottom .avatar { color: #495340; vertical-align: middle; }
.section-heading h2 span { color: #526243; }
.activity-row small { color: #607054; font-size: 12px; }
.activity-row > div, .member > span:last-child { min-width: 0; overflow-wrap: anywhere; }
footer { color: #637057; }
dialog { overscroll-behavior: contain; max-height: calc(100dvh - 32px); }
dialog .dialog-heading { align-items: flex-start; }
dialog .dialog-heading h2 { overflow-wrap: anywhere; }
dialog .dialog-heading .icon-button { flex-shrink: 0; }
dialog input:not([type=checkbox]), dialog textarea, dialog select { min-height: 44px; font-size: 16px; border-color: #89927f; }
dialog input[type=date] { min-width: 0; max-width: 100%; }
dialog small { font-size: 12px; line-height: 1.5; }
dialog label { line-height: 1.5; min-width: 0; }
dialog .checkbox { min-height: 44px; }
dialog input[type=checkbox] { width: 18px; height: 18px; flex-shrink: 0; accent-color: var(--green); }
.dialog-actions > button { min-height: 44px; }
.form-hint { color: var(--muted); font-size: 12px; line-height: 1.6; }
.form-hint:empty { display: none; }
.goal-conflict {
  padding: 13px 15px;
  border: 1px solid #ddc798;
  border-radius: 7px;
  background: #fff9e9;
  color: #74552a;
  line-height: 1.6;
}
.goal-conflict p { color: inherit; margin: 0 0 10px; }
.goal-conflict button { min-height: 44px; }
.invite-code { overflow-wrap: anywhere; user-select: all; }
#workspace-list button { white-space: normal; overflow-wrap: anywhere; }

@media (min-width: 801px) {
  .sidebar { overflow-y: auto; }
  .sidebar-bottom { flex-shrink: 0; }
}

@media (max-width: 1150px) {
  .page > .app-status, .page > noscript > .app-status { width: calc(100% - 50px); }
}

@media (max-width: 800px) {
  .page > .app-status, .page > noscript > .app-status { width: calc(100% - 48px); }
  .sidebar {
    position: relative;
    inset: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 15px;
    width: 100%;
    height: auto;
    padding: 22px 24px 0;
    border-right: 0;
    background: #fff;
  }
  .brand { justify-content: flex-start; gap: 8px; font-size: 27px; }
  .brand-mark { margin: 0; font-size: 28px; }
  .brand-dot { display: inline; margin-left: -8px; }
  .workspace-switch {
    display: flex;
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    margin: 0;
    padding: 9px 12px;
    min-height: 48px;
  }
  .workspace-switch > span:nth-child(2) { flex: 1; }
  .workspace-switch strong { font-size: 13px; }
  .workspace-switch small { display: none; }
  .workspace-icon { padding: 5px 8px; }
  .sidebar nav {
    display: flex;
    grid-column: 1 / -1;
    grid-row: 3;
    gap: 4px;
    min-width: 0;
    margin: 0;
    padding-bottom: 8px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
  }
  .nav-item {
    flex: 0 0 auto;
    flex-direction: column;
    justify-content: center;
    width: auto;
    min-width: 76px;
    min-height: 64px;
    gap: 5px;
    padding: 10px 12px;
    margin: 0;
    border-radius: 7px;
    font-size: 11px;
  }
  .nav-item > .nav-icon { width: 24px; font-size: 21px; }
  .nav-item > .nav-text { flex: none; font-size: 11px !important; white-space: nowrap; }
  .nav-item b { display: none; }
  .sidebar-bottom { position: static; grid-column: 2; grid-row: 1; margin: 0; padding: 0; align-self: center; }
  .account-button { gap: 8px; width: auto; padding: 0; border: 0; }
  .account-button > span:last-child { display: block; max-width: 150px; }
  .account-button .avatar { width: 36px; height: 36px; }
  .little-note, .nav-label { display: none; }
  .page { margin-left: 0; }
  .topbar { gap: 16px; padding: 0 24px; }
  .topbar > div { flex-shrink: 0; gap: 12px; }
  .topbar .button { min-height: 40px; }
  main { padding: 30px 24px 0; }
  .goal-card { min-height: 300px; }
  .guest-notice { font-size: 12px; line-height: 1.5; }
  .guest-notice > button { min-height: 40px; font-size: 12px; }
  .stats small { font-size: 11px; line-height: 1.4; }
  .stats article { gap: 11px; }
  .feature p { font-size: 12px; }
  .feature > div:first-child { max-width: 70%; }
}

@media (max-width: 560px) {
  .page > .app-status, .page > noscript > .app-status { width: calc(100% - 32px); }
  .sidebar { padding: 17px 16px 0; gap: 12px; }
  .brand { font-size: 25px; }
  .brand-mark { width: 31px; height: 31px; font-size: 26px; }
  .sidebar-bottom { position: static; }
  .account-button { min-width: 44px; min-height: 44px; }
  .account-button > span:last-child { display: none; }
  .nav-item { min-width: 72px; min-height: 62px; padding: 9px 10px; }
  .topbar { min-height: 62px; height: auto; gap: 10px; padding: 10px 16px; }
  #breadcrumb { line-height: 1.6; }
  #breadcrumb span { padding: 0 5px; }
  .topbar .button { padding: 8px 10px; font-size: 11px; }
  main { padding: 24px 16px 0; }
  .intro { flex-wrap: wrap; gap: 15px; }
  .intro > div { flex: 1 1 220px; }
  .intro h1 { font-size: 29px; }
  .intro p:last-child { font-size: 13px; }
  .intro .eyebrow { font-size: 9px; }
  .intro > .button { min-height: 44px; margin: 0; padding: 10px 15px; font-size: 12px; }
  .stats article { padding: 13px 9px; }
  .stats small { font-size: 11px; }
  .stats strong { font-size: 24px; }
  .feature { padding: 24px 18px; }
  .feature > div:first-child { max-width: 85%; }
  .feature p { max-width: 195px; }
  .feature p br { display: initial; }
  .feature .text-button { min-height: 44px; font-size: 12px; }
  .section-heading p { font-size: 12px; }
  .goal-tools { flex-wrap: wrap; gap: 9px; }
  .goal-tools .search { flex: 1 1 150px; }
  .goal-tools select { flex: 1 1 110px; min-height: 44px; }
  .search input { font-size: 16px; }
  .filters { gap: 4px; }
  .filters button { padding: 9px 11px; min-height: 44px; font-size: 12px; }
  .goal-grid { grid-template-columns: minmax(0, 1fr); }
  .goal-card { min-height: 290px; padding: 20px 18px 0; }
  .goal-card p { font-size: 13px; }
  .card-bottom { margin: 0 -18px; padding: 12px 14px; }
  .card-bottom button { min-height: 44px; }
  .guest-notice { gap: 8px; }
  .guest-notice > button { margin-left: 0; }
  .panel { padding: 21px; }
  dialog { width: calc(100% - 24px); padding: 22px 18px; }
  .form-row, .form-row.three { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .dialog-actions { gap: 12px; }
  .dialog-actions > button { flex: 1 1 auto; }
  .invite-code { padding: 16px 10px; font-size: 20px; letter-spacing: 1px; }
  footer { font-size: 10px; line-height: 1.6; }
  #toast { bottom: 16px; width: max-content; max-width: calc(100vw - 32px); padding: 12px 16px; }
}

@media (max-width: 360px) {
  .feature p { max-width: 155px; }
}
