/* =====================================================================
   screens.css – everything beyond the first five doctor screens
   (pushed pages, forms, dialogs, login, admin, tablet layout, demo panel)
   Reads the tokens in styles.css §1.
   ===================================================================== */

/* ---------- demo panel ---------- */
.panel{max-height:calc(100vh - 32px);overflow-y:auto;padding-right:6px;scrollbar-width:thin}
.panel .grp{display:grid;gap:8px}
.panel .grp>b{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.panel .two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.panel .two button,.chipgrid button{padding:9px 10px;border-radius:12px;font-size:12.5px;font-weight:600;background:var(--glass);border:1px solid var(--glass-border);transition:all .25s var(--spring)}
.chipgrid{display:flex;flex-wrap:wrap;gap:6px}
.chipgrid button{padding:6px 11px;border-radius:999px;font-size:12px}
.panel button:hover{transform:translateY(-1px)}
.panel button.on{background:var(--lime);color:var(--price-ink);border-color:transparent}
.panel code{background:var(--lime-soft);padding:1px 6px;border-radius:6px;font-size:11.5px}

/* ---------- pushed pages ---------- */
#push{z-index:20;padding:0 18px 70px;transform:translateX(44px) scale(1);
  background:radial-gradient(300px 300px at 100% 0,rgba(162,255,136,.5),transparent 70%),radial-gradient(340px 340px at 0 60%,rgba(61,214,165,.26),transparent 70%),var(--bg)}
[data-theme="dark"] #push{background:radial-gradient(300px 300px at 100% 0,rgba(162,255,136,.16),transparent 70%),radial-gradient(340px 340px at 0 60%,rgba(61,214,165,.1),transparent 70%),var(--bg)}
#push.active{transform:none}
.screen.active.under{transform:scale(.95) translateX(-20px);opacity:.45}
.phead{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;padding:56px 0 12px;margin-bottom:4px;background:linear-gradient(var(--bg) 72%,transparent)}
.phead h2{flex:1;margin:0;font-size:23px;letter-spacing:-.02em}
.phead .pr{display:flex;gap:8px}

/* ---------- dialogs, toast, offline, tripbar ---------- */
.dscrim{z-index:85}
.dlg{position:absolute;left:30px;right:30px;top:50%;z-index:86;border-radius:34px;padding:24px 20px 18px;text-align:center;transform:translateY(-46%) scale(.9);opacity:0;pointer-events:none;transition:transform .5s var(--spring),opacity .3s}
.dlg.show{transform:translateY(-50%);opacity:1;pointer-events:auto}
.dlg .di{width:54px;height:54px;border-radius:50%;margin:0 auto 12px;background:var(--lime);color:var(--price-ink);display:grid;place-items:center}
.dlg .di.dng{background:var(--st-cancelled-bg);color:var(--st-cancelled)}
.dlg h3{margin:0 0 6px;font-size:19px}.dlg p{margin:0 0 18px;color:var(--ink-2);font-size:14px;line-height:1.5}
.dbtns{display:flex;gap:10px}.dbtns .btn{flex:1}
.btn.danger{background:linear-gradient(180deg,#E5584A,#B8342A);color:#fff;box-shadow:0 8px 20px rgba(184,52,42,.3),inset 0 1px 0 rgba(255,255,255,.3)}
.toast{position:absolute;left:50%;bottom:104px;z-index:75;transform:translate(-50%,30px) scale(.95);opacity:0;pointer-events:none;padding:8px 8px 8px 20px;border-radius:999px;display:flex;gap:14px;align-items:center;font-size:14px;font-weight:500;white-space:nowrap;transition:transform .55s var(--spring),opacity .3s}
.toast.show{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.toast button{background:var(--lime);color:var(--price-ink);border-radius:999px;padding:8px 16px;font-weight:700;font-size:13px}
.offline{position:absolute;inset:0;z-index:95;display:grid;place-content:center;justify-items:center;gap:12px;text-align:center;padding:30px;background:rgba(238,247,241,.78);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);opacity:0;pointer-events:none;transition:opacity .45s}
[data-theme="dark"] .offline{background:rgba(4,18,13,.78)}
.offline.show{opacity:1;pointer-events:auto}
.offline .oi{width:92px;height:92px;border-radius:50%;background:var(--glass);border:1px solid var(--glass-border);display:grid;place-items:center;color:var(--ink-2);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-hi);animation:float 3s ease-in-out infinite}
.offline .oi svg{width:42px;height:42px}
@keyframes float{50%{transform:translateY(-6px)}}
.offline h3{margin:6px 0 0;font-size:23px}.offline p{margin:0 0 10px;color:var(--ink-2);font-size:14px;max-width:270px;line-height:1.5}
.tripbar{position:absolute;left:16px;right:16px;bottom:18px;z-index:31;border-radius:32px;padding:8px 10px 8px 8px;display:flex;align-items:center;gap:10px;transform:translateY(130px);transition:transform .6s var(--spring)}
.tripbar.show{transform:none}
.tripbar b{display:block;font-size:15px}.tripbar span{font-size:12px;color:var(--ink-2)}

/* ---------- skeleton ---------- */
.skel{background:var(--card);border-radius:26px;padding:8px;overflow:hidden}
.skel.row{display:flex;gap:12px;align-items:center;margin-bottom:10px;border-radius:22px;padding:10px}.skel.row.tall{padding:22px;margin-bottom:12px;border-radius:26px}
.sk-img,.sk-l{display:block;background:linear-gradient(90deg,var(--line) 25%,rgba(255,255,255,.6) 50%,var(--line) 75%);background-size:300% 100%;animation:shimmer 1.4s infinite linear}
[data-theme="dark"] .sk-img,[data-theme="dark"] .sk-l{background:linear-gradient(90deg,var(--line) 25%,rgba(255,255,255,.14) 50%,var(--line) 75%);background-size:300% 100%}
@keyframes shimmer{to{background-position:-300% 0}}
.sk-img{aspect-ratio:1;border-radius:20px}.sk-img.sm{width:64px;flex:none;border-radius:16px}
.sk-l{height:12px;border-radius:6px;margin:12px 6px 4px}.skel.row .sk-l{margin:6px 0}
.w40{width:40%}.w70{width:70%}.w90{width:90%}

/* ---------- forms ---------- */
.field{margin-bottom:14px}
.field label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-2);margin:0 4px 6px}
.field label i{color:var(--danger);font-style:normal}
.fw{position:relative}
.field input,.field textarea{width:100%;border:1.5px solid var(--line);background:var(--card);border-radius:16px;padding:14px 16px;font:inherit;font-size:15px;color:var(--ink);outline:none;resize:none;transition:border-color .3s,box-shadow .3s}
.field input:focus,.field textarea:focus{border-color:var(--emerald-500);box-shadow:0 0 0 4px var(--lime-soft)}
.field input.bad,.field textarea.bad{border-color:var(--danger);animation:shake .4s}
@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.field input:disabled{background:var(--line);color:var(--ink-2)}
.lk{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--ink-3);display:grid}
.err{display:block;color:var(--danger);font-size:12px;margin:4px 6px 0}.err:empty{display:none}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.swline{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:18px;background:var(--card)}
.swline small{display:block;color:var(--ink-3);font-size:12px;margin-top:2px}
.sw{width:52px;height:32px;border-radius:16px;background:var(--ink-3);position:relative;flex:none;transition:background .35s}
.sw i{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25);transition:transform .45s var(--bounce)}
.sw.on{background:var(--emerald-500)}.sw.on i{transform:translateX(20px)}
.segc{display:flex;padding:4px;border-radius:999px;gap:2px}
.segc button{flex:1;height:38px;border-radius:999px;font-size:13px;font-weight:600;color:var(--ink-2);display:flex;align-items:center;justify-content:center;gap:6px;transition:all .45s var(--spring)}
.segc button.on{background:var(--lime);color:var(--price-ink);box-shadow:0 3px 10px rgba(120,230,90,.4)}
.segc em{font-style:normal;font-size:11px;background:var(--emerald-700);color:#fff;border-radius:9px;padding:1px 7px}
.pickrow{display:flex;flex-wrap:wrap;gap:8px}
.pickrow button{padding:9px 14px;border-radius:999px;font-size:13px;font-weight:600;background:var(--card);border:1.5px solid var(--line);transition:all .3s var(--spring)}
.pickrow button.on{background:var(--lime);color:var(--price-ink);border-color:transparent;transform:scale(1.04)}
.otp{display:flex;gap:8px;justify-content:center}
.otp input{width:46px;height:58px;border-radius:14px;border:1.5px solid var(--line);background:var(--card);text-align:center;font-size:22px;font-weight:700;color:var(--ink);outline:none}
.otp input:focus{border-color:var(--emerald-500);box-shadow:0 0 0 4px var(--lime-soft)}
.sheet{max-height:88%;overflow-y:auto;scrollbar-width:none}.sheet::-webkit-scrollbar{display:none}
.opt{width:100%;text-align:left}
.opt .ic.sm{width:40px;height:40px;border-radius:13px;background:var(--lime-soft);display:grid;place-items:center;flex:none;color:var(--emerald-700)}
.opt b{font-size:14.5px}
.chip.add{padding:7px 14px;font-size:13px;font-weight:700}
.chip.gst{background:rgba(58,79,176,.1);color:#3A4FB0}
[data-theme="dark"] .chip.gst{color:#B5C0FF;background:rgba(181,192,255,.14)}

/* ---------- invoice ---------- */
.inv{background:#FFFEFA;color:#1d2b25;border-radius:24px;padding:20px 18px;box-shadow:0 16px 40px rgba(6,70,50,.14);overflow:hidden}
.inv-h{display:flex;justify-content:space-between;gap:10px}
.inv-h small{display:block;color:#6b7f76;font-size:11.5px;line-height:1.5;margin-top:3px}
.logo{width:68px;height:68px;border-radius:22px;background:var(--lime);color:var(--price-ink);display:grid;place-items:center;box-shadow:0 12px 30px rgba(120,230,90,.5)}
.logo svg{width:50%;height:50%}.logo.sm{width:32px;height:32px;border-radius:10px;margin-bottom:8px;box-shadow:none}
.stamp{align-self:flex-start;border:2.5px solid #14A37A;color:#14A37A;font-weight:800;letter-spacing:.14em;padding:4px 12px;border-radius:8px;transform:rotate(-8deg);font-size:15px;animation:stamp .6s .35s var(--bounce) both}
.stamp.void{border-color:#B8342A;color:#B8342A}
@keyframes stamp{from{transform:rotate(-8deg) scale(2.4);opacity:0}}
.inv-t{margin:16px 0 12px;font-size:11px;letter-spacing:.2em;color:#6b7f76;font-weight:700;border-top:1px dashed #cfdcd5;padding-top:14px}
.inv-g{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;font-size:12.5px}
.inv-g small{display:block;color:#6b7f76;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px}
.inv-g b{display:block;font-size:13.5px}.inv-g span{display:block;color:#4a6358;line-height:1.45}
.inv table{width:100%;border-collapse:collapse;margin-top:16px;font-size:12.5px}
.inv th{text-align:left;color:#6b7f76;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;padding:8px 0;border-bottom:1px solid #dfe8e3}
.inv td{padding:10px 0;border-bottom:1px solid #eef3f0;vertical-align:top}.inv td span{color:#6b7f76;font-size:11.5px}
.inv th:nth-child(n+2),.inv td:nth-child(n+2){text-align:right}
.inv-s{margin-top:12px;font-size:13px}.inv-s div{display:flex;justify-content:space-between;padding:4px 0;color:#4a6358}
.inv-s .g{color:#0b2a20;font-size:17px;font-weight:700;border-top:1px solid #dfe8e3;margin-top:6px;padding-top:10px}
.inv-f{font-size:10.5px;color:#8aa095;margin:14px 0 0;line-height:1.5}

/* ---------- address book swipe ---------- */
.swrow{position:relative;margin-bottom:10px;border-radius:24px;overflow:hidden;background:var(--danger);max-height:220px;transition:max-height .3s,margin .3s,opacity .3s}
.swrow.gone{max-height:0;margin:0;opacity:0}
.swd{position:absolute;right:0;top:0;bottom:0;width:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#fff;font-size:12px;font-weight:600}
.swrow.armed .swd{font-weight:800;transform:scale(1.08)}
.swf{position:relative;background:var(--card);border-radius:24px;padding:14px;display:flex;gap:12px;align-items:center;touch-action:pan-y;transition:transform .4s var(--spring);cursor:grab;user-select:none}
.swf .ic{width:42px;height:42px;border-radius:14px;background:var(--lime);color:var(--price-ink);display:grid;place-items:center;flex:none}
.swf p{margin:2px 0 6px;font-size:12.5px;color:var(--ink-2);line-height:1.4}.swf .row{display:flex;gap:6px;flex-wrap:wrap}

/* ---------- help / legal / profile variants ---------- */
.contacts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 20px}
.contacts button{height:86px;border-radius:22px;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;font-size:13px;font-weight:600}
.contacts svg{width:24px;height:24px;color:var(--emerald-600)}
.faq+.faq{border-top:1px solid var(--line)}.faq .li svg:last-child{transition:transform .4s var(--spring)}.faq.open .li svg:last-child{transform:rotate(180deg)}
.faq.open .tiers{grid-template-rows:1fr}
.faqa{margin:0;padding:0 16px 16px;color:var(--ink-2);font-size:13.5px;line-height:1.55}
.grievance{margin-top:6px;padding:16px;border-radius:20px;background:var(--card);font-size:12.5px;color:var(--ink-2);line-height:1.5;display:grid;gap:4px}.grievance b{color:var(--ink);font-size:14px}
.legal{margin-bottom:18px}.legal h3{margin:0 0 6px;font-size:16px}.legal p{margin:0;color:var(--ink-2);font-size:14px;line-height:1.6}
.vbanner.pend .ic{background:var(--st-pending-bg);color:var(--st-pending)}
.vbanner.warn .ic,.addr.warn .ic{background:var(--st-pending-bg);color:var(--st-pending)}
.vbanner.warn{cursor:pointer}
.group .li small{display:block}
.deadtrack{display:flex;gap:8px;align-items:center;margin:14px 0 10px;padding:10px 12px;border-radius:14px;background:var(--st-cancelled-bg);color:var(--st-cancelled);font-size:13px;font-weight:600}
.refundnote.rej{background:var(--st-cancelled-bg);color:var(--st-cancelled)}
.ocard{cursor:pointer}

/* ---------- admin: overview + analytics ---------- */
.kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kpi{text-align:left;background:var(--card);border-radius:24px;padding:16px;box-shadow:0 8px 24px rgba(6,70,50,.08);display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden;transition:transform .3s var(--spring)}
.kpi:active{transform:scale(.97)}.kpi small{color:var(--ink-2);font-size:12.5px}
.kpi b{font-size:22px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.kpi.big{grid-column:1/-1;background:linear-gradient(140deg,var(--emerald-700),var(--emerald-900));color:#fff;min-height:116px}
.kpi.big small{color:rgba(255,255,255,.75)}.kpi.big b{font-size:34px}
.spark{position:absolute;right:0;bottom:0;width:58%;height:62%}
.spark path{fill:none;stroke:var(--lime);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:400;stroke-dashoffset:400;animation:dash2 1.6s .3s var(--spring) forwards}
@keyframes dash2{to{stroke-dashoffset:0}}
.att{gap:12px}.att b{display:block;font-size:15px}.att small{color:var(--ink-3);font-size:12px}
.att .ic.hot{background:var(--st-pending-bg);color:var(--st-pending)}
.cnt{min-width:30px;height:30px;border-radius:15px;background:var(--lime-soft);color:var(--emerald-700);display:grid;place-items:center;font-weight:700;font-size:13px;padding:0 8px}
[data-theme="dark"] .cnt{color:var(--lime)}.cnt.hot{background:var(--st-pending-bg);color:var(--st-pending)}
.allclear{border-radius:24px;padding:26px 20px;display:grid;justify-items:center;gap:6px;text-align:center;color:var(--ink-2);font-size:13.5px}
.allclear>svg{width:48px;height:48px;padding:11px;border-radius:50%;background:var(--lime);color:var(--price-ink)}.allclear b{color:var(--ink);font-size:16px}
.group.pad{padding:4px 16px}
.seller{display:flex;gap:12px;align-items:center;padding:12px 0}.seller+.seller{border-top:1px solid var(--line)}
.rank{width:26px;height:26px;border-radius:50%;background:var(--lime);color:var(--price-ink);display:grid;place-items:center;font-weight:700;font-size:12.5px;flex:none}
.srow{display:flex;justify-content:space-between;gap:8px;font-size:14px}.srow span{color:var(--ink-2);font-size:12.5px;white-space:nowrap}
.seller small{display:block;color:var(--ink-3);font-size:12px;margin:1px 0 6px}
.seller .bar i,.fbar{transform-origin:left;animation:grow2 .9s var(--d,.2s) var(--spring) both}
@keyframes grow2{from{transform:scaleX(0)}}
.card{background:var(--card);border-radius:26px;padding:16px;box-shadow:0 8px 24px rgba(6,70,50,.08)}
.k{color:var(--ink-2);font-size:12.5px}.card .big{display:block;font-size:30px;letter-spacing:-.02em;margin:2px 0;font-variant-numeric:tabular-nums}
.chart{width:100%;height:auto;margin-top:12px;touch-action:none;display:block;cursor:crosshair}
.cline{fill:none;stroke:var(--emerald-600);stroke-width:2.8;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:dash1 1.4s var(--spring) forwards}
[data-theme="dark"] .cline{stroke:var(--lime)}
@keyframes dash1{to{stroke-dashoffset:0}}
.carea{opacity:0;animation:fadein .8s .5s forwards}@keyframes fadein{to{opacity:1}}
#cursor line{stroke:var(--emerald-600);stroke-width:1;stroke-dasharray:3 3;opacity:.6}
#cursor circle{fill:var(--lime);stroke:var(--emerald-700);stroke-width:2.5}
.spin360{animation:spin .7s var(--spring)}@keyframes spin{to{transform:rotate(360deg)}}
.fun{display:grid;grid-template-columns:1fr auto;grid-template-areas:'bar pct' 'lbl lbl';gap:4px 10px;align-items:center;margin-bottom:14px}.fun:last-child{margin-bottom:0}
.fbar{grid-area:bar;height:30px;border-radius:10px;background:linear-gradient(90deg,var(--emerald-600),var(--emerald-500));min-width:56px;display:flex;align-items:center;padding-left:12px;color:#fff;font-size:13px}
.fun span{grid-area:lbl;font-size:12.5px;color:var(--ink-2)}.fun em{grid-area:pct;font-style:normal;font-weight:700;font-size:13.5px}

/* ---------- admin: orders + trip ---------- */
.aocard{background:var(--card);border-radius:26px;padding:16px;margin-bottom:12px;box-shadow:0 8px 24px rgba(6,70,50,.08);position:relative;cursor:pointer;border:2px solid transparent;transition:border-color .3s,box-shadow .3s}
.aocard.sel{border-color:var(--lime);box-shadow:0 0 0 4px var(--lime-soft)}
.tcheck{position:absolute;left:-7px;top:-7px;width:26px;height:26px;border-radius:50%;background:var(--ink-3);opacity:.45;display:grid;place-items:center;color:#fff;transition:all .35s var(--bounce);z-index:2}
.aocard.sel .tcheck{background:var(--emerald-600);opacity:1;transform:scale(1.12)}
.osum{margin:10px 0;color:var(--ink-2);font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ofoot{display:flex;justify-content:space-between;align-items:center}.ofoot b{font-size:17px}
.adet{display:grid;gap:8px;margin:12px 0 8px;font-size:13px;color:var(--ink-2)}.adet div{display:flex;gap:8px;align-items:flex-start}.adet svg{margin-top:2px;color:var(--emerald-600)}
.rfq{margin-top:12px;border-radius:18px;padding:12px;background:var(--st-refund-bg)}.rft{display:flex;gap:10px;color:var(--st-refund)}.rft b{display:block;font-size:14px}.rft small{font-size:12.5px;opacity:.9}
.astep{display:flex;align-items:flex-start;margin:16px 0 4px}
.astep hr{flex:1;border:0;height:3px;margin:13px 2px 0;background:var(--line);border-radius:2px;transition:background .4s}.astep hr.done{background:var(--emerald-500)}
.sn{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:10.5px;font-weight:600;color:var(--ink-3);min-width:58px}
.sn i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:12px;background:var(--line);transition:all .4s var(--bounce)}
.sn.done i{background:var(--emerald-500);color:#fff}
.sn.now i{background:var(--lime);color:var(--price-ink);box-shadow:0 0 0 4px rgba(162,255,136,.45)}.sn.now{color:var(--ink)}
.sn.next i{border:2px dashed var(--emerald-500);background:transparent;color:var(--emerald-600);animation:nudge 1.6s ease-in-out infinite}.sn.next{color:var(--emerald-600)}
@keyframes nudge{50%{transform:scale(1.14)}}.sn:disabled{cursor:default}
.hint{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--ink-2);padding:10px 12px;border-radius:14px;background:var(--lime-soft);margin-bottom:12px}
.hint.warn{background:var(--st-pending-bg);color:var(--st-pending)}
.tripstats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.tripstats div{background:var(--card);border-radius:20px;padding:14px 8px;text-align:center}.tripstats b{display:block;font-size:18px}.tripstats small{color:var(--ink-3);font-size:12px}
.rmap{width:100%;display:block;background:linear-gradient(160deg,rgba(162,255,136,.22),rgba(61,214,165,.14));border-radius:16px}
.rline{fill:none;stroke:var(--emerald-600);stroke-width:.9;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:dash1 1.8s .2s var(--spring) forwards}
[data-theme="dark"] .rline{stroke:var(--lime)}
.rmap .dep{fill:var(--emerald-900);stroke:var(--lime);stroke-width:1.2}
.stp{opacity:0;animation:fadein .5s var(--d) forwards}.stp circle{fill:var(--lime);stroke:var(--emerald-700);stroke-width:.8}.stp text{font-size:3.6px;font-weight:700;fill:var(--price-ink)}
.stoplist{background:var(--card);border-radius:24px;padding:6px 14px}
.stop{display:flex;gap:12px;align-items:center;padding:12px 0}.stop+.stop{border-top:1px solid var(--line)}
.stop i{width:30px;height:30px;border-radius:50%;background:var(--lime);color:var(--price-ink);display:grid;place-items:center;font-style:normal;font-weight:700;font-size:13px;flex:none}
.stop.dep i{background:var(--emerald-900);color:var(--lime)}.stop small{display:block;color:var(--ink-3);font-size:12px;margin-top:1px}
.leg{font-size:12.5px;font-weight:600;color:var(--emerald-600);white-space:nowrap}
.tripact{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:8px;margin-top:16px}

/* ---------- admin: catalogue ---------- */
.aprod{background:var(--card);border-radius:26px;padding:12px;margin-bottom:12px;box-shadow:0 8px 24px rgba(6,70,50,.08)}
.ap-h{display:flex;gap:12px;align-items:center;margin-bottom:6px}.ap-h .slot{width:60px;border-radius:16px;flex:none}.ap-h .slot .mono{font-size:70px}
.ap-h small{display:block;color:var(--ink-2);font-size:12.5px;margin-top:2px}
.avr{display:flex;align-items:center;gap:8px;padding:10px 6px;border-top:1px solid var(--line)}.avr small{display:block;color:var(--ink-2);font-size:12.5px}.avr.pad{padding:12px 16px}
.iconbtn.sm{width:34px;height:34px}
.addvar{display:flex;gap:6px;align-items:center;justify-content:center;width:100%;padding:11px;margin-top:4px;border-radius:14px;font-size:13px;font-weight:700;color:var(--emerald-600);background:rgba(10,92,69,.06)}
[data-theme="dark"] .addvar{color:var(--lime);background:rgba(255,255,255,.06)}
.enote{margin:10px 2px 4px;font-size:13.5px;color:var(--ink-2)}
.drop{border-radius:26px;border:2px dashed var(--ink-3);min-height:170px;display:grid;place-items:center;align-content:center;gap:4px;text-align:center;padding:18px;color:var(--ink-2);cursor:pointer;overflow:hidden;background:var(--glass);transition:border-color .3s,transform .3s var(--spring)}
.drop:hover{border-color:var(--emerald-500)}.drop:active{transform:scale(.99)}
.drop img{max-height:210px;max-width:100%;object-fit:contain;border-radius:16px}.drop small{font-size:12px;color:var(--ink-3)}.drop svg{color:var(--emerald-600)}
.slot.has-img img{width:100%;height:100%;object-fit:contain;padding:6%}
.tieradd{display:flex;gap:8px;align-items:center;margin-top:8px}
.tieradd input{flex:1;min-width:0;border:1.5px solid var(--line);background:var(--card);border-radius:14px;padding:11px 12px;font:inherit;font-size:14px;color:var(--ink);outline:none}
.cols{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.cols code{background:var(--lime-soft);color:var(--emerald-700);padding:3px 9px;border-radius:8px;font-size:12px}
.csvt{background:var(--card);border-radius:20px;padding:6px 12px;overflow-x:auto}.csvt table{width:100%;border-collapse:collapse;font-size:12.5px}
.csvt th{text-align:left;color:var(--ink-3);font-weight:600;padding:8px 6px;font-size:11px;text-transform:uppercase}.csvt td{padding:8px 6px;border-top:1px solid var(--line)}
.result{text-align:center;margin-top:20px;display:grid;justify-items:center;gap:6px}
.ring.sm{width:62px;height:62px;border-radius:50%;background:var(--lime);display:grid;place-items:center;color:var(--price-ink);animation:ringPop .6s var(--bounce)}
@keyframes ringPop{from{transform:scale(.3)}}
.result h3{margin:6px 0 10px}.rs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%}
.rs div{background:var(--card);border-radius:18px;padding:14px}.rs b{font-size:24px;display:block}.rs small{color:var(--ink-3);font-size:12px}.rs .bad b{color:var(--danger)}

/* ---------- admin: users ---------- */
.ucard{background:var(--card);border-radius:26px;padding:16px;margin-bottom:12px;box-shadow:0 8px 24px rgba(6,70,50,.08)}
.uh{display:flex;gap:12px;align-items:center}.uh small{display:block;color:var(--ink-2);font-size:12.5px;margin-top:2px;line-height:1.4}
.reg{display:flex;align-items:center;gap:8px;margin:12px 0 0;padding:10px 12px;border-radius:14px;background:var(--lime-soft);font-size:13px;color:var(--emerald-700)}
[data-theme="dark"] .reg{color:var(--lime)}.reg b{margin-left:auto;color:var(--ink);font-variant-numeric:tabular-nums}

/* ---------- login ---------- */
.login{position:absolute;inset:0;z-index:100;background:linear-gradient(165deg,#032a20 0%,#0A5C45 58%,#14A37A 125%);opacity:0;pointer-events:none;transition:opacity .5s;display:flex;flex-direction:column;justify-content:space-between;padding:96px 18px 24px;overflow:hidden}
.login::before{content:'';position:absolute;width:340px;height:340px;border-radius:50%;background:var(--lime);filter:blur(70px);opacity:.5;top:-110px;right:-110px;animation:drift 14s ease-in-out infinite alternate}
.login::after{content:'';position:absolute;width:300px;height:300px;border-radius:50%;background:#3DD6A5;filter:blur(80px);opacity:.35;bottom:120px;left:-140px;animation:drift 18s ease-in-out infinite alternate-reverse}
.login.show{opacity:1;pointer-events:auto}
.lg-hero{position:relative;text-align:center;color:#fff;display:grid;justify-items:center;gap:10px;animation:rise .9s var(--spring) both}
.lg-hero h1{margin:6px 0 0;font-size:46px}.lg-hero p{margin:0;color:rgba(255,255,255,.75);font-size:15px;max-width:260px;line-height:1.45}
.lg-card{position:relative;border-radius:36px;padding:24px 22px;background:rgba(255,255,255,.84);color:#0B2A20;animation:rise .9s .15s var(--spring) both}
.lg-card h2{margin:0;font-size:24px;letter-spacing:-.02em}.lg-card p{margin:4px 0 18px;color:#4A6B5E;font-size:14.5px}
.cons{display:flex;gap:12px;font-size:13px;line-height:1.5;color:#4A6B5E;margin-bottom:18px;cursor:pointer}
.cb{width:26px;height:26px;border-radius:9px;border:2px solid #86A196;flex:none;display:grid;place-items:center;color:transparent;transition:all .35s var(--bounce)}
.cb.on{background:#0E7A5A;border-color:#0E7A5A;color:#fff;transform:scale(1.08)}.cb svg{width:15px;height:15px;stroke-width:3}.cons u{color:#0A5C45}
.gbtn{background:#fff!important;color:#1d2b25!important;box-shadow:0 6px 20px rgba(0,0,0,.12)!important;border:1px solid #e3ece7}.gbtn:disabled{opacity:.5}
.gbtn .g{width:22px;height:22px;border-radius:50%;background:conic-gradient(#EA4335 0 25%,#FBBC05 0 50%,#34A853 0 75%,#4285F4 0);color:#fff;display:grid;place-items:center;font-size:12px}
.spin{width:18px;height:18px;border-radius:50%;border:2.5px solid #cfdcd5;border-top-color:#0E7A5A;animation:spin .7s linear infinite}

/* ---------- tablet layout (≥600px in the real app): rail + 3-col grid ---------- */
.phone.tablet{width:834px;height:1112px;border-radius:46px}
.tablet .screen{padding:62px 36px 60px 128px}
.tablet #push{padding:0 36px 60px 128px}
.tablet .tabbar{left:16px;right:auto;top:72px;bottom:16px;width:88px;height:auto;grid-template-columns:1fr;grid-auto-rows:78px;align-content:start;border-radius:42px;padding:8px}
.tablet .tabbar .ind{left:8px;right:8px;top:8px;bottom:auto;width:auto;height:78px;transform:translateY(calc(var(--idx,0)*100%))}
.tablet .tabbar.hide{transform:translateX(-130px)}
.tablet .grid{grid-template-columns:repeat(3,1fr)}
.tablet .back{left:128px}
.tablet .actionbar,.tablet .tripbar{left:128px;right:36px}
.tablet .banner{left:50%;right:auto;width:480px;margin-left:-240px}
.tablet .sheet{left:50%;right:auto;width:540px;margin-left:-270px}
.tablet .dlg{left:50%;right:auto;width:400px;margin-left:-200px}
.tablet .toast{bottom:40px}
.tablet .kpis{grid-template-columns:2fr 1fr 1fr}.tablet .kpi.big{grid-column:auto}
.tablet .login{align-items:center}.tablet .lg-card{width:440px}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}}
.badge:empty{display:none!important}

/* dark-mode type tiles: deep emerald tints instead of a dimmed filter */
[data-theme="dark"] .t-dilution{background:linear-gradient(150deg,#15402F,#0E2B21)}
[data-theme="dark"] .t-tincture{background:linear-gradient(150deg,#243D20,#17291A)}
[data-theme="dark"] .t-tablet{background:linear-gradient(150deg,#134039,#0D2B27)}
[data-theme="dark"] .t-ointment{background:linear-gradient(150deg,#2A4020,#1B2B16)}
[data-theme="dark"] .t-shampoo{background:linear-gradient(150deg,#12394A,#0C2733)}
[data-theme="dark"] .t-cream{background:linear-gradient(150deg,#323F1C,#222B14)}
[data-theme="dark"] .slot .mono{color:var(--lime);opacity:.1}

/* =====================================================================
   LIQUID SELECTION – one indicator slides + squishes between options;
   the buttons themselves never re-render.  Used by .segc .seg .seg3 .chips
   ===================================================================== */
.liqgroup{position:relative}
.liqgroup>button{position:relative;z-index:1}
.liq{position:absolute;z-index:0;left:0;top:0;width:0;height:0;border-radius:999px;pointer-events:none;
  background:var(--lime);box-shadow:0 4px 14px rgba(120,230,90,.45),inset 0 1px 0 rgba(255,255,255,.75);
  transition:left .6s var(--spring),top .6s var(--spring),width .6s var(--spring),height .6s var(--spring),opacity .3s}
.liq.go{animation:gooey .65s var(--spring)}
@keyframes gooey{30%{scale:1.1 .85}62%{scale:.97 1.06}}
.segc button.on,.seg button.on,.seg3 button.on,.toolrow .seg button.on{background:none!important;box-shadow:none!important}
.fchip.on{background:transparent!important;border-color:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;transform:none!important}
.chips .liq{background:linear-gradient(180deg,var(--emerald-600),var(--emerald-700));box-shadow:0 6px 16px rgba(10,92,69,.35),inset 0 1px 0 rgba(255,255,255,.3)}
[data-theme="dark"] .chips .liq{background:var(--lime);box-shadow:0 6px 16px rgba(120,230,90,.35),inset 0 1px 0 rgba(255,255,255,.6)}
.tabbar .ind.go{animation:gooey .65s var(--spring)}
.segc em:empty{display:none}

/* sticky glass tool strip: search / filters stay put while the list scrolls */
/* Chrome measures sticky offsets from the scroller's content box, so subtract the screen's 60px top padding to land at 46px */
.stickytools{position:sticky;top:-14px;z-index:8;margin:0 -18px;padding:6px 18px 4px}
.stickytools::before{content:'';position:absolute;inset:-4px 0 0 0;z-index:-1;pointer-events:none;
  background:linear-gradient(color-mix(in srgb,var(--bg) 80%,transparent) 55%,transparent);
  -webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);
  -webkit-mask-image:linear-gradient(#000 94%,transparent);mask-image:linear-gradient(#000 94%,transparent)}
.stickytools .chips{margin-bottom:8px}
.stickytools .toolrow{margin:0 2px 4px}
.stickytools .search{margin-bottom:10px}
.statusbar::before{content:'';position:absolute;inset:0 0 -16px;z-index:-1;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  background:linear-gradient(color-mix(in srgb,var(--bg) 75%,transparent),transparent);-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
.coll{display:grid;grid-template-rows:1fr;transition:grid-template-rows .55s var(--spring),opacity .4s}
.coll.off{grid-template-rows:0fr;opacity:0;pointer-events:none}
.coll>div{overflow:hidden;min-height:0}
.swap{animation:swap .5s var(--spring)}
@keyframes swap{from{opacity:0;transform:translateY(12px) scale(.985)}}

/* app icon (botanical M) */
.applogo{width:128px;height:128px;object-fit:contain;filter:drop-shadow(0 14px 30px rgba(0,0,0,.35))}
.applogo.sm{width:38px;height:38px;filter:none;margin-bottom:6px;display:block}
.banner .bi{background:#fff;position:relative;padding:4px;overflow:visible}
.banner .bi img{width:100%;height:100%;object-fit:contain}
.banner .bi .g{position:absolute;right:-5px;bottom:-5px;width:19px;height:19px;border-radius:50%;background:var(--lime);color:var(--price-ink);display:grid;place-items:center;border:2px solid #fff}
.banner .bi .g svg{width:10px;height:10px;stroke-width:2.6}

/* splash – same staged sequence as mrunal_splash_screen.dart (≈1.5s) */
.splash{position:absolute;inset:0;z-index:120;display:grid;place-items:center;overflow:hidden;--lo:1;
  background:radial-gradient(circle at 50% 50%,#FBF8F2,#EDE6D6 125%);transition:opacity .45s,visibility 0s}
[data-theme="dark"] .splash{background:radial-gradient(circle at 50% 50%,#0F2318,#061009 125%);--lo:.5}
.splash:not(.show){opacity:0;pointer-events:none;visibility:hidden;transition:opacity .45s,visibility 0s .45s}
.sp-leaf{position:absolute;opacity:0}.sp-leaf img{display:block;width:100%}
.sp-leaf.l1{left:2%;top:8%;width:112px;rotate:-22.5deg;transform-origin:100% 100%}
.sp-leaf.l2{right:0;top:10%;width:96px;rotate:30deg;transform-origin:0 100%}
.sp-leaf.l3{left:0;bottom:20%;width:86px;rotate:15deg;transform-origin:100% 0}
.sp-center{display:flex;flex-direction:column;align-items:center}
.sp-logo{position:relative;width:214px;height:214px;margin-top:-20px}
.sp-m{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;scale:.72}
.sp-mortar{position:absolute;width:111px;right:-11px;bottom:-13px;opacity:0;scale:.75;transform-origin:100% 100%}
.sp-m.dk,.sp-mortar.dk{display:none}
[data-theme="dark"] .sp-m.dk,[data-theme="dark"] .sp-mortar.dk{display:block}
[data-theme="dark"] .sp-m.lt,[data-theme="dark"] .sp-mortar.lt{display:none}
.sp-shine{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.sp-shine::before{content:'';position:absolute;top:-60%;left:0;width:70px;height:220%;opacity:0;mix-blend-mode:overlay;
  background:linear-gradient(90deg,transparent,rgba(212,175,55,.8),transparent);transform:rotate(-36deg) translateX(-160px)}
[data-theme="dark"] .sp-shine::before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent)}
.sp-text{margin-top:28px;text-align:center;opacity:0;translate:0 14px}
.sp-text b{display:block;font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:38px;letter-spacing:1px;line-height:1;color:#1A3D2B}
.sp-text span{display:block;margin-top:6px;font-size:11.5px;font-weight:500;letter-spacing:3.5px;color:#3A6048}
[data-theme="dark"] .sp-text b{color:#E8F0DC}[data-theme="dark"] .sp-text span{color:#B0C9A0}
.splash.play .sp-leaf{animation:spLeaf .45s ease-out forwards}
.splash.play .sp-m{animation:spPop .6s .375s cubic-bezier(.215,.61,.355,1) forwards}
.splash.play .sp-mortar{animation:spPop .525s .825s cubic-bezier(.215,.61,.355,1) forwards}
.splash.play .sp-shine::before{animation:spShine .38s .9s ease-in-out forwards}
.splash.play .sp-text{animation:spText .5s 1.15s cubic-bezier(.215,.61,.355,1) forwards}
@keyframes spLeaf{from{opacity:0;scale:.8}to{opacity:var(--lo);scale:1}}
@keyframes spPop{to{opacity:1;scale:1}}
@keyframes spShine{0%{opacity:0;transform:rotate(-36deg) translateX(-160px)}25%,75%{opacity:.85}100%{opacity:0;transform:rotate(-36deg) translateX(330px)}}
@keyframes spText{to{opacity:1;translate:0 0}}

.tablet .stickytools{top:-16px}

/* =====================================================================
   PERFORMANCE
   Blur is the expensive effect, so it is only used where glass overlaps
   *scrolling* content (tab bar, sticky strips, banner, sheets, dialogs).
   Every other .glass element is a translucent fill + hairline + highlight,
   which looks identical over the static aurora but costs almost nothing.
   ===================================================================== */
.tabbar,.banner,.sheet,.dlg,.toast,.actionbar,.tripbar,.back,.phead .iconbtn.glass{-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
/* inactive screens are not painted at all (opacity:0 alone still composites them) */
.screen{transition:opacity .38s var(--spring),transform .55s var(--spring),visibility 0s .55s}
.screen:not(.active){visibility:hidden}
.screen.active{visibility:visible;transition:opacity .38s var(--spring),transform .55s var(--spring),visibility 0s 0s}
.pcard,.prow,.ocard,.ucard,.aprod{content-visibility:auto;contain-intrinsic-size:auto 240px}
/* aurora: gradients instead of animated CSS blur filters */
.aurora i{filter:none;will-change:transform}
.aurora i:nth-child(1){width:460px;height:460px;top:-170px;right:-150px;background:radial-gradient(circle,rgba(162,255,136,.85),rgba(162,255,136,0) 66%)}
.aurora i:nth-child(2){width:520px;height:520px;top:230px;left:-250px;background:radial-gradient(circle,rgba(61,214,165,.55),rgba(61,214,165,0) 66%);opacity:1}
.aurora i:nth-child(3){width:440px;height:440px;bottom:-190px;right:-150px;background:radial-gradient(circle,rgba(142,235,211,.6),rgba(142,235,211,0) 66%);opacity:1}
[data-theme="dark"] .aurora i{opacity:.35}
/* lite mode: no blur, no ambient motion (battery saver / low-end devices) */
html.lite *,html.lite *::before,html.lite *::after{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html.lite .aurora i,html.lite .lg-spark i,html.lite .lg-bloom,html.lite .lg-mark,html.lite .login::before,html.lite .login::after,html.lite .offline .oi{animation:none!important}
html.lite{--glass:rgba(255,255,255,.9);--glass-border:rgba(255,255,255,.9)}
html.lite[data-theme="dark"]{--glass:rgba(16,40,31,.94)}
html.lite .stickytools::before,html.lite .statusbar::before{background:var(--bg)}
@media (prefers-reduced-transparency:reduce){
  *,*::before,*::after{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  :root{--glass:rgba(255,255,255,.92)}
}

/* =====================================================================
   LOGIN – premium reveal.  The raster stays the pixel-exact master; motion
   is layered on top: diagonal growth wipe + focus pull, light bloom, a shine
   pass clipped to the logo's own alpha, staggered wordmark, rising sparkles
   ===================================================================== */
@property --wipe{syntax:'<percentage>';inherits:false;initial-value:150%}
:root{--m-mask:url(data:image/webp;base64,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)}
.login::before{filter:none;width:520px;height:520px;top:-190px;right:-190px;background:radial-gradient(circle,rgba(162,255,136,.55),rgba(162,255,136,0) 66%)}
.login::after{filter:none;width:480px;height:480px;bottom:60px;left:-220px;background:radial-gradient(circle,rgba(61,214,165,.4),rgba(61,214,165,0) 66%)}
.lg-hero{position:relative;display:grid;justify-items:center;gap:0;animation:none;text-align:center;color:#fff}
.lg-bloom{position:absolute;top:-70px;left:50%;width:380px;height:380px;margin-left:-190px;border-radius:50%;pointer-events:none;opacity:0;
  background:radial-gradient(circle,rgba(162,255,136,.5),rgba(162,255,136,.12) 45%,rgba(162,255,136,0) 66%);
  animation:lgBloom 1.8s .2s cubic-bezier(.2,.7,.2,1) forwards,lgBreath 6s 2.2s ease-in-out infinite}
.lg-mark{position:relative;width:210px;height:210px;z-index:1;animation:lgFloat 7s 2.6s ease-in-out infinite}
.lg-img{display:block;width:100%;height:100%;object-fit:contain;will-change:mask-image,scale,filter;
  -webkit-mask-image:linear-gradient(52deg,#000 calc(var(--wipe) - 24%),transparent var(--wipe));mask-image:linear-gradient(52deg,#000 calc(var(--wipe) - 24%),transparent var(--wipe));
  filter:drop-shadow(0 18px 28px rgba(0,0,0,.35));
  animation:lgWipe 1.75s .25s cubic-bezier(.62,0,.25,1) both,lgFocus 1.5s .25s cubic-bezier(.2,.7,.2,1) both}
.lg-shine{position:absolute;inset:0;pointer-events:none;mix-blend-mode:overlay;
  -webkit-mask:var(--m-mask) center/contain no-repeat;mask:var(--m-mask) center/contain no-repeat;
  background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.95) 50%,transparent 60%) 170% 0/260% 100% no-repeat;
  animation:lgShine 1.15s 2s cubic-bezier(.4,0,.2,1) both}
.lg-word{margin:14px 0 0;font-size:48px;line-height:1;letter-spacing:.01em;display:flex;gap:1px}
.lg-word span{display:inline-block;opacity:0;translate:0 16px;filter:blur(8px);animation:lgLetter .85s calc(1.35s + var(--i)*.07s) cubic-bezier(.2,.8,.2,1) forwards}
.lg-tag{margin:10px 0 0;color:rgba(255,255,255,.75);font-size:15px;max-width:270px;line-height:1.45;opacity:0;animation:lgIn .8s 2.05s both}
.lg-spark{position:absolute;inset:0;pointer-events:none}
.lg-spark i{position:absolute;left:var(--x);bottom:46%;width:var(--s);height:var(--s);border-radius:50%;background:var(--lime);box-shadow:0 0 10px 2px rgba(162,255,136,.7);opacity:0;animation:lgSpark 5s var(--d) infinite ease-out}
.lg-card{animation:lgCard 1.1s .85s cubic-bezier(.32,.72,0,1) both}
.lg-card>*{animation:lgIn .7s both}
.lg-card>:nth-child(1){animation-delay:1.35s}.lg-card>:nth-child(2){animation-delay:1.43s}.lg-card>:nth-child(3){animation-delay:1.51s}.lg-card>:nth-child(4){animation-delay:1.59s}
.cb.on{animation:pop .45s var(--bounce)}
.gbtn:not(:disabled){animation:pop .5s var(--bounce)}
.login.out .lg-mark{transition:scale .7s cubic-bezier(.5,0,.2,1),opacity .55s .1s;scale:1.35;opacity:0;animation:none}
.login.out .lg-hero>*:not(.lg-mark){transition:opacity .35s;opacity:0}
.login.out .lg-card{animation:lgOut .6s cubic-bezier(.5,0,.75,0) forwards}
@keyframes lgWipe{from{--wipe:-24%}to{--wipe:150%}}
@keyframes lgFocus{from{scale:.84;filter:blur(12px) drop-shadow(0 18px 28px rgba(0,0,0,.35))}55%{filter:blur(0) drop-shadow(0 18px 28px rgba(0,0,0,.35))}to{scale:1}}
@keyframes lgShine{from{background-position:170% 0}to{background-position:-70% 0}}
@keyframes lgBloom{from{opacity:0;scale:.35}to{opacity:1;scale:1}}
@keyframes lgBreath{50%{scale:1.1;opacity:.75}}
@keyframes lgFloat{50%{translate:0 -6px}}
@keyframes lgLetter{to{opacity:1;translate:0 0;filter:blur(0)}}
@keyframes lgIn{from{opacity:0;translate:0 14px}}
@keyframes lgCard{from{opacity:0;translate:0 90px;scale:.94}}
@keyframes lgOut{to{opacity:0;translate:0 70px}}
@keyframes lgSpark{0%{opacity:0;translate:0 0;scale:.5}12%{opacity:.95}100%{opacity:0;translate:0 -150px;scale:1}}
@media (prefers-reduced-motion:reduce){.lg-img{mask-image:none;-webkit-mask-image:none}}
.lg-word span{padding:0 .07em 0 0;margin-right:-.03em}

/* hidden overlays must not keep a live blur layer: hide them (visibility flips after the fade) */
.banner{visibility:hidden;transition:transform .7s var(--spring),opacity .4s,visibility 0s .7s}
.banner.show{visibility:visible;transition:transform .7s var(--spring),opacity .4s,visibility 0s}
.dlg{visibility:hidden;transition:transform .5s var(--spring),opacity .3s,visibility 0s .5s}
.dlg.show{visibility:visible;transition:transform .5s var(--spring),opacity .3s,visibility 0s}
.toast{visibility:hidden;transition:transform .55s var(--spring),opacity .3s,visibility 0s .55s}
.toast.show{visibility:visible;transition:transform .55s var(--spring),opacity .3s,visibility 0s}
.success{visibility:hidden;transition:opacity .4s,visibility 0s .4s}.success.show{visibility:visible;transition:opacity .4s,visibility 0s}
.offline{visibility:hidden;transition:opacity .45s,visibility 0s .45s}.offline.show{visibility:visible;transition:opacity .45s,visibility 0s}
.back[style*="opacity:0"],.back[style*="opacity: 0"]{visibility:hidden}

.refundnote .wd{margin-left:auto;flex:none;font-weight:700;font-size:12px;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.6);color:inherit}
[data-theme="dark"] .refundnote .wd{background:rgba(255,255,255,.12)}
.topbar .chip.add{display:inline-flex;gap:6px;align-items:center;align-self:center}

/* =====================================================================
   REFUND REQUESTS – purple is reserved for refunds so they are spotted instantly
   ===================================================================== */
.badge.rf{left:auto;right:calc(50% + 6px);background:var(--st-refund);color:#fff}
[data-theme="dark"] .badge.rf{background:#C58AF0;color:#2a0f3a}
.pulse{width:10px;height:10px;border-radius:50%;background:var(--st-refund);flex:none;position:relative}
.pulse::after{content:'';position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--st-refund);opacity:.6;animation:ping 1.8s ease-out infinite}
@keyframes ping{from{scale:.5;opacity:.7}to{scale:1.7;opacity:0}}
html.lite .pulse::after{animation:none}
.rfhero{border-radius:28px;padding:14px;margin-bottom:6px;background:linear-gradient(150deg,var(--st-refund-bg),rgba(255,255,255,.35));border:1.5px solid color-mix(in srgb,var(--st-refund) 45%,transparent);box-shadow:0 12px 30px color-mix(in srgb,var(--st-refund) 22%,transparent)}
.rfhead{display:flex;align-items:center;gap:12px;width:100%;padding:2px 4px 10px;color:var(--st-refund)}
.rfhead b{display:block;font-size:16px}.rfhead small{display:block;font-size:12.5px;opacity:.85;margin-top:1px}
.rfgo{display:inline-flex;align-items:center;gap:3px;font-size:12.5px;font-weight:700;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.65)}
[data-theme="dark"] .rfgo{background:rgba(255,255,255,.12)}
.rfitem{background:var(--card);border-radius:20px;padding:13px;margin-top:8px}
.rfh{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.rfh small{display:block;color:var(--ink-3);font-size:12px;margin-top:2px}
.rfamt{font-size:19px;color:var(--st-refund);font-variant-numeric:tabular-nums}
.rfwhy{margin:8px 0 0;color:var(--ink-2);font-size:13.5px;line-height:1.45}
.rfmore{width:100%;margin-top:8px;padding:10px;border-radius:14px;font-weight:700;font-size:13px;color:var(--st-refund);background:rgba(255,255,255,.5)}
.rfalert{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border-radius:999px;margin-bottom:8px;color:var(--st-refund);background:var(--st-refund-bg);border:1px solid color-mix(in srgb,var(--st-refund) 40%,transparent);font-size:13.5px;text-align:left}
.rfalert b{flex:1}.rfalert .amt{font-weight:700;font-variant-numeric:tabular-nums}
.rfalert:empty,#aoAlert:empty{display:none}
.chips .fchip .cn{margin-left:6px;min-width:18px;height:18px;border-radius:9px;display:inline-grid;place-items:center;font-size:11px;font-weight:800;padding:0 5px;background:var(--st-refund);color:#fff;vertical-align:1px}
.chips .fchip .cn:empty{display:none}
.aocard.needs{border-color:color-mix(in srgb,var(--st-refund) 60%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--st-refund) 14%,transparent),0 8px 24px rgba(6,70,50,.08)}
.needtag{position:absolute;top:-10px;right:16px;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--st-refund);padding:3px 10px;border-radius:999px;box-shadow:0 4px 10px color-mix(in srgb,var(--st-refund) 40%,transparent)}
.rfsum{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.rfsum div{background:var(--st-refund-bg);color:var(--st-refund);border-radius:20px;padding:14px 8px;text-align:center}.rfsum b{display:block;font-size:18px}.rfsum small{font-size:12px;opacity:.85}
.rfcard{background:var(--card);border-radius:26px;padding:12px;margin-bottom:12px;border:1.5px solid color-mix(in srgb,var(--st-refund) 35%,transparent);box-shadow:0 8px 24px rgba(6,70,50,.08)}
.rfcard .rfitem{margin:0;padding:6px}
.rfitems{margin:6px 6px 4px;padding-top:10px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--ink-3);line-height:1.5}
.rfdone{display:flex;gap:10px;align-items:center;width:100%;background:var(--card);border-radius:20px;padding:12px 14px;margin-bottom:8px}.rfdone small{display:block;color:var(--ink-3);font-size:12px;margin-top:2px}

.rfitem .oact .btn{white-space:nowrap}
.rfitem .oact .btn:first-child{flex:1.7}
.rfitem .oact .btn.ic{flex:none;width:44px;padding:0}

/* pull to refresh: glass drop that stretches as you pull, flips when ready, spins while loading */
.ptr{position:absolute;top:58px;left:50%;width:42px;height:42px;margin-left:-21px;border-radius:50%;z-index:45;display:grid;place-items:center;opacity:0;pointer-events:none;transform:translateY(-60px) scale(.55);color:var(--emerald-700)}
[data-theme="dark"] .ptr{color:var(--lime)}
.ptr svg{width:20px;height:20px;transition:transform .4s var(--spring)}
.ptr.ready{background:var(--lime);color:var(--price-ink)}
.ptr.ready svg{transform:rotate(180deg)}
.ptr .spin{display:none;width:20px;height:20px}
.ptr.spinning svg{display:none}.ptr.spinning .spin{display:block}
.screen{will-change:auto}
/* avatar is a button now */
button.avatar{border:0;cursor:pointer;font:inherit;font-weight:700;transition:transform .3s var(--bounce)}
button.avatar:active{transform:scale(.88)}
/* collapsible refund hero */
.rfbar{display:flex;align-items:flex-start;gap:6px}
.rfbar .rfhead{flex:1;width:auto}
.rfhero.min .rfhead{padding-bottom:2px}
.rfhero.min{padding-bottom:10px}
.rfmin{width:38px;height:38px;border-radius:50%;flex:none;background:rgba(255,255,255,.65);display:grid;place-items:center;color:var(--st-refund)}
[data-theme="dark"] .rfmin{background:rgba(255,255,255,.12)}
.rfmin svg{transition:transform .5s var(--spring)}
.rfhero:not(.min) .rfmin svg{transform:rotate(180deg)}
.rfmin:active{scale:.9}
.rfhero.min .rfgo{display:none}

.hdr-actions{display:flex;align-items:center;gap:10px}

.cfnote{margin:-6px 6px 18px;font-size:12.5px;color:var(--ink-3);line-height:1.4}
.contacts button small{font-size:10.5px;font-weight:500;color:var(--ink-3);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 6px}
.contacts button{height:96px}
.contacts{grid-template-columns:repeat(3,minmax(0,1fr))}
.contacts button{min-width:0;overflow:hidden}
.contacts button small{font-size:10px;max-width:100%}

/* ---- legal / tax ---- */
.login{z-index:55}
.taxnote{margin:8px 0 0;font-size:12px;color:var(--ink-3)}
.legalline{margin:-8px 2px 16px;font-size:12px;color:var(--ink-3)}
.inv-s .incl{display:block;text-align:right;color:#8aa095;font-size:11px;margin-top:2px}
.legalbody{max-height:60vh;overflow-y:auto;margin:0 -6px;padding:0 6px}
.legalbody .sub{display:none}
.legalbody .legal{animation:none;opacity:1}
.kv{display:flex;justify-content:space-between;gap:14px;padding:12px 0;font-size:13.5px}.kv+.kv{border-top:1px solid var(--line)}
.kv span{color:var(--ink-3);flex:none}.kv b{font-weight:600;text-align:right}
.checkcard{background:var(--card);border-radius:26px;padding:16px;margin-bottom:14px;box-shadow:0 8px 24px rgba(6,70,50,.08)}
.ch-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.ch-h span{font-size:12.5px;color:var(--ink-2)}
.ch-i{display:flex;gap:10px;align-items:center;padding:9px 0;font-size:13.5px;color:var(--st-pending)}.ch-i.ok{color:var(--ink-2)}.ch-i.ok svg{color:var(--emerald-500)}
.ch-i:first-of-type{margin-top:8px}

/* ---- admin team + audit ---- */
.adm{display:flex;gap:12px;align-items:center;background:var(--card);border-radius:24px;padding:14px;margin-bottom:10px;box-shadow:0 8px 22px rgba(6,70,50,.07)}
.adm b{font-size:15px;margin-right:6px}.adm small{display:block;color:var(--ink-3);font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adm .chip{margin-right:4px;font-size:10.5px;font-weight:700;vertical-align:1px}.adm .chip.you{background:rgba(58,79,176,.12);color:#3A4FB0}.adm .chip.inv{background:var(--st-pending-bg);color:var(--st-pending)}
.adm-a{display:flex;gap:4px;align-items:center}
.sg{display:flex;gap:10px;align-items:flex-start;padding:11px 0;font-size:13.5px;color:var(--ink-2);line-height:1.45}.sg+.sg{border-top:1px solid var(--line)}.sg svg{color:var(--emerald-500);margin-top:2px}
.aud{display:flex;gap:12px;align-items:flex-start;padding:12px 0}.aud+.aud{border-top:1px solid var(--line)}
.aud .ic{width:34px;height:34px;border-radius:11px;background:var(--lime-soft);color:var(--emerald-700);display:grid;place-items:center;flex:none}.aud .ic svg{width:17px;height:17px}
.aud b{font-size:14px;font-weight:600}.aud small{display:block;color:var(--ink-3);font-size:12px;margin-top:2px}
.reveal{font-size:12px;font-weight:700;color:var(--emerald-600);margin-left:6px}
.chip svg{width:13px;height:13px;vertical-align:-2px}
