/* =========================================================================
   Product mocks — authored at 1280x880 (real UI scale), scaled by --k.
   Every dimension is the size it would be in the actual product.
   ========================================================================= */
.mkwrap{position:relative; width:100%; overflow:hidden; aspect-ratio:1280/880;}
.mk{
  text-align:left; width:1280px; height:880px; transform-origin:top left; transform:scale(var(--k,1));
  position:absolute; top:0; left:0; font-family:var(--sans); background:#fff; color:#0A0A0A;
  -webkit-font-smoothing:antialiased;
}

/* ======================== chrome A — product browser ======================== */
.bzp{position:absolute; inset:0; background:#F4F6F8; padding:18px; display:flex; flex-direction:column;}
.bzp__win{flex:1; display:flex; flex-direction:column; background:#fff; border:2px solid #9CC6F5;
  border-radius:18px; overflow:hidden;}
.bzp__bar{height:70px; display:flex; align-items:center; gap:16px; padding:0 22px; border-bottom:2px solid #DCEAFB;}
.bzp__dots{display:flex; gap:9px;}
.bzp__dots i{width:15px; height:15px; border-radius:50%; border:1.6px solid #A9C8EA; display:block;}
.bzp__url{flex:1; max-width:640px; margin:0 auto; height:38px; border:1.6px solid #7FB6F2; border-radius:20px;
  display:flex; align-items:center; gap:11px; padding:0 18px; font-size:15px; color:#2B3138;}
.bzp__url i{width:8px; height:8px; border-radius:50%; background:#2B8FFF; display:block;}
.bzp__url em{margin-left:auto; font-style:normal; color:#2B8FFF; font-size:14px;}
.bzp__ghost{width:78px; height:24px; border:1.6px solid #9CC6F5; border-radius:14px;}
.bzp__body{flex:1; position:relative; overflow:hidden;}

/* ======================== chrome B — desktop browser ======================== */
.bz{position:absolute; inset:0; display:flex; flex-direction:column; background:#fff;}
.bz__tabs{height:46px; background:#DEE1E6; display:flex; align-items:flex-end; padding:0 14px; gap:8px;}
.bz__dots{display:flex; gap:8px; align-items:center; height:46px; padding-right:8px;}
.bz__dots i{width:12px; height:12px; border-radius:50%; background:#BFC3C9;}
.bz__tab{height:34px; background:#fff; border-radius:10px 10px 0 0; padding:0 18px; display:flex; align-items:center;
  gap:9px; font-size:14px; color:#3C4043; max-width:330px;}
.bz__tab b{width:15px; height:15px; border-radius:3px; background:#6A2C8F; display:block;}
.bz__url{height:44px; background:#fff; display:flex; align-items:center; gap:14px; padding:0 18px; border-bottom:1px solid #E4E6E9;}
.bz__nav{display:flex; gap:12px; color:#9AA0A6; font-size:15px;}
.bz__pill{flex:1; height:28px; background:#F1F3F4; border-radius:14px; display:flex; align-items:center;
  padding:0 16px; font-size:13.5px; color:#5F6368;}
.bz__body{flex:1; position:relative; overflow:hidden;}

/* =============================== 01 STOREFRONT =============================== */
.sfx{position:absolute; inset:0; background:#fff; display:flex; flex-direction:column;}
.sfx__hero{
  margin:24px 26px 0; border-radius:18px; padding:26px 34px 28px; position:relative; overflow:hidden;
  background:linear-gradient(128deg,#F7C978 0%,#F0A055 46%,#E9873F 100%);
  min-height:300px; display:flex; flex-direction:column;
}
.sfx__top{display:flex; align-items:center; justify-content:space-between;}
.sfx__logo{display:flex; align-items:center; gap:12px; font-size:27px; font-weight:600; letter-spacing:-.02em; color:#12100E;}
.sfx__logo em{width:26px; height:26px; display:block; position:relative;}
.sfx__logo em::before,.sfx__logo em::after{content:""; position:absolute; inset:0;
  background:conic-gradient(from 0deg,#12100E 0 6%,transparent 6% 25%,#12100E 25% 31%,transparent 31% 50%,
  #12100E 50% 56%,transparent 56% 75%,#12100E 75% 81%,transparent 81% 100%);
  -webkit-mask:radial-gradient(circle 13px at 50% 50%,#000 99%,transparent 100%); mask:radial-gradient(circle 13px at 50% 50%,#000 99%,transparent 100%);}
.sfx__logo em::after{transform:rotate(45deg);}
.sfx__tools{display:flex; align-items:center; gap:16px;}
.sfx__ins{display:flex; align-items:center; gap:12px; border:1.6px solid rgba(18,16,14,.35); border-radius:26px;
  padding:7px 20px 7px 8px; font-size:16px; color:#12100E; transition:all .45s ease;}
.sfx__ins i{width:30px; height:30px; border-radius:50%; background:#12100E; display:block; flex:none;}
.sfx__ins.is-on{border-color:#12100E; background:rgba(255,255,255,.42);}
.sfx__search{width:26px; height:26px; border:2px solid #12100E; border-radius:50%; position:relative;}
.sfx__search::after{content:""; position:absolute; right:-6px; bottom:-4px; width:10px; height:2px; background:#12100E; transform:rotate(45deg);}
.sfx__h{margin:24px 0 0; font-size:48px; font-weight:600; line-height:1.06; letter-spacing:-.035em; color:#12100E; max-width:16ch;}
.sfx__sub{margin:13px 0 0; font-size:18px; color:#221D18;}
.sfx__cta{margin-top:16px; align-self:flex-start; background:#0C0C0C; color:#fff; font-size:15.5px;
  padding:12px 26px; border-radius:28px;}
.sfx__cursor{position:absolute; right:96px; bottom:52px; width:26px; height:34px;
  clip-path:polygon(0 0,0 100%,26% 76%,44% 100%,62% 88%,44% 64%,74% 62%);
  background:#12100E; filter:drop-shadow(0 2px 3px rgba(0,0,0,.25)); animation:sfxcur 5s ease-in-out infinite;}
@keyframes sfxcur{0%,100%{transform:translate(0,0)}45%{transform:translate(-330px,-140px)}55%{transform:translate(-330px,-140px)}}

.sfx__row{display:flex; align-items:center; justify-content:space-between; padding:24px 32px 12px;}
.sfx__row h4{margin:0; font-size:23px; font-weight:600; letter-spacing:-.02em;}
.sfx__arrows{display:flex; gap:12px;}
.sfx__arrows span{width:36px; height:36px; border-radius:50%; background:#F1F3F5; display:flex;
  align-items:center; justify-content:center; font-size:15px; color:#4A5058;}
.sfx__grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding:0 32px;}
.sfc{border:1px solid #ECEEF1; border-radius:14px; overflow:hidden; background:#fff; transition:border-color .35s ease;
  box-shadow:0 2px 10px rgba(20,30,50,.05);}
.sfc__img{height:138px; background:#E7ECF2 center/cover no-repeat;}
.sfc__b{padding:13px 15px 15px;}
.sfc__t{font-size:16px; font-weight:600; line-height:1.25; letter-spacing:-.01em; height:40px; overflow:hidden;}
.sfc__p{margin-top:10px; display:flex; align-items:baseline; gap:10px;}
.sfc__old{font-size:14px; color:#98A0AA; text-decoration:line-through; opacity:0; transition:opacity .3s ease;}
.sfc__old.is-on{opacity:1;}
.sfc__now{font-size:22px; font-weight:600; letter-spacing:-.025em; color:#0A0A0A; transition:color .4s ease;}
.sfc.is-ins .sfc__now{color:#1877E0;}
.sfx__foot{margin-top:auto; padding:15px 32px 17px; display:flex; align-items:center; gap:10px;
  font-size:14px; color:#98A0AA; border-top:1px solid #F0F2F4;}

/* =============================== 02 SKYLIGHT =============================== */
.sky{position:absolute; inset:0; background:#fff; display:flex; flex-direction:column;
  transition:transform 1.35s cubic-bezier(.45,0,.2,1); will-change:transform;}

.sky__bar{height:38px; background:#5F2A80; color:#fff; display:flex; align-items:center; gap:24px; padding:0 16px; font-size:13px;}
.sky__bar b{font-weight:600; font-size:15px; letter-spacing:-.01em;}
.sky__bar b i{font-style:normal; font-weight:400; opacity:.8;}
.sky__bar span{opacity:.9;}
.sky__bar u{margin-left:auto; text-decoration:none; background:#fff; color:#5F2A80; font-size:11px;
  border-radius:2px; padding:3px 10px; opacity:.9;}
.sky__bar em{font-style:normal; opacity:.85; font-size:12px;}
.sky__mid{flex:1; display:flex; min-height:0;}

.sky__side{width:236px; border-right:1px solid #E2DCE8; display:flex; flex-direction:column;}
.sky__sideh{height:34px; background:#5F2A80; color:#fff; display:flex; align-items:center; justify-content:space-between;
  padding:0 14px; font-size:14px; font-weight:600;}
.sky__sideh i{font-style:normal; width:18px; height:18px; border:1.4px solid rgba(255,255,255,.8); border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:12px;}
.sky__si{display:flex; align-items:center; justify-content:space-between; padding:0 14px; height:34px;
  border-bottom:1px solid #EEEAF2; font-size:13px; color:#2A2A34;}
.sky__si.mute{color:#A9A9B4;}
.sky__si b{font-weight:400; color:#6A6A76;}

.sky__main{flex:1; display:flex; flex-direction:column; min-width:0; position:relative;}
.sky__sub{height:34px; background:#5F2A80; color:#fff; display:flex; align-items:center; justify-content:space-between;
  padding:0 16px; font-size:14px; font-weight:600;}
.sky__sub i{font-style:normal; width:18px; height:18px; border:1.4px solid rgba(255,255,255,.8); border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:12px;}
.sky__view{height:32px; display:flex; align-items:center; gap:20px; padding:0 16px; font-size:12.5px; color:#4A4A55;}
.sky__view b{color:#1A1A22; font-weight:600;}
.sky__days{height:34px; display:flex; align-items:center; font-size:11.5px; color:#7A7A85; letter-spacing:.05em;
  border-bottom:1px solid #E6E1EA;}
.sky__days span{flex:1; text-align:center;}
.sky__days span.is-now{color:#5F2A80; font-weight:600; height:34px; line-height:34px; box-shadow:inset 0 -2px 0 #5F2A80;}
.sky__grp{background:#EFEBF3; color:#5B2A7A; font-weight:600; font-size:12px; padding:5px 16px; letter-spacing:.06em;}
.sky__prov{background:#F6F3F8; color:#6A2C8F; font-size:11.5px; padding:5px 16px; font-weight:600;}
.skr{display:grid; grid-template-columns:74px 30px 1fr 178px 92px 84px; align-items:center; gap:12px;
  padding:0 16px; height:40px; border-bottom:1px solid #F2F2F5; font-size:12px; color:#3C3C46;}
.skr__t{color:#4A4A55; text-align:right; font-size:12px; line-height:1.15;}
.skr__t i{display:block; font-size:10px; color:#9A9AA6; font-style:normal;}
.skr__av{width:30px; height:30px; background:#DCDCE3; color:#6B6B78; display:flex; align-items:center;
  justify-content:center; font-size:11px; font-weight:600;}
.skr__n{display:flex; align-items:center; gap:8px;}
.skr__n div{min-width:0;}
.skr__n b{font-weight:600; color:#1A1A22; font-size:12.5px; display:block; line-height:1.2;}
.ssbadge{width:22px; height:22px; border-radius:50%; flex:none; display:block; opacity:0; transform:scale(.5);
  background-size:cover; background-position:center; background-repeat:no-repeat;
  transition:opacity .3s ease, transform .38s cubic-bezier(.16,1,.3,1);}
.ssbadge.is-on{opacity:1; transform:none;}
.skr.is-focus{background:#F7F4FA; box-shadow:inset 3px 0 0 #6A2C8F;}
.skr{transition:background .3s ease, box-shadow .3s ease;}
.skr__n i{font-style:normal; color:#8A8A96; font-size:11px;}
.skr__v b{display:block; font-size:11.5px; color:#2A2A34; line-height:1.2;}
.skr__v i{font-style:normal; font-size:11px; color:#8A8A96;}
.skr__s{display:flex; align-items:center; gap:7px; color:#6A6A76; font-size:11px;}
.skr__s u{width:7px; height:7px; border-radius:50%; background:#5FAE4A; display:block; text-decoration:none; flex:none;}
.skr__s.sched u{background:#B9B9C2;} .skr__s.room u{background:#8E5BD0;} .skr__s.done u{background:#8A8A96;}
.chipx{border:1.4px solid #1877E0; color:#1465C0; font-weight:600; font-size:12px; padding:3px 9px;
  border-radius:4px; background:#F2F8FF; opacity:0; transform:translateX(10px);
  transition:opacity .32s ease, transform .42s cubic-bezier(.16,1,.3,1);}
.chipx.is-on{opacity:1; transform:none;}
.sky__bot{height:26px; background:#EDEDF0; border-top:1px solid #DEDEE4; display:flex; align-items:center;
  justify-content:flex-end; gap:10px; padding:0 14px; font-size:11px; color:#5A5A66;}
.sky__bot u{text-decoration:none; border:1px solid #CFCFD6; background:#fff; border-radius:2px; padding:1px 26px 1px 8px;}
.sky__bot i{font-style:normal; border:1px solid #E0A0A0; background:#FFF3F3; color:#B04A4A; border-radius:2px; padding:1px 7px;}

.l2pop{position:absolute; left:330px; top:96px; width:432px; background:#fff; z-index:5;
  box-shadow:0 14px 44px rgba(20,20,45,.22); border:1px solid #E7E7EC;
  opacity:0; transform:translateY(10px); transition:opacity .35s ease, transform .45s cubic-bezier(.16,1,.3,1);}
.l2pop.is-on{opacity:1; transform:none;}
.l2pop__hd{padding:14px 16px 13px; border-bottom:1px solid #EFEFF3;}
.l2pop__hd b{font-size:17px; font-weight:600; letter-spacing:-.01em; display:block;}
.l2pop__hd u{float:right; text-decoration:none; color:#A9A9B4; font-size:14px; margin-left:10px;}
.l2pop__pay{margin-top:6px; font-size:12.5px; color:#2A2A34;}
.l2pop__pay span{color:#8A8A96; margin-left:8px;}
.l2pop__meta{margin-top:3px; font-size:12px; color:#8A8A96;}
.l2pop__sec{padding:12px 16px 0; font-size:13px; font-weight:600;}
.l2pop__blk{margin:8px 16px 0; background:#F2F8FE; border-left:3px solid #1877E0; padding:11px 13px;}
.l2pop__line{display:flex; align-items:baseline; justify-content:space-between; gap:12px;}
.l2pop__line b{font-size:13px; font-weight:600;}
.l2pop__line em{font-style:normal; font-size:14px; font-weight:600;}
.l2pop__cpt{margin-top:4px; font-family:var(--mono); font-size:10.5px; color:#8A8A96;}
.l2pop__cpt i{font-style:normal; background:#DCEBFB; color:#1465C0; padding:2px 6px; margin-left:8px; border-radius:2px;}
.l2pop__alt{margin-top:10px; padding-top:9px; border-top:1px solid #DCE8F5;}
.l2pop__altlab{font-family:var(--mono); font-size:9.5px; letter-spacing:.06em; color:#98A0AC; text-transform:uppercase;}
.l2pop__row{display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-top:7px; font-size:12.5px;}
.l2pop__row b{font-weight:400;}
.l2pop__row em{font-style:normal; font-weight:600;}
.l2pop__sub{margin-top:2px; font-family:var(--mono); font-size:10px; color:#98A0AC;}
.l2pop__sub i{font-style:normal; color:#1877E0; margin-left:7px;}
.l2pop__add{margin:8px 16px 0; border-left:3px solid #1877E0; padding:10px 13px; border-top:1px solid #F0F0F4;}
.l2pop__add + .l2pop__add{margin-top:0;}
.l2pop__ft{display:flex; align-items:center; justify-content:space-between; padding:13px 16px 14px; margin-top:12px; border-top:1px solid #EFEFF3;}
.l2pop__ft span{border:1px solid #1877E0; color:#1465C0; font-size:11.5px; padding:5px 12px; border-radius:14px;}
.l2pop__ft div{font-family:var(--mono); font-size:10.5px; letter-spacing:.05em; color:#8A8A96; text-transform:uppercase;}
.l2pop__ft b{font-size:19px; font-weight:600; letter-spacing:-.02em; margin-left:10px; color:#12161D;}

.sky__pill{position:absolute; right:18px; bottom:38px; display:flex; align-items:center; gap:10px; background:#fff;
  border-radius:30px; padding:8px 20px 8px 9px; font-size:15px; font-weight:600; z-index:3;
  box-shadow:0 5px 22px rgba(20,20,40,.18); transition:opacity .35s ease, transform .35s ease;}
.sky__pill em{width:30px; height:30px; border-radius:50%; background:linear-gradient(135deg,#6A2C8F,#1877E0); display:block;}
.sky__pill.is-off{opacity:0; transform:translateY(8px);}

.sky__panel{position:absolute; right:18px; bottom:34px; width:300px; background:#fff; border-radius:12px; z-index:4;
  box-shadow:0 18px 44px rgba(20,20,45,.22); overflow:hidden; opacity:0; transform:translateY(16px) scale(.98);
  transform-origin:100% 100%; transition:all .5s cubic-bezier(.16,1,.3,1);}
.sky__panel.is-on{opacity:1; transform:none;}
.sky__ph{display:flex; align-items:center; gap:9px; padding:10px 14px; border-bottom:1px solid #EFEFF3;}
.sky__ph em{width:22px; height:22px; border-radius:50%; background:linear-gradient(135deg,#6A2C8F,#1877E0); display:block;}
.sky__ph b{font-size:14.5px; font-weight:600;}
.sky__ph u{margin-left:auto; text-decoration:none; color:#A9A9B4; font-size:15px;}
.sky__pb{padding:12px 14px 4px;}
.sky__plab{font-family:var(--mono); font-size:10.5px; letter-spacing:.06em; color:#98A0AC; text-transform:uppercase;}
.sky__pname{margin-top:6px; font-size:15px; font-weight:600;}
.sky__pmeta{margin-top:3px; font-size:12px; color:#7A8290;}
.sky__pamt{margin-top:9px; font-size:32px; font-weight:600; letter-spacing:-.035em; line-height:1;}
.sky__prow{display:flex; justify-content:space-between; padding:6px 0; border-top:1px dashed #E9EBEF; font-size:11.5px; color:#5A6270; margin-top:10px;}
.sky__prow+.sky__prow{margin-top:0;}
.sky__prow b{font-weight:600; color:#2A2F38;}
.sky__pacts{display:flex; gap:7px; padding:10px 14px 11px;}
.sky__pacts span{flex:1; text-align:center; font-size:12px; padding:9px 0; border-radius:6px;}
.sky__pacts span:first-child{background:#0A0A0A; color:#fff;}
.sky__pacts span{transition:box-shadow .3s ease;}
.sky__pacts span:last-child{border:1px solid #DDE1E6; color:#2A2F38;}
.sky__pfoot{padding:0 14px 11px; font-size:10px; color:#A9B0BA;}

/* =============================== 03 API =============================== */
.apix{position:absolute; inset:0; background:#15171C; color:#E8ECF2; padding:34px 48px;
  display:flex; flex-direction:column; justify-content:center;
  font-family:var(--mono); font-size:19.5px; line-height:1.6; overflow:hidden; white-space:pre;}
.apix--blue{background:#4A90FF; color:#fff;}
.apix .ln{display:block; opacity:0; transform:translateY(6px);}
.apix .ln.is-in{opacity:1; transform:none; transition:opacity .26s ease, transform .34s cubic-bezier(.16,1,.3,1);}
.apix .k{color:#7FD4FF;} .apix .n{color:#CDF23A;} .apix .s{color:#FFB3C6;} .apix .c{color:#6D7787;}
.apix--blue .k{color:#DCEBFF;} .apix--blue .n{color:#FFFFFF; font-weight:600;} .apix--blue .s{color:#E9F1FF;}
.apix__hdr{position:absolute; right:48px; top:44px; font-size:16px; opacity:.55;}

/* =============================== 04 COMPLIANCE =============================== */
.estx{position:absolute; inset:0; background:#fff; display:flex; flex-direction:column; overflow:hidden;}
.estx__strip{height:34px; background:#1F5FA8; color:#fff; display:flex; align-items:center; justify-content:flex-end;
  gap:26px; padding:0 30px; font-size:13px;}
.estx__nav{height:68px; display:flex; align-items:center; gap:32px; padding:0 30px; border-bottom:1px solid #ECEFF3;}
.estx__logo{display:flex; align-items:center; gap:13px; font-weight:600; font-size:23px; color:#1F5FA8; letter-spacing:-.02em;}
.estx__logo em{width:30px; height:30px; display:block; background:
  radial-gradient(circle 2.4px at 5px 5px,#1F5FA8 99%,transparent 100%),
  radial-gradient(circle 2.4px at 15px 5px,#5B8FD6 99%,transparent 100%),
  radial-gradient(circle 2.4px at 25px 5px,#9DC0EA 99%,transparent 100%),
  radial-gradient(circle 2.4px at 5px 15px,#5B8FD6 99%,transparent 100%),
  radial-gradient(circle 2.4px at 15px 15px,#1F5FA8 99%,transparent 100%),
  radial-gradient(circle 2.4px at 25px 15px,#5B8FD6 99%,transparent 100%),
  radial-gradient(circle 2.4px at 5px 25px,#9DC0EA 99%,transparent 100%),
  radial-gradient(circle 2.4px at 15px 25px,#5B8FD6 99%,transparent 100%),
  radial-gradient(circle 2.4px at 25px 25px,#1F5FA8 99%,transparent 100%);}
.estx__nav ul{list-style:none; display:flex; gap:26px; margin:0; padding:0; font-size:15px; color:#31465E; font-weight:500;}
.estx__cta{margin-left:auto; background:#1F5FA8; color:#fff; font-size:15px; padding:11px 22px; border-radius:5px;}
.estx__body{flex:1; display:grid; grid-template-columns:1fr 1fr; gap:40px; padding:52px 44px;
  background:linear-gradient(180deg,#FCFDFE,#F3F7FC); position:relative;}
.estx__blob{position:absolute; border-radius:50%; filter:blur(2px);}
.estx__blob.b1{width:190px; height:190px; background:#E6DFF4; top:34px; right:290px;}
.estx__blob.b2{width:150px; height:150px; background:#DDE9F6; top:16px; right:40px;}
.estx__blob.b3{width:130px; height:130px; background:#D9EEE2; bottom:40px; right:210px;}
.estx__pill{display:inline-flex; align-items:center; gap:9px; border:1px solid #CBDDEF; border-radius:20px;
  padding:7px 16px; font-size:14px; color:#1F5FA8;}
.estx__pill i{width:8px; height:8px; border-radius:50%; background:#1F5FA8;}
.estx__h{margin:22px 0 0; font-weight:600; font-size:47px; line-height:1.08; letter-spacing:-.035em; color:#4A2A78;}
.estx__h span{color:#8F79C4;}
.estx__p{margin:20px 0 0; font-size:17px; line-height:1.6; color:#4F5866; max-width:34ch;}
.estx__facts{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:34px; padding-top:24px; border-top:1px solid #E3E9F1;}
.estx__facts b{display:block; font-size:16px; font-weight:600;}
.estx__facts span{display:block; margin-top:6px; font-size:13.5px; color:#6C7683; line-height:1.4;}
.estx__card{position:relative; z-index:2; align-self:center; background:#fff; border:1px solid #EDF1F6;
  box-shadow:0 18px 50px rgba(31,60,90,.14); opacity:0; transform:translateY(16px);
  transition:all .55s cubic-bezier(.16,1,.3,1);}
.estx__card.is-on{opacity:1; transform:none;}
.estx__cardtop{padding:26px 30px 24px;}
.estx__lab{font-family:var(--mono); font-size:12px; letter-spacing:.06em; color:#8A93A3; text-transform:uppercase;}
.estx__amt{font-weight:600; font-size:56px; letter-spacing:-.04em; line-height:1; margin:12px 0 10px; color:#12161D;}
.estx__meta{font-size:15px; color:#6B7484;}
.estx__row{display:flex; align-items:center; justify-content:space-between; padding:17px 30px; border-top:1px solid #EDF1F6; font-size:16px; color:#3A4150;}
.estx__row i{font-style:normal; display:block; font-family:var(--mono); font-size:12px; color:#9AA3B2; margin-top:4px;}
.estx__row b{font-weight:600;}

/* =============================== 05 RATE INTELLIGENCE =============================== */
.rix{position:absolute; inset:0; display:flex; background:#F6F8FB;}
.rix__rail{width:62px; background:#0C0D10; display:flex; flex-direction:column; align-items:center; gap:20px; padding-top:18px;}
.rix__rail i{width:24px; height:24px; border-radius:5px; background:#23252C; display:block;}
.rix__rail i:first-child{background:linear-gradient(135deg,#1877E0,#7FD4FF);}
.rix__rail i:nth-child(2){background:#1877E0;}
.rix__main{flex:1; display:flex; flex-direction:column; min-width:0;}
.rix__hdr{height:52px; display:flex; align-items:center; gap:14px; padding:0 22px; border-bottom:1px solid #E7ECF2;
  background:#fff; font-size:15px;}
.rix__hdr b{font-weight:600;}
.rix__hdr span{color:#959CA8; font-size:13px;}
.rix__hdr u{margin-left:auto; text-decoration:none; border:1px solid #E1E6ED; border-radius:5px; padding:6px 12px; font-size:12.5px; color:#4A5260;}
.rix__hdr em{font-style:normal; background:#0A0A0A; color:#fff; font-size:12.5px; padding:7px 14px; border-radius:5px;}
.rix__kpis{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; padding:18px 22px 0;}
.kpi{border:1px solid #E7ECF2; background:#fff; padding:15px 16px 17px; border-radius:6px;}
.kpi:first-child{background:#F1F8FF; border-color:#CDE6FB;}
.kpi span{font-size:13px; color:#7F8896; display:block;}
.kpi b{display:block; font-weight:600; font-size:32px; letter-spacing:-.035em; margin-top:8px;}
.kpi i{font-style:normal; font-size:12px; color:#98A2B0; display:block; margin-top:7px;}
.kpi--good i{color:#1E9E63;}
.rix__wl{margin:18px 22px 0; border:1px solid #E7ECF2; background:#fff; border-radius:6px; flex:1; min-height:0; overflow:hidden;}
.rix__wlh{display:flex; align-items:center; gap:10px; padding:14px 18px; border-bottom:1px solid #EEF2F7; font-size:15px; font-weight:600;}
.rix__wlh em{margin-left:auto; font-style:normal; font-weight:400; color:#959CA8; font-size:12.5px;}
.rix__chips{display:flex; gap:9px; padding:13px 18px 11px;}
.rix__chips span{font-size:12.5px; border:1px solid #DCE3EC; border-radius:16px; padding:5px 14px; color:#5A6270;}
.rix__chips span:first-child{border-color:#1877E0; color:#1465C0; background:#F1F8FF;}
.rix__chips span.warn{border-color:#FFC2D0; color:#E0335C; background:#FFF4F7;}
.rix__cols{display:grid; grid-template-columns:1fr 110px 90px 90px; gap:16px; padding:0 18px 9px; font-size:11.5px;
  color:#98A2B0; text-transform:uppercase; letter-spacing:.06em;}
.rix__cols b{font-weight:400; text-align:right;}
.riw{display:grid; grid-template-columns:1fr 110px 90px 90px; align-items:center; gap:16px; padding:12px 18px;
  border-top:1px solid #F1F4F8; font-size:14px; color:#333B47;}
.riw b{font-weight:600; text-align:right;}
.riw i{font-style:normal; text-align:right; color:#7F8896; font-size:12.5px;}
.riw u{text-decoration:none; text-align:right; font-size:12.5px; color:#1E9E63;}
.riw__bar{position:relative; height:5px; background:#EDF1F6; margin-top:8px; border-radius:3px; overflow:hidden;}
.riw__bar::after{content:""; position:absolute; inset:0 auto 0 0; width:var(--w,50%); background:#1877E0;
  transform:scaleX(0); transform-origin:left; transition:transform .7s cubic-bezier(.16,1,.3,1);}
.rix.is-on .riw__bar::after{transform:scaleX(1);}
.riw:nth-of-type(2) .riw__bar::after{transition-delay:.06s} .riw:nth-of-type(3) .riw__bar::after{transition-delay:.13s}
.riw:nth-of-type(4) .riw__bar::after{transition-delay:.2s}
.rix__toast{position:absolute; right:24px; bottom:24px; background:#fff; box-shadow:0 10px 32px rgba(20,30,50,.18);
  border-radius:34px; padding:13px 24px; display:flex; align-items:center; gap:12px; font-size:15px;
  opacity:0; transform:translateY(12px); transition:all .5s cubic-bezier(.16,1,.3,1);}
.rix__toast.is-on{opacity:1; transform:none;}
.rix__toast i{width:11px; height:11px; border-radius:50%; background:#FF3B66; display:block;}

.sfc.is-sel{border-color:#1877E0;}
