:root{--bg: #ECE9E3;--surface: #F7F5F1;--card: #FFFFFF;--line: #E4DFD6;--line-2: #EFEBE4;--ink: #1F2430;--ink-2: #5A6170;--slate: #4B576D;--slate-hover: #3D4759;--on-slate: #FFFFFF;--hero: #4B576D;--hero-ink: #FFFFFF;--hero-soft: #DDE1EA;--brown: #8A3B00;--brown-tint: #F8EFE8;--brown-ink: #4A2A12;--good: #1F6B45;--good-tint: #E6F1EA;--chip: #F1F2F5;--focus: #8A3B00;--display: Georgia, "Times New Roman", serif;--body: Poppins, "Segoe UI", system-ui, sans-serif}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #121519;--surface: #1A1E25;--card: #222833;--line: #353C49;--line-2: #2D3340;--ink: #ECEEF2;--ink-2: #A9B0BD;--slate: #9DB0D3;--slate-hover: #B6C5E2;--on-slate: #121519;--hero: #2F384A;--hero-ink: #F3F5F9;--hero-soft: #B9C2D3;--brown: #E8A06B;--brown-tint: #3A2A1F;--brown-ink: #F2D3BC;--good: #71C99C;--good-tint: #1D3128;--chip: #2A303C;--focus: #E8A06B;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}a{color:var(--slate);font-weight:600}.app{max-width:640px;min-height:100dvh;margin:0 auto;background:var(--surface);display:flex;flex-direction:column;border-inline:1px solid var(--line)}.app-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));border-bottom:1px solid var(--line-2)}.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--slate)}.brand img{display:block;height:26px;width:auto}.brand-name{font-family:var(--display);font-size:19px;font-weight:400;white-space:nowrap}.pills{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.who{display:flex;align-items:center;gap:12px;font-size:13px;text-align:right}.who>span{font-weight:500;line-height:1.25}@media (max-width: 420px){.who .ft-s{display:none}}.link{background:none;border:0;color:var(--slate);font-weight:600;font-size:13px;cursor:pointer;min-height:44px;padding:0 2px}.demo-bar{font-size:12px;font-weight:600;color:var(--brown);background:var(--brown-tint);text-align:center;padding:6px 16px}.scroll{flex:1;padding:16px max(16px,env(safe-area-inset-right)) 24px max(16px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:14px}.greet{font-family:var(--display);font-size:26px;line-height:1.2;margin:4px 0 0}.sub{font-size:13.5px;color:var(--ink-2);margin:2px 0 0}.center{text-align:center}.body{margin:0;font-size:14.5px}.meta{font-size:13px;color:var(--ink-2);margin:0}.opt{font-weight:400;color:var(--ink-2)}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px}.card.needs{border-color:var(--slate);box-shadow:inset 0 0 0 1px var(--slate)}.card h2{font-family:var(--display);font-weight:400;font-size:18px;color:var(--slate);margin:0}.row-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.hero{background:var(--hero);color:var(--hero-ink);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:12px}.hero h2{font-family:var(--display);font-weight:400;font-size:20px;margin:0}.hero-row{display:flex;align-items:center;gap:14px}.hero p{margin:0;color:var(--hero-soft);font-size:14px}.hero .big{font-family:var(--display);font-size:48px;line-height:1}.hero .btn{background:var(--hero-ink);color:var(--hero)}.btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:12px;border:0;background:var(--slate);color:var(--on-slate);font-weight:600;cursor:pointer;padding:0 16px;text-align:center}.btn:hover{background:var(--slate-hover)}.btn:disabled{opacity:.6;cursor:progress}.btn.line{background:transparent;border:1px solid var(--slate);color:var(--slate)}.btn.warn{background:transparent;border:1px solid var(--brown);color:var(--brown)}.btn.small{min-height:42px;font-size:13.5px;padding:0 12px}.card>.btn.small{align-self:flex-start}.btns{display:flex;gap:8px;flex-wrap:wrap}.btns .btn{flex:1 1 140px}.pill{font-size:12px;font-weight:600;color:var(--brown);background:var(--brown-tint);padding:4px 10px;border-radius:999px;white-space:nowrap}.pill.good{color:var(--good);background:var(--good-tint)}.pill.slate{color:var(--slate);background:var(--chip)}.tag{font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--brown)}.note{background:var(--brown-tint);color:var(--brown-ink);border-radius:10px;padding:10px 12px;font-size:13.5px}.pulse.win{background:var(--good-tint);color:var(--ink)}.pulse{font-size:13px;color:var(--ink-2);background:var(--chip);border-radius:10px;padding:8px 10px}.err{color:var(--brown);font-size:13.5px;font-weight:600;margin:0}.st{font-size:12.5px;white-space:nowrap}.st.confirmed{color:var(--good)}.st.pending{color:var(--slate)}.st.returned{color:var(--brown);font-weight:600}.ft-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ft-col{display:flex;flex-direction:column;min-width:0}.ft-col h3{margin:0 0 4px;font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--brown)}.ft-row{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:48px;border:0;border-top:1px solid var(--line-2);background:none;padding:4px 0;text-align:left;width:100%;font-size:13.5px;cursor:pointer}.ft-row:hover b{text-decoration:underline}.ft-row b{font-family:var(--display);font-weight:400;font-size:21px;font-variant-numeric:tabular-nums}.ft-l{min-width:0}.ft-s{display:block;font-size:11.5px;color:var(--ink-2);font-weight:400}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat{background:var(--chip);border-radius:12px;padding:10px 12px}.stat b{display:block;font-family:var(--display);font-weight:400;font-size:22px;color:var(--slate);font-variant-numeric:tabular-nums}.stat span{font-size:12px;color:var(--ink-2)}.flag,.qitem{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line-2);padding-top:10px}.flag .btn,.qitem .btn{align-self:flex-start}.prompt{font-size:13.5px}.prompt b{color:var(--brown)}.weeks{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.wk{border-radius:10px;padding:8px 2px;text-align:center;background:var(--chip);font-size:11px;color:var(--ink-2)}.wk b{display:block;font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums}.wk.q{background:var(--good-tint)}.wk.q b{color:var(--good)}.wk.now{box-shadow:inset 0 0 0 1px var(--slate)}.goal-line{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line-2);padding-top:10px}.track{height:8px;border-radius:4px;background:var(--line-2);overflow:hidden}.track i{display:block;height:100%;background:var(--slate);border-radius:4px}ul.plain{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:14px}.seg{display:grid;grid-template-columns:1fr 1fr;background:var(--chip);border-radius:12px;padding:4px;gap:4px}.seg button{min-height:40px;border:0;border-radius:9px;background:transparent;cursor:pointer;font-weight:500;color:var(--ink-2)}.seg button[aria-pressed=true]{background:var(--card);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #00000014}.scale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.scale button{min-height:44px;border-radius:10px;border:1px solid var(--line);background:var(--card);cursor:pointer;font-weight:600}.scale button[aria-pressed=true]{background:var(--slate);color:var(--on-slate);border-color:var(--slate)}.scale-ends{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink-2)}.chips{display:flex;flex-direction:column;gap:10px}.pillar{display:flex;flex-direction:column;gap:8px}.chip{display:flex;flex-direction:column;align-items:stretch;gap:2px;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:10px 12px;cursor:pointer;min-height:48px}.chip[aria-pressed=true]{border-color:var(--slate);background:var(--chip);box-shadow:inset 0 0 0 1px var(--slate)}.chip[aria-disabled=true]{cursor:default}.chip b{font-weight:600}.chip>span:last-child{font-size:12.5px;color:var(--ink-2)}.locked{font-size:14px;color:var(--ink-2);padding:0 4px}label,legend{font-size:13px;font-weight:500;color:var(--ink-2)}fieldset{border:0;margin:0;padding:0}input[type=text],input[type=email],input[type=date],textarea,select{width:100%;border:1px solid var(--line);background:var(--card);border-radius:10px;padding:10px 12px;min-height:44px;font-size:16px}textarea{resize:vertical;min-height:64px}.field{display:flex;flex-direction:column;gap:6px}.checks{display:flex;flex-wrap:wrap;gap:8px}.check{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:8px 12px;min-height:44px;color:var(--ink);font-size:14px;cursor:pointer}.feed-item{display:flex;gap:12px;align-items:flex-start;border-top:1px solid var(--line-2);padding-top:10px}.av{width:36px;height:36px;flex:none;border-radius:18px;background:var(--chip);color:var(--slate);font-weight:600;font-size:14px;display:flex;align-items:center;justify-content:center}.pins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pin{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:12px;line-height:1.3;color:var(--ink-2)}.pin b{color:var(--ink);font-weight:600;font-size:12.5px}.badge{flex-shrink:0;width:52px;height:52px;border-radius:26px;display:flex;align-items:center;justify-content:center;border:2px solid var(--slate);background:var(--card);color:var(--brown)}.badge.off{border:2px dashed var(--line);color:var(--line);background:transparent}.badge.sm{width:36px;height:36px;border-width:1.5px}.badge.sm svg{width:18px;height:18px}.mlist{display:flex;flex-direction:column}.mrow{display:flex;align-items:center;gap:10px;min-height:56px;border:0;border-top:1px solid var(--line-2);padding:6px 0;width:100%;background:none;text-align:left;cursor:pointer}.mrow .nm{flex:1;min-width:0;font-weight:500}.prow{display:flex;align-items:center;gap:12px;min-height:48px;border-top:1px solid var(--line-2);padding:6px 0}.prow .nm{flex:1;min-width:0}.back{align-self:flex-start;background:none;border:0;color:var(--slate);font-weight:600;cursor:pointer;min-height:44px;padding:0}table{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}th{text-align:left;font-weight:600;color:var(--ink-2);font-size:12px;padding:6px 4px;border-bottom:1px solid var(--line)}td{padding:8px 4px;border-bottom:1px solid var(--line-2);vertical-align:top}.tbl{overflow-x:auto}.login{display:flex;flex-direction:column;gap:18px;padding-top:24px}.login-head{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.login-head img{height:52px;width:auto}.login-head h1{font-family:var(--display);font-weight:400;font-size:32px;color:var(--slate);margin:0}.built{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:12px}.built img{width:150px;height:auto;opacity:.9}.roles{display:flex;flex-direction:column;gap:8px}.role-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);cursor:pointer;min-height:56px}.role-btn:hover{border-color:var(--slate)}.role-btn strong{font-weight:600}.role-btn span{font-size:13px;color:var(--ink-2)}nav.tabs{position:sticky;bottom:0;display:grid;border-top:1px solid var(--line);background:var(--card);padding:6px 8px max(10px,env(safe-area-inset-bottom))}nav.tabs button{min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:0;color:var(--ink-2);font-size:12px;cursor:pointer}nav.tabs button[aria-current=page]{color:var(--slate);font-weight:600}.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%);background:var(--ink);color:var(--surface);padding:10px 16px;border-radius:999px;font-size:13.5px;font-weight:500;max-width:calc(100% - 32px);text-align:center;z-index:10}@media (prefers-reduced-motion: no-preference){.toast{animation:pop .2s ease-out}@keyframes pop{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}}@media (min-width: 700px){body{padding:0}.app{box-shadow:0 0 0 1px var(--line)}}
