@font-face{font-family:'Vazirmatn';font-style:normal;font-weight:300;font-display:swap;src:url('/fonts/Vazirmatn-Light.woff2') format('woff2')}
@font-face{font-family:'Vazirmatn';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/Vazirmatn-Regular.woff2') format('woff2')}
@font-face{font-family:'Vazirmatn';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/Vazirmatn-Medium.woff2') format('woff2')}
@font-face{font-family:'Vazirmatn';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/Vazirmatn-SemiBold.woff2') format('woff2')}
@font-face{font-family:'Vazirmatn';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/Vazirmatn-Bold.woff2') format('woff2')}
@font-face{font-family:'Vazirmatn';font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/Vazirmatn-ExtraBold.woff2') format('woff2')}
/* Atom VIP — one stylesheet for the client app, the team panel and the demo. Ledger look: ink navy, cool paper, one champagne accent. */
:root{
  --ink:#0B1424; --ink2:#253044; --ink3:#334055; --muted:#5A6475; --faint:#8A93A3;
  --line:#E4E7EC; --line2:#EEF0F3; --bg:#F3F4F6; --bg2:#F7F8FA; --surface:#FFFFFF;
  --navy:#0E1B2E; --navy2:#16263D; --onnavy:#AEB8C7;
  --gold:#C2A06A; --goldT:#7F6230; --goldBg:#F7F1E6; --goldLt:#E5CF9F;
  --blue:#2550C8; --blueT:#1F45B0; --blueBg:#EAF0FC;
  --orange:#C2410C; --orangeT:#9A3C07; --orangeBg:#FDF0E5;
  --green:#15633B; --greenBg:#E7F4ED;
  --red:#B42318; --redBg:#FDECEA;
  --idle:#4A5568; --idleBg:#EFF1F4;
  --font:'Vazirmatn',Tahoma,'Segoe UI',Arial,sans-serif;
  color-scheme: light;
}
*{box-sizing:border-box}
html,body{height:100%}
html{background:var(--surface)}
body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.7;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--navy);z-index:100}
button,input,textarea,select{font-family:inherit;color:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.num{font-variant-numeric:tabular-nums}
bdi{unicode-bidi:isolate}
bdi.num{direction:ltr}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}

/* ---------- app shell ---------- */
#app{height:100%;display:flex;flex-direction:column;direction:rtl}
.demobar{flex-shrink:0;min-height:50px;background:var(--navy);color:#fff;display:flex;align-items:center;gap:10px;padding-block:6px;padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px));position:relative;z-index:30}
.db-brand{display:flex;align-items:center;gap:8px;min-width:0;flex:1}
.db-brand b{font-size:14px;white-space:nowrap}
.db-star{color:var(--gold);display:flex}
.db-date{font-size:12px;color:var(--onnavy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-seg{display:flex;background:rgba(255,255,255,.08);border-radius:10px;padding:3px;gap:2px;flex-shrink:0}
.db-seg button{border:0;background:transparent;color:#C9D1DD;height:34px;padding:0 12px;border-radius:8px;font-size:13px;font-weight:600;white-space:nowrap}
.db-seg button.on{background:#fff;color:var(--navy)}
.db-reset{border:1px solid rgba(255,255,255,.18);background:transparent;color:#DCE2EA;height:36px;padding:0 10px;border-radius:9px;font-size:12.5px;display:flex;align-items:center;gap:6px;flex-shrink:0}
.resetbar{position:absolute;top:100%;left:12px;right:12px;margin-top:6px;background:#fff;color:var(--ink);border-radius:12px;box-shadow:0 10px 30px rgba(14,27,46,.25);padding:12px 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;z-index:40}
.resetbar span{flex:1;min-width:180px}
@media (max-width:1099px){.wide-only{display:none!important}}
@media (max-width:560px){.db-date{display:none}.db-reset span{display:none}.db-seg button{padding:0 10px}}
@media (max-width:360px){.db-brand b{display:none}}

.stage{flex:1;min-height:0;display:flex;background:#E9ECF1;position:relative}
.admin-wrap{flex:1;min-width:0;min-height:0;display:flex;background:var(--bg);overflow:hidden;position:relative}
.phone-wrap{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px 24px;min-height:0;background:#E2E6ED;border-right:1px solid #D5DAE2}
.device{width:390px;height:min(844px,calc(100% - 34px));border-radius:50px;border:11px solid #0E1B2E;background:var(--bg);overflow:hidden;position:relative;box-shadow:0 20px 50px rgba(14,27,46,.25);flex-shrink:1}
.device::before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:110px;height:30px;border-radius:20px;background:#0E1B2E;z-index:60;pointer-events:none}
.device .capp{padding-top:40px}
.phone-cap{font-size:12px;color:var(--muted);font-weight:600}
.stage[data-mode="admin"] .phone-wrap{display:none}
.stage[data-mode="client"] .admin-wrap{display:none}
.stage[data-mode="client"] .phone-wrap{flex:1;border:0}
.stage.narrow[data-mode="client"] .phone-wrap{padding:0;background:var(--bg)}
.stage.narrow .device{width:100%;height:100%;border:0;border-radius:0;box-shadow:none}
.stage.narrow .device::before{display:none}
.stage.narrow .device .capp{padding-top:0}
.stage.narrow .phone-cap{display:none}

.toasts{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;z-index:200;pointer-events:none;width:min(92vw,440px)}
.toast{background:var(--navy);color:#fff;padding:10px 16px;border-radius:12px;font-size:13px;box-shadow:0 10px 30px rgba(14,27,46,.3);animation:tin .25s ease;text-align:center;line-height:1.7}
@keyframes tin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---------- client app ---------- */
.capp{position:relative;height:100%;width:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.7;container-type:inline-size}
.c-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:6px 18px 28px;display:flex;flex-direction:column}
.c-scroll > *{flex-shrink:0}
.c-hdr{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px 6px;flex-shrink:0}
.c-hdr-t{flex:1;min-width:0;text-align:center;font-size:16px;font-weight:700;line-height:1.5;overflow:hidden}
.c-hdr-t small{display:block;font-size:12px;font-weight:400;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-hdr{padding-top:16px}
.c-top{padding:20px 18px 4px;flex-shrink:0}
.page-title{font-size:24px;font-weight:700;line-height:1.5;margin:0;text-wrap:balance}
.page-sub{font-size:13px;color:var(--muted);margin:0}
.sp44{width:44px;height:44px;flex-shrink:0}
.mark{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:20px;letter-spacing:-.4px;direction:ltr}
.mark-lg{font-size:30px;color:#fff}
.vip{font-size:10px;font-weight:700;letter-spacing:1.6px;color:var(--goldT);border:1px solid #D9C49B;border-radius:6px;padding:0 6px;line-height:18px}
.vip-dark{color:var(--goldLt);border-color:rgba(194,160,106,.5)}
.ibtn{width:44px;height:44px;border-radius:14px;background:#fff;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;color:var(--ink);position:relative;flex-shrink:0;padding:0}
.ibtn.ghost{background:transparent;border-color:transparent}
.ibtn.sm{width:36px;height:36px;border-radius:10px}
.ibtn .dot{position:absolute;top:10px;left:11px;width:9px;height:9px;border-radius:50%;background:var(--orange);border:2px solid #fff}
.ibtn.send{background:var(--navy);color:#fff;border-color:var(--navy);border-radius:50%}
.avatar{width:40px;height:40px;border-radius:50%;background:var(--navy);color:var(--goldLt);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0;border:0;padding:0;white-space:nowrap}
.avatar-44{width:44px;height:44px}
.avatar-56{width:56px;height:56px;font-size:17px}
.avatar.sm{width:34px;height:34px;font-size:11.5px}
.avatar.xs{width:28px;height:28px;font-size:10.5px}
.avatar.lg{width:56px;height:56px;font-size:18px}
.avatar.rel{position:relative}
.online{position:absolute;bottom:0;left:0;width:11px;height:11px;border-radius:50%;background:#1E8E5A;border:2px solid #fff}
.row-8{display:flex;align-items:center;gap:8px}
.row-10{display:flex;align-items:center;gap:10px}
.row-12{display:flex;align-items:center;gap:12px}
.row-14{display:flex;align-items:center;gap:14px}
.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}
.wrap{flex-wrap:wrap}
.gap-8{gap:8px}.gap-12{gap:12px}
.align-start{align-items:flex-start}
.jend{justify-content:flex-end}
.grow{flex:1;min-width:0}
.shrink0{flex-shrink:0}
.center{text-align:center}
.w100{width:100%}
.mt-4{margin-top:4px}.mt-6{margin-top:6px}.mt-8{margin-top:8px}.mt-10{margin-top:10px}.mt-12{margin-top:12px}.mt-14{margin-top:14px}.mt-16{margin-top:16px}.mt-18{margin-top:18px}.mt-0{margin-top:0}
.mb-6{margin-bottom:6px}.mb-10{margin-bottom:10px}.mb-12{margin-bottom:12px}.mb-14{margin-bottom:14px}.mb-16{margin-bottom:16px}
.my-16{margin:16px 0}.px-4{padding:0 4px}.py-4{padding:4px 0}
.stack-8{display:flex;flex-direction:column;gap:8px}.stack-10{display:flex;flex-direction:column;gap:10px}.stack-12{display:flex;flex-direction:column;gap:12px}
.small{font-size:12.5px}.xs{font-size:11.5px}
.strong{font-weight:600}
.muted{color:var(--muted)}
.warn-t{color:var(--orangeT)}
.red-t{color:var(--red)}
.gold{color:var(--goldLt)}
.white{color:#fff}
.strike{text-decoration:line-through}
.lh2{line-height:2}
.fs16{font-size:16px}.fs22{font-size:22px}.fs36{font-size:36px}
.light{font-weight:300}
.block{display:block}
.h17{font-size:17px;font-weight:700}
.h18{font-size:18px;font-weight:700;line-height:1.6}
.p{font-size:13.5px;line-height:2;margin:0;color:var(--ink2)}
.clamp3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.btnreset{background:none;border:0;padding:0;font:inherit;color:inherit;text-align:start;width:100%}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--blue);font-weight:600;cursor:pointer}
.linkbtn.ink{color:var(--ink)}

.card{display:block;width:100%;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;text-align:start;font:inherit;color:inherit}
button.card{cursor:pointer}
.card.flush{padding:0;overflow:hidden}
.card.soft{background:var(--bg2)}
.card.kvcard{padding-top:6px;padding-bottom:6px}
.card.py-8{padding-top:8px;padding-bottom:8px}.card.py-6{padding-top:6px;padding-bottom:6px}
.ok-card{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink3)}
.navy{display:block;width:100%;background:var(--navy);color:#fff;border-radius:22px;padding:20px;border:0;text-align:start;font:inherit}
button.navy{cursor:pointer}
.navy.row-14{display:flex}
.nm{padding:16px 18px}
.hero{margin-top:16px}
.on-navy{color:var(--onnavy)}
.hero-num{display:flex;align-items:baseline;gap:10px;margin:14px 0 16px}
.hero-num .big{font-size:44px}
.hero-num.dark .big{font-size:36px}
.big{font-weight:300;letter-spacing:-.5px;line-height:1.1}
.money{font-size:42px;margin:12px 0 16px;direction:ltr;text-align:right}
.hero-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1)}
.hero-split > div + div{border-right:1px solid rgba(255,255,255,.1);padding-right:14px}
.hero-split .strong{font-size:14px;line-height:1.6}
.track{height:6px;border-radius:3px;background:rgba(255,255,255,.14);overflow:hidden}
.track > span{display:block;height:100%;background:var(--gold);border-radius:3px;transition:width .4s}
.track.light{background:#E8EBF0}
.track.light > span{background:var(--navy)}

.sec{display:flex;align-items:center;justify-content:space-between;margin:24px 2px 10px;gap:8px}
.sec h2{font-size:15px;font-weight:700;margin:0;display:flex;align-items:center;gap:8px}
.seclink{font-size:13px;font-weight:600;color:var(--blue);background:none;border:0;padding:4px 0;display:inline-flex;align-items:center;gap:4px}
.label{font-size:12px;color:var(--muted);font-weight:500}
.grp{font-size:12px;font-weight:600;color:var(--muted);margin:20px 4px 8px}

.li{display:flex;align-items:center;gap:12px;padding:12px 16px;min-height:58px;width:100%;background:none;border:0;text-align:start;font:inherit;color:inherit}
button.li{cursor:pointer}
.li + .li{border-top:1px solid var(--line2)}
.li.li-top{align-items:flex-start;padding-top:15px;padding-bottom:15px}
.li.tight{min-height:52px;padding-top:9px;padding-bottom:9px}
.li.wrap{flex-wrap:wrap;gap:8px}
.li-main{flex:1;min-width:0}
.li-title{font-size:14px;font-weight:600;line-height:1.6}
.li-sub{font-size:12px;color:var(--muted);line-height:1.6}
.chev{color:var(--faint);flex-shrink:0;display:flex}
.thumb{width:42px;height:42px;border-radius:12px;background:#F1F3F6;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--ink3);flex-shrink:0;font-size:15px}
.thumb.sm{width:32px;height:32px;font-size:12.5px;border-radius:9px}
.sic{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.sic.d{background:var(--greenBg);color:var(--green)}
.sic.n{background:var(--blueBg);color:var(--blueT)}
.sic.w{background:var(--orangeBg);color:var(--orangeT)}
.sic.u{background:#F1F3F6;color:var(--muted)}
.unread{width:8px;height:8px;border-radius:50%;background:var(--blue);flex-shrink:0}

.chip{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:2px 10px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap;flex-shrink:0;line-height:1.4}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.chip.plain::before{display:none}
.chip.xs{min-height:20px;font-size:10px;padding:1px 8px}
.c-wait{background:var(--orangeBg);color:var(--orangeT)}
.c-prog{background:var(--blueBg);color:var(--blueT)}
.c-done{background:var(--greenBg);color:var(--green)}
.c-idle{background:var(--idleBg);color:var(--idle)}
.c-risk{background:var(--redBg);color:var(--red)}
.c-gold{background:rgba(194,160,106,.12);color:var(--goldLt);border:1px solid rgba(194,160,106,.45)}
.c-gold::before{display:none}
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}

.btn{min-height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:15px;font-weight:600;width:100%;border:0;padding:0 14px;text-align:center;line-height:1.4}
.btn:disabled{opacity:.45}
.btn-pri{background:var(--navy);color:#fff}
.btn-sec{background:#fff;color:var(--ink);border:1px solid #D5DAE1}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-sm44{min-height:44px;font-size:13.5px;border-radius:12px}
.btn46{min-height:46px;font-size:14px}
.ghost-navy{background:rgba(255,255,255,.08);color:#fff}
.btn-row{display:flex;gap:10px;flex-wrap:wrap}
.btn-row > *{flex:1 1 130px;min-width:0}

.stages{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}
.stages > span{height:4px;border-radius:2px;background:#E4E7EC}
.stages > span.d{background:var(--navy)}
.stages > span.n{background:var(--blue)}
.stages > span.w{background:var(--orange)}
.stage-labels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;font-size:10.5px;color:var(--muted);text-align:center;margin-top:6px;line-height:1.4}
.stage-labels .on{color:var(--ink);font-weight:700}
@container (max-width:340px){.stage-labels{font-size:9.5px}.hero-num .big{font-size:38px}.money{font-size:36px}}

.datebox{width:58px;height:64px;border-radius:14px;background:var(--navy);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.25;flex-shrink:0}
.datebox span{font-size:10.5px;color:var(--onnavy)}
.datebox b{font-size:22px;font-weight:600}
.datebox.gold-b{background:transparent;border:1px solid rgba(194,160,106,.45);width:52px;height:58px}
.datebox span.gold{color:var(--goldLt)}

.pc{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}
.pc-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line2);padding-top:12px;font-size:12.5px}
.dc{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.dc-title{font-size:16px;font-weight:700;line-height:1.6}
.dc-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line2);padding-top:12px;font-size:12.5px}
.code{font-size:11.5px;color:var(--muted);font-weight:600}

.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:40px 20px;color:var(--muted)}
.empty b{color:var(--ink);font-size:15px}
.empty span{font-size:13px;line-height:1.9;max-width:300px}
.note{display:flex;gap:10px;padding:12px 14px;border-radius:14px;background:#EBEEF3;color:var(--ink3);font-size:12.5px;line-height:1.9}
.note svg{flex-shrink:0;margin-top:3px}
.note.warn{background:var(--orangeBg);color:#7A3306}

.seg{display:flex;background:#E8EBF0;border-radius:12px;padding:4px;gap:4px}
.seg > *{flex:1;min-width:0;min-height:36px;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:9px;font-size:13px;font-weight:600;color:#465165;border:0;background:transparent;padding:0 4px;white-space:nowrap}
.seg .on{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(16,24,40,.08)}
@container (max-width:350px){.seg > *{font-size:12px}}

.tabbar{flex-shrink:0;height:auto;min-height:72px;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:8px 2px 14px}
.device .tabbar{padding-bottom:22px}
.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10.5px;color:#5F6878;font-weight:500;position:relative;white-space:nowrap;background:none;border:0;padding:4px 0;min-height:48px}
.tab.on{color:var(--navy);font-weight:700}
.tab.on::after{content:"";position:absolute;top:-8px;width:22px;height:2px;border-radius:2px;background:var(--gold)}
.badge{position:absolute;top:-2px;left:calc(50% - 22px);min-width:19px;height:19px;border-radius:10px;background:var(--orange);color:#fff;font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px;border:2px solid #fff}
@container (max-width:340px){.tab{font-size:9.5px}}

.actionbar{flex-shrink:0;background:#fff;border-top:1px solid var(--line);padding:12px 18px 18px;display:flex;flex-direction:column;gap:10px}
.device .actionbar{padding-bottom:26px}
.actionbar.over-tab{padding-bottom:12px}

.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}
.stat .n{font-size:28px;font-weight:300;line-height:1.3}
.mini{background:var(--bg2);border-radius:14px;padding:12px 14px;min-width:0}
.mini .label{display:block}
.mini b{font-size:14px;font-weight:600;display:block;overflow-wrap:anywhere}
.kv{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;font-size:13px}
.kv + .kv{border-top:1px solid var(--line2)}
.kv .k{color:var(--muted);flex-shrink:0}
.kv .v{font-weight:600;color:var(--ink);text-align:left;min-width:0;overflow-wrap:anywhere}
.est{font-size:10.5px;font-weight:600;color:var(--goldT);background:var(--goldBg);border-radius:5px;padding:1px 6px;margin-right:6px;white-space:nowrap}
.hr{height:1px;background:var(--line2);margin:12px 0}
.amt{font-size:14.5px;font-weight:600;flex-shrink:0}

.steps{display:flex;flex-direction:column}
.step{display:flex;gap:14px;position:relative;padding-bottom:18px}
.step:last-child{padding-bottom:0}
.step::before{content:"";position:absolute;right:11px;top:26px;bottom:2px;width:2px;background:#E4E7EC;border-radius:1px}
.step:last-child::before{display:none}
.step.d::before{background:var(--navy)}
.node{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #CBD2DC;color:#fff;position:relative;z-index:1}
.step.d .node{background:var(--navy);border-color:var(--navy)}
.step.n .node{border-color:var(--blue);box-shadow:0 0 0 4px var(--blueBg)}
.step.n .node::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--blue)}
.step.w .node{border-color:var(--orange);box-shadow:0 0 0 4px var(--orangeBg)}
.step.w .node::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--orange)}
.s-title{font-size:14px;font-weight:600;line-height:1.55}
.s-sub{font-size:12px;color:var(--muted);line-height:1.8}

.lrow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0}
.lrow + .lrow{border-top:1px solid var(--line2)}
.dots{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;max-width:58%}
.dots i{width:11px;height:11px;border-radius:4px;background:#E8EBF0;display:block}
.dots i.d{background:var(--navy)}
.dots i.n{background:#fff;border:2px solid var(--blue)}
.dots i.l{background:var(--red)}
.delay{border-color:#F3D7BF;background:#FFFBF7}
.delay-h{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#7A3306}
.delay-row{display:flex;align-items:center;gap:10px;margin:8px 0 4px;font-size:14px;flex-wrap:wrap}
.delay-row svg{color:#7A3306}
.done-row{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.8;padding:6px 0}
.done-row svg{flex-shrink:0;margin-top:4px;color:var(--green)}
.ag{display:flex;gap:12px;align-items:flex-start;padding:10px 0;font-size:13.5px;line-height:1.8}
.ag + .ag{border-top:1px solid var(--line2)}
.agno{width:24px;height:24px;border-radius:7px;background:#F1F3F6;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.meet-when{font-size:24px;font-weight:300;line-height:1.5}
.out{display:flex;gap:10px;font-size:13.5px;line-height:1.85;padding:6px 0}
.out .no{font-weight:700;color:var(--goldT);flex-shrink:0;width:16px}
.act{padding:12px 16px}
.act + .act{border-top:1px solid var(--line2)}
.act-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;font-size:12px;color:var(--muted)}
.who{font-size:11px;font-weight:700;border-radius:5px;padding:1px 7px;white-space:nowrap}
.who.atom{background:var(--navy);color:#fff}
.who.me{background:var(--goldBg);color:var(--goldT)}
.flow{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);flex-wrap:wrap}
.flow b{font-weight:600;color:var(--blueT)}
.flow i{width:14px;height:1px;background:#CBD2DC;display:inline-block}
.score{display:flex;align-items:center;gap:8px;margin-top:6px}
.score .bar{flex:1;height:4px;border-radius:2px;background:#E8EBF0;overflow:hidden}
.score .bar span{display:block;height:100%;background:var(--navy);border-radius:2px}
.score b{font-size:12px;font-weight:700;min-width:46px;text-align:left}
.cbox{width:24px;height:24px;border-radius:7px;border:2px solid #A3ABB8;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#fff;padding:0}
.cbox.on{background:var(--navy);border-color:var(--navy)}
.cbox.sm{width:16px;height:16px;border-radius:5px}
.cbox:disabled{opacity:.6}
li .cbox, .li .cbox{margin-top:2px}

.tbl-card{padding:8px 10px 4px}
.tbl-scroll{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:12.5px;min-width:300px}
.tbl th{font-weight:600;color:var(--muted);text-align:center;padding:10px 4px;font-size:12px}
.tbl td{padding:11px 4px;border-top:1px solid var(--line2);text-align:center;vertical-align:middle}
.tbl th:first-child,.tbl td:first-child{text-align:right;color:var(--muted);font-weight:500;white-space:nowrap}
.tbl .chip{font-size:10.5px;padding:1px 7px;min-height:21px}
.ph{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--ink)}

.field{display:flex;flex-direction:column;gap:6px}
.field label,.flabel{font-size:12.5px;font-weight:600;color:var(--ink3)}
fieldset{border:0;padding:0;margin:0;min-width:0}
legend{padding:0;margin-bottom:8px}
.input{min-height:48px;border:1px solid #D5DAE1;border-radius:12px;background:#fff;padding:10px 14px;font-size:16px;color:var(--ink);width:100%;display:flex;align-items:center;-webkit-appearance:none;appearance:none}
textarea.input{min-height:100px;line-height:1.9;resize:vertical}
select.input{padding-left:36px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235A6475' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-position:left 14px center;background-size:12px 12px;background-repeat:no-repeat}
.ltr-in{direction:ltr;text-align:right;letter-spacing:1px}
.otp-in{direction:ltr;text-align:center;letter-spacing:12px;font-size:22px;font-weight:600}
.form-err{color:var(--red);font-size:12.5px;background:var(--redBg);border-radius:10px;padding:8px 12px}
.opt{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #D5DAE1;border-radius:14px;background:#fff;font-size:14px;cursor:pointer;position:relative}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt .radio{width:20px;height:20px;border-radius:50%;border:2px solid #98A1B0;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.opt:has(input:checked){border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}
.opt:has(input:checked) .radio{border-color:var(--navy)}
.opt:has(input:checked) .radio::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--navy)}
.opt:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}
.formview{display:flex;flex-direction:column;flex:1;min-height:0}
.toggle{width:48px;height:30px;border-radius:15px;background:#D5DAE1;position:relative;flex-shrink:0;border:0;padding:0;transition:background .2s}
.toggle::after{content:"";position:absolute;top:3px;right:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:right .2s}
.toggle.on{background:var(--navy)}
.toggle.on::after{right:21px}
.toggle:disabled{opacity:.5}
.ch{min-height:36px;padding:0 14px;border-radius:10px;border:1px solid #D5DAE1;font-size:13px;display:inline-flex;align-items:center;background:#fff}
.ch.on{background:var(--navy);color:#fff;border-color:var(--navy)}

.chat-top{background:#fff;border-bottom:1px solid var(--line);flex-shrink:0}
.qa-row{display:flex;gap:8px;padding:2px 16px 12px}
.qa{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--ink2);padding:9px 0;border-radius:14px;background:var(--bg);border:0}
.chat-scroll{gap:10px;padding-top:14px}
.daypill{align-self:center;font-size:11.5px;color:var(--muted);background:#E8EBF0;border-radius:999px;padding:2px 12px;margin:4px 0}
.bubble{max-width:84%;padding:10px 14px;border-radius:18px;font-size:13.5px;line-height:1.9;overflow-wrap:anywhere}
.bubble.them{background:#fff;border:1px solid var(--line);border-top-right-radius:6px;align-self:flex-start}
.bubble.me{background:var(--navy);color:#fff;border-top-left-radius:6px;align-self:flex-end}
.bubble .time{display:block;font-size:10.5px;opacity:.7;margin-top:2px}
.bub-link{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--bg);border:1px solid var(--line);width:100%;text-align:start;font:inherit;color:var(--ink)}
.bub-link span{min-width:0;flex:1}
.bub-link b{display:block;font-size:12.5px;font-weight:600}
.bub-link small{display:block;font-size:11.5px;color:var(--muted)}
.composer{flex-shrink:0;background:#fff;border-top:1px solid var(--line);padding:10px 12px 14px;display:flex;align-items:center;gap:8px}
.device .composer{padding-bottom:24px}
.composer .input{border-radius:22px;min-height:44px;background:var(--bg);border-color:var(--bg);padding:8px 16px}

.login{display:flex;flex-direction:column;min-height:100%;background:var(--navy);overflow-y:auto;flex:1}
.login-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 28px 26px;text-align:center;color:#fff;min-height:260px}
.login-star{color:var(--gold);display:flex}
.login-hero .mark{margin-top:16px}
.login-hero h1{font-size:19px;font-weight:600;margin:20px 0 6px;line-height:1.6;text-wrap:balance}
.login-hero p{margin:0;font-size:13.5px;color:var(--onnavy)}
.login-sheet{background:#fff;border-radius:28px 28px 0 0;padding:24px 20px 26px;display:flex;flex-direction:column;gap:16px}
.login-title{font-size:18px;font-weight:700}
.login-foot{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--muted);text-align:center}

.sheet-bg{position:absolute;inset:0;background:rgba(14,27,46,.45);z-index:50}
.sheet-bg.anim{animation:fin .2s}
.sheet{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:24px 24px 0 0;padding:16px 18px 24px;z-index:51;max-height:88%;overflow-y:auto;box-shadow:0 -10px 30px rgba(14,27,46,.15)}
.sheet.anim{animation:sup .25s ease}
.device .sheet{padding-bottom:32px}
.sheet::before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:#D5DAE1;margin:0 auto 10px}
.sheet-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:16px}
@keyframes sup{from{transform:translateY(40px);opacity:.5}to{transform:none;opacity:1}}
@keyframes fin{from{opacity:0}to{opacity:1}}
.install-steps{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:12px}
.install-steps li{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.9}
.install-steps svg{vertical-align:middle;color:var(--blue)}
.num-c{width:28px;height:28px;border-radius:50%;background:var(--navy);color:var(--goldLt);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}

.banners{position:absolute;top:8px;left:8px;right:8px;z-index:70;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.device .banners{top:46px}
.banner{pointer-events:auto;display:flex;gap:10px;align-items:flex-start;background:rgba(246,247,249,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:18px;padding:11px 13px;box-shadow:0 10px 30px rgba(14,27,46,.22);border:1px solid rgba(255,255,255,.6);text-align:start;width:100%;font:inherit;color:var(--ink)}
.banner.anim{animation:bin .35s cubic-bezier(.2,.9,.3,1.2)}
@keyframes bin{from{transform:translateY(-30px);opacity:0}to{transform:none;opacity:1}}
.banner-ic{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}
.banner-ic.sms{background:#34C759}
.banner-ic.app{background:var(--navy);color:var(--gold)}
.banner-b{flex:1;min-width:0}
.banner-h{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted)}
.banner-h b{color:var(--ink);font-size:13px}
.banner-t{font-size:13px;line-height:1.7;margin-top:1px;overflow-wrap:anywhere}

/* ---------- admin panel ---------- */
.adm{flex:1;min-width:0;display:flex;position:relative;height:100%;color:var(--ink);font-size:14px;line-height:1.7}
.op-side{width:250px;flex-shrink:0;background:var(--navy);color:#C3CCD9;padding:18px 12px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}
.op-brand{display:flex;align-items:center;gap:10px;padding:2px 10px 16px;color:#fff;font-weight:800;font-size:18px}
.ltr-mark{direction:ltr;display:inline-flex;gap:7px;align-items:center}
.op-brand small{font-size:11px;font-weight:500;color:#9AA6B8;flex:1}
.drawer-x{display:none;color:#fff}
.op-nav{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 12px;border-radius:10px;font-size:13.5px;color:#C3CCD9;background:none;border:0;text-align:start;width:100%}
.op-nav span:not(.cnt){flex:1}
.op-nav.on{background:rgba(255,255,255,.09);color:#fff;font-weight:600}
.op-nav:hover{background:rgba(255,255,255,.05)}
.cnt{font-size:11px;font-weight:700;background:var(--orange);color:#fff;border-radius:9px;padding:0 7px;line-height:18px}
.cnt.soft{background:rgba(255,255,255,.12);color:#DCE2EA}
.op-navlabel{font-size:11px;color:#8794A8;padding:14px 12px 6px;font-weight:600}
.op-user{margin-top:auto;display:flex;align-items:center;gap:10px;padding:14px 10px 4px;border:0;border-top:1px solid rgba(255,255,255,.08);background:none;color:#C3CCD9;text-align:start;width:100%}
.op-user b{display:block;color:#fff;font-size:13px}
.op-user small{display:block;font-size:11.5px}
.a-body{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}
.a-top{display:flex;align-items:center;gap:10px;padding:10px 24px;background:#fff;border-bottom:1px solid var(--line);flex-shrink:0;min-height:60px}
.a-top-t{flex:1;font-weight:700;font-size:15px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-btn{display:none}
.who-chip{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:5px 10px 5px 6px;min-height:44px;text-align:start}
.who-t{font-size:12.5px;font-weight:600;line-height:1.35}
.who-t small{display:block;font-size:11px;color:var(--muted);font-weight:400}
.a-main{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:24px 28px 60px;display:flex;flex-direction:column;gap:18px;container-type:inline-size}
.a-main > *{flex-shrink:0}
.op-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.op-h1{font-size:22px;font-weight:700;margin:0;line-height:1.5}
.op-h2{font-size:17px;font-weight:700}
.op-sub{font-size:12.5px;color:var(--muted);margin:0}
.fw4{font-weight:400}
.op-crumb{font-size:12.5px;color:var(--muted)}
.op-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;min-width:0}
.op-card.flush{padding:0;overflow:hidden}
.op-card.soft{background:var(--bg2)}
.op-card.hi{box-shadow:0 0 0 2px var(--blue)}
.op-card-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.op-card-h.pad{padding:16px 20px 0}
.op-card-h h3{margin:0;font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.op-card-h .no,.no{width:26px;height:26px;border-radius:8px;background:var(--navy);color:var(--goldLt);font-size:12.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.lockno{background:#E8EBF0;color:var(--muted)}
.pad{padding:16px 20px}
.op-btn{min-height:40px;padding:0 14px;border-radius:10px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #D5DAE1;background:#fff;color:var(--ink);white-space:nowrap;line-height:1.3}
.op-btn.pri{background:var(--navy);color:#fff;border-color:var(--navy)}
.op-btn.dis,.op-btn:disabled{background:#E8EBF0;color:#677083;border-color:#E8EBF0}
.op-btn.sm{min-height:34px;padding:0 11px;font-size:12px;border-radius:8px}
.op-btn.wide{width:100%;min-height:46px;font-size:14px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.kpi .n{font-size:30px;font-weight:300;line-height:1.25}
.kpi .t{font-size:12.5px;color:var(--muted)}
.kpi-red{border-color:#F5C2BD}
.kpi-red .n,.kpi-red .t:first-child{color:var(--red)}
.filters{display:flex;gap:6px;flex-wrap:wrap}
.fchip{min-height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:#fff;font-size:12.5px;color:var(--ink3)}
.fchip.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.tbl-wrap{overflow-x:auto;max-width:100%}
.otbl{width:100%;border-collapse:collapse;font-size:13px;min-width:760px}
.otbl.compact{min-width:600px}
.otbl th{font-size:12px;color:var(--muted);font-weight:600;text-align:right;padding:11px 14px;background:#FAFBFC;border-bottom:1px solid var(--line);white-space:nowrap}
.otbl td{padding:11px 14px;border-bottom:1px solid var(--line2);vertical-align:middle}
.otbl.compact td{padding:8px 10px}
.otbl tr:last-child td{border-bottom:0}
.otbl .strong{font-weight:600}
.otbl .sub{font-size:12px;color:var(--muted)}
.otbl .center{text-align:center}
.otbl tr.grp td{background:#FAFBFC;font-size:12px;font-weight:700;color:var(--goldT)}
.row-late{background:#FFF8F7}
.nowrap{white-space:nowrap}
.clickrow{cursor:pointer}
.clickrow:hover{background:#FAFBFC}
.clickrow.sel{background:var(--blueBg)}
.perm-tbl{min-width:900px}
.perm-tbl .cbox{width:22px;height:22px}
.cols{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start}
.col-main{flex:2 1 520px;min-width:0;display:flex;flex-direction:column;gap:18px}
.col-side{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:18px}
.col-side.narrow{flex:1 1 260px;max-width:100%}
.drow{display:flex;align-items:center;gap:12px;padding:11px 0;font-size:13px;flex-wrap:wrap}
.drow + .drow{border-top:1px solid var(--line2)}
.drow .grow{min-width:160px}
.cl{display:flex;align-items:center;gap:12px;padding:10px 0;width:100%;background:none;border:0;text-align:start;font:inherit;color:inherit}
.cl + .cl{border-top:1px solid var(--line2)}
.cl b{display:block;font-size:13.5px}
.cl small{display:block;font-size:12px;color:var(--muted)}
.health{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;white-space:nowrap}
.health::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.otabs{display:flex;gap:2px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.otabs::-webkit-scrollbar{display:none}
.otabs button{padding:10px 12px;font-size:13.5px;color:var(--muted);font-weight:500;border:0;background:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.otabs button.on{color:var(--ink);font-weight:700;border-bottom-color:var(--gold)}
.tcnt{font-size:10.5px;font-weight:700;background:var(--orangeBg);color:var(--orangeT);border-radius:8px;padding:0 6px;line-height:17px}
.tcnt.red{background:var(--orange);color:#fff}
.ra{text-align:right!important}

.mx-grid{display:grid;grid-template-columns:170px repeat(12,minmax(0,1fr));min-width:960px;align-items:stretch}
.mx-ph{font-size:11.5px;font-weight:700;text-align:center;padding:5px 0;border-radius:8px;margin:0 2px 6px}
.mx-ph.d{background:var(--navy);color:#fff}
.mx-ph.n{background:var(--blueBg);color:var(--blueT)}
.mx-ph.u{background:#F1F3F6;color:var(--idle)}
.mx-head{font-size:11px;color:var(--muted);text-align:center;padding:4px 0 8px;border-bottom:1px solid var(--line);line-height:1.5}
.mx-head.cur{color:var(--ink);font-weight:700;background:#F5F8FE}
.mx-label{font-size:12.5px;font-weight:600;padding:8px 0 8px 10px;border-bottom:1px solid var(--line2);display:flex;flex-direction:column;justify-content:center;line-height:1.5}
.mx-label small{font-size:10.5px;font-weight:400;color:var(--muted)}
.mx{min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-bottom:1px solid var(--line2);font-size:10px;color:var(--muted);line-height:1.3;text-align:center;padding:2px}
.mx.cur{background:#F5F8FE}
.mx i{width:22px;height:22px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:700;font-size:12px}
.mx.d i{background:var(--navy);color:#fff}
.mx.n i{border:2px solid var(--blue);background:#fff}
.mx.n i::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--blue)}
.mx.u i{background:#EEF0F3}
.mx.l i{background:var(--red);color:#fff}
.mx.l{color:var(--red);font-weight:600}
.mx.e i{background:transparent;color:#B8BFCA}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:14px;height:14px;border-radius:4px;display:inline-block}
.lg-d{background:var(--navy)}.lg-n{border:2px solid var(--blue);background:#fff}.lg-u{background:#EEF0F3}.lg-l{background:var(--red)}

.ogrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.ogrid.one{grid-template-columns:1fr}
.ogrid.five{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.ofield{display:flex;flex-direction:column;gap:5px;min-width:0}
.ofield.span2{grid-column:1/-1}
.ofield label,.ofield .flabel{font-size:12.5px;font-weight:600;color:var(--ink3)}
.hint{font-size:11.5px;color:var(--muted)}
.oin{min-height:42px;border:1px solid #D5DAE1;border-radius:10px;background:#fff;padding:8px 12px;font-size:14px;color:var(--ink);width:100%;line-height:1.7;-webkit-appearance:none;appearance:none}
textarea.oin{resize:vertical;line-height:1.9}
select.oin{padding-left:32px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235A6475' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-position:left 11px center;background-size:11px 11px;background-repeat:no-repeat}
.oin.sm{min-height:34px;padding:4px 10px;font-size:13px;max-width:200px}
.oin:disabled{background:#F4F5F7;color:var(--muted)}
@media (max-width:899px){.oin,.input{font-size:16px}}
.perm-note{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink3);background:#EBEEF3;border-radius:10px;padding:8px 12px}
.perm-note.warn{background:var(--orangeBg);color:#7A3306;margin-bottom:10px}
.ck-row{display:flex;gap:10px;align-items:flex-start;padding:8px 0;font-size:13px;line-height:1.7}
.ck-row + .ck-row{border-top:1px solid #F0F2F5}
.ck-row.bad{color:var(--orangeT);font-weight:600}
.ck{width:20px;height:20px;border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:1px}
.ck.ok{background:var(--green);color:#fff}
.ck.no{border:2px solid var(--orange);background:#fff}
.ck.lock{background:var(--idleBg);color:var(--muted)}
.stage-pick{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.sp{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:11.5px;color:var(--muted);min-width:0}
.sp > svg,.sp::first-line{flex-shrink:0}
.sp span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.sp.d{background:var(--navy);color:#fff;border-color:var(--navy)}
.sp.n{border-color:var(--blue);color:var(--blueT);box-shadow:0 0 0 1px var(--blue);font-weight:700}
.subhead{font-size:12.5px;font-weight:700;color:var(--goldT);margin:18px 0 8px}
.delay-form{background:var(--bg2);border-radius:12px;padding:12px;margin-top:6px}
.inline-form{display:flex;align-items:center;gap:8px}
.inline-form.wrap{flex-wrap:wrap}
.inline-form .oin{flex:1;min-width:120px}
.tag{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border-radius:8px;background:#F1F3F6;font-size:12.5px;color:var(--ink2);border:1px solid transparent}
.tag.on{background:var(--navy);color:#fff}
.tag.muted{color:var(--muted)}
.tag.xs{min-height:20px;font-size:10.5px;padding:0 6px}
button.tag{cursor:pointer}
.resp{background:var(--blueBg);border-radius:12px;padding:10px 12px;margin-top:10px;font-size:13px;line-height:1.8}
.resp.soft{background:var(--bg2)}
.resp p{margin:4px 0 0}
.frows{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}
.frow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;gap:8px;align-items:center}
.frow.two{grid-template-columns:minmax(0,1fr) auto;margin-bottom:8px}
@media (max-width:560px){.frow{grid-template-columns:1fr 1fr}.frow .est-t,.frow .ibtn{justify-self:start}}
.est-t{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--goldT);font-weight:600;background:none;border:1px solid transparent;border-radius:8px;min-height:34px;padding:0 6px}
.est-t.on{background:var(--goldBg)}
.scope{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid #D5DAE1;border-radius:12px;font-size:13.5px;background:#fff;text-align:start;width:100%}
.scope .radio{width:20px;height:20px;border-radius:50%;border:2px solid #98A1B0;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:2px}
.scope.on{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}
.scope.on .radio{border-color:var(--navy)}
.scope.on .radio::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--navy)}
.scope b{display:block;font-weight:600}
.scope small{display:block;font-size:12px;color:var(--muted)}
.oseg{display:flex;gap:6px;flex-wrap:wrap}
.oseg button{min-height:36px;padding:0 13px;border-radius:9px;border:1px solid #D5DAE1;font-size:13px;background:#fff;color:var(--ink3)}
.oseg button.on{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:600}
.oseg.sm button{min-height:30px;padding:0 9px;font-size:12px}
.oinput-locked{background:#F4F5F7;color:var(--muted);border:1px dashed #C9CFD8;border-radius:10px;padding:12px;font-size:13px;line-height:1.9;display:flex;gap:8px;align-items:flex-start}
.weekpick{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.wk{flex-shrink:0;min-width:96px;padding:8px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;text-align:start;font-size:13px;font-weight:600}
.wk small{display:block;font-size:11px;font-weight:500;color:var(--muted)}
.wk.d small{color:var(--green)}.wk.n small{color:var(--blueT)}.wk.l small{color:var(--red)}
.wk.on{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}
.act-row{display:flex;align-items:center;gap:10px;padding:9px 0;font-size:13.5px;flex-wrap:wrap}
.act-row + .act-row{border-top:1px solid #F0F2F5}
.act-row.muted{color:var(--muted)}
.mlist{display:flex;flex-direction:column;gap:8px}
.mitem{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#fff;text-align:start;width:100%}
.mitem b{font-size:13.5px}
.mitem small{font-size:12px;color:var(--muted)}
.mitem.on{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}
.chatbox{display:flex;flex-direction:column;gap:12px}
.op-thread{display:flex;flex-direction:column;gap:10px;max-height:460px;overflow-y:auto;padding:4px}
.obub{max-width:80%;padding:10px 14px;border-radius:16px;font-size:13.5px;line-height:1.9;overflow-wrap:anywhere}
.obub small{display:block;font-size:11px;opacity:.75;margin-top:2px}
.obub.them{background:var(--bg);align-self:flex-start;border-top-right-radius:5px}
.obub.me{background:var(--navy);color:#fff;align-self:flex-end;border-top-left-radius:5px}
.op-composer{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line2);padding-top:12px}
.launch-row{border-top:1px solid var(--line2);padding-top:14px}

.mini-phone{width:280px;max-width:100%;margin:0 auto;border-radius:32px;border:8px solid var(--navy);background:var(--bg);overflow:hidden;font-size:12px}
.mp-head{padding:14px 12px 8px;text-align:center}
.mp-head b{display:block;font-size:13px}
.mp-head span{font-size:10.5px;color:var(--muted)}
.mp-body{padding:12px;display:flex;flex-direction:column;gap:8px}
.mp-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.mp-title{font-weight:700;font-size:13px;line-height:1.6;margin-top:6px}
.mp-sub{font-size:10.5px;color:var(--muted);margin-top:2px}
.mp-kv{display:flex;justify-content:space-between;gap:8px;padding:5px 0;font-size:11px}
.mp-kv + .mp-kv{border-top:1px solid var(--line2)}
.mp-kv span{color:var(--muted)}
.mp-kv .est{font-size:9.5px}
.mp-note{background:#EBEEF3;border-radius:10px;padding:8px 10px;font-size:10.5px;line-height:1.8}
.mp-btn{background:var(--navy);color:#fff;border-radius:10px;text-align:center;padding:9px;font-size:12px;font-weight:600}
.mp-text{font-size:11px;line-height:1.9}
.mp-li{font-size:11px;padding:0 4px}
.mp-missing{border-style:dashed;border-color:var(--orange);color:var(--orangeT);font-size:10.5px}

.a-modal-bg{position:absolute;inset:0;background:rgba(14,27,46,.4);z-index:80}
.a-modal-bg.anim{animation:fin .15s}
.a-modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(460px,calc(100% - 24px));max-height:calc(100% - 40px);overflow-y:auto;background:#fff;border-radius:18px;padding:18px 20px 20px;z-index:81;box-shadow:0 20px 60px rgba(14,27,46,.3)}
.m-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;font-size:16px}
.drawer-bg{display:none}

@media (max-width:899px){
  .op-side{position:absolute;top:0;bottom:0;right:0;z-index:90;transform:translateX(105%);visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s;width:min(280px,86%);box-shadow:-10px 0 30px rgba(0,0,0,.2)}
  .op-side.open{transform:none;visibility:visible;transition:transform .25s ease}
  .drawer-x{display:inline-flex;margin-right:auto}
  .drawer-bg{display:block;position:absolute;inset:0;background:rgba(14,27,46,.4);z-index:85}
  .menu-btn{display:inline-flex}
  .a-top{padding:8px 12px;gap:6px}
  .a-main{padding:16px 14px 60px;gap:14px}
  .who-t{display:none}
  .op-h1{font-size:19px}
  .op-card{padding:14px}
  .op-card-h.pad{padding:14px 14px 0}
  .pad{padding:14px}
  .stage-pick{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kpi .n{font-size:26px}
}

/* responsive admin lists */
.pc-h{display:flex;align-items:center;justify-content:space-between;gap:6px 8px;flex-wrap:wrap}
.qlist{display:flex;flex-direction:column}
.qrow{display:grid;grid-template-columns:118px minmax(0,1.4fr) minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 20px;border-top:1px solid var(--line2)}
.qrow.late{background:#FFF8F7}
.q-title{font-size:13.5px;line-height:1.6}
.q-due b{font-size:13px;font-weight:600}
@container (max-width:640px){
  .qrow{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:12px 14px}
  .q-st{grid-column:1/-1;grid-row:1}
  .q-main{grid-column:1;grid-row:2}
  .q-due{grid-column:1;grid-row:3}
  .q-act{grid-column:2;grid-row:2/4;align-self:center}
}
.rule-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
@container (max-width:360px){.rule-grid{grid-template-columns:1fr}}
.rule b{font-size:14px}
.rule-tg{display:flex;gap:12px;flex-shrink:0}
.rt{display:flex;flex-direction:column;align-items:center;gap:3px}
.rt small{font-size:11px;color:var(--muted)}
.rule-prev{display:flex;gap:8px;align-items:flex-start;margin-top:10px;background:var(--bg2);border-radius:10px;padding:8px 10px;font-size:12.5px;color:var(--ink3);line-height:1.8}
.rule-prev svg{flex-shrink:0;margin-top:3px;color:#34A853}
.subtitle{font-size:15px;font-weight:700;margin-top:4px}
.user-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
@container (max-width:340px){.user-grid{grid-template-columns:1fr}}
.user b{font-size:14px}
.user.off{opacity:.6}
.user select.oin{flex:1}
@media (max-width:899px){.otbl td,.otbl th{white-space:nowrap}.otbl td.wc{white-space:normal;min-width:220px}}
bdi{white-space:nowrap}
.otbl{min-width:640px}

/* ============================================================
   v1.0 additions: live pages, team coordination, uploads, print
   ============================================================ */
.c-gold2{background:var(--goldBg);color:var(--goldT)}
.red-t{color:var(--red)}
.lh2{line-height:2}

/* live client page: full screen on phones, a centred column on larger screens */
.app-client{height:100%;display:flex;justify-content:center;background:#E9ECF1;direction:rtl}
.app-client > .capp{max-width:560px;box-shadow:0 0 0 1px #DCE1E8,0 20px 50px rgba(14,27,46,.08)}
@media (max-width:600px){.app-client{background:var(--bg)}.app-client > .capp{box-shadow:none}}
.app-admin{height:100%;display:flex;direction:rtl;background:var(--bg)}
body.booting #client-root,body.booting #admin-root{opacity:0}
body.busy::after{content:"";position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;height:3px;z-index:300;background:linear-gradient(90deg,transparent,var(--gold),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:busy 1s linear infinite}
@keyframes busy{from{background-position:-40% 0}to{background-position:140% 0}}
.toast.tap{pointer-events:auto;border:0;font:inherit;font-size:13px;cursor:pointer}

/* team login */
.alogin{flex:1;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--navy);min-height:100%}
.alogin-card{width:min(400px,100%);background:#fff;border-radius:20px;padding:24px 22px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.op-brand.dark{color:var(--ink);padding:0 0 18px;font-size:20px}
.op-brand.dark small{color:var(--muted);font-size:12px}
.oin.otp-in{letter-spacing:10px;text-align:center;direction:ltr;font-size:20px}
.ltr-in{direction:ltr;text-align:left}
.ltr-in::placeholder{text-align:left}

/* top bar counters */
.badge-n{position:absolute;top:4px;left:4px;min-width:18px;height:18px;border-radius:9px;background:var(--orange);color:#fff;font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid #fff;line-height:1}
.otabs button.tint{color:var(--goldT)}
.otabs button.tint.on{border-bottom-color:var(--goldT)}
.otabs button svg{flex-shrink:0}
.op-btn.danger{color:var(--red);border-color:#F2C7C2}
.op-btn.sm.dis{pointer-events:none}

/* modals */
.a-modal{max-height:calc(100% - 32px)}
.a-modal.lg{width:min(720px,calc(100% - 24px))}
.a-modal.pv{width:auto;max-width:calc(100% - 24px);padding:14px 16px 16px}
.pv-wrap{display:flex;justify-content:center}
.pv-wrap .device{width:360px;max-width:calc(100vw - 72px);height:min(720px,calc(100vh - 170px));border-radius:42px;border-width:9px}
.pv-wrap .device::before{width:90px;height:24px;top:7px}
.pv-wrap .device .capp{padding-top:34px}
.m-body{display:flex;flex-direction:column}
@media (max-width:640px){
  .a-modal{top:auto;bottom:0;left:0;transform:none;width:100%;max-height:calc(100% - 24px);border-radius:20px 20px 0 0;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}
  .a-modal.lg{width:100%}
  .a-modal.pv{width:100%;max-width:100%;border-radius:0;max-height:100%;height:100%;top:0;padding:10px 0 0}
  .a-modal.pv .m-h{padding:0 14px}
  .pv-wrap .device{width:100%;max-width:100%;height:calc(100vh - 110px);border:0;border-radius:0;box-shadow:none}
  .pv-wrap .device::before{display:none}
  .pv-wrap .device .capp{padding-top:0}
}

/* inbox */
.inrow{padding:12px 4px;border-radius:10px;cursor:pointer;text-align:start;font:inherit;color:inherit}
.inrow:hover{background:#FAFBFC}
.unread-row .strong{font-weight:700}
.avatar.crit{background:var(--red);color:#fff}
.avatar.xxs{width:24px;height:24px;font-size:9.5px}

/* file inputs */
.file-in{padding:5px 8px;font-size:12.5px;max-width:240px}
.file-in::file-selector-button{font:inherit;font-size:12px;border:1px solid #D5DAE1;background:#F4F5F7;border-radius:7px;padding:3px 9px;margin-left:8px;cursor:pointer}
.tag-grp{display:inline-flex;gap:2px;align-items:center}
.tag.ic-only{padding:0 7px;cursor:pointer}
.tag.ic-lbl{cursor:pointer;color:var(--blueT);background:var(--blueBg)}
.tag-x{border:0;background:none;color:inherit;display:inline-flex;padding:0 0 0 2px;cursor:pointer;opacity:.7}

/* ---------- tasks board ---------- */
.kpis-5{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.kpis-5 .kpi{padding:12px 14px}
.kpis-5 .kpi .n{font-size:24px}
.tfilters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.tf-sel{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tf-sel .oin{width:auto;min-width:130px;max-width:220px}
.kb-tabs{display:none}
.kb-board{display:grid;grid-template-columns:repeat(5,minmax(196px,1fr));gap:12px;overflow-x:auto;padding-bottom:6px;align-items:start}
.kb-col{background:#EEF0F4;border-radius:16px;padding:10px;min-width:0;display:flex;flex-direction:column;gap:8px;border:2px solid transparent;transition:border-color .12s,background .12s}
.kb-col.over{border-color:var(--blue);background:var(--blueBg)}
.kb-col-h{display:flex;align-items:center;gap:8px;padding:2px 4px 4px;font-size:13px}
.kb-col-h b{flex:1}
.kb-col-h .ibtn{width:30px;height:30px}
.kb-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.kb-dot.c-idle{background:#9AA3B2}.kb-dot.c-prog{background:var(--blue)}.kb-dot.c-gold2{background:var(--gold)}.kb-dot.c-risk{background:var(--red)}.kb-dot.c-done{background:var(--green)}
.kb-col-body{display:flex;flex-direction:column;gap:8px;min-height:60px}
.kb-empty{font-size:12px;color:var(--faint);text-align:center;padding:16px 6px;border:1px dashed #D3D8E0;border-radius:12px}
.kb-more{align-self:center;font-size:12px}
.tcard{display:flex;flex-direction:column;gap:6px;width:100%;text-align:start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font:inherit;color:inherit;cursor:pointer;box-shadow:0 1px 2px rgba(14,27,46,.04);border-inline-start:3px solid transparent}
.tcard:hover{border-color:#C9D0DA}
.tcard.pr-high{border-inline-start-color:var(--orange)}
.tcard.pr-urgent{border-inline-start-color:var(--red)}
.tcard.od{background:#FFFBFA}
.tcard.dragging{opacity:.45}
.tc-top{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.tc-id{font-size:10.5px;color:var(--faint);font-weight:700;margin-inline-end:auto;direction:ltr}
.tc-title{font-size:13.5px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}
.tc-block{display:flex;gap:6px;align-items:flex-start;font-size:12px;color:var(--red);background:var(--redBg);border-radius:8px;padding:5px 8px;line-height:1.6}
.tc-block svg{flex-shrink:0;margin-top:3px}
.tc-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--muted)}
.tc-meta > span{display:inline-flex;align-items:center;gap:3px}
.tc-meta .avatar{margin-inline-start:auto}
.tc-client{background:#F1F3F6;border-radius:6px;padding:0 7px;color:var(--ink3);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block!important}
.tc-client.soft{color:var(--faint)}
.tc-due.late{color:var(--red);font-weight:700}
.tcard.compact{box-shadow:none}
.tlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}
@container (max-width:700px){
  .kb-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .kb-tabs::-webkit-scrollbar{display:none}
  .kb-tabs button{white-space:nowrap;flex-shrink:0}
  .kb-board{display:block;overflow:visible}
  .kb-board .kb-col{display:none;background:transparent;padding:0}
  .kb-board .kb-col-h{display:none}
  .kb-board[data-col="backlog"] .kb-col[data-k="backlog"],.kb-board[data-col="week"] .kb-col[data-k="week"],.kb-board[data-col="doing"] .kb-col[data-k="doing"],.kb-board[data-col="blocked"] .kb-col[data-k="blocked"],.kb-board[data-col="done"] .kb-col[data-k="done"]{display:flex}
  .tf-sel{width:100%}
  .tf-sel .oin{flex:1 1 130px;max-width:none}
}

/* task details */
.t-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;background:#EEF0F4;border-radius:12px;padding:4px}
.t-step{border:0;background:transparent;border-radius:9px;min-height:38px;font-size:12px;font-weight:600;color:var(--muted);padding:0 4px;line-height:1.3}
.t-step.on{box-shadow:0 1px 3px rgba(14,27,46,.12)}
.t-step.on.c-idle{background:#fff;color:var(--ink)}
.t-step:disabled{cursor:default}
@media (max-width:480px){.t-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
.t-thread{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto;margin-bottom:6px}
.t-cm{display:flex;gap:10px;align-items:flex-start}
.t-cm-t{font-size:13.5px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg2);border-radius:4px 12px 12px 12px;padding:7px 11px;margin-top:2px}
.t-cm.mine .t-cm-t{background:var(--blueBg)}
.t-hist{display:flex;flex-direction:column;gap:3px}
.radio-chip{position:relative;display:inline-flex}
.radio-chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.radio-chip span{min-height:36px;padding:0 13px;border-radius:9px;border:1px solid #D5DAE1;font-size:13px;background:#fff;color:var(--ink3);display:inline-flex;align-items:center}
.radio-chip input:checked + span{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:600}
.radio-chip input:focus-visible + span{outline:2px solid var(--blue);outline-offset:2px}

/* ---------- team notes ---------- */
.ngrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;align-items:start}
.ngrid.one{grid-template-columns:1fr}
.ncard{background:#FFFDF7;border:1px solid #EFE6D2;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-width:0}
.ncard.pinned{border-color:var(--gold);box-shadow:0 0 0 1px rgba(194,160,106,.35)}
.nc-h{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.nc-h b{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.nc-h .ibtn{width:30px;height:30px;color:var(--faint)}
.nc-h .ibtn.on{color:var(--goldT)}
.nc-body{font-size:13px;line-height:1.95;color:var(--ink2);white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:9;-webkit-box-orient:vertical;overflow:hidden}
.nc-f{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid #F1EADB;padding-top:8px}
.empty-a{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:24px 10px;color:var(--muted)}
.empty-a b{color:var(--ink);font-size:14px}

/* client wallet */
.amt-col{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}
.paylink{font-size:11.5px;font-weight:700;color:var(--blueT)}

/* print: report and minutes pages become clean A4 */
@media print{
  @page{size:A4;margin:14mm}
  html,body{height:auto!important;overflow:visible!important;background:#fff!important}
  body::before,.demobar,.admin-wrap,.phone-cap,.tabbar,.c-hdr .ibtn,.banners,.toasts,.sheet,.sheet-bg,.no-print,.actionbar{display:none!important}
  #app,.stage,.phone-wrap,.device,.capp,.app-client{display:block!important;height:auto!important;overflow:visible!important;border:0!important;box-shadow:none!important;background:#fff!important;padding:0!important;width:auto!important;max-width:none!important}
  .c-scroll{overflow:visible!important;height:auto!important;padding:0!important}
  .card,.navy{break-inside:avoid;box-shadow:none!important;border:1px solid #DDD!important}
  .navy{background:#fff!important;color:#000!important}
}
.a-modal.anim{animation:fin .15s}
@container (max-width:520px){.kpis-5{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.kpis-5 .kpi{padding:9px 10px}.kpis-5 .kpi .n{font-size:20px}.kpis-5 .kpi .t{font-size:11px}}

/* installed app on iPhone: status bar strip on top, home indicator at the bottom */
@supports (height:100dvh){.app-client,.app-admin{height:100dvh}}
.app-client,.app-admin{padding-top:env(safe-area-inset-top,0px)}
.app-client .tabbar{padding-bottom:max(14px,env(safe-area-inset-bottom,0px))}
.app-client .actionbar{padding-bottom:max(18px,calc(10px + env(safe-area-inset-bottom,0px)))}
.app-client .actionbar.over-tab{padding-bottom:12px}
.app-client .composer{padding-bottom:max(14px,calc(8px + env(safe-area-inset-bottom,0px)))}
.app-client .sheet{padding-bottom:max(24px,calc(16px + env(safe-area-inset-bottom,0px)))}
.app-client .login-sheet{padding-bottom:max(26px,calc(16px + env(safe-area-inset-bottom,0px)))}
.app-client .banners{top:8px}
.app-admin .a-main{padding-bottom:max(60px,calc(24px + env(safe-area-inset-bottom,0px)))}
