*{box-sizing:border-box}
:root{--navy:#0A6670;--navy2:rgba(4,48,54,.38);--tq9:#063F46;--tq8:#07505A;--tq7:#0A6670;--tq6:#0E7C86;--cream:#F4EEE6;--peach:#EFA77A;--plum:#0A6670;--ink:#10262A;--muted:#5d6475;--bad:#b3261e;--ok:#1d6b3a}
html{-webkit-text-size-adjust:100%;background:#0A6670;color-scheme:light dark}
body{margin:0;min-height:100vh;background:radial-gradient(120% 460px at 88% 0,rgba(20,179,191,.5),rgba(20,179,191,0) 70%),linear-gradient(180deg,#0A6670 0,#0E7C86 560px) no-repeat,#0E7C86;color:#fff;font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;padding:env(safe-area-inset-top) 16px calc(24px + env(safe-area-inset-bottom))}
a{color:#fff}
.card a{color:#9A4F2A}
.wrap{max-width:440px;margin:0 auto}
.wrap.wide{max-width:760px}
.brand{display:flex;align-items:center;gap:12px;padding:22px 2px 14px;color:#fff;text-decoration:none}
.brand img{width:46px;height:46px}
.brand b{display:block;font-size:20px;letter-spacing:.2px}
.brand small{display:block;color:#D9F2F4;font-size:13px}
.card{background:var(--cream);color:var(--ink);border-radius:18px;padding:20px;margin:0 0 14px;box-shadow:0 10px 30px rgba(4,40,45,.32)}
.card h1,.card h2{margin:0 0 6px;font-size:22px;line-height:1.2}
.card h2{font-size:18px}
.card p{margin:0 0 12px}
.fine{font-size:13px;color:var(--muted)}
label{display:block;font-weight:600;font-size:14px;margin:12px 0 6px}
input[type=email],input[type=password],input[type=text],input[type=tel]{width:100%;font-size:17px;padding:13px 14px;border-radius:12px;border:1.5px solid #cfc6ba;background:#fff;color:var(--ink);outline:none}
input:focus-visible{border-color:var(--plum);box-shadow:0 0 0 3px rgba(10,102,112,.25)}
input.code{font-size:26px;letter-spacing:8px;text-align:center;font-variant-numeric:tabular-nums}
.pwrow{position:relative}.pwrow input{padding-right:64px}
.pwrow button{position:absolute;right:6px;top:6px;bottom:6px;border:0;background:none;color:var(--plum);font-weight:600;font-size:14px;padding:0 10px;cursor:pointer}
button.primary,a.primary{display:block;width:100%;margin-top:16px;font-size:17px;font-weight:700;padding:14px;border:0;border-radius:12px;background:var(--peach);color:var(--tq9);cursor:pointer;text-align:center;text-decoration:none}
button.secondary,a.secondary{display:block;width:100%;margin-top:10px;font-size:16px;font-weight:600;padding:12px;border:1.5px solid var(--plum);border-radius:12px;background:transparent;color:var(--plum);cursor:pointer;text-align:center;text-decoration:none}
button.danger{display:block;width:100%;margin-top:14px;font-size:16px;font-weight:700;padding:13px;border:0;border-radius:12px;background:var(--bad);color:#fff;cursor:pointer}
button:disabled{opacity:.55}
button:focus-visible,a:focus-visible{outline:3px solid var(--plum);outline-offset:2px}
.link{background:none;border:0;color:var(--plum);font-weight:600;font-size:15px;padding:8px 0;cursor:pointer;text-decoration:underline}
.row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px;margin:14px 0 4px}
.check input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--plum)}
.msg{border-radius:10px;padding:10px 12px;font-size:14px;margin:12px 0 0}
.msg.bad{background:#fde7e4;color:var(--bad)}
.msg.good{background:#e3f3e8;color:var(--ok)}
/* Oct 21 2026 passkeys: fingerprint / face sign-in button + the offer card */
.ico{flex:none;vertical-align:middle}
.pkbtn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:14px;font-size:17px;font-weight:700;padding:14px;border:0;border-radius:12px;background:var(--tq6);color:#fff;cursor:pointer}
.pkbtn:active{transform:translateY(1px)}
.or{display:flex;align-items:center;gap:10px;margin:16px 0 0;font-size:13px;color:var(--muted)}
.or::before,.or::after{content:"";flex:1;height:1px;background:#d8cfc3}
.pkoffer{text-align:center}
.pkoffer h1{font-size:22px;margin:4px 0 10px}
.pkart{display:inline-flex;align-items:center;justify-content:center;width:92px;height:92px;border-radius:26px;background:linear-gradient(160deg,#14B3BF,#0E7C86);color:#fff;margin:4px auto 12px;box-shadow:0 8px 22px rgba(14,124,134,.35)}
.pklist{list-style:none;padding:0;margin:8px 0 0}
.pklist li{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #e3dbd0}
.pklist li:first-child{border-top:0}
.pklist .pkname{flex:1;min-width:0}
.pklist .pkname b{display:block;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pklist .pkname small{color:var(--muted);font-size:12.5px}
.pklist .rm{border:1.5px solid var(--bad);background:none;color:var(--bad);border-radius:10px;padding:6px 10px;font-weight:600;font-size:13px;cursor:pointer}
.pill.here{background:var(--tq6);color:#fff}
.tabs{display:flex;background:var(--navy2);border-radius:14px;padding:4px;margin:0 0 14px}
.tabs button{flex:1;border:0;background:none;color:#fff;font-size:16px;font-weight:600;padding:11px;border-radius:10px;cursor:pointer}
.tabs button[aria-selected=true]{background:var(--peach);color:var(--tq9)}
.codes{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;font:600 17px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;background:#fff;border:1.5px dashed #cfc6ba;border-radius:12px;padding:12px 14px;margin:10px 0}
.mono{font:600 16px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all;background:#fff;border:1.5px dashed #cfc6ba;border-radius:12px;padding:10px 12px;margin:8px 0}
.qr{display:flex;justify-content:center;margin:12px 0}.qr svg,.qr img{width:200px;height:200px;background:#fff;padding:8px;border-radius:10px}
.foot{text-align:center;font-size:13px;color:#EEFAFB;margin:18px 0}
.foot a{color:#fff;margin:0 6px}
.steps{padding-left:20px;margin:6px 0 10px}.steps li{margin:4px 0}
.pill{display:inline-block;font-size:12px;font-weight:700;border-radius:99px;padding:2px 9px;background:#e8e0d6;color:var(--plum)}
.pill.on{background:#d9efe0;color:var(--ok)}
.legal h2{font-size:18px;margin:22px 0 6px}.legal h3{font-size:16px;margin:16px 0 4px}.legal p,.legal li{font-size:15px}
.legal .note{background:#fff4e8;border-left:4px solid var(--peach);padding:10px 12px;border-radius:8px;font-size:14px}
table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid #e1d8cc;vertical-align:top}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
[hidden]{display:none!important}
.logo{display:block;text-decoration:none;text-align:center;padding:26px 0 18px}
.logo img{width:min(230px,62vw);height:auto;display:inline-block}
.foot .hgm{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 6px;color:#fff;font-weight:600}
.foot .hgm img{width:22px;height:22px}
.apptitle{text-align:center;color:#fff;font-size:15px;font-weight:700;letter-spacing:3px;text-transform:uppercase;margin:-6px 0 16px;opacity:.95}
.cnt{display:inline-block;min-width:20px;padding:0 6px;border-radius:99px;background:#fff;color:var(--tq9);font-size:12px;line-height:20px;margin-left:4px}
.tabs button[aria-selected=true] .cnt{background:var(--tq9);color:#fff}
.seg{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px}
.seg button{border:1.5px solid #cfc6ba;background:#fff;color:var(--ink);border-radius:99px;padding:7px 12px;font-size:14px;font-weight:600;cursor:pointer}
.seg button[aria-pressed=true]{background:var(--tq7);border-color:var(--tq7);color:#fff}
.acts{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:4px}
.arow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #e1d8cc}
.arow:last-child{border-bottom:0}
.pill.own{background:var(--tq7);color:#fff}.pill.warn{background:#fff1d6;color:#7a4a00}
.mono.big{font-size:22px;text-align:center;letter-spacing:1px}
textarea{width:100%;font:15px/1.4 inherit;font-family:inherit;padding:10px 12px;border-radius:12px;border:1.5px solid #cfc6ba;background:#fff;color:var(--ink)}
button.primary.sm{width:auto;display:inline-block;padding:10px 22px;margin-top:10px}
.fb label{margin-top:10px}
.shotview{position:fixed;inset:0;z-index:50;background:rgba(4,40,45,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:12px}
.shotview img{max-width:100%;max-height:80vh;border-radius:10px;background:#fff}
.shotview .primary{max-width:300px}
input,select,textarea{color-scheme:light}
input::placeholder,textarea::placeholder{color:#7a7166}

.pill.beta{background:#e3f3e8;color:#1d6b3a}
.pcode{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.5px}
.pacts{display:flex;flex-direction:column;align-items:flex-end;gap:0}
.pacts .link{padding:4px 0;font-size:14px}
.tabs button{padding:10px 4px;font-size:13.5px}
.rstars{color:#E0912F;letter-spacing:1px}.rstars .off{color:#d8cfc3}
/* DARK MODE (v7): dim turquoise, same layout. Generated from the light rules, then hand-tuned. */
@media (prefers-color-scheme: dark){
a{color:#E6DED2}
.card a{color:#E3B097}
.brand{color:#E6DED2}
input[type=email],input[type=password],input[type=text],input[type=tel]{border:1.5px solid #1D5960;background:#083D43}
button.danger{color:#E6DED2}
.msg.bad{background:#3E1E19}
.msg.good{background:#193E25}
.tabs button{color:#E6DED2}
.codes{background:#083D43;border:1.5px dashed #1D5960}
.mono{background:#083D43;border:1.5px dashed #1D5960}
.foot a{color:#E6DED2}
.pill{background:#0A4D54}
.pill.on{background:#193E25}
.legal .note{background:#3E2C19}
th,td{border-bottom:1px solid #1D5960}
.foot .hgm{color:#E6DED2}
.apptitle{color:#E6DED2}
.cnt{background:#083D43}
.tabs button[aria-selected=true] .cnt{color:#E6DED2}
.seg button{border:1.5px solid #1D5960;background:#083D43}
.seg button[aria-pressed=true]{color:#E6DED2}
.arow{border-bottom:1px solid #1D5960}
.pill.own{color:#E6DED2}
.pill.warn{background:#3E3119;color:#E4C595}
.pill.beta{background:#193E25;color:#A7E3BF}
textarea{border:1.5px solid #1D5960;background:#083D43}
input::placeholder,textarea::placeholder{color:#C9BFAA}
:root{--cream:#08444B;--ink:#E6DED2;--muted:#A9C6C4;--peach:#D99A70;--plum:#8FD3DB;--bad:#F2958A;--ok:#7DD3A0;--navy2:rgba(0,20,23,.35)}
html{background:#052E33}
body{background:radial-gradient(120% 460px at 88% 0,rgba(20,179,191,.16),rgba(20,179,191,0) 70%),linear-gradient(180deg,#052E33 0,#073A40 560px) no-repeat,#073A40;color:#E6DED2}
.card{box-shadow:0 10px 30px rgba(0,0,0,.3)}
input[type=email],input[type=password],input[type=text],input[type=tel],textarea{background:#063A40;color:#E6DED2;color-scheme:dark}
input::placeholder,textarea::placeholder{color:#7FA3A3}
button.primary,a.primary{color:#052E33}
.tabs button[aria-selected=true]{color:#052E33}
.qr svg,.qr img{background:#fff}
.brand small,.foot{color:#BFD8D6}
.msg.bad{color:#F6B3AA}.msg.good{color:#A7E3BF}
.pill{color:#CFE6E4}
.seg button{color:#E6DED2}
.seg button[aria-pressed=true]{background:#0F6E77;border-color:#0F6E77}
.shotview{background:rgba(2,24,27,.94)}
.legal .note{color:#F0D7C2}
}

/* v9: owner dashboard, promo editor, terms note */
.note{background:#fff4e8;border-left:4px solid var(--peach);padding:10px 12px;border-radius:8px;font-size:14px;margin:10px 0}
#aTabs{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}#aTabs::-webkit-scrollbar{display:none}
#aTabs button{flex:1 0 auto;padding:10px 11px}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 2px}
.kpi{background:#fff;border-radius:12px;padding:10px 8px;text-align:center}
.kpi b{display:block;font-size:24px;line-height:1.1;color:var(--tq7)}
.kpi span{font-size:12px;color:var(--muted)}
.chart{width:100%;height:auto;display:block;margin-top:8px}
.chart .ba{fill:var(--tq6)}.chart .bs{fill:var(--peach)}.chart .ax{stroke:#d8cfc3;stroke-width:1}.chart text{font-size:9px;fill:var(--muted)}
.legend{display:flex;gap:14px;font-size:12px;color:var(--muted);margin-top:4px}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.lrow{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #e1d8cc;font-size:14px}.lrow:last-child{border-bottom:0}
.lrow .fine{margin:0}
.plat{font-size:12px;font-weight:700;border-radius:99px;padding:1px 8px;background:#e8e0d6;color:var(--plum);white-space:nowrap}
.plat.android-app{background:#d9efe0;color:#1d6b3a}.plat.ios-app{background:#e3ecf7;color:#1f4e7a}
.hist{margin-top:8px;border-top:1px solid #e1d8cc;padding-top:4px}
.pedit{background:#fff;border-radius:12px;padding:10px 12px;margin:8px 0}
.pedit label{font-size:14px;margin-top:8px}
.pedit input[type=date]{width:100%;font-size:16px;padding:10px 12px;border-radius:12px;border:1.5px solid #cfc6ba;background:#fff;color:var(--ink)}
.pedit .acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.pedit button.primary{margin-top:10px;width:auto;padding:10px 18px;font-size:16px}
.who{margin:6px 0 0;padding:6px 10px;background:#fff;border-radius:10px}
.promo{flex-wrap:wrap}
input[type=date]{color-scheme:light dark}
@media (prefers-color-scheme: dark){
.note{background:#3E2C19}
.kpi{background:#083D43}.kpi b{color:#8FD3DB}
.chart .ba{fill:#2BA3AE}.chart .ax{stroke:#1D5960}
.lrow{border-bottom:1px solid #1D5960}.hist{border-top:1px solid #1D5960}
.plat{background:#0A4D54;color:#CFE9EC}.plat.android-app{background:#193E25;color:#A7E3BF}.plat.ios-app{background:#17344F;color:#B9D3EE}
.pedit,.who{background:#083D43}
.pedit input[type=date]{border:1.5px solid #1D5960;background:#063A40;color:#E6DED2}
}
.promo .pacts{flex-direction:row;flex-wrap:wrap;gap:2px 18px;justify-content:flex-start;align-items:center;flex:1 1 100%}
.lrow>span:last-child{white-space:nowrap;flex:none}

/* Oct 21 2026: first/last name row + live password checklist (src/pwrules.js) */
.names{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}
ul.pwrules{list-style:none;margin:10px 0 0;padding:10px 12px;border-radius:12px;background:#fff;border:1.5px solid #cfc6ba;font-size:14px;line-height:1.35}
ul.pwrules li{display:flex;gap:8px;align-items:flex-start;padding:3px 0;color:var(--muted)}
ul.pwrules li .mk{flex:none;width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;border:1.5px solid #b9b0a4;color:#b9b0a4;margin-top:1px}
ul.pwrules li.ok{color:var(--ok);font-weight:600}
ul.pwrules li.ok .mk{background:var(--tq6);border-color:var(--tq6);color:#fff}
ul.pwrules li.no{color:var(--bad)}
ul.pwrules li.no .mk{border-color:var(--bad);color:var(--bad)}
ul.pwrules .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
button.primary:disabled,button.secondary:disabled{opacity:.5;cursor:not-allowed}
@media (prefers-color-scheme: dark){ul.pwrules{background:#0b2f34;border-color:#2a5157}ul.pwrules li{color:#a9bfc2}ul.pwrules li.ok{color:#7fe0a0}ul.pwrules li.no{color:#ff9d93}ul.pwrules li.no .mk{border-color:#ff9d93;color:#ff9d93}}

@media (prefers-color-scheme: dark){.or::before,.or::after{background:#2a5157}.pklist li{border-color:#1D5960}.pkbtn{background:#14B3BF;color:#052E33}}

/* Oct 21 2026 custom icon set (src/icons.js): inline line icons in the brand turquoise, sized to the text around them */
.spi{display:inline-block;width:1.2em;height:1.2em;vertical-align:-.24em;flex:none;color:var(--spi,#0E7C86)}
.spi .a{fill:#14B3BF;fill-opacity:.28;stroke:none}
button .spi,.btn .spi,a.primary .spi,.primary .spi,.topbar .spi,.tabs .spi,.flag .spi,.msg .spi,.pill .spi,.chip .spi,[aria-pressed=true] .spi{--spi:currentColor}
.sppin-wrap{background:none;border:0}
.sppin{display:block;filter:drop-shadow(0 2px 3px rgba(4,40,45,.35))}
@media (prefers-color-scheme: dark){.spi{--spi:#7FD0D8}.spi .a{fill-opacity:.22}}
.pwrow button.eye{display:flex;align-items:center;justify-content:center;padding:0 12px}.pwrow button.eye .spi{width:22px;height:22px;--spi:#0E7C86}

/* Oct 21 2026 — one brand across all of Shmily's apps (light is the default look): background #EAF6F7, white cards, primary #0E7C86,
   deep #0A6670, accent #14B3BF, text #063F46, icons #0E7C86. Dark mode keeps its own colors (rules above). */
@media (prefers-color-scheme: light){
:root{--cream:#fff;--peach:#0E7C86;--plum:#0A6670;--ink:#063F46;--muted:#4E6E73}
html{background:#EAF6F7}
body{background:#EAF6F7;color:#063F46}
a{color:#0A6670}
.brand,.apptitle,.foot .hgm{color:#063F46}
.brand small{color:#4E6E73}
.card{background:#fff;color:#063F46;box-shadow:0 1px 2px rgba(6,63,70,.06),0 8px 24px rgba(6,63,70,.09);border:1px solid #D5ECEE}
.card a{color:#0A6670}
input[type=email],input[type=password],input[type=text],input[type=tel],textarea{border-color:#BFE3E6}
input:focus-visible{border-color:#0E7C86;box-shadow:0 0 0 3px rgba(20,179,191,.25)}
button.primary,a.primary{background:#0E7C86;color:#fff}
button.secondary,a.secondary{border-color:#0E7C86;color:#0E7C86}
.tabs{background:#D5ECEE!important}
.tabs button{color:#0A6670}
.tabs button[aria-selected=true]{background:#0E7C86;color:#fff}
.foot a{color:#0A6670}
.pkbtn{background:#0A6670}
.seg button{border-color:#BFE3E6}
.seg button[aria-pressed=true]{background:#0E7C86;border-color:#0E7C86}
.pwrow button{color:#0E7C86}
.legal .note{background:#E3F4F5;border-left-color:#14B3BF}
.mono,.codes{border-color:#BFE3E6}
.or::before,.or::after{background:#D5ECEE}
.pklist li{border-color:#E1F0F1}
}

/* Oct 21 2026: Account page in the one light brand (bg #EAF6F7, white cards, primary #0E7C86) + the Privacy & Security section */
body.acct{background:#EAF6F7;color:#063F46;color-scheme:light}
html:has(body.acct){background:#EAF6F7}
body.acct .brand,body.acct .brand small{color:#063F46}
body.acct .brand small{color:#0A6670}
body.acct a{color:#0E7C86}
body.acct .card{background:#fff;color:#063F46;box-shadow:0 2px 10px rgba(6,63,70,.08);border:1px solid #D5ECEE}
body.acct .card a{color:#0E7C86}
body.acct .fine{color:#3E6C71}
body.acct button.primary,body.acct a.primary{background:#0E7C86;color:#fff}
body.acct button.secondary,body.acct a.secondary{border-color:#0E7C86;color:#0E7C86;background:#fff}
body.acct .link{color:#0A6670}
body.acct input[type=email],body.acct input[type=password],body.acct input[type=text]{background:#fff;color:#063F46;border-color:#B9DADD}
body.acct .pill{background:#E3F1F2;color:#0A6670}
body.acct .pill.on{background:#0E7C86;color:#fff}
body.acct .msg.good{background:#E0F4F5;color:#0A6670}
body.acct .foot,body.acct .foot a{color:#0A6670}
body.acct details summary{color:#0A6670;font-weight:600;cursor:pointer;padding:8px 0}
.pshead{display:flex;align-items:center;gap:10px;margin:22px 4px 10px;font-size:20px;color:#063F46}
.psico{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#E3F5F6;color:#0E7C86;margin-right:10px;flex:none}
.psico .spi{width:20px;height:20px}
.pshead .psico{background:#0E7C86;color:#fff;margin-right:0;--spi:#fff}
.pshead .psico .spi{color:#fff;stroke:#fff}
.card.ps h3{display:flex;align-items:center;margin:0 0 4px;font-size:17px}
.card.ps .pstext{flex:1;min-width:0}
.card.ps .pstext p{margin:6px 0 0 44px}
.row.nowrap{flex-wrap:nowrap;align-items:flex-start}
.switch{flex:none;position:relative;width:54px;height:32px;border-radius:99px;border:0;background:#C9DFE1;cursor:pointer;padding:0;margin-top:2px;transition:background .2s}
.switch span{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(6,63,70,.3);transition:left .2s}
.switch[aria-checked=true]{background:#0E7C86}
.switch[aria-checked=true] span{left:25px}
.switch:focus-visible{outline:3px solid #14B3BF;outline-offset:2px}
.switch:disabled{opacity:.6}
@media (prefers-color-scheme:dark){body.acct{background:#EAF6F7;color:#063F46}body.acct .card{background:#fff;color:#063F46}body.acct .pill{background:#E3F1F2;color:#0A6670}body.acct button.primary,body.acct a.primary{color:#fff}body.acct input[type=email],body.acct input[type=password],body.acct input[type=text]{background:#fff;color:#063F46}}
