/* iCius · simulador de design
   Desktop: painel + iPhone desenhado (393×852 pt). iPhone/standalone: o app ocupa a tela toda. */
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",Inter,system-ui,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;background:#E7E8EC;color:#16181D}
button,input{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent;text-align:inherit}
button:focus-visible{outline:2px solid var(--acc,#007AFF);outline-offset:2px}
.num{font-variant-numeric:tabular-nums}

/* ───────── Desktop: painel + aparelho ───────── */
body.desk{display:flex;align-items:center;justify-content:center;gap:56px;padding:24px;min-height:100%;overflow:auto}
.panel{width:310px;flex:0 0 auto;display:flex;flex-direction:column;gap:10px}
.p-head{display:flex;align-items:center;gap:12px}
.p-head img{border-radius:11px;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.p-head b{display:block;font-size:20px}
.p-head span{font-size:14px;color:#5E6370}
.p-lede,.p-note{font-size:13.5px;line-height:1.5;color:#4C515C}
.p-sec{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#707684;margin-top:10px}
.p-sec output{font-size:15px;color:#16181D;letter-spacing:0;font-variant-numeric:tabular-nums}
.p-concepts{display:flex;flex-direction:column;gap:6px}
.p-concepts button{display:flex;align-items:center;gap:12px;background:#fff;border-radius:12px;padding:10px 12px;border:1.5px solid transparent;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.p-concepts button b{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#EEF0F4;font-size:15px}
.p-concepts button span{font-size:14.5px;font-weight:600;display:flex;flex-direction:column}
.p-concepts button small{font-size:12px;font-weight:500;color:#707684}
.p-concepts button.on{border-color:#1C1C1E}
.p-concepts button.on b{background:#1C1C1E;color:#fff}
.p-row{display:flex;gap:6px;flex-wrap:wrap}
.p-row button{flex:1 1 auto;background:#fff;border-radius:10px;padding:9px 10px;font-size:13.5px;font-weight:600;text-align:center;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.p-row button.on{background:#1C1C1E;color:#fff}
.p-row .p-strong{background:#1F7A5C;color:#fff}
.stage{flex:0 0 auto}
.frame{width:417px;height:876px;border-radius:66px;background:#0C0C0E;padding:12px;box-shadow:0 0 0 1.5px #3A3A3E inset,0 30px 70px -20px rgba(0,0,0,.45),0 0 0 9px #C9CBD1,0 0 0 10px #A9ABB2;transform-origin:top left;transform:scale(var(--s,1))}
.frame .app{width:393px;height:852px;border-radius:54px}
@media (max-width:860px){body.desk{flex-direction:column;gap:28px}.panel{width:min(417px,100%)}}

/* ───────── Aparelho real (iPhone / tela pequena / instalado) ───────── */
body.device{background:#000;overflow:hidden;position:fixed;inset:0}
body.device .panel{display:none}
body.device .stage,body.device .frame{width:100%;height:100%;padding:0;border-radius:0;box-shadow:none;transform:none;background:transparent}
body.device .app{width:100%;height:100%;border-radius:0;padding-top:env(safe-area-inset-top)}
body.device .sbar,body.device .island,body.device .homeind{display:none}

/* ───────── App ───────── */
.app{--onacc:#fff;--rad:12px;--segon:#fff;--line2:#C5C8D2;position:relative;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);background-image:var(--bgimg,none);color:var(--ink);font-size:15px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}
.app.dark{color-scheme:dark}
.app.cA{--bg:#fff;--surface:#F2F2F7;--surface2:#E9E9EE;--ink:#000;--sub:#8E8E93;--line:#E5E5EA;--acc:#007AFF;--late:#FF9500;--latesoft:#FFF4E5;--ok:#34C759;--soft:#EEF5FF;--tabbg:rgba(249,249,251,.94);--sheetbg:#fff;--calok:rgba(52,199,89,.3)}
.app.cA.dark{--bg:#000;--surface:#1C1C1E;--surface2:#2C2C2E;--ink:#fff;--sub:#8E8E93;--line:#2C2C2E;--acc:#0A84FF;--late:#FF9F0A;--latesoft:rgba(255,159,10,.14);--ok:#30D158;--soft:#0D1C33;--tabbg:rgba(18,18,20,.94);--sheetbg:#1C1C1E;--segon:#636366;--line2:#48484A;--calok:rgba(48,209,88,.32)}
.app.cB{--bg:#F4F3EF;--surface:#fff;--surface2:#ECEAE4;--ink:#1C1C1E;--sub:#8A877F;--line:#EEEBE4;--acc:#1C1C1E;--late:#D97A00;--latesoft:#FFF3E0;--ok:#2FA84F;--tabbg:rgba(244,243,239,.95);--sheetbg:#fff;--rad:18px;--line2:#D8D4CB;--calok:rgba(47,168,79,.26)}
.app.cB.dark{--bg:#141311;--surface:#221F1C;--surface2:#2F2C27;--ink:#F4F3EF;--sub:#A29E95;--line:#34312C;--acc:#F4F3EF;--onacc:#1C1C1E;--late:#FFA930;--latesoft:rgba(255,169,48,.12);--ok:#4CD06D;--tabbg:rgba(20,19,17,.95);--sheetbg:#221F1C;--segon:#46423C;--line2:#4A463F;--calok:rgba(76,208,109,.3)}
.app.cD{--bg:#EEF3FF;--bgimg:linear-gradient(180deg,#DCE8FF 0%,#EEF3FF 55%,#F7F9FF 100%);--surface:rgba(255,255,255,.82);--surface2:#E3ECFF;--ink:#0B1A3A;--sub:#5A6A88;--line:#E3E8F3;--acc:#1D4ED8;--late:#D97A00;--latesoft:#FFF3E0;--ok:#2FA84F;--tabbg:rgba(247,249,255,.92);--sheetbg:#fff;--rad:18px;--takebg:#fff;--dotbg:rgba(11,26,58,.16);--calok:rgba(29,78,216,.2)}
.app.cD.dark{--bg:#07102A;--bgimg:linear-gradient(180deg,#0E1F4D 0%,#07102A 60%,#050A1C 100%);--surface:rgba(255,255,255,.07);--surface2:rgba(110,155,255,.14);--ink:#E8EEFF;--sub:#93A3C4;--line:rgba(255,255,255,.08);--acc:#6E9BFF;--late:#FFB04A;--latesoft:rgba(255,176,74,.12);--ok:#4CD06D;--tabbg:rgba(7,16,42,.92);--sheetbg:#14204A;--takebg:#18275A;--dotbg:rgba(255,255,255,.18);--segon:rgba(255,255,255,.18);--line2:rgba(255,255,255,.2);--calok:rgba(110,155,255,.3)}
.app.cE{--bg:#F5F7FA;--surface:#fff;--surface2:#EEF0F4;--ink:#14182B;--sub:#7A8194;--line:#ECEEF3;--acc:#1F7A5C;--accsoft:#E2F4EB;--late:#A86400;--latesoft:#FFF6E6;--ok:#1F7A5C;--tabbg:rgba(245,247,250,.94);--sheetbg:#fff;--rad:16px;--calok:#CDEBDC}
.app.cE.dark{--bg:#0E1114;--surface:#1A1F24;--surface2:#242A31;--ink:#E9EDF2;--sub:#8D95A5;--line:#262C33;--acc:#3FB68B;--onacc:#05241A;--accsoft:rgba(63,182,139,.16);--late:#F2B45A;--latesoft:rgba(242,180,90,.12);--ok:#3FB68B;--tabbg:rgba(14,17,20,.94);--sheetbg:#1A1F24;--segon:#3A424B;--line2:#3A424B;--calok:rgba(63,182,139,.32)}

.sbar{height:54px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:4px 32px 0 50px;font-weight:600;font-size:16.5px;position:relative;z-index:46}
.sb-ic{display:flex;gap:6px;align-items:center}
.island{position:absolute;top:11px;left:50%;width:124px;height:36px;margin-left:-62px;border-radius:20px;background:#000;z-index:80}
.homeind{position:absolute;bottom:8px;left:50%;width:138px;height:5px;margin-left:-69px;border-radius:3px;background:var(--ink);opacity:.9;z-index:90;pointer-events:none}
.view{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:2px 16px 28px;scrollbar-width:none}
.view::-webkit-scrollbar{display:none}
.app.big .view{zoom:1.14}
.tabbar{flex:0 0 auto;display:flex;justify-content:space-around;padding:7px 6px 32px;border-top:.5px solid var(--line);background:var(--tabbg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;z-index:10}
.tabbar:empty{display:none}
body.device .tabbar{padding-bottom:max(8px,env(safe-area-inset-bottom))}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px;font-weight:500;color:var(--sub);padding:1px 0}
.tab svg{width:27px;height:27px}
.tab.on{color:var(--acc)}
.tab.on svg{stroke-width:2.3}
.cB .tab.on{color:var(--ink)}

/* comuns */
.pt{font-size:34px;font-weight:700;letter-spacing:-.4px;margin:6px 4px 14px}
.navbar{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:0 2px;font-size:17px;color:var(--acc)}
.navbar b{color:var(--ink);font-weight:600}
.navbar button{padding:8px 4px;min-width:64px}
.navbar button:last-child{text-align:right}
.grp{background:var(--surface);border-radius:var(--rad);overflow:hidden}
.row{display:flex;align-items:center;gap:12px;padding:11px 15px;min-height:48px;border-bottom:.5px solid var(--line);width:100%;font-size:16.5px;text-align:left}
.row:last-child{border-bottom:0}
.row .v{margin-left:auto;color:var(--sub);font-size:15.5px;text-align:right;white-space:nowrap}
.row small{display:block;font-size:13px;color:var(--sub);margin-top:1px}
.row .grow{flex:1;min-width:0}
.sec{font-size:13px;font-weight:600;color:var(--sub);text-transform:uppercase;letter-spacing:.3px;margin:22px 15px 7px}
.ic{width:30px;height:30px;border-radius:8px;flex:0 0 auto;display:grid;place-items:center;color:#fff;font-size:13px;font-weight:700}
.ic svg{width:18px;height:18px}
.tg{margin-left:auto;width:51px;height:31px;border-radius:16px;background:var(--surface2);position:relative;flex:0 0 auto;transition:background .2s}
.tg::after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.2);transition:transform .2s}
.tg.on{background:#34C759}.tg.on::after{transform:translateX(20px)}
.cD .tg.on,.cE .tg.on{background:var(--acc)}
.seg{display:flex;background:var(--surface2);border-radius:9px;padding:2px;margin:2px 0 16px}
.seg button{flex:1;text-align:center;font-size:13.5px;font-weight:500;padding:7px 0;border-radius:7px}
.seg button.on{background:var(--segon);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:600;font-size:15px;flex:0 0 auto}
.btnp{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:54px;border-radius:var(--rad);background:var(--acc);color:var(--onacc);font-size:17px;font-weight:600}
.btnp svg{width:22px;height:22px}
.btn2{display:flex;align-items:center;justify-content:center;width:100%;height:54px;border-radius:var(--rad);background:var(--surface2);color:var(--acc);font-size:17px;font-weight:600}
.lnk{display:block;width:100%;text-align:center;font-size:16px;font-weight:600;color:var(--acc);padding:12px 0}
.red{color:#FF3B30!important}
.muted{color:var(--sub)}
.empty{text-align:center;color:var(--sub);font-size:15px;padding:30px 10px}
.inp{flex:1;min-width:0;background:transparent;border:0;outline:0;text-align:right;font-size:16.5px;color:var(--ink);-webkit-user-select:text;user-select:text}
.inp::placeholder{color:var(--sub);opacity:.7}
.inp.l{text-align:left}
input[type=time].inp{flex:0 0 auto;width:auto;text-align:center;background:var(--surface2);border-radius:8px;padding:5px 8px;font-weight:600;font-variant-numeric:tabular-nums}
.times{display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:100%}
.tchip{display:flex;align-items:center;gap:2px}
.tchip .x{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:var(--sub);font-size:18px;line-height:1}
.step{display:flex;align-items:center;gap:6px;margin-left:auto}
.step button{width:32px;height:32px;border-radius:50%;background:var(--surface2);font-size:20px;line-height:1;display:grid;place-items:center;color:var(--acc)}
.step span{min-width:26px;text-align:center;font-weight:600}
.pk{width:14px;height:14px;border-radius:50%;flex:0 0 auto}

/* sobreposições */
#overlay:empty{display:none}
.ov{position:absolute;inset:0;z-index:60;display:flex;flex-direction:column;justify-content:flex-end;background:rgba(0,0,0,.34);animation:fade .18s ease-out}
.sheet{margin:0 8px 30px;animation:up .22s ease-out}
body.device .sheet{margin-bottom:max(10px,env(safe-area-inset-bottom))}
.sheet .box{background:var(--sheetbg);border-radius:16px;overflow:hidden}
.sheet .ttl{padding:15px 16px 13px;text-align:center;font-size:13.5px;color:var(--sub);line-height:1.35}
.sheet .ttl b{display:block;font-size:15px;color:var(--ink);margin-bottom:1px}
.sheet .op{display:block;width:100%;padding:17px 12px;text-align:center;font-size:18.5px;color:var(--acc);border-top:.5px solid var(--line)}
.sheet .cancel{display:block;width:100%;margin-top:8px;padding:17px;background:var(--sheetbg);border-radius:16px;text-align:center;font-size:18.5px;font-weight:600;color:var(--acc)}
.sheet .lrow{display:flex;align-items:center;gap:10px;width:100%;padding:13px 16px;border-top:.5px solid var(--line);font-size:15.5px;text-align:left}
.sheet .lrow .v{margin-left:auto;font-size:13.5px;color:var(--sub)}
.alarm{position:absolute;inset:0;z-index:70;display:flex;flex-direction:column;align-items:center;text-align:center;padding:92px 24px 48px;animation:up .28s ease-out;background:var(--bg);background-image:var(--bgimg,none)}
body.device .alarm{padding-top:calc(env(safe-area-inset-top) + 40px);padding-bottom:max(24px,env(safe-area-inset-bottom))}
.alarm .k{font-size:13.5px;font-weight:600;letter-spacing:.3px}
.alarm .t{font-size:88px;font-weight:200;letter-spacing:-3px;line-height:1;margin-top:10px;font-variant-numeric:tabular-nums}
.alarm .m{font-size:28px;font-weight:700;margin-top:10px;letter-spacing:-.3px}
.alarm .s{font-size:16.5px;opacity:.8;margin-top:3px}
.alarm .sp{flex:1}
.alarm .pic{width:76px;height:76px;border-radius:24px;display:grid;place-items:center;margin:26px 0 10px}
.alarm .pic i{width:38px;height:16px;border-radius:8px;transform:rotate(-35deg)}
.alarm .b1{width:100%;height:60px;border-radius:30px;font-size:19px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px}
.alarm .b2{margin-top:14px;font-size:16.5px;font-weight:600;padding:6px 12px}
.toast{position:absolute;left:12px;right:12px;bottom:104px;z-index:95;background:rgba(28,28,30,.95);color:#fff;border-radius:14px;padding:13px 16px;display:flex;align-items:center;gap:12px;font-size:15px;transform:translateY(16px);opacity:0;transition:opacity .22s,transform .22s;pointer-events:none}
.toast.show{opacity:1;transform:none;pointer-events:auto}
.toast button{margin-left:auto;color:#8FC1FF;font-weight:600;white-space:nowrap}
body.device .toast{bottom:calc(max(8px,env(safe-area-inset-bottom)) + 70px)}
.hint{position:absolute;left:16px;right:16px;bottom:100px;z-index:96;background:var(--sheetbg);color:var(--ink);border-radius:16px;padding:14px 16px;font-size:14.5px;line-height:1.45;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.hint button{display:block;margin-top:8px;font-weight:600;color:var(--acc)}
@keyframes fade{from{opacity:0}}
@keyframes up{from{transform:translateY(40px);opacity:0}}
@keyframes shine{0%{background-position:-120px 0}100%{background-position:220px 0}}
@keyframes nudge{0%,100%{transform:none}30%{transform:translateX(16px)}60%{transform:translateX(4px)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* histórico comum */
.hbig{font-size:46px;font-weight:700;padding:16px 16px 0;line-height:1;font-variant-numeric:tabular-nums}
.hbig small{display:block;font-size:14px;font-weight:500;color:var(--sub);margin-top:6px}
.hbars{display:flex;align-items:flex-end;gap:9px;height:112px;padding:16px 16px 6px}
.hbars span{flex:1;border-radius:6px;background:var(--acc);min-height:5px}
.hbars span.o{opacity:.14}
.hdays{display:flex;padding:0 16px 14px;font-size:12px;color:var(--sub)}
.hdays span{flex:1;text-align:center}
.hdays .t{color:var(--acc);font-weight:700}
.calw,.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.calw span{text-align:center;font-size:12px;font-weight:700;color:var(--sub);padding-bottom:5px}
.cal i{aspect-ratio:1;border-radius:10px;display:grid;place-items:center;font-size:12.5px;font-weight:600;font-style:normal}
.cal i.full{background:var(--calok)}
.cal i.part{background:linear-gradient(135deg,var(--calok) 50%,var(--surface2) 50%)}
.cal i.none{background:var(--surface2);color:var(--sub)}
.cal i.fut{box-shadow:inset 0 0 0 1.5px var(--line);color:var(--sub)}
.cal i.today{outline:2px solid var(--acc);outline-offset:1px}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--sub);padding:12px 2px 0}
.legend span{display:flex;align-items:center;gap:6px}
.legend i{width:12px;height:12px;border-radius:4px}

/* porta-comprimidos semanal (D e E) */
.pb{background:var(--surface);border-radius:22px;padding:12px 10px}
.pb-g{display:grid;grid-template-columns:52px repeat(7,1fr);gap:5px;align-items:center}
.pb-h{font-size:12px;font-weight:700;color:var(--sub);text-align:center}
.pb-h.t{color:var(--acc)}
.pb-p{font-size:11.5px;font-weight:700;color:var(--sub)}
.pb-c{height:48px;border-radius:11px;position:relative;border:1.5px solid var(--line);background:var(--surface);display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:3px;padding:3px}
.pb-c b{width:8px;height:8px;border-radius:50%}
.pb-c svg{width:15px;height:15px}
.pb-c.y{border-color:transparent;background:var(--ys)}
.pb-c.x{border-color:transparent;background:var(--surface2)}
.pb-c.x::after{content:"";width:11px;height:2px;border-radius:1px;background:var(--sub);opacity:.6}
.pb-c.part{border-color:transparent;background:linear-gradient(135deg,var(--ys) 50%,var(--surface2) 50%)}
.pb-c.now{border:2px solid var(--acc);background:var(--accsoft,var(--surface2))}
.pb-c.none{border-style:dashed;opacity:.45}

/* ═════════ A · Linha do tempo ═════════ */
.a-nav{display:flex;justify-content:space-between;align-items:flex-end;padding:6px 4px 14px}
.a-nav small{display:block;font-size:13px;font-weight:600;color:var(--sub);text-transform:uppercase;letter-spacing:.2px}
.a-nav b{font-size:34px;font-weight:700;letter-spacing:.2px}
.a-now{background:var(--soft);border-radius:18px;padding:16px;display:flex;align-items:center;gap:12px;margin-bottom:20px;width:100%;text-align:left}
.a-now .t{font-size:12.5px;font-weight:600;color:var(--acc);text-transform:uppercase;letter-spacing:.3px}
.a-now .m{font-size:20px;font-weight:600;margin-top:2px}
.a-now .s{font-size:14.5px;color:var(--sub)}
.a-now .go{margin-left:auto;width:60px;height:60px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;flex:0 0 auto}
.a-now .go svg{width:30px;height:30px}
.a-now.late{background:var(--latesoft)}.a-now.late .t{color:var(--late)}.a-now.late .go{background:var(--late)}
.a-now.done{background:var(--surface)}
.a-tl{position:relative;padding-left:62px}
.a-tl::before{content:"";position:absolute;left:52px;top:8px;bottom:8px;width:2px;background:var(--line)}
.ev{position:relative;display:block;width:100%;padding:9px 0 13px;text-align:left}
.ev .h{position:absolute;left:-62px;top:10px;width:44px;text-align:right;font-size:13.5px;font-weight:600;color:var(--sub);font-variant-numeric:tabular-nums}
.ev .dot{position:absolute;left:-15px;top:13px;width:12px;height:12px;border-radius:50%;background:#C7C7CC;box-shadow:0 0 0 3px var(--bg)}
.ev .n{display:block;font-size:17px;font-weight:500;padding-left:6px}
.ev .d{display:block;font-size:13.5px;color:var(--sub);margin-top:1px;padding-left:6px}
.ev.taken .n{color:var(--sub);text-decoration:line-through}.ev.taken .dot{background:var(--ok)}
.ev.skipped .n{color:var(--sub)}.ev.skipped .dot{background:var(--sub)}
.ev.missed .h,.ev.missed .d{color:var(--late)}.ev.missed .dot{background:var(--late)}
.ev.due .dot{background:var(--acc)}.ev.due .d{color:var(--acc)}
.ev.snoozed .dot{background:var(--bg);box-shadow:0 0 0 3px var(--bg),inset 0 0 0 2.5px var(--acc)}
.nowline{position:relative;height:0;border-top:2px solid #FF3B30;margin:4px 0 10px -12px}
.nowline span{position:absolute;left:-52px;top:-10px;background:#FF3B30;color:#fff;font-size:11px;font-weight:700;padding:2px 6px;border-radius:7px;font-variant-numeric:tabular-nums}
.a-med{display:flex;gap:14px;align-items:center;padding:12px 2px;border-bottom:.5px solid var(--line);width:100%;text-align:left}
.a-pill{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto}
.a-pill i{width:22px;height:10px;border-radius:5px;transform:rotate(-35deg)}
.a-med .n{font-size:17px;font-weight:500}.a-med .d{font-size:13.5px;color:var(--sub)}
.a-med .r{margin-left:auto;font-size:12.5px;color:var(--sub);text-align:right;line-height:1.35}
.a-med .r b{font-size:14px;color:var(--ink);font-weight:600}
.a-med .r b.low{color:var(--late)}
.a-plus{font-size:30px;line-height:1;color:var(--acc);padding:4px 6px;font-weight:300}
.a-sw{display:flex;gap:12px;flex-wrap:wrap;padding:12px 15px}
.a-sw button{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff}
.a-sw button svg{width:16px;height:16px}

/* ═════════ B · Carteira ═════════ */
.b-hello{display:flex;justify-content:space-between;align-items:center;padding:6px 4px 18px}
.b-hello small{font-size:13.5px;color:var(--sub);display:block}
.b-hello b{font-size:27px;letter-spacing:-.4px;font-weight:700}
.b-people{display:flex;align-items:center}
.b-people button{margin-left:-9px;border-radius:50%;transition:transform .15s}
.b-people .av{width:38px;height:38px;box-shadow:0 0 0 2.5px var(--bg)}
.b-people button.on{z-index:2}
.b-people button.on .av{box-shadow:0 0 0 2.5px var(--bg),0 0 0 4.5px var(--pc)}
.b-wallet{position:relative}
.b-back{position:absolute;left:0;right:0;height:92px;display:flex;align-items:flex-start;gap:4px;border-radius:24px;padding:9px 20px;color:#fff;text-align:left;font-size:14px;font-weight:600;box-shadow:0 -1px 0 rgba(255,255,255,.25) inset}
.b-back .k{font-size:12px;font-weight:600;opacity:.85;text-transform:uppercase;letter-spacing:.4px}
.b-back .m{font-size:16px;font-weight:600;margin-top:2px}
.b-card{position:relative;border-radius:26px;padding:20px;color:#fff;min-height:282px;box-shadow:0 18px 30px -16px rgba(0,0,0,.45)}
.b-card .k{font-size:12.5px;font-weight:600;opacity:.88;text-transform:uppercase;letter-spacing:.5px}
.b-card .m{font-size:27px;font-weight:700;margin-top:6px;letter-spacing:-.4px;padding-right:84px}
.b-card .s{font-size:15.5px;opacity:.9;margin-top:3px}
.b-card .tm{position:absolute;right:20px;top:18px;font-size:30px;font-weight:600;font-variant-numeric:tabular-nums}
.b-card .acts{display:flex;gap:8px;margin-top:16px}
.b-card .acts button{background:rgba(255,255,255,.2);border-radius:999px;padding:7px 13px;font-size:13.5px;font-weight:600}
.b-card.calm{background:var(--surface)!important;color:var(--ink);min-height:180px;box-shadow:none}
.b-card.calm .s{color:var(--sub);opacity:1}
.b-slide{position:relative;height:64px;border-radius:32px;background:rgba(255,255,255,.22);display:flex;align-items:center;padding:6px;touch-action:none;overflow:hidden}
.b-card .b-slide{position:absolute;left:16px;right:16px;bottom:16px}
.b-slide span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-left:46px;font-size:16.5px;font-weight:600;pointer-events:none;color:transparent;background:linear-gradient(90deg,rgba(255,255,255,.75) 0,#fff 40px,rgba(255,255,255,.75) 80px) -120px 0/220px 100% no-repeat,rgba(255,255,255,.78);-webkit-background-clip:text;background-clip:text;animation:shine 2.4s linear infinite;opacity:calc(1 - var(--p,0)*1.4)}
.b-knob{width:52px;height:52px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--c);position:relative;z-index:2;cursor:grab;touch-action:none;transition:transform .25s;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.b-knob svg{width:22px;height:22px}
.b-knob.nudge{animation:nudge .6s ease}
.b-later{font-size:14.5px;font-weight:600;color:var(--sub);margin:22px 4px 10px}
.b-mini{display:flex;align-items:center;gap:12px;background:var(--surface);border-radius:18px;padding:13px 16px;margin-bottom:9px;width:100%;text-align:left}
.b-mini .bar{width:5px;height:36px;border-radius:3px;background:var(--c);flex:0 0 auto}
.b-mini .n{font-size:16px;font-weight:600}
.b-mini .d{font-size:13px;color:var(--sub)}
.b-mini .t{margin-left:auto;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}
.b-mini .ok{margin-left:auto;width:28px;height:28px;border-radius:50%;background:var(--surface2);color:var(--ok);display:grid;place-items:center}
.b-mini .ok svg{width:15px;height:15px}
.b-mini .pill{margin-left:auto;background:var(--surface2);border-radius:999px;padding:6px 12px;font-size:13.5px;font-weight:600;white-space:nowrap}
.b-h{font-size:32px;font-weight:700;letter-spacing:-.5px;margin:6px 4px 16px;display:flex;justify-content:space-between;align-items:center}
.b-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.b-tile{border-radius:22px;padding:15px;color:#fff;min-height:156px;display:flex;flex-direction:column;text-align:left;box-shadow:0 10px 22px -16px rgba(0,0,0,.5)}
.b-tile .times{display:flex;gap:5px;flex-wrap:wrap}
.b-tile .times span{background:rgba(255,255,255,.25);border-radius:9px;padding:3px 8px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
.b-tile .n{font-size:18px;font-weight:700;margin-top:auto;padding-top:14px;word-break:break-word}
.b-tile .d{font-size:13px;opacity:.9}
.b-tile.add{background:transparent;color:var(--ink);border:1.5px dashed var(--line2);align-items:center;justify-content:center;font-weight:600;font-size:15px;box-shadow:none}
.b-prev{min-height:136px;margin-bottom:6px}
.b-swl{display:flex;justify-content:space-between;align-items:baseline;margin:20px 6px 8px;font-size:13px;font-weight:600;color:var(--sub);text-transform:uppercase;letter-spacing:.3px}
.b-swl span{text-transform:none;letter-spacing:0;color:var(--ink);font-weight:600}
/* seletor de cor: bolinhas de 22 px, anel fino e check, numa faixa única */
.b-sw{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border-radius:18px;padding:9px 10px}
.b-sw button{width:34px;height:34px;display:grid;place-items:center;border-radius:50%}
.b-sw i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--c);background-image:linear-gradient(140deg,rgba(255,255,255,.28),rgba(0,0,0,.06));box-shadow:inset 0 0 0 .5px rgba(0,0,0,.12);transition:transform .15s,box-shadow .15s}
.b-sw i svg{width:12px;height:12px;color:#fff;opacity:0;transition:opacity .15s}
.b-sw button.on i{transform:scale(1.04);box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px var(--c)}
.b-sw button.on i svg{opacity:1}
.b-sw button:active i{transform:scale(.88)}
.b-fields .row{font-size:16px}
.b-wc{position:relative;border-radius:24px;padding:18px;color:#fff;min-height:150px;margin-bottom:12px;text-align:left;width:100%;display:block;box-shadow:0 14px 26px -16px rgba(0,0,0,.5)}
.b-wc .k{font-size:12.5px;font-weight:600;opacity:.88;text-transform:uppercase;letter-spacing:.5px}
.b-wc .m{font-size:24px;font-weight:700;margin-top:4px}
.b-wc .s{font-size:14.5px;opacity:.9;margin-top:2px;padding-right:20px}
.b-wc .tm{position:absolute;right:18px;top:16px;font-size:15px;font-weight:600;opacity:.92}
.b-wc .acts{display:flex;gap:8px;margin-top:16px}
.b-wc .acts button{background:#fff;color:var(--pcd);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:700}
.b-wc .acts button.g{background:rgba(255,255,255,.22);color:#fff}
.b-me{text-align:center;padding:18px 0 16px}
.b-me .av{width:80px;height:80px;font-size:32px;margin:0 auto}
.b-me b{display:block;font-size:24px;margin-top:10px}
.b-me small{color:var(--sub);font-size:14.5px}

/* ═════════ D · Foco ═════════ */
.d-top{display:flex;justify-content:space-between;align-items:center;padding:6px 4px 0;font-size:14.5px;font-weight:600;color:var(--sub)}
.d-prof{display:flex;align-items:center;gap:7px;background:var(--surface);padding:4px 13px 4px 4px;border-radius:22px;color:var(--ink);font-size:14.5px}
.d-prof .av{width:28px;height:28px;font-size:12px}
.d-focus{text-align:center;padding-top:46px;touch-action:pan-y;min-height:520px}
.d-focus .k{font-size:13.5px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--acc)}
.d-focus .k.late{color:var(--late)}
.d-focus .k.ok{color:var(--ok)}
.d-clock{font-size:104px;font-weight:200;letter-spacing:-4px;line-height:1;margin-top:10px;font-variant-numeric:tabular-nums}
.d-focus .m{font-size:27px;font-weight:600;margin-top:14px}
.d-focus .s{font-size:16.5px;color:var(--sub);margin-top:3px}
.d-take{width:132px;height:132px;border-radius:50%;background:var(--takebg);margin:38px auto 0;display:grid;place-items:center;color:var(--acc);box-shadow:0 14px 34px -6px rgba(29,78,216,.3)}
.d-take svg{width:56px;height:56px}
.d-take.done{background:var(--ok);color:#fff;box-shadow:none}
.d-take:active{transform:scale(.95)}
.d-takel{font-size:15.5px;font-weight:600;color:var(--acc);margin-top:12px}
.d-alt{display:flex;justify-content:center;gap:30px;margin-top:18px}
.d-alt button{font-size:16.5px;font-weight:500;color:var(--sub);padding:6px 4px}
.d-dots{display:flex;justify-content:center;gap:8px;margin-top:28px}
.d-dots button{width:10px;height:10px;border-radius:5px;background:var(--dotbg);transition:width .2s}
.d-dots .taken{background:var(--ok)}.d-dots .missed{background:var(--late)}
.d-dots .cur{width:26px;background:var(--acc)}
.d-next{text-align:center;font-size:14.5px;color:var(--sub);margin-top:14px}
.d-h{font-size:34px;font-weight:600;margin:12px 4px 4px;letter-spacing:-.3px}
.d-sub{font-size:14.5px;color:var(--sub);margin:0 4px 16px}
.d-prog{display:flex;gap:6px;margin:6px 2px 0}
.d-prog i{flex:1;height:5px;border-radius:3px;background:var(--surface2)}
.d-prog i.on{background:var(--acc)}
.d-q{text-align:center;padding-top:34px}
.d-q .k{font-size:13px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--acc);min-height:18px}
.d-q h2{font-size:27px;font-weight:600;margin-top:8px}
.d-in{display:block;width:100%;margin-top:26px;background:var(--surface);border:0;outline:0;border-radius:18px;padding:16px;font-size:20px;text-align:center;color:var(--ink);-webkit-user-select:text;user-select:text}
.d-in+.d-in{margin-top:10px}
.d-big-time{font-size:64px!important;font-weight:200;padding:8px!important;letter-spacing:-2px}
.d-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}
.d-chips button{padding:8px 14px;border-radius:999px;background:var(--surface);font-size:15px;font-weight:600}
.d-chips button.on{background:var(--acc);color:#fff}
.d-sw{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:22px}
.d-sw button{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#fff}
.d-sw button svg{width:18px;height:18px}
.d-sum{margin-top:26px;text-align:left}
.d-wk .r{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;font-weight:600;color:var(--sub)}
.d-wk .r>span{width:40px}
.d-wk .r.t>span{color:var(--acc)}
.d-wk i{width:16px;height:16px;border-radius:50%;flex:0 0 auto}
.d-wk i.taken{background:var(--ok)}.d-wk i.missed,.d-wk i.skipped{background:var(--line2)}
.d-wk i.upcoming,.d-wk i.due,.d-wk i.snoozed{box-shadow:inset 0 0 0 1.5px var(--line2)}
.d-fam .clock{font-size:76px;font-weight:200;letter-spacing:-3px;line-height:1;margin-top:10px}
.d-card{background:var(--surface);border-radius:22px;padding:18px;text-align:center;margin-top:22px}
.d-card .k{font-size:12.5px;font-weight:700;color:var(--late);text-transform:uppercase;letter-spacing:.3px}
.d-card .m{font-size:20px;font-weight:600;margin-top:4px}
.d-card .btnp{border-radius:27px;margin-top:14px}

/* ═════════ E · Porta-comprimidos do dia ═════════ */
.e-hd{display:flex;justify-content:space-between;align-items:flex-end;padding:6px 4px 14px}
.e-hd small{font-size:13.5px;color:var(--sub);font-weight:600;display:block}
.e-hd b{display:block;font-size:28px;letter-spacing:-.4px;font-weight:700}
.slot{display:flex;align-items:center;gap:12px;background:var(--surface);border-radius:18px;padding:12px 14px 12px 20px;margin-bottom:10px;position:relative;overflow:hidden;min-height:62px;width:100%;text-align:left}
.slot::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--c)}
.slot .tm{font-size:14px;font-weight:700;color:var(--sub);width:44px;flex:0 0 auto;font-variant-numeric:tabular-nums}
.slot .n{font-size:16.5px;font-weight:600}
.slot .d{font-size:13px;color:var(--sub)}
.slot .ok{margin-left:auto;width:30px;height:30px;border-radius:50%;background:var(--accsoft);color:var(--acc);display:grid;place-items:center;flex:0 0 auto}
.slot .ok svg{width:16px;height:16px}
.slot.taken .n{color:var(--sub)}
.slot.missed,.slot.skipped{background:var(--surface2)}
.slot.missed::before,.slot.skipped::before{background:var(--line2)}
.slot .mk{margin-left:auto;font-size:13px;font-weight:600;color:var(--ink);border:1px solid var(--line2);border-radius:999px;padding:6px 12px;white-space:nowrap}
.slot.low .d{color:var(--late)}
.e-cur{background:var(--surface);border-radius:24px;padding:16px 18px 12px;margin-bottom:10px;border:2px solid var(--acc);box-shadow:0 14px 30px -14px rgba(31,122,92,.45)}
.e-cur .k{font-size:12.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--acc)}
.e-cur .r2{display:flex;align-items:center;gap:12px;margin:8px 0 14px}
.e-cur .m{font-size:27px;font-weight:700;letter-spacing:-.4px;line-height:1.15}
.e-cur .s{font-size:15px;color:var(--sub);margin-top:2px}
.cap{flex:0 0 auto;width:54px;height:24px;border-radius:12px;transform:rotate(-25deg);margin-left:auto;box-shadow:inset 0 -2px 0 rgba(0,0,0,.08)}
.e-btn{height:64px;border-radius:18px;background:var(--acc);color:var(--onacc);font-size:21px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:12px;width:100%}
.e-btn svg{width:26px;height:26px}
.e-btn:active{transform:scale(.98)}
.e-later{display:block;width:100%;text-align:center;font-size:16px;font-weight:600;color:var(--acc);margin-top:6px;padding:8px}
.e-card{background:var(--surface);border-radius:20px;padding:14px 16px;margin-top:12px}
.e-card .k{font-size:12px;font-weight:700;color:var(--sub);text-transform:uppercase;letter-spacing:.3px}
.e-card .v{font-size:18px;font-weight:700;margin-top:3px}
.e-card .s{font-size:14px;color:var(--sub);margin-top:2px}
.e-card.soft{background:var(--latesoft)}
.e-card.soft .k{color:var(--late)}
.meter{display:flex;gap:4px;margin-top:10px}
.meter span{flex:1;height:9px;border-radius:5px;background:var(--surface2)}
.meter .taken{background:var(--acc)}
.meter .missed,.meter .skipped{background:var(--line2)}
.meter .due,.meter .snoozed{box-shadow:inset 0 0 0 2px var(--acc);background:transparent}
.chipbtn{display:inline-flex;margin:10px 6px 0 0;font-size:14px;font-weight:700;color:var(--acc);background:var(--accsoft);border-radius:999px;padding:8px 14px}
.chipbtn.ghost{background:transparent;border:1px solid var(--line2);color:var(--ink)}
.ppl{display:flex;gap:18px;padding:2px 4px 6px;overflow-x:auto}
.pp{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:13px;color:var(--sub);font-weight:600}
.pp .av{width:54px;height:54px;font-size:20px;box-shadow:0 0 0 3px var(--bg)}
.pp.on{color:var(--ink)}
.pp.on .av{box-shadow:0 0 0 3px var(--bg),0 0 0 5.5px var(--acc)}
.tlr{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:.5px solid var(--line);font-size:15.5px;width:100%;text-align:left}
.tlr:last-child{border-bottom:0}
.tlr .tm{font-size:13.5px;font-weight:700;color:var(--sub);width:44px;font-variant-numeric:tabular-nums}
.tlr i{width:10px;height:10px;border-radius:50%;flex:0 0 auto}
.tlr .st{margin-left:auto;font-size:13px;font-weight:600}
.cp{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cp button{background:var(--surface);border-radius:16px;padding:13px 14px;font-weight:600;font-size:15px;border-top:6px solid var(--c)}
.cp button small{display:block;font-size:12.5px;font-weight:500;color:var(--sub)}
.cp button.on{outline:2px solid var(--acc);background:var(--accsoft)}
.e-f{background:var(--surface);border-radius:var(--rad);padding:10px 14px;margin-bottom:10px;display:block}
.e-f label{display:block;font-size:12.5px;font-weight:600;color:var(--sub);margin-bottom:2px}
.e-f .inp{width:100%;text-align:left;font-size:17px}
.e-box{width:168px;height:104px;border-radius:24px;background:var(--accsoft);border:2px solid var(--acc);position:relative;display:grid;place-items:center;margin-top:44px}
.e-box .lid{position:absolute;left:6px;right:6px;top:-26px;height:18px;border-radius:10px;background:var(--acc);transform:rotate(-9deg);transform-origin:left bottom}
.e-box .cap{margin:0}
