:root{
  --bg:#f5f7fc;--surface:#fff;--surface-soft:#f8f9ff;--ink:#161b2f;--muted:#70788f;
  --primary:#5b46e8;--primary-dark:#4332c7;--secondary:#ff765f;--teal:#2dbda2;
  --line:#e5e8f2;--danger:#bd2f42;--warning:#9a6816;--shadow:0 20px 60px rgba(32,39,74,.13);
  --radius-xl:32px;--radius-lg:22px;--radius-md:15px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
a{color:inherit}button,input,select,textarea{font:inherit}
button{touch-action:manipulation}

/* Header */
.site-header{height:74px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;z-index:30;border-bottom:1px solid rgba(226,230,241,.8)}
.site-header.compact{height:66px}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-weight:800;letter-spacing:-.02em}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,var(--primary),#8c70ff);color:#fff;box-shadow:0 7px 18px rgba(91,70,232,.25)}
.top-nav{display:flex;gap:26px;align-items:center}.top-nav a{text-decoration:none;color:#555e76;font-size:.93rem}.top-nav a:hover{color:var(--primary)}

/* Hero and search */
.hero-home{position:relative;overflow:visible;background:linear-gradient(135deg,#4735c7 0%,#684ee8 52%,#7b5af0 100%);padding:70px 20px 118px;color:#fff;min-height:480px}
.hero-copy{max-width:850px;margin:0 auto;text-align:center;position:relative;z-index:2}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800;opacity:.78}.eyebrow.dark{color:var(--primary);opacity:1}
.hero h1{font-size:clamp(2.25rem,5vw,4.1rem);line-height:1.05;letter-spacing:-.055em;margin:14px auto 18px;max-width:900px}
.hero-copy p{font-size:clamp(1rem,2vw,1.2rem);max-width:720px;margin:0 auto;color:rgba(255,255,255,.85)}
.hero-orb{position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}.hero-orb-one{width:330px;height:330px;left:-100px;top:-60px;background:radial-gradient(circle,rgba(255,255,255,.13),transparent 68%)}.hero-orb-two{width:450px;height:450px;right:-160px;bottom:-210px;background:radial-gradient(circle,rgba(255,161,122,.25),transparent 68%)}

.booking-card{position:absolute;z-index:8;left:50%;bottom:-105px;transform:translateX(-50%);width:min(1180px,calc(100% - 32px));padding:18px;background:#fff;border-radius:26px;box-shadow:0 24px 70px rgba(24,20,74,.25);color:var(--ink)}
.booking-grid{display:grid;grid-template-columns:.9fr 1fr 1fr 1.5fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:17px;overflow:visible}
.input-card{position:relative;min-height:78px;display:flex;align-items:center;gap:12px;padding:13px 16px;background:#fff;transition:.18s}
.input-card:first-child{border-radius:16px 0 0 16px}.input-card:last-child{border-radius:0 16px 16px 0}
.input-card:focus-within{background:#fafaff;box-shadow:inset 0 0 0 2px rgba(91,70,232,.18);z-index:2}
.input-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f0edff;color:var(--primary);font-weight:900;flex:0 0 auto}
.input-copy{display:flex;flex-direction:column;min-width:0;flex:1}.input-copy small{font-size:.69rem;text-transform:uppercase;letter-spacing:.075em;color:#8a91a5;font-weight:750;margin-bottom:2px}.input-copy input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-weight:700;padding:2px 0;font-size:.99rem;min-width:0}.input-copy input::placeholder{font-weight:550;color:#a1a7b8}
.inline-help,.locate-btn{border:0;background:transparent;color:var(--primary);font-size:.78rem;font-weight:750;cursor:pointer;padding:7px;border-radius:9px}.inline-help:hover,.locate-btn:hover{background:#efedff}.locate-btn{font-size:1.25rem}.locate-btn.is-loading{animation:spin 1s linear infinite}
.time-card{align-items:center}.time-field-shell{display:flex;flex:1;min-width:0;flex-direction:column;justify-content:center;align-items:stretch;gap:1px}.time-card .input-copy{min-width:0;flex:0 1 auto}.time-card input[type="time"]{display:block;width:100%;min-width:0;max-width:100%;height:25px;line-height:1.25;color-scheme:light;font-variant-numeric:tabular-nums}.time-card input[type="time"]::-webkit-date-and-time-value{text-align:left;min-height:1.25em}.time-card .inline-help{align-self:flex-start;white-space:nowrap;line-height:1.1;padding:2px 0;font-size:.68rem;text-align:left}.time-card .inline-help:hover{background:transparent;text-decoration:underline;text-underline-offset:2px}.time-card.is-approximate::after{content:"примерно";position:absolute;right:11px;top:7px;font-size:.56rem;color:var(--warning);font-weight:800;background:#fff8e7;padding:1px 5px;border-radius:999px}

.booking-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 2px 0}.booking-footer p{margin:0;color:var(--muted);font-size:.86rem}.privacy-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--teal);margin-right:7px}
.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:0;border-radius:13px;padding:14px 22px;text-decoration:none;font-weight:780;cursor:pointer;transition:.18s}
.primary-button{background:linear-gradient(135deg,var(--primary),#735bff);color:#fff;box-shadow:0 10px 24px rgba(91,70,232,.27)}.primary-button:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(91,70,232,.34)}
.secondary-button{background:#efedff;color:var(--primary)}

/* Suggestions */
.city-card{position:relative}.suggest{position:absolute;left:0;right:0;top:calc(100% + 9px);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px rgba(31,38,69,.18);padding:7px;max-height:360px;overflow:auto;display:none;z-index:50}.suggest.is-open{display:block}
.suggest-item{width:100%;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;text-align:left;border:0;background:#fff;padding:10px;border-radius:12px;cursor:pointer;color:var(--ink)}.suggest-item:hover,.suggest-item:focus{background:#f4f3ff;outline:0}.suggest-pin{width:34px;height:34px;display:grid;place-items:center;background:#efedff;color:var(--primary);border-radius:11px}.suggest-copy{display:flex;flex-direction:column;min-width:0}.suggest-copy strong{font-size:.94rem}.suggest-copy small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggest-source{font-size:.67rem;background:#effaf7;color:#238d79;border-radius:20px;padding:4px 7px;white-space:nowrap}.suggest-state{padding:17px;color:var(--muted);font-size:.9rem;display:flex;align-items:center;gap:9px}.spinner{width:16px;height:16px;border:2px solid #ddd7ff;border-top-color:var(--primary);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.field-error{position:absolute;top:calc(100% + 8px);left:0;background:#fff1f3;color:var(--danger);padding:8px 11px;border-radius:10px;font-size:.78rem;box-shadow:0 8px 25px rgba(133,36,55,.14);z-index:60}

/* Place confirmation */
.place-confirm{display:none;align-items:center;gap:14px;margin-top:14px;padding:13px 15px;border-radius:17px;background:linear-gradient(135deg,#f7f6ff,#f8fcff);border:1px solid #e2e1fb}.place-confirm.is-visible{display:flex}.place-weather{min-width:64px;height:48px;border-radius:14px;background:#fff;display:grid;place-items:center;font-size:1.08rem;font-weight:850;box-shadow:0 7px 18px rgba(60,65,100,.08)}.place-main{display:flex;flex-direction:column;min-width:180px;flex:1}.place-main small,.place-facts small{color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.place-main strong{font-size:1rem}.place-main span{color:#687088;font-size:.84rem}.place-facts{display:flex;gap:24px}.place-facts>span{display:flex;flex-direction:column;min-width:105px}.place-facts b{font-size:.86rem;white-space:nowrap;font-variant-numeric:tabular-nums}.change-place{border:0;background:#fff;color:var(--primary);font-weight:750;padding:9px 12px;border-radius:11px;cursor:pointer}

.notice{max-width:1120px;margin:130px auto 0;padding:14px 18px;border-radius:14px}.notice-error{background:#fff0f2;color:var(--danger);border:1px solid #f4c8cf}

/* Results */
.result{max-width:1120px;margin:155px auto 0;padding:0 20px 55px}.result-page{margin-top:46px}.result-heading,.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.result-heading h1,.result-heading h2,.section-heading h2{margin:4px 0 0;font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.04em;line-height:1.12}.text-link{color:var(--primary);font-weight:750;text-decoration:none}
.summary-card{display:grid;grid-template-columns:minmax(340px,440px) 1fr;background:#fff;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(226,229,241,.9)}.chart-panel{padding:20px;background:linear-gradient(160deg,#f2f0ff,#f7fbff);display:flex;align-items:center;justify-content:center}.bodygraph{width:100%;max-width:430px;height:auto;display:block}.summary-content{padding:clamp(25px,4vw,48px);display:flex;flex-direction:column;justify-content:center}.summary-kicker{font-size:.71rem;text-transform:uppercase;letter-spacing:.13em;color:var(--primary);font-weight:850}.big-type{font-size:clamp(2rem,4vw,3.3rem);font-weight:900;letter-spacing:-.055em;line-height:1.06;margin:8px 0}.birth-line{color:var(--muted);margin:0 0 23px}.approx-badge{display:inline-flex;margin-left:5px;padding:3px 7px;border-radius:20px;background:#fff4d9;color:#8a651c;font-size:.67rem;font-weight:800;vertical-align:middle}
.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metric{padding:13px 14px;border-radius:14px;background:var(--surface-soft);border:1px solid #eceef6;display:flex;flex-direction:column}.metric small,.insight small{font-size:.67rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:750}.metric strong{font-size:.94rem;margin-top:3px}
.insight-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:15px}.insight{min-width:0;padding:13px 10px;background:linear-gradient(145deg,#fff9f6,#fff);border:1px solid #f4e7e0;border-radius:14px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px}.insight>span{grid-row:1/3;width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#fff0eb;color:var(--secondary);font-weight:900}.insight b{font-size:.83rem;white-space:normal}.paid{display:inline-flex;vertical-align:middle;margin-left:8px;background:#eaf9f5;color:#1d8e78;border-radius:20px;padding:5px 9px;font-size:.72rem;letter-spacing:0}
.pdf-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}

.reading-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px;margin-top:22px}.reading-card{background:#fff;border-radius:22px;padding:25px;border:1px solid var(--line);box-shadow:0 7px 28px rgba(36,42,72,.055)}.reading-card-featured{background:linear-gradient(150deg,#fff,#faf9ff);border-color:#ded9ff}.block-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--primary);font-weight:850}.reading-card h3{font-size:1.24rem;line-height:1.25;margin:7px 0 13px}.text{color:#3b4257}.text p:first-child{margin-top:0}.locked{margin-top:16px;padding:11px 13px;border-radius:12px;background:#fff8e7;color:#835d19;font-size:.86rem}.locked a{font-weight:750;color:inherit}
.premium-card{margin-top:20px;background:linear-gradient(135deg,#191d38,#30256f);color:#fff;border-radius:28px;padding:30px;display:flex;justify-content:space-between;align-items:center;gap:30px;box-shadow:0 22px 50px rgba(28,26,72,.25)}.premium-card h3{font-size:1.7rem;margin:5px 0}.premium-card p{color:#cfd1e1;margin:0}.pay-form{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.pay-form input{min-width:240px;padding:13px 15px;border:1px solid rgba(255,255,255,.2);border-radius:13px;background:rgba(255,255,255,.1);color:#fff;outline:0}.pay-form input::placeholder{color:#c9cad8}

/* How */
.how-section{max-width:1120px;margin:70px auto;padding:0 20px 75px}.how-after-hero{margin-top:155px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.steps article{background:#fff;padding:26px;border-radius:22px;border:1px solid var(--line)}.steps article>span{display:inline-flex;color:var(--primary);font-size:.75rem;font-weight:900;background:#efedff;padding:6px 9px;border-radius:9px}.steps h3{margin:18px 0 7px}.steps p{margin:0;color:var(--muted)}
.site-footer{min-height:110px;padding:30px clamp(20px,5vw,72px);background:#171b30;color:#d7d9e4;display:flex;align-items:center;gap:25px;justify-content:space-between}.site-footer p{color:#9299af}.site-footer a{color:#fff}

/* Modal / assistant */
.modal{position:fixed;inset:0;z-index:100;display:none}.modal.is-open{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(11,14,29,.63);backdrop-filter:blur(7px)}.assistant-modal{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(570px,calc(100% - 24px));max-height:min(780px,calc(100vh - 24px));max-height:min(780px,calc(100dvh - 24px));display:flex;flex-direction:column;background:#fff;border-radius:27px;box-shadow:0 35px 100px rgba(0,0,0,.32);overflow:hidden}.modal-close{position:absolute;right:15px;top:13px;width:34px;height:34px;border:0;background:#f1f2f7;border-radius:11px;font-size:1.35rem;cursor:pointer;color:#596075}.assistant-head{display:flex;gap:13px;align-items:center;padding:22px 24px 13px}.assistant-avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--primary),#9a78ff);color:#fff;font-size:1.2rem}.assistant-head small{color:var(--primary);font-weight:800;text-transform:uppercase;font-size:.64rem;letter-spacing:.1em}.assistant-head h2{font-size:1.25rem;margin:2px 0}.assistant-warning{margin:0 24px 12px;padding:10px 12px;border-radius:12px;background:#fff8e8;color:#7d5b19;font-size:.8rem}.chat{min-height:260px;max-height:420px;overflow:auto;padding:12px 24px;display:flex;flex-direction:column;gap:10px;background:#f7f8fc}.chat-bubble{max-width:85%;padding:11px 13px;border-radius:16px;white-space:pre-wrap;font-size:.91rem}.chat-bubble.assistant{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:5px}.chat-bubble.user{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:5px}.typing{display:flex;gap:4px;padding:14px}.typing i{width:6px;height:6px;border-radius:50%;background:#9da3b5;animation:pulse 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,70%,100%{opacity:.25;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}
.quick-replies{display:flex;gap:7px;flex-wrap:wrap;padding:10px 24px 0}.quick-replies button{border:1px solid #d9d5ff;background:#f7f5ff;color:var(--primary);border-radius:20px;padding:7px 10px;font-size:.78rem;cursor:pointer}.chat-form{display:flex;gap:8px;padding:13px 18px 18px}.chat-form input{flex:1;border:1px solid var(--line);border-radius:13px;padding:12px 13px;outline:0}.chat-form input:focus{border-color:#aaa0f3;box-shadow:0 0 0 3px #f0edff}.chat-form button,.apply-time{border:0;background:var(--primary);color:#fff;border-radius:12px;padding:0 15px;font-weight:750;cursor:pointer}.apply-time{margin:0 18px 18px;padding:12px}

/* Generic old pages */
.card{background:#fff;border-radius:20px;padding:25px;margin:18px auto;box-shadow:0 8px 28px rgba(35,41,70,.08);border:1px solid var(--line)}.paywall{text-align:center}.muted{color:var(--muted);font-size:.9rem}.error{background:#fff0f2;color:var(--danger);border:1px solid #f1c4cc;padding:12px;border-radius:12px}.go{display:inline-flex;background:var(--primary);color:#fff;border:0;padding:12px 19px;border-radius:12px;text-decoration:none;font-weight:750;cursor:pointer}.geo{display:inline-flex;background:#efedff;color:var(--primary);border:0;padding:12px 16px;border-radius:12px;text-decoration:none}.foot{text-align:center;padding:25px}
.search{display:flex;gap:10px;align-items:flex-end;justify-content:center;background:#fff;max-width:900px;margin:25px auto;padding:20px;border-radius:20px;box-shadow:var(--shadow)}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:.72rem;color:var(--muted);text-transform:uppercase}.field input,.field select{padding:11px 12px;border:1px solid var(--line);border-radius:10px}

/* Admin */
.admin-nav{padding:12px 20px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.admin-nav a{text-decoration:none}.admin-main{max-width:1050px;margin:24px auto;padding:0 16px}.admin-main h1{font-size:1.65rem}.admin-search{display:flex;gap:10px;margin:14px 0}.admin-search input{flex:1;padding:11px;border:1px solid var(--line);border-radius:10px}.admin-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 3px 12px rgba(0,0,0,.05)}.admin-table th,.admin-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);font-size:.92rem}.admin-table th{background:#f1f1fa;color:#4f5570}.cat-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.chip{background:#fff;border:1px solid var(--line);padding:7px 13px;border-radius:20px;text-decoration:none;color:var(--ink)}.chip.on{background:var(--primary);color:#fff;border-color:var(--primary)}.chip span{opacity:.6;font-size:.85em}.edit-form{background:#fff;padding:22px;border-radius:14px;box-shadow:0 3px 12px rgba(0,0,0,.05);max-width:800px}.edit-form label{display:block;margin:12px 0 4px;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.edit-form input,.edit-form textarea,.edit-form select{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;font-size:.95rem;font-family:inherit}.edit-form textarea{min-height:140px}.edit-form .two{display:flex;gap:18px}.edit-form .two>div{flex:1}.edit-form .check{display:flex;align-items:center;gap:8px;text-transform:none}.edit-form .check input{width:auto}.edit-form h3{margin:24px 0 4px;border-top:1px solid var(--line);padding-top:17px}.ok-bar{background:#e6f7f2;border:1px solid #9dd7c8;color:#237d69;padding:10px 14px;border-radius:10px;margin:10px 0}.badge-paid{background:#e6f7f2;color:#237d69;padding:3px 10px;border-radius:10px}.badge-pending{background:#fff5dc;color:#8a6814;padding:3px 10px;border-radius:10px}.badge-failed{background:#fdebed;color:#b3263c;padding:3px 10px;border-radius:10px}

@media(max-width:940px){
  .hero-home{padding-bottom:205px}.booking-card{bottom:-185px}.booking-grid{grid-template-columns:1fr 1fr}.input-card:first-child,.input-card:last-child{border-radius:0}.booking-grid .input-card:nth-child(1){border-radius:16px 0 0 0}.booking-grid .input-card:nth-child(2){border-radius:0 16px 0 0}.booking-grid .input-card:nth-child(3){border-radius:0 0 0 16px}.booking-grid .input-card:nth-child(4){border-radius:0 0 16px 0}
  .notice{margin-top:210px}.result{margin-top:235px}.how-after-hero{margin-top:235px}.result-page{margin-top:40px}.summary-card{grid-template-columns:1fr}.chart-panel{max-height:650px}.bodygraph{max-width:390px}.premium-card{flex-direction:column;align-items:flex-start}.pay-form{justify-content:flex-start;width:100%}
}
@media(max-width:700px){
  .site-header{height:62px;padding:0 16px}.top-nav a:first-child{display:none}.top-nav{gap:12px}.hero-home{padding:47px 14px 350px;min-height:690px}.hero h1{font-size:2.45rem}.hero-copy p{font-size:.98rem}.booking-card{bottom:-315px;width:calc(100% - 20px);padding:10px;border-radius:22px}.booking-grid{grid-template-columns:1fr;gap:1px}.booking-grid .input-card,.booking-grid .input-card:nth-child(n){border-radius:0}.booking-grid .input-card:first-child{border-radius:14px 14px 0 0}.booking-grid .input-card:last-child{border-radius:0 0 14px 14px}.input-card{min-height:69px;padding:10px 12px}.time-field-shell{gap:1px}.time-card .inline-help{padding:2px 0;max-width:none}.booking-footer{flex-direction:column;align-items:stretch}.booking-footer p{text-align:center}.primary-button{width:100%}.place-confirm{align-items:flex-start;flex-wrap:wrap}.place-main{min-width:calc(100% - 90px)}.place-facts{width:100%;justify-content:space-between;padding-left:3px}.change-place{margin-left:auto}.notice{margin-top:335px;margin-left:10px;margin-right:10px}.result{margin-top:365px;padding-left:10px;padding-right:10px}.result-page{margin-top:25px}.result-heading{align-items:flex-start}.summary-card{border-radius:23px}.chart-panel{padding:10px}.summary-content{padding:23px 17px}.metric-grid{grid-template-columns:1fr}.insight-row{grid-template-columns:1fr}.reading-grid{grid-template-columns:1fr}.reading-card{padding:20px}.premium-card{padding:23px}.pay-form input{min-width:0;width:100%}.how-section{margin-top:45px}.how-after-hero{margin-top:355px}.steps{grid-template-columns:1fr}.site-footer{flex-direction:column;text-align:center}.assistant-modal{top:auto;bottom:0;transform:translateX(-50%);width:100%;/* 94vh обманывает: на телефоне vh считается без адресной строки, шторка уезжала верхом за экран вместе с крестиком */max-height:94vh;max-height:calc(100dvh - 56px);border-radius:25px 25px 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}.chat{min-height:230px}.edit-form .two{flex-direction:column}.search{margin:16px 10px;flex-direction:column;align-items:stretch}
}
#helperStatus[data-mode="openai"]{color:#17835b}
#helperStatus[data-mode="fallback"]{color:#9a6717}

/* ============================================================
   РеДизайн 3.0 — premium UI, checkout, account and accounting
   ============================================================ */
:root{
  --v3-violet:#6847f5;--v3-purple:#9b6bff;--v3-coral:#ff6f79;--v3-aqua:#20bfa8;
  --v3-gold:#f3b83f;--v3-night:#17172d;--v3-cloud:#f7f7fc;--v3-ink:#1d1e34;
  --v3-shadow:0 22px 70px rgba(43,35,95,.14);--v3-border:rgba(105,88,181,.14);
}
.v3-page{background:linear-gradient(180deg,#fafaff 0,#f4f5fb 100%);min-height:100vh}
.glass-header{background:rgba(255,255,255,.86);backdrop-filter:blur(18px);position:sticky;top:0}
.full-chip,.subscription-chip,.tiny-price{display:inline-flex;align-items:center;border-radius:999px;font-size:.72rem;font-weight:850;vertical-align:middle}
.full-chip{margin-left:10px;padding:6px 10px;background:#e7fbf6;color:#168b76}.full-chip.is-pending{background:#fff4e8;color:#b86a12}.subscription-chip{padding:5px 9px;background:#eaf9f5;color:#168b76;margin-top:7px}.tiny-price{background:#fff0f2;color:#cb4350;padding:8px 13px}.tiny-price b{font-size:1rem;margin-left:5px}
.data-confirm-banner{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 24px;padding:20px 22px;border:1px solid #ffe0b8;border-radius:22px;background:linear-gradient(135deg,#fffaf2 0,#fff 55%,#f8f5ff 100%);box-shadow:0 14px 40px rgba(184,106,18,.08)}
.data-confirm-banner-icon{flex-shrink:0;width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#e7fbf6;color:#168b76;font-size:1.35rem;font-weight:900}
.data-confirm-banner-copy{flex:1;min-width:220px}.data-confirm-banner-copy h2{margin:4px 0 6px;font-size:1.15rem;letter-spacing:-.03em}.data-confirm-banner-copy p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.45}
.daily-preview--pending .primary-button{margin-top:10px;text-decoration:none}
.result-next-step{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:0 0 24px;padding:20px 22px;border:1px solid var(--v3-border);border-radius:22px;background:linear-gradient(135deg,#fff 0%,#f8f5ff 100%);box-shadow:var(--v3-shadow)}
.result-next-step-copy{flex:1;min-width:240px}.result-next-step-copy h2{margin:4px 0 6px;font-size:1.2rem;letter-spacing:-.03em}.result-next-step-copy p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.45}
.result-next-step-actions{display:flex;gap:10px;flex-wrap:wrap}

/* Result 3.0 */
.result-shell{width:min(1240px,calc(100% - 32px));margin:0 auto;padding:42px 0 100px}
.result-topbar{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}.result-topbar h1{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.05em;margin:5px 0 6px;line-height:1}.result-topbar p{margin:0;color:var(--muted)}
.hero-result-card{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(420px,1.15fr);gap:0;border:1px solid var(--v3-border);border-radius:34px;background:#fff;box-shadow:var(--v3-shadow);overflow:hidden;position:relative}
.chart-stage{position:relative;min-height:650px;padding:20px;background:radial-gradient(circle at 20% 15%,#efeaff 0,transparent 33%),linear-gradient(145deg,#f9f8ff,#f1f4fb)}.chart-stage .bodygraph{width:100%;height:620px;display:block;position:relative;z-index:2}.chart-glow{position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(104,71,245,.13);filter:blur(60px);left:15%;top:24%}
.chart-note{position:absolute;z-index:4;left:28px;right:28px;bottom:24px;display:flex;gap:12px;align-items:center;padding:12px 15px;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.9);border-radius:16px;box-shadow:0 10px 30px rgba(41,43,75,.08)}.chart-note>span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#eeeaff;color:var(--v3-violet);font-weight:900}.chart-note b,.chart-note small{display:block}.chart-note b{font-size:.86rem}.chart-note small{color:var(--muted);font-size:.72rem}
.identity-panel{padding:clamp(30px,5vw,66px);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(155deg,#fff 0,#fdfcff 52%,#f8f5ff 100%)}
.type-orbit{padding-bottom:26px;border-bottom:1px solid var(--line)}.type-orbit span{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:850;color:var(--v3-violet)}.type-orbit strong{display:block;font-size:clamp(2.2rem,4vw,4.2rem);line-height:1.02;letter-spacing:-.06em;margin-top:7px;background:linear-gradient(120deg,#342676,#7a4df5 62%,#ef6375);-webkit-background-clip:text;color:transparent}
.core-metrics{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:24px 0}.core-metric{min-height:112px;padding:18px;border-radius:19px;border:1px solid transparent;display:flex;flex-direction:column;justify-content:space-between}.core-metric small{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.core-metric b{font-size:1.07rem;line-height:1.2}.core-metric.violet{background:#f0ecff;border-color:#dfd6ff;color:#4731a5}.core-metric.coral{background:#fff0f2;border-color:#ffd8dd;color:#ad3544}.core-metric.aqua{background:#eafbf7;border-color:#cff4eb;color:#147d6d}.core-metric.gold{background:#fff8e7;border-color:#f8e9ba;color:#8c681a}
.daily-tip,.soft-note{display:flex;align-items:flex-start;gap:14px;border-radius:20px;padding:18px}.daily-tip{background:linear-gradient(135deg,#221b4a,#5c3bd8);color:#fff;box-shadow:0 14px 35px rgba(73,51,172,.23)}.daily-tip>span{font-size:1.5rem}.daily-tip small{opacity:.7;font-weight:800;text-transform:uppercase;font-size:.64rem;letter-spacing:.09em}.daily-tip p{margin:5px 0 0;line-height:1.45}.soft-note{background:#fff;border:1px dashed #d9d2f4;color:#4f526a}.soft-note span{color:var(--v3-violet);font-size:1.3rem}.soft-note p{margin:0}
.premium-insights-section,.reading-section{margin-top:68px}.section-heading.left{text-align:left;display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.section-heading.left h2{margin:5px 0 0;font-size:clamp(1.8rem,3vw,2.8rem);letter-spacing:-.04em}.section-heading.left>span{color:var(--muted);font-size:.85rem}
.premium-insights-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.premium-insight{position:relative;min-height:255px;padding:23px;border-radius:24px;overflow:hidden;border:1px solid var(--v3-border);background:#fff;box-shadow:0 12px 36px rgba(38,40,73,.07)}.premium-insight:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-45px;bottom:-55px;opacity:.13;background:currentColor}.premium-insight.violet{color:#6141d9;background:linear-gradient(145deg,#fff,#f3efff)}.premium-insight.aqua{color:#14967f;background:linear-gradient(145deg,#fff,#ebfbf7)}.premium-insight.gold{color:#a57917;background:linear-gradient(145deg,#fff,#fff8e7)}.premium-insight.coral{color:#d14d5b;background:linear-gradient(145deg,#fff,#fff0f2)}.premium-insight-head{display:flex;align-items:center;gap:9px}.premium-insight-head>span{display:grid;place-items:center;width:39px;height:39px;border-radius:13px;background:currentColor;color:#fff;font-size:1.1rem}.premium-insight-head small{font-weight:850;text-transform:uppercase;letter-spacing:.075em;font-size:.66rem}.premium-insight-head i{margin-left:auto;font-style:normal}.premium-insight h3{font-size:1.22rem;line-height:1.18;color:var(--v3-ink);margin:22px 0 10px}.premium-insight p{color:#656b82;font-size:.88rem;margin:0;position:relative;z-index:2}.locked-insight h3{color:#55596c}.secret-lines{display:flex;flex-direction:column;gap:7px;margin:14px 0}.secret-lines b{height:9px;border-radius:10px;background:linear-gradient(90deg,rgba(104,71,245,.16),rgba(255,255,255,.5));filter:blur(.8px)}.secret-lines b:nth-child(2){width:82%}.secret-lines b:nth-child(3){width:58%}
.reading-grid-v3{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.reading-card-v3{position:relative;padding:27px 28px;border-radius:25px;background:#fff;border:1px solid var(--v3-border);box-shadow:0 12px 35px rgba(41,43,78,.06);overflow:hidden}.reading-card-v3.featured{background:linear-gradient(145deg,#fff,#faf8ff);border-color:#ddd4ff}.reading-number{position:absolute;right:19px;top:15px;font-size:2.8rem;font-weight:950;letter-spacing:-.08em;color:rgba(104,71,245,.075)}.reading-card-v3 h3{font-size:1.28rem;margin:8px 0 12px;max-width:80%}.reading-text{color:#555d74;font-size:.94rem}.reading-text p:first-child{margin-top:0}.fade-text{max-height:160px;overflow:hidden;position:relative}.fade-text:after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(transparent,#fff)}.premium-tail{position:relative;z-index:3;margin:16px -10px -10px;display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;background:linear-gradient(135deg,#f1edff,#fff1f3);border:1px solid #e6ddff;border-radius:17px;padding:13px}.premium-lock{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:#fff;color:var(--v3-violet)}.premium-tail b,.premium-tail small{display:block}.premium-tail b{font-size:.83rem}.premium-tail small{font-size:.7rem;color:#777b90}.premium-tail a{text-decoration:none;border-radius:10px;padding:8px 11px;background:#fff;color:var(--v3-violet);font-weight:850;font-size:.76rem;white-space:nowrap}
.checkout-teaser{margin-top:70px;border-radius:34px;overflow:hidden;display:grid;grid-template-columns:330px 1fr;background:linear-gradient(135deg,#211849 0,#4f32bd 52%,#7a4df5 100%);color:#fff;box-shadow:0 30px 75px rgba(68,45,165,.27)}.teaser-art{min-height:430px;display:grid;place-items:center;position:relative;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.15),transparent 36%)}.price-moon{width:220px;height:220px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#fff7d6,#ffdd72);color:#382657;box-shadow:0 25px 60px rgba(9,8,28,.32),inset 0 0 35px rgba(255,255,255,.8);transform:rotate(-3deg)}.price-moon small{text-transform:uppercase;letter-spacing:.09em;font-weight:850;font-size:.66rem}.price-moon strong{font-size:clamp(2rem,4.8vw,3rem);line-height:1;letter-spacing:-.05em;white-space:nowrap}.price-moon span{font-size:.8rem;font-weight:750}.spark{position:absolute;font-size:2rem;color:#ffd966}.spark.s1{left:42px;top:60px}.spark.s2{right:42px;bottom:65px}.teaser-copy{padding:clamp(35px,6vw,70px)}.teaser-copy .eyebrow{color:#cfbfff}.teaser-copy h2{font-size:clamp(2rem,3.7vw,3.7rem);line-height:1.02;letter-spacing:-.055em;margin:10px 0 16px;max-width:720px}.teaser-copy>p{color:rgba(255,255,255,.75);max-width:690px}.benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}.benefit-grid span{display:flex;gap:9px;align-items:center;padding:11px 13px;border-radius:13px;background:rgba(255,255,255,.09);font-size:.86rem}.benefit-grid i{font-style:normal;color:#80efcf}.teaser-actions{display:flex;align-items:center;gap:17px;flex-wrap:wrap}.teaser-actions small{max-width:310px;color:rgba(255,255,255,.65)}.primary-button.large{padding:17px 24px;font-size:1rem}.wide{width:100%}.centered{text-align:center;display:block}.paid-actions,.free-test-banner{margin-top:35px;padding:28px;border-radius:25px;background:#fff;border:1px solid var(--v3-border);display:flex;justify-content:space-between;align-items:center;gap:22px}.paid-actions h2,.free-test-banner h2{margin:5px 0}.paid-actions>div:last-child{display:flex;gap:10px}.free-test-banner{background:linear-gradient(120deg,#fff,#f3f1ff)}.color-dots{display:grid;grid-template-columns:1fr 1fr;gap:5px;flex:0 0 auto}.color-dots i{width:28px;height:28px;border-radius:10px}.color-dots i:nth-child(1){background:#3657d6}.color-dots i:nth-child(2){background:#e54f4f}.color-dots i:nth-child(3){background:#f4c430}.color-dots i:nth-child(4){background:#248a62}.free-test-banner>div:nth-child(2){flex:1}.free-test-banner p{margin:0;color:var(--muted)}.mobile-buy-bar{display:none}

/* Checkout */
.checkout-shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:34px 0 80px}.checkout-steps{display:flex;align-items:center;justify-content:center;margin:0 auto 28px;max-width:650px}.checkout-steps span{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:800;color:#9a9eb0}.checkout-steps i{font-style:normal;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eceef5}.checkout-steps b{height:2px;flex:1;background:#e3e5ee}.checkout-steps .done,.checkout-steps .active{color:var(--v3-violet)}.checkout-steps .done i,.checkout-steps .active i{background:#ede9ff;color:var(--v3-violet)}.checkout-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px}.checkout-main-card,.checkout-summary{background:#fff;border:1px solid var(--v3-border);border-radius:28px;box-shadow:var(--v3-shadow)}.checkout-main-card{padding:clamp(25px,5vw,50px)}.checkout-main-card h1{font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.05em;margin:8px 0 10px}.checkout-lead{color:var(--muted);font-size:1.05rem}.selected-plan{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;padding:18px;border:2px solid #dcd3ff;background:#f8f6ff;border-radius:20px;margin:27px 0}.plan-radio{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--v3-violet);color:#fff}.selected-plan small{color:var(--v3-violet);font-weight:850;text-transform:uppercase;font-size:.62rem;letter-spacing:.08em}.selected-plan h3{margin:3px 0}.selected-plan p{margin:0;color:var(--muted);font-size:.82rem}.plan-price{text-align:right}.plan-price strong,.plan-price span{display:block}.plan-price strong{font-size:2rem}.plan-price span{font-size:.7rem;color:var(--muted)}.checkout-form{display:flex;flex-direction:column;gap:10px}.checkout-form>label:not(.agreement-row){font-weight:800;margin-top:8px}.checkout-form>small{color:var(--muted)}.universal-input{display:flex;align-items:center;gap:10px;border:1px solid #dfe2ec;border-radius:15px;padding:0 14px;min-height:58px}.universal-input:focus-within{border-color:var(--v3-violet);box-shadow:0 0 0 4px rgba(104,71,245,.1)}.universal-input input{border:0;outline:0;flex:1;font-size:1rem}.agreement-row{display:flex;gap:10px;align-items:flex-start;padding:13px;border-radius:14px;background:#f8f9fc;font-size:.76rem;color:#666c80;margin:8px 0}.agreement-row input{margin-top:3px}.known-user{display:flex;gap:12px;align-items:center;padding:15px;background:#eefbf7;border:1px solid #d4f3e9;border-radius:15px}.known-user>span{width:31px;height:31px;display:grid;place-items:center;background:var(--v3-aqua);color:#fff;border-radius:50%}.known-user small,.known-user b{display:block}.checkout-summary{padding:24px;height:max-content;position:sticky;top:90px}.summary-preview{padding:22px;border-radius:19px;background:linear-gradient(145deg,#2c205e,#6847f5);color:#fff;margin-bottom:22px}.summary-preview span{font-size:.69rem;text-transform:uppercase;letter-spacing:.1em;opacity:.72}.summary-preview h2{margin:5px 0;font-size:2rem}.summary-preview p{margin:0;opacity:.76;font-size:.83rem}.checkout-summary ul{list-style:none;padding:0}.checkout-summary li{padding:9px 0 9px 28px;position:relative;border-bottom:1px solid #f0f1f5}.checkout-summary li:before{content:"✓";position:absolute;left:0;color:var(--v3-aqua);font-weight:900}.secure-note{font-size:.73rem;color:#707589;background:#f7f8fb;padding:13px;border-radius:13px;margin-top:18px}.success-orbit{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:#e8fbf5;color:var(--v3-aqua);font-size:1.7rem;font-weight:900;margin-bottom:20px}.order-ticket{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#e9eaf2;border:1px solid #e9eaf2;border-radius:18px;overflow:hidden;margin:24px 0}.order-ticket>div{padding:17px;background:#fafaff}.order-ticket small,.order-ticket strong{display:block}.order-ticket small{color:var(--muted);font-size:.68rem}.order-ticket strong{font-size:1.15rem}.pending-text{color:#b77b12}.manual-payment-note{display:flex;gap:12px;background:#fff8e5;border:1px solid #f5e6b4;border-radius:16px;padding:15px;margin-bottom:18px}.manual-payment-note p{margin:3px 0 0;color:#7c6a42;font-size:.82rem}

/* Auth and account */
.auth-shell{width:min(1050px,calc(100% - 32px));margin:45px auto}.auth-card{display:grid;grid-template-columns:1fr 1fr;border-radius:32px;overflow:hidden;background:#fff;box-shadow:var(--v3-shadow);border:1px solid var(--v3-border)}.auth-visual{padding:clamp(32px,5vw,65px);background:linear-gradient(145deg,#211849,#6847f5);color:#fff;position:relative;overflow:hidden}.auth-visual:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-130px;bottom:-140px;background:rgba(255,255,255,.1)}.auth-orb{width:65px;height:65px;display:grid;place-items:center;border-radius:21px;background:rgba(255,255,255,.15);font-size:1.7rem}.auth-visual h1{font-size:clamp(2.3rem,4vw,4rem);line-height:1;letter-spacing:-.06em;margin:18px 0}.auth-visual p{color:rgba(255,255,255,.75)}.trust-list{display:flex;flex-direction:column;gap:10px;margin-top:30px}.trust-list span{font-size:.82rem;background:rgba(255,255,255,.08);border-radius:11px;padding:10px 12px}.auth-form-panel{padding:clamp(28px,5vw,60px);display:flex;flex-direction:column;justify-content:center}.modern-form{display:flex;flex-direction:column;gap:11px}.modern-form label{font-weight:800}.modern-form>input{height:56px;border:1px solid #dfe2ec;border-radius:14px;padding:0 15px;outline:0}.modern-form>input:focus{border-color:var(--v3-violet);box-shadow:0 0 0 4px rgba(104,71,245,.1)}.otp-input{text-align:center;font-size:1.7rem!important;letter-spacing:.35em;font-weight:900}.code-sent{padding:13px;background:#f7f7fb;border-radius:13px}.debug-code{display:flex;flex-direction:column;align-items:center;padding:18px;border-radius:17px;background:#fff7db;border:1px dashed #edc864}.debug-code strong{font-size:2rem;letter-spacing:.18em}.debug-code span{font-size:.7rem;color:#7b6c48;text-align:center}
/* Luscher */
.luscher-shell{width:min(900px,calc(100% - 32px));margin:0 auto;padding:55px 0 80px}.luscher-head{text-align:center;max-width:700px;margin:0 auto 28px}.luscher-head h1{font-size:clamp(2.2rem,5vw,4.4rem);letter-spacing:-.06em;line-height:1;margin:10px 0}.luscher-head p{color:var(--muted)}.luscher-card{padding:25px;background:#fff;border:1px solid var(--v3-border);border-radius:29px;box-shadow:var(--v3-shadow)}.luscher-progress{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;margin-bottom:22px;font-size:.78rem;font-weight:800}.luscher-progress>div{height:7px;border-radius:10px;background:#eceef4;overflow:hidden}.luscher-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--v3-violet),var(--v3-coral));transition:.25s}.luscher-progress button{border:0;background:transparent;color:var(--v3-violet);cursor:pointer}.color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.color-tile{position:relative;aspect-ratio:1.15;border:0;border-radius:20px;background:var(--tile);cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 9px 20px rgba(34,34,54,.12);transition:.18s;overflow:hidden}.color-tile:hover{transform:translateY(-3px)}.color-tile span{position:absolute;left:12px;bottom:10px;color:#fff;font-weight:850;text-shadow:0 1px 6px rgba(0,0,0,.3)}.color-tile b{position:absolute;right:9px;top:9px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.9);color:#2b2c3a}.color-tile.chosen{opacity:.25;transform:scale(.94);pointer-events:none}.color-order{display:flex;gap:5px;justify-content:center;min-height:28px;margin-top:16px}.color-order span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#eeeaff;color:var(--v3-violet);font-weight:900;font-size:.72rem}.luscher-result{display:grid;grid-template-columns:auto 1fr;gap:22px;padding:28px}.result-spark{width:70px;height:70px;display:grid;place-items:center;border-radius:23px;background:linear-gradient(145deg,#eee9ff,#fff0f2);color:var(--v3-violet);font-size:2rem}.luscher-result h2{font-size:2rem;margin:5px 0}.result-actions{display:flex;gap:10px;margin-top:22px}.luscher-disclaimer{text-align:center;color:#8b8fa1;font-size:.73rem;max-width:650px;margin:16px auto}

/* Admin 3.0 — навигация оформляется в ui-6.css */
.admin-nav{position:sticky;top:0;z-index:20;padding:14px clamp(15px,4vw,45px)}.admin-main{max-width:1400px!important;padding:32px!important}.admin-title-row{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.admin-title-row h1{font-size:2.5rem;letter-spacing:-.045em;margin:4px 0}.admin-title-row select{padding:10px 14px;border:1px solid #dddfe9;border-radius:11px}.admin-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.kpi{padding:20px;border-radius:20px;min-height:145px;display:flex;flex-direction:column;border:1px solid transparent}.kpi small{text-transform:uppercase;font-size:.65rem;letter-spacing:.08em;font-weight:850}.kpi strong{font-size:2.25rem;letter-spacing:-.05em;margin:auto 0 3px}.kpi span{font-size:.73rem;opacity:.7}.kpi.violet{background:#eeeaff;color:#5036ba;border-color:#ded5ff}.kpi.aqua{background:#e9faf6;color:#167f6f;border-color:#cdf1e8}.kpi.coral{background:#fff0f2;color:#b53e4b;border-color:#ffd7dc}.kpi.gold{background:#fff7e2;color:#8c6512;border-color:#f7e5ad}.admin-insights{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:15px 0}.admin-insights>div{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:#fff;border:1px solid #e8e9f0;border-radius:16px}.admin-insights small{color:var(--muted)}.admin-insights strong{font-size:1.3rem}.admin-panel{background:#fff;border:1px solid #e5e7ef;border-radius:22px;padding:20px;margin-top:20px;box-shadow:0 12px 35px rgba(36,38,68,.05)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.panel-head h2{margin:0}.panel-head p{margin:3px 0;color:var(--muted)}.admin-table-wrap{overflow:auto;border-radius:18px;border:1px solid #e7e8ef;background:#fff}.admin-table.modern{width:100%;border-collapse:collapse;background:#fff}.admin-table.modern th{background:#f7f7fb;text-transform:uppercase;letter-spacing:.06em;font-size:.65rem;color:#7d8193;white-space:nowrap}.admin-table.modern td,.admin-table.modern th{padding:13px 12px;border-bottom:1px solid #ececf2;text-align:left;vertical-align:middle}.admin-table.modern td small{display:block;color:var(--muted);font-size:.67rem;margin-top:3px;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-table.modern code{font-size:.71rem}.mini-bar{width:120px;height:8px;background:#eceef4;border-radius:8px;overflow:hidden}.mini-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--v3-violet),var(--v3-coral));border-radius:8px}.privacy-admin-note{display:flex;gap:10px;align-items:center;margin-top:18px;padding:15px;border-radius:15px;background:#fff8e4;color:#78663d}.privacy-admin-note span{font-size:.78rem}.admin-head-stats{display:flex;gap:9px}.admin-head-stats span{padding:10px 13px;border-radius:12px;background:#fff;border:1px solid #e6e7ee}.filter-tabs{display:flex;gap:5px;margin-bottom:14px}.filter-tabs a{text-decoration:none;padding:9px 13px;border-radius:10px;background:#fff;border:1px solid #e7e8ef;color:#6d7285}.filter-tabs a.on{background:#eeeaff;color:var(--v3-violet);border-color:#ddd4ff}.status-pill{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:.64rem;font-weight:850}.status-pill.paid{background:#e7f9f3;color:#12816d}.status-pill.pending{background:#fff5d9;color:#8a6818}.status-pill.failed{background:#ffe8eb;color:#ae3947}.payment-actions{display:flex;gap:5px;flex-wrap:wrap}.payment-actions form{margin:0}.admin-action{border:1px solid #dedfe7;background:#fff;border-radius:8px;padding:6px 8px;font-size:.68rem;cursor:pointer}.admin-action.paid{background:#e9faf5;color:#137b68;border-color:#cdeee5}.admin-action.fail{background:#fff0f2;color:#af3b48;border-color:#ffd8dd}.upgrade-card{max-width:780px;margin:55px auto;padding:38px}.upgrade-list{display:flex;flex-direction:column;gap:10px;margin:22px 0}.upgrade-list>div{padding:12px 14px;background:#ecfaf6;border-radius:12px;color:#197b6c}.upgrade-actions{display:flex;gap:10px;margin:20px 0}

@media(max-width:980px){
 .hero-result-card{grid-template-columns:1fr}.chart-stage{min-height:600px}.chart-stage .bodygraph{height:570px}.premium-insights-grid{grid-template-columns:1fr 1fr}.checkout-teaser{grid-template-columns:260px 1fr}.price-moon{width:180px;height:180px}.price-moon strong{font-size:clamp(1.8rem,3.6vw,2.6rem)}.checkout-layout,.account-grid{grid-template-columns:1fr}.checkout-summary{position:static}.admin-kpis{grid-template-columns:1fr 1fr}.auth-card{grid-template-columns:1fr}.auth-visual{min-height:380px}
}
@media(max-width:680px){
 .site-header{padding:0 16px}.top-nav a:not(:last-child){display:none}.result-shell,.checkout-shell,.account-shell{width:min(100% - 20px,1240px);padding-top:22px}.result-topbar{align-items:flex-start}.result-topbar .secondary-button{display:none}.hero-result-card{border-radius:24px}.chart-stage{min-height:510px;padding:5px}.chart-stage .bodygraph{height:500px}.chart-note{left:14px;right:14px;bottom:12px}.chart-note small{display:none}.identity-panel{padding:25px 18px}.core-metrics{grid-template-columns:1fr 1fr;gap:8px}.core-metric{min-height:98px;padding:14px}.core-metric b{font-size:.9rem}.premium-insights-grid,.reading-grid-v3{grid-template-columns:1fr}.premium-insights-section,.reading-section{margin-top:45px}.premium-insight{min-height:215px}.reading-card-v3{padding:23px 20px}.premium-tail{grid-template-columns:auto 1fr}.premium-tail a{grid-column:2;width:max-content}.checkout-teaser{grid-template-columns:1fr;border-radius:25px}.teaser-art{min-height:250px}.price-moon{width:170px;height:170px}.teaser-copy{padding:28px 20px}.benefit-grid{grid-template-columns:1fr}.teaser-actions{align-items:stretch}.teaser-actions .primary-button{width:100%}.paid-actions,.free-test-banner{align-items:flex-start;flex-direction:column}.mobile-buy-bar{display:flex;position:fixed;z-index:50;left:10px;right:10px;bottom:10px;align-items:center;justify-content:space-between;padding:10px 11px 10px 15px;border-radius:18px;background:#201843;color:#fff;box-shadow:0 18px 50px rgba(22,18,55,.4)}.mobile-buy-bar small,.mobile-buy-bar b{display:block}.mobile-buy-bar small{font-size:.6rem;opacity:.7}.mobile-buy-bar b{font-size:1.1rem}.mobile-buy-bar em{font-size:.64rem;font-style:normal;opacity:.6}.mobile-buy-bar a{text-decoration:none;background:#fff;color:var(--v3-violet);font-weight:900;padding:11px 16px;border-radius:12px}.is-demo .site-footer{padding-bottom:90px}.checkout-steps{font-size:0}.checkout-steps span i{font-size:.78rem}.checkout-main-card{padding:24px 17px}.selected-plan{grid-template-columns:auto 1fr}.plan-price{grid-column:2;text-align:left}.order-ticket{grid-template-columns:1fr}.auth-shell{margin:16px auto;width:calc(100% - 20px)}.auth-visual{min-height:auto;padding:32px 24px}.auth-form-panel{padding:28px 20px}.account-hero{align-items:flex-start;flex-direction:column;padding:25px}.account-main{padding:15px}.account-reading{grid-template-columns:auto 1fr}.account-reading>.secondary-button{grid-column:2;width:max-content}.color-grid{grid-template-columns:1fr 1fr}.luscher-card{padding:15px}.luscher-progress{grid-template-columns:1fr auto}.luscher-progress>div{grid-row:2;grid-column:1/3}.luscher-result{grid-template-columns:1fr;padding:18px}.result-actions{flex-direction:column}.admin-main{padding:18px 10px!important}.admin-title-row{align-items:flex-start;flex-direction:column}.admin-kpis,.admin-insights{grid-template-columns:1fr}.admin-nav{overflow:auto;white-space:nowrap}.privacy-admin-note{align-items:flex-start;flex-direction:column}.premium-insights-section .section-heading.left{align-items:flex-start;flex-direction:column}
}
/* Home polish */
.hero-home{background:radial-gradient(circle at 12% 12%,rgba(255,255,255,.17),transparent 28%),radial-gradient(circle at 90% 80%,rgba(255,123,132,.28),transparent 31%),linear-gradient(135deg,#2c205f 0%,#5b3dda 48%,#8258fb 100%)}
.hero-home:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,#000,transparent)}
.booking-card{border:1px solid rgba(255,255,255,.72);box-shadow:0 28px 80px rgba(24,17,75,.34)}
.home-value-strip{width:min(1120px,calc(100% - 32px));margin:145px auto 15px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.home-value-strip article,.home-value-strip>a{display:flex;align-items:center;gap:12px;padding:16px;border-radius:17px;background:#fff;border:1px solid var(--v3-border);text-decoration:none;box-shadow:0 9px 25px rgba(38,40,73,.05)}.home-value-strip>*>span{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#eeeaff;color:var(--v3-violet);font-weight:900}.home-value-strip small,.home-value-strip b{display:block}.home-value-strip small{color:var(--muted);font-size:.66rem}.home-value-strip b{font-size:.85rem}.home-value-strip>a{background:linear-gradient(135deg,#fff7db,#fff0f2)}
@media(max-width:850px){.home-value-strip{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.home-value-strip{grid-template-columns:1fr;margin-top:130px}}
.account-reading-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.account-reading-actions form{margin:0}.text-button{border:0;background:transparent;color:#8a6a70;font-size:.7rem;text-decoration:underline;cursor:pointer;padding:2px}
@media(max-width:680px){.account-reading-actions{grid-column:2;align-items:flex-start}}

/* ===== РеДизайн 3.1.1: коммерческий экран, ежедневный прогноз, партнёры и банк ===== */
:root{--rd-ink:#211b3b;--rd-purple:#7657ff;--rd-pink:#ff7188;--rd-mint:#40c7aa;--rd-gold:#f3bd4d;--rd-paper:#fbfaff}
.daily-redesign-card{margin-top:28px;padding:clamp(24px,4vw,42px);border-radius:30px;border:1px solid rgba(118,87,255,.18);background:radial-gradient(circle at 92% 5%,rgba(255,207,104,.34),transparent 30%),radial-gradient(circle at 7% 90%,rgba(87,214,188,.17),transparent 31%),linear-gradient(140deg,#fff 0,#faf8ff 55%,#fff8f0 100%);box-shadow:0 22px 65px rgba(50,38,114,.10);overflow:hidden;position:relative}.daily-redesign-card:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(106,78,224,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(106,78,224,.035) 1px,transparent 1px);background-size:30px 30px;pointer-events:none}.daily-redesign-card>*{position:relative}.daily-redesign-card.active{border-color:rgba(64,199,170,.38);box-shadow:0 25px 70px rgba(39,157,133,.13)}.daily-redesign-head{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}.daily-redesign-head h2{font-size:clamp(1.8rem,3.5vw,3.1rem);letter-spacing:-.05em;margin:7px 0 10px;max-width:730px}.daily-redesign-head p{max-width:780px;color:#68647b;line-height:1.65;margin:0}.daily-price{min-width:150px;text-align:center;padding:17px 19px;border-radius:22px;background:rgba(255,255,255,.82);border:1px solid rgba(118,87,255,.16);box-shadow:0 12px 35px rgba(50,38,114,.08)}.daily-price small,.daily-price span,.daily-price strong{display:block}.daily-price small,.daily-price span{font-size:.72rem;color:#747084}.daily-price strong{font-size:2.6rem;line-height:1;color:var(--rd-purple);letter-spacing:-.06em;margin:5px 0}.daily-price-bonus{display:flex;flex-direction:column;gap:4px;margin-top:8px;padding:9px 11px;border-radius:13px;background:linear-gradient(135deg,#f2ecff,#fff9ef);color:#5f5878;font-size:.7rem;line-height:1.45;font-weight:750;text-align:center}.daily-price-bonus em{font-size:.6rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#7a68d8;font-style:normal}.daily-price-bonus-text{display:block;line-height:1.4}.daily-price-bonus b{color:#563fd1;font-weight:900}.daily-price-bonus a{color:#563fd1;text-decoration:none;border-bottom:1px dashed rgba(86,63,209,.35)}.daily-price-bonus a:hover{border-bottom-color:transparent}.daily-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:11px 18px;align-items:center;margin-top:26px;padding:20px;border-radius:22px;background:rgba(255,255,255,.78);border:1px solid rgba(118,87,255,.12)}.daily-preview>span{font-size:.86rem;font-weight:760;color:#4f4967}.daily-preview>span::first-letter{color:var(--rd-mint)}.daily-preview .primary-button{grid-row:1/4;grid-column:3;white-space:nowrap}.daily-forecast{margin-top:25px}.daily-main{padding:25px;border-radius:24px;color:#fff;background:linear-gradient(135deg,#35266f 0,#7251eb 58%,#a564ff 100%);box-shadow:0 18px 45px rgba(87,56,202,.25)}.daily-main small{opacity:.72}.daily-main h3{font-size:clamp(1.6rem,3vw,2.6rem);margin:7px 0}.daily-main p{max-width:900px;line-height:1.65;color:rgba(255,255,255,.86)}.daily-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.daily-grid article{min-height:175px;padding:20px;border:1px solid #ebe7f7;border-radius:21px;background:#fff;box-shadow:0 10px 30px rgba(45,38,86,.05)}.daily-grid article:nth-child(2n){background:#fffaf1}.daily-grid article:nth-child(3n){background:#f1fcf8}.daily-grid article>span{width:37px;height:37px;border-radius:12px;display:grid;place-items:center;background:#eee9ff;color:var(--rd-purple);font-weight:900;margin-bottom:14px}.daily-grid b{display:block;font-size:1.02rem}.daily-grid p{font-size:.84rem;color:#68647b;line-height:1.58}.daily-bottom{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.daily-bottom p{margin:0;padding:16px 18px;border-radius:17px;background:#fff;border:1px solid #ece9f5;color:#615c72}
.recommendation-section{margin-top:55px}.recommendation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.recommendation-grid article{padding:23px;border-radius:23px;background:#fff;border:1px solid #e9e7f1;box-shadow:0 12px 35px rgba(43,38,79,.05)}.recommendation-grid article:nth-child(5n+1){background:linear-gradient(150deg,#fff,#f3f0ff)}.recommendation-grid article:nth-child(5n+2){background:linear-gradient(150deg,#fff,#fff1f3)}.recommendation-grid article:nth-child(5n+3){background:linear-gradient(150deg,#fff,#effbf8)}.recommendation-grid article:nth-child(5n+4){background:linear-gradient(150deg,#fff,#fff9e9)}.recommendation-grid article>span{font-size:1.5rem}.recommendation-grid h3{margin:13px 0 8px}.recommendation-grid p{margin:0;color:#676377;line-height:1.64;font-size:.87rem}
.soft-note{display:flex;gap:12px;align-items:flex-start;margin-top:24px;padding:15px 17px;border-radius:17px;background:linear-gradient(130deg,#eeeaff,#fff1f3);color:#504969}.soft-note>span{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;border-radius:10px;background:#fff;color:var(--rd-purple)}.soft-note p{margin:0;line-height:1.55}.tiny-price{padding:12px 17px;border-radius:16px;background:#251d4b;color:#fff;text-align:center}.tiny-price b,.tiny-price{display:block}.tiny-price b{font-size:1.28rem}.premium-tail{background:linear-gradient(135deg,#241c4d,#593cc7)!important;color:#fff!important}.premium-tail small{color:rgba(255,255,255,.68)!important}.premium-tail a{background:#fff!important;color:#5c3bd1!important}
.bank-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 20% 10%,rgba(131,99,255,.27),transparent 34%),radial-gradient(circle at 85% 90%,rgba(255,113,136,.24),transparent 32%),linear-gradient(145deg,#17122f,#32226a)}.bank-card{width:min(510px,100%);padding:clamp(25px,5vw,45px);border-radius:32px;background:rgba(255,255,255,.98);box-shadow:0 35px 100px rgba(0,0,0,.34);border:1px solid rgba(255,255,255,.65)}.bank-brand{display:flex;align-items:center;gap:12px}.bank-brand>span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--rd-purple),#b36cff);color:#fff;font-weight:950}.bank-brand b,.bank-brand small{display:block}.bank-brand small{color:#8a8695}.bank-card>h1{font-size:clamp(2.7rem,8vw,4.4rem);letter-spacing:-.07em;margin:28px 0 4px;color:var(--rd-ink)}.bank-card>p{color:#716c7e;line-height:1.55}.card-payment-form{display:flex;flex-direction:column;gap:10px;margin-top:24px}.card-payment-form label{font-size:.77rem;font-weight:850;color:#514c61}.card-payment-form input{width:100%;height:54px;padding:0 14px;border:1px solid #ddd9e8;border-radius:14px;font-size:1rem;outline:0;background:#fcfbff}.card-payment-form input:focus{border-color:var(--rd-purple);box-shadow:0 0 0 4px rgba(118,87,255,.1)}.card-number-field{position:relative}.card-number-field span{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-weight:900;font-size:.72rem;color:var(--rd-purple)}.test-cards{display:flex;flex-direction:column;gap:5px;margin-top:20px;padding:14px;border-radius:15px;background:#f7f5fb;color:#6f6a7c;font-size:.75rem}.test-cards b{color:#3f394e}
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:18px 0}.metrics-grid>article{padding:20px;border-radius:20px;background:linear-gradient(145deg,#fff,#f7f5ff);border:1px solid #e9e6f3}.metrics-grid small,.metrics-grid strong{display:block}.metrics-grid small{color:#817c8f;text-transform:uppercase;letter-spacing:.07em;font-size:.65rem;font-weight:850}.metrics-grid strong{font-size:2rem;letter-spacing:-.05em;margin-top:12px;color:#332768}.analytics-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.admin-card{padding:22px;border:1px solid #e7e5ef;border-radius:22px;background:#fff;box-shadow:0 12px 35px rgba(40,37,72,.05)}.admin-card h2{margin-top:0}.stat-line{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 0;border-top:1px solid #efedf4}.stat-line>span,.stat-line>span b,.stat-line>span small{display:block}.stat-line small{color:#8a8695;font-size:.68rem;margin-top:3px}.partner-create-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.partner-create-grid input,.inline-form input,.mini-edit input,.mini-edit select,.edit-form input,.edit-form select,.edit-form textarea{border:1px solid #dedce8;border-radius:11px;padding:10px 12px;background:#fff}.payout-row{display:grid;grid-template-columns:1fr auto minmax(150px,250px) auto auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid #eeeaf3}.payout-row span b,.payout-row span small{display:block}.payout-row small{color:#858092}.copy-link{display:flex;gap:8px}.copy-link input{flex:1;border:1px solid #dedce8;border-radius:11px;padding:10px}.partner-page .admin-nav{background:linear-gradient(90deg,#231a4c,#6847f5)!important}
@media(max-width:900px){.daily-grid,.recommendation-grid{grid-template-columns:1fr 1fr}.daily-preview{grid-template-columns:1fr 1fr}.daily-preview .primary-button{grid-column:1/3;grid-row:auto}.metrics-grid{grid-template-columns:1fr 1fr}.partner-create-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.daily-redesign-head{flex-direction:column}.daily-price{width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:left}.daily-price strong{font-size:2rem}.daily-price>span:not(.daily-price-bonus){text-align:right}.daily-price-bonus{grid-column:1/-1;margin-top:10px;text-align:center}.daily-preview,.daily-grid,.daily-bottom,.recommendation-grid,.analytics-columns,.metrics-grid,.partner-create-grid{grid-template-columns:1fr}.daily-preview .primary-button{grid-column:auto}.daily-grid article{min-height:auto}.payout-row{grid-template-columns:1fr}.bank-shell{padding:10px}.bank-card{border-radius:23px}.card-payment-form .two{grid-template-columns:1fr 1fr}}

/* ===== РеДизайн 3.3: семейный конструктор, восстановление доступа и аналитика ===== */
.family-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:34px 0 90px}.family-hero{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:clamp(30px,5vw,58px);border-radius:34px;color:#fff;background:radial-gradient(circle at 88% 15%,rgba(255,216,120,.34),transparent 28%),radial-gradient(circle at 8% 92%,rgba(68,210,181,.24),transparent 30%),linear-gradient(135deg,#211849,#6748e9 58%,#9b68ff);box-shadow:0 28px 80px rgba(54,38,137,.25)}.family-hero h1{font-size:clamp(2.3rem,5vw,4.6rem);line-height:.98;letter-spacing:-.065em;margin:10px 0 15px}.family-hero p{max-width:730px;color:rgba(255,255,255,.78);font-size:1.02rem;line-height:1.7}.family-price-orbit{width:190px;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.32);backdrop-filter:blur(14px);box-shadow:inset 0 0 0 12px rgba(255,255,255,.05)}.family-price-orbit small,.family-price-orbit span{font-size:.7rem;color:rgba(255,255,255,.72)}.family-price-orbit strong{font-size:2.7rem;letter-spacing:-.07em;margin:6px 0}.family-builder{display:grid;grid-template-columns:330px 1fr;gap:25px;margin-top:24px;padding:28px;border-radius:28px;background:#fff;border:1px solid #e9e5f4;box-shadow:0 18px 55px rgba(45,38,91,.08)}.family-builder-copy h2{font-size:2.2rem;letter-spacing:-.045em;margin:8px 0}.family-builder-copy p{color:#726d80;line-height:1.65}.family-form{display:flex;flex-direction:column;gap:17px}.family-relation-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.family-relation-picker input{position:absolute;opacity:0}.family-relation-picker span{display:grid;place-items:center;min-height:48px;padding:8px;text-align:center;border-radius:14px;background:#f7f5fc;border:1px solid #e7e2f3;font-size:.78rem;font-weight:800;cursor:pointer;transition:.2s}.family-relation-picker input:checked+span{background:linear-gradient(135deg,#6650e7,#9270ff);color:#fff;border-color:transparent;box-shadow:0 9px 24px rgba(103,76,232,.25)}.family-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.family-fields label{display:flex;flex-direction:column;gap:6px}.family-fields small{font-size:.7rem;font-weight:850;color:#676174}.family-fields input,.family-fields select{height:52px;padding:0 13px;border:1px solid #dfdbe8;border-radius:13px;background:#fff;outline:0}.family-fields input:focus,.family-fields select:focus{border-color:#7657ff;box-shadow:0 0 0 4px rgba(118,87,255,.1)}.family-city-field{position:relative;grid-column:1/3}.family-city-field .suggest{top:80px}.existing-family{margin-top:45px}.family-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.family-mini-grid a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:17px;text-decoration:none;color:#2a2540;border-radius:19px;background:#fff;border:1px solid #e9e6f0;box-shadow:0 10px 30px rgba(45,38,91,.05)}.family-mini-grid a>span{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#eeeaff;color:#6b4be3}.family-mini-grid b,.family-mini-grid small{display:block}.family-mini-grid small{color:#817b8e;font-size:.72rem;margin-top:3px}.family-mini-grid em{font-style:normal;color:#7357e8}.compatibility-stage{margin-top:45px}.compat-head{display:flex;justify-content:space-between;align-items:center;gap:25px}.compat-head h2{font-size:clamp(2rem,4vw,3.7rem);letter-spacing:-.055em;margin:7px 0}.compat-head p{color:#716b7e}.compat-score{width:132px;aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center;color:#fff;background:conic-gradient(#45c8a8 0 78%,#e9e5f3 78%);box-shadow:inset 0 0 0 12px #fff,0 13px 35px rgba(48,147,126,.18)}.compat-score strong{font-size:2.3rem;line-height:1;color:#292143}.compat-score span{font-size:.67rem;color:#777083}.compat-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:15px;margin-top:18px}.compat-grid>article,.biorhythm-card,.family-full-open,.family-unlock{border-radius:25px;background:#fff;border:1px solid #e8e4f0;box-shadow:0 15px 45px rgba(43,35,88,.06)}.compat-main{padding:26px}.compat-elements{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px}.compat-elements>span{padding:18px;border-radius:18px;text-align:center;background:linear-gradient(145deg,#f2efff,#fff)}.compat-elements>span:last-child{background:linear-gradient(145deg,#fff1f4,#fff)}.compat-elements span,.compat-elements small{display:block}.compat-elements span{font-size:1.3rem;font-weight:900}.compat-elements small{font-size:.7rem;color:#7e7889;margin-top:4px}.compat-elements i{font-style:normal;font-size:1.8rem;color:#8365ef}.compat-main>p{color:#696374;line-height:1.65}.compat-bars{display:flex;flex-direction:column;gap:13px}.compat-bars>div{display:grid;grid-template-columns:145px 1fr 46px;align-items:center;gap:10px;font-size:.75rem}.compat-bars i{height:9px;border-radius:99px;background:#eeeaf4;overflow:hidden}.compat-bars em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7657ff,#ff7188)}.compat-tips{padding:25px;background:linear-gradient(145deg,#fffaf0,#fff)!important}.compat-tips p{display:flex;gap:9px;color:#686273;line-height:1.55}.compat-tips p span{color:#32af90;font-weight:900}.biorhythm-card{display:grid;grid-template-columns:330px 1fr;gap:25px;margin-top:15px;padding:25px;background:linear-gradient(145deg,#f9f7ff,#fff)}.biorhythm-card p{color:#6e6879;line-height:1.6}.biorhythm-cycles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.biorhythm-cycles article{padding:15px;border-radius:16px;background:#fff;border:1px solid #ebe7f2}.dual-cycle{display:flex;flex-direction:column;gap:8px;margin-top:12px}.dual-cycle span{position:relative;height:28px;border-radius:8px;background:linear-gradient(90deg,#f2effa 0 var(--v),#fff var(--v));padding:6px 8px;font-size:.65rem}.family-unlock{display:grid;grid-template-columns:1fr 240px;gap:25px;padding:clamp(26px,4vw,42px);margin-top:18px;color:#fff;background:radial-gradient(circle at 92% 5%,rgba(255,200,90,.25),transparent 30%),linear-gradient(135deg,#261c50,#6647dc)}.family-unlock p{color:rgba(255,255,255,.72);line-height:1.65}.family-unlock .benefit-grid span{color:#fff}.family-unlock-action{display:flex;flex-direction:column;justify-content:center;padding:20px;border-radius:22px;background:rgba(255,255,255,.1);text-align:center}.family-unlock-action small{color:rgba(255,255,255,.68)}.family-unlock-action strong{font-size:2.8rem;letter-spacing:-.06em;margin:9px 0 17px}.family-full-open{padding:27px;margin-top:18px}.natal-family-grid,.natal-result-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:20px;align-items:center}.natal-chart-card{display:grid;place-items:center;min-height:360px;padding:15px;border-radius:25px;background:radial-gradient(circle at 50% 45%,#fff,#f1ecff);overflow:hidden}.natal-wheel{display:block;width:min(100%,570px);height:auto}.family-details,.natal-explain-card{padding:28px;border-radius:24px;background:linear-gradient(145deg,#fff,#fff8ec);border:1px solid #ece7f2}.child-recommendations{margin-top:18px;padding-top:18px;border-top:1px solid #ece7df}.child-symbols{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.child-symbols span{padding:12px;border-radius:13px;background:#fff;border:1px solid #eee8df}.child-symbols small,.child-symbols b{display:block}.child-symbols small{font-size:.65rem;color:#8a8291}.natal-unavailable{display:flex;flex-direction:column;gap:7px;text-align:center;color:#5d5768}.natal-unavailable small{color:#8b8494}.natal-result-section{margin-top:55px}.natal-explain-card{background:linear-gradient(145deg,#271d52,#6848df);color:#fff}.natal-explain-card p{color:rgba(255,255,255,.76);line-height:1.7}.natal-spark{width:52px;height:52px;display:grid;place-items:center;border-radius:17px;background:rgba(255,255,255,.13);font-size:1.4rem}.natal-badges,.family-offer-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.natal-badges span{padding:8px 11px;border-radius:99px;background:rgba(255,255,255,.11);font-size:.72rem}.family-offer-card{display:grid;grid-template-columns:330px 1fr;gap:30px;align-items:center;margin-top:55px;padding:clamp(25px,4vw,42px);border-radius:30px;background:radial-gradient(circle at 12% 20%,rgba(255,229,145,.42),transparent 26%),linear-gradient(135deg,#fff7e7,#f5f0ff 58%,#effcf8);border:1px solid #e9e3ef;box-shadow:0 18px 55px rgba(54,43,98,.08)}.family-offer-visual{min-height:250px;position:relative;display:flex;align-items:center;justify-content:center;gap:12px;border-radius:24px;background:linear-gradient(145deg,#2a2059,#704ff0);overflow:hidden}.family-offer-visual:before,.family-offer-visual:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}.family-offer-visual:before{width:180px;height:180px;left:-70px;top:-60px}.family-offer-visual:after{width:150px;height:150px;right:-60px;bottom:-70px}.family-avatar{position:relative;z-index:1;width:82px;height:82px;display:grid;place-items:center;border-radius:27px;background:#fff;color:#5b3ed0;font-weight:950;font-size:1.4rem;box-shadow:0 13px 35px rgba(0,0,0,.18)}.family-avatar.close{background:#ff7188;color:#fff}.family-offer-visual>i{position:relative;z-index:1;font-style:normal;color:#fff;font-size:1.5rem}.compat-mini{position:absolute;z-index:1;left:22px;right:22px;bottom:18px;display:flex;justify-content:space-between;padding:11px 14px;border-radius:13px;background:rgba(255,255,255,.13);color:#fff;backdrop-filter:blur(12px)}.compat-mini small{color:rgba(255,255,255,.68)}.family-offer-copy h2{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.055em;margin:8px 0 13px}.family-offer-copy p{color:#686274;line-height:1.7}.family-offer-points span{padding:8px 11px;border-radius:99px;background:#fff;border:1px solid #e8e2ec;color:#5e586c;font-size:.72rem;font-weight:750}.family-offer-copy .primary-button{margin-top:22px}
.admin-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}.admin-title-row h1{font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.05em;margin:6px 0}.analytics-filter,.admin-search{display:flex;gap:8px}.analytics-filter input,.analytics-filter select,.admin-search input{min-height:43px;padding:0 12px;border:1px solid #ded9e8;border-radius:11px;background:#fff}.funnel-card,.journey-card,.visit-summary,.partner-price-panel{background:#fff;border:1px solid #e7e3ee;border-radius:22px;box-shadow:0 12px 35px rgba(42,36,74,.05)}.funnel-card{padding:22px}.funnel-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.funnel-flow>div{position:relative;padding:16px;border-radius:16px;background:#f8f6fc;overflow:hidden}.funnel-flow span,.funnel-flow b,.funnel-flow small{position:relative;z-index:1;display:block}.funnel-flow span{font-size:.7rem;color:#706a7b}.funnel-flow b{font-size:1.8rem;margin:7px 0}.funnel-flow i{position:absolute;left:0;right:0;bottom:0;height:6px;background:#e9e4f2}.funnel-flow em{display:block;width:var(--w);height:100%;background:linear-gradient(90deg,#7657ff,#ff7188)}.session-list{display:flex;flex-direction:column}.session-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid #efedf3;text-decoration:none;color:#342e47}.session-row b,.session-row small,.session-row strong{display:block}.session-row small{color:#878190;font-size:.68rem;margin-top:4px}.session-row time{font-size:.68rem;color:#8c8795}.session-status{width:10px;height:10px;border-radius:50%;background:#cac5d2}.session-status.online{background:#3bc39f;box-shadow:0 0 0 5px rgba(59,195,159,.13)}.action-heat-row{display:grid;grid-template-columns:1fr 130px 40px;gap:10px;align-items:center;padding:11px 0;border-top:1px solid #efedf3}.action-heat-row span b,.action-heat-row span small{display:block}.action-heat-row span small{color:#8b8592;font-size:.65rem}.action-heat-row>i{height:9px;border-radius:99px;background:#eeeaf3;overflow:hidden}.action-heat-row em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7657ff,#ff7188)}.visit-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;overflow:hidden;margin-bottom:18px}.visit-summary article{padding:18px;background:linear-gradient(145deg,#fff,#f9f7fd)}.visit-summary small,.visit-summary b{display:block}.visit-summary small{color:#857f8f;font-size:.67rem;text-transform:uppercase;letter-spacing:.06em}.visit-summary b{margin-top:8px;color:#342766}.journey-card{padding:25px}.journey-timeline{position:relative}.journey-timeline:before{content:"";position:absolute;left:92px;top:12px;bottom:12px;width:2px;background:#e6e1ee}.journey-timeline article{display:grid;grid-template-columns:14px 60px 1fr auto;gap:14px;align-items:flex-start;position:relative;padding:13px 0}.journey-dot{position:relative;z-index:1;width:13px;height:13px;border-radius:50%;background:#7759e9;box-shadow:0 0 0 5px #eeeaff}.journey-dot.action_click{background:#ff7188;box-shadow:0 0 0 5px #fff0f3}.journey-dot.payment_paid{background:#36bd98;box-shadow:0 0 0 5px #e8fbf5}.journey-timeline time,.journey-timeline em{font-size:.67rem;color:#8c8694;font-style:normal}.journey-timeline div b,.journey-timeline div span,.journey-timeline div small{display:block}.journey-timeline div span{font-size:.73rem;color:#706a78;margin-top:3px}.journey-timeline div small{font-size:.67rem;color:#9a7280;margin-top:5px}.partner-price-panel{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;margin:16px 0}.partner-price-panel>div{padding:19px;background:linear-gradient(145deg,#fff,#f8f5ff)}.partner-price-panel small,.partner-price-panel b,.partner-price-panel span{display:block}.partner-price-panel small{color:#817a8b}.partner-price-panel b{font-size:1.2rem;margin:6px 0}.api-doc-card pre,.api-example-grid pre{overflow:auto;padding:15px;border-radius:14px;background:#241b4a;color:#f5f1ff;font-size:.75rem;line-height:1.55}.api-example-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.status-pill.daily{background:#fff2cb;color:#80601b}
@media(max-width:900px){.family-hero,.family-builder,.family-offer-card,.family-unlock,.natal-family-grid,.natal-result-grid,.biorhythm-card{grid-template-columns:1fr}.family-price-orbit{width:100%;aspect-ratio:auto;border-radius:20px;padding:18px}.family-relation-picker{grid-template-columns:repeat(3,1fr)}.family-mini-grid,.biorhythm-cycles{grid-template-columns:1fr 1fr}.compat-grid{grid-template-columns:1fr}.funnel-flow{grid-template-columns:1fr 1fr}.family-offer-visual{min-height:230px}}
@media(max-width:650px){.family-shell{width:min(100% - 20px,1180px);padding-top:18px}.family-hero,.family-builder,.family-full-open,.family-unlock,.family-offer-card{border-radius:22px;padding:21px}.family-fields,.family-mini-grid,.biorhythm-cycles,.child-symbols,.visit-summary,.funnel-flow,.api-example-grid,.partner-price-panel{grid-template-columns:1fr}.family-city-field{grid-column:auto}.family-relation-picker{grid-template-columns:1fr 1fr}.compat-head,.admin-title-row{align-items:flex-start;flex-direction:column}.compat-score{width:100%;aspect-ratio:auto;border-radius:18px;padding:15px;background:linear-gradient(135deg,#e9fff8,#f3efff);box-shadow:none}.compat-bars>div{grid-template-columns:115px 1fr 40px}.session-row{grid-template-columns:auto 1fr}.session-row>div:nth-of-type(2),.session-row time{grid-column:2}.action-heat-row{grid-template-columns:1fr 70px 30px}.journey-timeline:before{left:6px}.journey-timeline article{grid-template-columns:14px 1fr}.journey-timeline time,.journey-timeline em{grid-column:2}.analytics-filter,.admin-search{width:100%;flex-wrap:wrap}.analytics-filter input,.admin-search input{flex:1;min-width:150px}.natal-chart-card{min-height:260px;padding:5px}}

/* ============================================================
   РеДизайн 3.3 — восстановление без кодов и семейный конструктор
   ============================================================ */
.passwordless-card .auth-visual{background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.18),transparent 32%),linear-gradient(145deg,#5b3ee8,#8b5cf6 52%,#cf6ee8);}
.passwordless-card .auth-visual .eyebrow{color:#fff!important;opacity:1!important}
.passwordless-card .auth-form-panel{min-height:520px;display:flex;flex-direction:column;justify-content:center;}
.inline-reset-form{margin-top:14px;text-align:center}.inline-reset-form .text-button{display:inline-flex;margin:auto;border:0;background:none;cursor:pointer;color:#665b7d;font-weight:700}
.recovery-explain{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:18px;background:#f4f1ff;color:#5d5370;margin:8px 0 4px}.recovery-explain span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#7357ea;color:#fff;font-weight:800;flex:0 0 auto}.recovery-explain p{margin:0;font-size:13px;line-height:1.5}
.auth-form-panel .notice,.auth-form-panel .ok-bar{margin:0 0 14px;max-width:100%}
.primary-button.wide,.secondary-button.wide{width:100%}
.recover-page .auth-shell{margin-bottom:48px}
.recover-page .passwordless-card .auth-form-panel{min-height:auto;justify-content:flex-start;gap:0}
.recover-page .auth-visual h1{font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.05}
.recover-page .auth-visual .trust-list{margin-top:22px}
.recover-page .recover-form{gap:14px}
.recover-page .recover-field{display:flex;flex-direction:column;gap:6px}
.recover-page .recover-field label{font-weight:800}
.recover-page .modern-form input{width:100%;box-sizing:border-box;height:56px;border:1px solid #dfe2ec;border-radius:14px;padding:0 15px;outline:0;font:inherit;background:#fff}
.recover-page .modern-form input:focus{border-color:var(--v3-violet);box-shadow:0 0 0 4px rgba(104,71,245,.1)}
.recover-page .recover-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.recover-page .recover-login-result{display:flex;flex-direction:column;gap:8px;padding:20px 22px;border-radius:18px;background:linear-gradient(145deg,#eefbf5,#f4f1ff);border:1px solid #cdeee5;color:inherit}
.recover-page .recover-login-result.ok-bar{margin:0 0 16px}
.recover-page .recover-login-result small{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#4f8a74}
.recover-page .recover-login-result b{font-size:clamp(1.2rem,3.5vw,1.6rem);line-height:1.25;word-break:break-word;color:#1f1a33}
.recover-page .recover-hint{margin:10px 0 0;font-size:13px;line-height:1.55;color:#6b6478}
.recover-page .recover-hint a{color:#6d4cdd;text-decoration:none;font-weight:700}
.recover-page .recover-hint a:hover{text-decoration:underline}
.recover-page .recover-footer-links{margin-top:20px;padding-top:16px;border-top:1px solid #ece8f2;text-align:center;font-size:13px;color:#8a8495}
.recover-page .recover-footer-links a{color:#6d4cdd;text-decoration:none;font-weight:700}
.recover-page .recover-footer-links a:hover{text-decoration:underline}
.recover-page .site-footer{flex-wrap:wrap;gap:12px 20px;justify-content:center}
.recover-page.auth-page{background:linear-gradient(180deg,#f7f5ff 0%,#f3f7fb 62%,#fff 100%)}
.recover-page .site-header.compact{background:rgba(255,255,255,.82);backdrop-filter:blur(14px);border-bottom:1px solid rgba(226,222,238,.8)}
.recover-page .auth-shell{width:min(1320px,calc(100% - 40px));margin:34px auto 48px;padding:24px 0 0}
.recover-page .auth-card{grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr);min-height:640px;border-radius:34px;box-shadow:0 30px 90px rgba(55,43,112,.16);border:1px solid rgba(226,222,239,.9)}
.recover-page .auth-visual{display:flex;flex-direction:column;justify-content:center;padding:clamp(42px,6vw,82px);min-height:640px}
.recover-page .auth-visual h1{max-width:560px;font-size:clamp(42px,4.4vw,68px);line-height:1.02;letter-spacing:0;word-break:normal;overflow-wrap:normal}
.recover-page .auth-visual p{max-width:560px;font-size:17px;line-height:1.6}
.recover-page .auth-visual .eyebrow{letter-spacing:.18em;color:#fff!important;opacity:1!important;text-shadow:0 1px 16px rgba(35,21,86,.22)}
.recover-page .auth-visual .trust-list{width:min(100%,520px)}
.recover-page .auth-visual .trust-list span{min-height:48px;display:flex;align-items:center;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.16);color:#fff;font-size:14px}
.recover-page .auth-form-panel{justify-content:center!important;padding:clamp(34px,5vw,72px)!important}
.recover-page .recover-form{width:100%;max-width:470px;margin:0 auto;gap:18px}
.recover-page .recover-field{display:grid!important;grid-template-columns:1fr;gap:8px;min-width:0}
.recover-page .recover-field label{display:block;margin:0;color:#2f2a44;font-size:15px;line-height:1.25;font-weight:850}
.recover-page .modern-form input{display:block;width:100%;min-width:0;height:58px;border-radius:16px;font-size:16px;color:#302a44}
.recover-page .modern-form input::placeholder{color:#8b8498}
.recover-page .recover-dates{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.recover-page .recovery-explain{max-width:470px;margin:4px auto 2px;padding:16px 18px;border-radius:18px}
.recover-page .recover-form .primary-button{max-width:470px;margin:2px auto 0;min-height:60px;border-radius:16px;font-size:17px}
.recover-page .recover-footer-links{max-width:470px;margin-left:auto;margin-right:auto}
.recover-page .site-footer{background:#17142a;color:rgba(255,255,255,.58);padding:26px 20px}
.recover-page .site-footer a{color:rgba(255,255,255,.78)}
@media(max-width:980px){.recover-page .auth-card{grid-template-columns:1fr;min-height:0}.recover-page .auth-visual{min-height:auto}.recover-page .auth-form-panel{padding:30px 22px 36px!important}.recover-page .recover-form,.recover-page .recovery-explain,.recover-page .recover-footer-links{max-width:560px}}
@media(max-width:600px){.recover-page .auth-shell{width:calc(100% - 18px);margin:10px auto 28px;padding-top:8px}.recover-page .auth-card{border-radius:26px}.recover-page .auth-visual{padding:30px 22px}.recover-page .auth-visual h1{font-size:38px}.recover-page .auth-visual p{font-size:15px}.recover-page .recover-dates{grid-template-columns:1fr}.recover-page .modern-form input{height:56px}.recover-page .site-footer{padding-bottom:34px}}
.known-user.slim{margin-bottom:16px}.mini-form{display:grid;gap:10px}.mini-form input{width:100%;padding:13px 14px;border:1px solid #e6e0f0;border-radius:14px;background:#fff;font:inherit}.success-caption{display:block;margin-top:10px;color:#198754;font-weight:700}

.family-v33{padding-bottom:90px}.family-builder-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#221445,#5135a8 55%,#9b57c8);color:#fff;border-radius:34px;padding:38px 42px;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:30px;box-shadow:0 26px 70px rgba(48,28,93,.24)}
.family-builder-hero h1{font-size:clamp(34px,5vw,62px);line-height:1.02;margin:8px 0 16px;max-width:760px}.family-builder-hero p{font-size:17px;line-height:1.65;max-width:790px;color:rgba(255,255,255,.83)}.family-price-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.family-price-legend span{padding:10px 14px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.1);border-radius:999px;font-size:13px}.family-price-legend b{color:#fff}
.family-orbit-stack{position:relative;min-height:210px}.orbit-person{position:absolute;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.96);color:#5a3eb2;font-weight:900;box-shadow:0 18px 40px rgba(12,5,38,.28);border:6px solid rgba(255,255,255,.2)}.orbit-person.main{width:104px;height:104px;left:70px;top:48px;font-size:32px}.orbit-person.one{width:62px;height:62px;right:18px;top:12px;font-size:27px}.orbit-person.two{width:72px;height:72px;left:0;bottom:8px;font-size:27px}.orbit-person.three{width:58px;height:58px;right:6px;bottom:12px;font-size:24px}
.family-people-section,.pair-constructor,.member-detail-section{margin-top:30px}.family-people-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.family-person-card,.family-add-card{min-height:104px;border-radius:22px;border:1px solid #e9e2f3;background:#fff;padding:16px;display:flex;align-items:center;gap:13px;text-decoration:none;color:#281d3c;box-shadow:0 10px 28px rgba(54,35,89,.06);transition:.2s ease;position:relative}.family-person-card:hover,.family-person-card.active,.family-add-card:hover{transform:translateY(-2px);border-color:#9174ef;box-shadow:0 16px 36px rgba(86,57,151,.14)}.family-person-avatar{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#efeaff,#fff4fa);font-size:21px;font-weight:900;color:#6946d8;flex:0 0 auto}.family-person-card b,.family-add-card b{display:block;font-size:16px}.family-person-card small,.family-add-card small{display:block;color:#82798f;margin-top:4px;font-size:12px}.family-person-card .access-dot{position:absolute;right:10px;top:10px;font-size:10px;font-style:normal;font-weight:800;padding:5px 8px;border-radius:999px;background:#fff1e6;color:#c55e13}.family-person-card .access-dot.family,.family-person-card .access-dot.full{background:#e7f9ee;color:#18814c}.family-add-card{cursor:pointer;justify-content:center;flex-direction:column;border-style:dashed;color:#685f73}.family-add-card span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#ede7ff;color:#6848dc;font-size:26px}
.family-builder.is-collapsed{display:none}.family-v33 .family-builder{margin-top:28px;border-radius:28px;background:linear-gradient(180deg,#fff,#faf8ff);border:1px solid #e9e3f3;box-shadow:0 18px 48px rgba(48,31,78,.08)}.family-form-actions{display:flex;gap:14px;align-items:center;margin-top:16px}.family-form-actions .text-button{border:0;background:none;cursor:pointer}
.pair-constructor{padding:26px;border-radius:28px;background:linear-gradient(135deg,#fff,#f8f5ff);border:1px solid #e8e1f5;box-shadow:0 15px 40px rgba(54,37,90,.07)}.pair-constructor-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:20px}.pair-constructor-title h2{margin:5px 0 0}.pair-constructor-title>span{font-size:12px;font-weight:800;padding:8px 12px;border-radius:999px;background:#e9f8ef;color:#167a46}.pair-select-form{display:grid;grid-template-columns:1fr auto 1fr auto;gap:14px;align-items:end}.pair-select-form label small{display:block;margin-bottom:7px;color:#796f87;font-weight:700}.pair-select-form select{width:100%;padding:14px;border:1px solid #ded6ea;border-radius:15px;background:#fff;font:inherit}.pair-heart{font-size:28px;color:#df6ca5;padding-bottom:10px}
.pair-stage{margin-top:26px}.zodiac-note{margin:16px 0;padding:14px 16px;border-radius:16px;background:#f6f1ff;color:#5e5271;line-height:1.55;font-size:14px}.compat-tips.soft-locked{background:linear-gradient(145deg,#fffaf4,#fff)}.locked-family-copy{display:flex;gap:12px;align-items:flex-start}.locked-family-copy>span{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#ffe9cd;color:#b66016;flex:0 0 auto}.mini-unlock-link{display:block;margin-top:10px;padding:11px 13px;border-radius:13px;background:#6d4cdd;color:#fff;text-decoration:none;font-weight:800;font-size:13px}
.member-detail-section{padding:28px;border-radius:30px;background:#fff;border:1px solid #e8e1f1;box-shadow:0 18px 48px rgba(47,31,76,.08)}.member-statuses{display:flex;gap:8px;flex-wrap:wrap}.member-statuses span{padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800}.member-statuses .open{background:#e6f8ed;color:#167749}.member-statuses .locked{background:#f4effa;color:#786d86}.member-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.member-product{border-radius:24px;padding:22px;border:1px solid #e8e1f2;position:relative;overflow:hidden}.member-product:before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-65px;top:-80px;background:rgba(120,82,229,.08)}.member-product.family-product{background:linear-gradient(145deg,#fff8ee,#fff)}.member-product.full-product{background:linear-gradient(145deg,#f4f0ff,#fff)}.member-product small{color:#7b7187;font-weight:800}.member-product h3{margin:8px 0}.member-product p{color:#665d70;line-height:1.55}.product-opened{display:inline-flex;padding:10px 13px;border-radius:12px;background:#e7f8ed;color:#16784a}
.child-profile-rich{margin-top:24px;padding:26px;border-radius:28px;background:linear-gradient(140deg,#fdf9ff,#f4fbff);border:1px solid #e6e2f1}.child-profile-intro p{max-width:780px;color:#6c6377;line-height:1.55}.child-symbol-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:20px 0}.child-symbol-grid span{padding:15px;border-radius:18px;background:#fff;border:1px solid #e9e4ef}.child-symbol-grid small{display:block;color:#8b8195;margin-bottom:5px}.child-symbol-grid b{color:#3c2c54}.child-recommend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.child-recommend-grid article{padding:17px;border-radius:19px;background:#fff;border:1px solid #ece6f2}.child-recommend-grid article.wide{grid-column:1/-1}.child-recommend-grid h3{margin:0 0 8px;font-size:16px}.child-recommend-grid p{margin:0;color:#655c70;line-height:1.55}.child-recommend-grid small{display:block;margin-top:7px;color:#948a9e}.child-disclaimer{display:block;margin-top:14px;color:#8f8698}

@media(max-width:900px){.family-builder-hero{grid-template-columns:1fr;padding:30px}.family-orbit-stack{display:none}.pair-select-form{grid-template-columns:1fr}.pair-heart{display:none}.member-product-grid{grid-template-columns:1fr}.child-symbol-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pair-constructor-title{align-items:flex-start;flex-direction:column}.family-people-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.passwordless-card .auth-form-panel{min-height:auto}.recover-page .recover-dates{grid-template-columns:1fr}.family-builder-hero{padding:24px 20px;border-radius:26px}.family-builder-hero h1{font-size:36px}.family-price-legend{display:grid}.family-people-strip{grid-template-columns:1fr}.family-person-card,.family-add-card{min-height:88px}.pair-constructor,.member-detail-section{padding:20px;border-radius:24px}.child-symbol-grid,.child-recommend-grid{grid-template-columns:1fr}.child-recommend-grid article.wide{grid-column:auto}.family-form-actions{align-items:stretch;flex-direction:column}.member-statuses{margin-top:10px}}

/* ====== Натальная карта 4.1 (раздел 6) ====== */
.natal-mode-switch{display:inline-flex;gap:4px;background:#f0ebff;border-radius:999px;padding:4px;margin-top:8px}
.natal-mode-btn{border:0;background:transparent;padding:8px 18px;border-radius:999px;font-weight:600;color:#5a4aa8;cursor:pointer;font-size:15px;min-height:40px}
.natal-mode-btn.active{background:#6c52e8;color:#fff;box-shadow:0 4px 12px rgba(108,82,232,.3)}
.natal-positions-title{margin:24px 0 12px;font-size:20px;color:#2e2057}
.natal-positions{overflow-x:auto;-webkit-overflow-scrolling:touch}
.natal-positions-table{width:100%;border-collapse:collapse;font-size:15px;min-width:480px}
.natal-positions-table th{text-align:left;padding:10px 12px;background:#f4efff;color:#4a378d;font-weight:600;border-bottom:2px solid #e0d6ff}
.natal-positions-table td{padding:10px 12px;border-bottom:1px solid #efe9fb;color:#332261}
.natal-positions-table tr:last-child td{border-bottom:0}
.natal-warn{margin-top:14px;padding:12px 14px;background:#fff5ec;border:1px solid #ffd9b0;border-radius:12px;color:#8a5a1e;font-size:15px;line-height:1.5}
@media(max-width:560px){.natal-positions-table{font-size:14px}.natal-mode-btn{padding:8px 14px;font-size:14px}}

/* ====== Демо-чтение 4.1 (раздел 7): показываем реальный фрагмент, без скрытия ====== */
.demo-insight .demo-fragment{color:#5a6178;font-size:.9rem;line-height:1.5;margin:10px 0 14px}
.demo-unlock{display:inline-block;text-decoration:none;font-weight:800;font-size:.82rem;color:var(--v3-violet);background:#f1edff;border-radius:10px;padding:8px 13px}
.demo-unlock:hover{background:#e6ddff}
/* демо-текст в разделах HD теперь полностью читается */
.reading-card-v3.has-premium-tail .reading-text{max-height:none;overflow:visible}

/* ====== Личный кабинет 4.1: вкладки и группировка по человеку (разделы 8, 27) ====== */
.account-tabs{display:flex;gap:6px;background:#f0ebff;border-radius:16px;padding:6px;margin:22px 0 24px;flex-wrap:wrap}
.account-tab{border:0;background:transparent;padding:11px 20px;border-radius:12px;font-weight:700;color:#5a4aa8;cursor:pointer;font-size:15px;min-height:44px}
.account-tab.active{background:#fff;color:#3a2b7a;box-shadow:0 4px 14px rgba(108,82,232,.18)}
.account-tab em{font-style:normal;background:#6c52e8;color:#fff;border-radius:999px;padding:1px 8px;font-size:.72rem;margin-left:4px}
.person-group{background:#fff;border:1px solid var(--v3-border,#e8e2f5);border-radius:24px;padding:22px;margin-bottom:18px;box-shadow:0 12px 34px rgba(38,40,73,.06)}
.person-group.is-primary{border-color:#cdbcff;background:linear-gradient(160deg,#fff,#f7f4ff)}
.person-group-head{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}
.person-badge{width:56px;height:56px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#6c52e8,#9a7bf5);color:#fff;font-size:1.5rem;font-weight:800}
.person-group.is-primary .person-badge{background:linear-gradient(145deg,#e0991c,#f5c451)}
.person-group-head h2{margin:4px 0;font-size:1.4rem;color:#2e2057}
.sub-section{margin-top:18px;padding-top:16px;border-top:1px dashed #e4dcf7}
.sub-title{display:flex;align-items:center;gap:8px;font-weight:700;color:#4a378d;margin-bottom:12px;font-size:.95rem}
.sub-title span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#f0ebff}
.sub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.mini-reading{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:13px 14px;border-radius:15px;background:#faf8ff;border:1px solid #ece5fb}
.mini-reading.pending{background:#fff8ec;border-color:#ffe0b8}
.mini-ic{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#fff;color:#6c52e8;font-size:1.1rem}
.mini-reading b{display:block;font-size:.95rem;color:#2e2057}
.mini-reading small{display:block;color:#7a7790;font-size:.74rem}
.mini-reading a{text-decoration:none;font-weight:800;font-size:.8rem;color:#6c52e8;background:#fff;border-radius:9px;padding:7px 11px;white-space:nowrap}
.person-group-foot{margin-top:16px}
.daily-cabinet-card{background:linear-gradient(150deg,#2a2150,#5a3fc0);color:#fff;border-radius:22px;padding:22px;margin-bottom:14px}
.daily-cabinet-card .block-label{color:#ccbdff}
.daily-cab-head{display:flex;align-items:center;gap:14px}
.daily-cab-head>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.16);font-size:1.5rem}
.daily-cab-head h3{margin:2px 0;color:#fff}
.daily-cabinet-card .muted{color:rgba(255,255,255,.7)}
.daily-cab-actions{display:flex;gap:14px;align-items:center;margin-top:16px;flex-wrap:wrap}
.daily-cab-actions .text-button{color:#d9ccff}
.account-grid-side{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.empty-state.soft{background:#f7f4ff;border-radius:20px;padding:36px 24px;text-align:center}
@media(max-width:560px){.person-group-head{grid-template-columns:auto 1fr}.person-group-head .secondary-button{grid-column:2;width:max-content;margin-top:6px}.account-tab{padding:10px 14px;font-size:14px}.sub-grid{grid-template-columns:1fr}}

/* ====== Семейные доступы: по человеку, два уровня ====== */
.family-cart-section{margin-top:30px;padding:26px 28px;border-radius:28px;background:linear-gradient(135deg,#fff,#f8f5ff);border:1px solid #e8e1f5;box-shadow:0 15px 40px rgba(54,37,90,.07)}
.family-access-accordion-toggle{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:0;border:0;background:transparent;cursor:pointer;text-align:left;font:inherit;color:inherit}
.family-access-accordion-toggle:hover .family-access-chevron{color:#5a3fc0}
.family-access-accordion-head h2{margin:4px 0 0;font-size:1.35rem;color:#2e2057}
.family-access-accordion-status{text-align:right}
.family-access-accordion-status b{display:block;color:#2e2057;font-size:1.25rem;line-height:1.1}
.family-access-accordion-status b.family-access-status-ok{color:#22a06b;font-size:1.1rem}
.family-access-accordion-status small{display:block;margin-top:2px;color:#7a7790;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.family-access-chevron{align-self:center;font-size:1rem;color:#9a93ad;transition:transform .2s,color .2s}
.family-access-accordion-toggle[aria-expanded="true"] .family-access-chevron{transform:rotate(180deg)}
.family-access-accordion-body{margin-top:18px}
.family-access-accordion-body.is-collapsed{display:none}
.family-access-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}
.family-access-badge.is-required{background:#fff3e0;color:#b45309}
.family-access-badge.is-optional{background:#f0ebff;color:#6b4fc0}
.family-access-intro{margin:0 0 16px;padding:14px 16px;border-radius:14px;background:#f7f4ff;border:1px solid #ece5fb;color:#5a5370;font-size:.86rem;line-height:1.5}
.family-access-intro b{color:#2e2057}
.family-access-owner,.family-access-person{border-radius:18px;border:1px solid #ece5fb;background:#fff;overflow:hidden}
.family-access-owner{margin-bottom:12px}
.family-access-owner.is-paid{border-color:#bfe8d3;background:#f8fdf9}
.family-access-owner.is-pending{border-color:#ffe0b8;background:#fffaf2}
.family-access-owner-head{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px 18px}
.family-access-owner-head small{display:block;color:#7a7790;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.family-access-owner-head b{display:block;color:#2e2057;font-size:1.05rem}
.family-access-owner-head em{display:block;margin-top:2px;font-style:normal;color:#7a7790;font-size:.8rem}
.family-access-owner-action{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.family-access-owner-note{margin:0;padding:0 18px 16px;color:#7a7790;font-size:.8rem;line-height:1.45}
.family-access-people{display:flex;flex-direction:column;gap:12px}
.family-access-person{border-color:#e8e1f2}
.family-access-person.is-complete{border-color:#bfe8d3;background:#fcfffd}
.family-access-person-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid #f0ebf8;background:#faf8ff}
.family-access-person-head b{display:block;color:#2e2057;font-size:1rem}
.family-access-person-head small{display:block;color:#7a7790;font-size:.78rem;margin-top:2px}
.family-access-complete{font-style:normal;color:#22a06b;font-weight:800;font-size:.78rem;white-space:nowrap}
.family-access-tiers{display:flex;flex-direction:column}
.family-access-tier{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:13px 18px;border-top:1px solid #f3effa}
.family-access-tier:first-child{border-top:0}
.family-access-tier.is-paid{background:#f8fdf9}
.family-access-tier.is-pending{background:#fffaf2}
.family-access-tier.is-optional.is-pending{background:#fbf9ff}
.family-access-tier-copy b{display:block;color:#2e2057;font-size:.92rem}
.family-access-tier-copy small{display:block;color:#7a7790;font-size:.76rem;line-height:1.35;margin-top:2px}
.family-access-tier-action{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.cart-price{font-size:1.05rem;color:#2e2057;font-weight:800;white-space:nowrap}
.cart-paid{font-style:normal;color:#22a06b;font-weight:700;font-size:.82rem;white-space:nowrap}
.cart-buy,.cart-open{text-decoration:none;font-weight:800;font-size:.8rem;border-radius:10px;padding:8px 12px;border:0;cursor:pointer;white-space:nowrap}
.cart-buy{background:#6c52e8;color:#fff}
.cart-open{background:#eef1f6;color:#3a2b7a}
.family-cart-total{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;margin-top:16px;padding:18px 20px;border-radius:18px;background:linear-gradient(150deg,#2a2150,#5a3fc0);color:#fff}
.family-cart-total small{display:block;opacity:.7;font-size:.72rem}
.family-cart-total b{display:block;font-size:1.7rem}
.family-cart-total span{display:block;opacity:.7;font-size:.74rem}
.family-cart-total .muted{color:rgba(255,255,255,.72);margin:0}
.family-cart-done{margin-top:16px;padding:16px 18px;border-radius:16px;background:#f1fbf6;border:1px solid #bfe8d3;color:#1c7a52}.family-cart-done b{display:block;font-weight:800;font-size:.95rem}.family-cart-done span{display:block;margin-top:5px;font-weight:500;font-size:.84rem;line-height:1.45;color:#3d8f65}.family-cart-done.is-solo span,.family-cart-done.is-optional span{color:#5a6370}
@media(max-width:700px){.family-cart-section{padding:20px;border-radius:24px}.family-access-accordion-toggle{grid-template-columns:1fr auto;grid-template-areas:"head status" "head chevron"}.family-access-accordion-head{grid-area:head}.family-access-accordion-status{grid-area:status}.family-access-chevron{grid-area:chevron}.family-access-owner-head,.family-access-person-head,.family-access-tier{grid-template-columns:1fr}.family-access-owner-action,.family-access-tier-action{justify-content:flex-start}.family-access-complete{grid-column:1/-1}.family-cart-total{grid-template-columns:1fr}}

/* ====== Корзина в шапке + выезжающая панель (раздел 27) ====== */
.cart-button{position:relative;border:0;background:rgba(255,255,255,.14);color:inherit;width:46px;height:46px;border-radius:14px;cursor:pointer;font-size:1.25rem;display:grid;place-items:center;margin-left:auto}
.site-header .cart-button{margin-left:14px}
.cart-button.has-items{background:#6c52e8;color:#fff}
.cart-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;border-radius:999px;background:#e2766b;color:#fff;font-size:.72rem;font-weight:800;display:grid;place-items:center;padding:0 5px}
.cart-overlay{position:fixed;inset:0;background:rgba(20,16,45,.45);opacity:0;pointer-events:none;transition:opacity .2s;z-index:90}
.cart-overlay.is-open{opacity:1;pointer-events:auto}
.cart-panel{position:fixed;top:0;right:0;height:100%;width:min(420px,92vw);background:#fff;box-shadow:-20px 0 60px rgba(20,16,45,.25);transform:translateX(100%);transition:transform .26s ease;z-index:91;display:flex;flex-direction:column}
.cart-panel.is-open{transform:translateX(0)}
.cart-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #eee6fb}
.cart-head b{font-size:1.2rem;color:#2e2057}
.cart-close{border:0;background:#f1edff;width:36px;height:36px;border-radius:10px;cursor:pointer;font-size:1rem;color:#5a4aa8}
.cart-items{flex:1;overflow-y:auto;padding:16px 22px}
.cart-empty{text-align:center;color:#8a87a0;padding:50px 10px}.cart-empty span{font-size:2.4rem;display:block;margin-bottom:10px}
.cart-line{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #f1ecfb}
.cart-line-copy b{display:block;color:#2e2057;font-size:.98rem}.cart-line-copy small{display:block;color:#7d7a93;font-size:.78rem}
.cart-line-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.cart-line-right b{color:#2e2057}
.cart-remove{border:0;background:#f5f1ff;width:28px;height:28px;border-radius:8px;cursor:pointer;color:#9a90b5}
.cart-foot{padding:18px 22px;border-top:1px solid #eee6fb}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}.cart-total b{font-size:1.5rem;color:#2e2057}
.cart-note{font-size:.76rem;color:#8a87a0;margin:10px 0 0;text-align:center}
.in-cart{background:#22a06b!important;color:#fff!important}
/* ====== Плюсы / биоритмы / ворота ====== */
.strengths-section{margin-top:40px}
.strengths-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.strength-card{display:flex;gap:12px;align-items:flex-start;padding:18px;border-radius:18px;background:linear-gradient(150deg,#fff,#f3fbf6);border:1px solid #cdeede}
.strength-card span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#22a06b;color:#fff;font-weight:800;flex:0 0 auto}
.strength-card p{margin:0;color:#37414f;line-height:1.5}
.biorhythm-personal{margin-top:40px}
.biorhythm-personal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.biorhythm-cycle-card{padding:18px;border-radius:18px;background:#fff;border:1px solid #ece5fb}
.biorhythm-cycle-card b{display:block;color:#2e2057;margin-bottom:12px}
.bio-bar{height:10px;border-radius:999px;background:#f0ebff;overflow:hidden}
.bio-bar em{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#6c52e8,#9a7bf5)}
.biorhythm-cycle-card.up .bio-bar em{background:linear-gradient(90deg,#22a06b,#4bd39a)}
.biorhythm-cycle-card.down .bio-bar em{background:linear-gradient(90deg,#e2766b,#f0a59c)}
.bio-meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:8px}.bio-meta span{font-weight:800;color:#2e2057}.bio-meta small{color:#8a87a0}
.bio-disclaimer{font-size:.78rem;margin-top:14px}
.gates-summary{margin-top:18px;padding:20px;border-radius:20px;background:linear-gradient(150deg,#f7f4ff,#fff);border:1px solid #e6ddff}
.gates-summary-head{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.gates-summary-head span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#6c52e8;color:#fff;font-size:1.2rem}
.gates-summary-head b{display:block;color:#2e2057}.gates-summary-head small{display:block;color:#7d7a93;font-size:.82rem}
.gates-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.gate-chip{display:grid;place-items:center;min-width:38px;height:38px;border-radius:11px;background:#fff;border:1px solid #d8ccf7;color:#4a378d;font-weight:800;padding:0 8px}
.gate-chip.channel{background:#efe9ff;border-color:#c9b9f5}
.cart-review{max-width:640px;margin:0 auto}
.cart-review-list{margin:18px 0}
.cart-review-row{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid #eee6fb}
.cart-review-row b{color:#2e2057}.cart-review-row small{display:block;color:#7d7a93;font-size:.8rem}
.cart-review-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:16px;font-size:1.1rem}.cart-review-total b{font-size:1.6rem;color:#2e2057}
.cart-checkout-form{margin-top:20px}
@media(max-width:560px){.biorhythm-personal-grid{grid-template-columns:1fr}.strengths-grid{grid-template-columns:1fr}}

/* ====== РеДизайн 4.1 · итерация A ====== */
button.demo-unlock,.premium-tail button,.mini-unlock-link,.cart-buy{font:inherit;border:0;cursor:pointer}
.premium-tail button{border-radius:10px;padding:8px 11px;background:#fff;color:var(--v3-violet);font-weight:850;font-size:.76rem;white-space:nowrap}
.assistant-context{margin:0 24px 10px;padding:10px 12px;border-radius:12px;background:#f2efff;border:1px solid #e2d9ff;color:#4a378d;font-size:.82rem;line-height:1.45}
.assistant-context b{color:#2e2057}

.daily-history{margin-top:18px;padding-top:16px;border-top:1px solid rgba(93,68,201,.13);display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.daily-history>b{color:#3d2b77;font-size:.88rem}
.daily-history>div,.cabinet-history>div{display:flex;gap:7px;flex-wrap:wrap}
.daily-history a,.cabinet-history a{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:7px 9px;border-radius:10px;text-decoration:none;font-weight:780;font-size:.78rem;background:#fff;color:#5d46c8;border:1px solid #ded5fa}
.daily-history a.active{background:#6c52e8;color:#fff;border-color:#6c52e8}
.daily-retry{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.daily-retry .secondary-button{flex:0 0 auto}
.cabinet-history{margin-top:14px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.1)}
.cabinet-history>small{display:block;margin-bottom:8px;color:rgba(255,255,255,.72)}
.cabinet-history a{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.2);color:#fff}

.demo-roadmap{margin-top:38px;padding:clamp(24px,4vw,38px);border-radius:28px;background:linear-gradient(145deg,#fff,#f6f2ff);border:1px solid #e4dbfb;display:grid;grid-template-columns:minmax(220px,.8fr) 1.6fr;gap:28px;align-items:center}
.demo-roadmap h2{margin:6px 0 10px;color:#2e2057}.demo-roadmap p{margin:0;color:#6f6b83}
.demo-roadmap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.demo-roadmap-grid span{display:block;padding:16px;border-radius:16px;background:#fff;border:1px solid #ebe4fa;color:#625d73;font-size:.83rem;line-height:1.45}
.demo-roadmap-grid b{display:block;color:#4a378d;margin-bottom:5px}

.gates-kind{display:grid;grid-template-columns:92px 1fr;gap:12px;align-items:start;margin-top:12px}
.gates-kind>b{padding-top:9px;color:#4a378d;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}
.gates-kind .gates-chips{margin:0}
.gate-chip{display:inline-flex;gap:3px;white-space:nowrap;line-height:1}
.gate-chip small{font-size:.58rem;color:#8a7ab8;font-weight:700}
.gate-chip.channel{min-width:64px;letter-spacing:.02em}
.gate-details{margin-top:18px;border:1px solid #e2d8fa;border-radius:20px;background:#fff;overflow:hidden}
.gate-details summary{cursor:pointer;list-style:none;padding:16px 18px;font-weight:850;color:#3f2e7a;background:#f7f4ff;display:flex;justify-content:space-between;gap:12px}
.gate-details summary::-webkit-details-marker{display:none}.gate-details summary span{display:grid;place-items:center;min-width:26px;height:26px;border-radius:999px;background:#6c52e8;color:#fff;font-size:.75rem}
.gate-detail-grid{padding:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.gate-detail-grid article{padding:17px;border-radius:16px;background:#fcfbff;border:1px solid #eee8fb}
.gate-detail-grid h3{margin:6px 0 9px;color:#2e2057;font-size:1rem}

.cart-clear{width:100%;margin-top:10px;border:0;border-radius:12px;padding:11px;background:#f4f0fb;color:#6d5d91;font-weight:780;cursor:pointer}
.cart-clear:hover{background:#ebe4f7}.cart-buy{border:0;cursor:pointer}

.purchase-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.archive-form{display:inline-flex;margin:0}.archive-button{border:0;background:transparent;color:#8a7c9f;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:.76rem;padding:5px}
.archive-button:hover{color:#5d46c8}
.mini-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.mini-actions>button{border:0;background:#fff;color:#6c52e8;border-radius:9px;padding:7px 11px;font-weight:800;font-size:.8rem;cursor:pointer;white-space:nowrap}
.mini-actions .archive-button{background:transparent;padding:4px;font-size:.7rem;color:#9a8eaa}
.archive-intro{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px}.archive-intro h2{margin:5px 0;color:#2e2057}.archive-intro p{max-width:470px;margin:0}
.archive-list{display:flex;flex-direction:column;gap:10px}
.archive-row{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:15px 17px;border-radius:16px;background:#faf8ff;border:1px solid #e9e2f8}
.archive-row>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#eee8fa;color:#6c52e8}
.archive-row b,.archive-row small{display:block}.archive-row b{color:#2e2057}.archive-row small{color:#858097;font-size:.76rem}
.archive-row .archive-button{border-radius:10px;background:#fff;text-decoration:none;padding:9px 13px;color:#5d46c8;font-weight:800}
.mini-unlock-link{display:block;width:100%;text-align:left;margin-top:8px;background:#fff;border:1px solid #e4daf9;color:#5d46c8;border-radius:11px;padding:10px 12px;font-weight:800}
.member-product .primary-button{width:100%}

@media(max-width:760px){
 .demo-roadmap{grid-template-columns:1fr}.demo-roadmap-grid{grid-template-columns:1fr}
 .gates-kind{grid-template-columns:1fr;gap:5px}.gates-kind>b{padding-top:0}
 .purchase-actions{grid-column:2;justify-content:flex-start}.archive-intro{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
 .premium-tail button{grid-column:2;width:max-content}.daily-retry .secondary-button{width:100%}
 .archive-row{grid-template-columns:auto 1fr}.archive-row .archive-form{grid-column:2}
 .mini-reading{grid-template-columns:auto 1fr}.mini-actions{grid-column:2;justify-content:flex-start}
}
@media(max-width:760px){.mobile-buy-bar button{border:0;text-decoration:none;background:#fff;color:var(--v3-violet);font-weight:900;padding:11px 16px;border-radius:12px;cursor:pointer}}

@media(max-width:390px){.time-card .inline-help{padding:2px 0}.time-card.is-approximate::after{right:9px;top:6px}.place-facts>span{min-width:0}.place-facts{gap:12px}}

/* Итерация B: длинная персональная ИИ-расшифровка */
.personal-reading-state{margin:42px 0 10px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px 18px;border-radius:18px;border:1px solid #dcefe9;background:linear-gradient(135deg,#f0fcf8,#fff);color:#285c50}
.personal-reading-state>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#dff7ef;color:#14866f;font-weight:900;font-size:1.15rem}
.personal-reading-state b,.personal-reading-state p{display:block;margin:0}.personal-reading-state p{margin-top:3px;color:#6d7774;font-size:.82rem}
.personal-reading-state.has-error{border-color:#f1d8b7;background:linear-gradient(135deg,#fff8e9,#fff)}.personal-reading-state.has-error>span{background:#fff0cf;color:#9a6717}
.premium-insights-grid.long-form{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-insights-grid.long-form .premium-insight{min-height:0;padding:27px}
.personal-copy{color:#656b82;font-size:.9rem;line-height:1.72;position:relative;z-index:2}.knowledge-text .personal-copy{color:#555d72}
.recommendation-grid.long-form{grid-template-columns:repeat(2,minmax(0,1fr))}.recommendation-grid.long-form article{padding:27px}.recommendation-grid .personal-copy{font-size:.89rem}
.symbolic-disclaimer{margin:15px 0 0;color:#858093;font-size:.74rem;text-align:center}
@media(max-width:760px){.personal-reading-state{grid-template-columns:auto 1fr;align-items:start}.personal-reading-state .secondary-button{grid-column:2;width:100%}.premium-insights-grid.long-form,.recommendation-grid.long-form{grid-template-columns:1fr}}

/* ========================================================================== 
   РеДизайн 4.1 · итерация C: детская карта, синастрия, биоритмы по датам
   ========================================================================== */
.biorhythm-card.expanded{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:start}
.biorhythm-date-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-top:14px}
.biorhythm-date-form label{display:flex;flex-direction:column;gap:6px;min-width:190px}
.biorhythm-date-form label span{font-size:.7rem;font-weight:850;color:#6d657a}
.biorhythm-date-form input{height:44px;padding:0 12px;border:1px solid #ded7eb;border-radius:12px;background:#fff;color:#31283f;font:inherit}
.biorhythm-date-form .secondary-button{min-height:44px;padding:0 16px}
.biorhythm-cycles article>small{display:block;margin-top:10px;color:#7d7489;font-size:.68rem;font-weight:800}
.biorhythm-week{grid-column:1/-1;padding-top:15px;border-top:1px solid #ebe6f2}
.biorhythm-week>b{display:block;margin-bottom:10px}
.biorhythm-week>div{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.biorhythm-week a{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 7px;border-radius:13px;background:#fff;border:1px solid #ebe6f2;text-decoration:none;color:#665e73;font-size:.7rem}
.biorhythm-week a b{color:#4e3f82;font-size:.85rem}.biorhythm-week a.active{border-color:#7657ff;background:#f1edff;box-shadow:0 7px 18px rgba(91,65,194,.12)}

.synastry-panel{margin-top:16px;padding:27px;border-radius:27px;background:linear-gradient(145deg,#fff,#f8f5ff);border:1px solid #e6def3;box-shadow:0 15px 45px rgba(43,35,88,.06)}
.synastry-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-start}.synastry-head h3{font-size:2rem;margin:6px 0 8px}.synastry-head p{max-width:820px;color:#6b6477;line-height:1.65}
.synastry-score{width:108px;height:108px;flex:0 0 auto;border-radius:32px;display:grid;place-content:center;text-align:center;background:linear-gradient(145deg,#e9fff8,#eee8ff);border:1px solid #d9d1ed}.synastry-score strong{font-size:2rem;color:#3e315d}.synastry-score span{font-size:.68rem;color:#81778d}
.synastry-stats{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.synastry-stats span{padding:7px 10px;border-radius:999px;background:#f0edf5;color:#6b6377;font-size:.7rem;font-weight:800}.synastry-stats .good{background:#e8f8ef;color:#1d7c50}.synastry-stats .tense{background:#fff0eb;color:#b15b3a}
.synastry-theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.synastry-theme-grid article{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:15px;border-radius:17px;background:#fff;border:1px solid #ebe5f2}.synastry-theme-grid article>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#eee9ff;color:#6749d2;font-size:1.05rem}.synastry-theme-grid b{display:block;font-size:.86rem}.synastry-theme-grid p{margin:5px 0 0;color:#756d80;line-height:1.45;font-size:.72rem}.synastry-theme-grid em{font-style:normal;font-size:.8rem;font-weight:900;color:#513d93}
.synastry-aspects{margin-top:23px}.synastry-aspects h4,.synastry-guidance h4{margin:0 0 11px}.synastry-aspects>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.synastry-aspects article{padding:15px;border-radius:17px;background:#fff;border:1px solid #ece6f3}.synastry-aspects article.harmonious{border-left:4px solid #43b98e}.synastry-aspects article.challenging{border-left:4px solid #e98261}.synastry-aspects article.mixed{border-left:4px solid #8a70dd}.aspect-title{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}.aspect-title>span{font-size:1.1rem;color:#5e45bc}.aspect-title b{font-size:.79rem}.aspect-title small{font-size:.62rem;color:#92899d}.synastry-aspects p{margin:10px 0 0;color:#6c6577;line-height:1.55;font-size:.76rem}
.synastry-guidance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:20px}.synastry-guidance article{padding:18px;border-radius:19px;background:#fff;border:1px solid #eae4f1}.synastry-guidance p{display:flex;gap:8px;margin:9px 0;color:#6d6677;line-height:1.5;font-size:.78rem}.synastry-guidance p span{font-weight:900;color:#42a983}.synastry-guidance article:last-child p span{color:#d96d4c}.synastry-note{margin:16px 0 0;padding-top:13px;border-top:1px solid #ebe5f2;color:#8a8194;font-size:.7rem;line-height:1.5}

.child-profile-expanded{padding:29px}.result-child-profile{margin-top:50px}
.child-profile-expanded .child-profile-intro{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.child-profile-expanded .child-profile-intro h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:7px 0}.child-profile-expanded .child-profile-intro p{margin:0}
.child-age-chip{display:inline-flex;padding:9px 12px;border-radius:999px;background:#ede8ff;color:#5b43b0;font-size:.7rem;font-weight:850;white-space:nowrap}
.child-symbol-grid.expanded{grid-template-columns:repeat(4,minmax(0,1fr))}.child-symbol-grid.expanded span{min-height:86px}.child-symbol-grid.expanded b{font-size:.83rem;line-height:1.35}
.child-names-card{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:18px;padding:21px;border-radius:21px;background:linear-gradient(145deg,#2c2255,#6548d1);color:#fff;margin:18px 0}.child-names-card h3{margin:0 0 7px}.child-names-card p{margin:0;color:rgba(255,255,255,.72);line-height:1.5;font-size:.78rem}.child-name-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.child-name-groups span{padding:12px;border-radius:14px;background:rgba(255,255,255,.1)}.child-name-groups small,.child-name-groups b{display:block}.child-name-groups small{font-size:.62rem;color:rgba(255,255,255,.68);margin-bottom:5px}.child-name-groups b{font-size:.76rem;line-height:1.4}
.child-parent-heading{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:20px;align-items:end;margin:24px 0 13px}.child-parent-heading h3{margin:6px 0 0}.child-parent-heading>p{margin:0;color:#6b6375;line-height:1.6}
.child-parent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.child-parent-grid article{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:17px;border-radius:19px;background:#fff;border:1px solid #eae4f1}.child-parent-grid article>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#f0ebff;color:#6749d5;font-size:1rem}.child-parent-grid h4{margin:0 0 6px;font-size:.9rem}.child-parent-grid p{margin:0;color:#696172;line-height:1.55;font-size:.78rem}
.child-recommend-grid.expanded{margin-top:12px}.child-recommend-grid.expanded article.wide{grid-column:auto}

@media(max-width:900px){.biorhythm-card.expanded{grid-template-columns:1fr}.synastry-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.child-symbol-grid.expanded{grid-template-columns:repeat(2,minmax(0,1fr))}.child-names-card,.child-parent-heading{grid-template-columns:1fr}.child-name-groups{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:650px){.biorhythm-week>div{grid-template-columns:repeat(4,minmax(0,1fr))}.synastry-panel{padding:20px}.synastry-head{flex-direction:column}.synastry-score{width:100%;height:auto;padding:14px;border-radius:18px}.synastry-theme-grid,.synastry-aspects>div,.synastry-guidance,.child-parent-grid{grid-template-columns:1fr}.aspect-title{grid-template-columns:auto 1fr}.aspect-title small{grid-column:2}.child-profile-expanded{padding:20px}.child-profile-expanded .child-profile-intro{flex-direction:column}.child-age-chip{white-space:normal}.child-name-groups{grid-template-columns:1fr}.child-symbol-grid.expanded{grid-template-columns:1fr 1fr}.child-parent-heading{margin-top:20px}}
@media(max-width:430px){.biorhythm-week>div{grid-template-columns:repeat(2,minmax(0,1fr))}.child-symbol-grid.expanded{grid-template-columns:1fr}.biorhythm-date-form label,.biorhythm-date-form .secondary-button{width:100%}}

/* ========================================================================== 
   РеДизайн 4.1 · итерация D: мобильное чтение, оглавление и прогресс
   ========================================================================== */
.result-v3.is-paid{--reader-sticky-top:76px}
.reading-navigator{position:sticky;top:var(--reader-sticky-top);z-index:26;margin:20px 0 28px;padding:13px 15px 12px;border:1px solid rgba(218,211,239,.94);border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 15px 42px rgba(47,34,96,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.reading-navigator-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.reading-nav-toggle{display:none;border:0;background:#f0ecff;color:#5239ab;border-radius:13px;min-height:44px;padding:0 13px;cursor:pointer;align-items:center;gap:8px}.reading-nav-toggle span{font-size:1.05rem}.reading-nav-toggle b{font-size:.76rem}
.reading-current{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:9px;align-items:baseline}.reading-current small{grid-row:1/3;padding:6px 8px;border-radius:9px;background:#ece7ff;color:#654cc3;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.reading-current b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#302452;font-size:.9rem}.reading-current span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#837a91;font-size:.68rem}
.reading-continue{border:0;border-radius:12px;padding:10px 13px;background:#6249dd;color:#fff;cursor:pointer;font-size:.72rem;font-weight:850;white-space:nowrap;box-shadow:0 8px 20px rgba(91,70,210,.2)}.reading-continue:hover{background:#4d35c5}.reading-continue[hidden]{display:none}
.reading-overall{margin-top:10px}.reading-overall>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:5px;color:#7c7488;font-size:.65rem}.reading-overall b{color:#51436c}.reading-progress-track{height:6px;border-radius:999px;overflow:hidden;background:#eeeaf5}.reading-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6549dd,#a475ef,#e78a82);transition:width .16s linear}
.reading-chapter-list{display:flex;gap:7px;margin-top:11px;overflow-x:auto;padding:1px 1px 4px;scrollbar-width:thin;scroll-snap-type:x proximity}.reading-chapter-link{scroll-snap-align:start;flex:0 0 auto;display:grid;grid-template-columns:auto auto auto auto;gap:6px;align-items:center;border:1px solid #e8e2f3;background:#fff;color:#675f73;border-radius:12px;min-height:38px;padding:6px 9px;cursor:pointer;transition:.16s}.reading-chapter-link>span{display:grid;place-items:center;width:23px;height:23px;border-radius:8px;background:#f0ecf8;color:#786b90;font-size:.59rem;font-weight:900}.reading-chapter-link b{font-size:.68rem;white-space:nowrap}.reading-chapter-link small{font-size:.58rem;color:#9890a2;white-space:nowrap}.reading-chapter-link i{display:none;width:18px;height:18px;border-radius:50%;place-items:center;background:#2cac78;color:#fff;font-style:normal;font-size:.58rem}.reading-chapter-link:hover{border-color:#b7a8e8;background:#fbfaff}.reading-chapter-link.is-active{border-color:#775de1;background:#f1edff;color:#493493;box-shadow:0 5px 13px rgba(90,65,184,.12)}.reading-chapter-link.is-active>span{background:#6c51dc;color:#fff}.reading-chapter-link.is-complete i{display:grid}.reading-chapter-link.is-complete{border-color:#bfe4d4}
[data-reading-chapter]{position:relative;outline:none}.chapter-reading-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px;padding-top:14px;border-top:1px dashed #ded7e9;color:#887f91;font-size:.68rem}.chapter-reading-tools>span b{color:#564a68}.chapter-reading-tools button{display:inline-flex;align-items:center;gap:7px;border:1px solid #dcd4e9;background:#fff;color:#5e526d;min-height:38px;padding:8px 12px;border-radius:12px;font-weight:800;cursor:pointer;font-size:.68rem}.chapter-reading-tools button i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#f0ebf7;color:#8a7a9c;font-style:normal;font-size:.65rem}.chapter-reading-tools button:hover{border-color:#a895dd;background:#faf8ff}.chapter-reading-tools.is-complete button{border-color:#acdcca;background:#ecf9f3;color:#18754f}.chapter-reading-tools.is-complete button i{background:#27a874;color:#fff}
.reading-subchapter{margin:15px 0 0;padding:13px 14px 14px;border:1px solid rgba(225,219,237,.9);border-radius:15px;background:rgba(255,255,255,.58)}.reading-subchapter:first-child{margin-top:11px}.reading-subchapter h4{margin:0 0 6px;color:#4e3b7d;font-size:.73rem;letter-spacing:.01em}.reading-subchapter p,.reading-subchapter>div{margin:0;color:inherit;font-size:inherit;line-height:inherit}.premium-insight .reading-subchapter,.recommendation-grid .reading-subchapter{background:rgba(255,255,255,.72)}.reading-card-v3 .reading-subchapter,.gate-detail-grid .reading-subchapter{background:#faf9fd}.reading-card-v3 .reading-subchapter h4,.gate-detail-grid .reading-subchapter h4{color:#5c49a3}

@media(max-width:780px){
 .result-v3.is-paid{--reader-sticky-top:67px}.reading-navigator{margin:14px -1px 23px;padding:10px 11px;border-radius:17px;top:var(--reader-sticky-top)}.reading-navigator-main{grid-template-columns:auto minmax(0,1fr);gap:9px}.reading-nav-toggle{display:inline-flex}.reading-current small{display:none}.reading-current{display:block}.reading-current b,.reading-current span{display:block}.reading-current b{font-size:.78rem}.reading-current span{font-size:.62rem}.reading-continue{grid-column:1/-1;width:100%;padding:9px 11px}.reading-overall{margin-top:8px}.reading-chapter-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-height:0;overflow:hidden;margin-top:0;padding:0;opacity:0;transition:max-height .24s ease,opacity .18s ease,margin .18s ease}.reading-navigator.is-open .reading-chapter-list{max-height:340px;overflow-y:auto;opacity:1;margin-top:10px;padding:1px}.reading-chapter-link{width:100%;grid-template-columns:auto minmax(0,1fr) auto;min-height:42px;padding:6px 8px;text-align:left}.reading-chapter-link b{overflow:hidden;text-overflow:ellipsis}.reading-chapter-link small{display:none}.reading-chapter-link i{grid-column:3}.chapter-reading-tools{align-items:stretch;flex-direction:column}.chapter-reading-tools button{width:100%;justify-content:center}.reading-subchapter{padding:12px 13px}
}
@media(max-width:430px){.reading-chapter-list{grid-template-columns:1fr}.reading-navigator.is-open .reading-chapter-list{max-height:390px}.reading-current span{max-width:190px}.reading-overall>div:first-child{font-size:.61rem}}

/* ========================================================================== 
   РеДизайн 4.2: быстрая подгрузка персональных текстов и новый атлас ворот
   ========================================================================== */
.personal-reading-state.is-loading{border-color:#ddd5ff;background:linear-gradient(135deg,#f5f2ff,#fff);color:#49358e;overflow:hidden}
.personal-reading-state.is-loading>.personal-state-icon{background:#e8e1ff;color:#674bd8;animation:personalSpin 1.15s linear infinite}
.personal-loading-track{height:5px;margin-top:10px;border-radius:999px;background:#eae5f5;overflow:hidden}
.personal-loading-track i{display:block;width:38%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6549dd,#bc75ef,#ea8a83);animation:personalLoad 1.7s ease-in-out infinite}
.personal-reading-state.is-ready .personal-loading-track,.personal-loading-track[hidden]{display:none}
.personal-retry[hidden]{display:none}
.is-personal-ready{animation:personalReady .45s ease both}
@keyframes personalSpin{to{transform:rotate(360deg)}}
@keyframes personalLoad{0%{transform:translateX(-120%)}55%{transform:translateX(140%)}100%{transform:translateX(280%)}}
@keyframes personalReady{from{transform:translateY(4px);opacity:.72}to{transform:none;opacity:1}}

.gate-atlas{margin-top:22px;padding:clamp(19px,3vw,28px);border-radius:28px;background:radial-gradient(circle at 88% 2%,rgba(121,91,235,.18),transparent 34%),linear-gradient(145deg,#272042,#3a2b67 58%,#4d3788);color:#fff;box-shadow:0 24px 60px rgba(53,38,101,.22);overflow:hidden}
.gate-atlas-head{display:flex;justify-content:space-between;gap:22px;align-items:center}
.gate-atlas-title{display:flex;align-items:center;gap:14px;min-width:0}.gate-atlas-title>span{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:16px;background:rgba(255,255,255,.12);font-size:1.35rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}
.gate-atlas-title small{display:block;color:#c9baf6;text-transform:uppercase;letter-spacing:.09em;font-size:.62rem;font-weight:850}.gate-atlas-title h3{margin:3px 0 4px;font-size:clamp(1.15rem,2.4vw,1.55rem)}.gate-atlas-title p{margin:0;color:rgba(255,255,255,.68);font-size:.78rem;line-height:1.45}
.gate-atlas-stats{display:flex;gap:8px;flex:0 0 auto}.gate-atlas-stats span{display:grid;place-items:center;min-width:72px;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.gate-atlas-stats b{font-size:1.2rem}.gate-atlas-stats small{font-size:.62rem;color:rgba(255,255,255,.65)}
.gate-legend{display:flex;gap:15px;flex-wrap:wrap;margin:17px 0 15px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);font-size:.66rem;color:rgba(255,255,255,.68)}.gate-legend span{display:inline-flex;align-items:center;gap:6px}.gate-legend i{width:10px;height:10px;border-radius:50%;background:#20263c}.gate-legend i.design{background:#ff766d}.gate-legend i.both{background:linear-gradient(90deg,#20263c 0 45%,#7457ff 45% 58%,#ff766d 58%)}
.gate-center-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.gate-center-card{min-width:0;padding:13px;border-radius:17px;background:rgba(255,255,255,.085);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}.gate-center-card header{display:flex;align-items:center;gap:7px;margin-bottom:10px}.gate-center-card header>i{width:9px;height:9px;border-radius:3px;background:var(--gate-accent);box-shadow:0 0 16px var(--gate-accent)}.gate-center-card header b{font-size:.72rem}.gate-center-card header small{margin-left:auto;display:grid;place-items:center;min-width:21px;height:21px;border-radius:999px;background:rgba(255,255,255,.1);font-size:.58rem;color:rgba(255,255,255,.7)}.gate-center-card>div{display:flex;flex-wrap:wrap;gap:7px}
.gate-node{position:relative;width:39px;height:39px;padding:0;border:0;border-radius:13px;background:#fff;color:#252b42;font-weight:900;cursor:pointer;box-shadow:0 6px 16px rgba(13,8,31,.18);transition:transform .16s ease,box-shadow .16s ease}.gate-node:before{content:"";position:absolute;left:4px;right:4px;bottom:3px;height:3px;border-radius:999px;background:#252b42}.gate-node.design:before{background:#ff766d}.gate-node.both:before{background:linear-gradient(90deg,#252b42 0 43%,#7457ff 43% 58%,#ff766d 58%)}.gate-node:hover,.gate-node:focus-visible{transform:translateY(-2px);box-shadow:0 10px 22px rgba(13,8,31,.28);outline:2px solid rgba(255,255,255,.42);outline-offset:2px}
.channel-flow{margin-top:15px;padding:14px;border-radius:18px;background:rgba(15,10,35,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.channel-flow-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:10px}.channel-flow-head b{font-size:.78rem}.channel-flow-head small{font-size:.62rem;color:rgba(255,255,255,.6)}.channel-flow-grid{display:flex;flex-wrap:wrap;gap:8px}.channel-path{display:grid;grid-template-columns:27px 28px 27px;grid-template-rows:27px auto;align-items:center;justify-items:center;border:0;border-radius:14px;padding:8px 10px 6px;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;transition:.16s;box-shadow:inset 0 0 0 1px rgba(255,255,255,.11)}.channel-path>span{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#fff;color:#342655;font-size:.7rem;font-weight:900}.channel-path>i{width:31px;height:3px;border-radius:999px;background:linear-gradient(90deg,#f1d85c,#9f7df0,#ff7b72)}.channel-path>small{grid-column:1/-1;margin-top:4px;color:rgba(255,255,255,.58);font-size:.56rem}.channel-path:hover{background:rgba(255,255,255,.17);transform:translateY(-1px)}

.gate-library{margin-top:17px;border:1px solid #e5def3;border-radius:24px;background:#fff;overflow:hidden}.gate-library-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;background:linear-gradient(135deg,#faf8ff,#f4f0ff)}.gate-library-head small{display:block;color:#806bbf;text-transform:uppercase;letter-spacing:.08em;font-size:.61rem;font-weight:850}.gate-library-head h3{margin:4px 0 4px;color:#302252}.gate-library-head p{margin:0;color:#7d7588;font-size:.76rem}.gate-expand-all{border:1px solid #d6cced;background:#fff;color:#5e46ad;border-radius:12px;padding:10px 13px;font-weight:820;cursor:pointer;white-space:nowrap}.gate-meaning-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px}.gate-meaning{border:1px solid #ece6f5;border-radius:16px;background:#fff;overflow:hidden;transition:border-color .18s,box-shadow .18s}.gate-meaning[open]{grid-column:1/-1;border-color:#cfc0ef;box-shadow:0 11px 30px rgba(69,48,123,.1)}.gate-meaning.is-highlighted{animation:gatePulse 1.7s ease}.gate-meaning summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;list-style:none;cursor:pointer;padding:13px 14px}.gate-meaning summary::-webkit-details-marker{display:none}.gate-meaning summary div{min-width:0}.gate-meaning summary small,.gate-meaning summary b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gate-meaning summary small{color:#988fa3;font-size:.59rem}.gate-meaning summary b{margin-top:2px;color:#43365d;font-size:.78rem}.gate-meaning summary>i{display:grid;place-items:center;width:25px;height:25px;border-radius:9px;background:#f2eef9;color:#755eb2;font-style:normal;transition:.18s}.gate-meaning[open] summary>i{transform:rotate(45deg);background:#6a4fd5;color:#fff}.gate-meaning-badge{display:grid;place-items:center;min-width:38px;height:38px;padding:0 6px;border-radius:12px;background:#f0ebff;color:#5e43b8;font-size:.75rem;font-weight:900}.gate-meaning-badge.channel{min-width:58px;background:#eee8ff}.gate-meaning-body{padding:0 16px 17px;border-top:1px solid #f0ebf6}.gate-meaning-body .reading-text{padding-top:4px}.gate-meaning-body .reading-subchapter{background:#faf9fd}
.gate-locked-note{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;margin-top:15px;padding:16px 18px;border-radius:18px;background:#f7f4ff;border:1px solid #e2d9f8}.gate-locked-note>span{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#e9e1ff;color:#684dd2}.gate-locked-note b,.gate-locked-note p{display:block;margin:0}.gate-locked-note p{margin-top:3px;color:#7d758a;font-size:.75rem}
@keyframes gatePulse{0%,100%{box-shadow:0 11px 30px rgba(69,48,123,.1)}40%{box-shadow:0 0 0 5px rgba(115,82,218,.18),0 14px 34px rgba(69,48,123,.17)}}

@media(max-width:850px){.gate-center-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gate-meaning-list{grid-template-columns:1fr}.gate-meaning[open]{grid-column:auto}}
@media(max-width:620px){.gate-atlas{border-radius:22px}.gate-atlas-head{align-items:flex-start;flex-direction:column}.gate-atlas-stats{width:100%}.gate-atlas-stats span{flex:1}.gate-center-grid{grid-template-columns:1fr}.gate-library-head{align-items:flex-start;flex-direction:column}.gate-expand-all{width:100%}.gate-locked-note{grid-template-columns:auto 1fr}.gate-locked-note .secondary-button{grid-column:1/-1;width:100%}.personal-reading-state{margin-top:26px}}


.personal-insight-wait,.is-personal-waiting{position:relative}
.is-personal-waiting:after{content:"подгружается";position:absolute;right:14px;top:14px;padding:5px 8px;border-radius:999px;background:rgba(111,79,211,.09);color:#7559c2;font-size:.58rem;font-weight:850;letter-spacing:.03em;animation:personalBadge 1.45s ease-in-out infinite}
.is-personal-waiting .personal-copy{opacity:.68;transition:opacity .2s ease}.is-personal-ready .personal-copy{opacity:1}
.gate-locked-note.is-highlighted{animation:gateLockedPulse 1.7s ease}
@keyframes personalBadge{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes gateLockedPulse{0%,100%{box-shadow:none}40%{box-shadow:0 0 0 5px rgba(115,82,218,.16),0 14px 32px rgba(69,48,123,.12)}}
@media(prefers-reduced-motion:reduce){.personal-reading-state.is-loading>.personal-state-icon,.personal-loading-track i,.is-personal-waiting:after,.is-personal-ready,.gate-meaning.is-highlighted,.gate-locked-note.is-highlighted{animation:none!important}.gate-node,.channel-path{transition:none}}

/* ==========================================================
   РеДизайн 4.4 · доступность, локали, тесты
   ========================================================== */
:root[data-font-scale="-1"]{font-size:15px}
:root[data-font-scale="1"]{font-size:17px}
:root[data-font-scale="2"]{font-size:18px}
:root[data-font-scale="3"]{font-size:20px}
.skip-link{position:fixed;left:14px;top:-80px;z-index:10010;padding:12px 16px;border-radius:12px;background:#111;color:#fff;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.skip-link:focus{top:14px}
.display-tools{position:fixed;right:18px;bottom:18px;z-index:9990}
.display-tools-toggle{width:48px;height:48px;border:0;border-radius:16px;background:#17152a;color:#fff;font-weight:900;font-size:16px;box-shadow:0 12px 36px rgba(22,17,61,.28);cursor:pointer}
.display-tools-panel{position:absolute;right:0;bottom:58px;width:min(310px,calc(100vw - 30px));padding:16px;border:1px solid rgba(70,57,129,.15);border-radius:20px;background:rgba(255,255,255,.98);color:#221f35;box-shadow:0 24px 70px rgba(31,24,72,.24);backdrop-filter:blur(18px)}
.display-tools-panel[hidden]{display:none}
.support-panel[hidden]{display:none!important}
.support-widget.is-open{z-index:10050}
.support-widget.is-open .support-panel{z-index:10051}
.display-tools-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.display-tools-head button{border:0;background:transparent;font-size:24px;cursor:pointer}
.display-tool-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.display-tool-row button,.display-reset{min-height:42px;border:1px solid #ded9ef;border-radius:12px;background:#f8f6ff;font-weight:800;cursor:pointer}
.display-check,.display-select{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #eeeaf6}.display-check input{width:20px;height:20px}.display-select select{min-width:88px;padding:8px;border:1px solid #d8d1ea;border-radius:10px;background:#fff}
.language-pills{display:flex;gap:6px}.language-pills a{padding:7px 10px;border-radius:10px;background:#f1eef9;color:#5a5272;font-weight:800}.language-pills a.active{background:#5b46e8;color:#fff}
.display-reset{width:100%;margin-top:10px}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #ffb400!important;outline-offset:3px!important}
.a11y-reduce-motion *,.a11y-reduce-motion *::before,.a11y-reduce-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}

.psych-shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:54px 0 90px}.psych-head{max-width:760px;margin-bottom:28px}.psych-head h1{font-size:clamp(34px,6vw,68px);line-height:.98;margin:8px 0 18px}.psych-test-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.psych-test-tab{display:block;padding:18px;border:1px solid #e5e0f2;border-radius:18px;background:#fff;color:#332d4f;box-shadow:0 10px 32px rgba(46,37,88,.07)}.psych-test-tab b,.psych-test-tab span{display:block}.psych-test-tab span{margin-top:5px;color:#756d8d;font-size:13px}.psych-test-tab.active{border-color:#6b56e8;background:linear-gradient(145deg,#f5f2ff,#fff)}
.psych-card{padding:clamp(20px,4vw,38px);border:1px solid #e5e0f2;border-radius:28px;background:#fff;box-shadow:0 22px 65px rgba(39,30,83,.09)}.psych-question{padding:20px 0;border-bottom:1px solid #eeeaf5}.psych-question:last-of-type{border-bottom:0}.psych-question legend{font-weight:800;font-size:17px;margin-bottom:13px}.answer-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.answer-scale label{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border:1px solid #e0dbed;border-radius:13px;cursor:pointer}.answer-scale label:has(input:checked){border-color:#614ae2;background:#f0edff}.answer-scale input{width:19px;height:19px}.answer-scale small{font-size:11px;text-align:center;color:#746d86}.psych-consent{display:flex;align-items:flex-start;gap:10px;margin:24px 0;padding:15px;border-radius:15px;background:#f7f5fc}.psych-consent input{width:20px;height:20px;flex:0 0 auto}.psych-submit-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.psych-result{margin-top:28px;padding:clamp(22px,4vw,36px);border-radius:28px;background:linear-gradient(145deg,#221c3d,#4c3aa9);color:#fff}.psych-result .eyebrow{color:#d9d1ff}.psych-result h2{font-size:clamp(30px,4vw,48px);margin:8px 0 12px}.psych-result p{color:#f0edff;line-height:1.7}.psych-scales{display:grid;gap:13px;margin:24px 0}.psych-scale-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px}.psych-scale-bar{height:11px;border-radius:999px;background:rgba(255,255,255,.18);overflow:hidden}.psych-scale-bar i{display:block;height:100%;border-radius:inherit;background:#fff}.psych-recommendations{display:grid;gap:9px;margin-top:20px}.psych-recommendations span{padding:12px 14px;border-radius:13px;background:rgba(255,255,255,.1)}.psych-disclaimer{margin-top:18px;font-size:13px;color:#736c85}.home-test-card{width:min(1180px,calc(100% - 32px));margin:22px auto 0;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:24px;border:1px solid #e2ddef;border-radius:24px;background:linear-gradient(130deg,#fff,#f5f2ff);box-shadow:0 15px 40px rgba(47,36,93,.07)}.home-test-card .test-orbit{width:64px;height:64px;display:grid;place-items:center;border-radius:20px;background:#211b3a;color:#fff;font-size:28px}.home-test-card h2{margin:3px 0 5px;font-size:24px}.home-test-card p{margin:0;color:#716a82}
.luscher-position-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.luscher-position-card{padding:14px;border-radius:15px;background:#f6f3fc}.luscher-position-card small,.luscher-position-card b{display:block}.luscher-position-card b{margin:4px 0}.luscher-score-row{display:grid;grid-template-columns:140px 1fr 44px;align-items:center;gap:10px;margin:10px 0}.luscher-score-row div{height:9px;background:#ece7f4;border-radius:999px;overflow:hidden}.luscher-score-row i{display:block;height:100%;background:#6550df;border-radius:inherit}
@media(max-width:760px){.display-tools{right:12px;bottom:12px}.psych-test-tabs{grid-template-columns:1fr}.answer-scale{grid-template-columns:repeat(5,minmax(0,1fr))}.answer-scale small{display:none}.psych-submit-row{align-items:stretch;flex-direction:column}.home-test-card{grid-template-columns:auto 1fr}.home-test-card>a{grid-column:1/-1;text-align:center}.luscher-position-grid{grid-template-columns:1fr 1fr}.luscher-score-row{grid-template-columns:100px 1fr 38px}}

/* Iteration 12: questionnaire results inside the reading */
.psych-reading-section{margin:28px 0;padding:30px;border:1px solid rgba(88,72,184,.14);border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(244,241,255,.9));box-shadow:0 18px 52px rgba(55,42,116,.08)}
.psych-reading-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.psych-reading-head h2{margin:6px 0 10px;max-width:760px}.psych-reading-head p{margin:0;max-width:760px;color:var(--muted,#6b6880);line-height:1.65}.psych-reading-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:22px}.psych-reading-grid article{padding:20px;border-radius:22px;background:#fff;border:1px solid rgba(88,72,184,.12)}.psych-reading-grid article>small{color:#6d55d8;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.psych-reading-grid h3{margin:8px 0}.psych-reading-grid p{color:var(--muted,#6b6880);line-height:1.55}.psych-mini-scales{display:grid;gap:8px;margin-top:16px}.psych-mini-scales>span{display:grid;grid-template-columns:minmax(90px,1fr) minmax(70px,1.5fr) 40px;gap:8px;align-items:center;font-size:.82rem}.psych-mini-scales b{font-weight:650}.psych-mini-scales i{display:block;height:7px;border-radius:99px;background:#ece8fb;overflow:hidden}.psych-mini-scales em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7957ef,#e66f9a)}.psych-mini-scales small{text-align:right;color:#68627b}.psych-reading-empty{display:flex;gap:14px;align-items:center;margin-top:20px;padding:18px;border-radius:18px;background:rgba(113,83,222,.07)}.psych-reading-empty>span{font-size:1.5rem}.psych-reading-empty p{margin:0;line-height:1.55}
@media(max-width:700px){.psych-reading-section{padding:20px;border-radius:22px}.psych-reading-head{display:grid}.psych-reading-head .secondary-button{width:100%;text-align:center}.psych-mini-scales>span{grid-template-columns:1fr 90px 36px}}

/* ==========================================================
   РеДизайн 4.5 · документы, данные, история и мини-модули
   ========================================================== */
.legal-links{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}.legal-links a{font-size:.82rem;color:inherit;opacity:.72;text-decoration:none}.legal-links a:hover{opacity:1;text-decoration:underline}.site-footer .legal-links{justify-content:center}
.checkout-consents{display:grid;gap:10px;margin:20px 0}.consent-row{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid rgba(83,67,150,.13);border-radius:15px;background:rgba(248,246,255,.82);line-height:1.45}.consent-row input{width:20px;height:20px;flex:0 0 auto;margin-top:1px}.consent-row.optional{background:transparent;border-style:dashed}.consent-row a{font-weight:750}
.legal-shell,.data-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:48px 0 90px}.legal-shell{display:grid;grid-template-columns:290px minmax(0,1fr);gap:28px;align-items:start}.legal-nav{position:sticky;top:92px;display:grid;gap:8px;padding:18px;border:1px solid rgba(73,58,138,.12);border-radius:24px;background:rgba(255,255,255,.88);box-shadow:0 18px 55px rgba(45,34,89,.08);backdrop-filter:blur(16px)}.legal-nav>small{padding:0 8px 8px;color:#777087;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.legal-nav a{display:grid;gap:4px;padding:12px;border-radius:14px;color:#332d4f;text-decoration:none}.legal-nav a:hover,.legal-nav a.active{background:#f0ecff;color:#5239ce}.legal-nav a span{font-weight:800}.legal-nav a em{font-size:.72rem;font-style:normal;opacity:.62}.legal-document{padding:clamp(24px,5vw,56px);border:1px solid rgba(73,58,138,.12);border-radius:32px;background:#fff;box-shadow:0 24px 75px rgba(45,34,89,.09)}.legal-document h1{font-size:clamp(34px,5vw,64px);line-height:1.02;margin:10px 0 16px}.legal-lead{padding-bottom:24px;border-bottom:1px solid #ece8f4;color:#716a82}.legal-document section{padding:20px 0;border-bottom:1px solid #f0edf5}.legal-document section h2{margin:0 0 9px;font-size:1.18rem}.legal-document section p{margin:0;color:#5f596e;line-height:1.75}.legal-note{margin-top:26px;padding:18px 20px;border-radius:18px;background:#fff8df;border:1px solid #f0d890}.legal-note p{margin:6px 0 0;color:#675b31;line-height:1.55}
.data-shell>h1{font-size:clamp(38px,6vw,72px);line-height:.98;margin:8px 0 16px}.data-lead{max-width:760px;color:#6d667c;font-size:1.08rem;line-height:1.65}.data-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:30px 0}.data-action-grid article,.consent-management,.consent-history,.danger-zone{padding:clamp(22px,4vw,34px);border:1px solid rgba(73,58,138,.12);border-radius:27px;background:#fff;box-shadow:0 18px 55px rgba(45,34,89,.07)}.data-action-grid article>span{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:#211b3a;color:#fff;font-size:1.55rem}.data-action-grid h2{margin:16px 0 8px}.data-action-grid p{min-height:72px;color:#6c657c;line-height:1.55}.consent-management{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:18px 0}.consent-management h2,.consent-history h2,.danger-zone h2{margin:6px 0 8px}.consent-management p{max-width:720px;margin:0;color:#6b647a;line-height:1.55}.consent-preference-form{display:flex;align-items:center;gap:12px;flex:0 0 auto}.consent-status{padding:7px 10px;border-radius:999px;font-size:.78rem;font-weight:850}.consent-status.is-on{background:#ddf7e8;color:#116c42}.consent-status.is-off{background:#eeeaf3;color:#696174}.consent-history{margin:18px 0}.consent-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.consent-history-grid article{display:grid;gap:7px;padding:16px;border-radius:17px;background:#f7f5fc}.consent-history-grid small{color:#726a83}.consent-history-grid b{font-size:1.02rem}.consent-history-grid span{font-size:.73rem;color:#8a8396}.danger-zone{margin-top:18px;border-color:rgba(191,57,68,.22);background:linear-gradient(145deg,#fff,#fff7f7)}.danger-zone p{max-width:820px;color:#6d5d62;line-height:1.6}.delete-data-form{display:flex;align-items:end;gap:12px;max-width:680px;margin-top:18px}.delete-data-form label{flex:1}.delete-data-form input{display:block;width:100%;margin-top:8px}.danger-button,.danger-link{border:0;border-radius:13px;background:#b93243;color:#fff;font-weight:850;cursor:pointer}.danger-button{padding:14px 18px}.danger-link{padding:9px 12px}.inline-actions{display:flex;gap:8px;align-items:center}
.daily-history{margin-top:20px;padding-top:18px;border-top:1px solid rgba(82,65,152,.12)}.daily-history-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.daily-history-head>span{display:flex;gap:6px;padding:4px;border-radius:12px;background:rgba(97,74,218,.08)}.daily-history-head>span a{padding:7px 10px;border-radius:9px;color:#6c628a;font-size:.8rem;font-weight:850;text-decoration:none}.daily-history-head>span a.active{background:#fff;color:#563fd1;box-shadow:0 4px 14px rgba(67,48,145,.12)}.daily-history>div:last-child{display:flex;gap:8px;overflow:auto;padding-bottom:4px;scrollbar-width:thin}.daily-history>div:last-child a{flex:0 0 auto;padding:9px 12px;border:1px solid rgba(89,69,170,.14);border-radius:12px;background:#fff;color:#665d7c;font-weight:800;text-decoration:none}.daily-history>div:last-child a.active{border-color:#654ce4;background:#654ce4;color:#fff}.daily-paused-note{display:grid;gap:3px;padding:16px;border:1px dashed rgba(99,78,190,.28);border-radius:17px;background:rgba(242,239,255,.72)}.daily-paused-note span{color:#716a80;font-size:.87rem}.daily-price strong{font-size:1.25rem}
.mini-module-shop{position:relative;margin:34px 0;padding:clamp(22px,4vw,38px);border:1px solid rgba(86,65,175,.15);border-radius:32px;background:radial-gradient(circle at 90% 0,rgba(131,96,255,.16),transparent 34%),linear-gradient(145deg,#fff,#f7f4ff);box-shadow:0 24px 70px rgba(54,39,113,.09)}.mini-module-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.mini-module-head h2{margin:7px 0 10px;font-size:clamp(28px,4vw,45px);line-height:1.04}.mini-module-head p{max-width:720px;margin:0;color:#6c657c;line-height:1.6}.mini-module-base-price{flex:0 0 auto;padding:10px 14px;border-radius:999px;background:#211b3a;color:#fff;font-weight:850}.mini-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:25px}.mini-module-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:15px;padding:21px;border:1px solid rgba(84,65,163,.13);border-radius:23px;background:rgba(255,255,255,.92);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.mini-module-card:hover,.mini-module-card.is-selected{transform:translateY(-2px);border-color:rgba(100,76,226,.48);box-shadow:0 15px 36px rgba(62,46,131,.1)}.mini-module-card.is-open{grid-template-columns:auto 1fr;background:linear-gradient(145deg,#fff,#f2edff)}.mini-module-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:#211b3a;color:#fff;font-size:1.35rem}.mini-module-copy small{color:#6c54d6;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.mini-module-copy h3{margin:5px 0 7px;font-size:1.22rem}.mini-module-copy p{margin:0;color:#6f687d;line-height:1.5}.mini-module-select{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:2px;padding:13px 14px;border-radius:15px;background:#f5f2fd;cursor:pointer}.mini-module-select input{width:21px;height:21px}.mini-module-select span{margin-right:auto;font-weight:800}.mini-module-select b{color:#563fce}.mini-module-content{grid-column:1/-1;margin-top:4px}.mini-module-content details{border-top:1px solid rgba(78,61,146,.12)}.mini-module-content summary{display:flex;justify-content:space-between;gap:12px;padding:13px 0;font-weight:850;cursor:pointer}.mini-module-content summary i{font-style:normal}.mini-module-content details[open] summary i{transform:rotate(45deg)}.mini-module-content details>div{padding:0 0 14px;color:#625b70;line-height:1.65}.mini-module-bar{position:sticky;bottom:14px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:24px auto 0;padding:14px 16px;border:1px solid rgba(255,255,255,.25);border-radius:20px;background:rgba(30,24,57,.94);color:#fff;box-shadow:0 20px 50px rgba(26,19,61,.28);backdrop-filter:blur(16px)}.mini-module-bar[hidden]{display:none}.mini-module-bar>div{display:grid}.mini-module-bar small{color:#dcd6f3}.mini-module-bar strong{font-size:1.25rem}.mini-module-bar .primary-button{margin:0}.symbolic-disclaimer{margin:18px 0 0;color:#777084;font-size:.79rem}
.status-pill.pending,.status-pill.approved{background:#fff1c9;color:#745400}.status-pill.completed{background:#dff6e9;color:#176c45}.status-pill.cancelled,.status-pill.rejected{background:#f0edf3;color:#706879}
@media(max-width:820px){.legal-shell{grid-template-columns:1fr}.legal-nav{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.legal-nav>small{grid-column:1/-1}.data-action-grid,.mini-module-grid,.consent-history-grid{grid-template-columns:1fr}.consent-management{align-items:flex-start;flex-direction:column}.consent-preference-form{width:100%;justify-content:space-between}.delete-data-form{align-items:stretch;flex-direction:column}.delete-data-form .danger-button{width:100%}.mini-module-head{flex-direction:column}.mini-module-base-price{align-self:flex-start}}
@media(max-width:560px){.legal-shell,.data-shell{width:min(100% - 20px,1180px);padding-top:26px}.legal-nav{grid-template-columns:1fr;padding:12px;border-radius:19px}.legal-document,.data-action-grid article,.consent-management,.consent-history,.danger-zone,.mini-module-shop{padding:19px;border-radius:21px}.legal-document h1{font-size:34px}.mini-module-card{padding:17px}.mini-module-bar{align-items:stretch;flex-direction:column;bottom:8px}.mini-module-bar .primary-button{width:100%;text-align:center}.daily-history-head{align-items:flex-start;flex-direction:column}.site-footer .legal-links{width:100%}}
.account-mini-modules{margin-top:24px;padding:24px;border:1px solid rgba(85,65,166,.13);border-radius:25px;background:linear-gradient(145deg,#fff,#f7f4ff)}
.account-mini-modules .sub-grid{margin-top:14px}
.consent-status-list{display:grid;gap:8px;margin:15px 0}.consent-status-list>span{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(80,62,150,.1)}.consent-status-list small{color:#746d80;text-align:right}

/* ======================================================================
   РеДизайн 4.6 · production UI / responsive polish / public landing
   ====================================================================== */
:root{
  --bg:#f6f7fb;
  --surface:#ffffff;
  --surface-soft:#f8f7ff;
  --ink:#18172a;
  --muted:#706d83;
  --primary:#5b46e8;
  --primary-dark:#4030bd;
  --primary-soft:#efedff;
  --secondary:#ef765f;
  --teal:#23a98f;
  --line:#e9e7f0;
  --shadow-sm:0 8px 28px rgba(38,30,82,.07);
  --shadow:0 22px 64px rgba(38,30,82,.12);
  --shadow-lg:0 36px 90px rgba(31,23,75,.18);
}
body{background:
  radial-gradient(circle at 10% 8%,rgba(104,78,232,.045),transparent 28rem),
  radial-gradient(circle at 92% 32%,rgba(239,118,95,.04),transparent 24rem),
  var(--bg)}
::selection{background:#dcd5ff;color:#231b57}
:focus-visible{outline:3px solid rgba(91,70,232,.34);outline-offset:3px}
img,svg{max-width:100%}

.site-header{
  position:sticky;top:0;height:76px;z-index:80;
  background:rgba(255,255,255,.92);backdrop-filter:blur(18px) saturate(150%);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
  transition:height .2s ease,box-shadow .2s ease,background .2s ease;
}
.site-header.is-scrolled{height:66px;background:rgba(255,255,255,.97);box-shadow:0 10px 34px rgba(29,24,68,.08)}
.site-header.compact{height:68px}.site-header.compact.is-scrolled{height:62px}
.brand{font-size:1.02rem;color:#211e35;white-space:nowrap}
.brand-mark{width:38px;height:38px;border-radius:13px;font-size:1.02rem;box-shadow:0 9px 24px rgba(91,70,232,.28)}
.top-nav{gap:5px;margin-left:auto}
.top-nav a{padding:9px 12px;border-radius:11px;font-weight:650;color:#5f5b70;transition:background .15s,color .15s}
.top-nav a:hover,.top-nav a:focus-visible{background:#f1effb;color:var(--primary);text-decoration:none}
.nav-toggle{display:none;width:44px;height:44px;border:1px solid #e6e2f1;border-radius:13px;background:#fff;cursor:pointer;padding:11px;place-items:center;gap:4px;margin-left:auto}
.nav-toggle span{display:block;width:20px;height:2px;border-radius:2px;background:#2f2948;transition:transform .2s,opacity .2s}
.site-header.nav-open .nav-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.site-header.nav-open .nav-toggle span:nth-child(2){opacity:0}
.site-header.nav-open .nav-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.hero-home{padding:76px 20px 126px;min-height:500px;background:
  radial-gradient(circle at 18% 8%,rgba(255,255,255,.16),transparent 26rem),
  radial-gradient(circle at 87% 105%,rgba(255,151,113,.28),transparent 30rem),
  linear-gradient(135deg,#362795 0%,#5a3fd7 48%,#7652e9 100%)}
.hero-copy{max-width:920px}
.hero h1{max-width:940px;font-size:clamp(2.45rem,5.5vw,4.7rem);line-height:1.01;margin-top:16px;text-wrap:balance}
.hero-copy p{max-width:770px;font-size:clamp(1.02rem,1.7vw,1.22rem);line-height:1.65;text-wrap:balance}
.hero-proof{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:24px}
.hero-proof span{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.17);font-size:.78rem;font-weight:700;color:rgba(255,255,255,.92);backdrop-filter:blur(8px)}
.hero-proof i{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.17);font-style:normal;font-size:.66rem}
.booking-card{bottom:-112px;padding:20px;border:1px solid rgba(255,255,255,.55);box-shadow:0 34px 90px rgba(26,18,74,.32)}
.booking-grid{background:#eceaf2;border-color:#eceaf2}
.input-card{min-height:82px}.input-icon{background:linear-gradient(145deg,#f2efff,#e9e5ff)}
.booking-footer{padding-top:17px}.booking-footer .primary-button{min-width:250px}
.calculation-consents{margin-top:13px;padding:13px 15px;border-radius:14px;background:#faf9fd;border:1px solid #eeebf3}
.consent-row{display:flex;align-items:flex-start;gap:9px;color:#656174;font-size:.78rem;line-height:1.45}
.consent-row+.consent-row{margin-top:7px}.consent-row input{margin-top:2px;accent-color:var(--primary)}
.consent-row a{color:#4f3cbd;text-underline-offset:2px}.consent-row.optional{color:#898598}
.place-confirm{box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}

.home-value-strip{margin-top:154px;gap:12px}
.home-value-strip article,.home-value-strip>a{min-height:78px;padding:17px 18px;border-color:#ebe8f2;box-shadow:var(--shadow-sm);transition:transform .18s,box-shadow .18s,border-color .18s}
.home-value-strip article:hover,.home-value-strip>a:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(38,30,82,.1);border-color:#ddd6f5}
.home-value-strip>*>span{width:40px;height:40px;border-radius:13px}.home-value-strip b{font-size:.89rem}
.home-test-card{margin-top:18px;box-shadow:var(--shadow-sm);border-color:#e9e4f3;padding:26px 28px}

.landing-section{width:min(1180px,calc(100% - 40px));margin:88px auto 0}
.landing-section.compact{margin-top:58px}
.landing-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,470px);gap:36px;align-items:end;margin-bottom:28px}
.landing-section-head h2{font-size:clamp(2rem,4vw,3.25rem);line-height:1.08;letter-spacing:-.045em;margin:8px 0 0;text-wrap:balance}
.landing-section-head p{margin:0;color:var(--muted);font-size:1.02rem;line-height:1.7}
.product-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.product-feature{position:relative;overflow:hidden;min-height:244px;padding:25px;border:1px solid #e9e5f2;border-radius:25px;background:rgba(255,255,255,.88);box-shadow:var(--shadow-sm);transition:transform .18s,box-shadow .18s}
.product-feature:hover{transform:translateY(-3px);box-shadow:0 20px 46px rgba(40,29,89,.11)}
.product-feature:after{content:"";position:absolute;width:150px;height:150px;right:-80px;top:-86px;border-radius:50%;background:var(--feature-glow,#eeeaff)}
.product-feature-icon{position:relative;z-index:1;display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:var(--feature-bg,#eeeaff);color:var(--feature-color,#5b46e8);font-size:1.24rem;font-weight:900;margin-bottom:30px}
.product-feature h3{font-size:1.16rem;margin:0 0 9px;letter-spacing:-.02em}.product-feature p{margin:0;color:var(--muted);line-height:1.62;font-size:.91rem}
.product-feature:nth-child(2){--feature-bg:#e9f9f4;--feature-color:#168c74;--feature-glow:#e6f8f3}.product-feature:nth-child(3){--feature-bg:#fff0ec;--feature-color:#d05c45;--feature-glow:#fff0ec}.product-feature:nth-child(4){--feature-bg:#eef5ff;--feature-color:#3d72bd;--feature-glow:#eaf3ff}.product-feature:nth-child(5){--feature-bg:#fff7df;--feature-color:#a8750e;--feature-glow:#fff5d6}.product-feature:nth-child(6){--feature-bg:#f5edff;--feature-color:#7c45bd;--feature-glow:#f2e8ff}

.journey-showcase{display:grid;grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr);gap:22px;padding:24px;border-radius:32px;background:linear-gradient(145deg,#20193c,#3e2f86);box-shadow:var(--shadow-lg);color:#fff;overflow:hidden}
.journey-copy{padding:clamp(18px,4vw,42px)}.journey-copy h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.08;letter-spacing:-.045em;margin:8px 0 17px}.journey-copy>p{color:#d9d3ef;line-height:1.72;margin:0 0 25px}
.journey-points{display:grid;gap:12px}.journey-points span{display:flex;gap:10px;align-items:flex-start;color:#f4f1ff;font-size:.91rem}.journey-points i{display:grid;place-items:center;width:23px;height:23px;flex:0 0 auto;border-radius:8px;background:rgba(255,255,255,.12);font-style:normal;color:#c8bcff}
.journey-screen{align-self:center;padding:18px;border-radius:25px;background:rgba(255,255,255,.96);color:var(--ink);box-shadow:0 28px 70px rgba(0,0,0,.22)}
.journey-screen-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid #ece9f2}.journey-screen-top span{display:flex;gap:6px}.journey-screen-top i{width:8px;height:8px;border-radius:50%;background:#d9d4e5}.journey-screen-top b{font-size:.78rem;color:#514968}
.journey-screen-body{display:grid;grid-template-columns:150px 1fr;gap:17px;padding-top:17px}.journey-chart{min-height:260px;border-radius:19px;background:radial-gradient(circle at 50% 35%,#fff 0 8%,transparent 9%),linear-gradient(150deg,#eeeaff,#f8fbff);display:grid;place-items:center;position:relative;overflow:hidden}.journey-chart:before,.journey-chart:after{content:"";position:absolute;border:2px solid rgba(93,69,222,.22);border-radius:28% 72% 51% 49%/62% 38% 62% 38%;width:86px;height:152px;transform:rotate(18deg)}.journey-chart:after{width:48px;height:100px;transform:rotate(-22deg);border-color:rgba(239,118,95,.25)}
.journey-info{display:grid;gap:10px}.journey-info article{padding:13px 14px;border-radius:15px;background:#f8f7fc;border:1px solid #eeebf4}.journey-info small{display:block;color:#8b8698;font-size:.65rem;text-transform:uppercase;letter-spacing:.07em}.journey-info b{display:block;margin-top:3px;font-size:.9rem;color:#2d2742}.journey-progress{height:7px;border-radius:99px;background:#e8e4f1;overflow:hidden;margin-top:8px}.journey-progress i{display:block;height:100%;width:68%;border-radius:inherit;background:linear-gradient(90deg,#5b46e8,#9c73f5)}

.audience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.audience-card{padding:22px;border-radius:23px;background:#fff;border:1px solid #eae7f0;box-shadow:var(--shadow-sm)}.audience-card>span{font-size:1.55rem}.audience-card h3{font-size:1rem;margin:15px 0 7px}.audience-card p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.58}

.trust-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;border:1px solid #e7e2f1;border-radius:26px;background:#e7e2f1;box-shadow:var(--shadow-sm)}
.trust-panel article{background:#fff;padding:25px}.trust-panel b{display:block;font-size:1rem;margin-bottom:6px}.trust-panel p{margin:0;color:var(--muted);font-size:.87rem;line-height:1.6}

.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.faq-grid details{background:#fff;border:1px solid #e9e5f0;border-radius:18px;padding:0 18px;box-shadow:0 6px 22px rgba(38,30,82,.04)}
.faq-grid summary{list-style:none;cursor:pointer;padding:18px 34px 18px 0;font-weight:800;position:relative}.faq-grid summary::-webkit-details-marker{display:none}.faq-grid summary:after{content:"+";position:absolute;right:0;top:14px;display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:#f0edff;color:#5b46e8;font-size:1.1rem}.faq-grid details[open] summary:after{content:"−"}.faq-grid details p{margin:-2px 0 18px;color:var(--muted);line-height:1.65;font-size:.9rem}

.closing-cta{width:min(1180px,calc(100% - 40px));margin:88px auto;padding:clamp(30px,6vw,68px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;border-radius:34px;color:#fff;background:
 radial-gradient(circle at 90% 10%,rgba(255,161,122,.34),transparent 20rem),
 linear-gradient(135deg,#392995,#6747dd);box-shadow:var(--shadow-lg)}
.closing-cta h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1.08;letter-spacing:-.045em;margin:7px 0 12px;text-wrap:balance}.closing-cta p{margin:0;color:#ded8f7;max-width:680px}.closing-cta .primary-button{background:#fff;color:#4c38c5;box-shadow:none;white-space:nowrap}.closing-cta .primary-button:hover{box-shadow:0 12px 30px rgba(21,14,62,.2)}

.site-footer{padding:42px clamp(20px,5vw,72px);min-height:unset;align-items:flex-start;background:#17152a;border-top:1px solid rgba(255,255,255,.04)}
.footer-pro{display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(130px,.7fr));gap:42px;width:100%}
.footer-intro p{max-width:430px;margin:14px 0 18px;line-height:1.65;font-size:.88rem}.footer-pro h3{margin:2px 0 13px;color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.09em}.footer-column{display:grid;align-content:start;gap:8px}.footer-column a{text-decoration:none;color:#a9aec0;font-size:.86rem}.footer-column a:hover{color:#fff}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;padding-top:20px;margin-top:4px;border-top:1px solid rgba(255,255,255,.08);color:#858ba0;font-size:.76rem}.footer-bottom .legal-links{justify-content:flex-end}

/* Public-page and product card polish */
:where(.summary-card,.reading-card-v3,.premium-insight,.checkout-main-card,.order-summary,.auth-card,.account-hero,.person-group,.member-detail-section,.pair-constructor,.legal-document,.psych-card,.luscher-card,.data-action-grid article){border-color:#e9e5f0;box-shadow:var(--shadow-sm)}
.result-shell,.family-shell,.account-shell,.psych-shell,.legal-shell,.data-shell,.checkout-shell{padding-bottom:70px}
.reading-card-v3,.premium-insight{transition:transform .18s,box-shadow .18s}.reading-card-v3:hover,.premium-insight:hover{transform:translateY(-2px);box-shadow:0 18px 46px rgba(37,28,82,.1)}
.reading-text,.legal-document p,.premium-insight p{font-size:.95rem;line-height:1.75}
.reading-subchapter{padding:14px 0;border-bottom:1px solid #f0edf4}.reading-subchapter:last-child{border-bottom:0}.reading-subchapter h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#6955c9;margin:0 0 8px}.reading-subchapter p{margin:0}
.primary-button,.secondary-button,.go,.danger-button{min-height:46px;border-radius:14px}.primary-button:active,.secondary-button:active{transform:translateY(1px)}
input,select,textarea{accent-color:var(--primary)}
.modern-form input,.modern-form select,.modern-form textarea,.edit-form input,.edit-form select,.edit-form textarea,.card-payment-form input,.delete-data-form input{border:1px solid #ddd8e8;border-radius:13px;min-height:46px;background:#fff;transition:border-color .15s,box-shadow .15s}.modern-form input:focus,.modern-form select:focus,.modern-form textarea:focus,.edit-form input:focus,.edit-form select:focus,.edit-form textarea:focus,.card-payment-form input:focus,.delete-data-form input:focus{outline:0;border-color:#8d7bea;box-shadow:0 0 0 4px rgba(91,70,232,.1)}

.personal-reading-state.is-loading{position:relative;box-shadow:inset 0 0 0 1px rgba(91,70,232,.06)}
.personal-reading-state.is-loading:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.58) 50%,transparent 65%);transform:translateX(-100%);animation:siteShimmer 1.8s infinite}
@keyframes siteShimmer{to{transform:translateX(100%)}}
[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}[data-reveal].is-visible{opacity:1;transform:none}

.error-shell{width:min(720px,calc(100% - 32px));margin:clamp(50px,10vh,110px) auto;text-align:center;padding:45px;border-radius:30px;background:#fff;border:1px solid #e9e5f0;box-shadow:var(--shadow)}
.error-code{font-size:clamp(5rem,16vw,9rem);font-weight:950;letter-spacing:-.09em;line-height:.9;color:#ece8ff;text-shadow:0 7px 0 #dcd5ff;margin-bottom:24px}.error-shell h1{font-size:clamp(1.8rem,4vw,3rem);line-height:1.12;letter-spacing:-.04em}.error-shell p{color:var(--muted);max-width:560px;margin:0 auto 25px}

@media(max-width:1020px){
  .booking-grid{grid-template-columns:1fr 1fr}.booking-grid .input-card:nth-child(1){border-radius:16px 0 0 0}.booking-grid .input-card:nth-child(2){border-radius:0 16px 0 0}.booking-grid .input-card:nth-child(3){border-radius:0 0 0 16px}.booking-grid .input-card:nth-child(4){border-radius:0 0 16px 0}
  .hero-home{padding-bottom:210px}.booking-card{bottom:-190px}.home-value-strip{margin-top:230px;grid-template-columns:1fr 1fr}
  .product-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-showcase{grid-template-columns:1fr}.journey-copy{padding-bottom:10px}.audience-grid{grid-template-columns:1fr 1fr}.footer-pro{grid-template-columns:1.4fr 1fr 1fr}.footer-intro{grid-column:1/-1}.landing-section-head{grid-template-columns:1fr;gap:12px}.landing-section-head p{max-width:720px}
}

@media(max-width:760px){
  .site-header,.site-header.compact{height:64px;padding:0 14px}.site-header.is-scrolled,.site-header.compact.is-scrolled{height:60px}.brand-mark{width:35px;height:35px;border-radius:12px}.nav-toggle{display:grid}.top-nav{display:none;position:absolute;left:10px;right:10px;top:calc(100% + 8px);padding:10px;border-radius:18px;background:#fff;border:1px solid #e6e2ef;box-shadow:0 22px 60px rgba(29,22,72,.2);align-items:stretch;flex-direction:column}.site-header.nav-open .top-nav{display:flex}.top-nav a,.top-nav a:first-child,.top-nav a:not(:last-child){display:block;padding:12px 13px;font-size:.94rem}
  .site-header>.text-link{font-size:.82rem;margin-left:auto}.site-header:has(>.text-link) .nav-toggle{display:none}
  .hero-home{padding:52px 14px 374px;min-height:720px}.hero h1{font-size:clamp(2.35rem,11vw,3.5rem)}.hero-copy p{font-size:.97rem}.hero-proof{gap:7px}.hero-proof span{font-size:.69rem;padding:7px 9px}
  .booking-card{bottom:-338px;width:calc(100% - 20px);padding:11px;border-radius:23px}.booking-grid{grid-template-columns:1fr}.booking-grid .input-card:nth-child(n){border-radius:0}.booking-grid .input-card:first-child{border-radius:14px 14px 0 0}.booking-grid .input-card:last-child{border-radius:0 0 14px 14px}.input-card{min-height:68px}.calculation-consents{padding:11px}.booking-footer{flex-direction:column;align-items:stretch;gap:12px}.booking-footer .primary-button{min-width:0;width:100%}.booking-footer p{text-align:center;font-size:.78rem}
  .home-value-strip{margin-top:365px;grid-template-columns:1fr 1fr;width:calc(100% - 20px)}.home-test-card{width:calc(100% - 20px);padding:20px;grid-template-columns:auto 1fr}.home-test-card>a{grid-column:1/-1;width:100%}
  .landing-section{width:calc(100% - 20px);margin-top:65px}.product-feature-grid{grid-template-columns:1fr}.product-feature{min-height:auto}.journey-showcase{padding:11px;border-radius:25px}.journey-copy{padding:25px 14px}.journey-screen{padding:12px}.journey-screen-body{grid-template-columns:110px 1fr}.journey-chart{min-height:230px}.audience-grid,.trust-panel,.faq-grid{grid-template-columns:1fr}.trust-panel{gap:1px}.closing-cta{width:calc(100% - 20px);margin:65px auto;padding:32px 22px;grid-template-columns:1fr;border-radius:26px}.closing-cta .primary-button{width:100%}
  .site-footer{padding:34px 20px}.footer-pro{grid-template-columns:1fr 1fr;gap:30px}.footer-intro{grid-column:1/-1}.footer-bottom{flex-direction:column}.footer-bottom .legal-links{justify-content:flex-start}
  [data-reveal]{opacity:1;transform:none}.display-tools{z-index:110}
  .result-shell,.family-shell,.account-shell,.psych-shell,.legal-shell,.data-shell,.checkout-shell{width:min(100% - 20px,1240px)}
}

@media(max-width:480px){
  .hero-home{padding-bottom:390px}.hero h1{font-size:2.45rem}.hero-proof span:nth-child(n+3){display:none}
  .home-value-strip{grid-template-columns:1fr;margin-top:380px}.home-value-strip article,.home-value-strip>a{min-height:70px}
  .journey-screen-body{grid-template-columns:1fr}.journey-chart{min-height:180px}.journey-info article:nth-child(n+3){display:none}
  .audience-grid{grid-template-columns:1fr}.footer-pro{grid-template-columns:1fr}.footer-intro{grid-column:auto}.footer-bottom{grid-column:auto}.footer-column{padding-top:4px}
  .landing-section-head h2,.closing-cta h2{font-size:2.15rem}.product-feature{padding:21px;border-radius:21px}.faq-grid details{padding:0 15px}
  .error-shell{padding:30px 20px}.result-actions .primary-button,.result-actions .secondary-button{width:100%}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.site-header,.product-feature,.reading-card-v3,.premium-insight,[data-reveal],.nav-toggle span{transition:none!important}.personal-reading-state.is-loading:after{animation:none}
}
.result-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.icon-action{display:inline-flex;align-items:center;gap:7px;min-height:43px;padding:9px 12px;border:1px solid #e4dff0;border-radius:13px;background:#fff;color:#50446e;font-weight:750;cursor:pointer}.icon-action:hover{background:#f4f1ff;color:#4d38c5;border-color:#d6cdf5}.icon-action span{font-size:.8rem}
@media(max-width:760px){.result-topbar{align-items:flex-start;flex-direction:column}.result-top-actions{width:100%;justify-content:flex-start}.result-top-actions .secondary-button{width:auto!important}.icon-action span{display:none}}
/* Stable form flow on tablet and phone: the card remains in document flow and cannot overlap the headline. */
@media(max-width:1020px){
  .hero-home{min-height:0;padding-bottom:44px}
  .booking-card{position:relative;left:auto;bottom:auto;transform:none;margin:42px auto -205px}
  .home-value-strip{margin-top:245px}
}
@media(max-width:760px){
  .hero-home{min-height:0;padding:48px 14px 36px}
  .booking-card{bottom:auto;margin:32px auto -345px}
  .home-value-strip{margin-top:375px}
}
@media(max-width:480px){
  .booking-card{margin-bottom:-365px}
  .home-value-strip{margin-top:395px}
}
.footer-socials{display:flex;flex-wrap:wrap;gap:8px}.footer-socials a{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border:1px solid rgba(255,255,255,.13);border-radius:11px;color:#fff;text-decoration:none;font-size:.78rem;font-weight:750}.footer-socials a:hover{background:rgba(255,255,255,.08)}

/* ==========================================================
   РеДизайн 4.7 · итерация 15
   Вкладки продукта, проверка QR, натальная книга, тесты, bodygraph
   ========================================================== */
.result-product-tabs{position:sticky;top:76px;z-index:36;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0 0 22px;padding:7px;border:1px solid rgba(226,220,240,.9);border-radius:19px;background:rgba(255,255,255,.9);box-shadow:0 12px 35px rgba(38,29,86,.08);backdrop-filter:blur(16px)}
.result-product-tabs a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:47px;padding:9px 13px;border-radius:13px;color:#686078;text-decoration:none;font-size:.79rem;font-weight:820;white-space:nowrap;transition:background .18s,color .18s,box-shadow .18s,transform .18s}
.result-product-tabs a span{display:grid;place-items:center;width:25px;height:25px;border-radius:9px;background:#f1eef9;color:#7560d7;font-size:.85rem}.result-product-tabs a:hover{background:#f7f5ff;color:#4938aa}.result-product-tabs a.active{background:linear-gradient(135deg,#5d47df,#7861eb);color:#fff;box-shadow:0 10px 24px rgba(91,70,232,.24)}.result-product-tabs a.active span{background:rgba(255,255,255,.18);color:#fff}

/* Slightly larger bodygraph and stable SVG labels */
.chart-stage{min-height:710px;padding:18px 20px 22px}.chart-stage .bodygraph{width:100%;max-width:520px;height:680px;margin:0 auto;overflow:visible}.chart-stage .bodygraph text{font-synthesis:none;text-rendering:geometricPrecision}.chart-stage .bodygraph .gate-badges text{font-family:DejaVu Sans,Arial,Helvetica,sans-serif!important;font-kerning:none;letter-spacing:0!important}

/* Verification card */
.reading-verification{display:grid;grid-template-columns:190px minmax(0,1fr);gap:25px;align-items:center;margin:24px 0 34px;padding:22px;border:1px solid #ded7f2;border-radius:27px;background:linear-gradient(135deg,#fbfaff,#f4f0ff 48%,#fffaf1);box-shadow:0 14px 42px rgba(49,37,101,.08)}
.verification-qr-link{position:relative;display:grid;place-items:center;min-height:190px;border-radius:21px;background:#fff;text-decoration:none;border:1px solid #e5def4;box-shadow:0 10px 26px rgba(36,27,78,.08);overflow:visible}.verification-qr{display:grid;place-items:center;padding:9px;border-radius:12px;background:#fff}.verification-qr img,.verification-qr canvas{display:block;max-width:100%;height:auto!important}.verification-hover-card{position:absolute;left:50%;bottom:calc(100% + 10px);width:230px;padding:12px 14px;border-radius:14px;background:#211a3b;color:#fff;box-shadow:0 16px 40px rgba(22,16,58,.28);opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:.18s;z-index:3}.verification-hover-card:after{content:"";position:absolute;top:100%;left:50%;border:7px solid transparent;border-top-color:#211a3b;transform:translateX(-50%)}.verification-hover-card b,.verification-hover-card small{display:block}.verification-hover-card small{margin-top:4px;color:#d7d0ed;line-height:1.4}.verification-qr-link:hover .verification-hover-card,.verification-qr-link:focus-visible .verification-hover-card{opacity:1;transform:translate(-50%,0)}
.verification-copy h2{margin:5px 0 9px;font-size:clamp(1.5rem,3vw,2.25rem);letter-spacing:-.035em}.verification-copy>p{margin:0;color:#6f687d;line-height:1.7}.verification-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:17px;padding-top:15px;border-top:1px solid #e5def0}.verification-meta span small,.verification-meta span b{display:block}.verification-meta span small{color:#8b8498;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.verification-meta span b{font-size:.76rem;word-break:break-all;color:#44395e}.verification-meta a{font-weight:800;color:#5b46e8;text-decoration:none;white-space:nowrap}.verification-save{margin-top:20px;padding-top:16px;border-top:1px solid #e5def0}

/* Public verification page */
.verify-page{background:radial-gradient(circle at 15% 8%,#efe9ff 0,transparent 30rem),#f7f6fb}.verify-shell{width:min(780px,calc(100% - 30px));margin:0 auto;padding:70px 0 100px}.verify-card{position:relative;padding:clamp(28px,6vw,58px);border-radius:34px;background:#fff;border:1px solid #e8e3ef;box-shadow:0 24px 75px rgba(37,27,79,.13);overflow:hidden}.verify-card:before{content:"";position:absolute;width:310px;height:310px;right:-150px;top:-160px;border-radius:50%;background:rgba(98,196,141,.12)}.verify-card.is-invalid:before{background:rgba(227,96,96,.1)}.verify-seal{display:grid;place-items:center;width:92px;height:92px;margin-bottom:24px;border-radius:28px;background:linear-gradient(145deg,#e4f9ec,#f8fffb);border:1px solid #c8ead5;color:#21834d;transform:rotate(-3deg)}.verify-seal span{font-size:2.2rem;font-weight:950;line-height:1}.verify-seal small{font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;font-weight:850}.verify-card.is-invalid .verify-seal{background:#fff0f0;border-color:#f0cece;color:#b64141}.verify-card h1{font-size:clamp(2rem,6vw,4.1rem);line-height:1;letter-spacing:-.055em;margin:8px 0 18px}.verify-lead{font-size:1.04rem;line-height:1.7;color:#6c6479;max-width:640px}.verify-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:27px 0}.verify-facts article{padding:16px;border-radius:17px;background:#f8f7fb;border:1px solid #ebe7f0}.verify-facts small,.verify-facts b{display:block}.verify-facts small{color:#8c8498;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.verify-facts b{margin-top:5px;color:#302944}.verify-mark{display:flex;align-items:center;gap:13px;margin:20px 0;padding:16px 18px;border-radius:18px;background:#241d3d;color:#fff}.verify-mark>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.1);font-size:1.2rem}.verify-mark small,.verify-mark b{display:block}.verify-mark small{color:#bbb4cf;font-size:.67rem}.verify-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;color:#787085;word-break:break-all}.verify-note{margin:19px 0 25px;padding:15px 17px;border-left:3px solid #8d78e7;background:#f6f3ff;border-radius:0 14px 14px 0;color:#6f677d;line-height:1.55;font-size:.83rem}

/* Daily Design as its own product tab */
.daily-page{background:radial-gradient(circle at 90% 12%,rgba(255,198,88,.2),transparent 28rem),#f8f7fb}.daily-shell{padding-top:24px}.daily-page-hero{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:0 0 22px;padding:clamp(25px,5vw,46px);border-radius:30px;color:#fff;background:linear-gradient(135deg,#2b2351,#6044bf 62%,#a86e50);box-shadow:0 22px 60px rgba(45,31,103,.18)}.daily-page-hero h1{font-size:clamp(2rem,5vw,4.1rem);line-height:1;letter-spacing:-.055em;margin:7px 0 12px}.daily-page-hero p{margin:0;color:#d9d1ee}.daily-sun-orbit{display:grid;place-items:center;flex:0 0 auto;width:138px;height:138px;border-radius:50%;background:radial-gradient(circle,#ffe38c,#f4b94a 58%,rgba(255,255,255,.13) 59%);box-shadow:0 0 0 16px rgba(255,255,255,.07),0 0 0 31px rgba(255,255,255,.035)}.daily-sun-orbit span{font-size:2.4rem}.daily-sun-orbit small{font-weight:900;color:#5a3d19}.daily-standalone{margin-top:0}.daily-history-wide>div:last-child{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}.daily-history-wide>div:last-child a{min-width:0}.daily-page-note{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;margin-top:25px;padding:24px;border-radius:23px;background:#fff;border:1px solid #e7e2ee}.daily-page-note>span{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:#f0ecff;color:#694fd7;font-size:1.35rem}.daily-page-note h2{margin:0 0 5px}.daily-page-note p{margin:0;color:#756e80}.daily-tab-teaser{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:center;margin:24px 0 35px;padding:22px 24px;border-radius:24px;background:linear-gradient(120deg,#fff8e4,#fff,#f5f1ff);border:1px solid #eee2c7}.daily-tab-orbit{display:grid;place-items:center;width:62px;height:62px;border-radius:20px;background:#f8c95b;color:#5a3a12;font-size:1.6rem;box-shadow:0 9px 23px rgba(196,139,34,.18)}.daily-tab-teaser h2{margin:4px 0 5px;font-size:1.42rem}.daily-tab-teaser p{margin:0;color:#746c7f}.daily-tab-teaser .primary-button{white-space:nowrap}

/* Natal chart as a readable workspace with a right menu */
.natal-result-section{margin-top:48px}.natal-workspace-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.natal-workspace-head h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.04;letter-spacing:-.045em;margin:7px 0 9px}.natal-workspace-head p{max-width:760px;margin:0;color:#746d80;line-height:1.65}.natal-ai-badge{flex:0 0 auto;padding:9px 13px;border-radius:999px;background:#f1edff;color:#5e48cb;font-size:.71rem;font-weight:820}.natal-workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:15px;align-items:start}.natal-panel-stack{min-width:0}.natal-panel{min-height:590px;padding:clamp(22px,4vw,38px);border-radius:27px;background:#fff;border:1px solid #e9e4ef;box-shadow:0 16px 48px rgba(43,33,88,.08)}.natal-panel[hidden]{display:none!important}.natal-overview-grid{display:grid;grid-template-columns:minmax(330px,.9fr) minmax(0,1fr);gap:28px;align-items:center;height:100%}.natal-chart-card{display:grid;place-items:center;min-width:0;padding:12px;border-radius:22px;background:linear-gradient(145deg,#f7f5ff,#fff);border:1px solid #e8e2f5;overflow:auto}.natal-chart-card svg{display:block;max-width:100%;height:auto}.natal-chart-large{min-height:500px}.natal-overview-copy h3,.natal-interpretation-panel h3,.natal-details-panel h3{font-size:clamp(1.65rem,3.2vw,2.55rem);line-height:1.08;letter-spacing:-.035em;margin:8px 0 14px}.natal-overview-copy p{color:#696273;line-height:1.72}.natal-spark,.natal-panel-symbol{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,#efeaff,#fff0da);color:#6a50d6;font-size:1.55rem}.natal-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}.natal-badges span{padding:7px 10px;border-radius:10px;background:#f5f2fb;color:#635a73;font-size:.72rem;font-weight:780}.natal-reading-menu{position:sticky;top:158px;display:grid;gap:7px;max-height:calc(100vh - 180px);overflow:auto;padding:13px;border-radius:23px;background:#272040;color:#fff;box-shadow:0 20px 55px rgba(31,23,72,.22)}.natal-reading-menu>small{padding:7px 9px;color:#ada5c4;text-transform:uppercase;letter-spacing:.1em;font-size:.64rem}.natal-reading-menu button{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;width:100%;padding:10px;border:0;border-radius:14px;text-align:left;background:transparent;color:#d6d0e5;cursor:pointer}.natal-reading-menu button>span{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.07);font-size:1.05rem}.natal-reading-menu button b{font-size:.79rem}.natal-reading-menu button em{font-style:normal;color:#9189a7;font-size:.66rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.natal-reading-menu button:hover{background:rgba(255,255,255,.07)}.natal-reading-menu button.active{background:#fff;color:#3d315d;box-shadow:0 8px 24px rgba(0,0,0,.14)}.natal-reading-menu button.active>span{background:#ede8ff;color:#654bcf}.natal-reading-menu button.active em{color:#817794}.natal-reading-copy{margin-top:16px}.natal-reading-copy p{font-size:1rem;line-height:1.78;color:#4f485b}.natal-symbolic-note{margin-top:23px;padding:13px 15px;border-radius:14px;background:#f7f5fb;color:#7f778a;font-size:.76rem}.natal-load-state{margin:12px 0 0;padding:12px 14px;border-radius:14px;background:#f3efff;color:#5e49c7;font-size:.8rem;font-weight:760}.natal-retry{margin-top:10px}.natal-detailed-layout{display:grid;grid-template-columns:minmax(350px,.9fr) minmax(0,1fr);gap:25px;align-items:center;margin-bottom:20px}

/* Seven psychological mini-tests */
.psych-shell{width:min(1220px,calc(100% - 36px))}.psych-head{max-width:850px}.psych-head p{font-size:1.02rem;line-height:1.7}.psych-test-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.psych-test-tab{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:126px;padding:16px;border-radius:21px;overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s}.psych-test-tab:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(48,37,95,.11)}.psych-test-tab:before{content:"";position:absolute;width:90px;height:90px;right:-50px;top:-50px;border-radius:50%;background:#f2edff}.psych-test-tab.active{color:#fff;border-color:transparent;background:linear-gradient(135deg,#4f3bc1,#7558e8);box-shadow:0 18px 42px rgba(79,59,193,.22)}.psych-test-tab.active:before{background:rgba(255,255,255,.09)}.psych-tab-icon{position:relative;z-index:1;display:grid!important;place-items:center;width:52px;height:52px;margin:0!important;border-radius:17px;background:#f2effb;font-size:1.45rem}.psych-test-tab.active .psych-tab-icon{background:rgba(255,255,255,.14)}.psych-tab-copy{position:relative;z-index:1;display:block!important;min-width:0;margin:0!important}.psych-tab-copy b,.psych-tab-copy small,.psych-tab-copy em{display:block}.psych-tab-copy b{font-size:.9rem;line-height:1.25}.psych-tab-copy small{margin-top:5px;color:#766e86;font-size:.72rem;line-height:1.35}.psych-tab-copy em{margin-top:7px;color:#6a55d2;font-style:normal;font-size:.65rem;font-weight:820;text-transform:uppercase;letter-spacing:.05em}.psych-test-tab.active .psych-tab-copy small,.psych-test-tab.active .psych-tab-copy em{color:#dcd5f4}.psych-test-tab>i{position:relative;z-index:1;font-style:normal;color:#8a7ca8}.psych-test-tab.active>i{color:#fff}.psych-card{max-width:1050px;margin:25px auto 0;padding:clamp(20px,4vw,42px);border-radius:29px}.psych-selected-head{display:grid;grid-template-columns:74px minmax(0,1fr);gap:17px;align-items:center;margin-bottom:27px;padding-bottom:24px;border-bottom:1px solid #ece8f1}.psych-selected-head>span{display:grid;place-items:center;width:74px;height:74px;border-radius:23px;background:linear-gradient(145deg,#eee9ff,#fff4e5);font-size:2rem}.psych-selected-head h2{margin:5px 0 7px;font-size:clamp(1.45rem,3vw,2.2rem);line-height:1.1}.psych-selected-head small{color:#837b90}.psych-question{padding:21px 0;border:0;border-bottom:1px solid #eeeaf2}.psych-question legend{width:100%;font-size:1rem;line-height:1.5;font-weight:780;color:#393247}.answer-scale{gap:8px;margin-top:15px}.answer-scale label{min-height:82px;padding:11px 7px;border-radius:15px;background:#faf9fc;border-color:#e8e4ed}.answer-scale label:has(input:checked){background:#eee9ff;border-color:#7962dc;box-shadow:0 0 0 3px rgba(100,76,210,.08)}.answer-scale b{font-size:1rem}.answer-scale small{line-height:1.2}.psych-result{max-width:900px;margin:25px auto;padding:clamp(26px,5vw,50px);border-radius:30px;background:#fff;border:1px solid #e8e3ef;box-shadow:0 20px 60px rgba(42,31,91,.11)}.psych-result>h2{font-size:clamp(2rem,5vw,3.8rem);line-height:1;letter-spacing:-.05em;margin:8px 0}.psych-result>p{font-size:1rem;line-height:1.75;color:#665e73}.psych-consent{border-radius:17px;background:#f8f6fb;padding:15px}.psych-submit-row{margin-top:17px}

/* Short consent on the calculation form */
.calculation-consents{padding:10px 12px}.calculation-consents .consent-line{font-size:.78rem;line-height:1.45}.calculation-consents .consent-line input{flex:0 0 auto}.calculation-consents .consent-line a{font-weight:750}

/* Admin verification group */
.verification-admin-settings{margin:18px 0;padding:19px;border-radius:19px;background:#f7f4ff;border:1px solid #e3dcf6}.verification-admin-settings h3{margin:0 0 13px;color:#4d3f81}.verification-admin-settings textarea{min-height:90px}

@media(max-width:1020px){
  .result-product-tabs{top:68px}.chart-stage{min-height:660px}.chart-stage .bodygraph{height:635px;max-width:500px}
  .natal-workspace-grid{grid-template-columns:minmax(0,1fr) 245px}.natal-overview-grid,.natal-detailed-layout{grid-template-columns:1fr}.natal-panel{min-height:0}.natal-chart-large{min-height:430px}.natal-reading-menu{top:145px}
  .psych-test-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .result-product-tabs{position:sticky;top:66px;display:flex;overflow-x:auto;justify-content:flex-start;scroll-snap-type:x proximity;padding:6px;margin-left:-1px;margin-right:-1px;border-radius:16px}.result-product-tabs a{flex:0 0 auto;min-height:43px;padding:7px 11px;scroll-snap-align:start}.result-product-tabs a span{width:23px;height:23px}.chart-stage{min-height:595px;padding:4px 0 13px}.chart-stage .bodygraph{height:580px;max-width:450px}
  .reading-verification{grid-template-columns:1fr;padding:18px}.verification-qr-link{width:190px;min-height:190px;margin:auto}.verification-hover-card{display:none}.verification-meta{align-items:flex-start;flex-direction:column}.verification-meta{align-items:flex-start;flex-direction:column}.verification-meta a{white-space:normal}
  .daily-page-hero{padding:26px 20px}.daily-sun-orbit{width:88px;height:88px}.daily-sun-orbit span{font-size:1.65rem}.daily-page-note,.daily-tab-teaser{grid-template-columns:auto 1fr}.daily-page-note .secondary-button,.daily-tab-teaser .primary-button{grid-column:1/-1;width:100%}
  .natal-workspace-head{align-items:flex-start;flex-direction:column}.natal-workspace-grid{display:flex;flex-direction:column}.natal-panel-stack{width:100%;order:2}.natal-reading-menu{position:sticky;top:120px;z-index:20;order:1;display:flex;width:100%;max-height:none;overflow-x:auto;overflow-y:hidden;padding:7px;border-radius:17px;scroll-snap-type:x proximity}.natal-reading-menu>small{display:none}.natal-reading-menu button{flex:0 0 155px;grid-template-columns:34px minmax(0,1fr);padding:8px;scroll-snap-align:start}.natal-reading-menu button>span{width:34px;height:34px}.natal-reading-menu button em{display:none}.natal-panel{padding:21px 17px;border-radius:22px}.natal-overview-grid{grid-template-columns:1fr}.natal-chart-large{min-height:340px}.natal-chart-card{padding:5px}.natal-detailed-layout{grid-template-columns:1fr}
  .psych-test-tabs{grid-template-columns:1fr 1fr}.psych-test-tab{grid-template-columns:45px minmax(0,1fr);min-height:118px;padding:13px}.psych-test-tab>i{display:none}.psych-tab-icon{width:45px;height:45px;border-radius:15px}.psych-selected-head{grid-template-columns:58px minmax(0,1fr)}.psych-selected-head>span{width:58px;height:58px;border-radius:18px;font-size:1.55rem}
  .verify-shell{padding-top:42px}.verify-card{border-radius:26px}.verify-facts{grid-template-columns:1fr}
}
@media(max-width:480px){
  .result-product-tabs a{font-size:.72rem}.result-product-tabs a span{display:none}.chart-stage{min-height:535px}.chart-stage .bodygraph{height:525px;width:106%;max-width:none;margin-left:-3%}
  .daily-page-hero{align-items:flex-start}.daily-page-hero h1{font-size:2.25rem}.daily-sun-orbit{width:72px;height:72px;box-shadow:0 0 0 9px rgba(255,255,255,.06)}.daily-page-note,.daily-tab-teaser{grid-template-columns:1fr}.daily-tab-orbit,.daily-page-note>span{width:52px;height:52px}
  .natal-ai-badge{white-space:normal}.natal-reading-menu button{flex-basis:128px}.natal-panel-symbol{width:50px;height:50px}.natal-overview-copy h3,.natal-interpretation-panel h3,.natal-details-panel h3{font-size:1.75rem}
  .psych-test-tabs{grid-template-columns:1fr}.psych-test-tab{min-height:104px}.psych-card{padding:18px 13px}.psych-question{padding:18px 0}.answer-scale{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.answer-scale label{min-height:62px;padding:8px 2px}.answer-scale small{display:none}
  .verification-qr-link{width:175px;min-height:175px}.verification-meta span b{font-size:.68rem}
}

/* ============================================================
   РеДизайн 4.8 — Аудит вёрстки: стабилизация главной,
   компактность, согласие фактом нажатия (RZD/Aviasales стиль)
   ============================================================ */

/* 1. Главная: booking-карта в нормальном потоке вместо absolute.
   Это убирает плавающую вёрстку и десятки «магических» отступов. */
.hero-home{padding:64px 20px 40px;min-height:0;overflow:hidden}
.booking-card{
  position:static;transform:none;left:auto;bottom:auto;
  width:min(1180px,calc(100% - 32px));
  margin:-28px auto 0;z-index:8;
}
/* Карта чуть «наезжает» на герой, но самодостаточно — без зависимостей ниже */
.hero-home + .booking-card{margin-top:-28px}

/* Контент под героем больше не зависит от высоты карты */
.notice{margin:18px auto 0 !important}
.result{margin:28px auto 0 !important}
.how-after-hero{margin-top:56px !important}

/* 2. Инлайновое согласие под кнопкой (вместо чекбокса) */
.consent-inline{
  margin:12px 2px 0;font-size:.8rem;line-height:1.5;color:var(--muted);text-align:center;
}
.consent-inline a{color:var(--primary);text-decoration:none;font-weight:650;border-bottom:1px solid rgba(91,70,232,.28)}
.consent-inline a:hover{border-bottom-color:var(--primary)}

/* 3. Компактнее ленту ценности и секции лендинга */
.home-value-strip{margin-top:30px}
.how-section{margin:52px auto}
.landing-section{margin:56px auto}

/* 4. Адаптив главной — единые правила, без накопленных отступов */
@media(max-width:940px){
  .hero-home{padding:52px 18px 36px !important}
  .booking-card{margin-top:-22px !important;padding:16px}
  .notice{margin-top:18px !important}
  .result{margin-top:24px !important}
  .how-after-hero{margin-top:44px !important}
}
@media(max-width:700px){
  .hero-home{padding:44px 14px 30px !important;min-height:0 !important}
  .booking-card{margin-top:-16px !important;width:calc(100% - 24px);padding:12px}
  .notice{margin-top:16px !important}
  .result{margin-top:20px !important}
  .how-after-hero{margin-top:36px !important}
  .consent-inline{font-size:.78rem}
}

/* ============================================================
   РеДизайн 4.8 — Почта, партнёрское продвижение, подарки
   ============================================================ */

/* Личный кабинет: настройки почты */
.mail-settings-card{background:#fff;border-radius:var(--radius-lg);padding:26px;border:1px solid var(--line);box-shadow:0 8px 28px rgba(35,41,70,.06);max-width:760px}
.mail-settings-card h2{margin:6px 0 8px}
.mail-toggle{display:flex;align-items:center;gap:10px;margin:14px 0;font-weight:650}
.mail-toggle input{width:18px;height:18px}
.mail-field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
.mail-field small{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#8a91a5;font-weight:700}
.mail-field input,.mail-field select{padding:11px 13px;border:1px solid var(--line);border-radius:11px;font-weight:600}
.mail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.mail-grid .mail-field:nth-child(1),.mail-grid .mail-field:nth-child(4){grid-column:1/-1}
.mail-hint{background:#f4f3ff;border:1px solid #e2e1fb;border-radius:12px;padding:11px 13px;font-size:.85rem;color:#574fb0;margin:4px 0 14px}
.mail-test{margin-top:18px;padding-top:18px;border-top:1px dashed var(--line);display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.mail-test .mail-field{flex:1;min-width:220px;margin-bottom:0}

/* Партнёр: промо */
.promo-links .promo-link-row{display:grid;grid-template-columns:1fr 2fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}
.promo-link-meta b{display:block}.promo-link-meta small{color:var(--muted)}
.copy-link{display:flex;gap:8px}.copy-link input{flex:1;min-width:0;padding:9px 12px;border:1px solid var(--line);border-radius:10px;font-size:.85rem}
.promo-qr-btn{padding:9px 16px}
.promo-qr-stage{display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap;margin-top:14px}
.promo-qr-box{width:240px;height:240px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px}
.promo-qr-box img,.promo-qr-box canvas{display:block}
.promo-qr-empty{color:var(--muted);font-size:.85rem;text-align:center;padding:20px}
.promo-qr-actions{flex:1;min-width:220px;display:flex;flex-direction:column;gap:10px}
.promo-qr-actions #qrUrl{word-break:break-all;font-size:.8rem}
.promo-snippets{display:grid;gap:14px}
.promo-snippets textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:11px;resize:vertical;font:inherit}

/* Авторизация партнёра: список преимуществ и переключатель */
.auth-points{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px}
.auth-points li{color:rgba(255,255,255,.92);font-size:.92rem}
.auth-switch{margin-top:16px;color:var(--muted);font-size:.9rem}
.auth-switch a{color:var(--primary);font-weight:700}
.form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* Подарки */
.gift-cta{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 18px;border-radius:14px;border:1.5px solid rgba(255,255,255,.42);background:rgba(255,255,255,.14);color:#fff!important;text-decoration:none!important;font-size:.92rem;font-weight:700;line-height:1.2;box-shadow:0 8px 24px rgba(9,8,28,.12);transition:background .15s,border-color .15s,transform .15s}
.checkout-teaser .gift-cta:hover,.teaser-actions .gift-cta:hover{background:rgba(255,255,255,.24);border-color:rgba(255,255,255,.72);transform:translateY(-1px)}
.checkout-teaser .teaser-actions .gift-cta{margin-left:0}
.mobile-buy-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.mobile-buy-bar .gift-cta-compact{width:44px;height:44px;padding:0;border-radius:12px;font-size:1.1rem;background:#f4f1fb;border-color:#d8cff5;color:#5c3be8!important;box-shadow:none}
.gift-cta{margin-left:10px}
.gift-form,.gift-redeem-form{margin-top:18px}
.gift-product-lead{margin:0 0 14px;color:var(--muted);font-size:.92rem;line-height:1.45}
.gift-product-pick{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:16px}
.gift-product-option{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 16px;border:2px solid var(--line);border-radius:16px;cursor:pointer;transition:.15s;background:#fff}
.gift-product-option.active{border-color:var(--primary);background:linear-gradient(135deg,#faf9ff,#f7f5ff);box-shadow:0 10px 24px rgba(91,70,232,.08)}
.gift-product-option input{position:absolute;opacity:0;pointer-events:none}
.gift-product-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#f1eeff;color:var(--primary);font-size:1.15rem}
.gift-product-copy{min-width:0;display:flex;flex-direction:column;gap:4px}
.gift-product-copy small{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);font-weight:800}
.gift-product-copy b{font-size:1rem;color:var(--ink,#1f2130)}
.gift-product-copy em{font-size:.82rem;line-height:1.4;color:var(--muted);font-style:normal}
.gift-product-option>strong{white-space:nowrap;color:var(--primary);font-size:1rem}
.gift-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gift-fields label{display:flex;flex-direction:column;gap:5px}
.gift-fields small{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#8a91a5;font-weight:700}
.gift-fields input,.gift-fields textarea{padding:11px 13px;border:1px solid var(--line);border-radius:11px;font:inherit}
.gift-message-field{grid-column:1/-1}
.gift-buyer{display:flex;flex-direction:column;gap:5px;margin:14px 0}
.gift-buyer input{padding:11px 13px;border:1px solid var(--line);border-radius:11px}
.gift-need-reading{background:#f7f6ff;border:1px solid #e2e1fb;border-radius:16px;padding:20px;margin-top:16px}
.gift-need-reading .primary-button{margin-top:12px}

/* Подарок: экраны готовности и активации */
.gift-done-shell,.gift-redeem-shell{max-width:640px;margin:40px auto;padding:0 18px}
.gift-done-card,.gift-redeem-card{background:#fff;border-radius:var(--radius-xl);padding:36px 30px;border:1px solid var(--line);box-shadow:var(--shadow);text-align:center}
.gift-done-badge{font-size:46px;margin-bottom:6px}
.gift-code-box{margin:18px 0;padding:18px;border-radius:16px;background:linear-gradient(135deg,#191d38,#30256f);color:#fff}
.gift-code-box span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;opacity:.7;margin-bottom:6px}
.gift-code-box b{font-size:1.7rem;letter-spacing:3px}
.gift-mail-status{margin-top:14px;font-size:.9rem}.gift-mail-status.ok{color:#168b76}.gift-mail-status.warn{color:#9a6816}
.gift-done-actions{display:flex;gap:12px;justify-content:center;margin-top:22px;flex-wrap:wrap}
.gift-redeem-card{text-align:left}
.gift-code-form{display:flex;gap:10px;margin-top:14px}.gift-code-form input{flex:1;padding:13px;border:1px solid var(--line);border-radius:12px;letter-spacing:2px;text-transform:uppercase}
.gift-grid{margin-top:14px}

@media(max-width:700px){
  .mail-grid,.gift-fields,.gift-product-pick,.form-two{grid-template-columns:1fr}
  .promo-link-row{grid-template-columns:1fr}
  .gift-cta{margin-left:0;margin-top:10px}
}

/* ============================================================
   РеДизайн 4.9 — удобная форма, единый центр тестов, партнёры
   ============================================================ */
body{background:linear-gradient(180deg,#fbfaff 0,#f7f8fc 38%,#fff 100%)}
.site-header{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}

.booking-card-airline{padding:0;overflow:visible;background:rgba(255,255,255,.98);border:1px solid rgba(105,84,205,.15);box-shadow:0 28px 80px rgba(37,28,91,.2)}
.booking-route{display:flex;align-items:center;gap:11px;padding:14px 20px;border-bottom:1px solid #ece9f5;background:linear-gradient(135deg,#faf9ff,#f6f8ff);border-radius:25px 25px 0 0;color:#777185;font-size:.76rem;font-weight:760}
.booking-route span{display:flex;align-items:center;gap:8px}.booking-route span b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e8e4f7;color:#6658ad;font-size:.7rem}.booking-route span.is-active{color:#3e2d9d}.booking-route span.is-active b{background:#5b46e8;color:#fff}.booking-route i{font-style:normal;color:#b7b0ca}
.booking-card-airline .booking-grid{margin:14px 14px 0;border-radius:18px;background:#eeeaf5;border:1px solid #e7e2ef;overflow:visible}
.booking-card-airline .input-card{transition:.18s}.booking-card-airline .input-card:focus-within{position:relative;z-index:4;background:#fff;box-shadow:0 0 0 3px rgba(91,70,232,.13)}
.booking-card-airline .place-confirm{margin:13px 14px 0}
.booking-footer-airline{padding:15px 16px 0}.booking-assurance{display:grid;gap:3px}.booking-assurance p{font-weight:700;color:#4f4a5c}.booking-assurance small{color:#8b8597}
.calculate-button{min-width:280px;min-height:54px;font-size:1rem}.calculate-button:disabled{cursor:wait;opacity:.78;transform:none}.calculate-button.is-loading b{animation:spin .8s linear infinite}
.form-status{min-height:20px;margin:7px 17px 0;text-align:right;font-size:.82rem;font-weight:700}.form-status.is-error{color:#b33b53}.form-status.is-success{color:#16856f}.form-status.is-loading{color:#5b46e8}
.consent-inline-card{display:flex;align-items:flex-start;justify-content:center;gap:9px;margin:10px 14px 0;padding:11px 14px 14px;border-top:1px solid #eeeaf4;text-align:left}.consent-shield{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:9px;background:#eefaf6;color:#15826c;font-weight:900}

.tests-hub-shell{width:min(1240px,calc(100% - 32px));padding-top:42px}.tests-hub-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;max-width:none}.tests-hub-head h1{font-size:clamp(2.4rem,5vw,4.5rem);margin:8px 0 12px}.tests-head-badge{display:grid;place-items:center;min-width:150px;padding:18px;border-radius:24px;background:linear-gradient(145deg,#ede8ff,#fff4e9);box-shadow:0 14px 38px rgba(61,45,129,.1)}.tests-head-badge span{font-size:1.8rem}.tests-head-badge b{font-size:1.1rem}.tests-head-badge small{color:var(--muted)}
.tests-catalog{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:26px}.tests-catalog .psych-test-tab{min-height:145px}.tests-catalog .psych-test-tab:first-child .psych-tab-icon{background:conic-gradient(#3855b7,#12a0a0,#e4bb30,#e16746,#962f53,#4a3b94,#3855b7);color:#fff}
.test-experience-card{max-width:1080px;margin:26px auto 0;padding:clamp(20px,4vw,42px);border:1px solid #e8e3ef;border-radius:30px;background:#fff;box-shadow:0 24px 70px rgba(42,31,91,.11)}
.test-experience-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.test-experience-title{display:flex;gap:18px;align-items:center}.test-big-icon{display:grid;place-items:center;width:74px;height:74px;border-radius:24px;background:conic-gradient(#3e55be,#13a5a0,#e6bc32,#e1724b,#983455,#4a3d94,#3e55be);color:#fff;font-size:2rem}.test-experience-title h2{margin:5px 0 7px;font-size:clamp(1.5rem,3vw,2.4rem)}.test-experience-title p{margin:0;color:var(--muted)}.test-reset-button{border:0;border-radius:12px;padding:10px 13px;background:#f2effa;color:#5b46e8;font-weight:780;cursor:pointer}
.test-progress-panel{margin:25px 0 22px;padding:15px 17px;border-radius:18px;background:#f8f6fc}.test-progress-copy{display:flex;justify-content:space-between;gap:20px;margin-bottom:10px}.test-progress-copy span{color:var(--muted);font-size:.83rem}.test-progress-track{height:8px;border-radius:99px;background:#e9e4f2;overflow:hidden}.test-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5b46e8,#9a64ef);transition:width .22s}
.color-grid-integrated{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.color-grid-integrated .color-tile{min-height:150px;border-radius:22px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.24),0 12px 25px rgba(31,24,70,.08)}.color-grid-integrated .color-tile:hover{transform:translateY(-3px)}.color-grid-integrated .color-tile.chosen{opacity:.42;transform:scale(.97)}
.color-order-integrated{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.color-order-integrated button{display:flex;align-items:center;gap:8px;border:1px solid #e5dff0;border-radius:999px;padding:7px 10px 7px 7px;background:#fff;color:#4f475b;cursor:pointer}.color-order-integrated button span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#5b46e8;color:#fff;font-size:.72rem}.color-order-integrated button b{color:#9b93a6}.test-inline-hint{margin:14px 0 0;color:#746c80;font-size:.88rem}.test-inline-hint.is-error{color:#b33b53}.integrated-test-result{margin-top:8px}.result-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.result-story-grid article{padding:16px;border-radius:17px;background:#faf8fd;border:1px solid #eee9f3}.result-story-grid article.wide{grid-column:1/-1}.result-story-grid small{color:#6d55d8;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.result-story-grid p{margin:8px 0 0}.luscher-position-card{border-top:4px solid var(--position-color,#5b46e8)!important}

.psych-wizard{max-width:960px}.wizard-selected-head{margin-bottom:18px}.wizard-question{border:0;padding:8px 0 22px}.wizard-question legend{display:flex;align-items:flex-start;gap:13px;font-size:clamp(1.2rem,2.6vw,1.75rem);line-height:1.35}.wizard-question legend span{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:12px;background:#eee9ff;color:#5b46e8;font-size:.82rem}.wizard-answer-scale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:28px}.wizard-answer-scale label{position:relative;min-height:112px;padding:15px 8px;border-radius:19px;background:#faf9fc}.wizard-answer-scale label:hover{transform:translateY(-2px);border-color:#9d8be8}.wizard-answer-scale label i{position:absolute;right:9px;top:9px;display:none;width:22px;height:22px;border-radius:50%;background:#5b46e8;color:#fff;font-style:normal;place-items:center}.wizard-answer-scale label:has(input:checked) i{display:grid}.wizard-answer-scale b{font-size:1.25rem}.wizard-finish{text-align:center;padding:22px 0 4px}.wizard-finish-icon{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 12px;border-radius:23px;background:#e8fbf4;color:#15866d;font-size:1.8rem;font-weight:900}.wizard-finish h3{font-size:1.8rem;margin:0}.wizard-finish p{color:var(--muted)}.wizard-submit{margin-top:16px}.wizard-controls{display:flex;justify-content:space-between;gap:12px;margin-top:12px}.wizard-controls button:disabled{opacity:.42;cursor:not-allowed}.wizard-disclaimer{margin-top:18px}.js .wizard-question[hidden],.js .wizard-finish[hidden]{display:none!important}

.partners-admin-title>div>p{max-width:760px;margin:8px 0 0}.partner-admin-metrics{margin:20px 0}.partner-create-card{padding:0;overflow:hidden}.section-title-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 26px;border-bottom:1px solid #eeeaf3}.section-title-row h2{margin:5px 0 0}.partner-create-form,.partner-edit-form{display:grid;gap:0}.partner-form-section{padding:22px 26px;border-bottom:1px solid #eeeaf3}.partner-form-section h3{margin:0 0 15px;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;color:#6658a8}.partner-form-grid{display:grid;gap:14px}.partner-form-grid.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.partner-form-grid.five-col{grid-template-columns:repeat(5,minmax(0,1fr))}.partner-form-grid label{display:flex;flex-direction:column;gap:6px}.partner-form-grid label>span{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em;color:#81798d}.partner-form-grid input,.partner-form-grid select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #ddd7e8;border-radius:12px;background:#fff}.partner-form-grid input:focus,.partner-form-grid select:focus{outline:0;border-color:#7b66dd;box-shadow:0 0 0 3px rgba(91,70,232,.1)}.prefixed-input{display:flex;border:1px solid #ddd7e8;border-radius:12px;overflow:hidden;background:#fff}.prefixed-input b{display:flex;align-items:center;padding:0 10px;background:#f3f0f8;color:#6c6380}.prefixed-input input{border:0;border-radius:0}.span-2{grid-column:span 2}.span-3{grid-column:1/-1}.partner-create-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 26px;background:#faf9fd}.partner-create-submit p{margin:0;color:var(--muted);font-size:.86rem}.partner-create-submit .go{min-width:240px}
.admin-api-key-reveal,.partner-api-key{display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,2fr) auto;align-items:center;gap:16px;padding:18px 20px}.admin-api-key-reveal p{margin:4px 0 0;color:var(--muted);font-size:.82rem}.admin-api-key-reveal code,.partner-api-key code{overflow:auto;white-space:nowrap}.api-welcome-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;margin-bottom:20px;padding:24px;border-radius:24px;background:linear-gradient(135deg,#effbf7,#f5f0ff);border:1px solid #dfece8}.api-welcome-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:19px;background:#17a47e;color:#fff;font-size:1.5rem}.api-welcome-card h2{margin:5px 0}.api-welcome-card p{margin:0;color:#615a6d}.api-welcome-card .partner-api-key{grid-column:1/-1;background:#fff;border-radius:16px}
.partners-list-section{margin-top:28px}.partners-list-toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px}.partners-list-toolbar h2{margin:5px 0 0}.partner-search{display:flex;align-items:center;gap:9px;min-width:330px;padding:0 13px;border:1px solid #ddd7e8;border-radius:14px;background:#fff}.partner-search input{width:100%;min-height:45px;border:0;outline:0}.partner-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.modern-partner-card{padding:0;overflow:hidden;border:1px solid #e6e1ed;border-radius:24px;background:#fff;box-shadow:0 12px 34px rgba(42,31,91,.07)}.modern-partner-card .partner-card-head{padding:20px}.partner-identity{display:flex;align-items:center;gap:13px}.partner-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,#5b46e8,#8b6cf3);color:#fff;font-size:1.2rem;font-weight:900}.partner-card-statuses{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.partner-card-metrics{grid-template-columns:repeat(5,1fr);padding:0 20px 18px}.partner-card-metrics span{padding:10px 7px;background:#faf9fc;border-radius:12px}.partner-management{border-top:1px solid #eeeaf3}.partner-management>summary{display:flex;justify-content:space-between;padding:16px 20px;cursor:pointer;font-weight:800}.partner-management>summary b{color:#5b46e8;font-size:.78rem}.partner-management-body{background:#fbfafd}.partner-edit-form .partner-form-section{padding:18px 20px}.partner-edit-form>.go{margin:18px 20px}.partner-action-grid{display:grid;gap:10px;padding:0 20px 20px}.partner-action-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px;border:1px solid #e7e2ee;border-radius:15px;background:#fff}.partner-action-card div{display:grid}.partner-action-card span{color:var(--muted);font-size:.78rem}.partner-action-card.balance-card{grid-template-columns:minmax(130px,1fr) 120px minmax(120px,1fr) auto}.partner-action-card input{min-height:39px;padding:8px 10px;border:1px solid #ddd7e8;border-radius:10px}.empty-search-state,.admin-empty-state{padding:25px;text-align:center;color:var(--muted)}.admin-empty-state{display:flex;justify-content:center;align-items:center;gap:12px}.admin-empty-state>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#e8fbf4;color:#148269}.admin-empty-state p{margin:3px 0 0}.modern-payout-row{border-radius:14px}.payouts-admin-card{padding:0}.payouts-admin-card .payout-row{margin:0 22px 14px}

@media(max-width:1050px){.tests-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-form-grid.five-col{grid-template-columns:repeat(3,minmax(0,1fr))}.partner-admin-grid{grid-template-columns:1fr}.partner-card-metrics{grid-template-columns:repeat(5,1fr)}}
@media(max-width:760px){.booking-route{overflow-x:auto}.booking-route span{white-space:nowrap}.booking-route i{display:none}.booking-footer-airline{align-items:stretch}.booking-assurance{text-align:center}.form-status{text-align:center}.tests-hub-head{align-items:flex-start;flex-direction:column}.tests-head-badge{grid-template-columns:auto auto;gap:8px;min-width:0}.tests-head-badge small{grid-column:1/-1}.test-experience-top,.test-experience-title{align-items:flex-start}.test-experience-top{flex-direction:column}.test-big-icon{width:58px;height:58px;border-radius:18px}.color-grid-integrated{grid-template-columns:repeat(2,minmax(0,1fr))}.wizard-answer-scale{grid-template-columns:1fr}.wizard-answer-scale label{min-height:64px;display:grid;grid-template-columns:38px 1fr;align-items:center;text-align:left}.wizard-answer-scale label small{display:block}.result-story-grid{grid-template-columns:1fr}.result-story-grid article.wide{grid-column:auto}.partner-form-grid.three-col,.partner-form-grid.five-col{grid-template-columns:1fr 1fr}.span-2,.span-3{grid-column:1/-1}.partner-create-submit{align-items:stretch;flex-direction:column}.partner-create-submit .go{width:100%}.admin-api-key-reveal,.partner-api-key{grid-template-columns:1fr}.partners-list-toolbar{align-items:stretch;flex-direction:column}.partner-search{min-width:0;width:100%}.partner-card-metrics{grid-template-columns:repeat(2,1fr)}.partner-action-card,.partner-action-card.balance-card{grid-template-columns:1fr}.section-title-row{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.tests-catalog{grid-template-columns:1fr}.color-grid-integrated .color-tile{min-height:120px}.partner-form-grid.three-col,.partner-form-grid.five-col{grid-template-columns:1fr}.booking-route{padding:11px 13px}.booking-route span:nth-of-type(n+3){display:none}.consent-inline-card{padding-left:8px;padding-right:8px}}

/* ========================================================================== 
   РеДизайн 5.0 — спокойная адаптивная компоновка и упрощённая админка
   ========================================================================== */
:root{--v5-bg:#f5f6fb;--v5-card:#fff;--v5-ink:#17192a;--v5-muted:#70758b;--v5-line:#e7e9f2;--v5-purple:#6547e8;--v5-purple-soft:#f0ecff;--v5-green:#168a68;--v5-green-soft:#eaf8f2;--v5-red:#c8485b;--v5-red-soft:#fff0f2;--v5-gold:#a06a12;--v5-gold-soft:#fff7e3}
html{scroll-behavior:smooth}body{overflow-x:hidden}.secondary-button.compact{width:auto;padding:9px 13px;border-radius:11px;font-size:.82rem}.admin-main,.result-shell,.psych-shell{min-width:0}

/* Главная: форма больше не плавает поверх следующего блока. */
body.home-v5{background:var(--v5-bg)}
.home-v5 .hero-home{display:grid;grid-template-columns:minmax(0,1fr) minmax(520px,620px);align-items:center;gap:clamp(34px,5vw,86px);min-height:auto;padding:68px clamp(22px,6vw,96px);overflow:hidden}
.home-v5 .hero-copy{max-width:720px;margin:0;text-align:left}.home-v5 .hero-copy h1{font-size:clamp(2.6rem,5vw,5.25rem);line-height:.98;letter-spacing:-.055em}.home-v5 .hero-copy>p{max-width:650px;margin:24px 0 0;font-size:1.08rem;line-height:1.7}.home-v5 .hero-proof{justify-content:flex-start;margin-top:28px}
.home-v5 .booking-card{position:relative;left:auto;bottom:auto;transform:none;width:100%;padding:18px;border-radius:30px;box-shadow:0 30px 80px rgba(27,20,88,.28)}
.booking-card-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:9px 8px 18px}.booking-card-heading small{display:block;color:var(--primary);font-weight:850;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.booking-card-heading h2{margin:5px 0 4px;font-size:1.55rem;letter-spacing:-.03em}.booking-card-heading p{margin:0;color:var(--v5-muted);font-size:.88rem}.booking-card-heading>span{width:48px;height:48px;display:grid;place-items:center;border-radius:17px;background:var(--v5-purple-soft);color:var(--v5-purple);font-size:1.35rem}
.home-v5 .booking-route{background:#f7f7fb;border-radius:16px;padding:10px 12px;margin-bottom:12px}.home-v5 .booking-grid{grid-template-columns:1fr 1fr;gap:10px;background:transparent;border:0}.home-v5 .input-card,.home-v5 .booking-grid .input-card:nth-child(n){min-height:82px;border:1px solid var(--v5-line);border-radius:17px;background:#fff}.home-v5 .input-card:hover{border-color:#cbc5f4}.home-v5 .input-card.has-error{border-color:var(--v5-red);box-shadow:0 0 0 4px rgba(200,72,91,.1)}.home-v5 .city-card{grid-column:1/-1}.home-v5 .place-confirm{grid-column:1/-1;margin-top:0}.home-v5 .booking-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,auto);gap:14px;align-items:center;margin-top:14px}.home-v5 .calculate-button{position:relative;z-index:3;min-height:58px;width:100%;font-size:1rem;pointer-events:auto}.home-v5 .form-status{grid-column:1/-1;margin-top:0}.home-v5 .how-after-hero,.home-v5 .how-section{margin-top:0}.home-v5 .notice{margin-top:22px}.home-v5 .landing-section:first-of-type{margin-top:0}
@media(max-width:1050px){.home-v5 .hero-home{grid-template-columns:1fr;padding-bottom:58px}.home-v5 .hero-copy{max-width:820px;margin:auto;text-align:center}.home-v5 .hero-copy>p{margin-left:auto;margin-right:auto}.home-v5 .hero-proof{justify-content:center}.home-v5 .booking-card{max-width:760px;margin:auto}}
@media(max-width:680px){.home-v5 .hero-home{padding:38px 10px 24px}.home-v5 .hero-copy{padding:0 10px}.home-v5 .hero-copy h1{font-size:2.55rem}.home-v5 .hero-proof{display:grid;grid-template-columns:1fr 1fr;text-align:left}.home-v5 .booking-card{padding:10px;border-radius:23px}.booking-card-heading{padding:10px 8px 14px}.booking-card-heading>span{display:none}.home-v5 .booking-route{overflow:auto;justify-content:flex-start}.home-v5 .booking-route span{min-width:max-content}.home-v5 .booking-grid{grid-template-columns:1fr}.home-v5 .city-card{grid-column:auto}.home-v5 .booking-footer{grid-template-columns:1fr}.home-v5 .booking-footer p{text-align:left}.home-v5 .calculate-button{min-height:60px}.home-v5 .suggest{position:fixed;left:10px;right:10px;top:auto;bottom:10px;max-height:48vh;z-index:120}}

/* Каталог тестов и мастер вопросов. */
.tests-hub-page{background:var(--v5-bg)}.tests-hub-shell{max-width:1280px}.tests-hub-head{border-radius:30px;padding:42px;background:linear-gradient(135deg,#5d43d5,#7e62f1)}.tests-catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 26px}.psych-test-tab{min-width:0;min-height:150px;padding:18px;border-radius:20px;background:#fff;border:1px solid var(--v5-line);box-shadow:0 8px 24px rgba(29,32,63,.05);align-items:flex-start}.psych-test-tab.active{border-color:#8b77ef;box-shadow:0 12px 34px rgba(101,71,232,.17);background:linear-gradient(145deg,#fff,#f5f2ff)}.psych-tab-icon{width:43px;height:43px;flex:0 0 43px}.psych-tab-copy small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.psych-tab-copy em{margin-top:10px}.test-experience-card,.psych-wizard{border-radius:30px;padding:30px;background:#fff;border:1px solid var(--v5-line);box-shadow:0 18px 50px rgba(36,38,69,.08)}.color-grid-integrated{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.color-tile{min-height:150px;border-radius:24px;box-shadow:inset 0 -30px 50px rgba(0,0,0,.12),0 10px 26px rgba(30,31,55,.11)}.color-tile:hover{transform:translateY(-3px) scale(1.01)}.wizard-question legend{font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.25;margin-bottom:26px}.wizard-answer-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.wizard-answer-scale label{min-height:130px;border-radius:19px;padding:17px 10px;background:#fafafe}.wizard-controls{position:sticky;bottom:10px;z-index:8;margin-top:24px;padding:10px;border:1px solid var(--v5-line);border-radius:17px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px)}
@media(max-width:1050px){.tests-catalog{grid-template-columns:repeat(2,1fr)}.wizard-answer-scale{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.tests-hub-shell{padding:10px}.tests-hub-head{padding:26px 20px;border-radius:23px}.tests-catalog{display:flex;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.psych-test-tab{flex:0 0 82vw;scroll-snap-align:start}.test-experience-card,.psych-wizard{padding:17px;border-radius:23px}.color-grid-integrated{grid-template-columns:repeat(2,1fr);gap:9px}.color-tile{min-height:120px;border-radius:18px}.wizard-answer-scale{grid-template-columns:1fr}.wizard-answer-scale label{min-height:72px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;text-align:left}.wizard-controls{display:grid;grid-template-columns:1fr 1fr}}

/* Админка: единая ясная панель. */
body:has(.admin-main){background:var(--v5-bg);color:var(--v5-ink)}.admin-nav{position:sticky;top:0;z-index:90;display:flex;gap:5px;align-items:center;padding:11px clamp(12px,3vw,36px);background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--v5-line);overflow:auto}.admin-nav b{margin-right:10px;white-space:nowrap}.admin-nav a{white-space:nowrap;padding:9px 12px;border-radius:10px;text-decoration:none;color:#555b72;font-size:.84rem}.admin-nav a.on{background:var(--v5-purple-soft);color:var(--v5-purple);font-weight:800}.admin-main{max-width:1480px;margin:auto;padding:32px clamp(12px,3vw,38px) 80px}.admin-title-clean{align-items:flex-end}.admin-title-clean h1{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.05em;margin:4px 0}.admin-title-clean p{color:var(--v5-muted);margin:0;max-width:760px}.clean-search{min-width:min(100%,470px)}.clean-search input{min-width:280px}.admin-card{border:1px solid var(--v5-line);border-radius:24px;background:#fff;box-shadow:0 10px 34px rgba(29,32,63,.055)}.section-title-row{display:flex;justify-content:space-between;gap:20px;align-items:center}.section-title-row h2{margin:0 0 4px}.section-title-row p{margin:0;color:var(--v5-muted)}
.admin-segment-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.admin-segment-tabs a{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:18px;border-radius:19px;background:#fff;border:1px solid var(--v5-line);text-decoration:none;color:var(--v5-ink)}.admin-segment-tabs a b{font-size:1.55rem}.admin-segment-tabs a small{grid-column:1/-1;color:var(--v5-muted)}.admin-segment-tabs a.active{background:linear-gradient(145deg,#fff,#f2efff);border-color:#bcb0f3;box-shadow:0 12px 28px rgba(101,71,232,.12)}.admin-quick-note{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:12px 16px;background:#ece9fb;border-radius:16px;color:#51458b}.admin-quick-note b{font-size:1.3rem}.admin-quick-note p{margin-left:auto;margin-bottom:0;font-size:.82rem}
.readings-card-list,.payment-card-list{padding:22px}.reading-admin-list,.payment-admin-list{display:flex;flex-direction:column;gap:10px;margin-top:18px}.reading-admin-row{display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(280px,1fr) auto auto;gap:18px;align-items:center;padding:16px;border:1px solid var(--v5-line);border-radius:18px;background:#fff}.reading-admin-main{display:flex;gap:13px;align-items:center}.reading-admin-id{width:50px;height:50px;display:grid;place-items:center;border-radius:14px;background:var(--v5-purple-soft);color:var(--v5-purple);font-weight:850}.reading-admin-main h3{margin:0 0 4px}.reading-admin-main p{margin:0;color:var(--v5-muted);font-size:.82rem}.reading-admin-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.reading-admin-facts span{padding:9px;background:#f7f8fb;border-radius:12px}.reading-admin-facts small,.reading-admin-facts b{display:block}.reading-admin-facts small{font-size:.65rem;color:var(--v5-muted)}.reading-admin-facts b{font-size:.79rem;margin-top:2px}.reading-admin-access{display:flex;flex-wrap:wrap;gap:5px}.reading-admin-actions{display:flex;gap:7px;align-items:center}.access-popover{position:relative}.access-popover>summary{list-style:none;cursor:pointer;padding:9px 12px;border:1px solid var(--v5-line);border-radius:11px;font-weight:750;font-size:.82rem}.access-popover-body{position:absolute;right:0;top:calc(100% + 8px);z-index:50;width:330px;padding:15px;background:#fff;border:1px solid var(--v5-line);border-radius:17px;box-shadow:0 22px 55px rgba(25,29,56,.2)}.access-editor{display:grid;gap:10px}.access-editor label{display:grid;gap:5px;font-size:.72rem;color:var(--v5-muted)}.access-editor select,.access-editor input{width:100%;padding:10px;border:1px solid var(--v5-line);border-radius:10px}.revoke-row{display:flex;gap:8px;margin-top:10px}.admin-pagination{display:flex;gap:6px;justify-content:center;margin-top:18px}.admin-pagination a{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#fff;border:1px solid var(--v5-line);text-decoration:none}.admin-pagination a.active{background:var(--v5-purple);color:#fff}.admin-empty-state{text-align:center;padding:48px 20px;color:var(--v5-muted)}.admin-empty-state>span{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 13px;border-radius:18px;background:var(--v5-purple-soft);color:var(--v5-purple);font-size:1.4rem}.admin-empty-state h3{margin:0 0 5px;color:var(--v5-ink)}

/* Аналитика. */
.period-switch{display:flex;gap:5px;padding:5px;border-radius:14px;background:#e9ebf3}.period-switch button{border:0;background:transparent;padding:9px 12px;border-radius:10px;cursor:pointer}.period-switch button.active{background:#fff;color:var(--v5-purple);box-shadow:0 4px 12px rgba(30,34,68,.08);font-weight:800}.analytics-overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:24px 0}.analytics-big-card{padding:23px;border-radius:22px;background:#fff;border:1px solid var(--v5-line)}.analytics-big-card small,.analytics-big-card span{display:block;color:var(--v5-muted)}.analytics-big-card strong{display:block;font-size:2.15rem;letter-spacing:-.05em;margin:8px 0}.analytics-big-card.primary{background:linear-gradient(145deg,#6847e8,#856cff);color:#fff;border:0}.analytics-big-card.primary small,.analytics-big-card.primary span{color:rgba(255,255,255,.8)}.analytics-big-card.success{background:linear-gradient(145deg,#fff,#ecfaf4)}.analytics-big-card.money{background:linear-gradient(145deg,#fff,#fff8e6)}.analytics-story-card{padding:24px}.analytics-day-chart{height:290px;display:flex;align-items:flex-end;gap:8px;overflow-x:auto;padding:30px 4px 0;margin-top:10px;border-bottom:1px solid var(--v5-line)}.analytics-day-chart article{min-width:45px;height:100%;display:grid;grid-template-rows:1fr auto auto;gap:5px;text-align:center}.day-column{position:relative;height:100%;display:flex;align-items:flex-end;justify-content:center}.day-column i{width:min(30px,75%);min-height:5px;border-radius:9px 9px 2px 2px;background:linear-gradient(180deg,#7c62ef,#5d43d5)}.day-column b{position:absolute;top:calc(100% - var(--dummy,0));transform:translateY(-100%);margin-bottom:5px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--v5-green);border:2px solid #bde8d8;font-size:.65rem}.analytics-day-chart small{font-size:.66rem}.analytics-day-chart span{font-size:.62rem;color:var(--v5-muted)}.chart-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;color:var(--v5-muted);font-size:.72rem}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{width:18px;height:8px;border-radius:8px;background:var(--v5-purple)}.analytics-simple-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.simple-rating{padding:22px}.rating-row{display:grid;grid-template-columns:minmax(100px,1fr) 2fr auto;gap:12px;align-items:center;margin-top:13px}.rating-row>span{font-size:.82rem}.rating-row>i{height:8px;background:#eff0f5;border-radius:8px;overflow:hidden}.rating-row>i em{display:block;height:100%;background:linear-gradient(90deg,#7a60ee,#51b59a);border-radius:8px}.recent-visit-card{padding:22px;margin-top:14px}.recent-visit-list{margin-top:12px}.recent-visit-list article{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--v5-line)}.recent-visit-list article:last-child{border:0}.visit-dot{width:10px;height:10px;border-radius:50%;background:#c7cad5}.visit-dot.online{background:#26ad7e;box-shadow:0 0 0 5px rgba(38,173,126,.12)}.recent-visit-list b,.recent-visit-list small{display:block}.recent-visit-list small{color:var(--v5-muted);font-size:.72rem}.recent-visit-list time{color:var(--v5-muted);font-size:.75rem}.technical-details{margin-top:14px;padding:0}.technical-details>summary{cursor:pointer;list-style:none;padding:18px 22px;display:flex;justify-content:space-between}.technical-details>summary small{color:var(--v5-muted)}.technical-details>div{padding:0 22px 22px;color:var(--v5-muted)}

/* Оплаты. */
.payment-summary-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.payment-summary-strip article{padding:16px 20px;border-radius:18px;background:#fff;border:1px solid var(--v5-line)}.payment-summary-strip small,.payment-summary-strip b{display:block}.payment-summary-strip small{color:var(--v5-muted)}.payment-summary-strip b{font-size:1.25rem;margin-top:4px}.payment-admin-row{display:grid;grid-template-columns:auto minmax(210px,1.3fr) minmax(160px,1fr) auto auto minmax(120px,auto);gap:15px;align-items:center;padding:15px;border:1px solid var(--v5-line);border-radius:18px}.payment-status-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:14px;background:var(--v5-gold-soft);color:var(--v5-gold);font-weight:900}.status-paid .payment-status-icon{background:var(--v5-green-soft);color:var(--v5-green)}.status-failed .payment-status-icon{background:var(--v5-red-soft);color:var(--v5-red)}.payment-main small,.payment-main p,.payment-product small,.payment-product a,.payment-amount small,.payment-state small{display:block}.payment-main h3{margin:3px 0}.payment-main p,.payment-main small,.payment-product small,.payment-amount small,.payment-state small{color:var(--v5-muted);font-size:.72rem}.payment-product b{display:block;margin:3px 0}.payment-amount strong{white-space:nowrap;font-size:1.05rem}.payment-state{max-width:170px}.payment-actions form{display:flex;gap:6px;flex-wrap:wrap}.payment-actions .go,.payment-actions .danger-link{padding:8px 10px;font-size:.75rem}

/* Контент. */
.content-admin-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.content-admin-tabs a{display:grid;grid-template-columns:auto 1fr;column-gap:12px;padding:18px;border:1px solid var(--v5-line);border-radius:19px;background:#fff;text-decoration:none;color:var(--v5-ink)}.content-admin-tabs a>span{grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#f1f2f8}.content-admin-tabs a small{color:var(--v5-muted)}.content-admin-tabs a.active{border-color:#bcb0f3;background:#f7f5ff}.content-admin-tabs a.active>span{background:var(--v5-purple);color:#fff}.content-editor-card{padding:24px}.site-copy-form{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.site-copy-form label,.reading-copy-form label{display:grid;gap:6px}.site-copy-form label.wide{grid-column:1/-1}.site-copy-form label>span,.reading-copy-form label>span{font-weight:800}.site-copy-form label>small{color:var(--v5-muted)}.site-copy-form input,.site-copy-form textarea,.reading-copy-form input,.reading-copy-form textarea,.legal-body-editor{width:100%;border:1px solid var(--v5-line);border-radius:13px;padding:12px;background:#fcfcfe;font:inherit}.site-copy-form textarea,.reading-copy-form textarea,.legal-body-editor{resize:vertical;line-height:1.6}.form-save-bar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border-radius:15px;background:#f2f0fb}.form-save-bar p{margin:0;color:var(--v5-muted);font-size:.8rem}.legal-admin-layout{display:grid;grid-template-columns:310px 1fr;gap:14px}.legal-admin-list{display:flex;flex-direction:column;gap:7px}.legal-admin-list a{padding:14px;border:1px solid var(--v5-line);border-radius:15px;background:#fff;text-decoration:none;color:var(--v5-ink)}.legal-admin-list span,.legal-admin-list small{display:block}.legal-admin-list small{margin-top:4px;color:var(--v5-muted);font-size:.68rem}.legal-admin-list a.active{background:var(--v5-purple);color:#fff}.legal-admin-list a.active small{color:rgba(255,255,255,.75)}.legal-admin-editor{padding:24px}.legal-body-editor{margin-top:16px;min-height:520px}.reading-copy-form{display:grid;gap:14px;margin-top:20px}.content-category-chips{margin:18px 0}.content-row-list{display:flex;flex-direction:column;gap:7px}.content-row-list>a{display:grid;grid-template-columns:1fr auto auto auto;gap:16px;align-items:center;padding:13px 15px;border:1px solid var(--v5-line);border-radius:14px;text-decoration:none;color:var(--v5-ink)}.content-row-list>a:hover{border-color:#bcb0f3;background:#faf9ff}.content-row-list small,.content-row-list b{display:block}.content-row-list small,.content-row-list em,.content-row-list strong{font-size:.72rem;color:var(--v5-muted);font-style:normal}.content-row-list i{font-style:normal;color:var(--v5-purple)}

/* Бесплатный инструмент биоритмов. */
.bio-tool-page{background:var(--v5-bg)}.bio-tool-shell{max-width:1240px;margin:auto;padding:30px 18px 80px}.bio-tool-hero{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;padding:48px;border-radius:32px;background:linear-gradient(135deg,#4f36c8,#7756ed);color:#fff;overflow:hidden}.bio-tool-hero h1{font-size:clamp(2.2rem,5vw,4.7rem);line-height:1;letter-spacing:-.055em;margin:10px 0 18px}.bio-tool-hero p{max-width:760px;color:rgba(255,255,255,.82);font-size:1.05rem}.bio-hero-orbit{position:relative;width:190px;height:190px;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:grid;place-items:center}.bio-hero-orbit span{position:absolute;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#5a40d2;font-weight:900}.bio-hero-orbit span:nth-child(1){top:-10px}.bio-hero-orbit span:nth-child(2){bottom:5px;left:-12px}.bio-hero-orbit span:nth-child(3){bottom:5px;right:-12px}.bio-hero-orbit small{font-weight:800}.bio-calculator-card{margin-top:18px;padding:24px;border-radius:28px;background:#fff;border:1px solid var(--v5-line);box-shadow:0 18px 50px rgba(31,34,68,.07)}.bio-mode-switch{display:inline-flex;padding:5px;border-radius:14px;background:#eff0f6}.bio-mode-switch button{border:0;background:transparent;border-radius:10px;padding:10px 15px;cursor:pointer}.bio-mode-switch button.active{background:#fff;color:var(--v5-purple);font-weight:850;box-shadow:0 5px 13px rgba(27,31,67,.09)}.bio-form-grid{display:grid;grid-template-columns:1fr 1fr .8fr;gap:13px;margin-top:18px}.bio-person-card,.bio-target-card{padding:19px;border:1px solid var(--v5-line);border-radius:20px;background:#fbfbfe}.bio-person-heading{display:flex;gap:10px;align-items:center;margin-bottom:14px}.bio-person-heading>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:var(--v5-purple-soft);color:var(--v5-purple);font-weight:900}.bio-person-heading b,.bio-person-heading small{display:block}.bio-person-heading small{color:var(--v5-muted)}.bio-person-card label,.bio-target-card label{display:grid;gap:6px;margin-top:10px;font-size:.75rem;color:var(--v5-muted)}.bio-person-card input,.bio-target-card input{width:100%;padding:12px;border:1px solid var(--v5-line);border-radius:12px;font:inherit;color:var(--v5-ink);background:#fff}.bio-target-card{display:flex;flex-direction:column}.bio-target-card>span{font-size:1.5rem}.bio-target-card p{color:var(--v5-muted);font-size:.8rem;flex:1}.bio-result-panel{margin-top:18px;padding:28px;border-radius:28px;background:#fff;border:1px solid var(--v5-line)}.bio-cycle-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.bio-result-card{padding:20px;border-radius:21px;background:#f8f8fc;border:1px solid var(--v5-line)}.bio-result-head{display:flex;gap:10px;align-items:center}.bio-result-head>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#fff}.bio-result-head small,.bio-result-head h3{display:block;margin:0}.bio-result-head small{color:var(--v5-muted)}.bio-value-row{display:flex;align-items:baseline;justify-content:space-between;margin:20px 0 10px}.bio-value-row strong{font-size:2rem}.bio-value-row span{font-size:.78rem}.bio-meter{position:relative;height:9px;border-radius:9px;background:linear-gradient(90deg,#d8dbe7 49.7%,#989daf 50%,#d8dbe7 50.3%)}.bio-meter i{position:absolute;height:100%;width:calc(var(--bio)/2);left:50%;background:var(--v5-purple);border-radius:9px}.bio-meter.negative i{left:auto;right:50%;background:#e45676}.bio-result-card.up{background:#effaf6}.bio-result-card.down{background:#fff2f4}.bio-pair-values{display:grid;gap:5px;margin-top:15px}.bio-pair-values span{display:flex;justify-content:space-between;font-size:.78rem}.bio-match{display:flex;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.06)}.bio-compat-summary{display:flex;gap:20px;align-items:center;margin-top:14px;padding:18px;border-radius:20px;background:linear-gradient(135deg,#f2efff,#eefaf6)}.compat-score{width:84px;height:84px;display:grid;place-items:center;border-radius:50%;background:#fff;border:8px solid #bdb2ef}.compat-score span{font-weight:900}.bio-compat-summary h3{margin:3px 0}.bio-compat-summary p{margin:0;color:var(--v5-muted)}.bio-wave-chart{margin-top:18px;padding:14px;border:1px solid var(--v5-line);border-radius:18px;overflow:auto}.bio-wave-chart svg{width:100%;min-width:720px}.bio-line{fill:none;stroke-width:3}.bio-line.secondary{stroke-dasharray:8 7;opacity:.55}.line-physical{stroke:#6a4ce6}.line-emotional{stroke:#e45676}.line-intellectual{stroke:#1d9c83}.bio-zero{stroke:#a9adba;stroke-width:1.5}.bio-gridline{stroke:#eceef4;stroke-width:1}.bio-wave-chart text{font-size:11px;fill:#777c8f}.bio-chart-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:.75rem}.bio-chart-legend span{display:flex;gap:6px;align-items:center}.bio-chart-legend i{width:20px;height:3px;border-radius:5px;background:currentColor}.bio-chart-legend .physical{color:#6a4ce6}.bio-chart-legend .emotional{color:#e45676}.bio-chart-legend .intellectual{color:#1d9c83}.bio-chart-legend small{color:var(--v5-muted)}.bio-explain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:18px}.bio-explain-grid article{padding:22px;border-radius:21px;background:#fff;border:1px solid var(--v5-line)}.bio-explain-grid article>span{width:45px;height:45px;display:grid;place-items:center;border-radius:14px;background:var(--v5-purple-soft);color:var(--v5-purple);font-weight:900}.bio-explain-grid h3{margin:15px 0 7px}.bio-explain-grid p{margin:0;color:var(--v5-muted);line-height:1.6}

/* Разделы персональной карты. */
.result-section-hub{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0 22px}.result-section-hub a{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:15px;border-radius:17px;background:#fff;border:1px solid var(--v5-line);text-decoration:none;color:var(--v5-ink)}.result-section-hub a>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--v5-purple-soft);color:var(--v5-purple)}.result-section-hub b,.result-section-hub small{display:block}.result-section-hub small{color:var(--v5-muted);font-size:.67rem;margin-top:2px}.result-section-hub i{font-style:normal;color:var(--v5-purple)}.included-modules-section{padding:26px;border-radius:27px;background:#fff;border:1px solid var(--v5-line);margin:18px 0}.included-module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-top:17px}.included-module-card{padding:18px;border-radius:19px;background:#fafafe;border:1px solid var(--v5-line)}.included-module-card>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--v5-purple-soft);color:var(--v5-purple)}.included-module-card h3{margin:14px 0 7px;font-size:1rem}.included-module-card p{margin:0;color:var(--v5-muted);font-size:.8rem}.included-module-card small{display:block;margin-top:12px;color:var(--v5-green);font-weight:800}.included-module-card.locked small{color:var(--v5-purple)}

/* Партнёры: карточки компактнее. */
.partner-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modern-partner-card{padding:18px;border-radius:20px}.partner-card-metrics{grid-template-columns:repeat(5,1fr)}.partner-card-metrics span{padding:9px}.partner-management>summary{margin-top:12px;border-radius:13px}.partner-create-card{padding:22px}

@media(max-width:1100px){.reading-admin-row{grid-template-columns:1fr auto}.reading-admin-facts{grid-column:1/-1}.payment-admin-row{grid-template-columns:auto 1fr auto}.payment-product,.payment-state{grid-column:2}.payment-actions{grid-column:3;grid-row:1/4}.analytics-overview-grid{grid-template-columns:repeat(2,1fr)}.result-section-hub,.included-module-grid{grid-template-columns:repeat(2,1fr)}.partner-admin-grid{grid-template-columns:1fr}.bio-form-grid{grid-template-columns:1fr 1fr}.bio-target-card{grid-column:1/-1}.bio-cycle-result-grid{grid-template-columns:1fr}.legal-admin-layout{grid-template-columns:1fr}.legal-admin-list{display:grid;grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.admin-main{padding:20px 10px 60px}.admin-title-row{align-items:stretch}.clean-search{min-width:0;width:100%}.clean-search input{min-width:0}.admin-segment-tabs{display:flex;overflow:auto}.admin-segment-tabs a{flex:0 0 190px}.admin-quick-note{align-items:flex-start;flex-wrap:wrap}.admin-quick-note p{width:100%;margin:0}.reading-admin-row{grid-template-columns:1fr}.reading-admin-facts{grid-template-columns:repeat(3,1fr)}.reading-admin-actions{justify-content:space-between}.access-popover-body{position:fixed;left:10px;right:10px;bottom:10px;top:auto;width:auto}.analytics-simple-columns,.payment-summary-strip,.content-admin-tabs,.site-copy-form,.bio-explain-grid{grid-template-columns:1fr}.analytics-overview-grid{grid-template-columns:1fr 1fr}.period-switch{overflow:auto}.payment-admin-row{grid-template-columns:auto 1fr}.payment-product,.payment-state,.payment-amount,.payment-actions{grid-column:2}.payment-actions{grid-row:auto}.content-row-list>a{grid-template-columns:1fr auto}.content-row-list em,.content-row-list strong{display:none}.legal-admin-list{grid-template-columns:1fr}.bio-tool-shell{padding:10px 10px 60px}.bio-tool-hero{padding:28px 20px;grid-template-columns:1fr}.bio-hero-orbit{display:none}.bio-form-grid{grid-template-columns:1fr}.bio-target-card{grid-column:auto}.result-section-hub,.included-module-grid{grid-template-columns:1fr}.partner-card-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:470px){.analytics-overview-grid{grid-template-columns:1fr}.reading-admin-facts{grid-template-columns:1fr 1fr}.recent-visit-list article{grid-template-columns:auto 1fr auto}.recent-visit-list time{grid-column:2}.bio-tool-hero h1{font-size:2.35rem}}

/* Partner directory controls — ReДизайн 5.0 */
.partner-toolbar-controls{display:grid;gap:12px;justify-items:end;min-width:min(100%,620px)}
.partner-status-filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.partner-status-filters button{border:1px solid var(--line,#dedbe9);background:#fff;border-radius:999px;padding:9px 13px;font:inherit;font-weight:700;color:var(--muted,#6c6878);cursor:pointer}
.partner-status-filters button b{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:#f1eff8;margin-left:5px;font-size:.76rem}
.partner-status-filters button.is-active{background:#251f45;color:#fff;border-color:#251f45}
.partner-status-filters button.is-active b{background:rgba(255,255,255,.16)}
.partners-list-toolbar>div:first-child>p{margin:.35rem 0 0;color:var(--muted,#6c6878);max-width:650px}
@media(max-width:800px){.partner-toolbar-controls{justify-items:stretch;min-width:0;width:100%}.partner-status-filters{justify-content:flex-start}.partner-search{width:100%}.partners-list-toolbar{align-items:stretch}}
.home-value-strip{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.family-free-tool-note{margin:.4rem 0 0;color:var(--muted,#6c6878)}
.family-free-tool-note a{font-weight:800;color:var(--primary,#5b46e8)}
.included-module-details{margin-top:14px;border-top:1px solid var(--line,#e4e0ef);padding-top:12px}
.included-module-details summary{cursor:pointer;font-weight:800}
.family-offer-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.day-column b{top:auto;bottom:4px;transform:translateY(50%);z-index:2}
.home-v5 .booking-card{margin:0}

.multiverse-offer-card{margin-top:28px;padding:clamp(26px,4vw,42px);border-radius:30px;background:linear-gradient(135deg,#18142e 0%,#5c3be8 48%,#25aa9b 100%);color:#fff;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:26px;align-items:center;box-shadow:0 28px 78px rgba(49,38,105,.2);overflow:hidden;position:relative}.multiverse-offer-card:after{content:"";position:absolute;right:-90px;bottom:-120px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.12)}.multiverse-offer-copy,.multiverse-offer-actions{position:relative;z-index:1}.multiverse-offer-card .eyebrow{color:#c9fff6;opacity:1}.multiverse-offer-card h2{margin:8px 0 12px;font-size:clamp(32px,4vw,54px);line-height:1.05;letter-spacing:0;color:#fff}.multiverse-offer-card p{max-width:760px;color:rgba(255,255,255,.82);line-height:1.65;margin:0}.multiverse-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:20px}.multiverse-mini-grid span,.multiverse-mini-grid a{padding:10px 12px;border-radius:14px;background:rgba(18,14,40,.32);border:1px solid rgba(255,255,255,.16);font-weight:800;font-size:13px;text-decoration:none;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35);display:block;transition:background .15s,transform .15s}.multiverse-mini-grid a:hover{background:rgba(18,14,40,.46);transform:translateY(-1px)}.multiverse-offer-actions{display:grid;gap:12px;justify-items:stretch;padding:22px;border-radius:24px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(14px)}.multiverse-offer-actions>b{font-size:44px;line-height:1;color:#fff}.multiverse-offer-actions .primary-button{background:#fff;color:#2d2369;justify-content:center}.multiverse-offer-actions .secondary-button{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28);color:#fff;justify-content:center}@media(max-width:820px){.multiverse-offer-card{grid-template-columns:1fr}.multiverse-mini-grid{grid-template-columns:1fr 1fr}.multiverse-offer-actions{justify-items:stretch}}@media(max-width:520px){.multiverse-offer-card{border-radius:24px;margin-top:20px}.multiverse-mini-grid{grid-template-columns:1fr}.multiverse-offer-actions>b{font-size:36px}}
/* ReДизайн 6.0 — единая адаптивная верстка без наложений */
:root{
  --ui-bg:#f6f7fb;
  --ui-surface:#ffffff;
  --ui-surface-2:#f9f9fd;
  --ui-text:#202236;
  --ui-muted:#70758a;
  --ui-line:#e6e7ef;
  --ui-primary:#6754d9;
  --ui-primary-strong:#4e3dbb;
  --ui-primary-soft:#f0edff;
  --ui-success:#16836f;
  --ui-danger:#bd4052;
  --ui-warning:#936a19;
  --ui-radius:22px;
  --ui-radius-sm:14px;
  --ui-shadow:0 16px 45px rgba(29,32,63,.08);
  --ui-container:1240px;
  --ui-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
  --ui-font-display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
}

html{min-width:320px;overflow-x:hidden;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{min-width:320px;overflow-x:hidden;background:var(--ui-bg);color:var(--ui-text);font-family:var(--ui-font);font-size:16px;line-height:1.55;letter-spacing:-.006em}
body,button,input,select,textarea{font-family:var(--ui-font)}
body *{min-width:0}
img,picture,video,canvas,iframe{display:block;max-width:100%;height:auto}
svg{max-width:100%}
pre,code{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}
p,h1,h2,h3,h4,h5,h6,li,td,th,label,small,strong,b,span{overflow-wrap:anywhere}
h1,h2,h3,h4{font-family:var(--ui-font-display);text-wrap:balance;letter-spacing:-.035em}
p{text-wrap:pretty}
a,button,input,select,textarea,summary{outline-offset:3px}
:focus-visible{outline:3px solid rgba(103,84,217,.28);outline-offset:3px}
button,.primary-button,.secondary-button,.go{min-height:44px}
input,select,textarea{max-width:100%;border-radius:12px}
input[type="date"],input[type="time"]{min-height:42px}
[hidden]{display:none!important}

/* Контейнеры */
:where(.admin-main,.psych-shell,.result,.result-shell,.account-shell,.family-shell,.checkout-shell,.cart-shell,.bio-tool-shell,.landing-section,.how-section,.home-test-card,.home-value-strip){width:min(var(--ui-container),calc(100% - 32px));max-width:var(--ui-container);margin-left:auto;margin-right:auto}
:where(.admin-main,.psych-shell,.result,.result-shell,.account-shell,.family-shell,.checkout-shell,.cart-shell,.bio-tool-shell)>*{max-width:100%}
:where(.card,.admin-card,.psych-card,.test-experience-card,.summary-card,.reading-card-v3,.account-card,.checkout-card,.cart-card){isolation:isolate}

/* Шапка */
.site-header{height:auto;min-height:68px;padding:10px clamp(16px,4vw,54px);gap:20px;position:relative;display:flex;align-items:center;background:rgba(255,255,255,.96);border-bottom:1px solid var(--ui-line)}
.site-header.compact{height:auto;min-height:64px}
.brand{flex:0 0 auto;max-width:min(48vw,340px);font-size:.98rem;line-height:1.2}
.brand>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.brand-mark{flex:0 0 38px;width:38px;height:38px;border-radius:13px}
.top-nav{min-width:0;margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:4px;overflow-x:auto;scrollbar-width:none;padding:2px}
.top-nav::-webkit-scrollbar{display:none}
.top-nav a{flex:0 0 auto;white-space:nowrap;padding:9px 11px;border-radius:10px;font-size:.88rem}
.top-nav a:hover,.top-nav a.active{background:var(--ui-primary-soft);color:var(--ui-primary)}

/* Главная: герой и форма */
.home-v5 .hero-home,.hero-home{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(440px,590px);align-items:center;gap:clamp(28px,5vw,76px);min-height:auto!important;padding:clamp(44px,7vw,86px) clamp(18px,6vw,92px)!important;overflow:hidden!important}
.home-v5 .hero-copy,.hero-copy{width:100%;max-width:720px;margin:0;text-align:left}
.hero h1,.home-v5 .hero-copy h1{font-size:clamp(2.35rem,5.2vw,5rem);line-height:1.01;margin:12px 0 18px;letter-spacing:-.06em}
.home-v5 .hero-copy>p,.hero-copy>p{max-width:680px;margin:0;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.7}
.home-v5 .booking-card,.booking-card.booking-card-airline{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;width:100%!important;max-width:620px;margin:0!important;padding:14px!important;border-radius:28px;overflow:visible;background:rgba(255,255,255,.985);box-shadow:0 28px 70px rgba(27,20,88,.23)}
.booking-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:8px 8px 13px}
.booking-card-heading h2{margin:3px 0 4px;font-size:clamp(1.28rem,2.4vw,1.75rem);line-height:1.15}
.booking-card-heading p{margin:0;color:var(--ui-muted);font-size:.84rem}
.booking-route{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;margin:0 0 10px;background:#f6f6fb;border-radius:15px;overflow-x:auto;scrollbar-width:none}
.booking-route::-webkit-scrollbar{display:none}
.booking-route span{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;white-space:nowrap;font-size:.72rem;color:var(--ui-muted)}
.booking-route span b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e8e6f0;color:#666b7f}
.booking-route span.is-active{color:var(--ui-primary);font-weight:800}.booking-route span.is-active b{background:var(--ui-primary);color:#fff}
.booking-route i{flex:0 0 auto;font-style:normal;color:#b3b5c1}
.home-v5 .booking-grid,.booking-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;overflow:visible!important}
.home-v5 .booking-grid>.input-card,.booking-grid>.input-card{width:100%;min-height:78px!important;padding:13px 14px!important;border:1px solid var(--ui-line)!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important}
.home-v5 .booking-grid>.input-card:nth-child(n){border-radius:16px!important}
.booking-grid .input-card-name,.booking-grid .city-card{grid-column:1/-1}
.input-card .input-icon{flex:0 0 36px;width:36px;height:36px}
.input-copy input{font-size:16px!important}
.time-field-shell,.time-card .input-copy{width:100%}
.time-card input[type="time"]{height:30px!important}
.city-card .suggest{width:100%;left:0;right:0}
.place-confirm{display:none;width:100%;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;margin:0!important;padding:12px 13px}
.place-confirm.is-visible{display:grid}
.place-main{min-width:0!important}.place-main strong,.place-main span{white-space:normal}
.place-facts{display:grid!important;grid-template-columns:1fr 1fr;gap:12px!important}.place-facts>span{min-width:0!important}
.booking-footer,.home-v5 .booking-footer{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(190px,250px)!important;align-items:center!important;gap:12px!important;margin-top:12px;padding:0!important}
.booking-assurance{min-width:0}.booking-assurance p,.booking-assurance small{display:block;margin:0;text-align:left}
.calculate-button{width:100%;min-height:58px;border-radius:15px;font-size:1rem;white-space:normal;text-align:center}
.form-status{grid-column:1/-1;min-height:0;margin:0;text-align:left}
.consent-inline-card{margin:10px 2px 0!important;font-size:.72rem!important;line-height:1.45!important}
.home-value-strip{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;gap:10px!important;margin-top:26px!important}
.home-value-strip>*{min-height:88px;border-radius:17px!important}
.home-test-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center}
.steps,.product-feature-grid,.use-case-grid,.faq-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important}
.landing-section-head{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(280px,520px)!important;gap:24px;align-items:end}

/* Результат: всё остается в пределах экрана */
.result,.result-shell{margin-top:40px!important;padding-left:0!important;padding-right:0!important}
.summary-card,.hero-result-card,.checkout-layout,.account-grid,.family-workspace{max-width:100%;min-width:0}
.summary-card{grid-template-columns:minmax(300px,430px) minmax(0,1fr)}
.chart-panel,.chart-stage{overflow:hidden}.bodygraph{width:100%!important;max-width:480px!important;height:auto!important}
.result-section-hub{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important}
.included-module-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}
:where(.premium-insights-grid,.reading-grid,.metrics-grid,.insight-grid,.result-grid){grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important}
:where(.reading-section,.premium-insight,.included-module-card,.result-section-hub a){overflow:hidden}

/* Тесты */
.tests-hub-shell{width:min(1280px,calc(100% - 32px))!important;padding:34px 0 80px!important}
.tests-hub-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:end!important;gap:24px;padding:clamp(26px,4vw,44px)!important;border-radius:28px!important;color:#fff}
.tests-hub-head h1{margin:6px 0 10px!important;font-size:clamp(2.2rem,5vw,4.4rem)!important;line-height:1.02}.tests-hub-head p{max-width:800px;margin:0;color:rgba(255,255,255,.82)}
.tests-workspace{display:grid;grid-template-columns:310px minmax(0,1fr);gap:20px;align-items:start;margin-top:20px}
.tests-sidebar{position:sticky;top:84px;min-width:0}
.tests-sidebar-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:0 4px}.tests-sidebar-title b{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.tests-sidebar-title span{font-size:.72rem;color:var(--ui-muted)}
.tests-catalog,.psych-test-tabs.tests-catalog{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin:0!important;overflow:visible!important;padding:0!important}
.tests-catalog .psych-test-tab{display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;align-items:center!important;min-height:0!important;padding:12px!important;border-radius:16px!important;box-shadow:none!important;scroll-snap-align:none!important}
.tests-catalog .psych-test-tab:before{display:none!important}
.tests-catalog .psych-tab-icon{width:42px!important;height:42px!important;border-radius:13px!important;font-size:1.1rem!important}
.tests-catalog .psych-tab-copy b{font-size:.86rem}.tests-catalog .psych-tab-copy small{display:none!important}.tests-catalog .psych-tab-copy em{margin:3px 0 0!important;font-size:.61rem!important}
.tests-catalog .psych-test-tab.active{background:var(--ui-primary)!important;color:#fff!important;border-color:var(--ui-primary)!important}.tests-catalog .psych-test-tab.active .psych-tab-icon{background:rgba(255,255,255,.16)!important}.tests-catalog .psych-test-tab.active em{color:rgba(255,255,255,.78)!important}
.tests-stage{min-width:0}.tests-stage>.notice{margin:0 0 14px!important}
.test-experience-card,.psych-wizard,.psych-result{width:100%;max-width:none!important;margin:0!important;padding:clamp(18px,3vw,34px)!important;border-radius:24px!important;box-shadow:var(--ui-shadow)!important}
.test-experience-top{display:flex;flex-wrap:wrap;align-items:flex-start;gap:18px}.test-experience-title{flex:1 1 440px}.test-reset-button{margin-left:auto}
.color-grid-integrated{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}.color-tile{min-height:135px!important;border-radius:20px!important}
.wizard-answer-scale{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important}.wizard-answer-scale label{min-height:112px!important;padding:14px 8px!important}
.wizard-controls{position:sticky;bottom:10px;display:flex;align-items:center;gap:9px;max-width:100%;overflow:hidden}.wizard-controls>*{min-width:0}
.result-story-grid,.luscher-position-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.luscher-score-row{grid-template-columns:minmax(90px,180px) minmax(100px,1fr) 44px!important}

/* Админка и кабинет партнера */
.admin-nav{position:sticky!important;top:0!important;z-index:100!important;display:flex!important;align-items:center!important;gap:4px!important;width:100%;min-height:62px;padding:9px clamp(10px,3vw,32px)!important;background:rgba(255,255,255,.97)!important;color:var(--ui-text)!important;border-bottom:1px solid var(--ui-line)!important;box-shadow:0 5px 20px rgba(29,32,63,.05)!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none;white-space:nowrap}
.admin-nav::-webkit-scrollbar{display:none}.admin-nav b{position:sticky;left:0;z-index:2;flex:0 0 auto;margin:0 9px 0 0!important;padding:8px 12px 8px 0;background:rgba(255,255,255,.97);color:var(--ui-text);font-size:.9rem}.admin-nav a{flex:0 0 auto!important;color:#5f6479!important;padding:9px 11px!important;border-radius:10px!important;font-size:.82rem!important}.admin-nav a.on,.admin-nav a:hover{background:var(--ui-primary-soft)!important;color:var(--ui-primary)!important}
.partner-page .admin-nav{background:rgba(255,255,255,.97)!important}.partner-page .admin-nav b{background:rgba(255,255,255,.97)}
.admin-main{max-width:1480px!important;width:min(1480px,calc(100% - 24px))!important;padding:28px 0 72px!important}
.admin-title-row,.admin-title-clean,.section-title-row,.panel-head,.partners-list-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap}.admin-title-row h1,.admin-title-clean h1{font-size:clamp(2rem,4vw,3.2rem)!important;line-height:1.02}
.admin-card,.admin-panel{max-width:100%;padding:20px!important;border-radius:20px!important;overflow:hidden}
.admin-kpis,.metrics-grid,.analytics-overview-grid,.payment-summary-strip,.admin-insights{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important}
.admin-table-wrap{width:100%;max-width:100%;overflow:auto!important;border-radius:16px;-webkit-overflow-scrolling:touch}
.admin-table{min-width:760px}.admin-table.modern td,.admin-table.modern th{padding:12px 11px!important}
.admin-search,.filter-tabs,.period-switch,.admin-segment-tabs{max-width:100%;overflow-x:auto;scrollbar-width:none}.admin-search::-webkit-scrollbar,.filter-tabs::-webkit-scrollbar,.period-switch::-webkit-scrollbar,.admin-segment-tabs::-webkit-scrollbar{display:none}
.admin-search{display:grid!important;grid-template-columns:minmax(160px,1fr) auto;gap:9px}.admin-search input{min-width:0!important;width:100%}
.partner-admin-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr))!important}.modern-partner-card{min-width:0;overflow:hidden}.partner-card-metrics{grid-template-columns:repeat(auto-fit,minmax(86px,1fr))!important}.partner-action-card.balance-card{grid-template-columns:minmax(120px,1fr) 110px minmax(120px,1fr) auto!important}
.partner-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.partner-form-grid.three-col{grid-template-columns:repeat(3,minmax(0,1fr))!important}.partner-form-grid.five-col{grid-template-columns:repeat(5,minmax(0,1fr))!important}.partner-form-grid label{min-width:0}.partner-form-grid input,.partner-form-grid select,.partner-form-grid textarea{width:100%}
.copy-link,.api-key-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px}.copy-link input,.api-key-row input{width:100%;min-width:0}

/* Новый API-центр */
.api-admin-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;margin-bottom:18px}
.api-admin-hero p{max-width:760px;margin:6px 0 0;color:var(--ui-muted)}
.api-health-badge{display:flex;align-items:center;gap:10px;padding:12px 15px;border:1px solid #ceeae3;border-radius:14px;background:#eefaf7;color:var(--ui-success);font-weight:800}.api-health-badge i{width:9px;height:9px;border-radius:50%;background:currentColor}
.api-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:18px;align-items:start}.api-stack{display:grid;gap:18px}
.api-client-list{display:grid;gap:10px}.api-client-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px;border:1px solid var(--ui-line);border-radius:16px;background:var(--ui-surface-2)}
.api-client-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--ui-primary-soft);color:var(--ui-primary);font-size:1.15rem}.api-client-copy b,.api-client-copy small{display:block}.api-client-copy small{margin-top:4px;color:var(--ui-muted);font-size:.73rem}.api-client-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.api-pill{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border-radius:999px;background:#eceef5;color:#606579;font-size:.66rem;font-weight:800}.api-pill.live{background:#e8f8f3;color:var(--ui-success)}.api-pill.sandbox{background:#fff5db;color:var(--ui-warning)}.api-pill.off{background:#fdebed;color:var(--ui-danger)}
.api-client-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.api-client-actions form{margin:0}.api-small-button{min-height:38px;padding:7px 10px;border:1px solid var(--ui-line);border-radius:10px;background:#fff;color:var(--ui-text);font:inherit;font-size:.74rem;font-weight:800;cursor:pointer}.api-small-button.danger{color:var(--ui-danger);border-color:#f0cfd5;background:#fff8f9}
.api-create-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.api-create-form label{display:grid;gap:6px;font-size:.73rem;color:var(--ui-muted)}.api-create-form input,.api-create-form select,.api-create-form textarea{width:100%;padding:11px 12px;border:1px solid var(--ui-line);background:#fff}.api-create-form .wide{grid-column:1/-1}.api-create-form .check-row{display:flex;align-items:center;gap:8px}.api-create-form .check-row input{width:auto}.api-create-form button{grid-column:1/-1}
.api-key-reveal{margin-bottom:18px;padding:18px;border:1px solid #cfc7ff;border-radius:18px;background:linear-gradient(135deg,#f4f1ff,#fff)}.api-key-reveal h2{margin:0 0 5px}.api-key-reveal p{margin:0 0 12px;color:var(--ui-muted)}.api-key-reveal code{display:block;padding:13px;border-radius:12px;background:#25213a;color:#fff;font-size:.8rem;word-break:break-all}
.api-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.api-doc-card{padding:15px;border:1px solid var(--ui-line);border-radius:15px;background:#fff}.api-doc-card h3{margin:0 0 6px;font-size:1rem}.api-doc-card p{margin:0;color:var(--ui-muted);font-size:.78rem}.api-doc-card code{display:block;margin-top:10px;padding:8px;border-radius:9px;background:#f3f4f8;color:#34374b;font-size:.7rem}
.api-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.api-scope-option{display:flex;gap:8px;align-items:flex-start;padding:10px;border:1px solid var(--ui-line);border-radius:12px;background:#fff}.api-scope-option input{width:auto;margin-top:3px}.api-scope-option b,.api-scope-option small{display:block}.api-scope-option small{color:var(--ui-muted);font-size:.68rem}
.api-log-list{display:grid;gap:8px}.api-log-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 0;border-top:1px solid var(--ui-line)}.api-log-row:first-child{border-top:0}.api-log-row time,.api-log-row small{color:var(--ui-muted);font-size:.7rem}.api-log-row code{font-size:.72rem}

/* Служебные состояния */
.notice,.ok-bar,.error{max-width:100%}.modal,.suggest,.access-popover-body{max-width:calc(100vw - 20px)}
.site-footer{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:24px 16px;text-align:center}

@media(max-width:1100px){
  .home-v5 .hero-home,.hero-home{grid-template-columns:1fr!important;padding-bottom:48px!important}.home-v5 .hero-copy,.hero-copy{max-width:820px;margin:auto;text-align:center}.home-v5 .hero-copy>p,.hero-copy>p{margin-left:auto;margin-right:auto}.home-v5 .booking-card,.booking-card.booking-card-airline{max-width:760px;margin:auto!important}
  .tests-workspace{grid-template-columns:250px minmax(0,1fr)}
  .summary-card{grid-template-columns:1fr}.chart-panel{min-height:0}
  .api-layout{grid-template-columns:1fr}
  .partner-form-grid.five-col{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media(max-width:820px){
  :where(.admin-main,.psych-shell,.result,.result-shell,.account-shell,.family-shell,.checkout-shell,.cart-shell,.bio-tool-shell,.landing-section,.how-section,.home-test-card,.home-value-strip){width:min(100% - 20px,var(--ui-container))}
  .site-header{align-items:flex-start;flex-wrap:wrap;gap:7px;padding:10px 12px}.brand{max-width:100%;width:auto}.top-nav{order:2;width:100%;justify-content:flex-start;margin:0;padding-bottom:2px}
  .landing-section-head{grid-template-columns:1fr!important}
  .tests-hub-shell{width:calc(100% - 20px)!important;padding-top:18px!important}.tests-hub-head{grid-template-columns:1fr!important}.tests-head-badge{justify-self:start}
  .tests-workspace{grid-template-columns:1fr;gap:12px}.tests-sidebar{position:static}.tests-sidebar-title{display:none}.tests-catalog,.psych-test-tabs.tests-catalog{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory;padding:2px 0 7px!important}.tests-catalog .psych-test-tab{flex:0 0 min(300px,82vw)!important;scroll-snap-align:start!important}
  .color-grid-integrated{grid-template-columns:repeat(2,minmax(0,1fr))!important}.wizard-answer-scale{grid-template-columns:1fr!important}.wizard-answer-scale label{display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;align-items:center!important;min-height:64px!important;text-align:left!important}
  .admin-main{width:calc(100% - 16px)!important;padding-top:18px!important}.admin-title-row,.admin-title-clean,.section-title-row,.panel-head,.partners-list-toolbar{align-items:stretch;flex-direction:column}.admin-card,.admin-panel{padding:15px!important}
  .admin-kpis,.metrics-grid,.analytics-overview-grid,.payment-summary-strip,.admin-insights{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .partner-admin-grid{grid-template-columns:1fr!important}.partner-form-grid.three-col,.partner-form-grid.five-col{grid-template-columns:repeat(2,minmax(0,1fr))!important}.partner-action-card.balance-card{grid-template-columns:1fr!important}
  .api-admin-hero{grid-template-columns:1fr}.api-health-badge{justify-self:start}.api-doc-grid{grid-template-columns:1fr}.api-client-card{grid-template-columns:auto minmax(0,1fr)}.api-client-actions{grid-column:1/-1;justify-content:flex-start}
}

@media(max-width:580px){
  body{font-size:15px}.site-header{min-height:58px}.brand-mark{width:34px;height:34px;flex-basis:34px}
  .home-v5 .hero-home,.hero-home{padding:34px 10px 22px!important}.home-v5 .hero-copy,.hero-copy{padding:0 8px}.hero h1,.home-v5 .hero-copy h1{font-size:clamp(2.25rem,11vw,3.15rem)}
  .home-v5 .booking-card,.booking-card.booking-card-airline{padding:10px!important;border-radius:22px}.home-v5 .booking-grid,.booking-grid{grid-template-columns:1fr!important}.booking-grid .input-card-name,.booking-grid .city-card{grid-column:auto}.home-v5 .booking-grid>.input-card,.booking-grid>.input-card{min-height:72px!important}.place-confirm.is-visible{grid-template-columns:auto minmax(0,1fr)}.place-facts,.change-place{grid-column:1/-1}.place-facts{grid-template-columns:1fr 1fr}.booking-footer,.home-v5 .booking-footer{grid-template-columns:1fr!important}.booking-assurance{text-align:left}.suggest{position:fixed!important;left:10px!important;right:10px!important;top:auto!important;bottom:10px!important;max-height:54vh!important;z-index:160!important}
  .home-test-card{grid-template-columns:auto minmax(0,1fr)}.home-test-card>a{grid-column:1/-1;width:100%}
  .tests-hub-head{padding:24px 18px!important;border-radius:22px!important}.test-experience-card,.psych-wizard,.psych-result{padding:16px!important;border-radius:20px!important}.test-experience-title{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:12px!important}.test-big-icon{width:54px!important;height:54px!important;border-radius:17px!important}.test-reset-button{width:100%;margin:0}.color-tile{min-height:105px!important;border-radius:16px!important}.wizard-controls{display:grid!important;grid-template-columns:1fr 1fr!important}.wizard-controls .wizard-status,.wizard-controls .wizard-progress-wrap{grid-column:1/-1}.result-story-grid,.luscher-position-grid{grid-template-columns:1fr}.luscher-score-row{grid-template-columns:80px minmax(80px,1fr) 34px!important}
  .admin-nav{min-height:56px!important;padding-left:8px!important}.admin-nav b{font-size:.8rem}.admin-main{width:calc(100% - 12px)!important}.admin-kpis,.metrics-grid,.analytics-overview-grid,.payment-summary-strip,.admin-insights{grid-template-columns:1fr!important}.admin-search{grid-template-columns:1fr}.admin-search button{width:100%}.partner-form-grid,.partner-form-grid.three-col,.partner-form-grid.five-col{grid-template-columns:1fr!important}.span-2,.span-3{grid-column:auto!important}.partner-card-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}.copy-link,.api-key-row{grid-template-columns:1fr!important}.copy-link button,.api-key-row button{width:100%}
  .api-create-form,.api-scope-grid{grid-template-columns:1fr}.api-create-form .wide,.api-create-form button{grid-column:auto}.api-client-card{grid-template-columns:1fr}.api-client-icon{display:none}.api-client-actions{grid-column:auto}.api-health-badge{width:100%;justify-content:center}
}
/* РеДизайн 6.1 — спокойная типографика, постраничное чтение и защита от наложений */
:root{
  --reader-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --reader-heading:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
html{overflow-x:hidden;scroll-behavior:smooth}
body{min-width:0;overflow-x:hidden}
*,*::before,*::after{min-width:0}
img,svg,video,canvas{max-width:100%;height:auto}

/* Тесты: меньше декоративности, больше воздуха и читабельности */
.tests-hub-page,.tests-hub-page button,.tests-hub-page input,.tests-hub-page select,.tests-hub-page textarea{font-family:var(--reader-font)}
.tests-hub-page h1,.tests-hub-page h2,.tests-hub-page h3,.tests-hub-page b,.tests-hub-page legend{font-family:var(--reader-heading);font-weight:700;letter-spacing:-.018em}
.tests-hub-head{padding:clamp(24px,4vw,42px)!important;border-radius:28px!important}
.tests-hub-head h1{font-size:clamp(2rem,4.2vw,3.45rem)!important;line-height:1.04!important;letter-spacing:-.032em!important}
.tests-hub-head p{font-size:clamp(.98rem,1.5vw,1.08rem)!important;line-height:1.7!important;max-width:720px}
.tests-workspace{align-items:start!important}
.tests-sidebar,.test-experience-card,.psych-wizard{border-radius:24px!important}
.psych-test-tab{font-size:.94rem!important;line-height:1.35!important}
.psych-test-tab b{font-size:1rem!important;line-height:1.25!important}
.psych-test-tab small{font-size:.78rem!important;line-height:1.45!important}
.test-experience-title h2,.psych-selected-head h2{font-size:clamp(1.45rem,3vw,2.15rem)!important;line-height:1.18!important}
.color-tile{font-family:var(--reader-font)!important;font-weight:650!important;letter-spacing:0!important}
.wizard-question legend{font-size:clamp(1.18rem,2.6vw,1.65rem)!important;line-height:1.38!important;letter-spacing:-.02em!important}
.wizard-answer-scale label small{font-size:.9rem!important;line-height:1.35!important}

/* Постраничная расшифровка */
.reading-paged-mode{font-family:var(--reader-font);padding-bottom:0}
.reading-paged-mode h1,.reading-paged-mode h2,.reading-paged-mode h3,.reading-paged-mode h4{font-family:var(--reader-heading);letter-spacing:-.035em}
.reading-paged-mode [data-reading-chapter][hidden]{display:none!important}
.reading-paged-mode [data-reading-chapter].reading-page-active{display:block;animation:readerPageIn .22s ease both}
@keyframes readerPageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.reading-paged-mode .result-section-hub{display:none!important}
.reading-paged-mode .reading-navigator{
  position:sticky!important;top:72px!important;z-index:80!important;
  margin:0 0 22px!important;padding:10px!important;border:1px solid #e5e1ee!important;
  border-radius:20px!important;background:rgba(255,255,255,.96)!important;
  box-shadow:0 16px 44px rgba(39,31,74,.11)!important;backdrop-filter:blur(18px)
}
.reading-paged-mode .reading-navigator-main{display:grid!important;grid-template-columns:auto minmax(170px,1fr) auto!important;gap:12px!important;align-items:center!important}
.reading-paged-mode .reading-nav-toggle{height:48px!important;border-radius:14px!important;padding:0 15px!important;white-space:nowrap}
.reading-paged-mode .reading-current{padding:0 8px!important;overflow:hidden}
.reading-paged-mode .reading-current small{font-size:.68rem!important;text-transform:uppercase;letter-spacing:.08em;color:#8a8496}
.reading-paged-mode .reading-current b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.98rem!important}
.reading-paged-mode .reading-current span{font-size:.76rem!important;color:#7d7689}
.reading-paged-mode .reading-overall{display:none!important}
.reading-page-controls{display:grid;grid-template-columns:auto auto auto;gap:7px;align-items:center}
.reading-page-controls>button{height:48px;border:0;border-radius:14px;padding:0 14px;background:#f3f1f7;color:#332d42;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font:inherit;font-weight:750;transition:.16s ease}
.reading-page-controls>button:hover{background:#ebe7f5;transform:translateY(-1px)}
.reading-page-controls>button:disabled{opacity:.35;cursor:default;transform:none}
.reading-page-controls .reading-page-next{background:#5e49d8;color:#fff;min-width:105px}
.reading-page-controls .reading-page-next:hover{background:#513fc4}
.reading-page-index{flex-direction:column!important;gap:0!important;min-width:88px}
.reading-page-index b{font-size:.83rem}.reading-page-index small{font-size:.62rem;color:#7b7487}
.reading-page-controls-mobile{display:none}
.reading-paged-mode .reading-chapter-list{
  position:absolute!important;top:calc(100% + 8px)!important;left:0!important;right:0!important;
  display:none!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;
  max-height:min(62vh,520px)!important;overflow:auto!important;padding:10px!important;
  border:1px solid #e4dfed!important;border-radius:20px!important;background:#fff!important;
  box-shadow:0 22px 60px rgba(31,24,60,.18)!important
}
.reading-paged-mode .reading-navigator.is-open .reading-chapter-list{display:grid!important}
.reading-chapter-link{display:grid!important;grid-template-columns:34px 1fr 18px!important;align-items:center!important;gap:10px!important;text-align:left!important;padding:12px!important;border:1px solid transparent!important;border-radius:14px!important;background:#f8f7fb!important;color:#393246!important;cursor:pointer!important}
.reading-chapter-link span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#eeeaf7;color:#6653bf;font-size:.72rem;font-weight:800}
.reading-chapter-link b{font-size:.86rem;line-height:1.25}.reading-chapter-link i{font-style:normal;color:#9a93a5}
.reading-chapter-link:hover,.reading-chapter-link.active{border-color:#cfc5f5!important;background:#f3efff!important}
.reading-chapter-link.completed span{background:#e8f6ee;color:#287851}
.reading-paged-mode .result-shell>[data-reading-chapter]{width:100%;margin-top:0!important;margin-bottom:0!important;scroll-margin-top:150px}
.reading-inline-pager{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin-top:28px;padding-top:20px;border-top:1px solid #e9e5ef}
.reading-inline-pager button{min-height:48px;border:1px solid #ddd7e8;border-radius:14px;background:#fff;padding:10px 15px;font:inherit;font-weight:700;color:#433b50;cursor:pointer}
.reading-inline-pager button:last-child{justify-self:end;background:#5e49d8;color:#fff;border-color:#5e49d8}
.reading-inline-pager button:disabled{visibility:hidden}
.reading-inline-pager [data-inline-menu]{display:flex;flex-direction:column;align-items:center;gap:1px;background:#f7f5fa;border-color:transparent}
.reading-inline-pager [data-inline-menu] span{font-size:.72rem;color:#756e80}.reading-inline-pager [data-inline-menu] b{font-size:.82rem}
.reading-paged-mode .personal-reading-state{margin-top:0!important}

@media(max-width:900px){
  .reading-paged-mode .reading-navigator-main{grid-template-columns:auto minmax(0,1fr)!important}
  .reading-paged-mode .reading-navigator-main>.reading-page-controls{display:none}
  .reading-paged-mode .reading-current b{font-size:.9rem!important}
  .reading-paged-mode .reading-chapter-list{grid-template-columns:1fr!important}
  .reading-page-controls-mobile{position:fixed;z-index:120;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr auto 1fr;gap:7px;padding:7px;border:1px solid rgba(220,214,232,.95);border-radius:19px;background:rgba(255,255,255,.96);box-shadow:0 16px 50px rgba(31,24,60,.22);backdrop-filter:blur(18px)}
  .reading-page-controls-mobile>button{min-width:0;padding:0 10px}
  .reading-page-controls-mobile .reading-page-prev{justify-self:stretch}
  .reading-page-controls-mobile .reading-page-next{justify-self:stretch;min-width:0}
  .reading-page-controls-mobile .reading-page-index{min-width:70px}
  .reading-paged-mode{padding-bottom:88px}
  .reading-inline-pager{display:none}
}
@media(max-width:600px){
  .tests-hub-shell{width:min(100% - 20px,1280px)!important;padding-top:18px!important}
  .tests-hub-head{padding:24px!important;border-radius:22px!important}
  .tests-head-badge{display:none!important}
  .tests-sidebar,.test-experience-card,.psych-wizard{border-radius:20px!important}
  .test-experience-card,.psych-wizard{padding:18px!important}
  .reading-paged-mode .reading-navigator{top:62px!important;border-radius:16px!important;padding:7px!important}
  .reading-paged-mode .reading-nav-toggle{width:46px!important;padding:0!important}
  .reading-paged-mode .reading-nav-toggle b{display:none}
  .reading-paged-mode .reading-current{padding-left:2px!important}
  .reading-page-controls-mobile>button{height:48px;font-size:.84rem}
  .reading-page-controls-mobile>button span{font-size:1rem}
  .reading-paged-mode .result-section-hub{grid-template-columns:1fr!important}
}

/* Цветовой тест: спокойные подписи без тяжёлой декоративной типографики */
.color-experience,.color-experience button{font-family:var(--reader-font)!important}
.color-experience .test-experience-title h2{font-family:var(--reader-heading)!important;font-weight:750!important;letter-spacing:-.025em!important}
.color-experience .test-experience-title p,.color-experience .test-progress-copy span,.color-experience .test-inline-hint{font-size:.96rem!important;line-height:1.6!important}
.color-experience .color-tile span{font-size:.9rem!important;font-weight:680!important;letter-spacing:0!important}
.color-experience .luscher-result h2{font-family:var(--reader-heading)!important;font-weight:750!important;letter-spacing:-.025em!important}
/* РеДизайн 6.2 — стабильная сетка, кабинет, тесты, навигация и корзина */
:root{
  --rd-font:"Avenir Next",Avenir,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --rd-font-display:"Avenir Next",Avenir,"SF Pro Display","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --rd-page:1280px;
  --rd-violet:#5f49db;
  --rd-violet-dark:#4936ba;
  --rd-violet-soft:#f0edff;
  --rd-ink:#202235;
  --rd-muted:#74788b;
  --rd-line:#e4e5ed;
}
html{min-width:320px;overflow-x:hidden}
body{min-width:320px;overflow-x:hidden;font-family:var(--rd-font);font-kerning:normal;text-rendering:optimizeLegibility}
body,button,input,select,textarea{font-family:var(--rd-font)}
h1,h2,h3,h4,.brand,.account-tab,.result-product-tabs a{font-family:var(--rd-font-display)}
[hidden],.account-pane[hidden]{display:none!important}

/* Единая шапка: элементы не наезжают и не меняют высоту случайно. */
.site-header,.site-header.compact{
  min-height:64px!important;height:auto!important;
  display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;gap:12px!important;
  padding:9px clamp(14px,3vw,42px)!important;
}
.site-header .brand{grid-column:1;min-width:0;max-width:min(44vw,330px)}
.site-header .top-nav{
  grid-column:2;min-width:0;width:100%;margin:0!important;
  display:flex!important;justify-content:flex-end!important;align-items:center!important;
  gap:4px!important;overflow-x:auto!important;overflow-y:hidden!important;
  scrollbar-width:none;white-space:nowrap;padding:2px!important;
}
.site-header .top-nav::-webkit-scrollbar{display:none}
.site-header .top-nav a{flex:0 0 auto!important;padding:9px 11px!important;border-radius:11px!important;text-decoration:none!important;font-size:.86rem!important;line-height:1.2!important}
.site-header .top-nav a.active{background:var(--rd-violet-soft)!important;color:var(--rd-violet)!important;font-weight:760!important}

/* Корзина всегда заметна и не растворяется на белой шапке. */
.cart-button{
  grid-column:3!important;position:relative!important;display:inline-flex!important;
  align-items:center!important;justify-content:center!important;gap:6px!important;
  box-sizing:border-box!important;width:auto!important;min-width:auto!important;
  height:40px!important;min-height:40px!important;margin:0!important;
  padding:0 12px!important;border:1px solid #d9d2f6!important;border-radius:12px!important;
  background:#f1eeff!important;color:#4e3bb8!important;
  box-shadow:0 8px 20px rgba(15,122,130,.16)!important;font-size:.86rem!important;font-weight:750!important;
  line-height:1.2!important;
}
.cart-button:hover{background:#e8e2ff!important;border-color:#c6bbf1!important}
.cart-button.has-items{background:linear-gradient(135deg,#5d47db,#7660ea)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 11px 25px rgba(81,59,191,.28)!important}
.cart-button .cart-ic{font-size:1.08rem;line-height:1}
.cart-button .cart-label{display:inline}
.cart-badge{top:-7px!important;right:-7px!important;background:#ff6d68!important;color:#fff!important;border:2px solid #fff!important;min-width:22px!important;height:22px!important;font-size:.68rem!important}
.cart-badge.is-empty{display:none!important}
.cart-panel{width:min(430px,100vw)!important;background:#fff!important;border-left:1px solid var(--rd-line)!important}
.cart-head{padding:20px 22px!important}.cart-head b{color:var(--rd-ink)!important}
.cart-line{align-items:flex-start!important}.cart-line-copy{min-width:0;flex:1}.cart-line-copy b{color:var(--rd-ink)!important}
.cart-line-right{flex:0 0 auto}.cart-foot{background:#fbfbfe!important}
.cart-review{width:min(720px,100%)!important;max-width:720px!important;padding:clamp(18px,3vw,34px)!important;border:1px solid var(--rd-line)!important;border-radius:26px!important;background:#fff!important;box-shadow:0 18px 48px rgba(35,38,75,.08)!important}
.cart-review h1{margin:6px 0 18px!important}.cart-review-row{align-items:center!important}.cart-review-price{white-space:nowrap}

/* Личный кабинет: надежные вкладки и стабильные карточки. */
.account-shell{width:min(var(--rd-page),calc(100% - 32px))!important;margin-inline:auto!important;padding-top:28px!important}
.account-tabs{
  position:sticky;top:10px;z-index:45;display:flex!important;flex-wrap:nowrap!important;
  gap:6px!important;max-width:100%;overflow-x:auto!important;overflow-y:hidden!important;
  margin:20px 0 24px!important;padding:6px!important;border:1px solid #ded8f1!important;
  border-radius:17px!important;background:rgba(246,243,255,.96)!important;
  box-shadow:0 10px 28px rgba(47,38,91,.08)!important;scrollbar-width:none;
}
.account-tabs::-webkit-scrollbar{display:none}
.account-tab{
  flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:44px!important;padding:10px 16px!important;border:0!important;border-radius:12px!important;
  background:transparent!important;color:#6659a7!important;text-decoration:none!important;
  white-space:nowrap!important;font-size:.9rem!important;font-weight:720!important;cursor:pointer!important;
}
.account-tab:hover{background:rgba(255,255,255,.72)!important;color:#4938a8!important}
.account-tab.active{background:#fff!important;color:#352774!important;box-shadow:0 5px 15px rgba(78,56,166,.15)!important}
.account-tab em{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;margin-left:6px;padding:0 6px!important;font-size:.66rem!important}
.account-pane{display:block;width:100%;min-width:0}
.person-group,.daily-cabinet-card,.mail-settings-card,.side-card{max-width:100%;overflow:hidden}
.person-group-head{grid-template-columns:auto minmax(0,1fr) auto!important}.purchase-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.purchase-actions form,.mini-actions form{margin:0}.mini-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.account-grid-side{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important}
.mail-settings-card{max-width:900px!important}.mail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* Тесты: выбранный пункт читается, контент не вылезает вправо. */
.tests-hub-page,.tests-hub-page button,.tests-hub-page input,.tests-hub-page select,.tests-hub-page textarea{font-family:var(--rd-font)!important}
.tests-hub-page h1,.tests-hub-page h2,.tests-hub-page h3,.tests-hub-page b,.tests-hub-page legend{font-family:var(--rd-font-display)!important}
.tests-hub-shell{width:min(var(--rd-page),calc(100% - 32px))!important;max-width:var(--rd-page)!important;margin-inline:auto!important}
.tests-hub-head{grid-template-columns:minmax(0,1fr) auto!important;overflow:hidden!important}
.tests-hub-head>div:first-child{min-width:0}.tests-hub-head h1{max-width:100%}.tests-hub-head p{max-width:760px!important}
.tests-head-badge{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:4px 10px!important;min-width:180px!important;max-width:250px!important;padding:15px 17px!important;border-radius:18px!important;background:rgba(255,255,255,.13)!important;border:1px solid rgba(255,255,255,.2)!important;color:#fff!important}
.tests-head-badge>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.16);font-size:1.15rem}
.tests-head-badge b,.tests-head-badge small{display:block!important;color:#fff!important}.tests-head-badge b{font-size:1rem!important}.tests-head-badge small{font-size:.72rem!important;opacity:.82}
.tests-workspace{grid-template-columns:290px minmax(0,1fr)!important;gap:22px!important;max-width:100%!important}
.tests-sidebar,.tests-stage{min-width:0!important;max-width:100%!important}
.tests-catalog .psych-test-tab{text-decoration:none!important;color:#6d6780!important;overflow:hidden!important}
.tests-catalog .psych-test-tab b{color:#6b667e!important;text-decoration:none!important}
.tests-catalog .psych-test-tab em{color:#5d49d2!important;text-decoration:none!important}
.tests-catalog .psych-test-tab>i{color:#756b97!important}
.tests-catalog .psych-test-tab.active,.tests-catalog .psych-test-tab.active:hover{background:linear-gradient(135deg,#5b45d4,#745ae4)!important;color:#fff!important}
.tests-catalog .psych-test-tab.active b,.tests-catalog .psych-test-tab.active small,.tests-catalog .psych-test-tab.active em,.tests-catalog .psych-test-tab.active>i{color:#fff!important}
.tests-catalog .psych-test-tab.active em{opacity:.82}.tests-catalog .psych-test-tab.active b{text-decoration:none!important}
.test-experience-card,.psych-wizard,.psych-result{min-width:0!important;max-width:100%!important;overflow:hidden!important}
.psych-selected-head,.wizard-selected-head{grid-template-columns:68px minmax(0,1fr)!important}.psych-selected-head>div{min-width:0}
.wizard-question legend{max-width:100%!important}.wizard-answer-scale{max-width:100%!important}
.wizard-controls{z-index:8;background:rgba(255,255,255,.96);padding:8px;border:1px solid #e7e3ef;border-radius:16px}

/* Верхняя навигация внутри карты: всегда 5 равных пунктов, без переносов и скачков. */
.result-shell,.daily-shell{width:min(var(--rd-page),calc(100% - 32px))!important;max-width:var(--rd-page)!important;margin-inline:auto!important;padding-left:0!important;padding-right:0!important}
.result-product-tabs{
  position:relative!important;top:auto!important;z-index:20!important;
  display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:7px!important;width:100%!important;max-width:100%!important;margin:0 0 22px!important;
  overflow:hidden!important;
}
.result-product-tabs a{min-width:0!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important}
.result-product-tabs a span{flex:0 0 auto}.result-product-tabs a.active{transform:none!important}
.result-topbar{width:100%;max-width:100%;align-items:flex-end!important}.result-topbar>div{min-width:0}.result-topbar h1{overflow-wrap:anywhere}
.result-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.hero-result-card,.reading-verification,.daily-tab-teaser,.premium-insights-section,.included-modules-section,.recommendation-section,.natal-result-section,.family-offer-card,.paid-actions,.psych-reading-section,.free-test-banner{width:100%;max-width:100%;min-width:0}
.reading-paged-mode .reading-navigator{top:74px!important;max-width:100%!important}
.reading-paged-mode .reading-navigator-main{min-width:0}.reading-paged-mode .reading-current{min-width:0}
.reading-paged-mode .reading-chapter-list{max-width:100%!important}
.reading-paged-mode .result-shell>[data-reading-chapter]{max-width:100%!important;overflow:hidden}
.natal-workspace-grid,.natal-detailed-layout,.premium-insights-grid,.included-module-grid,.recommendation-grid{max-width:100%;min-width:0}

/* Устойчивые якоря: заголовок не прячется под шапкой. */
[id]{scroll-margin-top:92px}
.reading-paged-mode [data-reading-chapter]{scroll-margin-top:150px!important}

@media(max-width:1180px){
  .tests-hub-head{grid-template-columns:1fr!important;align-items:start!important}.tests-head-badge{margin-top:18px!important;max-width:100%!important;width:max-content!important}
  .tests-workspace{grid-template-columns:1fr!important}.tests-sidebar{position:static!important}
  .tests-sidebar-title{display:flex!important}
  .tests-catalog,.psych-test-tabs.tests-catalog{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important}
  .tests-catalog .psych-test-tab{min-height:84px!important}
}

@media(max-width:900px){
  .site-header,.site-header.compact{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}
  .site-header .brand{grid-column:1;max-width:100%}.cart-button{grid-column:2!important;grid-row:1!important}
  .site-header .top-nav{grid-column:1/-1!important;grid-row:2!important;justify-content:flex-start!important;width:100%!important}
  .account-shell,.tests-hub-shell,.result-shell,.daily-shell,.checkout-shell{width:calc(100% - 20px)!important}
  .account-tabs{top:8px!important}
  .person-group-head{grid-template-columns:auto minmax(0,1fr)!important;align-items:start!important}
  .purchase-actions{grid-column:1/-1!important;justify-content:flex-start!important;padding-left:72px}
  .mail-grid{grid-template-columns:1fr!important}
  .result-product-tabs{display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;scrollbar-width:none!important;border-radius:16px!important}
  .result-product-tabs::-webkit-scrollbar{display:none}.result-product-tabs a{flex:0 0 auto!important;min-width:max-content!important;scroll-snap-align:start!important}
  .reading-paged-mode .reading-navigator{top:118px!important}
  .result-topbar{align-items:flex-start!important;flex-direction:column!important}.result-top-actions{justify-content:flex-start!important}
}

@media(max-width:680px){
  .cart-button{width:40px!important;min-width:40px!important;padding:0!important}.cart-button .cart-label{display:none!important}
  .cart-panel{top:auto!important;bottom:0!important;right:0!important;left:0!important;width:100%!important;height:min(82vh,720px)!important;border-left:0!important;border-top:1px solid var(--rd-line)!important;border-radius:24px 24px 0 0!important;transform:translateY(105%)!important}
  .cart-panel.is-open{transform:translateY(0)!important}.cart-head{padding:16px 18px!important}.cart-items{padding:12px 18px!important}.cart-foot{padding:15px 18px calc(15px + env(safe-area-inset-bottom))!important}
  .tests-catalog,.psych-test-tabs.tests-catalog{display:flex!important;grid-template-columns:none!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;padding-bottom:7px!important}
  .tests-catalog .psych-test-tab{flex:0 0 min(285px,84vw)!important;scroll-snap-align:start!important}
  .tests-sidebar-title{display:none!important}.tests-head-badge{width:100%!important}
  .psych-selected-head,.wizard-selected-head{grid-template-columns:52px minmax(0,1fr)!important;gap:12px!important}.psych-selected-head>span{width:52px!important;height:52px!important}
  .person-group{padding:16px!important}.person-badge{width:48px!important;height:48px!important;border-radius:15px!important}.purchase-actions{padding-left:0!important}
  .purchase-actions>*{width:100%!important}.purchase-actions .secondary-button{width:100%!important}.archive-form{width:100%}.archive-button{width:100%}
  .sub-grid{grid-template-columns:1fr!important}.mini-reading{grid-template-columns:auto minmax(0,1fr)!important}.mini-actions{grid-column:1/-1!important;justify-content:flex-start!important;padding-left:47px}
  .result-product-tabs{margin-left:0!important;margin-right:0!important}
  .reading-paged-mode .reading-navigator{top:112px!important}
  .reading-paged-mode .reading-current b{white-space:normal!important;line-height:1.2!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .result-top-actions>*{width:100%!important}.result-top-actions .icon-action{justify-content:center!important}
  .cart-review-row{align-items:flex-start!important}.cart-review-price{font-size:.95rem!important}
}

@media(max-width:430px){
  .site-header,.site-header.compact{padding-inline:10px!important}.site-header .top-nav a{padding:8px 9px!important;font-size:.8rem!important}
  .account-shell,.tests-hub-shell,.result-shell,.daily-shell,.checkout-shell{width:calc(100% - 14px)!important}
  .account-tab{padding:9px 12px!important;font-size:.82rem!important}
  .tests-hub-head{padding:22px 17px!important}.tests-head-badge{padding:13px!important}
  .test-experience-card,.psych-wizard,.psych-result{padding:15px!important}
}

@media(prefers-reduced-motion:reduce){
  .cart-panel,.cart-overlay,.reading-page-active{transition:none!important;animation:none!important}
}
/* ReДизайн 6.3 — центрирование персональной карты.
   В 6.0 класс .result-v3 ошибочно использовался как класс контейнера,
   хотя он назначен тегу body. Из-за этого вся страница получала ширину
   контентной колонки, а внутренний main сжимался ещё раз. */

html,
body.result-v3 {
  width: 100% !important;
  min-width: 320px !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.result-v3 {
  display: block !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  overflow-x: clip !important;
}

body.result-v3 > .site-header,
body.result-v3 > .site-footer {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

body.result-v3 > main.result-shell {
  box-sizing: border-box !important;
  width: min(1280px, calc(100% - 32px)) !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding-inline: 0 !important;
  left: auto !important;
  right: auto !important;
  translate: none !important;
  transform: none !important;
}

body.result-v3 > main.result-shell > * {
  max-width: 100% !important;
}

/* Крупные разделы карты занимают всю доступную центральную колонку,
   но не могут вытолкнуть её влево или вправо. */
body.result-v3 :where(
  .result-product-tabs,
  .result-topbar,
  .reading-navigator,
  .hero-result-card,
  .reading-verification,
  .daily-tab-teaser,
  .personal-reading-state,
  .premium-insights-section,
  .included-modules-section,
  .recommendation-section,
  .child-profile-rich,
  .natal-result-section,
  .family-offer-card,
  .paid-actions,
  .psych-reading-section,
  .free-test-banner
) {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media (max-width: 900px) {
  body.result-v3 > main.result-shell {
    width: calc(100% - 20px) !important;
  }
}

@media (max-width: 520px) {
  body.result-v3 > main.result-shell {
    width: calc(100% - 14px) !important;
  }
}
/* РеДизайн 6.4 — спокойная тема, единая навигация и устойчивый кабинет */

/* ---------- Темы ---------- */
:root,
html[data-site-theme="ocean"]{
  --rd-primary:#147f86;
  --rd-primary-strong:#0d606b;
  --rd-primary-deep:#0a4652;
  --rd-accent:#38a897;
  --rd-accent-2:#67b9a9;
  --rd-soft:#e8f7f5;
  --rd-soft-2:#edf6fb;
  --rd-surface:#ffffff;
  --rd-page-bg:#f3f8fa;
  --rd-ink:#19313a;
  --rd-muted:#647a82;
  --rd-line:#d8e7e8;
  --rd-shadow:0 16px 42px rgba(22,78,86,.10);
  --rd-gradient:linear-gradient(135deg,#126f7b 0%,#23998f 52%,#4eb6a1 100%);
}
html[data-site-theme="sage"]{
  --rd-primary:#4f7f6c;
  --rd-primary-strong:#3e6858;
  --rd-primary-deep:#294b3e;
  --rd-accent:#7aa88d;
  --rd-accent-2:#a1c4ad;
  --rd-soft:#edf5ef;
  --rd-soft-2:#f3f7f1;
  --rd-surface:#fff;
  --rd-page-bg:#f5f8f4;
  --rd-ink:#263a31;
  --rd-muted:#6c7c73;
  --rd-line:#dce7df;
  --rd-shadow:0 16px 42px rgba(54,91,70,.10);
  --rd-gradient:linear-gradient(135deg,#466f5f,#6e9b7f);
}
html[data-site-theme="sky"]{
  --rd-primary:#3e7ea5;
  --rd-primary-strong:#2f6688;
  --rd-primary-deep:#244b65;
  --rd-accent:#62a4bd;
  --rd-accent-2:#8bc4d1;
  --rd-soft:#eaf4fa;
  --rd-soft-2:#f1f7fb;
  --rd-surface:#fff;
  --rd-page-bg:#f3f7fa;
  --rd-ink:#243846;
  --rd-muted:#697c88;
  --rd-line:#dce7ee;
  --rd-shadow:0 16px 42px rgba(45,91,120,.10);
  --rd-gradient:linear-gradient(135deg,#397698,#65a8bd);
}
html[data-site-theme="lavender"]{
  --rd-primary:#6b5bc6;
  --rd-primary-strong:#5747ad;
  --rd-primary-deep:#403581;
  --rd-accent:#8c7bd7;
  --rd-accent-2:#ada0e5;
  --rd-soft:#f0edfb;
  --rd-soft-2:#f7f5fc;
  --rd-surface:#fff;
  --rd-page-bg:#f6f5fa;
  --rd-ink:#302d43;
  --rd-muted:#737087;
  --rd-line:#e3e0ed;
  --rd-shadow:0 16px 42px rgba(74,62,132,.10);
  --rd-gradient:linear-gradient(135deg,#6252b9,#8b7ad6);
}

html{background:var(--rd-page-bg)!important}
body.v3-page,
body{background:var(--rd-page-bg)!important;color:var(--rd-ink)!important}
body,button,input,select,textarea{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif!important;
}
h1,h2,h3,h4,.brand,.account-tab,.result-product-tabs a{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif!important;
  letter-spacing:-.018em;
}
a{color:var(--rd-primary)}
.muted{color:var(--rd-muted)!important}
.eyebrow,.eyebrow.dark,.block-label{color:var(--rd-primary)!important}
.auth-page .passwordless-card .auth-visual .eyebrow,.auth-page .passwordless-card .auth-visual .auth-eyebrow{color:#fff!important;opacity:1!important}
.primary-button,
button.primary-button,
a.primary-button{
  background:var(--rd-gradient)!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 10px 24px color-mix(in srgb,var(--rd-primary) 24%,transparent)!important;
}
.primary-button:hover{filter:brightness(.97);transform:translateY(-1px)}
.secondary-button,
a.secondary-button,
button.secondary-button{
  background:var(--rd-surface)!important;
  color:var(--rd-primary-strong)!important;
  border-color:color-mix(in srgb,var(--rd-primary) 25%,var(--rd-line))!important;
}
.secondary-button:hover{background:var(--rd-soft)!important}
.brand-mark{background:var(--rd-gradient)!important;color:#fff!important}
.site-header,.site-header.compact{
  background:rgba(255,255,255,.93)!important;
  border-bottom:1px solid var(--rd-line)!important;
  box-shadow:0 8px 26px rgba(23,66,74,.06)!important;
  backdrop-filter:blur(16px);
}
.site-header .top-nav a{color:var(--rd-muted)!important}
.site-header .top-nav a:hover,
.site-header .top-nav a.active{background:var(--rd-soft)!important;color:var(--rd-primary-strong)!important}

/* ---------- Верхняя кнопка назад ---------- */
.global-back-button{
  position:fixed;left:14px;bottom:16px;top:auto;z-index:160;
  display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 13px;
  border:1px solid var(--rd-line);border-radius:14px;background:rgba(255,255,255,.94);
  color:var(--rd-primary-strong);text-decoration:none;font-size:.86rem;
  box-shadow:0 9px 24px rgba(25,67,73,.10);backdrop-filter:blur(12px);
}
.global-back-button span{font-size:1.12rem}.global-back-button b{font-weight:750}
.global-back-button:hover{background:var(--rd-soft)}

/* ---------- Выбор темы ---------- */
.display-tools{z-index:170!important}
.display-tools-toggle{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;
  width:auto!important;min-width:52px!important;padding:0 10px!important;
  background:rgba(255,255,255,.96)!important;color:var(--rd-primary-strong)!important;
  border:1px solid var(--rd-line)!important;box-shadow:0 9px 24px rgba(25,67,73,.11)!important;
}
.display-tools-theme-dot{width:13px;height:13px;border-radius:50%;background:var(--rd-gradient);box-shadow:0 0 0 3px var(--rd-soft)}
.display-tools-panel{
  width:min(350px,calc(100vw - 24px))!important;border:1px solid var(--rd-line)!important;
  background:rgba(255,255,255,.98)!important;box-shadow:0 22px 60px rgba(18,64,72,.18)!important;
}
.display-tools-head{border-bottom-color:var(--rd-line)!important}
.display-theme-picker{padding:14px 0 16px;border-bottom:1px solid var(--rd-line);margin-bottom:14px}
.display-theme-picker>span{display:block;margin-bottom:10px;color:var(--rd-muted);font-size:.78rem;font-weight:750}
.display-theme-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.display-theme-options button{
  min-width:0;padding:9px 5px 7px;border:1px solid var(--rd-line);border-radius:13px;background:#fff;color:var(--rd-muted);
  display:grid;place-items:center;gap:5px;font-size:.67rem;cursor:pointer;
}
.display-theme-options button i{display:block;width:25px;height:25px;border-radius:9px}
.display-theme-options button[data-site-theme="ocean"] i{background:linear-gradient(135deg,#126f7b,#4eb6a1)}
.display-theme-options button[data-site-theme="sage"] i{background:linear-gradient(135deg,#466f5f,#91b59d)}
.display-theme-options button[data-site-theme="sky"] i{background:linear-gradient(135deg,#397698,#86c1d1)}
.display-theme-options button[data-site-theme="lavender"] i{background:linear-gradient(135deg,#6252b9,#a99ce3)}
.display-theme-options button.active{border-color:var(--rd-primary);background:var(--rd-soft);color:var(--rd-primary-deep);box-shadow:0 0 0 2px color-mix(in srgb,var(--rd-primary) 12%,transparent)}
.display-theme-options button b{font-weight:700;overflow:hidden;text-overflow:ellipsis}

/* ---------- Контекстная навигация ---------- */
.context-navigation{
  position:sticky;top:8px;z-index:70;
  width:min(1280px,calc(100% - 32px));min-height:58px;margin:12px auto 18px;padding:7px;
  display:grid;grid-template-columns:auto minmax(130px,1fr) auto;align-items:center;gap:10px;
  border:1px solid var(--rd-line);border-radius:18px;background:rgba(255,255,255,.94);
  box-shadow:0 12px 32px rgba(20,73,80,.09);backdrop-filter:blur(16px);
}
.context-back{
  display:inline-flex;align-items:center;gap:8px;min-height:43px;padding:0 14px;border-radius:13px;
  background:var(--soft,var(--rd-soft));color:var(--rd-primary-deep)!important;text-decoration:none;white-space:nowrap;
}
.context-back span{font-size:1.15rem}.context-back b{font-size:.86rem}
.context-current{min-width:0;padding:0 5px}
.context-current small{display:block;color:var(--rd-muted);font-size:.69rem}
.context-current b{display:block;color:var(--rd-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem}
.context-links{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none}
.context-links::-webkit-scrollbar{display:none}
.context-links a{
  flex:0 0 auto;padding:9px 11px;border-radius:11px;text-decoration:none;color:var(--rd-muted);font-size:.78rem;font-weight:700;white-space:nowrap;
}
.context-links a:hover,.context-links a.active{background:var(--rd-soft);color:var(--rd-primary-strong)}
.context-navigation.is-root{position:relative;top:auto}

/* ---------- Корзина ---------- */
.cart-button{
  background:var(--rd-gradient)!important;color:#fff!important;border:0!important;
  box-shadow:0 10px 25px color-mix(in srgb,var(--rd-primary) 28%,transparent)!important;
}
.cart-button:hover{background:var(--rd-primary-strong)!important;border-color:transparent!important}
.cart-button.has-items{background:linear-gradient(135deg,var(--rd-primary-deep),var(--rd-accent))!important}
.cart-button .cart-label,.cart-button .cart-ic{color:#fff!important}
.cart-badge{background:#ff735e!important;color:#fff!important;border-color:#fff!important}
.cart-panel,.cart-review{border-color:var(--rd-line)!important;box-shadow:var(--rd-shadow)!important}
.cart-head,.cart-foot{background:var(--rd-soft-2)!important}
.cart-review-total{background:var(--rd-soft)!important;border-color:var(--rd-line)!important}

/* ---------- Навигация персональной карты ---------- */
.result-product-tabs{
  background:rgba(255,255,255,.76)!important;padding:6px!important;border:1px solid var(--rd-line)!important;border-radius:18px!important;
  box-shadow:0 9px 24px rgba(20,73,80,.06)!important;
}
.result-product-tabs a{color:var(--rd-muted)!important;border-radius:13px!important}
.result-product-tabs a:hover{background:var(--rd-soft-2)!important;color:var(--rd-primary-strong)!important}
.result-product-tabs a.active{
  background:var(--rd-gradient)!important;color:#fff!important;box-shadow:0 8px 20px color-mix(in srgb,var(--rd-primary) 24%,transparent)!important;
}
.result-product-tabs a.active span{color:#fff!important}
.reading-navigator{
  border-color:var(--rd-line)!important;background:rgba(255,255,255,.96)!important;box-shadow:0 14px 34px rgba(20,73,80,.10)!important;
}
.reading-nav-toggle,.reading-continue{color:var(--rd-primary-strong)!important}
.reading-progress-track i{background:var(--rd-gradient)!important}
.reading-chapter-link.active{background:var(--rd-soft)!important;color:var(--rd-primary-deep)!important}
.reading-page-controls button,.reading-inline-pager button{border-color:var(--rd-line)!important;color:var(--rd-primary-strong)!important}
.reading-page-controls button:hover,.reading-inline-pager button:hover{background:var(--rd-soft)!important}

/* Реклама ежедневного и семейного раздела остаётся видна при переключении глав. */
.reading-service-strip{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 18px;
}
.reading-service-card{
  min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;
  padding:15px 16px;border:1px solid var(--rd-line);border-radius:20px;background:linear-gradient(145deg,#fff,var(--rd-soft-2));
  box-shadow:0 10px 26px rgba(20,73,80,.06);
}
.reading-service-card>span{
  width:45px;height:45px;display:grid;place-items:center;border-radius:15px;background:var(--rd-soft);color:var(--rd-primary-strong);font-size:1.25rem;
}
.reading-service-card div{min-width:0}
.reading-service-card small{display:block;color:var(--rd-primary);font-weight:750;font-size:.7rem}
.reading-service-card b{display:block;color:var(--rd-ink);font-size:.91rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reading-service-card p{margin:3px 0 0;color:var(--rd-muted);font-size:.75rem;line-height:1.35}
.reading-service-card a{padding:9px 12px;border-radius:11px;background:var(--rd-primary);color:#fff!important;text-decoration:none;font-size:.76rem;font-weight:750;white-space:nowrap}
.reading-service-card.family>span{background:#edf8f3}
.reading-service-card.family a{background:var(--rd-accent)}

/* ---------- Карточки ---------- */
.hero-result-card,.premium-insights-section,.included-modules-section,.recommendation-section,
.natal-result-section,.family-offer-card,.paid-actions,.psych-reading-section,.free-test-banner,
.daily-redesign-card,.daily-page-note,.bio-calculator-card,.bio-result-panel,.person-group,.side-card,.mail-settings-card{
  border-color:var(--rd-line)!important;box-shadow:var(--rd-shadow)!important;
}
.family-offer-card{background:linear-gradient(135deg,#f8fffd,var(--rd-soft))!important}
.daily-tab-teaser,.daily-page-note{background:linear-gradient(135deg,var(--rd-soft-2),#fff)!important}
.daily-page-hero,.bio-tool-hero,.tests-hub-head,.account-hero{
  background:var(--rd-gradient)!important;color:#fff!important;
}
.daily-page-hero .eyebrow,.bio-tool-hero .eyebrow,.tests-hub-head .eyebrow,.account-hero .eyebrow,.auth-page .passwordless-card .auth-visual .eyebrow,.auth-page .passwordless-card .auth-visual .auth-eyebrow{color:#fff!important;opacity:1!important}
.daily-page-hero h1,.daily-page-hero p,.bio-tool-hero h1,.bio-tool-hero p,.tests-hub-head h1,.tests-hub-head p,.account-hero h1,.account-hero p{color:#fff!important}

/* ---------- Личный кабинет ---------- */
.account-tabs{background:rgba(232,247,245,.92)!important;border-color:var(--rd-line)!important}
.account-tab{color:var(--rd-muted)!important}
.account-tab:hover{background:#fff!important;color:var(--rd-primary)!important}
.account-tab.active{background:var(--rd-gradient)!important;color:#fff!important;box-shadow:0 7px 18px color-mix(in srgb,var(--rd-primary) 22%,transparent)!important}
.account-tab.active em{background:rgba(255,255,255,.22)!important;color:#fff!important}
.account-tab em{background:var(--rd-primary)!important}
.account-pane{display:none!important}
.account-pane.is-active{display:block!important}
.person-group.is-primary{border-color:color-mix(in srgb,var(--rd-primary) 30%,var(--rd-line))!important;background:linear-gradient(150deg,#fff,var(--rd-soft-2))!important}
.person-badge,.person-group.is-primary .person-badge{background:var(--rd-gradient)!important}
.purchase-actions .secondary-button,.mini-actions a{background:var(--rd-primary)!important;color:#fff!important;border-color:transparent!important}
.account-empty-help{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:14px}

/* ---------- Тесты ---------- */
.tests-catalog .psych-test-tab.active,.tests-catalog .psych-test-tab.active:hover{background:var(--rd-gradient)!important}
.tests-catalog .psych-test-tab.active b,.tests-catalog .psych-test-tab.active small,.tests-catalog .psych-test-tab.active em,.tests-catalog .psych-test-tab.active>i{color:#fff!important}
.test-progress-track i,.psych-scale-bar i{background:var(--rd-gradient)!important}
.answer-scale label:has(input:checked),.wizard-answer-scale label:has(input:checked){border-color:var(--rd-primary)!important;background:var(--rd-soft)!important}
.color-tile:focus-visible{outline:3px solid var(--rd-accent)!important}

/* ---------- Биоритмы ---------- */
.bio-mode-switch{background:var(--rd-soft)!important}
.bio-mode-switch button.active{background:var(--rd-gradient)!important;color:#fff!important}
.bio-person-heading>span,.bio-target-card>span{background:var(--rd-soft)!important;color:var(--rd-primary)!important}
.bio-result-card{border-color:var(--rd-line)!important}
.bio-compat-summary{background:linear-gradient(135deg,var(--rd-soft),var(--rd-soft-2))!important}

/* ---------- Адаптив ---------- */
body:has(.context-navigation) .global-back-button{display:none}
@media(max-width:900px){
  .global-back-button{left:10px;bottom:10px;top:auto;width:42px;padding:0;justify-content:center}
  .global-back-button b{display:none}
  .context-navigation{width:calc(100% - 20px);grid-template-columns:auto minmax(0,1fr);top:6px}
  .context-links{grid-column:1/-1;justify-content:flex-start;border-top:1px solid var(--rd-line);padding-top:5px}
  .reading-service-strip{grid-template-columns:1fr}
}
@media(max-width:680px){
  body:has(.context-navigation:not(.is-root)){padding-bottom:76px!important}
  .context-navigation:not(.is-root){
    position:fixed;left:7px;right:7px;top:auto;bottom:7px;width:auto;z-index:130;
    grid-template-columns:auto minmax(0,1fr);min-height:58px;margin:0;padding:6px;border-radius:18px;
  }
  .context-navigation:not(.is-root) .context-links{display:none}
  .context-navigation:not(.is-root) .context-current small{display:none}
  .context-navigation:not(.is-root) .context-back{min-height:45px;padding:0 13px}
  .reading-service-card{grid-template-columns:auto minmax(0,1fr)}
  .reading-service-card a{grid-column:1/-1;text-align:center}
  .display-theme-options{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:430px){
  .reading-service-card{padding:13px;border-radius:17px}
  .context-current b{font-size:.82rem}
  .cart-button{background:var(--rd-gradient)!important}
}
/* РеДизайн 6.5 — рабочий кабинет, единая типографика и корзина на всех страницах */
:root{
  --rd-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
  --rd-font-display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
  --reader-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
}
html,body,button,input,select,textarea,
.tests-hub-page,.tests-hub-page button,.tests-hub-page input,.tests-hub-page select,.tests-hub-page textarea,
.bio-tool-page,.bio-tool-page button,.bio-tool-page input,.bio-tool-page select,.bio-tool-page textarea{
  font-family:var(--rd-font)!important;
}
h1,h2,h3,h4,.brand,.account-tab,.result-product-tabs a,
.tests-hub-page h1,.tests-hub-page h2,.tests-hub-page h3,.tests-hub-page b,.tests-hub-page legend,
.bio-tool-page h1,.bio-tool-page h2,.bio-tool-page h3,.bio-tool-page b{
  font-family:var(--rd-font-display)!important;
  letter-spacing:-.018em!important;
}

/* Кабинет: отображается только выбранный сервером раздел, без зависимости от JS/CSS-переключателя. */
.account-pane,.account-pane.is-active{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  visibility:visible!important;
  opacity:1!important;
}
.account-pane[hidden]{display:none!important}
.account-shell{min-height:580px}
.account-tabs{position:relative!important;top:auto!important}
.person-group,.daily-cabinet-card,.archive-intro,.archive-list,.account-grid-side,.mail-settings-card{
  animation:none!important;
}
.purchase-actions .secondary-button,
.daily-cab-actions .primary-button{
  min-height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:var(--rd-gradient)!important;
  color:#fff!important;
  border-color:transparent!important;
}
.person-group-head>div:nth-child(2){min-width:0}
.person-group-head h2,.person-group-head p{overflow-wrap:anywhere}
.empty-state.soft{
  border:1px solid var(--rd-line)!important;
  background:linear-gradient(145deg,#fff,var(--rd-soft-2))!important;
  box-shadow:0 12px 30px rgba(20,73,80,.06)!important;
}

/* РеДизайн дня в кабинете всегда выглядит как содержательный раздел. */
.daily-cabinet-card{
  background:linear-gradient(145deg,var(--rd-primary-deep),var(--rd-primary),var(--rd-accent))!important;
  color:#fff!important;
}
.daily-cabinet-card h3,.daily-cabinet-card b,.daily-cabinet-card p,.daily-cabinet-card small{color:#fff!important}
.daily-cabinet-card .muted{color:rgba(255,255,255,.78)!important}
.daily-cabinet-card .primary-button{background:#fff!important;color:var(--rd-primary-deep)!important;box-shadow:none!important}
.subscription-chip{background:rgba(255,255,255,.18)!important;color:#fff!important}

/* Тесты и биоритмы используют ту же шкалу текста, что главная и расшифровка. */
.tests-hub-shell,.bio-tool-shell{
  width:min(1180px,calc(100% - 32px))!important;
  max-width:1180px!important;
  margin-inline:auto!important;
}
.tests-hub-head,.bio-tool-hero{
  padding:clamp(26px,4vw,48px)!important;
  border-radius:28px!important;
}
.tests-hub-head h1,.bio-tool-hero h1{
  margin:8px 0 14px!important;
  font-size:clamp(2rem,4.2vw,3.7rem)!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
}
.tests-hub-head p,.bio-tool-hero p{
  max-width:760px!important;
  font-size:clamp(.98rem,1.3vw,1.08rem)!important;
  line-height:1.65!important;
}
.tests-hub-page p,.bio-tool-page p{line-height:1.62}
.psych-test-tab b{font-size:.98rem!important}
.psych-test-tab small{font-size:.78rem!important;line-height:1.4!important}
.psych-test-tab em{font-size:.76rem!important}
.test-experience-card,.psych-wizard,.psych-result,
.bio-calculator-card,.bio-result-panel{
  border:1px solid var(--rd-line)!important;
  background:#fff!important;
  box-shadow:var(--rd-shadow)!important;
}

/* Кнопка «Далее» больше не фиолетовая. */
.reading-page-controls .reading-page-next,
.reading-inline-pager button:last-child,
.wizard-controls .wizard-next:not(:disabled),
#wizardNext:not(:disabled){
  background:var(--rd-gradient)!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 8px 20px color-mix(in srgb,var(--rd-primary) 22%,transparent)!important;
}
.reading-page-controls .reading-page-next:hover,
.reading-inline-pager button:last-child:hover,
.wizard-controls .wizard-next:not(:disabled):hover,
#wizardNext:not(:disabled):hover{
  background:var(--rd-primary-strong)!important;
  color:#fff!important;
}
.reading-page-controls .reading-page-prev,
.reading-page-controls .reading-page-index,
.reading-inline-pager button:not(:last-child),
.wizard-controls .wizard-back{
  background:#fff!important;
  color:var(--rd-primary-strong)!important;
  border-color:var(--rd-line)!important;
}

/* Корзина присутствует на каждой пользовательской странице. */
.cart-button{
  z-index:125!important;
  background:var(--rd-gradient)!important;
  color:#fff!important;
  border:0!important;
}
.cart-button.cart-button-floating{
  position:fixed!important;
  right:18px!important;
  top:18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-width:48px!important;
  height:46px!important;
  padding:0 14px!important;
  border-radius:15px!important;
  box-shadow:0 12px 28px rgba(15,83,88,.24)!important;
}
.cart-button .cart-ic,.cart-button .cart-label{color:#fff!important}
.cart-panel{z-index:181!important}
.cart-overlay{z-index:180!important}

/* Не допускаем повторного «прыгания» шапки после появления корзины. */
.site-header,.site-header.compact{
  grid-template-columns:auto minmax(0,1fr) auto!important;
}
.site-header .cart-button{grid-column:3!important;grid-row:1!important}

/* Мягкие интерактивные акценты вместо старого фиолетового. */
.answer-scale label:has(input:checked),
.wizard-answer-scale label:has(input:checked){
  border-color:var(--rd-primary)!important;
  background:var(--rd-soft)!important;
}
.wizard-question legend span,
.bio-person-heading>span,
.bio-target-card>span{
  background:var(--rd-soft)!important;
  color:var(--rd-primary-strong)!important;
}

@media(max-width:900px){
  .tests-hub-shell,.bio-tool-shell{width:calc(100% - 20px)!important}
  .tests-hub-head,.bio-tool-hero{border-radius:22px!important}
}
@media(max-width:680px){
  .cart-button.cart-button-floating{
    top:10px!important;right:10px!important;width:44px!important;min-width:44px!important;padding:0!important;
  }
  .cart-button.cart-button-floating .cart-label{display:none!important}
  .tests-hub-shell,.bio-tool-shell{width:calc(100% - 14px)!important}
  .tests-hub-head,.bio-tool-hero{padding:23px 17px!important}
  .tests-hub-head h1,.bio-tool-hero h1{font-size:clamp(1.9rem,10vw,2.65rem)!important}
}

/* === Раздел оплат в кабинете === */
.pay-pane{padding:4px 0 40px}
.pay-pane-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.pay-pane-head h2{margin:0 0 4px;font-size:1.4rem;font-weight:700}
.pay-pane-head p{margin:0;font-size:14px;color:var(--muted,#6b7280)}
.pay-pane-total{text-align:right;background:var(--rd-soft,#f5f3ff);border-radius:12px;padding:12px 18px;min-width:120px}
.pay-pane-total span{display:block;font-size:12px;color:var(--muted,#6b7280);margin-bottom:2px;text-transform:uppercase;letter-spacing:.05em}
.pay-pane-total b{font-size:1.5rem;font-weight:800;color:var(--rd-primary-strong,#6d28d9)}
.pay-list{display:flex;flex-direction:column;gap:10px}
.pay-card{display:flex;align-items:center;gap:16px;background:#fff;border:1.5px solid var(--border,#e5e7eb);border-radius:14px;padding:16px 20px;transition:box-shadow .15s,border-color .15s}
.pay-card:hover{box-shadow:0 4px 18px rgba(124,58,237,.08);border-color:var(--rd-primary,#7c3aed)}
.pay-card-icon{width:44px;height:44px;border-radius:12px;background:var(--rd-soft,#f5f3ff);color:var(--rd-primary,#7c3aed);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}
.pay-card-body{flex:1;min-width:0}
.pay-card-title{font-size:15px;font-weight:600;color:var(--text,#1a1a2e);display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.pay-name-chip{background:var(--rd-soft,#f5f3ff);color:var(--rd-primary,#7c3aed);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:500}
.pay-card-meta{display:flex;gap:14px;flex-wrap:wrap}
.pay-card-date{font-size:13px;color:var(--muted,#6b7280);font-variant-numeric:tabular-nums}
.pay-card-id{font-size:12px;color:var(--muted,#9ca3af);font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}
.pay-card-amount{font-size:1.25rem;font-weight:800;color:var(--rd-primary-strong,#6d28d9);white-space:nowrap;flex-shrink:0}
@media(max-width:540px){
  .pay-card{padding:14px 14px;gap:12px}
  .pay-card-icon{width:38px;height:38px;font-size:1.1rem}
  .pay-card-amount{font-size:1.1rem}
  .pay-card-id{display:none}
}
/* === Auth divider === */
.auth-divider{display:flex;align-items:center;gap:10px;margin:12px 0;color:var(--muted,#9ca3af);font-size:13px}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--border,#e5e7eb)}

/* РеДизайн 6.7 — стабильный личный кабинет */

.account-page {
  --cab-ink: #152a32;
  --cab-muted: #5f7680;
  --cab-line: #d5e6e8;
  --cab-soft: #e9f6f4;
  --cab-primary: #0f7a82;
  --cab-primary-2: #36a899;
  --cab-shadow: 0 16px 40px rgba(18, 88, 96, .09);
  --cab-radius: 22px;
}

/* ── Shared product tabs: readable active state ── */

.result-product-tabs[data-product-tabs] > a.active,
.result-product-tabs[data-product-tabs] > a.active:visited,
.result-product-tabs[data-product-tabs] > a[aria-current="page"] {
  background: linear-gradient(135deg, #0f7a82 0%, #34aa99 100%) !important;
  color: #fff !important;
  opacity: 1 !important;
  box-shadow: 0 14px 30px rgba(15, 122, 130, .24) !important;
}

.result-product-tabs[data-product-tabs] > a.active *,
.result-product-tabs[data-product-tabs] > a[aria-current="page"] * {
  color: #fff !important;
  opacity: 1 !important;
}

.result-product-tabs[data-product-tabs] > a.active span,
.result-product-tabs[data-product-tabs] > a[aria-current="page"] span {
  background: rgba(255, 255, 255, .2) !important;
  color: #fff !important;
}

/* ── Biorhythms readability ── */

.bio-tool-page .bio-result-card {
  min-width: 0;
}

.bio-tool-page .bio-result-card h3,
.bio-tool-page .bio-result-card p,
.bio-tool-page .bio-compat-summary p,
.bio-tool-page .bio-reading-guide p {
  overflow-wrap: anywhere;
}

.bio-reading-text {
  margin: 12px 0 0;
  color: #455f68;
  font-size: .94rem;
  line-height: 1.58;
}

.bio-reading-text b {
  color: #17323a;
}

.bio-reading-hints {
  display: grid;
  gap: 8px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(28, 82, 92, .12);
  color: #536d75;
  font-size: .86rem;
  line-height: 1.45;
}

.bio-reading-hints b {
  color: #17323a;
}

.bio-reading-guide {
  width: min(1080px, 100%);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 18px auto 0;
}

.bio-reading-guide article {
  min-width: 0;
  padding: 22px;
  border: 1px solid rgba(17, 81, 91, .12);
  border-radius: 20px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 14px 34px rgba(18, 88, 96, .07);
}

.bio-reading-guide h2 {
  margin: 0 0 8px;
  color: #17323a;
  font-size: 1rem;
  line-height: 1.2;
}

.bio-reading-guide p {
  margin: 0;
  color: #5f7680;
  line-height: 1.62;
}

/* ── Zodiac anti-overlap fixes ── */

.zodiac-tool-page,
.zodiac-tool-page * {
  box-sizing: border-box;
}

.zodiac-shell,
.zodiac-result,
.zodiac-summary-card,
.zodiac-detail-grid article,
.zodiac-lucky-card,
.zodiac-tips-card,
.zodiac-popular-grid a {
  min-width: 0;
}

.zodiac-result-head {
  align-items: flex-start !important;
  gap: 16px !important;
}

.zodiac-result-head > div:first-child {
  min-width: 0;
}

.zodiac-result-head h2,
.zodiac-result-head p,
.zodiac-summary-card p,
.zodiac-detail-grid p,
.zodiac-tips-card li,
.zodiac-lucky-card b,
.zodiac-lucky-card small,
.zodiac-popular-grid a {
  overflow-wrap: anywhere;
  word-break: normal;
}

.zodiac-score-ring {
  flex: 0 0 92px;
}

.zodiac-detail-grid article,
.zodiac-lucky-card,
.zodiac-summary-card,
.zodiac-tips-card {
  overflow: hidden;
}

.zodiac-detail-grid p,
.zodiac-summary-card p,
.zodiac-tips-card li {
  line-height: 1.62;
}

.zodiac-lucky-card li {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(84px, auto);
  gap: 10px;
  align-items: start !important;
}

.zodiac-lucky-card li b {
  min-width: 0;
  text-align: right;
}

.zodiac-commercial-note,
.natal-page .daily-page-hero {
  margin-top: 18px;
}

.natal-page .result-product-tabs {
  margin-top: 0 !important;
}

.natal-page-hero .daily-sun-orbit small {
  text-transform: uppercase;
  letter-spacing: 0;
}

.reading-flow-mode .reading-chapter-link.active,
.reading-flow-mode .reading-chapter-link.completed {
  border-color: rgba(15, 122, 130, .28) !important;
  background: #eef9f6 !important;
  color: #0f6770 !important;
}

.reading-flow-mode .reading-chapter-link.active > span,
.reading-flow-mode .reading-chapter-link.completed > span {
  background: linear-gradient(135deg, #0f7a82, #36a899) !important;
  color: #fff !important;
}

.reading-flow-mode .reading-inline-pager,
.reading-flow-mode .reading-page-controls,
.reading-flow-mode .reading-page-controls-mobile {
  display: none !important;
}

@media (max-width: 760px) {
  .bio-reading-guide,
  .zodiac-detail-grid,
  .zodiac-lucky-grid {
    grid-template-columns: 1fr !important;
  }

  .zodiac-result-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .zodiac-score-ring {
    width: 82px !important;
    height: 82px !important;
    flex-basis: 82px;
  }
}

@media (max-width: 520px) {
  .zodiac-result-head {
    grid-template-columns: 1fr;
  }

  .zodiac-score-ring {
    justify-self: start;
  }

  .bio-reading-guide article {
    padding: 18px;
  }

  .zodiac-lucky-card li {
    grid-template-columns: 1fr;
  }

  .zodiac-lucky-card li b {
    text-align: left;
  }
}

.account-page,
.account-page * {
  box-sizing: border-box;
}

.account-page {
  overflow-x: clip;
}

.account-page .global-back-button {
  display: none !important;
}

.cart-panel {
  right: 0 !important;
  transform: none !important;
}

.cart-panel:not(.is-open) {
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

.cart-panel.is-open {
  opacity: 1 !important;
  pointer-events: auto !important;
  visibility: visible !important;
}

.account-page .site-header.compact {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(255, 255, 255, .94);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--cab-line, #e6e2f5);
}

.site-header .top-nav {
  gap: 6px !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.site-header .top-nav a {
  box-sizing: border-box;
  min-height: 40px;
  height: 40px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 12px !important;
  border-radius: 12px !important;
  color: #5f7680 !important;
  font-size: .86rem !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

.site-header .top-nav a:hover,
.site-header .top-nav a.active {
  background: var(--cab-soft, #f1eef9) !important;
  color: var(--cab-primary, #5c3be8) !important;
}

.site-header .top-nav a:last-child,
.site-header .top-nav a[href^="my.php"],
.site-header .top-nav a[href^="auth.php"] {
  background: linear-gradient(135deg, var(--cab-primary, #5c3be8), var(--cab-primary-2, #7a5cf0)) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(15, 122, 130, .16);
}

.site-header .top-nav a:last-child:hover,
.site-header .top-nav a[href^="my.php"]:hover,
.site-header .top-nav a[href^="auth.php"]:hover {
  color: #fff !important;
  filter: brightness(1.03);
}

/* «Мои профили» и «Корзина» — одинаковый размер на всех страницах */
.site-header .cart-button {
  box-sizing: border-box !important;
  min-height: 40px !important;
  height: 40px !important;
  min-width: auto !important;
  width: auto !important;
  padding: 0 12px !important;
  border-radius: 12px !important;
  font-size: .86rem !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  gap: 6px !important;
}

.result-product-tabs {
  width: min(1120px, calc(100% - 28px)) !important;
  max-width: 1120px !important;
  margin: 14px auto 22px !important;
  display: grid !important;
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  gap: 8px !important;
  padding: 7px !important;
  border: 1px solid var(--cab-line, #e6e2f5) !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: var(--cab-shadow, 0 16px 40px rgba(40, 24, 110, .09)) !important;
  backdrop-filter: blur(14px);
  position: sticky !important;
  top: 76px !important;
  z-index: 35 !important;
}

.result-shell > .result-product-tabs,
.daily-shell > .result-product-tabs {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 0 !important;
}

.result-product-tabs a {
  min-width: 0 !important;
  min-height: 54px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 10px 12px !important;
  border-radius: 15px !important;
  color: #62777f !important;
  font-size: .82rem !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

.result-product-tabs a span {
  width: 34px !important;
  height: 34px !important;
  display: grid !important;
  place-items: center !important;
  flex: 0 0 34px !important;
  border-radius: 12px !important;
  background: var(--cab-soft, #f1eef9) !important;
  color: var(--cab-primary, #5c3be8) !important;
}

.result-product-tabs a:hover {
  background: #f5fbfa !important;
  color: var(--cab-primary, #5c3be8) !important;
}

.result-product-tabs a.active {
  background: linear-gradient(135deg, var(--cab-primary, #5c3be8), var(--cab-primary-2, #7a5cf0)) !important;
  color: #fff !important;
  box-shadow: 0 14px 28px rgba(15, 122, 130, .18) !important;
}

.result-product-tabs a.active span {
  background: rgba(255, 255, 255, .18) !important;
  color: #fff !important;
}

.account-page .account-shell {
  width: min(1120px, calc(100% - 28px)) !important;
  padding: 24px 0 72px !important;
}

/* ── Hero ── */

.account-page .account-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 20px !important;
  padding: clamp(22px, 3.5vw, 36px) !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 88% 18%, rgba(255,255,255,.16), transparent 28%),
    linear-gradient(128deg, #0d6670, #1d8f88 52%, #4cb9a8) !important;
  box-shadow: var(--cab-shadow, 0 16px 40px rgba(40, 24, 110, .09)) !important;
}

.account-page .account-hero > div {
  min-width: 0;
}

.account-page .account-hero h1 {
  margin: 6px 0 8px !important;
  font-size: clamp(1.65rem, 3.2vw, 2.45rem) !important;
  line-height: 1.08 !important;
}

.account-page .account-hero p {
  margin: 0 !important;
  max-width: 52ch;
  line-height: 1.55 !important;
}

.account-page .account-hero > a {
  align-self: center;
  flex-shrink: 0;
  min-height: 46px;
  padding: 0 20px;
  border-radius: 14px;
  white-space: nowrap;
}

/* ── Подарок CTA ── */

.account-page .cabinet-gift-cta {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto 20px;
  align-items: center;
  gap: 14px;
  margin: 16px 0 12px;
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid rgba(199, 106, 216, .28);
  background: linear-gradient(135deg, #4f35c8 0%, #7d5cf0 46%, #c76ad8 100%);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 14px 36px rgba(79, 53, 200, .22);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.account-page .cabinet-gift-cta:hover {
  transform: translateY(-1px);
  border-color: rgba(255, 255, 255, .42);
  box-shadow: 0 18px 42px rgba(79, 53, 200, .32);
}

.account-page .cabinet-gift-cta-icon {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .16);
  border: 1px solid rgba(255, 255, 255, .22);
  font-size: 1.35rem;
}

.account-page .cabinet-gift-cta-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.account-page .cabinet-gift-cta-copy b {
  font-size: 1.02rem;
  font-weight: 850;
  letter-spacing: -.01em;
}

.account-page .cabinet-gift-cta-copy small {
  font-size: .78rem;
  color: rgba(255, 255, 255, .84);
  line-height: 1.35;
}

.account-page .cabinet-gift-cta-badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .92);
  color: #4f35c8;
  font-size: .88rem;
  font-weight: 900;
  white-space: nowrap;
}

.account-page .cabinet-gift-cta-arrow {
  font-size: 1.1rem;
  font-weight: 800;
  color: rgba(255, 255, 255, .9);
}

.account-page .cabinet-gift-button {
  color: #4f35c8 !important;
  background: rgba(255, 255, 255, .9) !important;
  border-color: rgba(255, 255, 255, .55) !important;
}

/* ── Подарок за покупку (лояльность) ── */

.account-page .cabinet-loyalty-promo {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 14px;
  margin: 16px 0 12px;
  padding: 18px 20px;
  border-radius: 20px;
  border: 1px solid rgba(245, 158, 11, .35);
  background: linear-gradient(135deg, #fff8ef 0%, #fff3d6 42%, #fde8a8 100%);
  color: #5c3d0a;
  box-shadow: 0 12px 32px rgba(245, 158, 11, .15);
}

.account-page .cabinet-loyalty-promo-icon {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(245, 158, 11, .25);
  font-size: 1.35rem;
}

.account-page .cabinet-loyalty-promo-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.account-page .cabinet-loyalty-promo-eyebrow {
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #b45309;
}

.account-page .cabinet-loyalty-promo-copy b {
  font-size: 1.05rem;
  font-weight: 900;
  letter-spacing: -.02em;
  color: #78350f;
}

.account-page .cabinet-loyalty-promo-copy small {
  font-size: .78rem;
  color: #92620a;
  line-height: 1.4;
}

.account-page .cabinet-loyalty-promo-code-wrap {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  min-width: 148px;
}

.account-page .cabinet-loyalty-promo-code {
  display: block;
  padding: 10px 14px;
  border-radius: 12px;
  background: #fff;
  border: 1px dashed rgba(180, 83, 9, .35);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .06em;
  color: #92400e;
  text-align: center;
}

.account-page .cabinet-loyalty-promo-copy-btn {
  padding: 8px 12px;
  border-radius: 10px;
  border: 0;
  background: #b45309;
  color: #fff;
  font-size: .82rem;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s ease;
}

.account-page .cabinet-loyalty-promo-copy-btn:hover {
  background: #92400e;
}

.account-page .cabinet-loyalty-promo-use {
  font-size: .9rem;
  font-weight: 800;
  color: #b45309;
  text-decoration: none;
  white-space: nowrap;
}

.account-page .cabinet-loyalty-promo-use:hover {
  color: #92400e;
}

.account-page .cabinet-loyalty-tiers-wrap {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  max-width: 100%;
}

.account-page .cabinet-loyalty-tiers {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.account-page .cabinet-loyalty-tiers-tip {
  position: relative;
  flex-shrink: 0;
  cursor: help;
}

.account-page .cabinet-loyalty-tiers-tip-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .7);
  border: 1px solid rgba(180, 83, 9, .28);
  color: #b45309;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1;
}

.account-page .cabinet-loyalty-tiers-tip-bubble {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  transform: translateX(-50%) translateY(4px);
  width: min(240px, 72vw);
  padding: 8px 10px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid rgba(180, 83, 9, .22);
  box-shadow: 0 8px 22px rgba(120, 53, 15, .14);
  font-size: .7rem;
  line-height: 1.4;
  color: #78350f;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .15s ease, transform .15s ease, visibility .15s;
  z-index: 20;
}

.account-page .cabinet-loyalty-tiers-tip-bubble::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5px;
  width: 8px;
  height: 8px;
  margin-left: -4px;
  background: #fff;
  border-right: 1px solid rgba(180, 83, 9, .22);
  border-bottom: 1px solid rgba(180, 83, 9, .22);
  transform: rotate(45deg);
}

.account-page .cabinet-loyalty-tiers-tip:hover .cabinet-loyalty-tiers-tip-bubble,
.account-page .cabinet-loyalty-tiers-tip:focus-visible .cabinet-loyalty-tiers-tip-bubble,
.account-page .cabinet-loyalty-tiers-tip:focus-within .cabinet-loyalty-tiers-tip-bubble {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.account-page .cabinet-loyalty-tier {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  min-width: 44px;
  padding: 6px 8px;
  border-radius: 12px;
  background: rgba(255, 255, 255, .55);
  border: 1px solid rgba(180, 83, 9, .18);
  color: #a16207;
}

.account-page .cabinet-loyalty-tier em {
  font-style: normal;
  font-size: .82rem;
  font-weight: 900;
  line-height: 1;
}

.account-page .cabinet-loyalty-tier small {
  font-size: .68rem;
  font-weight: 700;
  margin-top: 2px;
}

.account-page .cabinet-loyalty-tier.is-done {
  background: rgba(255, 255, 255, .82);
  border-color: rgba(21, 128, 61, .25);
  color: #15803d;
}

.account-page .cabinet-loyalty-tier.is-current {
  background: #fff;
  border-color: #b45309;
  box-shadow: 0 0 0 2px rgba(245, 158, 11, .25);
  color: #92400e;
}

.account-page .cabinet-loyalty-tier.is-upcoming {
  opacity: .55;
}

.account-page .cabinet-loyalty-countdown {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .62);
  border: 1px solid rgba(180, 83, 9, .2);
}

.account-page .cabinet-loyalty-countdown-label {
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #b45309;
}

.account-page .cabinet-loyalty-countdown-units {
  display: flex;
  align-items: center;
  gap: 8px;
}

.account-page .cabinet-loyalty-countdown-unit {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  min-width: 52px;
  padding: 6px 8px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(180, 83, 9, .16);
  box-shadow: 0 4px 14px rgba(180, 83, 9, .08);
}

.account-page .cabinet-loyalty-countdown-unit b {
  font-size: 1.15rem;
  font-weight: 900;
  line-height: 1;
  color: #92400e;
  font-variant-numeric: tabular-nums;
}

.account-page .cabinet-loyalty-countdown-unit small {
  margin-top: 3px;
  font-size: .64rem;
  font-weight: 700;
  color: #b45309;
  text-transform: lowercase;
}

.account-page .cabinet-loyalty-countdown-deadline {
  margin-left: auto;
  font-size: .72rem;
  font-weight: 600;
  color: #a16207;
  white-space: nowrap;
}

.account-page .cabinet-loyalty-countdown.is-urgent {
  border-color: rgba(220, 38, 38, .28);
  background: rgba(255, 251, 251, .88);
  animation: loyalty-countdown-pulse 2.4s ease-in-out infinite;
}

.account-page .cabinet-loyalty-countdown.is-urgent .cabinet-loyalty-countdown-unit b {
  color: #b91c1c;
}

@keyframes loyalty-countdown-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0); }
  50% { box-shadow: 0 0 0 4px rgba(220, 38, 38, .08); }
}

/* ── Партнёрская программа CTA ── */

.account-page .cabinet-partner-cta {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto 20px;
  align-items: center;
  gap: 14px;
  margin: 0 0 18px;
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid rgba(16, 185, 129, .28);
  background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 46%, #a7f3d0 100%);
  color: #065f46;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(16, 185, 129, .14);
  transition: transform .15s ease, box-shadow .15s ease;
}

.account-page .cabinet-partner-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 36px rgba(16, 185, 129, .22);
}

.account-page .cabinet-partner-cta-icon {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(16, 185, 129, .22);
  font-size: 1.35rem;
}

.account-page .cabinet-partner-cta-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.account-page .cabinet-partner-cta-copy b {
  font-size: 1.02rem;
  font-weight: 850;
}

.account-page .cabinet-partner-cta-copy small {
  font-size: .78rem;
  color: #047857;
  line-height: 1.35;
}

.account-page .cabinet-partner-cta-badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: #047857;
  color: #fff;
  font-size: .82rem;
  font-weight: 800;
  white-space: nowrap;
}

.account-page .cabinet-partner-cta-arrow {
  font-size: 1.1rem;
  font-weight: 800;
  color: #047857;
}

.account-page .account-tab.has-pending-alert {
  box-shadow: inset 0 0 0 2px rgba(245, 158, 11, .35);
}

.account-page .account-tab .tab-bell {
  margin-left: 4px;
  font-size: .82rem;
  line-height: 1;
  animation: tab-bell-pulse 1.8s ease-in-out infinite;
}

.account-page .account-tab.has-support-alert {
  color: #b91c1c;
  font-weight: 800;
  animation: tab-support-blink 1.15s ease-in-out infinite;
}

.account-page .account-tab.has-support-alert:not(.active) {
  background: rgba(254, 226, 226, .45);
  box-shadow: inset 0 0 0 2px rgba(239, 68, 68, .42);
}

.account-page .account-tab.has-support-alert.active {
  box-shadow: inset 0 0 0 2px rgba(239, 68, 68, .55);
}

.account-page .account-tab.has-support-alert .tab-envelope {
  margin-left: 4px;
  font-size: .82rem;
  line-height: 1;
  color: #dc2626;
  animation: tab-support-icon-blink 1.15s ease-in-out infinite;
}

.account-page .account-tab .tab-envelope {
  margin-left: 4px;
  font-size: .82rem;
  line-height: 1;
}

.account-page .account-tab.has-support-alert .tab-support-count {
  background: #ef4444;
  color: #fff;
  animation: tab-support-badge-blink 1.15s ease-in-out infinite;
}

.account-page .account-tab .tab-support-count {
  background: #ef4444;
  color: #fff;
}

@keyframes tab-bell-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.08); opacity: .82; }
}

@keyframes tab-support-blink {
  0%, 100% {
    background: rgba(254, 226, 226, .35);
    box-shadow: inset 0 0 0 2px rgba(239, 68, 68, .32);
  }
  50% {
    background: rgba(254, 202, 202, .92);
    box-shadow: inset 0 0 0 2px rgba(220, 38, 38, .78);
  }
}

@keyframes tab-support-icon-blink {
  0%, 100% { transform: scale(1); opacity: 1; color: #dc2626; }
  50% { transform: scale(1.14); opacity: .55; color: #b91c1c; }
}

@keyframes tab-support-badge-blink {
  0%, 100% { background: #ef4444; box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
  50% { background: #dc2626; box-shadow: 0 0 0 4px rgba(239, 68, 68, .28); }
}

/* ── Я-Астролог CTA ── */

.account-page .cabinet-astro-cta {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto 20px;
  align-items: center;
  gap: 14px;
  margin: 16px 0 18px;
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid rgba(92, 59, 232, .22);
  background: linear-gradient(135deg, #1a0e3a 0%, #2d1a6e 52%, #3d28a0 100%);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 14px 36px rgba(45, 26, 110, .22);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.account-page .cabinet-astro-cta:hover {
  transform: translateY(-1px);
  border-color: rgba(167, 139, 250, .45);
  box-shadow: 0 18px 42px rgba(45, 26, 110, .3);
}

.account-page .cabinet-astro-cta-icon {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .18);
  font-size: 1.2rem;
}

.account-page .cabinet-astro-cta-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.account-page .cabinet-astro-cta-copy b {
  font-size: 1.02rem;
  font-weight: 850;
  letter-spacing: -.01em;
}

.account-page .cabinet-astro-cta-copy small {
  font-size: .78rem;
  color: rgba(255, 255, 255, .72);
  line-height: 1.35;
}

.account-page .cabinet-astro-cta-badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, #a78bfa, #e879f9);
  color: #1a0e3a;
  font-size: .88rem;
  font-weight: 900;
  white-space: nowrap;
}

.account-page .cabinet-astro-cta-arrow {
  font-size: 1.1rem;
  font-weight: 800;
  color: rgba(255, 255, 255, .85);
}

/* ── Клиенты Я-Астролог в кабинете ── */

.account-page .astro-cabinet-block {
  margin-bottom: 22px;
  padding: 20px;
  border-radius: 22px;
  border: 1px solid rgba(92, 59, 232, .18);
  background: linear-gradient(160deg, #faf8ff 0%, #f3f0ff 100%);
}

.account-page .astro-cabinet-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.account-page .astro-cabinet-title {
  margin: 4px 0 6px;
  font-size: 1.28rem;
  color: #2e2057;
}

.account-page .astro-cabinet-grid {
  display: grid;
  gap: 14px;
}

.account-page .astro-cabinet-card {
  background: #fff;
  border: 1px solid #e8e2f5;
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 8px 24px rgba(38, 40, 73, .05);
}

.account-page .astro-cabinet-card-head {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 10px 12px;
  align-items: start;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f0edf7;
}

.account-page .astro-cabinet-avatar {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #5c3be8, #7c3aed);
  color: #fff;
  font-weight: 900;
}

.account-page .astro-cabinet-card-copy {
  min-width: 0;
}

.account-page .astro-cabinet-card-copy b {
  display: block;
  font-size: 1.02rem;
  margin: 0 0 4px;
  color: #2e2057;
}

.account-page .astro-cabinet-card-copy small {
  display: block;
  color: #7a7396;
  font-size: .8rem;
  line-height: 1.45;
}

.account-page .astro-cabinet-date {
  font-size: .74rem;
  color: #9b93b2;
  white-space: nowrap;
  padding-top: 2px;
}

.account-page .astro-cabinet-note {
  margin: 0 0 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f8f7ff;
  font-size: .84rem;
  color: #555;
}

.account-page .astro-cabinet-services {
  display: grid;
  gap: 8px;
  margin-bottom: 14px;
}

.account-page .astro-cabinet-svc {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 13px;
  border-radius: 12px;
  border: 1px solid #ece7f8;
  background: #fcfbff;
  text-decoration: none;
  color: inherit;
  transition: border-color .15s ease, background .15s ease;
}

.account-page .astro-cabinet-svc:hover {
  border-color: #c4b5fd;
  background: #f5f3ff;
}

.account-page .astro-cabinet-svc-label {
  flex: 1 1 auto;
  min-width: 0;
  font-size: .86rem;
  font-weight: 700;
  line-height: 1.35;
}

.account-page .astro-cabinet-svc-badge {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-height: 24px;
  margin-left: 10px;
  padding: 2px 9px;
  border-radius: 999px;
  font-size: .72rem;
  font-style: normal;
  font-weight: 700;
  color: #5c3be8;
  background: #ede9fe;
  white-space: nowrap;
}

.account-page .astro-cabinet-svc--expired {
  opacity: .68;
}

.account-page .astro-cabinet-svc-badge--expired {
  color: #c62828;
  background: #fce4ec;
}

.account-page .astro-cabinet-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  padding-top: 2px;
}

.account-page .astro-cabinet-actions .primary-button,
.account-page .astro-cabinet-actions .secondary-button {
  min-height: 40px;
  padding: 0 16px;
  font-size: .86rem;
}

.account-page .astro-cabinet-actions .primary-button {
  margin-left: auto;
}

.account-page .astro-cabinet-personal-empty {
  margin: 0 0 18px;
  padding: 12px 14px;
  border-radius: 14px;
  background: #fff;
  border: 1px dashed #ddd6f8;
}

@media (max-width: 640px) {
  .account-page .cabinet-gift-cta,
  .account-page .cabinet-astro-cta,
  .account-page .cabinet-partner-cta {
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 12px;
  }

  .account-page .cabinet-loyalty-promo {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
  }

  .account-page .cabinet-loyalty-promo-code-wrap,
  .account-page .cabinet-loyalty-promo-use {
    grid-column: 1 / -1;
  }

  .account-page .cabinet-loyalty-promo-code-wrap {
    flex-direction: row;
    align-items: center;
    min-width: 0;
  }

  .account-page .cabinet-loyalty-promo-code {
    flex: 1;
    min-width: 0;
  }

  .account-page .cabinet-loyalty-countdown-deadline {
    margin-left: 0;
    width: 100%;
  }

  .account-page .cabinet-gift-cta-arrow,
  .account-page .cabinet-astro-cta-arrow,
  .account-page .cabinet-partner-cta-arrow {
    display: none;
  }

  .account-page .astro-cabinet-head {
    flex-direction: column;
  }

  .account-page .astro-cabinet-card-head {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .account-page .astro-cabinet-date {
    grid-column: 2;
    justify-self: start;
    padding-top: 0;
  }

  .account-page .astro-cabinet-actions {
    width: 100%;
  }

  .account-page .astro-cabinet-actions .secondary-button,
  .account-page .astro-cabinet-actions .primary-button {
    flex: 1 1 calc(50% - 5px);
    margin-left: 0;
    justify-content: center;
  }
}

/* ── Overview cards ── */

.account-page .cabinet-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0 18px;
}

.account-page .cabinet-overview > a {
  min-width: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 10px;
  padding: 14px 14px 14px 12px;
  border: 1px solid var(--cab-line, #e6e2f5);
  border-radius: 18px;
  background: #fff;
  color: var(--cab-ink, #1d1e34);
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(18, 88, 96, .06);
  transition: border-color .15s, box-shadow .15s, transform .15s;
}

.account-page .cabinet-overview > a:hover,
.account-page .cabinet-overview > a.is-active {
  border-color: rgba(15, 122, 130, .35);
  box-shadow: 0 12px 28px rgba(18, 88, 96, .11);
  transform: translateY(-1px);
}

.account-page .cabinet-overview > a.is-active {
  background: linear-gradient(145deg, #fff, var(--cab-soft, #f1eef9));
}

.account-page .cabinet-overview > a > span {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: var(--cab-soft, #f1eef9);
  color: var(--cab-primary, #5c3be8);
  font-size: 1.05rem;
}

.account-page .cabinet-overview b {
  font-size: .95rem;
}

.account-page .cabinet-overview small {
  font-size: .7rem;
  color: var(--cab-muted, #62777f);
}

.account-page .cabinet-overview i {
  color: var(--cab-primary, #5c3be8);
  font-size: .9rem;
}

/* ── Tabs ── */

.account-page .account-tabs {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  margin: 0 0 20px !important;
  padding: 6px !important;
  border: 1px solid var(--cab-line, #e6e2f5) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .92) !important;
  box-shadow: var(--cab-shadow, 0 16px 40px rgba(40, 24, 110, .09)) !important;
  position: sticky !important;
  top: 62px;
  z-index: 30;
}

.account-page .account-tabs::-webkit-scrollbar {
  display: none;
}

.account-page .account-tab {
  flex: 0 0 auto;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  min-height: 42px !important;
  padding: 9px 16px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: var(--cab-muted, #62777f) !important;
  font-size: .88rem !important;
  font-weight: 750 !important;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: none !important;
}

.account-page .account-tab:hover {
  background: var(--cab-soft, #f1eef9) !important;
  color: var(--cab-primary, #5c3be8) !important;
}

.account-page .account-tab.active {
  background: linear-gradient(135deg, var(--cab-primary, #5c3be8), var(--cab-primary-2, #7a5cf0)) !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(15, 122, 130, .22) !important;
}

.account-page .account-tab em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: rgba(15, 122, 130, .14) !important;
  color: var(--cab-primary, #5c3be8) !important;
  font-size: .65rem !important;
  font-style: normal;
}

.account-page .account-tab.active em {
  background: rgba(255, 255, 255, .22) !important;
  color: #fff !important;
}

/* ── Content area ── */

.account-page .account-content {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.account-page .account-pane {
  min-width: 0;
}

/* ── Person card ── */

.account-page .person-group {
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: 1px solid var(--cab-line, #e6e2f5) !important;
  border-radius: var(--cab-radius, 22px) !important;
  background: #fff !important;
  box-shadow: var(--cab-shadow, 0 16px 40px rgba(40, 24, 110, .09)) !important;
  overflow: hidden !important;
}

.account-page .person-group.is-primary {
  border-color: rgba(15, 122, 130, .28) !important;
  background: #fff !important;
}

.account-page .person-group.is-primary::before {
  content: "";
  display: block;
  height: 4px;
  background: linear-gradient(90deg, var(--cab-primary, #5c3be8), var(--cab-primary-2, #7a5cf0));
}

.account-page .person-group-head {
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) !important;
  grid-template-areas:
    "badge copy"
    "actions actions";
  gap: 14px 16px !important;
  padding: 20px 20px 16px !important;
  align-items: start !important;
  background: linear-gradient(160deg, #fff 0%, #f4fbfb 100%) !important;
}

.account-page .person-badge {
  grid-area: badge;
  width: 58px !important;
  height: 58px !important;
  border-radius: 17px !important;
  font-size: 1.35rem !important;
  background: linear-gradient(135deg, var(--cab-primary, #5c3be8), var(--cab-primary-2, #7a5cf0)) !important;
  box-shadow: 0 8px 18px rgba(15, 122, 130, .2) !important;
}

.account-page .person-group-copy {
  grid-area: copy;
  min-width: 0;
}

.account-page .person-group-head h2 {
  margin: 3px 0 6px !important;
  font-size: clamp(1.2rem, 2.2vw, 1.55rem) !important;
  line-height: 1.15 !important;
  overflow-wrap: anywhere;
}

.account-page .person-group-head .muted {
  margin: 0 !important;
  font-size: .84rem !important;
  line-height: 1.45 !important;
}

.account-page .purchase-actions {
  grid-area: actions;
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0 !important;
  padding-top: 4px;
}

.account-page .purchase-actions .primary-button,
.account-page .purchase-actions .secondary-button {
  min-height: 44px;
  flex: 1 1 180px;
  justify-content: center;
}

.account-page .purchase-actions .archive-form {
  margin: 0;
}

.account-page .purchase-actions .archive-button {
  min-height: 44px;
  padding: 0 14px;
}

.account-page .reading-quick-link {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 14px;
  margin: 0 16px 16px;
  padding: 16px 18px;
  border: 1px solid rgba(15, 122, 130, .2);
  border-radius: 16px;
  background: linear-gradient(135deg, #f0faf9, #e4f5f2);
  text-decoration: none;
  color: var(--cab-ink, #1d1e34);
  transition: box-shadow .15s, transform .15s;
}

.account-page .reading-quick-link:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(18, 88, 96, .12);
}

.account-page .reading-quick-icon {
  width: 44px;
  height: 44px;
  border-radius: 13px;
  font-size: 1.1rem;
}

.account-page .reading-quick-link b {
  font-size: .95rem;
}

.account-page .reading-quick-link small {
  font-size: .76rem;
  line-height: 1.4;
}

.account-page .purchase-actions .cabinet-demo-reading {
  border-color: rgba(118, 87, 255, .22);
  color: #5b46c8;
  background: linear-gradient(135deg, #faf7ff, #fff);
}

.account-page .purchase-actions .cabinet-demo-reading:hover {
  border-color: rgba(118, 87, 255, .36);
  background: #f3edff;
}

.account-page .reading-quick-link--demo {
  border-color: rgba(118, 87, 255, .18);
  background: linear-gradient(135deg, #faf8ff, #fff9f0);
}

.account-page .reading-quick-link--demo:hover {
  box-shadow: 0 10px 24px rgba(86, 63, 209, .1);
}

.account-page .reading-quick-link--demo .reading-quick-icon {
  background: linear-gradient(135deg, #eee9ff, #fff4e8);
  color: #6b52d8;
}

/* ── Sub-sections & mini cards ── */

.account-page .sub-section {
  margin: 0 !important;
  padding: 16px 20px !important;
  border-top: 1px solid var(--cab-line, #e6e2f5) !important;
  background: #fbfdfd;
}

.account-page .sub-title {
  margin: 0 0 12px !important;
  color: var(--cab-ink, #1d1e34) !important;
  font-size: .88rem !important;
}

.account-page .sub-title span {
  background: var(--cab-soft, #f1eef9) !important;
  color: var(--cab-primary, #5c3be8) !important;
}

.account-page .sub-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)) !important;
  gap: 12px !important;
}

.account-page .mini-reading {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  grid-template-areas:
    "icon body"
    "actions actions";
  gap: 10px 12px !important;
  align-items: start !important;
  min-width: 0 !important;
  padding: 14px !important;
  border: 1px solid var(--cab-line, #e6e2f5) !important;
  border-radius: 14px !important;
  background: #fff !important;
}

.account-page .mini-reading.pending {
  background: #fffaf3 !important;
  border-color: #f2ddb8 !important;
}

.account-page .mini-ic {
  grid-area: icon;
  width: 38px !important;
  height: 38px !important;
  border-radius: 11px !important;
  background: var(--cab-soft, #f1eef9) !important;
  color: var(--cab-primary, #5c3be8) !important;
}

.account-page .mini-reading > div:nth-child(2) {
  grid-area: body;
  min-width: 0;
}

.account-page .mini-reading b {
  font-size: .9rem !important;
  color: var(--cab-ink, #1d1e34) !important;
  overflow-wrap: anywhere;
}

.account-page .mini-reading small {
  font-size: .72rem !important;
  color: var(--cab-muted, #62777f) !important;
  line-height: 1.35;
}

.account-page .mini-actions {
  grid-area: actions;
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px;
  width: 100%;
  min-width: 0;
}

.account-page .mini-actions a,
.account-page .mini-actions button {
  min-height: 36px;
  flex: 1 1 120px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px !important;
  border-radius: 10px !important;
  font-size: .78rem !important;
  color: var(--cab-primary, #5c3be8) !important;
  background: var(--cab-soft, #f1eef9) !important;
  border: 1px solid rgba(15, 122, 130, .15) !important;
}

.account-page .mini-actions .archive-form {
  flex: 1 1 120px;
  display: flex;
  margin: 0;
}

.account-page .mini-actions .archive-form .archive-button {
  width: 100%;
}

.account-page .person-group-foot {
  padding: 14px 20px 18px !important;
  border-top: 1px solid var(--cab-line, #e6e2f5) !important;
  background: #fff;
}

.account-page .person-group-foot .text-button {
  color: var(--cab-primary, #5c3be8) !important;
  font-weight: 750;
}

/* ── Mini modules block ── */

.account-page .account-mini-modules {
  margin-top: 8px !important;
  padding: 20px !important;
  border: 1px solid var(--cab-line, #e6e2f5) !important;
  border-radius: var(--cab-radius, 22px) !important;
  background: #fff !important;
  box-shadow: var(--cab-shadow, 0 16px 40px rgba(40, 24, 110, .09)) !important;
}

/* ── Daily cards ── */

.account-page .daily-cabinet-card,
.account-page .mv-cabinet-card {
  margin: 0 0 12px !important;
  padding: 20px !important;
  border-radius: var(--cab-radius, 22px) !important;
  box-shadow: var(--cab-shadow, 0 16px 40px rgba(40, 24, 110, .09)) !important;
}

.account-page .daily-cabinet-card {
  background: linear-gradient(140deg, #0f4f58, #167f80 55%, #2ea896) !important;
}

.account-page .mv-cabinet-card {
  background: linear-gradient(140deg, #18142e, #5c3be8 52%, #23a99b) !important;
  color: #fff;
}

.account-page .mv-cabinet-card .block-label,
.account-page .mv-cabinet-card h3,
.account-page .mv-cabinet-card .muted {
  color: rgba(255, 255, 255, .92) !important;
}

.account-page .mv-cabinet-card .muted {
  opacity: .82;
}

.account-page .mv-cabinet-card .cabinet-history small {
  color: rgba(255, 255, 255, .72);
}

.account-page .mv-cabinet-card .cabinet-history a {
  background: rgba(255, 255, 255, .14);
  border-color: rgba(255, 255, 255, .22);
  color: #fff;
}

.account-page .mv-cabinet-card .cabinet-history a:hover {
  background: rgba(255, 255, 255, .24);
  border-color: rgba(255, 255, 255, .34);
}

.account-page .mv-cabinet-card .subscription-chip.mv-access-chip--expired {
  background: rgba(255, 241, 240, .95) !important;
}

/* ── Multiverse cabinet checkout ── */

.account-page .mv-cabinet-shell {
  display: grid;
  gap: 18px;
}

.account-page .mv-cabinet-hero {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 22px 22px 20px;
  border-radius: 24px;
  background: linear-gradient(135deg, #f7f4ff, #eefbf8 58%, #fff);
  border: 1px solid #e5dfef;
  box-shadow: 0 18px 48px rgba(48, 37, 105, .08);
}

.account-page .mv-cabinet-hero-icon {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #5c3be8, #23a99b);
  color: #fff;
  font-size: 1.45rem;
  box-shadow: 0 12px 28px rgba(92, 59, 232, .24);
}

.account-page .mv-cabinet-hero h2 {
  margin: 6px 0 8px;
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  line-height: 1.15;
  color: #1f2633;
}

.account-page .mv-cabinet-hero p {
  margin: 0;
  color: #6b657a;
  line-height: 1.6;
}

.account-page .mv-section {
  display: grid;
  gap: 12px;
}

.account-page .mv-section-head,
.account-page .mv-checkout-head {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.account-page .mv-section-head-icon,
.account-page .mv-checkout-head-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-size: 1.1rem;
  line-height: 1;
}

.account-page .mv-section-head-icon {
  background: #e8fbf5;
  color: #0f6b5c;
}

.account-page .mv-checkout-head-icon {
  background: linear-gradient(135deg, #efeaff, #e8fbf5);
  color: #5c3be8;
  box-shadow: 0 8px 20px rgba(92, 59, 232, .12);
}

.account-page .mv-section-title,
.account-page .mv-checkout-title {
  margin: 4px 0 0;
  font-size: 1.08rem;
  font-weight: 900;
  color: #1f2633;
  line-height: 1.2;
}

.account-page .mv-section-lead,
.account-page .mv-checkout-lead {
  margin: 6px 0 0;
  color: #6b657a;
  font-size: .88rem;
  line-height: 1.5;
  max-width: 62ch;
}

/* ── Multiverse subscriptions panel ── */

.account-page .mv-subscriptions {
  display: grid;
  gap: 0;
  border: 1px solid #e5dfef;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(48, 37, 105, .07);
  overflow: hidden;
}

.account-page .mv-subscriptions-head {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 20px 20px 18px;
  background: linear-gradient(135deg, #f4fffb 0%, #faf8ff 100%);
  border-bottom: 1px solid #ebe4f4;
}

.account-page .mv-subscriptions-head-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-size: 1.1rem;
  line-height: 1;
  background: #e8fbf5;
  color: #0f6b5c;
}

.account-page .mv-subscriptions-title {
  margin: 4px 0 0;
  font-size: 1.08rem;
  font-weight: 900;
  color: #1f2633;
  line-height: 1.2;
}

.account-page .mv-subscriptions-lead {
  margin: 6px 0 0;
  color: #6b657a;
  font-size: .88rem;
  line-height: 1.5;
  max-width: 62ch;
}

.account-page .mv-subscriptions-list {
  display: grid;
  gap: 0;
}

.account-page .mv-subscription-row {
  display: grid;
  gap: 18px;
  padding: 20px;
  border-bottom: 1px solid #f0ebf6;
  background: linear-gradient(180deg, #fff 0%, #fcfcff 100%);
}

.account-page .mv-subscription-row:last-child {
  border-bottom: 0;
}

.account-page .mv-subscription-row.is-active {
  background: linear-gradient(135deg, #f8fffd 0%, #fff 58%);
}

.account-page .mv-subscription-row.is-expired {
  background: linear-gradient(135deg, #fffafa 0%, #fff 58%);
}

.account-page .mv-subscription-top {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.account-page .mv-subscription-avatar {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  font-size: 1.1rem;
  font-weight: 900;
  color: #fff;
  background: linear-gradient(135deg, #5c3be8, #23a99b);
  box-shadow: 0 10px 24px rgba(92, 59, 232, .18);
}

.account-page .mv-subscription-row.is-expired .mv-subscription-avatar {
  background: linear-gradient(135deg, #c9c3d8, #a8a0bc);
  box-shadow: none;
}

.account-page .mv-subscription-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.account-page .mv-subscription-copy b {
  font-size: 1rem;
  font-weight: 850;
  color: #1f2633;
  line-height: 1.2;
}

.account-page .mv-subscription-copy small {
  color: #6b657a;
  font-size: .82rem;
  line-height: 1.35;
}

.account-page .mv-subscriptions .subscription-chip {
  margin-left: 0;
  min-width: 118px;
  padding: 8px 12px;
  border-radius: 14px;
  background: #eaf9f5 !important;
  border: 1px solid #bfe8df;
  box-shadow: 0 6px 18px rgba(22, 139, 118, .1);
}

.account-page .mv-subscriptions .subscription-chip small {
  color: #5f8a80 !important;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .02em;
}

.account-page .mv-subscriptions .subscription-chip b {
  color: #0f6b5c !important;
  font-size: .92rem;
  font-weight: 900;
}

.account-page .mv-subscriptions .subscription-chip.mv-access-chip--expired {
  background: #fff1f0 !important;
  border-color: #f3c4c0;
  box-shadow: 0 6px 18px rgba(180, 58, 48, .08);
}

.account-page .mv-subscriptions .subscription-chip.mv-access-chip--expired small {
  color: #9a5a55 !important;
}

.account-page .mv-subscriptions .subscription-chip.mv-access-chip--expired b {
  color: #b42318 !important;
}

.account-page .mv-subscriptions .subscription-chip.mv-access-chip--pending,
.account-page .subscription-chip.mv-access-chip.mv-access-chip--pending {
  background: #fff8e8 !important;
  border-color: #f0d48a;
  box-shadow: 0 6px 18px rgba(180, 130, 20, .08);
}

.account-page .mv-subscriptions .subscription-chip.mv-access-chip--pending small,
.account-page .subscription-chip.mv-access-chip.mv-access-chip--pending small {
  color: #9a7a2f !important;
}

.account-page .mv-subscriptions .subscription-chip.mv-access-chip--pending b,
.account-page .subscription-chip.mv-access-chip.mv-access-chip--pending b {
  color: #9a6700 !important;
}

.account-page .mv-subscription-row.is-pending {
  border-color: #f0d48a;
  background: linear-gradient(180deg, #fffdf6 0%, #fff 100%);
}

.account-page .mv-subscription-pending-note {
  margin: 0 0 0 60px;
  color: #6b657a;
  font-size: .92rem;
  line-height: 1.55;
}

.account-page .mv-subscription-services {
  display: grid;
  gap: 8px;
  padding-left: 60px;
}

.account-page .mv-subscription-services small {
  color: #8a8496;
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.account-page .mv-subscription-service-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.account-page .mv-subscription-service-links a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid #e5dfef;
  background: #fff;
  color: #4a4560;
  font-size: .8rem;
  font-weight: 700;
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.account-page .mv-subscription-service-links a:hover {
  background: #f4f0ff;
  border-color: #d8cff5;
  color: #5c3be8;
}

.account-page .mv-subscription-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-left: 60px;
  row-gap: 14px;
}

.account-page .mv-subscription-actions .primary-button,
.account-page .mv-subscription-actions .secondary-button {
  min-height: 42px;
}

.account-page .mv-renew-wrap {
  display: grid;
  gap: 10px;
  flex: 1 1 100%;
  min-width: 0;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid #ddd6f0;
  background: linear-gradient(135deg, #f9f7ff, #faf8ff);
  box-shadow: 0 2px 8px rgba(92, 59, 232, .06);
}

.account-page .mv-renew-pick {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.account-page .mv-renew-label {
  color: #8a8496;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.account-page .mv-duration-grid--renew {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.account-page .mv-duration-grid--renew .mv-duration-option-body {
  min-height: 72px;
  padding: 8px 10px;
}

.account-page .mv-duration-grid--renew .mv-duration-option-body b {
  font-size: .82rem;
}

.account-page .mv-duration-grid--renew .mv-duration-badges {
  margin-top: 2px;
}

.account-page .mv-renew-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.account-page .mv-renew-price-panel {
  flex: 1 1 auto;
  min-width: 0;
}

.account-page .mv-renew-foot .secondary-button {
  flex: 0 0 auto;
  white-space: nowrap;
}

.account-page .mv-duration-select {
  flex: 1 1 180px;
  min-width: 0;
  min-height: 42px;
  border: 1px solid #e5dfef;
  border-radius: 14px;
  padding: 0 12px;
  background: #fff;
  color: #1f2633;
  font: inherit;
  font-size: .84rem;
  font-weight: 700;
}

.account-page .mv-duration-pick {
  display: grid;
  gap: 10px;
}

.account-page .mv-duration-label {
  color: #8a8496;
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.account-page .mv-duration-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.account-page .mv-duration-option {
  position: relative;
  cursor: pointer;
}

.account-page .mv-duration-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.account-page .mv-duration-option-body {
  display: grid;
  gap: 2px;
  min-height: 58px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid #e5dfef;
  background: #fff;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}

.account-page .mv-duration-option-body b {
  font-size: .88rem;
  color: #1f2633;
  line-height: 1.2;
}

.account-page .mv-duration-option-body small {
  color: #6b657a;
  font-size: .8rem;
  font-weight: 750;
}

.account-page .mv-duration-option input:checked + .mv-duration-option-body {
  border-color: #b8a6ff;
  background: linear-gradient(135deg, #faf7ff, #f4fffb);
  box-shadow: 0 10px 24px rgba(92, 59, 232, .1);
}

.account-page .mv-duration-option input:focus-visible + .mv-duration-option-body {
  outline: 2px solid #5c3be8;
  outline-offset: 2px;
}

.account-page .mv-checkout {
  display: grid;
  gap: 0;
  border: 1px solid #e5dfef;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(48, 37, 105, .07);
  overflow: hidden;
}

.account-page .mv-checkout-head {
  padding: 20px 20px 18px;
  background: linear-gradient(135deg, #faf8ff 0%, #f4fffb 100%);
  border-bottom: 1px solid #ebe4f4;
}

.account-page .mv-checkout-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  background: linear-gradient(180deg, #fcfcff 0%, #fff 100%);
}

.account-page .mv-checkout-body .mv-plan-card--trial {
  order: 1;
}

.account-page .mv-checkout-body .mv-plan-card--monthly {
  order: 2;
}

.account-page .mv-checkout-body .mv-plan-card {
  box-shadow: none;
}

.account-page .mv-plan-card {
  padding: 20px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid #e8e2f0;
  box-shadow: 0 16px 42px rgba(35, 28, 76, .06);
}

.account-page .mv-plan-trial {
  background: linear-gradient(180deg, #fff, #faf7ff);
  border-color: #ddd2ff;
  padding: 0;
  overflow: hidden;
}

.account-page .mv-plan-monthly {
  background: linear-gradient(180deg, #fff, #f4fffb);
  border-color: #cfece4;
}

.account-page .mv-plan-card--open {
  padding: 20px;
}

.account-page .mv-accordion-toggle {
  width: 100%;
  margin: 0;
  padding: 18px 20px;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  font: inherit;
  color: inherit;
}

.account-page .mv-accordion-toggle:hover {
  background: rgba(92, 59, 232, .04);
}

.account-page .mv-accordion-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 28px;
  gap: 14px;
  align-items: center;
}

.account-page .mv-accordion-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.account-page .mv-accordion-title {
  display: block;
  margin-top: 6px;
  font-size: 1.15rem;
  font-weight: 850;
  color: #1f2633;
  line-height: 1.2;
}

.account-page .mv-accordion-lead {
  display: block;
  color: #6b657a;
  font-size: .88rem;
  line-height: 1.45;
}

.account-page .mv-accordion-chevron {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #efeaff;
  color: #5c3be8;
  position: relative;
  transition: transform .2s ease, background .2s ease;
}

.account-page .mv-accordion-chevron::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translate(-50%, -65%) rotate(45deg);
  transition: transform .2s ease;
}

.account-page .mv-accordion.is-open .mv-accordion-chevron::before {
  transform: translate(-50%, -35%) rotate(-135deg);
}

.account-page .mv-accordion-panel {
  padding: 0 20px 20px;
  border-top: 1px solid rgba(92, 59, 232, .1);
}

.account-page .mv-accordion-detail {
  margin: 16px 0 14px;
  color: #6b657a;
  line-height: 1.55;
  font-size: .92rem;
}

.account-page .mv-plan-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
  margin-bottom: 16px;
}

.account-page .mv-plan-head h4 {
  margin: 8px 0 6px;
  font-size: 1.15rem;
  color: #1f2633;
}

.account-page .mv-plan-head p {
  margin: 0;
  color: #6b657a;
  line-height: 1.55;
  font-size: .92rem;
}

.account-page .mv-plan-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: #efeaff;
  color: #5c3be8;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.account-page .mv-plan-badge--monthly {
  background: #e8fbf5;
  color: #0f6b5c;
}

.account-page .mv-plan-price {
  text-align: right;
  white-space: nowrap;
}

.account-page .mv-plan-price strong {
  display: block;
  font-size: 1.45rem;
  line-height: 1;
  color: #18142e;
}

.account-page .mv-plan-price small {
  display: block;
  margin-top: 4px;
  color: #6b657a;
  font-size: .74rem;
}

.account-page .mv-plan-note {
  padding: 14px 16px;
  border-radius: 16px;
  background: #f8f7fb;
  border: 1px solid #e8e2f0;
  color: #6b657a;
  line-height: 1.55;
  font-size: .9rem;
}

.account-page .mv-plan-note--used {
  background: #fff8ef;
  border-color: #f2dfbf;
  color: #7a5d2d;
}

.account-page .mv-profile-pick {
  display: grid;
  gap: 10px;
}

.account-page .mv-profile-pick-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-bottom: 2px;
}

.account-page .mv-profile-option {
  display: block;
  cursor: pointer;
}

.account-page .mv-profile-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.account-page .mv-profile-option-body {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 22px;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1.5px solid #e8e2f0;
  background: #fff;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.account-page .mv-profile-option:hover .mv-profile-option-body {
  border-color: #cfc2ef;
  box-shadow: 0 10px 24px rgba(92, 59, 232, .08);
}

.account-page .mv-profile-option input:checked + .mv-profile-option-body {
  border-color: #5c3be8;
  background: linear-gradient(135deg, #faf7ff, #fff);
  box-shadow: 0 12px 28px rgba(92, 59, 232, .12);
}

.account-page .mv-plan-monthly .mv-profile-option input:checked + .mv-profile-option-body {
  border-color: #23a99b;
  background: linear-gradient(135deg, #f4fffb, #fff);
  box-shadow: 0 12px 28px rgba(35, 169, 155, .12);
}

.account-page .mv-profile-avatar {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: #efeaff;
  color: #5c3be8;
  font-weight: 900;
  font-size: 1rem;
}

.account-page .mv-profile-copy b {
  display: block;
  color: #1f2633;
  font-size: .96rem;
}

.account-page .mv-profile-copy small {
  display: block;
  margin-top: 2px;
  color: #6b657a;
  line-height: 1.4;
}

.account-page .mv-profile-mark {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 2px solid #d5cee8;
  background: #fff;
  position: relative;
}

.account-page .mv-profile-pick--radio .mv-profile-mark {
  border-radius: 999px;
}

.account-page .mv-profile-pick--check .mv-profile-mark {
  border-radius: 7px;
}

.account-page .mv-profile-option input:checked + .mv-profile-option-body .mv-profile-mark {
  border-color: #5c3be8;
  background: #5c3be8;
}

.account-page .mv-plan-monthly .mv-profile-option input:checked + .mv-profile-option-body .mv-profile-mark {
  border-color: #23a99b;
  background: #23a99b;
}

.account-page .mv-profile-pick--radio .mv-profile-option input:checked + .mv-profile-option-body .mv-profile-mark::after {
  content: '';
  position: absolute;
  inset: 5px;
  border-radius: 999px;
  background: #fff;
}

.account-page .mv-profile-pick--check .mv-profile-option input:checked + .mv-profile-option-body .mv-profile-mark::after {
  content: '✓';
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: .78rem;
  font-weight: 900;
}

.account-page .mv-plan-actions,
.account-page .mv-checkout-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(0, 0, 0, .06);
}

.account-page .mv-checkout-total {
  display: grid;
  gap: 2px;
}

.account-page .mv-checkout-total small {
  color: #6b657a;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.account-page .mv-checkout-total b {
  font-size: 1.35rem;
  color: #18142e;
}

.account-page .mv-checkout-total span {
  color: #6b657a;
  font-size: .82rem;
}

.account-page .mv-plan-actions .primary-button,
.account-page .mv-checkout-foot .primary-button {
  min-height: 46px;
  min-width: 220px;
}

@media (max-width: 640px) {
  .account-page .mv-cabinet-hero,
  .account-page .mv-plan-head,
  .account-page .mv-accordion-summary,
  .account-page .mv-subscription-top {
    grid-template-columns: 1fr;
  }

  .account-page .mv-subscriptions .subscription-chip {
    justify-self: start;
  }

  .account-page .mv-subscription-services,
  .account-page .mv-subscription-actions {
    padding-left: 0;
  }

  .account-page .mv-subscription-actions .primary-button,
  .account-page .mv-subscription-actions .secondary-button,
  .account-page .mv-renew-wrap,
  .account-page .mv-duration-select {
    flex: 1 1 100%;
  }

  .account-page .mv-duration-grid,
  .account-page .mv-duration-grid--renew {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .account-page .mv-plan-price,
  .account-page .mv-accordion-summary .mv-plan-price {
    text-align: left;
  }

  .account-page .mv-accordion-chevron {
    justify-self: start;
  }

  .account-page .mv-plan-actions .primary-button,
  .account-page .mv-checkout-foot .primary-button {
    width: 100%;
    min-width: 0;
  }

  .account-page .mv-checkout-foot {
    align-items: stretch;
  }
}

.account-page .daily-cab-head {
  flex-wrap: wrap;
  gap: 10px;
}

.account-page .subscription-chip {
  margin-left: auto;
  display: grid;
  gap: 1px;
  width: auto !important;
  min-width: 132px;
  height: auto !important;
  padding: 7px 11px;
  border-radius: 12px;
  background: rgba(255, 255, 255, .16);
  line-height: 1.1;
  text-align: center;
  place-items: center;
  flex: 0 0 auto;
}

.account-page .subscription-chip small {
  color: rgba(255, 255, 255, .68);
  font-size: .62rem;
  font-weight: 700;
}

.account-page .subscription-chip b {
  color: #fff;
  font-size: .8rem;
  font-weight: 850;
  white-space: nowrap;
}

/* Все сервисы в «Мои профили» — светлая карточка, не тёмный daily-cabinet */
.account-page .person-group-head .subscription-chip.mv-access-chip {
  margin-left: 0;
  margin-top: 0;
  min-width: 118px;
  padding: 8px 12px;
  border-radius: 14px;
  background: #eaf9f5 !important;
  border: 1px solid #bfe8df;
  box-shadow: 0 6px 18px rgba(22, 139, 118, .1);
}

.account-page .person-group-head .subscription-chip.mv-access-chip small {
  color: #5f8a80 !important;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .02em;
}

.account-page .person-group-head .subscription-chip.mv-access-chip b {
  color: #0f6b5c !important;
  font-size: .92rem;
  font-weight: 900;
}

.account-page .subscription-chip.mv-access-chip.mv-access-chip--expired {
  background: #fff1f0 !important;
  border-color: #f3c4c0;
  box-shadow: 0 6px 18px rgba(180, 58, 48, .08);
}

.account-page .subscription-chip.mv-access-chip.mv-access-chip--expired small {
  color: #9a5a55 !important;
}

.account-page .subscription-chip.mv-access-chip.mv-access-chip--expired b {
  color: #b42318 !important;
}

.account-page .reading-quick-link--expired {
  border-color: rgba(180, 58, 48, .16);
  background: linear-gradient(135deg, #fff8f7, #fff);
}

.account-page .cabinet-history {
  margin-top: 12px;
}

.account-page .cabinet-history div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}

.account-page .cabinet-history a {
  padding: 6px 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .14);
  color: #fff !important;
  text-decoration: none;
  font-size: .8rem;
}

.account-page .daily-cab-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.account-page .daily-cab-actions .primary-button {
  min-height: 44px;
}

/* ── Archive ── */

.account-page .archive-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  padding: 20px;
  border: 1px solid var(--cab-line, #e6e2f5);
  border-radius: var(--cab-radius, 22px);
  background: #fff;
  box-shadow: var(--cab-shadow, 0 16px 40px rgba(40, 24, 110, .09));
  margin-bottom: 12px;
}

.account-page .archive-list {
  display: grid;
  gap: 10px;
}

.account-page .archive-row {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--cab-line, #e6e2f5);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(18, 88, 96, .05);
}

.account-page .archive-row > div {
  min-width: 0;
}

.account-page .archive-row b {
  overflow-wrap: anywhere;
}

/* ── Profile grid ── */

.account-page .account-grid-side {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.account-page .side-card {
  min-width: 0;
  height: 100%;
  padding: 20px !important;
  border: 1px solid var(--cab-line, #e6e2f5) !important;
  border-radius: var(--cab-radius, 22px) !important;
  background: #fff !important;
  box-shadow: var(--cab-shadow, 0 16px 40px rgba(40, 24, 110, .09)) !important;
}

.account-page .side-card h3 {
  margin: 8px 0 10px;
  font-size: 1.05rem;
  color: var(--cab-ink, #1d1e34);
}

.account-page .side-card.colorful {
  background: linear-gradient(145deg, #fff, #f2faf8) !important;
}

.account-page .mini-form {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.account-page .mini-form input {
  width: 100%;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--cab-line, #e6e2f5);
  border-radius: 12px;
  font-size: 1rem;
}

.account-page .device-row {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--cab-line, #e6e2f5);
}

.account-page .device-row:last-child {
  border-bottom: 0;
}

/* ── Empty & notices ── */

.account-page .empty-state.soft {
  padding: 32px 22px !important;
  border: 1px dashed var(--cab-line, #e6e2f5) !important;
  border-radius: var(--cab-radius, 22px) !important;
  background: #fff !important;
  color: var(--cab-ink, #1d1e34) !important;
}

.account-page .empty-state.soft h3 {
  color: var(--cab-ink, #1d1e34) !important;
}

.account-page .ok-bar,
.account-page .notice {
  margin-bottom: 14px;
  border-radius: 14px;
}

/* ── Desktop wide ── */

@media (min-width: 900px) {
  .account-page .reading-quick-link {
    display: none;
  }

  .account-page .person-group-head {
    grid-template-columns: 58px minmax(0, 1fr) auto !important;
    grid-template-areas: "badge copy actions" !important;
    align-items: center !important;
  }

  .account-page .purchase-actions {
    flex: 0 0 auto;
    width: auto;
    padding-top: 0;
    justify-content: flex-end;
  }

  .account-page .purchase-actions .primary-button,
  .account-page .purchase-actions .secondary-button {
    flex: 0 1 auto;
    min-width: 170px;
  }

  .account-page .mini-reading {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    grid-template-areas:
      "icon body"
      "actions actions" !important;
    align-items: start !important;
  }

  .account-page .mini-actions {
    justify-content: flex-start;
    width: 100%;
  }
}

/* ── Tablet ── */

@media (max-width: 900px) {
  .result-product-tabs {
    display: flex !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    top: 66px !important;
  }

  .result-product-tabs::-webkit-scrollbar {
    display: none;
  }

  .result-product-tabs a {
    flex: 0 0 auto !important;
    scroll-snap-align: start;
  }

  .account-page .cabinet-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .account-page .account-hero {
    grid-template-columns: 1fr !important;
  }

  .account-page .account-hero > a {
    width: 100%;
    justify-content: center;
  }

  .account-page .account-grid-side {
    grid-template-columns: 1fr !important;
  }
}

/* ── Mobile ── */

@media (max-width: 899px) {
  .account-page .purchase-actions .cabinet-open-reading {
    display: none !important;
  }
}

@media (max-width: 560px) {
  .site-header,
  .site-header.compact {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    gap: 8px !important;
    min-height: 58px !important;
    padding: 8px 10px !important;
    align-items: center !important;
  }

  .site-header .brand {
    grid-column: 1 !important;
    max-width: 100% !important;
  }

  .site-header .nav-toggle {
    grid-column: 2 !important;
    display: grid !important;
    margin-left: 0 !important;
  }

  .site-header .cart-button {
    grid-column: 3 !important;
    grid-row: 1 !important;
    margin: 0 !important;
  }

  .site-header .top-nav {
    display: none !important;
    position: absolute !important;
    left: 10px !important;
    right: 10px !important;
    top: calc(100% + 8px) !important;
    width: auto !important;
    margin: 0 !important;
    padding: 10px !important;
    border: 1px solid var(--cab-line, #e6e2f5) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 20px 48px rgba(18, 88, 96, .14) !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow: visible !important;
  }

  .site-header.nav-open .top-nav {
    display: flex !important;
  }

  .site-header .top-nav a,
  .site-header .top-nav a:not(:last-child) {
    display: flex !important;
    justify-content: center !important;
    width: 100%;
    padding: 11px 13px !important;
    border-radius: 12px !important;
    text-align: center;
  }

  .result-product-tabs {
    width: calc(100vw - 32px) !important;
    max-width: none !important;
    margin: 0 !important;
    border-radius: 16px !important;
    padding: 6px !important;
    position: fixed !important;
    top: 62px !important;
    left: 8px !important;
    right: auto !important;
    z-index: 80 !important;
  }

  .result-product-tabs a {
    min-height: 46px !important;
    padding: 7px 11px !important;
    font-size: .78rem !important;
  }

  [data-tab-panel] {
    padding-top: 90px !important;
  }

  .result-product-tabs a span {
    width: 26px !important;
    height: 26px !important;
    flex-basis: 26px !important;
    border-radius: 9px !important;
  }

  .result-shell,
  .daily-shell,
  .psych-shell,
  .bio-tool-shell,
  .family-shell {
    padding-top: 86px !important;
  }

  .account-page .site-header.compact {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    gap: 8px !important;
    min-height: 58px !important;
    padding: 8px 10px !important;
  }

  .account-page .site-header.compact .brand {
    grid-column: 1 !important;
    max-width: 100% !important;
  }

  .account-page .site-header.compact .nav-toggle {
    grid-column: 2 !important;
    display: grid !important;
    margin-left: 0 !important;
  }

  .account-page .site-header.compact .cart-button {
    grid-column: 3 !important;
    grid-row: 1 !important;
    margin: 0 !important;
  }

  .account-page .site-header.compact .top-nav {
    display: none !important;
    position: absolute !important;
    left: 10px !important;
    right: 10px !important;
    top: calc(100% + 8px) !important;
    width: auto !important;
    margin: 0 !important;
    padding: 10px !important;
    border: 1px solid var(--cab-line, #e6e2f5) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 20px 48px rgba(18, 88, 96, .14) !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow: visible !important;
  }

  .account-page .site-header.compact.nav-open .top-nav {
    display: flex !important;
  }

  .account-page .site-header.compact .top-nav a,
  .account-page .site-header.compact .top-nav a:not(:last-child) {
    display: block !important;
    padding: 11px 13px !important;
    border-radius: 12px !important;
    text-align: center;
  }

  .account-page .account-shell {
    width: calc(100% - 16px) !important;
    padding-top: 16px !important;
  }

  .account-page .cabinet-overview {
    grid-template-columns: 1fr;
  }

  .account-page .account-tabs {
    top: 56px;
    border-radius: 14px !important;
  }

  .account-page .account-tab {
    padding: 8px 12px !important;
    font-size: .82rem !important;
  }

  .account-page .sub-grid {
    grid-template-columns: 1fr !important;
  }

  .account-page .mini-actions a,
  .account-page .mini-actions button {
    flex-basis: 100%;
  }

  .account-page .reading-quick-link {
    margin-inline: 12px;
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .account-page .reading-quick-link i {
    display: none;
  }

  .account-page .archive-row {
    grid-template-columns: 30px minmax(0, 1fr);
  }

  .account-page .archive-row form {
    grid-column: 1 / -1;
  }
}

.site-header .top-nav a[href^="my.php"],
.site-header .top-nav a[href^="auth.php"],
.home-v5 .site-header .top-nav a[href^="my.php"],
.home-v5 .site-header .top-nav a[href^="auth.php"] {
  background-color: #0f7a82 !important;
  background-image: linear-gradient(135deg, #0f7a82, #36a899) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 10px 24px rgba(15, 122, 130, .18) !important;
}

.daily-history-wide {
  border-radius: 24px !important;
  padding: 18px !important;
  overflow: hidden !important;
}

.daily-history-wide .daily-history-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
}

.daily-history-wide .daily-history-head span {
  display: inline-flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.daily-history-wide .daily-history-head a {
  min-width: 78px !important;
  text-align: center !important;
  border-radius: 999px !important;
}

.daily-history-wide > div:last-child {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
  gap: 10px !important;
}

.daily-history-wide > div:last-child > a {
  min-height: 72px !important;
  align-items: flex-start !important;
  justify-content: center !important;
  flex-direction: column !important;
  gap: 5px !important;
  white-space: normal !important;
  line-height: 1.25 !important;
  border-radius: 18px !important;
}

.daily-history-wide > div:last-child > a b {
  font-size: .95rem !important;
}

.daily-history-wide > div:last-child > a small {
  display: block !important;
  max-width: 100% !important;
  color: inherit !important;
  opacity: .75 !important;
}

.zodiac-professional {
  margin: 16px 0 18px;
  padding: 16px;
  border: 1px solid rgba(15, 122, 130, .12);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(242,250,249,.9));
}

.zodiac-professional-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.zodiac-professional-head small {
  color: #6f8588;
}

.zodiac-profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.zodiac-profile-grid article {
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.82);
  box-shadow: inset 0 0 0 1px rgba(15,122,130,.08);
}

.zodiac-profile-grid h4 {
  margin: 0 0 8px;
  font-size: .98rem;
}

.zodiac-profile-grid p,
.zodiac-interaction {
  margin: 7px 0 0;
  line-height: 1.55;
}

.zodiac-practice {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.zodiac-practice span {
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(15,122,130,.08);
  color: #24484c;
  line-height: 1.45;
}

.cart-review-row.promo-applied {
  color: #0f7a55;
  background: rgba(42, 164, 118, .08);
  border-radius: 14px;
  padding: 10px 12px;
}

.daily-history-v2 {
  margin: 0 0 18px;
  padding: 12px 14px 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, .78);
  border: 1px solid rgba(118, 87, 255, .1);
}

.daily-history-v2 .daily-history-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.daily-history-v2 .daily-history-label {
  color: #5c4f8e;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.daily-history-v2 .daily-history-period {
  display: inline-flex;
  gap: 2px;
  padding: 3px;
  border-radius: 999px;
  background: rgba(106, 78, 224, .07);
}

.daily-history-v2 .daily-history-period a {
  min-width: 64px;
  padding: 6px 11px;
  border-radius: 999px;
  text-align: center;
  text-decoration: none;
  color: #7a7198;
  font-size: .74rem;
  font-weight: 850;
}

.daily-history-v2 .daily-history-period a.active {
  background: #fff;
  color: #563fd1;
  box-shadow: 0 3px 12px rgba(67, 48, 145, .1);
}

.daily-history-v2 .daily-history-strip {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.daily-history-v2 .daily-history-chip {
  flex: 0 0 auto;
  display: grid;
  gap: 3px;
  width: min(168px, 42vw);
  padding: 9px 11px;
  border-radius: 14px;
  border: 1px solid rgba(106, 78, 224, .12);
  background: rgba(255, 255, 255, .92);
  text-decoration: none;
  color: #5a5272;
  transition: border-color .15s ease, background .15s ease, transform .15s ease, box-shadow .15s ease;
}

.daily-history-v2 .daily-history-chip b {
  font-size: .78rem;
  font-weight: 900;
  line-height: 1.1;
  color: #4a3f7a;
}

.daily-history-v2 .daily-history-chip span {
  font-size: .72rem;
  line-height: 1.35;
  opacity: .82;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.daily-history-v2 .daily-history-chip:hover {
  transform: translateY(-1px);
}

.daily-history-v2 .daily-history-chip.is-today:hover {
  border-color: #c88428;
  box-shadow: 0 6px 18px rgba(232, 168, 58, .22);
}

.daily-history-v2 .daily-history-chip.is-yesterday:hover {
  border-color: #7a62e8;
  box-shadow: 0 6px 18px rgba(101, 76, 228, .16);
}

.daily-history-v2 .daily-history-chip:not(.is-today):not(.is-yesterday):hover {
  border-color: rgba(101, 76, 228, .22);
}

.daily-history-v2 .daily-history-chip.is-today {
  border-color: rgba(218, 152, 42, .55);
  background: linear-gradient(145deg, #fff6df 0%, #ffe9b8 100%);
  box-shadow: 0 4px 14px rgba(232, 168, 58, .16), inset 0 1px 0 rgba(255, 255, 255, .75);
}

.daily-history-v2 .daily-history-chip.is-today b {
  color: #8a5a12;
}

.daily-history-v2 .daily-history-chip.is-today span {
  color: #6f4e18;
  opacity: .9;
}

.daily-history-v2 .daily-history-chip.is-today.active {
  border-color: #d4922a;
  background: linear-gradient(145deg, #ffe08a 0%, #f5b846 100%);
  box-shadow: 0 8px 20px rgba(212, 146, 42, .28), inset 0 1px 0 rgba(255, 255, 255, .45);
}

.daily-history-v2 .daily-history-chip.is-today.active b {
  color: #4a3208;
}

.daily-history-v2 .daily-history-chip.is-yesterday {
  border-color: rgba(101, 76, 228, .28);
  background: linear-gradient(145deg, #f6f3ff 0%, #e8e2ff 100%);
  box-shadow: 0 4px 14px rgba(101, 76, 228, .1), inset 0 1px 0 rgba(255, 255, 255, .8);
}

.daily-history-v2 .daily-history-chip.is-yesterday b {
  color: #4f3ca8;
}

.daily-history-v2 .daily-history-chip.is-yesterday span {
  color: #5a5272;
  opacity: .88;
}

.daily-history-v2 .daily-history-chip.is-yesterday.active {
  border-color: #654ce4;
  background: linear-gradient(145deg, #ddd2ff 0%, #c4b4ff 100%);
  box-shadow: 0 8px 20px rgba(101, 76, 228, .22), inset 0 1px 0 rgba(255, 255, 255, .5);
}

.daily-history-v2 .daily-history-chip.is-yesterday.active b {
  color: #35286f;
}

.daily-history-v2 .daily-history-chip.active:not(.is-today):not(.is-yesterday) {
  border-color: #654ce4;
  background: linear-gradient(135deg, #f3efff, #faf7ff);
  box-shadow: 0 6px 16px rgba(67, 48, 145, .1);
}

@media (max-width: 720px) {
  .daily-history-wide .daily-history-head {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .daily-history-wide > div:last-child {
    grid-template-columns: 1fr !important;
  }

  .daily-history-v2 .daily-history-chip {
    width: min(148px, 58vw);
  }

  .zodiac-profile-grid {
    grid-template-columns: 1fr;
  }
}

.account-hero-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.account-logout-button {
  color: #0f6f75 !important;
  background: rgba(255,255,255,.84) !important;
}

.data-technical-export {
  margin-top: 14px;
}

.data-technical-export a {
  color: #0f7a82;
  font-weight: 800;
}

.consultation-shell {
  display: grid;
  gap: 20px;
}

.consultation-hero,
.astro-consult-card,
.consultants-empty {
  border: 1px solid rgba(15, 122, 130, .12);
  border-radius: 26px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 48px rgba(19, 89, 94, .09);
}

.consultation-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 22px;
  align-items: center;
  padding: 28px;
}

.consultation-hero h1 {
  margin: 6px 0 10px;
  font-size: clamp(1.8rem, 3vw, 3rem);
  line-height: 1.05;
}

.consultation-person-summary {
  padding: 18px;
  border-radius: 22px;
  background: linear-gradient(135deg, #0f7a82, #36a899);
  color: #fff;
}

.consultation-person-summary small,
.consultation-person-summary span {
  display: block;
  opacity: .82;
}

.consultation-person-summary b {
  display: block;
  margin: 6px 0;
  font-size: 1.05rem;
}

.astro-consult-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 22px;
}

.astro-consult-copy {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.astro-consult-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  flex: 0 0 52px;
  border-radius: 17px;
  color: #fff;
  background: #0f7a82;
  font-weight: 900;
}

.astro-consult-card h2 {
  margin: 4px 0 8px;
}

.astro-consult-actions {
  width: min(280px, 100%);
  display: grid;
  gap: 8px;
}

.astro-consult-actions small {
  color: #6b7f82;
  line-height: 1.35;
}

.consultants-section {
  display: grid;
  gap: 14px;
}

.consultants-count {
  padding: 8px 12px;
  border-radius: 999px;
  color: #0f7a82;
  background: rgba(15,122,130,.08);
  font-weight: 800;
}

.consultant-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  gap: 14px;
}

.consultant-page .consultant-card {
  max-width: none;
  margin: 0;
  padding: 20px;
  border-radius: 24px;
  border: 1px solid rgba(15,122,130,.12);
  background: rgba(255,255,255,.94);
  box-shadow: 0 16px 36px rgba(19, 89, 94, .08);
}

.consultant-profile {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  margin-bottom: 16px;
}

.consultant-photo,
.consultant-photo-placeholder {
  width: 96px;
  height: 96px;
  border-radius: 20px;
  object-fit: cover;
}

.consultant-photo-placeholder {
  display: grid;
  place-items: center;
  color: #0f7a82;
  background: rgba(15,122,130,.1);
  font-size: 2rem;
  font-weight: 900;
}

.consultant-profile h3 {
  margin: 0 0 4px;
}

.consultant-specialty {
  margin: 0 0 8px;
  color: #0f7a82;
  font-weight: 800;
}

.consultant-form {
  display: grid;
  gap: 10px;
}

.consultant-form label small {
  display: block;
  margin-bottom: 5px;
  color: #607679;
  font-weight: 700;
}

.consultant-form input {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(15,122,130,.18);
  border-radius: 12px;
  padding: 10px 12px;
  font: inherit;
  background: #fff;
}

.consultants-empty {
  padding: 24px;
  text-align: center;
}

.admin-v2 {
  background: #f2f7f7;
}

.admin-v2 .admin-main {
  max-width: 1180px;
}

.admin-hero-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 14px;
  align-items: stretch;
  margin: 10px 0 18px;
  padding: 22px;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(26, 74, 79, .08);
}

.admin-hero-panel h1 {
  margin: 4px 0 6px;
}

.admin-hero-panel p,
.admin-card-head p {
  margin: 0;
  color: #637a7d;
}

.admin-hero-stat {
  min-width: 120px;
  display: grid;
  place-items: center;
  align-content: center;
  border-radius: 20px;
  background: linear-gradient(135deg, #0f7a82, #36a899);
  color: #fff;
}

.admin-hero-stat.soft {
  color: #0f7a82;
  background: rgba(15,122,130,.08);
}

.admin-hero-stat b {
  font-size: 2rem;
  line-height: 1;
}

.admin-card-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.admin-modern-form {
  display: grid;
  gap: 14px;
}

.admin-modern-form input,
.admin-modern-form textarea,
.admin-modern-form select {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(15,122,130,.18);
  border-radius: 12px;
  padding: 10px 12px;
  background: #fff;
  font: inherit;
}

.admin-modern-form textarea {
  min-height: 96px;
}

.admin-consultant-grid,
.admin-promo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
}

.admin-consultant-card,
.admin-promo-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(15,122,130,.12);
  border-radius: 20px;
  background: #fff;
}

.admin-consultant-card.is-off,
.admin-promo-card.is-off {
  opacity: .68;
}

.admin-consultant-card img,
.admin-consultant-avatar {
  width: 82px;
  height: 82px;
  border-radius: 18px;
  object-fit: cover;
  background: rgba(15,122,130,.08);
}

.admin-consultant-avatar {
  display: grid;
  place-items: center;
  color: #0f7a82;
  font-size: 1.8rem;
  font-weight: 900;
}

.admin-consultant-copy b,
.admin-promo-code b {
  display: block;
  color: #1f3d41;
  font-size: 1.05rem;
}

.admin-consultant-copy small,
.admin-consultant-meta span {
  display: block;
  color: #667d80;
}

.admin-consultant-copy p {
  margin: 8px 0;
  color: #415e62;
  line-height: 1.45;
}

.admin-consultant-copy em,
.admin-promo-foot em {
  display: inline-flex;
  width: fit-content;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(15,122,130,.08);
  color: #0f7a82;
  font-style: normal;
  font-weight: 800;
  font-size: .82rem;
}

.admin-row-actions,
.admin-promo-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.admin-row-actions form,
.admin-promo-foot form {
  margin: 0;
}

.admin-promo-code {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.admin-promo-code b {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .04em;
}

.admin-promo-code span {
  padding: 8px 10px;
  border-radius: 12px;
  background: #0f7a82;
  color: #fff;
  font-weight: 900;
}

.admin-promo-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.admin-promo-meta span {
  padding: 10px;
  border-radius: 14px;
  background: rgba(15,122,130,.06);
}

.admin-promo-meta small,
.admin-promo-meta b {
  display: block;
}

.admin-promo-meta small {
  color: #6b7f82;
}

@media (max-width: 820px) {
  .consultation-hero,
  .astro-consult-card,
  .admin-hero-panel {
    grid-template-columns: 1fr;
  }

  .astro-consult-actions {
    width: 100%;
  }

  .consultant-profile {
    grid-template-columns: 76px minmax(0, 1fr);
  }

  .consultant-photo,
  .consultant-photo-placeholder {
    width: 76px;
    height: 76px;
  }
}

.zodiac-tool-page .zodiac-shell {
  width: min(1120px, calc(100% - 28px));
  margin-inline: auto;
  display: grid;
  gap: 18px;
}

.zodiac-tool-page .zodiac-hero,
.zodiac-tool-page .zodiac-form-card,
.zodiac-tool-page .zodiac-result,
.zodiac-tool-page .zodiac-popular,
.zodiac-commercial-note {
  border: 1px solid rgba(15,122,130,.12);
  border-radius: 26px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 18px 46px rgba(18,88,96,.08);
}

.zodiac-tool-page .zodiac-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 180px;
  gap: 22px;
  align-items: center;
  padding: 28px;
}

.zodiac-tool-page .zodiac-hero h1 {
  margin: 6px 0 10px;
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 1.02;
}

.zodiac-tool-page .zodiac-form-card {
  padding: 16px;
}

.zodiac-tool-page .zodiac-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
}

.zodiac-tool-page .zodiac-form label small {
  display: block;
  margin-bottom: 6px;
  color: #607679;
  font-weight: 800;
}

.zodiac-tool-page .zodiac-form select,
.daily-duration-select {
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(15,122,130,.18);
  border-radius: 14px;
  padding: 10px 12px;
  background: #fff;
  font: inherit;
}

.zodiac-plus {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: rgba(15,122,130,.08);
  color: #0f7a82;
  font-weight: 900;
}

.zodiac-tool-page .zodiac-result {
  padding: 22px;
  display: grid;
  gap: 14px;
}

.zodiac-detail-grid,
.zodiac-lucky-grid,
.zodiac-pros-cons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.zodiac-detail-grid article,
.zodiac-lucky-card,
.zodiac-summary-card,
.zodiac-tips-card,
.zodiac-pros-cons article,
.zodiac-names {
  padding: 16px;
  border-radius: 20px;
  background: rgba(244,250,249,.82);
  border: 1px solid rgba(15,122,130,.1);
}

.zodiac-names div {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.zodiac-names span {
  padding: 7px 10px;
  border-radius: 999px;
  background: #fff;
  color: #0f7a82;
  font-weight: 800;
}

.family-name-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.family-name-grid article,
.family-paid-value {
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(15,122,130,.1);
}

.family-name-grid h4 {
  margin: 0 0 8px;
}

.family-paid-value {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin: 16px 0;
}

.daily-duration-actions {
  flex-wrap: wrap;
}

.account-page .daily-smart-pay {
  min-width: 148px;
  justify-content: center;
}

.site-footer::after {
  content: "МИР";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  height: 28px;
  margin-left: 10px;
  border-radius: 8px;
  background: linear-gradient(135deg, #0b7f3a, #20aeea);
  color: #fff;
  font-weight: 900;
  letter-spacing: .04em;
  font-size: .78rem;
}

.publication-grid,
.admin-publication-grid,
.merch-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
}

.publication-card,
.admin-publication-card,
.merch-card,
.telegram-link-card {
  padding: 18px;
  border: 1px solid rgba(15,122,130,.12);
  border-radius: 22px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 16px 40px rgba(18,88,96,.07);
}

.publication-card h2,
.publication-page h1,
.merch-card h2 {
  margin-top: 0;
}

.publication-media {
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 18px;
  object-fit: cover;
  background: rgba(15,122,130,.08);
}

.publication-meta,
.telegram-code {
  display: inline-flex;
  width: fit-content;
  gap: 8px;
  align-items: center;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(15,122,130,.08);
  color: #0f7a82;
  font-weight: 800;
}

.telegram-code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .08em;
}

.admin-publication-card.is-draft {
  opacity: .72;
}

.settings-hint-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.settings-hint-grid code {
  display: block;
  white-space: normal;
  overflow-wrap: anywhere;
}

@media (max-width: 720px) {
  .zodiac-tool-page .zodiac-hero,
  .zodiac-tool-page .zodiac-form,
  .zodiac-detail-grid,
  .zodiac-lucky-grid,
  .zodiac-pros-cons,
  .family-name-grid,
  .family-paid-value {
    grid-template-columns: 1fr;
  }
}

/* 6.7.12: denser commercial reading layouts */
.tests-hub-page .psych-result {
  max-width: 1040px;
  min-height: 0;
  align-content: start;
  gap: 18px;
}

.psych-result-story-grid,
.zodiac-reading-grid,
.family-pair-deep-grid,
.reading-guide-panel,
.natal-education-grid,
.bio-reading-guide {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
  width: 100%;
}

.psych-result-story-grid article,
.zodiac-reading-grid article,
.family-pair-deep-grid article,
.reading-guide-panel article,
.natal-education-grid article,
.bio-reading-guide article,
.test-commercial-note {
  border: 1px solid rgba(17, 84, 92, .12);
  background: #fff;
  border-radius: 20px;
  padding: 18px;
  box-shadow: 0 14px 36px rgba(11, 76, 86, .06);
}

.psych-result-story-grid small,
.zodiac-reading-grid small,
.family-pair-deep-grid small,
.reading-guide-panel small,
.natal-education-grid small {
  display: block;
  margin-bottom: 8px;
  color: #0f7a82;
  font-weight: 900;
  text-transform: uppercase;
  font-size: .76rem;
  letter-spacing: .08em;
}

.psych-result-story-grid p,
.zodiac-reading-grid p,
.family-pair-deep-grid p,
.reading-guide-panel p,
.natal-education-grid p,
.bio-reading-guide p {
  margin: 0;
  color: #5f6478;
  line-height: 1.65;
}

.test-commercial-note {
  margin-top: 14px;
  background: linear-gradient(135deg, rgba(15,122,130,.08), rgba(91,70,232,.08));
}

.test-commercial-note b {
  display: block;
  color: #17323a;
  margin-bottom: 6px;
}

.test-commercial-note p {
  margin: 0;
  color: #667085;
  line-height: 1.55;
}

.bio-tool-page .bio-tool-hero {
  min-height: 0;
  padding: clamp(28px, 4vw, 52px);
  border-radius: 28px;
  align-items: center;
}

.bio-tool-page .bio-tool-hero h1 {
  max-width: 880px;
  font-size: clamp(2.2rem, 4.6vw, 4.9rem);
  line-height: 1.04;
}

.bio-tool-page .bio-tool-hero p {
  max-width: 860px;
}

.bio-tool-page .bio-calculator-card {
  margin-top: 28px;
}

.bio-reading-guide {
  max-width: 1200px;
  margin: 24px auto 0;
}

.zodiac-tool-page .zodiac-hero {
  min-height: 0;
  padding: clamp(28px, 4vw, 52px);
  align-items: center;
}

.zodiac-tool-page .zodiac-hero-orbit {
  justify-self: end;
  width: min(260px, 36vw);
  min-width: 190px;
  aspect-ratio: 1;
}

.zodiac-empty-panel {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
  margin: 28px 0;
}

.zodiac-empty-panel article {
  background: #fff;
  border: 1px solid rgba(15,122,130,.14);
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 18px 42px rgba(11,76,86,.08);
}

.zodiac-empty-panel span {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin-bottom: 14px;
  border-radius: 16px;
  background: #eefaf7;
  color: #0f7a82;
  font-weight: 900;
}

.zodiac-empty-panel h3,
.zodiac-empty-panel p {
  margin: 0;
}

.zodiac-empty-panel p {
  margin-top: 8px;
  color: #667085;
  line-height: 1.6;
}

.zodiac-lucky-head {
  display: grid;
  gap: 4px;
}

.zodiac-lucky-head b,
.zodiac-lucky-head small {
  display: block;
}

.zodiac-lucky-head small {
  color: #667085;
  overflow-wrap: anywhere;
}

.zodiac-reading-grid {
  margin: 16px 0;
}

.publication-page .publication-grid {
  align-items: stretch;
  gap: 22px;
}

.publication-page .publication-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  overflow: hidden;
}

.publication-page .publication-card h2,
.publication-page .publication-card p,
.publication-page .publication-meta {
  overflow-wrap: anywhere;
}

.publication-page .publication-media,
.merch-card .publication-media {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 18px;
  background: #eef7f7;
}

.merch-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 22px;
}

.merch-card {
  display: grid;
  gap: 16px;
  background: #fff;
  border: 1px solid rgba(17, 84, 92, .13);
  border-radius: 24px;
  padding: 18px;
  box-shadow: 0 18px 48px rgba(11, 76, 86, .08);
}

.merch-card-copy h2,
.merch-card-copy p {
  margin: 0;
}

.merch-card-copy h2 {
  margin-top: 8px;
  color: #17323a;
}

.merch-card-copy p {
  margin-top: 8px;
  color: #667085;
  line-height: 1.55;
}

.merch-variant-label {
  display: grid;
  gap: 7px;
  color: #667085;
  font-weight: 800;
}

.merch-variant-label select {
  width: 100%;
  min-height: 48px;
  border-radius: 14px;
  border: 1px solid rgba(17,84,92,.18);
  padding: 0 14px;
  background: #fff;
  font: inherit;
}

/* ── Family daily-updating panel ── */
.family-daily-panel {
  margin: 0 0 20px;
  padding: 20px 22px;
  border-radius: 22px;
  border: 1.5px solid rgba(15, 122, 130, .22);
  background: linear-gradient(135deg, #f0faf9 0%, #fff9ef 55%, #fff 100%);
  box-shadow: 0 14px 36px rgba(18, 88, 96, .08);
}

.family-daily-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  padding: 6px 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, #e8f8f5, #fff4e6);
  color: #0f6770;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.family-daily-pulse {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2db89e;
  box-shadow: 0 0 0 0 rgba(45, 184, 158, .5);
  animation: familyDailyPulse 2s infinite;
}

@keyframes familyDailyPulse {
  0% { box-shadow: 0 0 0 0 rgba(45, 184, 158, .45); }
  70% { box-shadow: 0 0 0 10px rgba(45, 184, 158, 0); }
  100% { box-shadow: 0 0 0 0 rgba(45, 184, 158, 0); }
}

.family-daily-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
}

.family-daily-head h3 {
  margin: 6px 0 8px;
  font-size: 1.35rem;
  line-height: 1.25;
}

.family-daily-head p {
  margin: 0;
  color: #5f5878;
  line-height: 1.55;
}

.family-daily-score {
  min-width: 92px;
  padding: 12px 14px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(15, 122, 130, .16);
  text-align: center;
}

.family-daily-score strong {
  display: block;
  font-size: 1.8rem;
  line-height: 1;
  color: #0f6770;
}

.family-daily-score span {
  display: block;
  margin-top: 4px;
  font-size: .68rem;
  color: #7a7390;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.family-daily-insight-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.family-daily-insight-grid article {
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(15, 122, 130, .1);
}

.family-daily-insight-grid small {
  display: block;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #7a68d8;
}

.family-daily-insight-grid b {
  display: block;
  margin: 5px 0 6px;
  font-size: .88rem;
  color: #2a2540;
}

.family-daily-insight-grid p {
  margin: 0;
  font-size: .78rem;
  line-height: 1.45;
  color: #6a6478;
}

.family-daily-week-strip {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  margin-top: 8px;
  padding-bottom: 2px;
}

.family-daily-week-strip a {
  flex: 0 0 auto;
  min-width: 52px;
  padding: 7px 8px;
  border-radius: 10px;
  border: 1px solid rgba(15, 122, 130, .14);
  background: #fff;
  text-decoration: none;
  text-align: center;
  color: #5f5878;
}

.family-daily-week-strip a.active {
  border-color: #0f7a82;
  background: #e8f8f5;
  color: #0f6770;
}

.family-daily-week-strip span,
.family-daily-week-strip b {
  display: block;
}

.family-daily-week-strip span {
  font-size: .62rem;
}

.family-daily-week-strip b {
  margin-top: 2px;
  font-size: .82rem;
}

.family-daily-date-form {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-end;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(15, 122, 130, .12);
}

.family-daily-date-form label {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.family-daily-date-form label span {
  font-size: .72rem;
  font-weight: 700;
  color: #6a6478;
}

.family-daily-date-form input[type="date"] {
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid #ded8ea;
  border-radius: 12px;
  background: #fff;
}

.family-daily-cycles {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(15, 122, 130, .12);
}

.family-daily-cycles-head {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 12px;
}

.family-daily-cycles-head b {
  display: block;
  font-size: .92rem;
  color: #2a2540;
}

.family-daily-cycles-head small {
  display: block;
  margin-top: 3px;
  font-size: .74rem;
  color: #7a7390;
}

.family-free-tool-link {
  font-size: .74rem;
  font-weight: 700;
  color: #0f7a82;
  text-decoration: none;
  white-space: nowrap;
}

.family-free-tool-link:hover {
  text-decoration: underline;
}

.family-daily-panel .biorhythm-cycles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.family-daily-panel .biorhythm-cycles article {
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .88);
  border: 1px solid rgba(15, 122, 130, .1);
}

.family-daily-week-row {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(15, 122, 130, .12);
}

.family-daily-week-row > b {
  display: block;
  margin-bottom: 8px;
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #7a7390;
}

.pair-guide-section {
  margin-top: 22px;
  padding: 20px 22px;
  border-radius: 22px;
  background: #faf9fd;
  border: 1px solid #ebe6f2;
}

.pair-guide-section .section-heading {
  margin-bottom: 14px;
}

.pair-guide-section .child-parent-grid {
  margin-top: 4px;
}

.family-numerology-panel {
  margin-top: 18px;
  padding: 16px 18px;
  border-radius: 16px;
  background: linear-gradient(145deg, #faf8ff, #fff);
  border: 1px solid #ebe4fa;
}

.family-numerology-head b {
  display: block;
  font-size: .95rem;
}

.family-numerology-head small {
  color: #7a7390;
  font-size: .74rem;
}

.family-numerology-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 12px 0;
}

.family-numerology-grid article {
  padding: 12px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #eee8f8;
}

.family-numerology-grid h4 {
  margin: 0 0 6px;
  font-size: .88rem;
}

.family-numerology-grid p {
  margin: 0;
  font-size: .8rem;
  line-height: 1.45;
  color: #5f5878;
}

.family-numerology-practice {
  margin-top: 10px !important;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f3f0ff;
  font-size: .82rem !important;
  line-height: 1.45;
}

.family-extra-notes {
  margin-top: 14px;
  display: grid;
  gap: 8px;
}

.family-extra-notes p {
  margin: 0;
  padding: 11px 13px;
  border-radius: 12px;
  background: #f8f6fc;
  font-size: .82rem;
  line-height: 1.5;
  color: #5f5878;
}

@media (max-width: 760px) {
  .family-daily-head,
  .family-daily-insight-grid,
  .family-daily-panel .biorhythm-cycles,
  .family-numerology-grid {
    grid-template-columns: 1fr;
  }

  .family-daily-score {
    width: 100%;
  }

  .family-daily-cycles-head {
    flex-direction: column;
    align-items: flex-start;
  }
}

.family-pair-deep-grid {
  margin: 18px 0;
}

.reading-guide-panel {
  margin: 0 0 20px;
}

.reading-card-v3 .reading-text {
  font-size: 1rem;
  line-height: 1.72;
}

.reading-card-v3 h3 {
  line-height: 1.18;
}

.natal-education-grid {
  margin-top: 22px;
}

/* ── Discounts & seasonal promos ── */

.seasonal-discount-banner {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin: 0 0 14px;
  padding: 14px 18px;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff8ef, #fff);
  border: 1px solid #ffd8a8;
  box-shadow: 0 12px 30px rgba(154, 90, 18, .08);
}

.checkout-page .seasonal-discount-banner,
.multiverse-page .seasonal-discount-banner {
  width: min(1220px, calc(100% - 32px));
  margin-left: auto;
  margin-right: auto;
}

.account-page .mv-cabinet-shell .seasonal-discount-banner {
  margin-bottom: 0;
}

.seasonal-discount-banner-icon {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #ffb347, #ff8c42);
  color: #fff;
  font-size: 1rem;
}

.seasonal-discount-banner b {
  display: block;
  color: #7a4510;
  font-size: .95rem;
}

.seasonal-discount-banner span {
  color: #8a5a2d;
  font-size: .88rem;
  line-height: 1.45;
}

.discount-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 850;
  line-height: 1;
}

.discount-badge--duration {
  background: #eef8ff;
  color: #245ea8;
  border: 1px solid #cfe4ff;
}

.discount-badge--seasonal {
  background: #fff4e8;
  color: #9a5a12;
  border: 1px solid #ffd9ae;
}

.discount-badges,
.mv-duration-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.price-with-discount {
  display: inline-grid;
  gap: 2px;
  justify-items: end;
}

.price-with-discount--compact {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.price-with-discount .price-old,
.mv-duration-old,
.account-page s.price-old,
.account-page s.mv-duration-old {
  color: #9a93ad;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  font-size: .82rem;
  font-weight: 650;
}

.price-with-discount .price-new,
.mv-duration-new,
.account-page .price-final-only {
  color: #18142e;
  font-weight: 900;
}

.account-page .mv-plan-price-main {
  display: block;
}

.account-page .mv-plan-price-main .price-new,
.account-page .mv-plan-price-main .price-final-only {
  font-size: 1.45rem;
  line-height: 1;
}

.account-page .mv-duration-option-body .mv-duration-old {
  display: block;
  line-height: 1.1;
}

.account-page .mv-renew-price-panel .price-with-discount--compact,
.account-page .mv-plan-price-main .price-with-discount--compact {
  justify-content: flex-start;
}

.checkout-page .daily-duration-pick {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.checkout-page .daily-duration-label {
  color: #8a8496;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.checkout-page .daily-duration-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.checkout-page .daily-duration-option {
  position: relative;
  cursor: pointer;
}

.checkout-page .daily-duration-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.checkout-page .daily-duration-option-body {
  display: grid;
  gap: 3px;
  min-height: 72px;
  padding: 9px 10px;
  border-radius: 14px;
  border: 1px solid #e5dfef;
  background: #fff;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}

.checkout-page .daily-duration-option-body b {
  font-size: .82rem;
  color: #1f2633;
  line-height: 1.2;
}

.checkout-page .daily-duration-old,
.checkout-page s.daily-duration-old {
  color: #9a93ad;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  font-size: .76rem;
  font-weight: 650;
}

.checkout-page .daily-duration-new {
  color: #18142e;
  font-size: .8rem;
  font-weight: 800;
}

.checkout-page .daily-duration-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.checkout-page .daily-duration-option input:checked + .daily-duration-option-body {
  border-color: #b8a6ff;
  background: linear-gradient(135deg, #faf7ff, #f4fffb);
  box-shadow: 0 8px 20px rgba(92, 59, 232, .1);
}

.checkout-page .daily-duration-option.has-discount .daily-duration-option-body {
  border-color: #d8cff5;
  background: linear-gradient(135deg, #fffaf3, #f7f3ff);
}

.checkout-page .daily-duration-option.has-discount input:checked + .daily-duration-option-body {
  border-color: #c8b8ff;
}

.checkout-page .daily-price-display .price-with-discount--compact,
.checkout-page .checkout-total .price-with-discount--compact {
  justify-content: flex-end;
}

.checkout-page .checkout-total .price-with-discount--compact .price-new,
.checkout-page .checkout-total .price-final-only {
  font-size: 1.6rem;
}

@media (max-width: 560px) {
  .checkout-page .daily-duration-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.price-with-discount .price-save {
  color: #0f6b5c;
  font-size: .72rem;
  font-weight: 750;
}

.account-page .mv-duration-option.has-discount .mv-duration-option-body {
  border-color: #c8b8ff;
  background: linear-gradient(135deg, #fffaf3, #f7f3ff);
}

.account-page .mv-duration-option-body {
  display: grid;
  gap: 4px;
}

.admin-holidays-table .admin-table input,
.admin-holidays-table .admin-table select {
  width: 100%;
  min-width: 0;
}

.admin-holiday-dates {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.admin-holiday-dates input {
  width: 3.2rem !important;
  text-align: center;
}

@media (max-width: 900px) {
  .bio-tool-page .bio-tool-hero,
  .zodiac-tool-page .zodiac-hero {
    grid-template-columns: 1fr;
  }

  .zodiac-tool-page .zodiac-hero-orbit {
    justify-self: start;
    width: 210px;
  }
}

@media (max-width: 640px) {
  .psych-result-story-grid,
  .zodiac-reading-grid,
  .family-pair-deep-grid,
  .reading-guide-panel,
  .natal-education-grid,
  .bio-reading-guide,
  .merch-grid {
    grid-template-columns: 1fr;
  }

  .bio-tool-page .bio-tool-hero h1 {
    font-size: 2.35rem;
  }
}

/* ── Synastry plain-language panel ── */
.synastry-lead {
  max-width: 820px;
  line-height: 1.65;
}

.synastry-aspects-lead {
  margin: 0 0 12px;
  color: #7a7390;
  font-size: .78rem;
  line-height: 1.5;
}

.synastry-aspects .aspect-tone-icon {
  width: 28px;
  height: 28px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  font-size: .82rem;
  font-weight: 900;
  background: #f0edf5;
  color: #6b6377;
}

.synastry-aspects article.harmonious .aspect-tone-icon {
  background: #e8f8ef;
  color: #1d7c50;
}

.synastry-aspects article.challenging .aspect-tone-icon {
  background: #fff0eb;
  color: #b15b3a;
}

.synastry-aspects > div {
  align-items: start;
}

.synastry-aspects article {
  min-width: 0;
  overflow-wrap: anywhere;
}

.synastry-aspects article p {
  margin: 10px 0 0;
}

.family-pair-cache-note {
  margin: 8px 0 0;
  color: #7a7390;
  font-size: .72rem;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .synastry-aspects > div {
    grid-template-columns: 1fr;
  }
}
/* РеДизайн 6.9 — вкладочные панели, зодиак, публикации */

/* ── Продуктовые вкладки: flex + горизонтальный скролл на любом экране ── */

.result-product-tabs[data-product-tabs] {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  grid-template-columns: unset !important;
  gap: 5px !important;
}

.result-product-tabs[data-product-tabs]::-webkit-scrollbar {
  display: none;
}

.result-product-tabs[data-product-tabs] > a {
  flex: 0 0 auto;
}

/* ── Зодиак: принудительный градиент (исправление невидимого текста) ── */

.zodiac-hero {
  background: linear-gradient(135deg, #4735c7, #684ee8 55%, #7b5af0) !important;
  color: #fff !important;
}

.zodiac-hero h1 {
  color: #fff !important;
}

.zodiac-hero p,
.zodiac-hero .eyebrow {
  color: rgba(255,255,255,.88) !important;
}

/* ── Плейсхолдер для публикаций и мерча без картинки ── */

.publication-media-placeholder {
  display: grid !important;
  place-items: center !important;
  aspect-ratio: unset !important;
  height: 200px !important;
  border-radius: 18px 18px 0 0 !important;
  background: linear-gradient(135deg, #126f7b 0%, #34aa99 100%) !important;
  font-size: 3rem;
  color: rgba(255,255,255,.35);
  font-weight: 900;
  letter-spacing: -.03em;
  overflow: hidden;
  position: relative;
  object-fit: unset !important;
}

.publication-media-placeholder::after {
  content: attr(data-letter);
  font-size: 7rem;
  opacity: .14;
  font-weight: 900;
  position: absolute;
  bottom: -12px;
  right: 14px;
  line-height: 1;
  color: #fff;
  pointer-events: none;
}

.publication-media-placeholder span {
  position: relative;
  z-index: 1;
  font-size: 1.1rem;
  font-weight: 800;
  color: rgba(255,255,255,.88);
  text-transform: uppercase;
  letter-spacing: .08em;
  background: rgba(255,255,255,.15);
  padding: 6px 14px;
  border-radius: 999px;
}

/* ── Переключение панелей ── */

[data-tab-panel] {
  display: block;
}

[data-tab-panel][hidden] {
  display: none !important;
}

/* ── Разделитель между вкладками на своей странице и внешними ── */

.result-product-tabs[data-product-tabs] > a[data-tab-target] {
  /* Вкладки, переключающие панели на этой же странице */
}

.result-product-tabs[data-product-tabs] > a[data-tab-external] {
  /* Ссылки на другие страницы — визуально слегка отличаются */
  position: relative;
}

.result-product-tabs[data-product-tabs] > a[data-tab-external]::after {
  content: '↗';
  font-size: .6em;
  opacity: .5;
  margin-left: 2px;
  vertical-align: super;
  line-height: 1;
}

/* Вкладка «Скачать PDF» — выглядит как кнопка-действие */
.result-product-tabs[data-product-tabs] > a[data-tab-external][title="Скачать PDF"] {
  background: linear-gradient(135deg, #6c52e8 0%, #9b7dff 100%);
  color: #fff !important;
  opacity: 1;
  font-weight: 600;
}
.result-product-tabs[data-product-tabs] > a[data-tab-external][title="Скачать PDF"]::after {
  content: none;
}
.result-product-tabs[data-product-tabs] > a[data-tab-external][title="Скачать PDF"]:hover {
  background: linear-gradient(135deg, #5b43d6 0%, #8a6ee8 100%);
}
.result-product-tabs[data-product-tabs] > a[data-tab-external][title="Скачать PDF"] span {
  color: #fff;
}

/* ── Разделитель между группами вкладок ── */

.result-product-tabs .tabs-sep {
  display: inline-block;
  width: 1px;
  height: 22px;
  background: rgba(28, 82, 92, .18);
  margin: 0 6px;
  vertical-align: middle;
  flex-shrink: 0;
}

/* ── Активная внутристраничная вкладка ── */

.result-product-tabs[data-product-tabs] > a[data-tab-target].active {
  background: linear-gradient(135deg, #0f7a82 0%, #34aa99 100%);
  color: #fff;
  opacity: 1;
  box-shadow: 0 14px 30px rgba(15, 122, 130, .24);
}

.result-product-tabs[data-product-tabs] > a[data-tab-target].active span {
  background: rgba(255, 255, 255, .2);
  color: #fff;
}

/* ── Плавное появление контента при переключении вкладки ── */

[data-tab-panel].tab-panel--active {
  animation: tabFadeIn .18s ease-out;
}

@keyframes tabFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Уважаем prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  [data-tab-panel].tab-panel--active {
    animation: none;
  }
}

/* ── FAQ Accordion — современный стиль без квадрата с "+" ── */

.faq-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid rgba(86,65,175,.13);
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 28px rgba(38,30,82,.06);
}

.faq-grid details {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(86,65,175,.1) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.faq-grid details:nth-child(odd) {
  border-right: 1px solid rgba(86,65,175,.1);
}

.faq-grid details:last-child,
.faq-grid details:nth-last-child(2):nth-child(odd) {
  border-bottom: none !important;
}

.faq-grid summary {
  list-style: none !important;
  cursor: pointer;
  padding: 20px 48px 20px 22px !important;
  font-weight: 800 !important;
  font-size: .95rem;
  line-height: 1.4;
  position: relative;
  color: #1a1633;
  transition: color .15s;
}

.faq-grid summary::-webkit-details-marker { display: none !important; }

.faq-grid summary::after {
  content: '' !important;
  position: absolute !important;
  right: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: rgba(88,70,226,.08) !important;
  color: #5b46e8 !important;
  font-size: .75rem !important;
  display: grid !important;
  place-items: center !important;
  transition: background .15s, transform .2s !important;
}

.faq-grid summary::before {
  content: '↓';
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  font-size: .75rem;
  color: #5b46e8;
  transition: transform .2s ease;
  pointer-events: none;
}

.faq-grid details[open] summary::before {
  transform: translateY(-50%) rotate(180deg);
}

.faq-grid details[open] summary {
  color: #4232b8;
}

.faq-grid details p {
  margin: 0 !important;
  padding: 0 22px 20px !important;
  color: #5d5878 !important;
  line-height: 1.65 !important;
  font-size: .88rem !important;
}

@media (max-width: 640px) {
  .faq-grid {
    grid-template-columns: 1fr !important;
  }
  .faq-grid details:nth-child(odd) {
    border-right: none;
  }
  .faq-grid details {
    border-bottom: 1px solid rgba(86,65,175,.1) !important;
  }
  .faq-grid details:last-child {
    border-bottom: none !important;
  }
}

/* 6.9.7 — simple publications with image previews */
.pub-simple-hero {
  max-width: 1080px;
  margin: 24px auto 22px;
  padding: clamp(26px, 4vw, 44px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  border-radius: 28px;
  background: linear-gradient(135deg, #0f7a82 0%, #34aa99 100%);
  box-shadow: 0 22px 60px rgba(11, 76, 86, .16);
}

.pub-simple-hero .eyebrow,
.pub-simple-hero h1,
.pub-simple-hero p {
  color: #fff;
}

.pub-simple-hero .eyebrow {
  opacity: .76;
}

.pub-simple-hero h1 {
  max-width: 760px;
  margin: 8px 0 10px;
  font-size: clamp(2rem, 4.4vw, 4rem);
}

.pub-simple-hero p {
  max-width: 680px;
  opacity: .88;
}

.pub-simple-hero .secondary-button {
  flex: 0 0 auto;
  background: #fff;
  color: #0f7a82;
}

.pub-simple-rubrics {
  max-width: 1080px;
}

.pub-simple-list {
  max-width: 1080px;
}

.pub-simple-link {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: clamp(16px, 3vw, 26px);
  align-items: stretch;
  padding: 14px;
}

.pub-simple-thumb {
  min-height: 190px;
  border-radius: 16px;
  overflow: hidden;
  background: #e6f4f2;
}

.pub-simple-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pub-simple-copy {
  min-width: 0;
  display: grid;
  align-content: center;
  padding: 8px 10px 8px 0;
}

.pub-simple-copy h2 {
  margin: 8px 0 8px;
}

.pub-simple-copy p {
  margin: 0;
}

.pub-simple-copy > span {
  justify-self: start;
}

@media (max-width: 760px) {
  .pub-simple-hero {
    margin: 14px 14px 18px;
    padding: 24px 18px;
    display: grid;
    border-radius: 24px;
  }

  .pub-simple-hero h1 {
    font-size: 2rem;
  }

  .pub-simple-hero .secondary-button {
    width: max-content;
  }

  .pub-simple-link {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .pub-simple-thumb {
    min-height: 190px;
  }

  .pub-simple-copy {
    padding: 0 4px 6px;
  }
}

/* ── result.php: персональное вступление по типу Human Design ── */

.hd-personal-intro {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  padding: clamp(22px,4vw,38px);
  margin: 0 0 24px;
  border-radius: 28px;
  background: linear-gradient(145deg, #1a1340 0%, #2d1f6e 60%, #3b2589 100%);
  color: #fff;
}

.hd-intro-icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 18px;
  background: rgba(255,255,255,.12);
  font-size: 1.5rem;
  color: #d4caff;
}

.hd-intro-copy {
  min-width: 0;
  flex: 1;
}

.hd-intro-copy .eyebrow {
  color: rgba(212,202,255,.7) !important;
  margin-bottom: 6px;
}

.hd-intro-copy h2 {
  margin: 0 0 14px;
  font-size: clamp(1.4rem,3vw,2.1rem);
  line-height: 1.15;
  color: #fff;
}

.hd-intro-lead {
  margin: 0 0 18px;
  color: rgba(255,255,255,.85);
  line-height: 1.65;
  font-size: .97rem;
}

.hd-intro-meta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.hd-intro-meta span {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.12);
  min-width: 90px;
}

.hd-intro-meta small {
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: rgba(212,202,255,.65);
  font-weight: 700;
}

.hd-intro-meta b {
  font-size: .88rem;
  color: #fff;
  font-weight: 850;
}

.hd-intro-tip {
  margin: 0;
  padding: 12px 16px;
  border-radius: 14px;
  background: rgba(255,255,255,.08);
  border-left: 3px solid rgba(196,180,255,.5);
  color: rgba(255,255,255,.8);
  font-size: .875rem;
  line-height: 1.6;
}

@media (max-width: 600px) {
  .hd-personal-intro {
    flex-direction: column;
    gap: 16px;
  }
}

/* ── result.php: персональное вступление по знаку зодиака ── */

.horoscope-personal-intro {
  display: flex;
  gap: 28px;
  align-items: center;
  padding: clamp(22px,4vw,36px);
  margin: 0 0 24px;
  border-radius: 28px;
  background: linear-gradient(145deg, #0b3f60 0%, #1a5e82 50%, #2278a8 100%);
  color: #fff;
}

.horoscope-intro-left {
  flex: 1;
  min-width: 0;
}

.horoscope-intro-left .eyebrow {
  color: rgba(180,225,255,.7) !important;
  margin-bottom: 6px;
}

.horoscope-intro-left h2 {
  margin: 0 0 12px;
  font-size: clamp(1.4rem,3vw,2rem);
  color: #fff;
}

.horoscope-element-chip {
  display: inline-block;
  font-size: .65em;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.15);
  color: rgba(255,255,255,.85);
  vertical-align: middle;
  margin-left: 6px;
  letter-spacing: .03em;
}

.horoscope-intro-left p {
  margin: 0 0 10px;
  color: rgba(255,255,255,.82);
  line-height: 1.65;
  font-size: .95rem;
}

.horoscope-intro-chinese {
  color: rgba(180,225,255,.75) !important;
  font-size: .85rem !important;
}

.horoscope-intro-right {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: stretch;
  min-width: 200px;
}

.horoscope-intro-right .primary-button,
.horoscope-intro-right .secondary-button {
  white-space: nowrap;
  text-align: center;
}

@media (max-width: 640px) {
  .horoscope-personal-intro {
    flex-direction: column;
    gap: 18px;
  }
  .horoscope-intro-right {
    width: 100%;
  }
}

/* ── Биоритмы: секция "Что это значит" ── */

.bio-intro-panel {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0 0 28px;
  border: 1px solid rgba(52,170,153,.18);
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
}

.bio-intro-panel article {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 22px 24px;
  border-bottom: 1px solid rgba(52,170,153,.1);
}

.bio-intro-panel article:last-child {
  border-bottom: none;
}

.bio-intro-panel article > span {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: linear-gradient(135deg, #0f7a82 0%, #34aa99 100%);
  color: #fff;
  font-size: 1.1rem;
}

.bio-intro-panel article > div h2 {
  margin: 0 0 8px;
  font-size: 1rem;
  font-weight: 850;
  color: #0f3a3e;
}

.bio-intro-panel article > div p {
  margin: 0 0 6px;
  color: #4a6b6e;
  font-size: .875rem;
  line-height: 1.6;
}

.bio-intro-panel article > div p.muted {
  font-size: .82rem;
  color: #7a9a9c;
}

@media (max-width: 640px) {
  .bio-intro-panel article { padding: 16px 18px; }
}

/* ── РеДизайн дня: новые блоки контента ── */

.daily-affirmation {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  margin: 0 0 20px;
  border-radius: 18px;
  background: linear-gradient(135deg, #1d1547 0%, #2b1d6b 100%);
  color: #fff;
}

.daily-affirmation span {
  font-size: 1.2rem;
  flex-shrink: 0;
  opacity: .7;
}

.daily-affirmation p {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 780;
  font-style: italic;
  color: rgba(255,255,255,.9);
  line-height: 1.5;
}

.daily-hd-tip {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 18px;
  margin: 16px 0;
  border-radius: 16px;
  background: linear-gradient(135deg, #f5f2ff 0%, #ede8ff 100%);
  border: 1px solid rgba(100,76,226,.18);
}

.daily-hd-tip > span {
  font-size: 1.2rem;
  color: #6248d4;
  flex-shrink: 0;
  margin-top: 2px;
}

.daily-hd-tip b { display: block; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: #6248d4; margin-bottom: 5px; }
.daily-hd-tip p { margin: 0; color: #3d3064; line-height: 1.6; font-size: .9rem; }

.daily-time-tips {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 16px 0;
}

.daily-time-tips article {
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(52,170,153,.2);
}

.daily-time-tips article.morning { background: linear-gradient(135deg, #fff8ec 0%, #fff3d6 100%); border-color: rgba(240,180,60,.25); }
.daily-time-tips article.evening { background: linear-gradient(135deg, #ecf2ff 0%, #dde6ff 100%); border-color: rgba(80,120,220,.2); }

.daily-time-tips article span { display: block; font-size: 1.2rem; margin-bottom: 6px; }
.daily-time-tips article b { display: block; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: #666; margin-bottom: 6px; }
.daily-time-tips article p { margin: 0; font-size: .875rem; color: #444; line-height: 1.6; }

.daily-lunar {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 18px;
  margin: 16px 0;
  border-radius: 16px;
  background: linear-gradient(135deg, #f2f5ff 0%, #eaf0ff 100%);
  border: 1px solid rgba(100,130,230,.15);
}

.daily-lunar > span { font-size: 1.3rem; flex-shrink: 0; color: #546db8; margin-top: 1px; }
.daily-lunar b { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: #546db8; margin-bottom: 5px; }
.daily-lunar p { margin: 0; color: #3a4a7a; line-height: 1.6; font-size: .88rem; }

.daily-outlook {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 20px;
  margin: 18px 0;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff6e8 0%, #ffefd4 100%);
  border: 1px solid rgba(230, 170, 70, .22);
}

.daily-outlook > span { font-size: 1.35rem; flex-shrink: 0; margin-top: 1px; }
.daily-outlook b { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: #9a6b18; margin-bottom: 6px; }
.daily-outlook p { margin: 0; color: #4a3a20; line-height: 1.65; font-size: .92rem; }

.daily-zodiac-day {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 20px;
  margin: 0 0 18px;
  border-radius: 18px;
  background: linear-gradient(135deg, #f3f0ff 0%, #ebe4ff 100%);
  border: 1px solid rgba(100, 76, 226, .18);
}

.daily-zodiac-day > span { font-size: 1.35rem; flex-shrink: 0; color: #6248d4; margin-top: 1px; }
.daily-zodiac-day b { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: #6248d4; margin-bottom: 6px; }
.daily-zodiac-day p { margin: 0; color: #3d3064; line-height: 1.65; font-size: .92rem; }

.daily-extra-notes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}

.daily-extra-notes article {
  padding: 16px 18px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(93, 68, 201, .12);
  box-shadow: 0 8px 24px rgba(67, 48, 145, .05);
}

.daily-extra-notes article b {
  display: block;
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #6c52e8;
  margin-bottom: 7px;
}

.daily-extra-notes article p {
  margin: 0;
  color: #4a4560;
  line-height: 1.62;
  font-size: .88rem;
}

@media (max-width: 600px) {
  .daily-time-tips { grid-template-columns: 1fr; }
  .daily-extra-notes { grid-template-columns: 1fr; }
}

/* ── РеДизайн дня: календарные приколюхи ── */
.daily-calendar-extras {
  margin: 28px 0 8px;
  padding-top: 24px;
  border-top: 1px solid rgba(93, 68, 201, .12);
}

.daily-calendar-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.daily-calendar-head h3 {
  margin: 4px 0 0;
  font-size: 1.15rem;
  color: #1a1340;
}

.daily-calendar-moon-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, #f2f5ff, #e8eeff);
  border: 1px solid rgba(100, 130, 230, .2);
  color: #3a4a7a;
  font-size: .82rem;
  font-weight: 700;
}

.daily-calendar-moon-badge.is-personal {
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  border-color: rgba(217, 119, 6, .25);
  color: #92400e;
}

.daily-calendar-personal-line,
.daily-calendar-transit-line {
  margin: 6px 0 0;
  font-size: .82rem;
  line-height: 1.45;
  color: #6b6478;
}

.daily-calendar-transit-line {
  color: #5c3be8;
  font-weight: 600;
}

.daily-geomag-personal,
.daily-moon-personal,
.daily-moon-note,
.daily-outfit-personal {
  margin: 0 0 10px !important;
  font-size: .84rem !important;
  color: #5a5370 !important;
}

.daily-mini-sub {
  display: block;
  margin: 2px 0 8px;
  font-size: .72rem;
  color: #8a849c;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.daily-calendar-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.daily-calendar-card {
  padding: 16px 18px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(93, 68, 201, .1);
  box-shadow: 0 8px 24px rgba(67, 48, 145, .05);
}

.daily-calendar-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.daily-calendar-card-head b,
.daily-calendar-mini > b,
.daily-calendar-outfit > b,
.daily-calendar-luck .daily-calendar-card-head b {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #5c3be8;
}

.daily-calendar-card p {
  margin: 0;
  color: #4a4560;
  line-height: 1.58;
  font-size: .88rem;
}

.daily-storm-pill {
  display: inline-flex;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 800;
}

.daily-storm-pill.storm-calm { background: #dcfce7; color: #166534; }
.daily-storm-pill.storm-unsettled { background: #fef9c3; color: #854d0e; }
.daily-storm-pill.storm-mild { background: #ffedd5; color: #c2410c; }
.daily-storm-pill.storm-strong { background: #fee2e2; color: #b91c1c; }

.daily-geomag-today { margin-bottom: 8px !important; }
.daily-geomag-meteo { margin-bottom: 12px !important; color: #6b6478 !important; font-size: .84rem !important; }

.daily-geomag-week {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 10px;
}

.daily-geomag-day {
  display: grid;
  gap: 3px;
  padding: 8px 4px;
  border-radius: 10px;
  background: #f8f7fc;
  text-align: center;
  border: 1px solid transparent;
}

.daily-geomag-day em,
.daily-geomag-day b {
  display: block;
  font-style: normal;
}

.daily-geomag-day em { font-size: .62rem; color: #8a849c; }
.daily-geomag-day b { font-size: .82rem; font-weight: 800; color: #3f3a4f; }
.daily-geomag-day.is-today { border-color: #c4b5fd; background: #f5f3ff; }
.daily-geomag-day.has-storm { background: #fff7ed; border-color: #fed7aa; }
.daily-geomag-day.has-storm b { color: #c2410c; }

.daily-geomag-foot {
  display: block;
  font-size: .72rem;
  color: #9a94a8;
}

.daily-moon-slider {
  position: relative;
  height: 34px;
  margin: 8px 0 12px;
}

.daily-moon-track {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 8px;
  transform: translateY(-50%);
  border-radius: 999px;
  background: linear-gradient(90deg, #1e1b2e 0%, #f5f3ff 50%, #1e1b2e 100%);
}

.daily-moon-marker {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: .95rem;
  z-index: 2;
}

.daily-moon-thumb {
  position: absolute;
  top: 50%;
  width: 18px;
  height: 18px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  border: 2px solid #fff;
  box-shadow: 0 4px 12px rgba(124, 58, 237, .25);
  z-index: 3;
}

.daily-moon-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-bottom: 12px;
  font-size: .78rem;
  color: #6b6478;
}

.daily-moon-counts b { color: #3f3a4f; }

.daily-moon-week {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
  align-items: end;
  height: 56px;
}

.daily-moon-week-day {
  display: grid;
  gap: 4px;
  justify-items: center;
  height: 100%;
  align-content: end;
}

.daily-moon-week-day em {
  font-style: normal;
  font-size: .62rem;
  color: #8a849c;
}

.daily-moon-week-day i {
  display: block;
  width: 100%;
  max-width: 22px;
  border-radius: 6px 6px 2px 2px;
  background: linear-gradient(180deg, #a5b4fc, #6366f1);
  min-height: 18px;
}

.daily-moon-week-day.is-today em { color: #5b21b6; font-weight: 800; }
.daily-moon-week-day.is-today i { background: linear-gradient(180deg, #fcd34d, #f59e0b); }

.daily-calendar-tear {
  background: linear-gradient(145deg, #fffdf8, #fff8ef);
  border-color: rgba(230, 170, 70, .22);
}

.daily-calendar-tear-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
}

.daily-tear-date {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: linear-gradient(135deg, #f59e0b, #ea580c);
  color: #fff;
  font-size: 1.45rem;
  font-weight: 900;
  line-height: 1;
}

.daily-calendar-tear-top b {
  display: block;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #9a6b18;
}

.daily-calendar-tear-top p {
  margin: 2px 0 0;
  font-weight: 800;
  color: #4a3a20;
}

.daily-tear-wisdom {
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  font-style: italic;
  color: #5c4a12;
  line-height: 1.55;
  font-size: .9rem;
}

.daily-tear-line {
  margin: 0 0 8px !important;
}

.daily-calendar-tear small {
  color: #9a7b3c;
  font-size: .76rem;
}

.daily-calendar-outfit p span {
  font-weight: 800;
  color: #5c3be8;
}

.daily-calendar-outfit small {
  display: block;
  margin-top: 8px;
  color: #8a849c;
  font-size: .76rem;
}

.daily-luck-meter {
  height: 10px;
  border-radius: 999px;
  background: #ece8f5;
  overflow: hidden;
  margin: 10px 0 12px;
}

.daily-luck-meter i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #f59e0b, #22c55e);
}

@media (max-width: 820px) {
  .daily-calendar-grid { grid-template-columns: 1fr; }
  .daily-geomag-week { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .daily-geomag-week,
  .daily-moon-week { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
  .daily-geomag-day em { font-size: .58rem; }
}

/* ── Zodiac name links ── */
.zodiac-names div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
a.zodiac-name-link {
  display: inline-block;
  padding: 5px 14px;
  border-radius: 999px;
  background: rgba(71,53,199,.1);
  color: #4735c7;
  font-size: .88rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(71,53,199,.2);
  transition: background .15s, color .15s;
}
a.zodiac-name-link:hover { background: #4735c7; color: #fff; }

/* ── Name meaning page ── */
.name-hero {
  padding: clamp(36px,6vw,64px) 0 28px;
  text-align: center;
}
.name-hero h1 {
  font-size: clamp(2.2rem,6vw,3.6rem);
  font-weight: 900;
  color: #1a1340;
  margin: 6px 0 12px;
}
.name-origin-line {
  color: #555;
  font-size: 1rem;
  max-width: 560px;
  margin: 0 auto 16px;
}
.name-luck-chips { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.name-luck-chips span {
  padding: 5px 16px;
  border-radius: 999px;
  background: linear-gradient(135deg,#4735c7,#7b5af0);
  color: #fff;
  font-size: .85rem;
  font-weight: 700;
}
.name-section {
  background: #fff;
  border: 1px solid rgba(71,53,199,.1);
  border-radius: 20px;
  padding: clamp(20px,4vw,32px);
  margin-bottom: 16px;
}
.name-section h2 {
  font-size: 1.15rem;
  font-weight: 800;
  color: #1a1340;
  margin: 0 0 10px;
}
.name-section h3 { font-size: 1rem; font-weight: 700; color: #1a1340; margin: 0 0 8px; }
.name-section p { color: #333; line-height: 1.7; margin: 0; }
.name-section ul { margin: 0; padding: 0 0 0 1.2em; color: #333; line-height: 1.8; }
.name-traits { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media(max-width:600px){ .name-traits { grid-template-columns: 1fr; } }
.name-traits-col.strengths { border-color: rgba(52,170,153,.2); }
.name-traits-col.strengths h3 { color: #0b7a6e; }
.name-traits-col.weaknesses { border-color: rgba(200,100,50,.15); }
.name-traits-col.weaknesses h3 { color: #a84f2a; }
.name-famous-list { display: flex; flex-direction: column; gap: 4px; padding-left: 1.2em; }
.name-compatible-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.name-compatible-chips a {
  display: inline-block;
  padding: 5px 14px;
  border-radius: 999px;
  background: rgba(71,53,199,.08);
  color: #4735c7;
  font-size: .88rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(71,53,199,.15);
  transition: background .15s, color .15s;
}
.name-compatible-chips a:hover { background: #4735c7; color: #fff; }
.name-summary {
  background: linear-gradient(135deg,#1a1340,#3b2589);
  border: none;
  color: #fff;
}
.name-summary p { color: rgba(255,255,255,.9); font-size: 1.05rem; line-height: 1.75; }

/* ── Biorhythms: separation between intro panel and calculator ── */
.bio-intro-panel { margin-bottom: 28px; }
.bio-calculator-card { margin-top: 0; }

/* ── Astrologer chat quick hints ── */
.chat-quick-hints {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0;
}
.chat-hint-btn {
  background: var(--surface-card, #f4f0ff);
  border: 1.5px solid var(--border, #e0d9f5);
  border-radius: 20px;
  padding: 6px 14px;
  font-size: .82rem;
  color: var(--primary, #6847f5);
  cursor: pointer;
  transition: background .15s, border-color .15s;
  font-family: inherit;
}
.chat-hint-btn:hover { background: #ede8ff; border-color: var(--primary, #6847f5); }

/* ── Dream interpretation section ── */
.dream-section {
  background: linear-gradient(145deg, #0f1a3a, #1a2d5a 60%, #1e3a6e);
  border-radius: 24px;
  padding: clamp(22px,4vw,36px);
  color: #fff;
  margin: 0 1rem 2rem;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}
.dream-header {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 20px;
}
.dream-header > span { font-size: 2rem; flex-shrink: 0; line-height: 1; }
.dream-header h2 { font-size: 1.25rem; font-weight: 800; margin: 0 0 4px; color: #fff; }
.dream-header p { color: rgba(255,255,255,.72); font-size: .92rem; margin: 0; line-height: 1.5; }
.dream-input-wrap { display: flex; flex-direction: column; gap: 12px; }
.dream-input-wrap textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1.5px solid rgba(255,255,255,.18);
  border-radius: 14px;
  background: rgba(255,255,255,.07);
  color: #fff;
  padding: 14px 16px;
  font-size: .95rem;
  font-family: inherit;
  line-height: 1.55;
  resize: vertical;
  min-height: 100px;
}
.dream-input-wrap textarea::placeholder { color: rgba(255,255,255,.4); }
.dream-input-wrap textarea:focus { outline: none; border-color: rgba(255,255,255,.4); background: rgba(255,255,255,.1); }
.dream-input-wrap .primary-button { align-self: flex-end; }
.dream-result { margin-top: 20px; padding: 18px 20px; background: rgba(255,255,255,.08); border-radius: 16px; border: 1px solid rgba(255,255,255,.12); }
.dream-interp { color: rgba(255,255,255,.9); line-height: 1.75; font-size: .95rem; }

/* ── Merch size/color pickers ── */
.merch-picker-group { margin-bottom: 12px; }
.merch-picker-label { display: block; font-size: .82rem; font-weight: 700; color: #666; margin-bottom: 6px; text-transform: uppercase; letter-spacing: .04em; }
.merch-size-chips, .merch-color-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.merch-size-chip input, .merch-color-chip input { position: absolute; opacity: 0; pointer-events: none; }
.merch-size-chip span, .merch-color-chip span {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 999px;
  border: 1.5px solid rgba(71,53,199,.2);
  background: #fff;
  color: #333;
  font-size: .85rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .15s;
}
.merch-size-chip input:checked + span,
.merch-color-chip input:checked + span {
  background: #4735c7;
  color: #fff;
  border-color: #4735c7;
}
.merch-size-chip span:hover, .merch-color-chip span:hover { border-color: #4735c7; color: #4735c7; }

/* ── Biorhythms result panel — ensure visible text on white bg ── */
.bio-result-panel,
.bio-result-panel .bio-cycle-result-grid,
.bio-result-panel .bio-compat-summary,
.bio-result-panel .bio-wave-chart,
.bio-result-panel .bio-bottom { color: #1a1340; }
.bio-result-panel .bio-disclaimer { color: #666; }
.bio-reading-guide article h2 { color: #1a1340; }
.bio-reading-guide article p { color: #444; }
.bio-explain-grid article p { color: #444; }

/* ── Add consultation/service strip even without linked reading ── */
.bio-service-cta {
  display: flex;
  gap: 16px;
  margin-top: 28px;
  flex-wrap: wrap;
}
.bio-service-cta a {
  flex: 1;
  min-width: 220px;
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 20px 22px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid rgba(71,53,199,.12);
  text-decoration: none;
  color: #1a1340;
  box-shadow: 0 4px 18px rgba(71,53,199,.07);
  transition: box-shadow .18s;
}
.bio-service-cta a:hover { box-shadow: 0 8px 28px rgba(71,53,199,.14); }
.bio-service-cta a span:first-child { font-size: 1.5rem; }
.bio-service-cta a b { display: block; font-weight: 800; font-size: .95rem; }
.bio-service-cta a small { color: #666; font-size: .82rem; }

/* ── Tests hub: fix result layout in sidebar+stage grid ── */
.tests-stage .psych-result {
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(20px,3vw,36px) !important;
  border-radius: 24px !important;
}

/* Force 2-column story grid inside narrow stage */
.tests-stage .psych-result-story-grid {
  grid-template-columns: repeat(2, 1fr) !important;
}

/* Scale bars: ensure dark bg doesn't swallow text */
.tests-stage .psych-result h2,
.tests-stage .psych-result h3,
.tests-stage .psych-result .eyebrow { color: inherit !important; }

/* On mobile revert to 1 col */
@media (max-width: 600px) {
  .tests-stage .psych-result-story-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Full-width psych-result when there's no sidebar (no reading) */
.tests-stage .psych-result:only-child,
.psych-shell:not(.tests-hub-shell) .psych-result {
  max-width: 860px;
}

/* Fix psych-result that has dark background styles fighting grid */
.tests-hub-page .psych-result {
  background: #fff !important;
  color: #1a1340 !important;
  border: 1px solid rgba(71,53,199,.1) !important;
  box-shadow: 0 18px 50px rgba(36,38,69,.08) !important;
}
.tests-hub-page .psych-result .eyebrow { color: #0f7a82 !important; }
.tests-hub-page .psych-result h2 { color: #1a1340 !important; }
.tests-hub-page .psych-result h3 { color: #1a1340 !important; }
.tests-hub-page .psych-result > p { color: #555 !important; }
.tests-hub-page .psych-scale-bar { background: rgba(71,53,199,.12) !important; }
.tests-hub-page .psych-scale-bar i { background: #4735c7 !important; }
.tests-hub-page .psych-recommendations span { background: rgba(71,53,199,.07) !important; color: #333 !important; }

/* ── Name page skeleton / loading state ── */
.name-skeleton-wrap { padding: 8px 0 24px; }
.name-skeleton-msg {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 22px 24px;
  background: linear-gradient(135deg, #f0eeff, #e8f6f5);
  border-radius: 18px;
  margin-bottom: 20px;
}
.name-skeleton-msg b { display: block; font-size: 1rem; font-weight: 800; color: #1a1340; margin-bottom: 4px; }
.name-skeleton-msg p { margin: 0; color: #666; font-size: .9rem; line-height: 1.5; }
.name-gen-spinner {
  font-size: 1.8rem;
  color: #4735c7;
  animation: nameSpin 1.2s linear infinite;
  flex-shrink: 0;
  line-height: 1;
  margin-top: 2px;
}
@keyframes nameSpin { to { transform: rotate(360deg); } }
.name-skeleton-blocks { display: flex; flex-direction: column; gap: 12px; }
.name-skel-block {
  height: 80px;
  border-radius: 16px;
  background: linear-gradient(90deg, #f0eeff 25%, #e4dff7 50%, #f0eeff 75%);
  background-size: 200% 100%;
  animation: skelShimmer 1.4s ease-in-out infinite;
}
.name-skel-block.short { height: 52px; width: 60%; }
@keyframes skelShimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }

/* ── Zodiac popular pairs: add top spacing ── */
.zodiac-popular {
  margin-top: 32px !important;
}
.zodiac-tool-page .zodiac-popular {
  margin-top: 28px !important;
  padding: 22px 24px !important;
}

/* ════════════════════════════════════════
   Publications — editorial layout
   ════════════════════════════════════════ */

.pub-index-page { background: #f4f3f8; }

/* Page header */
.pub-page-header {
  background: linear-gradient(135deg, #1a1340 0%, #2d1f6e 55%, #3b2589 100%);
  padding: clamp(36px,6vw,72px) clamp(16px,4vw,48px) clamp(28px,5vw,56px);
}
.pub-page-header-inner { max-width: 860px; margin: 0 auto; }
.pub-page-header .eyebrow { color: rgba(255,255,255,.55); margin-bottom: 10px; letter-spacing: .12em; }
.pub-page-header h1 {
  font-size: clamp(2.2rem, 5vw, 4rem);
  font-weight: 900;
  color: #fff;
  margin: 0 0 12px;
  line-height: 1.05;
}
.pub-page-header p {
  color: rgba(255,255,255,.72);
  font-size: clamp(.95rem, 2vw, 1.1rem);
  margin: 0;
  max-width: 560px;
  line-height: 1.6;
}

/* Shell */
.pub-shell {
  max-width: 1120px;
  margin: 0 auto;
  padding: clamp(24px,4vw,48px) clamp(16px,3vw,32px) 48px;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

/* Featured */
.pub-featured {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 28px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 24px 64px rgba(26,19,64,.12);
  text-decoration: none;
  color: inherit;
  transition: box-shadow .2s, transform .18s;
  min-height: 360px;
}
.pub-featured:hover { box-shadow: 0 32px 80px rgba(26,19,64,.18); transform: translateY(-2px); }

.pub-featured-visual {
  position: relative;
  min-height: 320px;
  overflow: hidden;
  background: linear-gradient(135deg, #0d1a3a, #1e3a6e);
}
.pub-featured-visual img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.pub-featured-placeholder {
  width: 100%; height: 100%;
  display: grid;
  place-items: center;
  font-size: 5rem;
  font-weight: 900;
  color: rgba(255,255,255,.15);
}
.pub-featured-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(13,26,58,.25), transparent);
}
.pub-featured-badge {
  position: absolute;
  top: 18px;
  left: 18px;
  padding: 5px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  backdrop-filter: blur(8px);
  color: #fff;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.pub-featured-body {
  padding: clamp(24px,4vw,44px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
}
.pub-meta {
  font-size: .78rem;
  font-weight: 700;
  color: #0f7a82;
  text-transform: uppercase;
  letter-spacing: .07em;
}
.pub-featured-body h2 {
  font-size: clamp(1.4rem, 2.8vw, 2.1rem);
  font-weight: 900;
  color: #1a1340;
  line-height: 1.2;
  margin: 0;
}
.pub-featured-body p {
  color: #555;
  line-height: 1.7;
  font-size: .97rem;
  margin: 0;
}
.pub-read-btn {
  display: inline-block;
  margin-top: 6px;
  padding: 10px 22px;
  border-radius: 999px;
  background: #1a1340;
  color: #fff;
  font-size: .88rem;
  font-weight: 700;
  align-self: flex-start;
  transition: background .15s;
}
.pub-featured:hover .pub-read-btn { background: #4735c7; }

/* Cards grid */
.pub-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
@media (max-width: 900px) { .pub-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .pub-grid { grid-template-columns: 1fr; } }

.pub-card {
  display: flex;
  flex-direction: column;
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 28px rgba(26,19,64,.07);
  text-decoration: none;
  color: inherit;
  transition: box-shadow .18s, transform .15s;
}
.pub-card:hover { box-shadow: 0 18px 48px rgba(26,19,64,.14); transform: translateY(-3px); }

.pub-card-visual {
  position: relative;
  height: 180px;
  overflow: hidden;
  background: linear-gradient(135deg, #0d1a3a, #1e3a6e);
  flex-shrink: 0;
}
.pub-card-visual img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pub-card-placeholder {
  width: 100%; height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: linear-gradient(135deg, #126f7b 0%, #34aa99 100%);
}
.pub-card-placeholder span {
  font-size: .72rem;
  font-weight: 800;
  color: rgba(255,255,255,.8);
  text-transform: uppercase;
  letter-spacing: .1em;
  background: rgba(255,255,255,.15);
  padding: 4px 12px;
  border-radius: 999px;
}
.pub-card-placeholder b {
  font-size: 2.4rem;
  font-weight: 900;
  color: rgba(255,255,255,.18);
  line-height: 1;
}

.pub-card-body {
  padding: 20px 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.pub-card-body h3 {
  font-size: 1rem;
  font-weight: 800;
  color: #1a1340;
  line-height: 1.35;
  margin: 0;
}
.pub-card-body p {
  color: #666;
  font-size: .87rem;
  line-height: 1.6;
  margin: 0;
  flex: 1;
}

/* CTA strip */
.pub-cta-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  max-width: 1120px;
  margin: 0 auto 56px;
  padding: clamp(22px,4vw,36px) clamp(24px,4vw,48px);
  background: #fff;
  border-radius: 24px;
  box-shadow: 0 8px 28px rgba(26,19,64,.07);
}
.pub-cta-strip b { display: block; font-size: 1.05rem; font-weight: 800; color: #1a1340; margin-bottom: 4px; }
.pub-cta-strip p { margin: 0; color: #666; font-size: .9rem; }
.pub-empty { text-align: center; padding: 80px 20px; color: #999; }
.pub-empty span { display: block; font-size: 2rem; margin-bottom: 12px; }

/* Responsive featured */
@media (max-width: 768px) {
  .pub-featured { grid-template-columns: 1fr; }
  .pub-featured-visual { min-height: 220px; }
}

/* ════════════════════════════════════════
   Publication article page
   ════════════════════════════════════════ */

.pub-article-page { background: #f4f3f8; }

.pub-article-hero {
  position: relative;
  height: clamp(240px, 40vw, 480px);
  overflow: hidden;
  background: #0d1a3a;
}
.pub-article-hero img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.pub-article-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(13,26,58,.1) 0%, rgba(13,26,58,.55) 100%);
}
.pub-article-hero-meta {
  position: absolute;
  bottom: 22px;
  left: clamp(16px,4vw,48px);
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,.85);
  font-size: .82rem;
  font-weight: 600;
}
.pub-cat-chip {
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  backdrop-filter: blur(6px);
  text-transform: uppercase;
  letter-spacing: .07em;
  font-size: .72rem;
  font-weight: 800;
  color: #fff;
}

/* Article layout: content + sidebar */
.pub-article-wrap {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 32px;
  max-width: 1080px;
  margin: 0 auto;
  padding: clamp(24px,4vw,48px) clamp(16px,3vw,32px) 64px;
  align-items: start;
}
@media (max-width: 860px) {
  .pub-article-wrap { grid-template-columns: 1fr; }
  .pub-article-sidebar { order: -1; }
}

.pub-article-content {
  background: #fff;
  border-radius: 24px;
  padding: clamp(24px,4vw,48px);
  box-shadow: 0 8px 32px rgba(26,19,64,.07);
}

.pub-article-title {
  font-size: clamp(1.6rem, 3.5vw, 2.6rem);
  font-weight: 900;
  color: #1a1340;
  line-height: 1.15;
  margin: 0 0 16px;
}

.pub-article-lead {
  font-size: 1.1rem;
  color: #444;
  line-height: 1.7;
  border-left: 3px solid #4735c7;
  padding-left: 16px;
  margin: 0 0 28px;
}

.pub-article-body { color: #333; line-height: 1.8; font-size: 1rem; }
.pub-article-body h1 { font-size: 1.6rem; font-weight: 900; color: #1a1340; margin: 32px 0 12px; }
.pub-article-body h2 { font-size: 1.2rem; font-weight: 800; color: #1a1340; margin: 28px 0 10px; }
.pub-article-body p { margin: 0 0 14px; }
.pub-article-body strong { color: #1a1340; font-weight: 800; }
.pub-article-body br { display: block; margin: 6px 0; content: ''; }

/* Sidebar */
.pub-article-sidebar {
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: sticky;
  top: 90px;
}

.pub-aside-card {
  background: linear-gradient(145deg, #1a1340, #2d1f6e 60%, #3b2589);
  border-radius: 22px;
  padding: 26px 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  color: #fff;
}
.pub-aside-card > span { font-size: 1.6rem; }
.pub-aside-card b { font-size: 1rem; font-weight: 800; }
.pub-aside-card p { color: rgba(255,255,255,.75); font-size: .88rem; line-height: 1.6; margin: 0; }

.pub-aside-back {
  display: block;
  text-align: center;
  padding: 12px;
  border-radius: 14px;
  background: #fff;
  color: #555;
  font-size: .88rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(71,53,199,.1);
  transition: color .15s;
}
.pub-aside-back:hover { color: #4735c7; }

/* --- Publications pagination --- */
.pub-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 40px 0 0;
  flex-wrap: wrap;
}
.pub-page-btn {
  display: inline-flex;
  align-items: center;
  padding: 9px 20px;
  border-radius: 50px;
  background: #fff;
  border: 1.5px solid rgba(71,53,199,.2);
  color: #4735c7;
  font-size: .88rem;
  font-weight: 700;
  text-decoration: none;
  transition: background .15s, color .15s;
}
.pub-page-btn:hover { background: #4735c7; color: #fff; border-color: #4735c7; }
.pub-page-nums { display: flex; gap: 6px; align-items: center; }
.pub-page-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: .88rem;
  font-weight: 700;
  text-decoration: none;
  color: #666;
  transition: background .15s, color .15s;
}
a.pub-page-num:hover { background: rgba(71,53,199,.08); color: #4735c7; }
.pub-page-num.active { background: #4735c7; color: #fff; }
.pub-page-ellipsis { color: #aaa; font-size: .88rem; padding: 0 2px; }

/* --- Family member status badges: align to top, don't jump --- */
.member-detail-section .section-heading.left {
  align-items: flex-start;
}
.member-statuses {
  flex-shrink: 0;
  margin-top: 6px;
}

/* 6.9.4 — publications index as a commercial rubric hub */
.pub-modern-main {
  background:
    linear-gradient(180deg, #edf7f7 0, #f7fbfb 360px, #f3f7f8 100%);
  padding-bottom: 56px;
}

.pub-modern-hero {
  max-width: 1180px;
  margin: 24px auto 0;
  padding: clamp(24px, 4vw, 46px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 28px;
  align-items: stretch;
}

.pub-modern-hero-copy {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: 16px;
}

.pub-modern-hero .eyebrow {
  color: #0f7a82;
  letter-spacing: .12em;
}

.pub-modern-hero h1 {
  margin: 0;
  max-width: 860px;
  color: #17323a;
  font-size: clamp(2.2rem, 5vw, 4.9rem);
  line-height: 1.02;
  font-weight: 950;
}

.pub-modern-hero p {
  margin: 0;
  max-width: 720px;
  color: #596978;
  font-size: 1.05rem;
  line-height: 1.65;
}

.pub-hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

.pub-start-panel {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 20px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid rgba(15, 122, 130, .12);
  box-shadow: 0 18px 50px rgba(11, 76, 86, .08);
}

.pub-start-panel small,
.pub-sidebar-block small {
  color: #0f7a82;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: .76rem;
}

.pub-start-panel a {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border-radius: 16px;
  text-decoration: none;
  color: #17323a;
  background: #f3fbf9;
  border: 1px solid rgba(15, 122, 130, .08);
}

.pub-start-panel b {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: #0f7a82;
  color: #fff;
}

.pub-start-panel span {
  font-weight: 850;
  line-height: 1.25;
}

.pub-rubric-nav {
  max-width: 1180px;
  margin: 0 auto 18px;
  padding: 0 clamp(16px, 3vw, 28px);
  display: flex;
  gap: 10px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.pub-rubric-nav::-webkit-scrollbar {
  display: none;
}

.pub-rubric-nav a {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 0 14px 0 18px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(15, 122, 130, .14);
  color: #17323a;
  text-decoration: none;
  font-weight: 850;
  box-shadow: 0 10px 26px rgba(11, 76, 86, .05);
}

.pub-rubric-nav a b {
  display: grid;
  place-items: center;
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  background: #eef8f7;
  color: #0f7a82;
  font-size: .82rem;
}

.pub-rubric-nav a.active {
  background: linear-gradient(135deg, #0f7a82, #34aa99);
  color: #fff;
  border-color: transparent;
}

.pub-rubric-nav a.active b {
  background: rgba(255,255,255,.2);
  color: #fff;
}

.pub-modern-shell {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 28px) 34px;
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.pub-sidebar {
  display: grid;
  gap: 14px;
  position: sticky;
  top: 88px;
}

.pub-sidebar-block {
  padding: 18px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid rgba(15, 122, 130, .12);
  box-shadow: 0 16px 42px rgba(11, 76, 86, .06);
}

.pub-sidebar-block.accent {
  background: #17323a;
  color: #fff;
}

.pub-sidebar-block h2,
.pub-sidebar-block p {
  margin: 0;
}

.pub-sidebar-block h2 {
  margin-top: 8px;
  font-size: 1.1rem;
  color: inherit;
}

.pub-sidebar-block p {
  margin-top: 8px;
  color: #667985;
  line-height: 1.6;
  font-size: .93rem;
}

.pub-sidebar-block.accent p {
  color: rgba(255,255,255,.76);
}

.pub-sidebar-block.accent .secondary-button {
  margin-top: 14px;
  background: #fff;
}

.pub-content-column {
  min-width: 0;
  display: grid;
  gap: 18px;
}

.pub-modern-shell .pub-featured {
  grid-template-columns: minmax(280px, .85fr) minmax(0, 1fr);
  min-height: 300px;
  border-radius: 24px;
  box-shadow: 0 20px 56px rgba(11, 76, 86, .09);
}

.pub-modern-shell .pub-featured-visual {
  min-height: 300px;
  background: linear-gradient(135deg, #0f7a82, #34aa99);
}

.pub-modern-shell .pub-featured-body {
  padding: clamp(22px, 3vw, 34px);
}

.pub-modern-shell .pub-featured-body h2 {
  color: #17323a;
}

.pub-modern-shell .pub-featured-body p,
.pub-modern-shell .pub-card-body p {
  color: #667985;
}

.pub-modern-shell .pub-read-btn {
  background: #0f7a82;
}

.pub-modern-shell .pub-featured:hover .pub-read-btn {
  background: #0b6067;
}

.pub-modern-shell .pub-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.pub-modern-shell .pub-card {
  border: 1px solid rgba(15, 122, 130, .1);
  border-radius: 22px;
  box-shadow: 0 14px 36px rgba(11, 76, 86, .06);
}

.pub-modern-shell .pub-card-visual {
  height: 150px;
  background: linear-gradient(135deg, #0f7a82, #34aa99);
}

.pub-modern-shell .pub-card-placeholder {
  background: linear-gradient(135deg, #0f7a82, #34aa99);
}

.pub-modern-shell .pub-card-body {
  padding: 18px;
}

.pub-modern-shell .pub-card-body h3 {
  color: #17323a;
}

.pub-next-empty {
  padding: 22px;
  border-radius: 20px;
  background: #fff;
  border: 1px dashed rgba(15,122,130,.24);
  color: #667985;
}

.pub-next-empty b {
  display: block;
  color: #17323a;
  margin-bottom: 6px;
}

.pub-next-empty p {
  margin: 0;
}

.pub-modern-main .pub-cta-strip {
  max-width: 1180px;
  border: 1px solid rgba(15, 122, 130, .12);
  box-shadow: 0 18px 50px rgba(11, 76, 86, .07);
}

.pub-modern-main .pub-empty {
  max-width: 760px;
  margin: 36px auto;
  padding: 46px 22px;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(11,76,86,.07);
}

.pub-modern-main .pub-empty p {
  margin: 8px auto 0;
  max-width: 480px;
  color: #667985;
  line-height: 1.55;
}

@media (max-width: 960px) {
  .pub-modern-hero,
  .pub-modern-shell {
    grid-template-columns: 1fr;
  }

  .pub-sidebar {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .pub-modern-hero {
    margin-top: 12px;
    padding: 22px 16px 12px;
    gap: 16px;
  }

  .pub-modern-hero h1 {
    font-size: 2rem;
    line-height: 1.08;
  }

  .pub-modern-hero p {
    font-size: .95rem;
    line-height: 1.5;
  }

  .pub-start-panel {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 12px;
    border-radius: 18px;
    scrollbar-width: none;
  }

  .pub-start-panel::-webkit-scrollbar {
    display: none;
  }

  .pub-start-panel small {
    display: none;
  }

  .pub-start-panel a {
    min-width: 178px;
    grid-template-columns: 32px 1fr;
    padding: 9px;
  }

  .pub-start-panel b {
    width: 32px;
    height: 32px;
    border-radius: 11px;
  }

  .pub-start-panel span {
    font-size: .88rem;
  }

  .pub-hero-actions,
  .pub-hero-actions a {
    width: 100%;
  }

  .pub-modern-shell .pub-featured {
    grid-template-columns: 1fr;
  }

  .pub-modern-shell .pub-grid,
  .pub-sidebar {
    grid-template-columns: 1fr;
  }

  .pub-modern-shell .pub-featured-visual {
    min-height: 210px;
  }
}

/* --- Reading chapter nav: show all tabs, no horizontal scroll --- */
.reading-chapter-list {
  flex-wrap: wrap !important;
  overflow-x: visible !important;
  scroll-snap-type: none !important;
}
.reading-chapter-link {
  flex: 0 0 auto;
}

/* On mobile: if many chapters, allow more height when open */
@media(max-width:768px) {
  .reading-navigator.is-open .reading-chapter-list {
    max-height: 500px !important;
  }
}

/* 6.9.6 — simple readable publications */
.pub-simple-main,
.pub-simple-article-main {
  background: #f6faf9;
  color: #17323a;
}

.pub-simple-hero {
  max-width: 860px;
  margin: 0 auto;
  padding: clamp(34px, 6vw, 72px) 20px 22px;
}

.pub-simple-hero .eyebrow {
  color: #0f7a82;
  letter-spacing: .1em;
}

.pub-simple-hero h1 {
  margin: 10px 0 12px;
  max-width: 760px;
  font-size: clamp(2.1rem, 5vw, 4.1rem);
  line-height: 1.06;
  color: #17323a;
  font-weight: 950;
}

.pub-simple-hero p {
  margin: 0;
  max-width: 720px;
  color: #5c6f79;
  font-size: 1.08rem;
  line-height: 1.7;
}

.pub-simple-rubrics {
  max-width: 860px;
  margin: 0 auto 20px;
  padding: 0 20px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.pub-simple-rubrics a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 13px;
  border-radius: 999px;
  border: 1px solid rgba(15, 122, 130, .16);
  background: #fff;
  color: #17323a;
  text-decoration: none;
  font-weight: 850;
  font-size: .92rem;
}

.pub-simple-rubrics a b {
  color: #0f7a82;
  font-size: .82rem;
}

.pub-simple-rubrics a.active {
  background: #0f7a82;
  color: #fff;
  border-color: #0f7a82;
}

.pub-simple-rubrics a.active b {
  color: rgba(255,255,255,.85);
}

.pub-simple-list {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 20px 38px;
  display: grid;
  gap: 14px;
}

.pub-simple-card {
  background: #fff;
  border: 1px solid rgba(15, 122, 130, .12);
  border-radius: 18px;
  box-shadow: 0 12px 34px rgba(11, 76, 86, .05);
}

.pub-simple-link {
  display: block;
  padding: clamp(18px, 3vw, 26px);
  color: inherit;
  text-decoration: none;
}

.pub-simple-meta,
.pub-simple-article .pub-meta {
  color: #0f7a82;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.pub-simple-link h2 {
  margin: 8px 0 8px;
  color: #17323a;
  font-size: clamp(1.18rem, 2.2vw, 1.55rem);
  line-height: 1.28;
  font-weight: 920;
}

.pub-simple-link p {
  margin: 0;
  max-width: 680px;
  color: #5f6e78;
  line-height: 1.68;
  font-size: 1rem;
}

.pub-simple-link span {
  display: inline-flex;
  margin-top: 12px;
  color: #0f7a82;
  font-weight: 900;
}

.pub-simple-card:hover {
  border-color: rgba(15, 122, 130, .28);
  box-shadow: 0 16px 40px rgba(11, 76, 86, .08);
}

.pub-simple-note {
  max-width: 860px;
  margin: 0 auto 54px;
  padding: 20px;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  color: #5f6e78;
}

.pub-simple-note p {
  margin: 0;
  max-width: 620px;
  line-height: 1.6;
}

.pub-simple-note div {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.pub-simple-article {
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(34px, 6vw, 70px) 20px 64px;
}

.pub-simple-article .pub-article-title {
  margin: 10px 0 16px;
  color: #17323a;
  font-size: clamp(2rem, 4.8vw, 3.6rem);
  line-height: 1.08;
  font-weight: 950;
}

.pub-simple-article .pub-article-lead {
  margin: 0 0 28px;
  padding: 0;
  border: 0;
  color: #506773;
  font-size: clamp(1.08rem, 2vw, 1.28rem);
  line-height: 1.7;
}

.pub-simple-article-media {
  margin: 0 0 30px;
  border-radius: 18px;
  overflow: hidden;
  background: #e8f2f1;
}

.pub-simple-article-media img {
  display: block;
  width: 100%;
  height: auto;
}

.pub-simple-article .pub-article-body {
  color: #253f47;
  font-size: 1.08rem;
  line-height: 1.86;
}

.pub-simple-article .pub-article-body p {
  margin: 0 0 1.15em;
}

.pub-simple-article .pub-article-body h1,
.pub-simple-article .pub-article-body h2 {
  color: #17323a;
  line-height: 1.22;
}

.pub-simple-article .pub-article-body h2 {
  margin: 2em 0 .7em;
  font-size: 1.45rem;
}

.pub-simple-after {
  margin-top: 34px;
  padding-top: 22px;
  border-top: 1px solid rgba(15, 122, 130, .16);
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

@media (max-width: 640px) {
  .pub-simple-hero {
    padding-top: 28px;
  }

  .pub-simple-hero h1,
  .pub-simple-article .pub-article-title {
    font-size: 2rem;
  }

  .pub-simple-rubrics {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .pub-simple-rubrics::-webkit-scrollbar {
    display: none;
  }

  .pub-simple-rubrics a {
    flex: 0 0 auto;
  }

  .pub-simple-note {
    align-items: flex-start;
  }
}

/* ===== Merch page ===== */
.merch-page { background: var(--v5-bg, #f5f6fa); }

.merch-shell-outer { max-width: 1240px; margin: 0 auto; padding: 30px 18px 80px; }

/* Hero — same style as zodiac/bio */
.merch-hero-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  padding: clamp(28px,4vw,52px);
  border-radius: 28px;
  background: linear-gradient(135deg, #0f7a82 0%, #34aa99 55%, #2a9080 100%);
  color: #fff;
  overflow: hidden;
  margin-bottom: 28px;
}
.merch-hero-card .eyebrow {
  font-size: .72rem; font-weight: 900; letter-spacing: .16em;
  text-transform: uppercase; color: rgba(255,255,255,.65); margin-bottom: 10px;
}
.merch-hero-card h1 {
  font-size: clamp(2.2rem, 4.6vw, 4.2rem); font-weight: 900;
  letter-spacing: -.05em; margin: 0 0 14px; line-height: 1.04; color: #fff;
}
.merch-hero-card p { font-size: 1rem; color: rgba(255,255,255,.82); line-height: 1.6; margin: 0; max-width: 680px; }

.merch-hero-icons {
  display: flex; flex-direction: column; align-items: center; gap: 14px; flex-shrink: 0;
}
.merch-hero-icons span {
  display: grid; place-items: center;
  width: 62px; height: 62px; border-radius: 50%;
  background: rgba(255,255,255,.18);
  font-size: 1.6rem;
  box-shadow: 0 4px 18px rgba(0,0,0,.12);
}

.merch-notice {
  margin: 0 0 20px; padding: 14px 20px;
  border-radius: 16px; font-size: .92rem; font-weight: 600;
}
.merch-notice.ok { background: #e6f8ed; color: #157644; }
.merch-notice.err { background: #fdeaea; color: #a01515; }

.merch-empty { text-align: center; padding: 80px 24px; color: #888; }
.merch-empty span { font-size: 2.5rem; display: block; margin-bottom: 16px; }
.merch-empty h3 { font-size: 1.3rem; margin: 0 0 8px; color: #444; }
.merch-empty p { margin: 0; font-size: .92rem; }

.merch-grid-new {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 24px;
}

.merch-card-new {
  background: #fff;
  border-radius: 24px;
  border: 1px solid rgba(0,0,0,.07);
  box-shadow: 0 6px 28px rgba(15,122,130,.07);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease;
}
.merch-card-new:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 42px rgba(15,122,130,.13);
}

.merch-card-media {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: #f2fafa;
  display: flex; align-items: center; justify-content: center;
}
.merch-card-media img {
  width: 100%; height: 100%;
  object-fit: contain;
  display: block;
  padding: 14px;
  transition: transform .35s ease;
}
.merch-card-new:hover .merch-card-media img { transform: scale(1.04); }
.merch-card-placeholder {
  width: 100%; height: 100%;
  display: grid; place-items: center;
  font-size: 3rem; font-weight: 900; color: #0f7a82;
}

.merch-card-info { padding: 20px 22px 6px; flex: 1; }
.merch-card-price { font-size: 1.25rem; font-weight: 900; color: #0f7a82; margin-bottom: 4px; }
.merch-card-info h2 { font-size: 1.1rem; font-weight: 800; margin: 0 0 6px; color: #1a1a2e; letter-spacing: -.02em; }
.merch-card-info p { font-size: .84rem; color: #666; line-height: 1.55; margin: 0; }

.merch-card-form {
  padding: 14px 22px 22px;
  display: flex; flex-direction: column; gap: 12px;
}

.merch-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.merch-field { display: flex; flex-direction: column; gap: 4px; }
.merch-field span { font-size: .68rem; font-weight: 800; color: #999; text-transform: uppercase; letter-spacing: .07em; }
.merch-field input {
  padding: 10px 13px; border-radius: 12px;
  border: 1.5px solid #e4e0f0;
  font-size: .88rem; background: #fafafa;
  transition: border-color .15s; outline: none;
}
.merch-field input:focus { border-color: #0f7a82; background: #fff; }

.merch-card-pickers { padding: 0 22px 4px; display: flex; flex-direction: column; gap: 14px; }
.merch-add-btn { margin: 6px 22px 22px; width: calc(100% - 44px); }
.merch-picker-group { display: flex; flex-direction: column; gap: 7px; }
.merch-picker-label { font-size: .68rem; font-weight: 800; color: #999; text-transform: uppercase; letter-spacing: .07em; }

@media(max-width: 768px) {
  .merch-hero-card { grid-template-columns: 1fr; border-radius: 22px; }
  .merch-hero-icons { flex-direction: row; }
}
@media(max-width: 560px) {
  .merch-form-row { grid-template-columns: 1fr; }
  .merch-grid-new { grid-template-columns: 1fr; }
  .merch-shell-outer { padding: 14px 14px 60px; }
}

/* --- Merch: contact banner & ok strip --- */
.merch-contact-banner {
  display: flex; align-items: center; gap: 16px;
  padding: 16px 20px; border-radius: 16px;
  background: #fff8e8; border: 1.5px solid #f5c842;
  margin-bottom: 24px; flex-wrap: wrap;
}
.merch-contact-banner.warn { background: #fff2f2; border-color: #f5a0a0; }
.merch-contact-banner-icon { font-size: 1.6rem; flex-shrink: 0; }
.merch-contact-banner > div { flex: 1; min-width: 180px; }
.merch-contact-banner b { display: block; font-size: .95rem; font-weight: 800; color: #7a5500; margin-bottom: 3px; }
.merch-contact-banner.warn b { color: #8a1515; }
.merch-contact-banner p { margin: 0; font-size: .83rem; color: #8a6a20; }
.merch-contact-banner.warn p { color: #8a3030; }
.merch-contact-banner a.compact { flex-shrink: 0; font-size: .83rem; padding: 9px 16px; }

.merch-contact-ok {
  display: flex; align-items: center; gap: 10px;
  padding: 11px 16px; border-radius: 14px;
  background: #edf9f0; border: 1px solid #b8e8c8;
  font-size: .85rem; margin-bottom: 22px;
}
.merch-contact-ok > span:first-child { color: #1c8a4a; font-weight: 900; font-size: 1rem; }
.merch-contact-ok > span:last-of-type { flex: 1; color: #2a6a45; }
.merch-contact-ok a { color: #0f7a82; font-weight: 700; text-decoration: none; font-size: .8rem; }
.merch-contact-ok a:hover { text-decoration: underline; }

.merch-no-contact-btn { text-align: center; text-decoration: none; }

/* --- my.php: delivery contact card --- */
.merch-contact-card.needs-fill { border: 2px solid #f5c842 !important; }
.merch-contact-card .warn-caption { color: #b07000; font-size: .78rem; margin-top: 8px; display: block; }
.delivery-form { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
.delivery-form input {
  width: 100%; padding: 10px 13px;
  border: 1.5px solid #e0daea; border-radius: 12px;
  font-size: .88rem; background: #fafafa;
  outline: none; transition: border-color .15s;
  box-sizing: border-box;
}
.delivery-form input:focus { border-color: #0f7a82; background: #fff; }

/* --- Merch: inline contact fields in card --- */
.merch-contact-inline {
  display: flex; flex-direction: column; gap: 10px;
  padding: 14px; border-radius: 16px;
  background: #f8f7ff;
  border: 1.5px solid #e4dff5;
}
.merch-save-hint {
  margin: 0; font-size: .75rem; color: #8880a8; font-style: italic;
}

/* --- my.php: delivery alert --- */
.my-delivery-alert {
  max-width: 1240px; margin: 0 auto 0; padding: 20px 24px;
  background: linear-gradient(135deg, #fff8e8, #fffcf0);
  border: 2px solid #f5c842;
  border-radius: 20px;
  margin-bottom: 20px;
}
.my-delivery-alert-head {
  display: flex; align-items: flex-start; gap: 14px; margin-bottom: 16px;
}
.my-delivery-alert-icon { font-size: 1.6rem; flex-shrink: 0; margin-top: 2px; }
.my-delivery-alert-head > div { flex: 1; }
.my-delivery-alert-head b { display: block; font-size: 1rem; font-weight: 800; color: #7a5500; margin-bottom: 3px; }
.my-delivery-alert-head p { margin: 0; font-size: .88rem; color: #9a6a10; }
.my-delivery-alert-close {
  flex-shrink: 0; border: 0; background: rgba(0,0,0,.07);
  width: 28px; height: 28px; border-radius: 50%;
  cursor: pointer; font-size: .8rem; color: #888; line-height: 1;
}
.my-delivery-form { }
.my-delivery-fields {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  gap: 10px; align-items: end;
}
.my-delivery-fields input {
  padding: 11px 14px; border-radius: 12px;
  border: 1.5px solid #e0d8b0;
  font-size: .9rem; background: #fff;
  outline: none; transition: border-color .15s;
}
.my-delivery-fields input:focus { border-color: #c8a020; }
.my-delivery-fields .primary-button { white-space: nowrap; }

@media(max-width: 768px) {
  .my-delivery-fields { grid-template-columns: 1fr 1fr; }
  .my-delivery-fields input:last-of-type { grid-column: 1/-1; }
  .my-delivery-fields .primary-button { grid-column: 1/-1; }
  .my-delivery-alert { border-radius: 16px; margin: 0 14px 16px; }
}
@media(max-width: 480px) {
  .my-delivery-fields { grid-template-columns: 1fr; }
}

/* ── Cart delivery block (sidebar + checkout) ── */
.cart-delivery-block {
  background: linear-gradient(135deg, #f0f4ff 0%, #e8eeff 100%);
  border: 1.5px solid #c8d4ff;
  border-radius: 14px;
  padding: 14px 16px 16px;
  margin-bottom: 14px;
}
.cart-delivery-head {
  display: flex; align-items: center; gap: 8px;
  font-size: .95rem; font-weight: 600; color: #2a3a8c;
  margin-bottom: 6px;
}
.cart-delivery-head span { font-size: 1.1rem; }
.cart-delivery-sub {
  font-size: .82rem; color: #5a6898; margin: 0 0 12px;
}
.cart-delivery-fields {
  display: flex; flex-direction: column; gap: 8px;
}
.cart-delivery-fields input {
  width: 100%; box-sizing: border-box;
  padding: 10px 13px; border-radius: 10px;
  border: 1.5px solid #c8d4ff;
  font-size: .88rem; background: #fff;
  outline: none; transition: border-color .15s;
}
.cart-delivery-fields input:focus { border-color: #5a7aff; }

/* Checkout page delivery form */
.cart-delivery-form {
  background: linear-gradient(135deg, #f0f4ff 0%, #e8eeff 100%);
  border: 1.5px solid #c8d4ff;
  border-radius: 16px;
  padding: 16px 18px;
  margin-bottom: 16px;
  display: flex; flex-direction: column; gap: 10px;
}
.cart-delivery-form-head {
  font-size: .95rem; font-weight: 600; color: #2a3a8c;
  margin-bottom: 2px;
}
.cart-delivery-form label {
  display: flex; flex-direction: column; gap: 4px;
  font-size: .82rem; color: #5a6898; font-weight: 500;
}
.cart-delivery-form input {
  padding: 10px 13px; border-radius: 10px;
  border: 1.5px solid #c8d4ff;
  font-size: .9rem; background: #fff;
  outline: none; transition: border-color .15s;
}
.cart-delivery-form input:focus { border-color: #5a7aff; }

/* Size/color picker required highlight */
.merch-picker-required .merch-size-chip span,
.merch-picker-required .merch-color-chip span {
  border-color: #e04040 !important;
}

/* ════════════════════════════════════════════════
   Publications grid (pub-page)  v6.9.12
   ════════════════════════════════════════════════ */
.pub-page { background: #f5f7fa; }

.pub-shell {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px 80px;
}

/* Hero card — same style as merch */
.pub-hero-card {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 24px;
  background: linear-gradient(135deg, #0f7a82 0%, #0a5560 60%, #073e47 100%);
  border-radius: 28px;
  padding: clamp(28px, 5vw, 54px) clamp(24px, 5vw, 54px);
  margin: 28px 0 32px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.pub-hero-card::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 80% 20%, rgba(255,255,255,.07) 0%, transparent 60%);
  pointer-events: none;
}
.pub-hero-card .eyebrow {
  color: rgba(255,255,255,.65);
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: 12px;
}
.pub-hero-card h1 {
  font-size: clamp(1.7rem, 4vw, 3rem);
  font-weight: 950;
  line-height: 1.1;
  margin: 0 0 14px;
  color: #fff;
}
.pub-hero-card p {
  margin: 0;
  font-size: 1rem;
  color: rgba(255,255,255,.75);
  line-height: 1.65;
  max-width: 600px;
}
.pub-hero-icons {
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 2rem;
  opacity: .35;
  user-select: none;
  flex-shrink: 0;
}

/* Filter tabs */
.pub-rubrics {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.pub-rubrics a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 18px;
  border-radius: 999px;
  border: 1.5px solid rgba(15,122,130,.18);
  background: #fff;
  color: #17323a;
  font-size: .9rem;
  font-weight: 750;
  text-decoration: none;
  transition: all .17s ease;
}
.pub-rubrics a b {
  font-size: .8rem;
  color: #0f7a82;
  font-weight: 700;
}
.pub-rubrics a:hover {
  border-color: #0f7a82;
  color: #0f7a82;
}
.pub-rubrics a.active {
  background: #0f7a82;
  border-color: #0f7a82;
  color: #fff;
}
.pub-rubrics a.active b {
  color: rgba(255,255,255,.8);
}

/* Card grid */
.pub-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

/* Base card */
.pub-card {
  background: #fff;
  border-radius: 20px;
  border: 1px solid rgba(15,122,130,.09);
  box-shadow: 0 4px 20px rgba(15,50,58,.05);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease;
}
.pub-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(15,50,58,.11);
}

.pub-card-link {
  display: flex;
  flex-direction: column;
  flex: 1;
  text-decoration: none;
  color: inherit;
}

/* Featured first card — full width */
.pub-card-featured {
  grid-column: 1 / -1;
  flex-direction: row;
}
.pub-card-featured .pub-card-link {
  flex-direction: row;
}
.pub-card-featured .pub-card-img {
  width: 48%;
  flex-shrink: 0;
  aspect-ratio: unset;
}
.pub-card-featured .pub-card-img img {
  height: 100%;
  object-fit: cover;
}
.pub-card-featured .pub-card-body {
  padding: clamp(24px, 4vw, 40px);
  justify-content: center;
}
.pub-card-featured .pub-card-body h2 {
  font-size: clamp(1.3rem, 2.4vw, 1.9rem);
  line-height: 1.22;
}
.pub-card-featured .pub-card-body p {
  font-size: .97rem;
  -webkit-line-clamp: 4;
}

/* Card image */
.pub-card-img {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #e8f5f5;
}
.pub-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}
.pub-card:hover .pub-card-img img {
  transform: scale(1.04);
}
.pub-card-cat {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(15,122,130,.88);
  color: #fff;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .09em;
  padding: 4px 10px;
  border-radius: 999px;
  backdrop-filter: blur(4px);
}

/* Card body */
.pub-card-body {
  padding: 20px 22px 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.pub-card-date {
  font-size: .75rem;
  color: #9aabb0;
  font-weight: 700;
  letter-spacing: .04em;
  margin-bottom: 8px;
  display: block;
}
.pub-card-body h2 {
  font-size: 1.05rem;
  font-weight: 880;
  line-height: 1.3;
  color: #17323a;
  margin: 0 0 10px;
}
.pub-card-body p {
  margin: 0;
  font-size: .88rem;
  color: #607a83;
  line-height: 1.62;
  flex: 1;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.pub-card-cta {
  display: inline-flex;
  margin-top: 14px;
  font-size: .85rem;
  font-weight: 900;
  color: #0f7a82;
  letter-spacing: .02em;
}

/* Empty state */
.pub-empty {
  text-align: center;
  padding: 80px 20px;
  color: #999;
}
.pub-empty span { display: block; font-size: 2.4rem; margin-bottom: 16px; }
.pub-empty h3 { font-size: 1.3rem; color: #444; margin: 0 0 8px; }
.pub-empty p { margin: 0; font-size: .92rem; }

/* Pagination */
.pub-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 40px;
  flex-wrap: wrap;
}
.pub-page-btn {
  padding: 10px 20px;
  border-radius: 12px;
  border: 1.5px solid rgba(15,122,130,.2);
  background: #fff;
  color: #0f7a82;
  font-weight: 750;
  font-size: .9rem;
  text-decoration: none;
  transition: all .15s;
}
.pub-page-btn:hover { background: #0f7a82; color: #fff; border-color: #0f7a82; }
.pub-page-btn.disabled { opacity: .35; pointer-events: none; }
.pub-page-nums {
  display: flex;
  gap: 6px;
  align-items: center;
}
.pub-page-num {
  min-width: 38px; height: 38px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 10px;
  border: 1.5px solid rgba(15,122,130,.18);
  background: #fff;
  color: #17323a;
  font-weight: 750;
  font-size: .9rem;
  text-decoration: none;
  transition: all .15s;
}
.pub-page-num:hover { border-color: #0f7a82; color: #0f7a82; }
.pub-page-num.active {
  background: #0f7a82;
  border-color: #0f7a82;
  color: #fff;
}
.pub-page-ellipsis { color: #aaa; padding: 0 4px; }

/* Responsive */
@media (max-width: 960px) {
  .pub-grid { grid-template-columns: repeat(2, 1fr); }
  .pub-card-featured { grid-column: 1 / -1; }
  .pub-card-featured .pub-card-link { flex-direction: column; }
  .pub-card-featured .pub-card-img { width: 100%; aspect-ratio: 16/9; }
  .pub-card-featured .pub-card-img img { height: 100%; }
}
@media (max-width: 620px) {
  .pub-grid { grid-template-columns: 1fr; }
  .pub-hero-card { grid-template-columns: 1fr; }
  .pub-hero-icons { display: none; }
  .pub-shell { padding: 0 14px 60px; }
  .pub-hero-card { margin: 16px 0 24px; border-radius: 20px; }
}

/* ── Delete account zone ── */
/* ── Danger zone (delete account) ── */
.delete-zone-idle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: #fff;
  border: 1.5px solid rgba(192,57,43,.18);
  border-radius: 18px;
  padding: 20px 24px;
}
.delete-zone-idle > div { flex: 1; min-width: 0; }
.delete-zone-label {
  display: inline-block;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #c0392b;
  margin-bottom: 6px;
}
.delete-zone-idle p {
  margin: 0;
  font-size: .88rem;
  color: #777;
  line-height: 1.6;
  max-width: 520px;
}
.delete-zone-btn {
  flex-shrink: 0;
  background: none;
  border: 1.5px solid rgba(192,57,43,.35);
  color: #c0392b;
  border-radius: 12px;
  padding: 10px 20px;
  font-size: .88rem;
  font-weight: 750;
  cursor: pointer;
  transition: all .15s;
  white-space: nowrap;
}
.delete-zone-btn:hover {
  background: #c0392b;
  border-color: #c0392b;
  color: #fff;
}
.delete-zone-confirm {
  background: linear-gradient(135deg, #fff5f4 0%, #fff0ee 100%);
  border: 1.5px solid rgba(192,57,43,.25);
  border-radius: 18px;
  padding: 24px 28px;
  display: flex;
  gap: 20px;
  align-items: flex-start;
  flex-wrap: wrap;
}
.delete-zone-confirm-icon { font-size: 2rem; flex-shrink: 0; margin-top: 2px; }
.delete-zone-confirm-text { flex: 1; min-width: 200px; }
.delete-zone-confirm-text b { font-size: 1.05rem; font-weight: 900; color: #8b1a0e; display: block; margin-bottom: 10px; }
.delete-zone-confirm-text ul { margin: 0; padding-left: 18px; color: #7a3028; font-size: .88rem; line-height: 2; }
.delete-zone-confirm-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  padding-top: 4px;
}
.danger-button {
  background: #c0392b;
  color: #fff;
  border: none;
  border-radius: 12px;
  padding: 12px 24px;
  font-weight: 800;
  font-size: .9rem;
  cursor: pointer;
  transition: background .15s;
}
.danger-button:hover { background: #a93226; }

.delete-zone-pending {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: #fff8e6;
  border: 1.5px solid #f5d87a;
  border-radius: 18px;
  padding: 20px 24px;
  flex-wrap: wrap;
}
.delete-zone-pending-icon { font-size: 1.6rem; flex-shrink: 0; margin-top: 2px; }
.delete-zone-pending-text { flex: 1; min-width: 200px; }
.delete-zone-pending-text b { font-size: .95rem; color: #7a5c00; display: block; margin-bottom: 4px; }
.delete-zone-pending-text p { margin: 0; font-size: .85rem; color: #9a7a20; line-height: 1.6; }

/* Archive row actions */
.archive-row-actions { display: flex; gap: 8px; align-items: center; flex-shrink: 0; }
.archive-row-actions .archive-button:last-child {
  color: #c0392b;
  border-color: #f5c6c6;
}
.archive-row-actions .archive-button:last-child:hover {
  background: #fff0f0;
  border-color: #c0392b;
}

/* ── Reading service card (consultation) ── */
.reading-service-card {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 1px solid rgba(15, 122, 130, .12);
  border-radius: 16px;
  padding: 16px 18px;
  text-decoration: none;
  color: inherit;
  transition: all .2s ease;
  margin-top: 16px;
}
.reading-service-card:hover {
  border-color: rgba(15, 122, 130, .28);
  box-shadow: 0 6px 20px rgba(11, 76, 86, .08);
}
.reading-service-card > span { font-size: 1.3rem; flex-shrink: 0; }
.reading-service-card b { font-size: .95rem; font-weight: 800; color: #17323a; }
.reading-service-card small { font-size: .75rem; font-weight: 700; color: #0f7a82; text-transform: uppercase; letter-spacing: .06em; }
.reading-service-card p { margin: 4px 0 0; font-size: .82rem; color: #666; }
.reading-service-card > a { margin-left: auto; flex-shrink: 0; font-weight: 800; color: #0f7a82; }

/* Reading service strip */
.reading-service-strip {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid rgba(0,0,0,.06);
}

/* ── Guest choice (cart.php) ── */
.guest-choice { margin: 24px 0 0; }
.guest-choice-label { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #999; margin-bottom: 10px; }
.guest-choice-options { display: flex; gap: 10px; margin-bottom: 16px; }
.guest-choice-btn {
  flex: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
  padding: 14px 16px; border: 2px solid var(--border, #e0d9f5); border-radius: 12px;
  background: #fff; cursor: pointer; text-align: left; transition: border-color .15s, box-shadow .15s;
}
.guest-choice-btn:hover { border-color: #0f7a82; }
.guest-choice-btn.active { border-color: #0f7a82; background: #f4fdfd; box-shadow: 0 0 0 3px rgba(15,122,130,.12); }
.guest-choice-icon { font-size: 1.3rem; line-height: 1; margin-bottom: 4px; color: #0f7a82; }
.guest-choice-title { font-size: .92rem; font-weight: 800; color: #17323a; }
.guest-choice-sub { font-size: .78rem; color: #888; }
.guest-panel { display: flex; flex-direction: column; gap: 12px; }
.guest-panel label { display: flex; flex-direction: column; gap: 4px; font-size: .85rem; font-weight: 700; color: #444; }
.guest-panel input { padding: .55rem .75rem; border: 2px solid var(--border,#e0d9f5); border-radius: 8px; font-size: .95rem; width: 100%; box-sizing: border-box; }
.guest-panel input:focus { border-color: #0f7a82; outline: none; }
@media (max-width: 480px) {
  .guest-choice-options { flex-direction: column; }
}

/* ── Product option cards (pay.php) ── */
.product-option {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: start;
  gap: 14px;
  padding: 18px 20px;
  border: 2px solid #e0d9f5;
  border-radius: 20px;
  cursor: pointer;
  transition: border-color .15s, background .15s, box-shadow .15s;
  margin: 6px 0;
  background: #fff;
}
.product-option input[type="checkbox"],
.product-option input[type="radio"] { display: none; }
.product-option.selected {
  border-color: #0f7a82;
  background: #f4fdfd;
  box-shadow: 0 0 0 3px rgba(15,122,130,.1);
}
.product-check {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid #ccc;
  display: grid;
  place-items: center;
  font-size: .9rem;
  color: transparent;
  flex-shrink: 0;
  margin-top: 2px;
  transition: background .15s, border-color .15s, color .15s;
}
.product-option.selected .product-check {
  background: #0f7a82;
  border-color: #0f7a82;
  color: #fff;
}
.product-copy {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.product-copy > small {
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #0f7a82;
}
.product-copy > b {
  font-size: 1rem;
  font-weight: 800;
  color: #17323a;
  line-height: 1.3;
}
.product-copy > em {
  font-style: normal;
  font-size: .82rem;
  color: #666;
  margin-top: 2px;
  line-height: 1.45;
}
.product-option > strong {
  text-align: right;
  white-space: nowrap;
  padding-top: 2px;
}
.product-option > strong u {
  display: block;
  font-size: 1.3rem;
  font-weight: 900;
  text-decoration: none;
  color: #17323a;
}
.product-option > strong small {
  display: block;
  font-size: .72rem;
  color: #888;
  margin-top: 2px;
  line-height: 1.4;
  font-weight: 600;
}

/* ── Daily pricing tiers on checkout (pay.php) ── */
.daily-checkout-pricing {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 10px;
}
.daily-checkout-pricing--single {
  grid-template-columns: 1fr;
}
.daily-checkout-tier {
  padding: 10px 12px;
  border-radius: 14px;
  border: 1.5px solid rgba(118, 87, 255, .14);
  background: linear-gradient(145deg, #faf8ff, #fff);
  transition: border-color .15s, box-shadow .15s, background .15s;
}
.daily-checkout-tier.is-active {
  border-color: #0f7a82;
  background: linear-gradient(135deg, #f2fcfc, #fff9ef);
  box-shadow: 0 0 0 3px rgba(15, 122, 130, .08);
}
.daily-checkout-tier em {
  display: block;
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #7a68d8;
  font-style: normal;
  margin-bottom: 5px;
}
.daily-checkout-tier p {
  margin: 0;
  font-size: .78rem;
  line-height: 1.35;
  color: #5f5878;
}
.daily-checkout-tier p b {
  font-size: .95rem;
  color: #563fd1;
  font-weight: 900;
}
.daily-checkout-tier p span {
  color: #7a7390;
}
.daily-checkout-next {
  margin-top: 4px !important;
  font-size: .7rem !important;
  color: #8a8498 !important;
}
.daily-checkout-next b {
  font-size: .78rem !important;
  color: #4f4967 !important;
}
.daily-price-display {
  text-align: right;
  white-space: nowrap;
  padding-top: 2px;
}
.daily-price-display u {
  display: block;
  font-size: 1.3rem;
  font-weight: 900;
  text-decoration: none;
  color: #17323a;
}
.daily-price-display small {
  display: block;
  font-size: .72rem;
  color: #888;
  margin-top: 2px;
  line-height: 1.4;
  font-weight: 600;
}

.checkout-total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 16px 0 4px;
  font-size: 1rem;
  font-weight: 700;
  color: #444;
  border-top: 1px solid #eee6fb;
  margin-top: 8px;
}
.checkout-total strong { font-size: 1.6rem; color: #17323a; }

/* ── cart-checkout-form layout ── */
.cart-checkout-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
.cart-checkout-form > label {
  font-weight: 800;
  color: #2e2057;
  font-size: .9rem;
}
.cart-checkout-form > label + input,
.cart-checkout-form > input {
  display: block;
  width: 100%;
  padding: .6rem .85rem;
  border: 2px solid #e0d9f5;
  border-radius: 10px;
  font-size: .95rem;
  box-sizing: border-box;
}
.cart-checkout-form > label + input:focus,
.cart-checkout-form > input:focus { border-color: #0f7a82; outline: none; }

@media (max-width: 560px) {
  .product-option { grid-template-columns: auto 1fr; gap: 12px; padding: 14px 16px; }
  .product-option > strong,
  .product-option > .daily-price-display { grid-column: 2; text-align: left; }
  .daily-checkout-pricing { grid-template-columns: 1fr; }
}

/* ── Daily first-time button with note ── */
a.daily-first-btn {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 1px !important;
  line-height: 1.2 !important;
}
a.daily-first-btn small {
  font-size: .68rem !important;
  font-weight: 600 !important;
  color: #0f7a82 !important;
}

/* ── Левый сайдбар продуктовых вкладок + правый сайдбар глав (десктоп) ── */
@media(min-width:900px){
  /* result-shell — сетка: левое меню | контент */
  /* Вариант А: productTabs внутри main (result, natal, daily) */
  .result-v3 main.result-shell,
  .natal-page main.result-shell,
  .daily-page main.result-shell {
    display: grid;
    grid-template-columns: 188px minmax(0,1fr);
    gap: 0 20px;
    align-items: start;
    padding-left: 0;
    padding-right: 0;
  }

  /* Вариант Б: productTabs снаружи main (family, biorhythms, consult, astrologer) */
  .result-page-layout {
    display: grid;
    grid-template-columns: 188px minmax(0,1fr);
    gap: 0 20px;
    align-items: start;
    width: min(1240px, calc(100% - 32px));
    margin: 0 auto;
  }
  .result-page-layout > main {
    grid-column: 2;
    min-width: 0;
    padding-top: 22px;
  }
  /* Левый сайдбар — продуктовые вкладки (все страницы) */
  .result-v3 .result-product-tabs[data-product-tabs],
  .natal-page .result-product-tabs[data-product-tabs],
  .daily-page .result-product-tabs[data-product-tabs],
  .result-page-layout .result-product-tabs[data-product-tabs] {
    grid-column: 1;
    grid-row: 1;
    position: sticky !important;
    top: 82px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    overflow-x: visible !important;
    overflow-y: auto;
    max-height: calc(100vh - 100px);
    padding: 10px 8px !important;
    border-radius: 18px;
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(218,211,239,.9);
    box-shadow: 0 12px 35px rgba(38,29,86,.08);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    z-index: 25;
    margin: 22px 0 0 !important;
    scrollbar-width: none;
  }
  .result-v3 .result-product-tabs[data-product-tabs]::-webkit-scrollbar,
  .natal-page .result-product-tabs[data-product-tabs]::-webkit-scrollbar,
  .daily-page .result-product-tabs[data-product-tabs]::-webkit-scrollbar,
  .result-page-layout .result-product-tabs[data-product-tabs]::-webkit-scrollbar { display: none; }
  /* Каждый пункт меню */
  .result-v3 .result-product-tabs[data-product-tabs] > a,
  .natal-page .result-product-tabs[data-product-tabs] > a,
  .daily-page .result-product-tabs[data-product-tabs] > a,
  .result-page-layout .result-product-tabs[data-product-tabs] > a {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 9px !important;
    padding: 9px 10px !important;
    border-radius: 12px !important;
    font-size: .78rem !important;
    font-weight: 640;
    color: #5f5670;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 38px;
    line-height: 1.25;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    flex: none !important;
    text-decoration: none;
    transition: background .14s, color .14s;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a span,
  .natal-page .result-product-tabs[data-product-tabs] > a span,
  .daily-page .result-product-tabs[data-product-tabs] > a span,
  .result-page-layout .result-product-tabs[data-product-tabs] > a span {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    background: #f0ecf8;
    color: #786b90;
    display: grid;
    place-items: center;
    font-size: 1rem;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a:hover,
  .natal-page .result-product-tabs[data-product-tabs] > a:hover,
  .daily-page .result-product-tabs[data-product-tabs] > a:hover,
  .result-page-layout .result-product-tabs[data-product-tabs] > a:hover {
    background: #f5f2fb !important;
    color: #3d2f8a;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a.active,
  .natal-page .result-product-tabs[data-product-tabs] > a.active,
  .daily-page .result-product-tabs[data-product-tabs] > a.active,
  .result-page-layout .result-product-tabs[data-product-tabs] > a.active {
    background: #ede8ff !important;
    color: #4a2fcb !important;
    font-weight: 780;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a.active span,
  .natal-page .result-product-tabs[data-product-tabs] > a.active span,
  .daily-page .result-product-tabs[data-product-tabs] > a.active span,
  .result-page-layout .result-product-tabs[data-product-tabs] > a.active span {
    background: #6c51dc;
    color: #fff;
  }
  .result-v3 .result-product-tabs[data-product-tabs] .tabs-sep,
  .natal-page .result-product-tabs[data-product-tabs] .tabs-sep,
  .daily-page .result-product-tabs[data-product-tabs] .tabs-sep,
  .result-page-layout .result-product-tabs[data-product-tabs] .tabs-sep {
    height: 1px;
    background: rgba(218,211,239,.7);
    margin: 2px 4px;
    flex: none;
  }
  /* Пункт «Скачать PDF» — выделен как кнопка-действие */
  .result-v3 .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"],
  .natal-page .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"],
  .daily-page .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"],
  .result-page-layout .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"] {
    background: linear-gradient(135deg, #6c52e8 0%, #9b7dff 100%) !important;
    color: #fff !important;
    font-weight: 700;
    margin-top: 6px;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"] span,
  .natal-page .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"] span,
  .daily-page .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"] span,
  .result-page-layout .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"] span {
    background: rgba(255,255,255,.22) !important;
    color: #fff !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"]:hover,
  .natal-page .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"]:hover,
  .daily-page .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"]:hover,
  .result-page-layout .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"]:hover {
    background: linear-gradient(135deg, #5b43d6 0%, #8a6ee8 100%) !important;
    color: #fff !important;
  }
  /* Основная колонка контента */
  .result-v3 .result-main-col {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
  }

  .result-v3.is-paid #panel-hd {
    display: grid;
    grid-template-columns: minmax(0,1fr) 252px;
    grid-template-areas: 'content nav';
    gap: 0 22px;
    align-items: start;
  }
  .result-v3.is-paid .reading-navigator {
    grid-area: nav;
    position: sticky;
    top: 82px;
    margin: 0;
    align-self: start;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    scrollbar-width: thin;
    z-index: 25;
  }
  .result-v3.is-paid .result-content-col {
    grid-area: content;
    min-width: 0;
  }
  /* глав-список — вертикально */
  .result-v3.is-paid .reading-chapter-list {
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: visible;
    scroll-snap-type: none;
    gap: 4px;
    padding: 0;
    margin-top: 8px;
  }
  .result-v3.is-paid .reading-chapter-link {
    flex: none;
    width: 100%;
    grid-template-columns: 26px minmax(0,1fr) auto;
    min-height: 40px;
    padding: 7px 10px;
  }
  .result-v3.is-paid .reading-chapter-link small { display: none; }
  .result-v3.is-paid .reading-chapter-link b { font-size: .72rem; white-space: normal; line-height: 1.3; }
  .result-v3.is-paid .reading-nav-toggle { display: none; }
  .result-v3.is-paid .reading-navigator-main { grid-template-columns: 1fr; }
  .result-v3.is-paid .reading-current small { display: block; }
}

/* ══ Reading v3 — одна колонка, журнальная типографика ══ */

/* Убираем сетку, делаем вертикальный поток */
.reading-grid-v3 {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 12px;
}

/* Карточка → раздел с разделителем снизу */
.reading-card-v3 {
  position: relative;
  padding: 38px 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #ede8f5;
  box-shadow: none;
  overflow: visible;
}
.reading-card-v3:last-child { border-bottom: 0; }
.reading-card-v3.featured { background: transparent; border-color: #ede8f5; }
.reading-card-v3:hover { transform: none !important; box-shadow: none !important; }

/* Номер — маленький лейбл над заголовком */
.reading-card-v3 .reading-number {
  position: static;
  display: block;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .16em;
  color: #9b8ccc;
  opacity: 1;
  margin-bottom: 4px;
  line-height: 1;
}

/* Лейбл раздела */
.reading-card-v3 .block-label {
  font-size: .62rem;
  color: #8570c8;
  letter-spacing: .14em;
}

/* Заголовок раздела — крупный, читаемый */
.reading-card-v3 h3 {
  font-size: 1.55rem;
  line-height: 1.22;
  margin: 6px 0 20px;
  max-width: 100%;
  color: #1a1335;
  letter-spacing: -.035em;
}

/* Основной текст */
.reading-card-v3 .reading-text {
  font-size: 1.02rem;
  line-height: 1.85;
  color: #3d3550;
}

/* Подглавы — без рамок, просто текстовые секции */
.reading-card-v3 .reading-subchapter {
  margin: 28px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.reading-card-v3 .reading-subchapter:first-child { margin-top: 0; }
.reading-card-v3 .reading-subchapter h4 {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #7a69b8;
  margin: 0 0 8px;
  font-weight: 900;
}
.reading-card-v3 .reading-subchapter p {
  margin: 0;
  font-size: 1.02rem;
  line-height: 1.85;
  color: #3d3550;
}

/* Premium tail */
.reading-card-v3 .premium-tail {
  margin: 24px 0 0;
  border-radius: 16px;
}

/* ── Быстрые параметры карты (над блоками HD) ── */
.hd-quick-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 28px;
  padding: 20px 22px;
  background: linear-gradient(135deg, #f8f6ff, #f2eeff);
  border: 1px solid #e0d8f7;
  border-radius: 20px;
}
.hd-quick-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1 1 120px;
}
.hd-quick-stat small {
  font-size: .6rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #9588c4;
}
.hd-quick-stat b {
  font-size: .92rem;
  font-weight: 820;
  color: #2a1f54;
  line-height: 1.3;
}

/* Убираем guide-панель — она теперь не нужна, info уже в quick-stats */
.reading-guide-panel { display: none; }

/* ══ Gates: closed by default, + / − icon ══ */
.gate-meaning summary > i { font-style: normal; }
/* closed: + stays as + */
/* open: rotate 45° = × is unwanted — override with − via content */
.gate-meaning[open] summary > i {
  transform: none;
  background: #6a4fd5;
  color: #fff;
  /* use CSS to show − instead of × */
  font-size: 1.1rem;
  line-height: 1;
}

/* ══ Author strip ══ */
.hd-author-strip {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 16px;
  padding: 13px 18px;
  border-radius: 14px;
  background: linear-gradient(135deg, #f5f3ff, #fdf9ff);
  border: 1px solid #e8e1f8;
}
.hd-author-icon {
  flex: 0 0 auto;
  font-size: 1.1rem;
  color: #7b5fd4;
  opacity: .7;
}
.hd-author-strip p {
  margin: 0;
  font-size: .82rem;
  line-height: 1.5;
  color: #6b5f8a;
}
.hd-author-strip b {
  color: #4a3882;
  font-weight: 820;
}

/* ══ Переключатель режима чтения ══ */
.reading-mode-switch {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-shrink: 0;
}
.mode-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 16px;
  border-radius: 99px;
  border: 1.5px solid #ddd6f5;
  background: #fff;
  color: #7a6aae;
  font-size: .8rem;
  font-weight: 800;
  cursor: pointer;
  transition: background .15s, color .15s, border-color .15s, box-shadow .15s;
  white-space: nowrap;
}
.mode-btn:hover { border-color: #bba9ef; background: #f7f4ff; }
.mode-btn.active {
  background: linear-gradient(135deg, #5b46e8, #7b60f0);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 6px 18px rgba(91,70,232,.28);
}
.mode-ai-badge {
  display: inline-block;
  background: rgba(255,255,255,.25);
  border-radius: 5px;
  padding: 1px 5px;
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .04em;
}
.mode-btn.active .mode-ai-badge { background: rgba(255,255,255,.3); }
.mode-btn.mode-btn-locked {
  opacity: .72;
  cursor: not-allowed;
  border-style: dashed;
}
.mode-btn.mode-btn-locked:hover {
  border-color: #e5dfef;
  background: #fff;
}
.reading-mode-note {
  margin: 6px 0 0;
  max-width: 420px;
  font-size: .82rem;
  line-height: 1.45;
  color: #7a7390;
}

/* Загрузка простого режима */
.simple-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: 48px 0;
  color: #9588c4;
  font-size: .9rem;
}
.simple-loading span {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: rgba(104,71,245,.35);
  animation: typing-dot 1.2s infinite both;
  margin: 0 3px;
}
.simple-loading span:nth-child(2) { animation-delay: .2s; }
.simple-loading span:nth-child(3) { animation-delay: .4s; }
.simple-loading p { margin: 8px 0 0; }

/* Карточка простого режима */
.simple-card .reading-number {
  color: #7fc4a0;
  font-weight: 900;
}
.simple-card h3 { color: #1a3d2e; }
.simple-text { font-size: 1.05rem; line-height: 1.9; color: #2e4a3c; }
.simple-text p { margin: 0; }
.simple-error { color: #c0392b; padding: 20px 0; font-size: .9rem; }

/* ══ Ворота: 3 колонки, вся карточка кликабельна ══ */

/* 3 колонки вместо 2 */
.gate-meaning-list {
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 8px !important;
}

/* Открытая карточка — на всю ширину */
.gate-meaning[open] {
  grid-column: 1 / -1 !important;
}

/* Summary — вся карточка = кнопка */
.gate-meaning summary {
  padding: 14px 16px !important;
  cursor: pointer !important;
  user-select: none;
  -webkit-user-select: none;
  transition: background .14s;
}
.gate-meaning:not([open]) summary:hover {
  background: #f5f1ff;
}
.gate-meaning:not([open]) {
  cursor: pointer;
}

/* Убираем маленький плюсик — делаем стрелку на всю высоту справа */
.gate-meaning summary > i {
  width: 28px !important;
  height: 28px !important;
  font-size: .95rem !important;
  border-radius: 10px !important;
}

/* Закрытое состояние — более компактное */
.gate-meaning:not([open]) summary {
  padding: 12px 14px !important;
}
.gate-meaning:not([open]) .gate-meaning-badge {
  min-width: 36px !important;
  height: 36px !important;
  font-size: .78rem !important;
  border-radius: 10px !important;
}

/* Мобайл — 2 колонки */
@media (max-width: 700px) {
  .gate-meaning-list {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}

/* ══ Gate Reader — чип-навигатор ══ */
.gate-reader { margin-top: 17px; }

.gate-reader-block {
  border: 1px solid #e5def3;
  border-radius: 22px;
  background: #fff;
  overflow: hidden;
}

.gate-reader-head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 18px 22px 12px;
  background: linear-gradient(135deg, #faf8ff, #f4f0ff);
  border-bottom: 1px solid #ede6f8;
}
.gate-reader-head p {
  margin: 0;
  font-size: .76rem;
  color: #7d7588;
}

/* Ряд чипов — горизонтальный скролл */
.gate-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 14px 18px;
  border-bottom: 1px solid #f0eaf8;
}

.gate-chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 8px 10px;
  border-radius: 14px;
  border: 1.5px solid #e2d9f5;
  background: #faf8ff;
  cursor: pointer;
  transition: background .13s, border-color .13s, box-shadow .13s;
  min-width: 58px;
  text-align: center;
}
.gate-chip:hover {
  background: #f0ebff;
  border-color: #bba9ef;
}
.gate-chip.active {
  background: linear-gradient(135deg, #5b46e8, #7b60f0);
  border-color: transparent;
  box-shadow: 0 4px 14px rgba(91,70,232,.28);
  color: #fff;
}
.gate-chip-num {
  font-size: .88rem;
  font-weight: 900;
  color: #4a3882;
  line-height: 1;
}
.gate-chip.active .gate-chip-num { color: #fff; }
.gate-chip-title {
  font-size: .58rem;
  color: #9588c4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 70px;
  line-height: 1.2;
}
.gate-chip.active .gate-chip-title { color: rgba(255,255,255,.8); }
.gate-chip.channel .gate-chip-num { font-size: .75rem; }

/* Панель с текстом — показывается одна */
.gate-reader-panel { padding: 0; }

.gate-panel-item { display: none; padding: 22px 24px 26px; }
.gate-panel-item.active { display: block; }

.gate-panel-label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid #f0eaf8;
}
.gate-panel-label .gate-meaning-badge { flex-shrink: 0; }
.gate-panel-label div small { display: block; color: #988fa3; font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; }
.gate-panel-label div b { display: block; color: #2a1f54; font-size: 1.05rem; margin-top: 2px; }

@media (max-width: 600px) {
  .gate-chip { min-width: 50px; padding: 7px 8px; }
  .gate-chip-title { max-width: 55px; font-size: .54rem; }
  .gate-panel-item { padding: 16px 16px 20px; }
}

/* ── Personal reader (horoscopes chip UI) ── */
.personal-reader-section { margin-top: 36px; }

.personal-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 20px 0 0;
}

.personal-chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 10px 14px;
  border-radius: 16px;
  border: 1.5px solid #e2d9f5;
  background: #faf8ff;
  cursor: pointer;
  transition: background .13s, border-color .13s, box-shadow .13s;
  min-width: 80px;
  text-align: center;
}
.personal-chip:hover { background: #f0ebff; border-color: #bba9ef; }
.personal-chip-icon { font-size: 1.1rem; line-height: 1; }
.personal-chip-label { font-size: .62rem; font-weight: 700; color: #6b5b9e; text-transform: uppercase; letter-spacing: .04em; line-height: 1.2; }

.personal-chip.violet { border-color: #c4b2f5; }
.personal-chip.aqua   { border-color: #a8dfcf; }
.personal-chip.gold   { border-color: #e6ca78; }
.personal-chip.coral  { border-color: #f0a8b0; }

.personal-chip.active.violet { background: linear-gradient(135deg,#5b46e8,#7b60f0); border-color: transparent; color: #fff; box-shadow: 0 4px 16px rgba(91,70,232,.3); }
.personal-chip.active.aqua   { background: linear-gradient(135deg,#14967f,#20c4a8); border-color: transparent; color: #fff; box-shadow: 0 4px 16px rgba(20,150,127,.3); }
.personal-chip.active.gold   { background: linear-gradient(135deg,#a57917,#d4a520); border-color: transparent; color: #fff; box-shadow: 0 4px 16px rgba(165,121,23,.3); }
.personal-chip.active.coral  { background: linear-gradient(135deg,#d14d5b,#e8697a); border-color: transparent; color: #fff; box-shadow: 0 4px 16px rgba(209,77,91,.3); }
.personal-chip.active .personal-chip-label { color: rgba(255,255,255,.85); }

.personal-reader-panel { margin-top: 16px; }

.personal-reader-item { display: none; padding: 30px 28px 36px; border-radius: 22px; background: #fff; border: 1px solid #e8e2f5; }
.personal-reader-item.active { display: block; }

.personal-reader-item.violet { border-color: #d8cefc; background: linear-gradient(160deg,#fff,#f7f4ff); }
.personal-reader-item.aqua   { border-color: #b8e8dd; background: linear-gradient(160deg,#fff,#f0fbf8); }
.personal-reader-item.gold   { border-color: #f0d88a; background: linear-gradient(160deg,#fff,#fffbef); }
.personal-reader-item.coral  { border-color: #f5bfc5; background: linear-gradient(160deg,#fff,#fff5f6); }

.personal-reader-item-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.personal-item-badge {
  width: 48px; height: 48px;
  border-radius: 16px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.35rem;
  flex-shrink: 0;
}
.personal-item-badge.violet { background: linear-gradient(135deg,#ede7ff,#ddd4fa); color: #5b46e8; }
.personal-item-badge.aqua   { background: linear-gradient(135deg,#d6f5ee,#c0ece3); color: #14967f; }
.personal-item-badge.gold   { background: linear-gradient(135deg,#fff2cc,#fde8a0); color: #a57917; }
.personal-item-badge.coral  { background: linear-gradient(135deg,#ffe0e4,#fccfd4); color: #d14d5b; }
.personal-reader-item-head small { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #9588c4; display: block; margin-bottom: 3px; }
.personal-reader-item-head h3 { margin: 0; font-size: 1.3rem; line-height: 1.2; color: #1e1535; }

.personal-reader-item .reading-text { font-size: .95rem; line-height: 1.75; color: #3a3550; }

@media (max-width: 600px) {
  .personal-chip { min-width: 70px; padding: 8px 10px; }
  .personal-chip-label { font-size: .58rem; }
  .personal-reader-item { padding: 20px 16px 24px; }
  .personal-reader-item-head h3 { font-size: 1.1rem; }
}

/* ── Sage accent (5th personal chip color) ── */
.personal-chip.sage   { border-color: #a8d4b8; }
.personal-chip.active.sage { background: linear-gradient(135deg,#2d8a5e,#3fb87a); border-color: transparent; color: #fff; box-shadow: 0 4px 16px rgba(45,138,94,.3); }
.personal-chip.active.sage .personal-chip-label { color: rgba(255,255,255,.85); }

.personal-reader-item.sage  { border-color: #b5e2c8; background: linear-gradient(160deg,#fff,#f0fbf4); }
.personal-item-badge.sage   { background: linear-gradient(135deg,#d0f0e0,#b8e8cf); color: #2d8a5e; }

/* ── Section heading + price badge (result guidance / modules) ── */
.section-heading.left.section-heading--priced {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 16px 24px;
}
.section-heading.left.section-heading--priced .section-heading-copy {
  min-width: 0;
}
.section-heading.left.section-heading--priced .section-heading-copy > p {
  margin: 10px 0 0;
  max-width: 62ch;
  font-size: .92rem;
  line-height: 1.65;
  color: #6b657a;
}
.included-modules-section .section-heading.left.section-heading--priced {
  margin-bottom: 18px;
}
.section-heading.left .section-heading-price.tiny-price {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  align-self: start;
  margin-top: 2px;
  min-width: 108px;
  padding: 12px 16px;
  border-radius: 16px;
  background: #251d4b;
  color: rgba(255, 255, 255, .82);
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  vertical-align: top;
}
.section-heading.left .section-heading-price.tiny-price b {
  display: block;
  margin: 0 0 3px;
  font-size: 1.28rem;
  font-weight: 900;
  letter-spacing: -.02em;
  color: #fff;
  line-height: 1.05;
}
.section-heading.left .section-heading-price.tiny-price small {
  display: block;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .62);
}
@media (max-width: 720px) {
  .section-heading.left.section-heading--priced {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .section-heading.left .section-heading-price.tiny-price {
    justify-self: start;
    flex-direction: row;
    align-items: baseline;
    gap: 8px;
    min-width: 0;
    padding: 10px 14px;
  }
  .section-heading.left .section-heading-price.tiny-price b {
    display: inline;
    margin: 0;
    font-size: 1.12rem;
  }
  .section-heading.left .section-heading-price.tiny-price small {
    display: inline;
    text-transform: none;
    letter-spacing: 0;
    font-size: .78rem;
  }
}

/* ── Guidance panel ── */
.guidance-reader-section .section-heading p.guidance-panel-lead {
  margin: 10px 0 0;
  max-width: 640px;
  font-size: .9rem;
  line-height: 1.6;
  color: #6a627e;
}
.guidance-daily-note {
  margin: 12px 0 0;
  max-width: 640px;
  font-size: .88rem;
  line-height: 1.5;
}
.guidance-daily-note a { font-weight: 600; }

.guidance-chart-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 4px;
}
.guidance-chart-badges span {
  padding: 6px 12px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .02em;
  color: #4f4580;
  background: #f3efff;
  border: 1px solid #e4dbfa;
}
.guidance-reader-section .guidance-reading-text .guidance-paragraph {
  margin: 0 0 22px;
  font-size: 1rem;
  line-height: 1.82;
  color: #342f4a;
}
.guidance-reader-section .guidance-reading-text .guidance-paragraph:last-child { margin-bottom: 0; }
.guidance-reader-section .personal-reader-item.knowledge-text .personal-reader-item-head small { color: #2d8a5e; }

.guidance-progress-strip {
  margin: 20px 0 24px;
  padding: 18px 20px;
  border-radius: 18px;
  background: linear-gradient(160deg, #fff, #f7f4ff);
  border: 1px solid #e4dbfa;
}
.guidance-progress-copy b { display: block; font-size: .95rem; color: #1e1535; margin-bottom: 4px; }
.guidance-progress-copy p { margin: 0 0 10px; font-size: .88rem; line-height: 1.55; color: #6b6580; }
.guidance-progress-label { font-size: .82rem; color: #7a6fad; }
.guidance-progress-bar {
  margin-top: 12px;
  height: 6px;
  border-radius: 999px;
  background: #ece7fa;
  overflow: hidden;
}
.guidance-progress-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #8b6cf8, #6847f5);
  transition: width .45s ease;
}

.identity-updating-note {
  margin: 12px 0 0;
  font-size: .82rem;
  color: #7a6fad;
}

.personal-chip.is-guidance-locked { opacity: .72; position: relative; }
.personal-chip.is-guidance-pending {
  opacity: .55;
  cursor: default;
  filter: grayscale(.35);
  background: #f3f1f8;
  border-color: #d8d2ea;
  box-shadow: none;
}
.personal-chip.is-guidance-pending:hover { background: #f3f1f8; border-color: #d8d2ea; }
.personal-chip.is-guidance-pending .personal-chip-label { color: #9a92b0; }
.guidance-chip-status {
  display: block;
  margin-top: 3px;
  font-size: .52rem;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #9a92b0;
  line-height: 1.2;
}
.guidance-chip-lock { font-size: .72rem; margin-left: 2px; }

.guidance-pending-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 180px;
  padding: 32px 24px;
  text-align: center;
  color: #7a7390;
  background: linear-gradient(180deg, rgba(255,255,255,.2), rgba(247,244,255,.9));
  border-radius: 14px;
}
.guidance-pending-spinner {
  display: inline-block;
  font-size: 1.4rem;
  color: #8b6cf8;
  animation: guidance-spin 1.4s linear infinite;
}
.guidance-pending-placeholder p {
  margin: 0;
  font-size: .95rem;
  font-weight: 600;
  color: #5c5670;
}
.guidance-pending-placeholder small {
  max-width: 36ch;
  font-size: .82rem;
  line-height: 1.55;
  color: #8a849c;
}
@keyframes guidance-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.personal-reader-item.is-guidance-locked {
  position: relative;
  min-height: 220px;
  overflow: hidden;
}
.guidance-lock-overlay {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 36px 24px;
  text-align: center;
  background: linear-gradient(180deg, rgba(255,255,255,.15), rgba(247,244,255,.95));
}
.guidance-lock-icon { font-size: 1.6rem; }
.guidance-lock-overlay p {
  margin: 0;
  max-width: 34ch;
  font-size: .92rem;
  line-height: 1.6;
  color: #5c5670;
}

/* ── Натальная карта: главные табы По жизни / Сегодня ─────────────────── */
.natal-main-tabs {
  display: inline-flex;
  gap: 0;
  margin-bottom: 28px;
  background: #fff;
  border-radius: 16px;
  padding: 5px;
  border: 1.5px solid rgba(104,71,245,.18);
  box-shadow: 0 2px 12px rgba(104,71,245,.08);
}
.natal-main-tab {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 11px 28px;
  border: none;
  border-radius: 12px;
  background: transparent;
  font-size: .95rem;
  font-weight: 600;
  color: #7060aa;
  cursor: pointer;
  transition: background .2s, color .2s, box-shadow .2s;
  letter-spacing: -.01em;
  white-space: nowrap;
}
.natal-main-tab::before { content: ''; display: none; }
.natal-main-tab[data-natal-main-tab="life"]::before {
  content: '✦';
  font-size: .8rem;
  color: #6847f5;
  display: inline;
}
.natal-main-tab[data-natal-main-tab="today"]::before {
  content: '☀';
  font-size: .85rem;
  display: inline;
}
.natal-main-tab.active {
  background: linear-gradient(135deg, #6847f5, #8b68ff);
  color: #fff;
  box-shadow: 0 4px 18px rgba(104,71,245,.35);
}
.natal-main-tab.active::before { color: rgba(255,255,255,.85); }

/* ── Меню с группами ─────────────────────────────────────────────────── */
.natal-menu-group-label {
  font-size: .61rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #b8aedd;
  padding: 14px 12px 5px;
  border-top: 1px solid rgba(104,71,245,.08);
  margin-top: 4px;
}
.natal-menu-group-label:first-child { border-top: none; margin-top: 0; padding-top: 4px; }
.natal-reading-menu.natal-reading-menu-grouped button.natal-menu-life {
  background: linear-gradient(135deg,rgba(104,71,245,.08),rgba(104,71,245,.03));
  border-left: 2.5px solid #a78bfa;
  margin-left: -1px;
}
.natal-reading-menu.natal-reading-menu-grouped button.natal-menu-life b {
  color: #4a2ec0;
}
.natal-reading-menu.natal-reading-menu-grouped button.natal-menu-life.active {
  background: linear-gradient(135deg,#6847f5,#8b68ff);
  border-left-color: transparent;
}

/* ── Таб «Сегодня»: обёртка ──────────────────────────────────────────── */
.natal-tab-pane[data-natal-pane="today"] {
  padding: 0 0 8px;
}
.natal-today-layout {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 0 0 16px;
}

/* Hero — заголовок дня */
.natal-today-hero {
  position: relative;
  padding: 32px 28px 28px;
  background: linear-gradient(135deg, #4a29c1 0%, #6847f5 55%, #8b5cf6 100%);
  border-radius: 22px;
  overflow: hidden;
  color: #fff;
}
.natal-today-hero::after {
  content: '✦';
  position: absolute;
  right: 24px; top: 20px;
  font-size: 2.5rem;
  opacity: .15;
  pointer-events: none;
}
.natal-today-hero .eyebrow {
  color: rgba(255,255,255,.65);
  font-size: .7rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 10px;
}
.natal-today-hero h3 {
  margin: 0 0 0;
  font-size: 1.5rem;
  line-height: 1.25;
  color: #fff;
  font-weight: 700;
}

/* Аффирмация */
.natal-today-affirmation {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-top: 20px;
  padding: 14px 18px;
  background: rgba(255,255,255,.14);
  border-radius: 14px;
  backdrop-filter: blur(4px);
}
.natal-today-affirmation span {
  font-size: 1.3rem;
  flex-shrink: 0;
  opacity: .9;
}
.natal-today-affirmation p {
  margin: 0;
  font-style: italic;
  font-size: .97rem;
  color: rgba(255,255,255,.92);
  line-height: 1.55;
}

/* Блок краткого описания */
.natal-today-summary {
  padding: 20px 22px;
  background: #fff;
  border-radius: 18px;
  border: 1px solid #ece7fb;
  font-size: .95rem;
  line-height: 1.78;
  color: #2d2050;
}

/* Подсказка Human Design */
.natal-today-tip {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 18px 20px;
  background: linear-gradient(135deg, rgba(104,71,245,.08), rgba(104,71,245,.03));
  border-radius: 16px;
  border: 1.5px solid rgba(104,71,245,.15);
}
.natal-today-tip span {
  font-size: 1.3rem;
  color: #6847f5;
  flex-shrink: 0;
  margin-top: 1px;
}
.natal-today-tip b {
  display: block;
  margin-bottom: 6px;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #6847f5;
  font-weight: 700;
}
.natal-today-tip p {
  margin: 0;
  font-size: .93rem;
  color: #2d2050;
  line-height: 1.65;
}

/* Планеты/транзиты */
.natal-today-transits {
  padding: 18px 20px;
  background: #faf8ff;
  border-radius: 16px;
  border: 1px solid rgba(104,71,245,.12);
  font-size: .88rem;
  color: #3a3550;
  line-height: 1.7;
}
.natal-today-transits .eyebrow {
  margin-bottom: 10px;
  font-size: .68rem;
  letter-spacing: .09em;
  color: #9588c4;
}
.natal-today-transits p { margin: 6px 0 0; }

/* Сетка тем дня */
.natal-today-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.natal-today-grid article {
  padding: 16px 15px 14px;
  background: #fff;
  border-radius: 16px;
  border: 1px solid #ece7fb;
  transition: box-shadow .18s;
}
.natal-today-grid article:hover { box-shadow: 0 4px 16px rgba(104,71,245,.1); }
.natal-today-grid article span {
  font-size: 1.15rem;
  display: block;
  margin-bottom: 5px;
  color: #6847f5;
}
.natal-today-grid article b {
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #a89cc8;
  display: block;
  margin-bottom: 7px;
  font-weight: 700;
}
.natal-today-grid article p {
  margin: 0;
  font-size: .85rem;
  line-height: 1.6;
  color: #3a3550;
}

/* Фокус дня */
.natal-today-focus {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 16px 20px;
  background: linear-gradient(135deg, #fff8e6, #fff3d0);
  border-radius: 14px;
  border: 1px solid rgba(245,184,70,.3);
  font-size: .92rem;
  color: #2d2050;
  line-height: 1.65;
}
.natal-today-focus::before {
  content: '◎';
  font-size: 1.1rem;
  color: #c08a10;
  flex-shrink: 0;
  margin-top: 1px;
}

/* Не делать / ритуал */
.natal-today-bottom {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  font-size: .88rem;
  color: #3a3550;
  line-height: 1.65;
}
.natal-today-bottom p {
  margin: 0;
  padding: 14px 16px;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #ece7fb;
}
.natal-today-bottom p b { color: #6847f5; display: block; margin-bottom: 5px; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }

/* CTA */
.natal-today-cta {
  padding-top: 4px;
  text-align: center;
}

/* ── Обзор: подсказка ────────────────────────────────────────────────── */
.natal-overview-hints {
  margin-top: 16px;
  padding: 13px 16px;
  background: linear-gradient(135deg, rgba(104,71,245,.07), rgba(104,71,245,.03));
  border-radius: 12px;
  border-left: 3px solid #a78bfa;
  font-size: .83rem;
  color: #4a3a7a;
  line-height: 1.6;
}

@media (max-width: 800px) {
  .natal-today-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .natal-main-tab { font-size: .85rem; padding: 9px 16px; }
  .natal-today-hero { padding: 22px 18px 20px; }
  .natal-today-hero h3 { font-size: 1.25rem; }
  .natal-today-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .natal-today-bottom { grid-template-columns: 1fr; }
  .natal-today-summary, .natal-today-tip { padding: 16px; }
}

/* ── Транзитные аспекты в табе «Сегодня» ────────────────────────────── */
.natal-today-aspects {
  background: #faf8ff;
  border-radius: 18px;
  border: 1px solid rgba(104,71,245,.12);
  padding: 20px 18px 18px;
}
.natal-today-aspects-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #6847f5;
  font-weight: 700;
}
.natal-today-aspects-head span { font-size: 1rem; }
.natal-today-aspects-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.natal-transit-card {
  padding: 14px 16px;
  border-radius: 14px;
  border-left: 3px solid #c4bae8;
  background: #fff;
}
.natal-transit-card.natal-transit-harmony {
  border-left-color: #4caf7a;
  background: linear-gradient(135deg, #f0fbf5, #fff);
}
.natal-transit-card.natal-transit-tension {
  border-left-color: #e8774a;
  background: linear-gradient(135deg, #fff8f5, #fff);
}
.natal-transit-card.natal-transit-neutral {
  border-left-color: #6847f5;
  background: linear-gradient(135deg, #f7f4ff, #fff);
}
.natal-transit-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  flex-wrap: wrap;
}
.natal-transit-sym {
  font-size: 1rem;
  width: 22px;
  text-align: center;
  flex-shrink: 0;
}
.natal-transit-head b {
  font-size: .88rem;
  font-weight: 700;
  color: #1e1535;
  flex: 1;
}
.natal-transit-head small {
  font-size: .72rem;
  color: #9588c4;
  white-space: nowrap;
}
.natal-transit-card p {
  margin: 0;
  font-size: .85rem;
  line-height: 1.65;
  color: #3a3550;
}

@media (max-width: 640px) {
  .natal-today-aspects { padding: 14px 12px; }
  .natal-transit-card { padding: 12px 12px; }
}

/* ── Натальное меню: светлый стиль вместо тёмного ───────────────────── */
.natal-reading-menu {
  background: #fff !important;
  color: #1e1535 !important;
  box-shadow: 0 4px 24px rgba(104,71,245,.1) !important;
  border: 1.5px solid rgba(104,71,245,.12) !important;
}
.natal-reading-menu > small { color: #a89cc8 !important; }
.natal-reading-menu button {
  color: #4a3a7a !important;
  border-radius: 12px !important;
}
.natal-reading-menu button > span {
  background: rgba(104,71,245,.08) !important;
  color: #6847f5 !important;
}
.natal-reading-menu button em { color: #a89cc8 !important; }
.natal-reading-menu button b { color: #2d2050 !important; }
.natal-reading-menu button:hover { background: rgba(104,71,245,.06) !important; }
.natal-reading-menu button.active {
  background: linear-gradient(135deg, #6847f5, #8b68ff) !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(104,71,245,.28) !important;
}
.natal-reading-menu button.active > span {
  background: rgba(255,255,255,.2) !important;
  color: #fff !important;
}
.natal-reading-menu button.active b { color: #fff !important; }
.natal-reading-menu button.active em { color: rgba(255,255,255,.7) !important; }

/* Жизненные темы в светлом меню */
.natal-reading-menu.natal-reading-menu-grouped button.natal-menu-life {
  background: linear-gradient(135deg, rgba(104,71,245,.07), rgba(104,71,245,.02)) !important;
  border-left: 2.5px solid #a78bfa !important;
}
.natal-reading-menu.natal-reading-menu-grouped button.natal-menu-life b {
  color: #5030c8 !important;
}
.natal-reading-menu.natal-reading-menu-grouped button.natal-menu-life > span {
  color: #6847f5 !important;
}
.natal-reading-menu.natal-reading-menu-grouped button.natal-menu-life.active {
  background: linear-gradient(135deg, #6847f5, #8b68ff) !important;
  border-left-color: transparent !important;
}
.natal-reading-menu.natal-reading-menu-grouped button.natal-menu-life.active b { color: #fff !important; }

/* ── Виджет поддержки ─────────────────────────────────────────────────── */
.support-widget {
  position: fixed;
  bottom: 20px;
  right: 80px;
  z-index: 9000;
  font-family: inherit;
  font-size: 14px;
}
/* Кнопка-тогглер */
.support-toggle {
  display: flex;
  align-items: center;
  gap: 7px;
  background: #6847f5;
  color: #fff;
  border: none;
  border-radius: 24px;
  padding: 9px 16px 9px 11px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .01em;
  box-shadow: 0 4px 20px rgba(104,71,245,.4);
  transition: box-shadow .15s, transform .15s;
  white-space: nowrap;
  line-height: 1;
}
.support-toggle:hover { box-shadow: 0 6px 28px rgba(104,71,245,.5); transform: translateY(-1px); }
.support-toggle-icon {
  width: 22px; height: 22px;
  background: rgba(255,255,255,.2);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 800; flex-shrink: 0;
}
/* Панель чата */
.support-panel {
  position: absolute;
  bottom: calc(100% + 10px);
  right: 0;
  width: 320px;
  height: 460px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 12px 48px rgba(40,20,100,.18), 0 2px 8px rgba(40,20,100,.08);
  border: 1px solid rgba(104,71,245,.12);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
/* Шапка панели */
.support-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 14px 12px;
  background: linear-gradient(135deg,#6847f5 0%,#9068ff 100%);
  color: #fff;
  flex-shrink: 0;
}
.support-panel-head b { font-size: 14px; font-weight: 700; letter-spacing: .01em; }
.support-close {
  width: 26px; height: 26px;
  background: rgba(255,255,255,.15);
  border: none; border-radius: 50%;
  color: #fff; font-size: 17px; line-height: 1;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; flex-shrink: 0;
  transition: background .12s;
}
.support-close:hover { background: rgba(255,255,255,.28); }
/* Область чата — скроллится */
.support-chat {
  flex: 1;
  overflow-y: auto;
  padding: 14px 12px 8px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overscroll-behavior: contain;
}
/* Сообщения */
.support-msg { display: flex; }
.support-msg-user { justify-content: flex-end; }
.support-msg-bot  { justify-content: flex-start; }
.support-msg-chips { display: block; }
.support-bubble {
  max-width: 86%;
  padding: 8px 12px;
  border-radius: 14px;
  font-size: 13px;
  line-height: 1.55;
  word-break: break-word;
}
.support-msg-bot .support-bubble {
  background: #f0ebff;
  color: #1e1248;
  border-bottom-left-radius: 3px;
}
.support-msg-user .support-bubble {
  background: #6847f5;
  color: #fff;
  border-bottom-right-radius: 3px;
}
.support-contact-link {
  color: #6847f5;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  margin-top: 3px;
}
.support-contact-link:hover { text-decoration: underline; }
/* Чипы тем — отображаются прямо в чате */
.support-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 2px 0 2px;
}
.support-chip {
  background: #fff;
  border: 1.5px solid rgba(104,71,245,.25);
  border-radius: 20px;
  color: #4a2dc5;
  font-size: 12px;
  font-weight: 500;
  padding: 5px 12px;
  cursor: pointer;
  transition: background .12s, border-color .12s;
  text-align: left;
  line-height: 1.3;
}
.support-chip:hover { background: #f0ebff; border-color: #6847f5; }
/* Кнопка «← Другой вопрос» */
.support-back-btn {
  background: none;
  border: none;
  color: #8b72d8;
  font-size: 12px;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
}
.support-back-btn:hover { color: #6847f5; }
/* Поле ввода */
.support-input-row {
  display: flex;
  gap: 6px;
  padding: 8px 10px 10px;
  border-top: 1px solid rgba(104,71,245,.09);
  flex-shrink: 0;
  background: #fafafe;
}
.support-input {
  flex: 1;
  border: 1.5px solid rgba(104,71,245,.2);
  border-radius: 20px;
  padding: 7px 13px;
  font-size: 13px;
  outline: none;
  color: #1e1535;
  background: #fff;
  font-family: inherit;
}
.support-input:focus { border-color: #6847f5; }
.support-send {
  width: 34px; height: 34px;
  border-radius: 50%;
  background: #6847f5;
  border: none; color: #fff;
  font-size: 15px; font-weight: 700;
  cursor: pointer; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  transition: background .12s;
  line-height: 1;
}
.support-send:hover { background: #5538d4; }
/* Мобильный вид */
@media(max-width:600px){
  .support-widget { right: 10px; bottom: 10px; }
  .support-panel {
    position: fixed;
    bottom: 0; right: 0; left: 0;
    width: 100%; height: 70vh;
    border-radius: 20px 20px 0 0;
  }
  .support-toggle-label { display: none; }
  .support-toggle { padding: 10px; border-radius: 50%; }
}

/* 6.9.28 — visible natal generation state */
.natal-loading-card {
  margin: 22px 0 0;
  padding: clamp(18px, 3vw, 26px);
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  border-radius: 24px;
  border: 1px solid rgba(15,122,130,.16);
  background: linear-gradient(135deg, rgba(15,122,130,.08), rgba(104,71,245,.08)), #fff;
  box-shadow: 0 18px 54px rgba(11,76,86,.08);
}

.natal-loading-card[hidden] {
  display: none !important;
}

.natal-loading-orbit {
  position: relative;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #eefaf7;
  display: grid;
  place-items: center;
}

.natal-loading-orbit::before {
  content: '';
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  border: 2px solid rgba(15,122,130,.18);
  border-top-color: #0f7a82;
  animation: natalSpin 1.25s linear infinite;
}

.natal-loading-orbit span {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #0f7a82;
  box-shadow: 0 0 0 8px rgba(15,122,130,.1);
}

.natal-loading-orbit i,
.natal-loading-orbit em {
  position: absolute;
  border-radius: 50%;
  background: #6847f5;
}

.natal-loading-orbit i {
  width: 9px;
  height: 9px;
  right: 8px;
  top: 16px;
}

.natal-loading-orbit em {
  width: 7px;
  height: 7px;
  left: 12px;
  bottom: 14px;
  opacity: .75;
}

.natal-loading-copy b {
  display: block;
  color: #17323a;
  font-size: 1.08rem;
  line-height: 1.25;
}

.natal-loading-copy p {
  margin: 7px 0 0;
  color: #5f6e78;
  line-height: 1.55;
}

.natal-loading-copy small {
  display: block;
  margin-top: 9px;
  color: #7a8790;
  line-height: 1.45;
}

.natal-loading-track {
  position: relative;
  height: 8px;
  margin-top: 13px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(15,122,130,.12);
}

.natal-loading-track i {
  position: absolute;
  inset: 0 auto 0 0;
  width: 42%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0f7a82, #34aa99, #6847f5);
  animation: natalTrack 1.8s ease-in-out infinite;
}

.natal-loading-card.is-ready .natal-loading-orbit::before {
  animation: none;
  border-color: rgba(15,122,130,.2);
  border-top-color: rgba(15,122,130,.2);
}

.natal-loading-card.is-ready .natal-loading-track i {
  width: 100%;
  animation: none;
}

.natal-loading-card.has-error {
  border-color: rgba(203,72,72,.18);
  background: linear-gradient(135deg, rgba(203,72,72,.08), rgba(255,255,255,.92));
}

@keyframes natalSpin {
  to { transform: rotate(360deg); }
}

@keyframes natalTrack {
  0% { transform: translateX(-100%); }
  50% { transform: translateX(90%); }
  100% { transform: translateX(250%); }
}

@media (max-width: 720px) {
  .natal-loading-card {
    grid-template-columns: 56px minmax(0, 1fr);
    align-items: start;
  }

  .natal-loading-orbit {
    width: 52px;
    height: 52px;
  }

  .natal-loading-card > .secondary-button,
  .natal-loading-card > a.secondary-button {
    grid-column: 1 / -1;
    width: 100%;
    justify-content: center;
  }
}

/* 6.9.29 — immediate navigation feedback for slow natal first paint */
.page-transition-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(238, 247, 248, .72);
  opacity: 0;
  pointer-events: none;
  backdrop-filter: blur(10px);
  transition: opacity .18s ease;
}

.page-transition-loader.is-visible {
  opacity: 1;
}

.page-transition-card {
  width: min(560px, 100%);
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding: 22px;
  border-radius: 26px;
  border: 1px solid rgba(15,122,130,.16);
  background: #fff;
  box-shadow: 0 28px 80px rgba(12, 63, 74, .18);
}

.page-transition-orbit {
  position: relative;
  width: 66px;
  height: 66px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #eefaf7;
}

.page-transition-orbit::before {
  content: '';
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  border: 2px solid rgba(15,122,130,.18);
  border-top-color: #0f7a82;
  animation: natalSpin 1.15s linear infinite;
}

.page-transition-orbit span {
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: #0f7a82;
  box-shadow: 0 0 0 8px rgba(15,122,130,.1);
}

.page-transition-orbit i,
.page-transition-orbit em {
  position: absolute;
  border-radius: 50%;
  background: #6847f5;
}

.page-transition-orbit i {
  width: 9px;
  height: 9px;
  right: 8px;
  top: 16px;
}

.page-transition-orbit em {
  width: 7px;
  height: 7px;
  left: 12px;
  bottom: 14px;
  opacity: .74;
}

.page-transition-card b {
  display: block;
  color: #17323a;
  font-size: 1.15rem;
  line-height: 1.25;
}

.page-transition-card p {
  margin: 7px 0 0;
  color: #5f6e78;
  line-height: 1.55;
}

.page-transition-track {
  position: relative;
  height: 8px;
  margin-top: 14px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(15,122,130,.12);
}

.page-transition-track i {
  position: absolute;
  inset: 0 auto 0 0;
  width: 42%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0f7a82, #34aa99, #6847f5);
  animation: natalTrack 1.7s ease-in-out infinite;
}

@media (max-width: 640px) {
  .page-transition-card {
    grid-template-columns: 1fr;
    justify-items: start;
    border-radius: 22px;
  }
}

/* 6.9.30 — keep natal and today loading states separated */
.natal-reading-workspace.is-today-tab .natal-education-grid,
.natal-reading-workspace.is-today-tab [data-natal-status] {
  display: none !important;
}

/* 6.9.31 — payments pane cards */
.pay-pane{padding:4px 0 40px}
.pay-pane-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.pay-pane-head h2{margin:0 0 4px;font-size:1.4rem;font-weight:700}
.pay-pane-head p{margin:0;font-size:14px;color:var(--muted,#6b7280)}
.pay-pane-total{text-align:right;background:var(--rd-soft,#f5f3ff);border-radius:12px;padding:12px 18px;min-width:120px}
.pay-pane-total span{display:block;font-size:12px;color:var(--muted,#6b7280);margin-bottom:2px;text-transform:uppercase;letter-spacing:.05em}
.pay-pane-total b{font-size:1.5rem;font-weight:800;color:var(--rd-primary-strong,#6d28d9)}
.pay-list{display:flex;flex-direction:column;gap:10px}
.pay-card{display:flex;align-items:center;gap:16px;background:#fff;border:1.5px solid var(--border,#e5e7eb);border-radius:14px;padding:16px 20px;transition:box-shadow .15s,border-color .15s}
.pay-card:hover{box-shadow:0 4px 18px rgba(124,58,237,.08);border-color:var(--rd-primary,#7c3aed)}
.pay-card-icon{width:44px;height:44px;border-radius:12px;background:var(--rd-soft,#f5f3ff);color:var(--rd-primary,#7c3aed);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}
.pay-card-body{flex:1;min-width:0}
.pay-card-title{font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.pay-name-chip{background:var(--rd-soft,#f5f3ff);color:var(--rd-primary,#7c3aed);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:500}
.pay-card-subtitle{margin:3px 0 6px;font-size:.84rem;line-height:1.45;color:#6b7280}
.promo-target-pick{margin-top:10px;padding:10px 12px;border-radius:12px;background:#fff8ef;border:1px solid #f5d9a8}
.promo-target-pick-label{display:block;margin-bottom:8px;font-size:.78rem;font-weight:700;color:#92400e}
.promo-target-options{display:flex;flex-direction:column;gap:6px}
.promo-target-option{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #f0e4c8;font-size:.84rem;color:#5c3d0a;cursor:pointer}
.promo-target-option:has(input:checked){border-color:#b45309;box-shadow:0 0 0 2px rgba(245,158,11,.18)}
.promo-target-option input{margin:0}
.pay-card--pending .pay-card-subtitle{color:#8a6a3f}
.pay-card-meta{display:flex;gap:14px;flex-wrap:wrap}
.pay-card-date{font-size:13px;color:var(--muted,#6b7280);font-variant-numeric:tabular-nums}
.pay-card-id{font-size:12px;color:var(--muted,#9ca3af);font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}
.pay-card-amount{font-size:1.2rem;font-weight:800;color:var(--rd-primary-strong,#6d28d9);white-space:nowrap;flex-shrink:0}
@media(max-width:540px){
  .pay-card{padding:14px;gap:12px}
  .pay-card-icon{width:38px;height:38px;font-size:1.1rem}
  .pay-card-amount{font-size:1rem}
  .pay-card-id{display:none}
}
.pay-card-status-paid{font-size:12px;color:#059669;font-weight:600}
.pay-card-status-deleted{font-size:12px;color:#b45309;font-weight:600}
.pay-card--deleted{border-color:#fde68a;background:#fffbeb}
.pay-card--deleted .pay-card-icon{background:#fef3c7;color:#b45309}
.pay-card--deleted .pay-card-amount{color:#92400e}

/* Guidance skeleton while AI generates */
.guidance-skeleton .personal-reader-item-head small{color:#9ca3af}
.guidance-skel-line{height:13px;border-radius:6px;background:linear-gradient(90deg,#f0f0f5 25%,#e4e4ed 50%,#f0f0f5 75%);background-size:200% 100%;animation:skel-shimmer 1.4s ease infinite;margin-bottom:10px}
.guidance-skel-line.w80{width:80%}.guidance-skel-line.w60{width:60%}.guidance-skel-line.w90{width:90%}
@keyframes skel-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Tests page — element balance panel */
.tests-elements-panel{background:var(--rd-soft,#f5f3ff);border-radius:16px;padding:20px 24px;margin:0 0 28px;max-width:900px}
.tests-elements-head{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-weight:600;font-size:15px}
.tests-elements-head span{font-size:18px;color:var(--rd-primary,#7c3aed)}
.tests-elements-head small{margin-left:auto;font-size:12px;font-weight:400;color:var(--muted,#6b7280)}
.tests-elements-bars{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.tests-element-row{display:grid;grid-template-columns:64px 1fr 36px;align-items:center;gap:10px}
.tests-element-name{font-size:13px;font-weight:500;color:#333}
.tests-element-track{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}
.tests-element-fill{height:100%;border-radius:4px;transition:width .4s}
.tests-element-pct{font-size:12px;color:var(--muted,#6b7280);text-align:right;font-variant-numeric:tabular-nums}
.tests-elements-hint{font-size:13px;color:var(--muted,#6b7280);margin:0 0 10px}
.tests-elements-link{font-size:13px;color:var(--rd-primary,#7c3aed);font-weight:500;text-decoration:none}
.tests-elements-link:hover{text-decoration:underline}
@media(max-width:540px){.tests-elements-panel{padding:16px 16px}.tests-element-row{grid-template-columns:58px 1fr 32px}}

/* Pro natal wheel */
.natal-wheel-pro { display:block; width:100%; height:auto; }
.natal-chart-large { min-height:560px; }

/* Interactive natal chart panel */
.natal-interactive-view { padding: 0 !important; background: linear-gradient(145deg, #faf8ff, #fff) !important; }
.natal-interactive-head { padding: 24px 28px; border-bottom: 1px solid #e9e4f0; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.natal-interactive-head h3 { margin: 0 0 5px; font-size: 1.4rem; }
.natal-interactive-head p { margin: 0; font-size: 0.85rem; color: #7a7289; }
.natal-time-notice { font-size: 0.8rem; color: #c55; display: flex; align-items: center; gap: 6px; }
.warning-icon { font-size: 1rem; }
.natal-interactive-layout { display: grid; grid-template-columns: 1fr 260px; gap: 0; }
.natal-chart-wrapper { padding: 20px 28px; background: radial-gradient(circle at 50% 45%, #fff, #faf8ff); display: flex; justify-content: center; align-items: center; min-height: 600px; }
.natal-chart-wrapper svg { max-width: 100%; height: auto; }

/* Legend styles */
.natal-interactive-legend { background: linear-gradient(to bottom, #f8f6fc, #fff); border-left: 1px solid #e9e4f0; overflow-y: auto; max-height: 600px; }
.legend-section { padding: 16px 14px; border-bottom: 1px solid #e9e4f0; }
.legend-title { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: #6b5a7a; font-weight: 800; margin-bottom: 10px; }
.legend-item { display: flex; align-items: center; gap: 10px; padding: 8px 6px; border-radius: 8px; font-size: 0.8rem; cursor: pointer; transition: 0.2s; }
.legend-item:hover { background: rgba(118, 87, 255, 0.08); }
.legend-symbol { font-size: 1.1rem; width: 28px; display: grid; place-items: center; border-radius: 6px; background: rgba(118, 87, 255, 0.1); color: #6c52e8; font-family: serif; }
.legend-num { font-size: 0.95rem; font-weight: 700; width: 28px; text-align: center; color: #6c52e8; }
.legend-info { min-width: 0; flex: 1; }
.legend-info b { display: block; margin-bottom: 2px; color: #2a2540; }
.legend-info small { color: #8b8494; display: block; font-size: 0.7rem; }

/* SVG interactive elements */
.natal-planet-interactive { cursor: pointer; }
.natal-planet-interactive:hover .planet-circle { stroke-width: 2.5; stroke: #ff7188; filter: drop-shadow(0 0 8px rgba(255, 113, 136, 0.4)); }
.natal-house-interactive { cursor: pointer; }
.natal-house-interactive:hover .house-circle { stroke: #ff7188; stroke-width: 1.5; filter: drop-shadow(0 0 6px rgba(255, 113, 136, 0.3)); }
.natal-aspect-interactive { cursor: pointer; }
.natal-aspect-interactive:hover .aspect-line { stroke-width: 2.5; filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.2)); opacity: 0.95; }

/* SVG title (tooltip) */
svg title { font-size: 12px; }

.natal-interactive-tips { padding: 16px 28px; background: linear-gradient(to bottom, rgba(248, 246, 252, 0.5), transparent); color: #6b6274; font-size: 0.8rem; line-height: 1.6; border-top: 1px solid #e9e4f0; }
.natal-interactive-tips p { margin: 0; }

@media (max-width: 1000px) {
  .natal-interactive-layout { grid-template-columns: 1fr; }
  .natal-interactive-legend { max-height: 280px; border-left: none; border-top: 1px solid #e9e4f0; }
  .natal-chart-wrapper { min-height: 500px; }
}

@media (max-width: 680px) {
  .natal-interactive-head { flex-direction: column; align-items: flex-start; gap: 12px; }
  .natal-interactive-head p { font-size: 0.75rem; }
  .natal-chart-wrapper { padding: 12px 16px; min-height: 400px; }
  .legend-section { padding: 12px 10px; }
  .legend-item { padding: 6px 4px; font-size: 0.75rem; gap: 8px; }
}

/* ═══════════════════════════════════════════════════════════════
   Натальная карта v2 — новый дизайн
   ═══════════════════════════════════════════════════════════════ */

/* Убираем старые workspace стили для нового дизайна */
.natal-reading-workspace .natal-workspace-head { display: none; }

/* ── Герой: карта + данные ─────────────────────────────────── */
.nv2-hero {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 0;
  background: linear-gradient(160deg, #faf8ff 0%, #fff 100%);
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid #e9e4f0;
  box-shadow: 0 12px 40px rgba(40,30,80,.08);
  margin-bottom: 0;
}
.nv2-chart-col {
  padding: 20px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 600px;
  background: radial-gradient(circle at 50% 50%, #fefefe, #f5f2ff);
}
.nv2-chart-wrap { width: 100%; max-width: 100%; }
.nv2-chart-wrap svg { display: block; width: 100%; height: auto; }
.nv2-no-time { margin: 10px 0 0; font-size: .78rem; color: #c77; background: #fff9f0; padding: 7px 12px; border-radius: 8px; border: 1px solid #f5dba8; }

/* ── Правая панель данных ────────────────────────────────────── */
.nv2-data-col { border-left: 1px solid #e9e4f0; background: #fff; overflow-y: auto; max-height: 800px; }
.nv2-data-card { padding: 18px 16px; height: 100%; display: flex; flex-direction: column; gap: 0; }
.nv2-data-name { font-size: 1.2rem; font-weight: 800; color: #1a1340; margin-bottom: 4px; }
.nv2-data-birth { font-size: .82rem; color: #6b5a80; margin-bottom: 3px; }
.nv2-data-city { font-size: .78rem; color: #8b7ca0; margin-bottom: 16px; }
.nv2-axes { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.nv2-axis { display: flex; align-items: center; gap: 6px; background: #f5f2fd; border-radius: 8px; padding: 5px 10px; font-size: .78rem; }
.nv2-axis-label { font-weight: 800; color: #6c52e8; font-size: .72rem; }
.nv2-planets-list { flex: 1; overflow-y: auto; display: flex; flex-direction: column; gap: 1px; }
.nv2-planet-row {
  display: grid;
  grid-template-columns: 22px 1fr auto auto;
  align-items: center;
  gap: 8px;
  padding: 7px 8px;
  border-radius: 8px;
  cursor: pointer;
  transition: background .15s;
  font-size: .78rem;
}
.nv2-planet-row:hover { background: #f0ecff; }
.nv2-planet-sym { font-family: serif; font-size: 1rem; text-align: center; color: #5a44cc; }
.nv2-planet-name { font-weight: 600; color: #2a2540; }
.nv2-planet-pos { color: #6b5a80; font-size: .73rem; }
.nv2-planet-house { color: #9b8fb5; font-size: .68rem; background: #f5f2fd; border-radius: 4px; padding: 1px 5px; }
.nv2-today-btn-wrap { margin-top: 16px; padding-top: 14px; border-top: 1px solid #ece8f5; }
.nv2-today-btn { width: 100%; padding: 10px; background: #f5f2fd; border: 1px solid #d6ccff; border-radius: 10px; color: #6c52e8; font-size: .8rem; font-weight: 700; cursor: pointer; text-align: center; transition: .15s; }
.nv2-today-btn:hover { background: #6c52e8; color: #fff; border-color: #6c52e8; }

/* ── Навигация чипы ─────────────────────────────────────────── */
.nv2-personalize-hint {
  margin: 10px 2px 0;
  font-size: 0.82rem;
  line-height: 1.45;
  color: #7a7390;
}
.nv2-personalize-hint.is-done {
  animation: nv2-banner-out .4s ease forwards;
}

.nv2-nav {
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid #e9e4f0;
  padding: 0 4px;
  margin: 0 -2px;
}
.nv2-nav-chips {
  display: flex;
  gap: 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.nv2-nav-chips::-webkit-scrollbar { display: none; }
.nv2-chip {
  flex: 0 0 auto;
  padding: 14px 20px;
  background: transparent;
  border: 0;
  border-bottom: 3px solid transparent;
  color: #6b5a80;
  font-size: .85rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: .15s;
}
.nv2-chip:hover { color: #6c52e8; }
.nv2-chip.active { color: #6c52e8; border-bottom-color: #6c52e8; }

/* ── Контент-панели ─────────────────────────────────────────── */
.nv2-content { padding: 36px 4px 60px; }
.nv2-pane { }

/* ── Читательский поток секций ───────────────────────────────── */
.nv2-section-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 760px;
}
.nv2-section-card {
  position: relative;
  padding: 32px 0 32px 24px;
  border-bottom: 1px solid #ede8f8;
  background: transparent;
  transition: background .18s;
}
/* тонкая постоянная полоска слева */
.nv2-section-card::before {
  content: '';
  position: absolute;
  left: 0;
  top: 32px;
  bottom: 32px;
  width: 2px;
  border-radius: 2px;
  background: #e8e0f8;
  transition: background .18s, width .18s;
}
.nv2-section-card:hover::before {
  background: linear-gradient(180deg, #9b7ee8, #c9b8f5);
  width: 3px;
}
.nv2-section-card:hover { background: #faf8ff; }
.nv2-section-card:last-child { border-bottom: none; }

/* заголовок секции */
.nv2-card-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 5px;
}
.nv2-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: linear-gradient(135deg, #f0ebff, #e8e0ff);
  font-size: .95rem;
  color: #7a52d0;
  flex-shrink: 0;
  line-height: 1;
}
.nv2-section-card h4 {
  font-size: 1.1rem;
  font-weight: 800;
  color: #18103c;
  margin: 0;
  line-height: 1.3;
}
.nv2-card-sub {
  font-size: .68rem;
  color: #a898c8;
  margin: 0 0 16px;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding-left: 40px; /* отступ под иконку */
}
.nv2-card-body { }
.nv2-card-body p {
  font-size: .96rem;
  line-height: 1.88;
  color: #3c3055;
  margin: 0 0 1em;
  max-width: 66ch;
}
.nv2-card-body p:first-child {
  color: #2a2048;
  font-size: 1rem;
}
.nv2-card-body p:last-child { margin-bottom: 0; }

/* ── Вкладка Планеты ─────────────────────────────────────────── */
.nv2-planets-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 28px;
}
.nv2-planet-chip {
  padding: 8px 16px;
  background: #f5f2fd;
  border: 1px solid #d8d0f5;
  border-radius: 99px;
  font-size: .82rem;
  font-weight: 600;
  color: #4a3a8a;
  cursor: pointer;
  transition: .15s;
}
.nv2-planet-chip:hover { background: #ede8ff; }
.nv2-planet-chip.active { background: #6c52e8; color: #fff; border-color: #6c52e8; }
.nv2-planet-panel {
  max-width: 760px;
  padding-left: 24px;
  border-left: 2px solid #e8e0f8;
}
.nv2-planet-head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #ede8f8;
}
.nv2-planet-big-sym {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: linear-gradient(135deg, #f0ebff, #e2d8ff);
  font-family: serif;
  font-size: 1.9rem;
  color: #7a52d0;
  flex-shrink: 0;
  line-height: 1;
}
.nv2-planet-head h3 { font-size: 1.18rem; font-weight: 800; color: #18103c; margin: 0 0 4px; }
.nv2-planet-head p { font-size: .8rem; color: #7a6898; margin: 0; letter-spacing: .04em; text-transform: uppercase; }
.nv2-planet-body p {
  font-size: .96rem;
  line-height: 1.88;
  color: #3c3055;
  margin: 0 0 1em;
  max-width: 66ch;
}
.nv2-planet-body p:first-child { color: #2a2048; font-size: 1rem; }
.nv2-planet-body p:last-child { margin-bottom: 0; }

/* ── Аспекты ─────────────────────────────────────────────────── */
.nv2-aspects-intro {
  max-width: 760px;
  padding: 0 0 28px 24px;
  margin-bottom: 0;
  border-left: 2px solid #e8e0f8;
  border-bottom: 1px solid #ede8f8;
}
.nv2-aspects-intro p { font-size: .96rem; line-height: 1.88; color: #3c3055; margin: 0 0 1em; max-width: 66ch; }
.nv2-aspects-intro p:first-child { color: #2a2048; font-size: 1rem; }
.nv2-aspects-intro p:last-child { margin-bottom: 0; }
.nv2-aspect-card { }

/* ── Таблица ─────────────────────────────────────────────────── */
.nv2-pane-table { }
.nv2-table-head { margin-bottom: 20px; }
.nv2-table-head h3 { font-size: 1.15rem; font-weight: 800; color: #1a1340; margin: 0 0 5px; }
.nv2-table-head p { font-size: .82rem; color: #7a6898; margin: 0; }

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 960px) {
  .nv2-hero { grid-template-columns: 1fr; }
  .nv2-data-col { border-left: none; border-top: 1px solid #e9e4f0; }
  .nv2-chart-col { min-height: 400px; padding: 20px; }
  .nv2-data-card { padding: 18px; }
  .nv2-planets-list { max-height: 220px; overflow-y: auto; }
}
@media (max-width: 640px) {
  .nv2-chart-col { padding: 14px; min-height: 340px; }
  .nv2-chip { padding: 12px 14px; font-size: .78rem; }
  .nv2-content { padding: 20px 0 30px; }
  .nv2-card-body p, .nv2-planet-body p, .nv2-aspects-intro p { font-size: .9rem; max-width: 100%; }
  .nv2-planet-head { gap: 12px; }
  .nv2-planet-big-sym { font-size: 2rem; width: 44px; }
}

/* ── Семейный конструктор: доступы в круге (6.9.32) ── */

.family-page .family-cart-section {
  margin-top: 30px !important;
  padding: 26px 28px !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, #fff, #f8f5ff) !important;
  border: 1px solid #e8e1f5 !important;
  box-shadow: 0 15px 40px rgba(54, 37, 90, .07) !important;
}

.family-page .family-cart-section .section-heading.left {
  margin-bottom: 16px !important;
}

.family-page .family-access-accordion-toggle {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  cursor: pointer !important;
  text-align: left !important;
  font: inherit !important;
  color: inherit !important;
}

.family-page .family-access-accordion-head h2 {
  margin: 4px 0 0 !important;
  font-size: 1.35rem !important;
  color: #2e2057 !important;
}

.family-page .family-access-accordion-status {
  text-align: right !important;
}

.family-page .family-access-accordion-status b {
  display: block !important;
  color: #2e2057 !important;
  font-size: 1.25rem !important;
}

.family-page .family-access-accordion-status b.family-access-status-ok {
  color: #22a06b !important;
  font-size: 1.1rem !important;
}

.family-page .family-access-accordion-status small {
  display: block !important;
  margin-top: 2px !important;
  color: #7a7790 !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}

.family-page .family-access-chevron {
  font-size: 1rem !important;
  color: #9a93ad !important;
  transition: transform .2s, color .2s !important;
}

.family-page .family-access-accordion-toggle[aria-expanded="true"] .family-access-chevron {
  transform: rotate(180deg) !important;
}

.family-page .family-access-accordion-body {
  margin-top: 18px !important;
}

.family-page .family-access-accordion-body.is-collapsed {
  display: none !important;
}

.family-page .family-access-badge {
  display: inline-block !important;
  margin-left: 8px !important;
  padding: 2px 8px !important;
  border-radius: 999px !important;
  font-size: .62rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  vertical-align: middle !important;
}

.family-page .family-access-badge.is-required {
  background: #fff3e0 !important;
  color: #b45309 !important;
}

.family-page .family-access-badge.is-optional {
  background: #f0ebff !important;
  color: #6b4fc0 !important;
}

.family-page .family-access-intro {
  margin: 0 0 18px !important;
  padding: 14px 16px !important;
  border-radius: 16px !important;
  background: #f3efff !important;
  border: 1px solid #e4dbf7 !important;
  color: #5f5672 !important;
  font-size: .86rem !important;
  line-height: 1.55 !important;
}

.family-page .family-access-intro b {
  color: #2e2057 !important;
}

.family-page .family-access-owner,
.family-page .family-access-person {
  border-radius: 20px !important;
  border: 1px solid #e9e2f3 !important;
  background: #fff !important;
  overflow: hidden !important;
  box-shadow: 0 8px 24px rgba(54, 35, 89, .05) !important;
}

.family-page .family-access-owner {
  margin-bottom: 14px !important;
}

.family-page .family-access-owner.is-paid {
  border-color: #bfe8d3 !important;
  background: #f8fdf9 !important;
}

.family-page .family-access-owner.is-pending {
  border-color: #ffe0b8 !important;
  background: #fffaf2 !important;
}

.family-page .family-access-owner-head {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 16px 18px !important;
}

.family-page .family-access-owner-head small {
  display: block !important;
  color: #82798f !important;
  font-size: .7rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
}

.family-page .family-access-owner-head b {
  display: block !important;
  color: #281d3c !important;
  font-size: 1.05rem !important;
}

.family-page .family-access-owner-head em {
  display: block !important;
  margin-top: 3px !important;
  font-style: normal !important;
  color: #82798f !important;
  font-size: .8rem !important;
}

.family-page .family-access-owner-action,
.family-page .family-access-tier-action {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
}

.family-page .family-access-owner-note {
  margin: 0 !important;
  padding: 0 18px 16px !important;
  color: #82798f !important;
  font-size: .8rem !important;
  line-height: 1.45 !important;
}

.family-page .family-access-people {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.family-page .family-access-person.is-complete {
  border-color: #bfe8d3 !important;
  background: #fcfffd !important;
}

.family-page .family-access-person-head {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 14px 18px !important;
  border-bottom: 1px solid #f0ebf8 !important;
  background: #faf8ff !important;
}

.family-page .family-access-person-head b {
  display: block !important;
  color: #281d3c !important;
  font-size: 1rem !important;
}

.family-page .family-access-person-head small {
  display: block !important;
  color: #82798f !important;
  font-size: .78rem !important;
  margin-top: 3px !important;
}

.family-page .family-access-complete {
  font-style: normal !important;
  color: #18814c !important;
  font-weight: 800 !important;
  font-size: .76rem !important;
  white-space: nowrap !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: #e7f9ee !important;
}

.family-page .family-access-tiers {
  display: flex !important;
  flex-direction: column !important;
}

.family-page .family-access-tier {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 14px 18px !important;
  border-top: 1px solid #f3effa !important;
}

.family-page .family-access-tier:first-child {
  border-top: 0 !important;
}

.family-page .family-access-tier.is-paid {
  background: #f8fdf9 !important;
}

.family-page .family-access-tier.is-pending {
  background: #fffaf2 !important;
}

.family-page .family-access-tier.is-optional.is-pending {
  background: #fbf9ff !important;
}

.family-page .family-access-tier-copy b {
  display: block !important;
  color: #281d3c !important;
  font-size: .92rem !important;
}

.family-page .family-access-tier-copy small {
  display: block !important;
  color: #82798f !important;
  font-size: .76rem !important;
  line-height: 1.4 !important;
  margin-top: 3px !important;
}

.family-page .family-cart-section .cart-price {
  font-size: 1rem !important;
  color: #281d3c !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.family-page .family-cart-section .cart-paid {
  font-style: normal !important;
  color: #18814c !important;
  font-weight: 800 !important;
  font-size: .78rem !important;
  white-space: nowrap !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: #e7f9ee !important;
}

.family-page .family-cart-section .cart-buy,
.family-page .family-cart-section .cart-open {
  text-decoration: none !important;
  font-weight: 800 !important;
  font-size: .78rem !important;
  border-radius: 12px !important;
  padding: 9px 14px !important;
  border: 0 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
}

.family-page .family-cart-section .cart-buy {
  background: linear-gradient(135deg, #5d47db, #7660ea) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(81, 59, 191, .22) !important;
}

.family-page .family-cart-section .cart-open {
  background: #ede7ff !important;
  color: #5a3eb2 !important;
}

.family-page .family-cart-total {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: center !important;
  margin-top: 18px !important;
  padding: 18px 20px !important;
  border-radius: 20px !important;
  background: linear-gradient(150deg, #2a2150, #5a3fc0) !important;
  color: #fff !important;
}

.family-page .family-cart-total small,
.family-page .family-cart-total span {
  display: block !important;
  opacity: .78 !important;
  font-size: .74rem !important;
}

.family-page .family-cart-total b {
  display: block !important;
  font-size: 1.6rem !important;
  color: #fff !important;
}

.family-page .family-cart-total .muted {
  color: rgba(255, 255, 255, .78) !important;
  margin: 0 !important;
  font-size: .82rem !important;
  line-height: 1.45 !important;
}

.family-page .family-cart-done {
  margin-top: 16px !important;
  padding: 16px 18px !important;
  border-radius: 16px !important;
  background: #f1fbf6 !important;
  border: 1px solid #bfe8d3 !important;
  color: #1c7a52 !important;
}

.family-page .family-cart-done b {
  display: block !important;
  font-weight: 800 !important;
  font-size: .95rem !important;
}

.family-page .family-cart-done span {
  display: block !important;
  margin-top: 6px !important;
  font-weight: 500 !important;
  font-size: .84rem !important;
  line-height: 1.45 !important;
  color: #3d8f65 !important;
}

.family-page .family-cart-done.is-solo span,
.family-page .family-cart-done.is-optional span {
  color: #5a6370 !important;
}

/* ── Импорт близких из других кругов аккаунта (6.9.33) ── */

.family-page .family-import-section {
  margin-top: 24px !important;
  padding: 24px 26px !important;
  border-radius: 28px !important;
  background: linear-gradient(145deg, #fffaf4, #fff) !important;
  border: 1px solid #f0e2cf !important;
  box-shadow: 0 14px 36px rgba(88, 62, 24, .07) !important;
}

.family-page .family-import-head h2 {
  margin: 6px 0 8px !important;
  font-size: clamp(1.35rem, 2.4vw, 1.8rem) !important;
}

.family-page .family-import-head p {
  margin: 0 !important;
  color: #6d6478 !important;
  font-size: .88rem !important;
  line-height: 1.55 !important;
  max-width: 72ch;
}

.family-page .family-import-list {
  display: grid !important;
  gap: 12px !important;
  margin-top: 18px !important;
}

.family-page .family-import-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px) !important;
  gap: 16px !important;
  align-items: start !important;
  padding: 16px 18px !important;
  border-radius: 20px !important;
  background: #fff !important;
  border: 1px solid #ece5fb !important;
}

.family-page .family-import-person {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
}

.family-page .family-import-person b {
  display: block !important;
  color: #281d3c !important;
  font-size: 1rem !important;
}

.family-page .family-import-person small {
  display: block !important;
  color: #82798f !important;
  font-size: .78rem !important;
  margin-top: 3px !important;
}

.family-page .family-import-person em {
  display: block !important;
  margin-top: 5px !important;
  font-style: normal !important;
  font-size: .74rem !important;
  color: #9a7b3e !important;
  font-weight: 700 !important;
}

.family-page .family-import-form {
  display: grid !important;
  gap: 10px !important;
}

.family-page .family-import-relation small {
  display: block !important;
  margin-bottom: 6px !important;
  color: #82798f !important;
  font-weight: 700 !important;
  font-size: .72rem !important;
}

.family-page .family-import-relation select {
  width: 100% !important;
  padding: 11px 12px !important;
  border: 1px solid #ded6ea !important;
  border-radius: 12px !important;
  background: #fff !important;
  font: inherit !important;
}

.family-page .family-import-consent,
.family-page .family-import-guardian {
  margin: 0 !important;
}

.family-page .family-import-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.family-page .family-import-actions .primary-button,
.family-page .family-import-actions .secondary-button {
  flex: 1 1 140px !important;
}

.family-page .notice-success {
  margin-top: 16px !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  background: #f1fbf6 !important;
  border: 1px solid #bfe8d3 !important;
  color: #1c7a52 !important;
}

@media (max-width: 700px) {
  .family-page .family-import-section {
    padding: 20px !important;
    border-radius: 24px !important;
  }

  .family-page .family-import-card {
    grid-template-columns: 1fr !important;
  }

  .family-page .family-cart-section {
    padding: 20px !important;
    border-radius: 24px !important;
  }

  .family-page .family-access-owner-head,
  .family-page .family-access-person-head,
  .family-page .family-access-tier {
    grid-template-columns: 1fr !important;
  }

  .family-page .family-access-owner-action,
  .family-page .family-access-tier-action {
    justify-content: flex-start !important;
  }

  .family-page .family-access-complete {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
  }

  .family-page .family-cart-total {
    grid-template-columns: 1fr !important;
  }
}

/* ── Инфо-панель карты (стихии / модальности / метаданные) ─── */
.nv2-chart-info {
  margin-top: 16px;
  padding: 16px 20px;
  background: #fff;
  border: 1px solid #e8e2f5;
  border-radius: 14px;
}
.nv2-info-cols {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}
.nv2-info-title {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #9888b8;
  margin-bottom: 10px;
}
.nv2-info-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 7px;
}
.nv2-info-label {
  font-size: .75rem;
  font-weight: 700;
  width: 90px;
  flex-shrink: 0;
}
.nv2-info-bar {
  flex: 1;
  height: 5px;
  background: #f0eaf8;
  border-radius: 3px;
  overflow: hidden;
}
.nv2-info-fill {
  height: 100%;
  border-radius: 3px;
  transition: width .4s ease;
}
.nv2-info-pct {
  font-size: .72rem;
  color: #8878a8;
  width: 30px;
  text-align: right;
  flex-shrink: 0;
}
.nv2-meta-row {
  display: flex;
  justify-content: space-between;
  font-size: .75rem;
  color: #5a4878;
  padding: 3px 0;
  border-bottom: 1px solid #f0eaf8;
}
.nv2-meta-row span:first-child { color: #9888b8; }
.nv2-meta-row:last-child { border-bottom: none; }

@media (max-width: 720px) {
  .nv2-info-cols { grid-template-columns: 1fr 1fr; }
  .nv2-info-meta { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .nv2-info-cols { grid-template-columns: 1fr; }
}

/* Планетное кольцо hover */
.nw-planet-circle { transition: r .12s, stroke-width .12s; }
.nw-planet-g:hover .nw-planet-circle { stroke-width: 3; }

/* result.php — крупный бодиграф */
.result-v3 .hero-result-card {
  grid-template-columns: 1fr;
}

.result-v3 .chart-stage {
  min-height: 0;
  padding: 22px 14px 18px;
  overflow: visible !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.result-v3 .chart-stage .bodygraph {
  width: min(100%, 900px) !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 760 / 820;
  margin: 0 auto;
  overflow: visible;
}

.result-v3 .identity-panel {
  border-top: 1px solid var(--line, #ebe8f4);
}

@media (min-width: 1100px) {
  .result-v3 .chart-stage .bodygraph {
    width: min(100%, 960px) !important;
  }
}

@media (max-width: 760px) {
  .result-v3 .chart-stage {
    padding: 12px 0 14px;
  }

  .result-v3 .chart-stage .bodygraph {
    width: min(108%, 560px) !important;
  }
}

@media (max-width: 480px) {
  .result-v3 .chart-stage .bodygraph {
    width: 112% !important;
    margin-left: -6%;
    margin-right: -6%;
  }
}

/* result.php — интерактивный бодиграф */
.bodygraph-hint {
  position: relative;
  z-index: 3;
  margin: 8px auto 0;
  max-width: 360px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(116, 87, 255, .14);
  color: #6a6288;
  font-size: .72rem;
  line-height: 1.35;
  text-align: center;
}

.bodygraph-interactive .bg-gate-hit,
.bodygraph-interactive .bg-center-hit,
.bodygraph-interactive .bg-channel-hit {
  cursor: pointer;
  outline: none;
}

.bodygraph-interactive .bg-gate-hit:focus-visible .bg-gate-hit-area,
.bodygraph-interactive .bg-center-hit:focus-visible,
.bodygraph-interactive .bg-channel-hit:focus-visible {
  stroke: rgba(116, 87, 255, .45);
  stroke-width: 2;
}

.bodygraph-interactive .bg-gate-hit:hover circle.gp {
  opacity: .75;
}

.bodygraph-interactive .bg-center-hit:hover polygon,
.bodygraph-interactive .bg-center-hit:hover rect {
  filter: url(#gGlow);
}

.bodygraph-interactive .bg-channel-hit:hover path[stroke='transparent'] {
  stroke: rgba(116, 87, 255, .08);
}

.gate-center-card.is-empty {
  opacity: .72;
}

.gate-center-empty {
  display: block;
  padding: 2px 0;
  color: rgba(255, 255, 255, .45);
  font-size: .68rem;
}

.gate-node.is-bg-highlight,
.gate-center-card.is-bg-highlight,
.channel-path.is-bg-highlight,
.gate-atlas.is-bg-highlight {
  animation: bg-target-pulse 1.8s ease;
}

.bodygraph-center-note {
  margin: 8px 0 0;
  color: rgba(255, 255, 255, .72);
  font-size: .74rem;
  line-height: 1.4;
  opacity: 0;
  transition: opacity .2s ease;
}

.bodygraph-center-note.is-visible {
  opacity: 1;
}

@keyframes bg-target-pulse {
  0% { box-shadow: 0 0 0 0 rgba(116, 87, 255, .45); }
  35% { box-shadow: 0 0 0 8px rgba(116, 87, 255, .18); }
  100% { box-shadow: 0 0 0 0 rgba(116, 87, 255, 0); }
}

.chart-stage .bodygraph .gate-badges .gate-num,
.chart-stage .bodygraph .gate-badges .gate-num tspan {
  font-family: Arial, Helvetica, sans-serif !important;
  font-kerning: none;
  letter-spacing: 0 !important;
  text-rendering: geometricPrecision;
}

.chart-stage .bodygraph .gate-pill {
  filter: drop-shadow(0 1px 1px rgba(36, 42, 63, .08));
}

/* daily.php — компактная история дат */
.daily-history-v3 {
  margin: 0 0 14px;
  padding: 10px 12px 12px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .78);
  border: 1px solid rgba(118, 87, 255, .1);
}

.daily-history-v3 .daily-history-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.daily-history-v3 .daily-history-controls {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.daily-history-v3 .daily-history-period a {
  min-width: 36px;
  padding: 5px 9px;
  font-size: .72rem;
}

.daily-history-today-btn {
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(218, 152, 42, .45);
  background: linear-gradient(145deg, #fff6df, #ffe9b8);
  color: #7a5510;
  font-size: .72rem;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
}

.daily-history-today-btn:hover {
  border-color: #d4922a;
  box-shadow: 0 4px 12px rgba(212, 146, 42, .18);
}

.daily-history-v3 .daily-history-strip {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.daily-history-pill {
  flex: 0 0 auto;
  padding: 6px 11px;
  border-radius: 999px;
  border: 1px solid rgba(106, 78, 224, .14);
  background: rgba(255, 255, 255, .92);
  color: #5a5272;
  font-size: .74rem;
  font-weight: 850;
  line-height: 1.1;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}

.daily-history-pill:hover {
  border-color: rgba(101, 76, 228, .28);
}

.daily-history-pill.is-today {
  border-color: rgba(218, 152, 42, .5);
  background: linear-gradient(145deg, #fff6df, #ffe9b8);
  color: #7a5510;
}

.daily-history-pill.is-yesterday {
  border-color: rgba(101, 76, 228, .24);
  background: linear-gradient(145deg, #f6f3ff, #ece6ff);
  color: #4f3ca8;
}

.daily-history-pill.active {
  border-color: #654ce4;
  background: #654ce4;
  color: #fff;
  box-shadow: 0 4px 12px rgba(101, 76, 228, .22);
}

.daily-history-pill.is-today.active {
  border-color: #d4922a;
  background: linear-gradient(145deg, #ffe08a, #f5b846);
  color: #4a3208;
}

/* daily.php — семейные рекомендации на день */
.daily-family-section {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(118, 87, 255, .1);
}

.daily-family-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.daily-family-head h2 {
  margin: 4px 0 6px;
  font-size: 1.15rem;
  line-height: 1.2;
  color: #3d2b77;
}

.daily-family-head p {
  margin: 0;
  color: #6a6288;
  font-size: .82rem;
  line-height: 1.45;
}

.daily-family-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.daily-family-card {
  display: grid;
  gap: 8px;
  padding: 12px 13px;
  border-radius: 16px;
  border: 1px solid rgba(118, 87, 255, .12);
  background: linear-gradient(145deg, rgba(255, 255, 255, .95), rgba(248, 245, 255, .9));
}

.daily-family-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.daily-family-card-head b {
  display: block;
  color: #3d2b77;
  font-size: .92rem;
  line-height: 1.2;
}

.daily-family-card-head small {
  display: block;
  margin-top: 2px;
  color: #8a82a8;
  font-size: .72rem;
}

.daily-family-harmony {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(101, 76, 228, .1);
  color: #563fd1;
  font-size: .74rem;
  font-weight: 900;
}

.daily-family-headline {
  margin: 0;
  color: #4a3f7a;
  font-size: .8rem;
  font-weight: 850;
  line-height: 1.35;
}

.daily-family-action {
  margin: 0;
  color: #6a6288;
  font-size: .76rem;
  line-height: 1.45;
}

.daily-family-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.daily-family-tag {
  padding: 3px 8px;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 800;
}

.daily-family-tag.is-best {
  background: rgba(76, 175, 120, .12);
  color: #2d7a52;
}

.daily-family-tag.is-caution {
  background: rgba(232, 120, 88, .12);
  color: #a64b2f;
}

.daily-family-link {
  color: #654ce4;
  font-size: .74rem;
  font-weight: 850;
  text-decoration: none;
}

.daily-family-link:hover {
  text-decoration: underline;
}

.daily-family-locked-note {
  margin: 12px 2px 0;
  color: #8a82a8;
  font-size: .76rem;
}

.daily-family-locked-note a {
  color: #654ce4;
  font-weight: 850;
  text-decoration: none;
}

@media (max-width: 720px) {
  .daily-family-head {
    flex-direction: column;
    align-items: stretch;
  }

  .daily-family-head .secondary-button {
    width: 100%;
    text-align: center;
  }
}

/* Аспекты кликабельны */
.nw-asp-g { cursor: pointer; }

/* Подсветка найденной карточки аспекта */
@keyframes nv2-flash {
  0%   { background: #ede0ff; border-color: #6c52e8; }
  60%  { background: #ede0ff; border-color: #6c52e8; }
  100% { background: transparent; border-color: #ede8f8; }
}
.nv2-highlight { animation: nv2-flash 1.8s ease forwards; }

/* ── Поэтапная загрузка чипов навигации ─────────────────────── */
.nv2-chip-pending {
  color: #9a94b0 !important;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}
.nv2-chip-pending::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.6) 50%, transparent 100%);
  animation: nv2-shimmer 1.6s infinite;
}
@keyframes nv2-shimmer {
  0%   { transform: translateX(-100%); }
  100% { transform: translateX(200%); }
}
.nv2-chip-ready {
  pointer-events: auto !important;
}
@keyframes nv2-chip-pop {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.08); color: #6c52e8; }
  100% { transform: scale(1); }
}
.nv2-chip-flash {
  animation: nv2-chip-pop .65s ease forwards;
}

/* ── Баннер прогресса загрузки AI ──────────────────────────── */
.nv2-load-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: linear-gradient(135deg, #f5f0ff, #eef8ff);
  border: 1px solid #d8d0f8;
  border-radius: 14px;
  padding: 14px 20px;
  margin-top: 14px;
  margin-bottom: 12px;
  animation: nv2-banner-in .3s ease;
}
@keyframes nv2-banner-in {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: none; }
}
.nv2-load-banner.is-done {
  animation: nv2-banner-out .4s ease forwards;
}
@keyframes nv2-banner-out {
  to { opacity: 0; transform: translateY(-4px); max-height: 0; padding: 0; margin: 0; }
}
.nv2-load-left {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}
.nv2-load-spinner {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}
.nv2-spinner-arc {
  transform-origin: 18px 18px;
  animation: nv2-spin 1.1s linear infinite;
}
@keyframes nv2-spin { to { transform: rotate(360deg); } }
.nv2-load-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.nv2-load-title {
  font-size: .88rem;
  font-weight: 700;
  color: #2a1d5c;
}
.nv2-load-detail {
  font-size: .82rem;
  font-weight: 650;
  color: #4a3a8a;
  line-height: 1.35;
}
.nv2-load-sub {
  font-size: .75rem;
  color: #7a68a8;
}
/* Шаги */
.nv2-load-steps {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.nv2-load-step {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: .72rem;
  font-weight: 600;
  color: #b8b0d8;
  padding: 4px 10px;
  border-radius: 99px;
  border: 1px solid #e0d8f5;
  background: #fff;
  transition: all .3s;
  white-space: nowrap;
}
.nv2-step-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #d0c8e8;
  flex-shrink: 0;
  transition: background .3s;
}
.nv2-load-step.is-active {
  color: #6c52e8;
  border-color: #c0b0f8;
  background: #f0ebff;
}
.nv2-load-step.is-active .nv2-step-dot {
  background: #6c52e8;
  animation: nv2-dot-pulse 1s ease infinite;
}
@keyframes nv2-dot-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50%       { transform: scale(1.5); opacity: .7; }
}
.nv2-load-step.is-done-step {
  color: #5a9450;
  border-color: #b8e0b0;
  background: #f0faf0;
}
.nv2-load-step.is-done-step .nv2-step-dot {
  background: #5a9450;
}

@media (max-width: 640px) {
  .nv2-load-banner { flex-direction: column; align-items: flex-start; }
  .nv2-load-steps { gap: 4px; }
}

/* Export PDF */
.export-shell {
  width: min(760px, calc(100% - 28px));
  margin: 0 auto;
  padding: 36px 0 90px;
}
.export-hero h1 {
  margin: 8px 0 12px;
  font-size: clamp(1.7rem, 4vw, 2.4rem);
}
.export-hero p {
  margin: 0;
  color: #6f687d;
  line-height: 1.65;
}
.export-owner {
  margin-top: 20px;
  padding: 14px 16px;
  border-radius: 18px;
  background: #f7f4ff;
  border: 1px solid #e4dbfa;
}
.export-owner small,
.export-owner span {
  display: block;
  color: #8b8498;
  font-size: .72rem;
}
.export-owner b {
  display: block;
  margin: 4px 0;
  font-size: 1.05rem;
}
.export-form {
  margin-top: 24px;
}
.export-sections {
  display: grid;
  gap: 10px;
}
.export-option {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid #e8e3ef;
  background: #fff;
  cursor: pointer;
}
.export-option.is-locked {
  opacity: .72;
  cursor: not-allowed;
}
.export-option.is-loading {
  opacity: .82;
  cursor: not-allowed;
  border-color: #d4cef5;
  background: #faf8ff;
}
.export-option.is-loading .export-check {
  background: #ede9fa;
  color: #9580cc;
  animation: export-spin 1.4s linear infinite;
}
@keyframes export-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
.export-loading-note {
  margin-top: 6px;
  color: #8b7ac5 !important;
}
.export-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.export-check {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #f3f0fa;
  color: #6c52e8;
  font-weight: 800;
}
.export-option:has(input:checked) .export-check {
  background: #6c52e8;
  color: #fff;
}
.export-copy b {
  display: block;
  margin-bottom: 4px;
}
.export-copy em,
.export-copy small {
  display: block;
  color: #7a7386;
  line-height: 1.5;
  font-style: normal;
}
.export-locked-note {
  margin-top: 6px;
  color: #9a8eb8 !important;
}
.export-verify-note {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  margin: 22px 0;
  padding: 16px 18px;
  border-radius: 18px;
  background: #faf8ff;
  border: 1px solid #e7e0f8;
}
.export-verify-note span {
  font-size: 1.4rem;
}
.export-verify-note p {
  margin: 6px 0 0;
  color: #6f687d;
  line-height: 1.55;
}
.export-verify-note code {
  font-size: .78rem;
  word-break: break-all;
}
.export-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
.export-inline-bar {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  margin-top: 24px;
  padding: 16px 20px;
  border-radius: 20px;
  background: linear-gradient(135deg, #f8f5ff 0%, #fff 60%);
  border: 1px solid #e6def8;
}
.export-inline-icon {
  font-size: 1.4rem;
  line-height: 1;
  color: #6c52e8;
}
.export-inline-bar b {
  display: block;
  font-size: .95rem;
  margin-bottom: 2px;
}
.export-inline-bar small {
  color: #8b8498;
  font-size: .78rem;
}
@media (max-width: 600px) {
  .export-inline-bar {
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
  }
  .export-inline-bar .primary-button {
    grid-column: 1 / -1;
  }
}
.export-save-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  align-items: center;
  margin-top: 28px;
  padding: 24px 26px;
  border-radius: 26px;
  background: linear-gradient(135deg, #f8f5ff 0%, #fff 55%);
  border: 1px solid #e6def8;
}
.export-save-copy p {
  margin: 8px 0 0;
  color: #6f687d;
  line-height: 1.6;
}
.export-save-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}
.export-save-list li {
  padding: 6px 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #e8e0f8;
  font-size: .82rem;
  color: #5f5772;
}
.export-save-actions {
  display: grid;
  gap: 10px;
  justify-items: start;
}
.verify-export {
  margin: 22px 0;
  padding: 18px 20px;
  border-radius: 20px;
  background: #f7fbf8;
  border: 1px solid #d5ebdc;
}
.verify-export-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
}
.verify-export-head span {
  font-size: 1.3rem;
}
.verify-export-head small {
  display: block;
  color: #7d8f84;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.verify-export-list {
  margin: 12px 0 0;
  padding-left: 18px;
}
.verify-export-list li {
  margin: 4px 0;
  color: #2f5d42;
}
.verify-export-date {
  margin: 10px 0 0;
  color: #6f8a79;
  font-size: .86rem;
}
.verify-export-empty p {
  margin: 0;
  color: #6f8a79;
  line-height: 1.55;
}
@media (max-width: 720px) {
  .export-save-card {
    grid-template-columns: 1fr;
  }
  .export-save-actions {
    width: 100%;
  }
  .export-save-actions .primary-button,
  .export-save-actions .secondary-button {
    width: 100%;
    justify-content: center;
  }
}

/* 6.9.44 - unified profile sidebar menu */
@media (min-width: 981px){
  .result-v3 main.result-shell,
  .natal-page main.result-shell,
  .daily-page main.result-shell,
  .dm-page main.result-shell{
    grid-template-columns: 250px minmax(0,1fr) !important;
    gap: 0 24px !important;
  }
  .result-page-layout{
    grid-template-columns: 250px minmax(0,1fr) !important;
    gap: 0 24px !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs],
  .natal-page .result-product-tabs[data-product-tabs],
  .daily-page .result-product-tabs[data-product-tabs],
  .result-page-layout .result-product-tabs[data-product-tabs]{
    width: 250px !important;
    max-height: calc(100vh - 92px) !important;
    padding: 12px 10px !important;
    gap: 6px !important;
    border-radius: 26px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 18px 50px rgba(38,29,86,.08) !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a,
  .natal-page .result-product-tabs[data-product-tabs] > a,
  .daily-page .result-product-tabs[data-product-tabs] > a,
  .result-page-layout .result-product-tabs[data-product-tabs] > a{
    width: 100% !important;
    min-height: 56px !important;
    padding: 10px 12px !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0,1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    border-radius: 15px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    color: #627681 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    letter-spacing: 0 !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a span,
  .natal-page .result-product-tabs[data-product-tabs] > a span,
  .daily-page .result-product-tabs[data-product-tabs] > a span,
  .result-page-layout .result-product-tabs[data-product-tabs] > a span{
    width: 42px !important;
    height: 42px !important;
    border-radius: 15px !important;
    font-size: 17px !important;
    background: #f1eef9 !important;
    color: #6d7f87 !important;
  }
  .result-product-tabs[data-product-tabs] > a[data-tab-external]::after{content:none!important}
  .result-v3 .result-product-tabs[data-product-tabs] > a.active,
  .natal-page .result-product-tabs[data-product-tabs] > a.active,
  .daily-page .result-product-tabs[data-product-tabs] > a.active,
  .result-page-layout .result-product-tabs[data-product-tabs] > a.active{
    background: #eee8ff !important;
    color: #4b2fd0 !important;
    box-shadow: none !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a.active span,
  .natal-page .result-product-tabs[data-product-tabs] > a.active span,
  .daily-page .result-product-tabs[data-product-tabs] > a.active span,
  .result-page-layout .result-product-tabs[data-product-tabs] > a.active span{
    background: rgba(255,255,255,.42) !important;
    color: #fff !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"],
  .natal-page .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"],
  .daily-page .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"],
  .result-page-layout .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"]{
    min-height: 64px !important;
    margin-top: 8px !important;
    background: linear-gradient(135deg,#6c52e8 0%,#9475ff 100%) !important;
    color: #fff !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a[title="Все сервисы"],
  .natal-page .result-product-tabs[data-product-tabs] > a[title="Все сервисы"],
  .daily-page .result-product-tabs[data-product-tabs] > a[title="Все сервисы"],
  .result-page-layout .result-product-tabs[data-product-tabs] > a[title="Все сервисы"]{
    min-height: 58px !important;
    background: #f5fbfa !important;
    color: #517279 !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a[title="Все сервисы"] span,
  .natal-page .result-product-tabs[data-product-tabs] > a[title="Все сервисы"] span,
  .daily-page .result-product-tabs[data-product-tabs] > a[title="Все сервисы"] span,
  .result-page-layout .result-product-tabs[data-product-tabs] > a[title="Все сервисы"] span{
    background: #e9f8f5 !important;
    color: #157f78 !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] .tabs-sep,
  .natal-page .result-product-tabs[data-product-tabs] .tabs-sep,
  .daily-page .result-product-tabs[data-product-tabs] .tabs-sep,
  .result-page-layout .result-product-tabs[data-product-tabs] .tabs-sep{
    height: 1px !important;
    width: calc(100% - 18px) !important;
    margin: 4px auto !important;
  }
}
@media (max-width: 980px){
  .result-v3 .result-product-tabs[data-product-tabs],
  .natal-page .result-product-tabs[data-product-tabs],
  .daily-page .result-product-tabs[data-product-tabs],
  .result-page-layout .result-product-tabs[data-product-tabs]{
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    padding: 8px !important;
    overflow-x: auto !important;
    border-radius: 18px !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a,
  .natal-page .result-product-tabs[data-product-tabs] > a,
  .daily-page .result-product-tabs[data-product-tabs] > a,
  .result-page-layout .result-product-tabs[data-product-tabs] > a{
    flex: 0 0 auto !important;
    min-height: 46px !important;
    padding: 8px 12px !important;
    border-radius: 14px !important;
    white-space: nowrap !important;
    font-size: 14px !important;
  }
  .result-product-tabs[data-product-tabs] > a[data-tab-external]::after{content:none!important}
  .result-product-tabs[data-product-tabs] .tabs-sep{display:none!important}
}

/* 6.9.45 - compact sidebar rhythm */
@media (min-width: 981px){
  .result-v3 .result-product-tabs[data-product-tabs],
  .natal-page .result-product-tabs[data-product-tabs],
  .daily-page .result-product-tabs[data-product-tabs],
  .result-page-layout .result-product-tabs[data-product-tabs]{
    gap: 4px !important;
    padding: 11px 10px !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a,
  .natal-page .result-product-tabs[data-product-tabs] > a,
  .daily-page .result-product-tabs[data-product-tabs] > a,
  .result-page-layout .result-product-tabs[data-product-tabs] > a{
    min-height: 50px !important;
    grid-template-columns: 36px minmax(0,1fr) !important;
    gap: 11px !important;
    padding: 8px 11px !important;
    font-size: 14px !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a span,
  .natal-page .result-product-tabs[data-product-tabs] > a span,
  .daily-page .result-product-tabs[data-product-tabs] > a span,
  .result-page-layout .result-product-tabs[data-product-tabs] > a span{
    width: 36px !important;
    height: 36px !important;
    border-radius: 13px !important;
    font-size: 16px !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"],
  .natal-page .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"],
  .daily-page .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"],
  .result-page-layout .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"]{
    min-height: 56px !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a[title="Все сервисы"],
  .natal-page .result-product-tabs[data-product-tabs] > a[title="Все сервисы"],
  .daily-page .result-product-tabs[data-product-tabs] > a[title="Все сервисы"],
  .result-page-layout .result-product-tabs[data-product-tabs] > a[title="Все сервисы"]{
    min-height: 52px !important;
  }
}

/* Тёмный промо-блок нумерологии на вкладке «Гороскопы» */
#panel-horoscopes .free-test-banner.is-dark,
.free-test-banner.is-dark {
  background: linear-gradient(135deg, rgba(14, 20, 50, 0.96), rgba(5, 16, 42, 0.98)) !important;
  border: 1px solid rgba(147, 197, 253, 0.22) !important;
  color: #fff !important;
}
#panel-horoscopes .free-test-banner.is-dark h2,
.free-test-banner.is-dark h2 {
  color: #fff !important;
}
#panel-horoscopes .free-test-banner.is-dark p,
.free-test-banner.is-dark p {
  color: rgba(255, 255, 255, 0.92) !important;
}
#panel-horoscopes .free-test-banner.is-dark .eyebrow,
#panel-horoscopes .free-test-banner.is-dark .eyebrow.dark,
.free-test-banner.is-dark .eyebrow,
.free-test-banner.is-dark .eyebrow.dark {
  color: rgba(255, 255, 255, 0.78) !important;
  opacity: 1 !important;
}
#panel-horoscopes .free-test-banner.is-dark .secondary-button,
.free-test-banner.is-dark .secondary-button {
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}
#panel-horoscopes .free-test-banner.is-dark .secondary-button:hover,
.free-test-banner.is-dark .secondary-button:hover {
  background: rgba(255, 255, 255, 0.16) !important;
  border-color: rgba(255, 255, 255, 0.65) !important;
}

/* Баннер «предложите систему» — вкладка Human Design */
#panel-hd .systems-expand-banner,
.systems-expand-banner {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  margin: 0 0 20px;
  padding: 22px 24px;
  border-radius: 22px;
  border: 1px solid rgba(104, 71, 245, 0.22);
  background: linear-gradient(125deg, #5b3dda 0%, #6847f5 42%, #7c5cff 100%);
  color: #fff;
  box-shadow: 0 14px 40px rgba(88, 58, 220, 0.22);
}
.systems-expand-icon {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  font-size: 24px;
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.22);
}
.systems-expand-copy {
  flex: 1;
  min-width: min(100%, 280px);
}
.systems-expand-eyebrow {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
  margin-bottom: 6px;
}
.systems-expand-banner h2 {
  margin: 0 0 8px;
  font-size: clamp(1.05rem, 2.4vw, 1.35rem);
  font-weight: 800;
  line-height: 1.25;
  color: #fff;
}
.systems-expand-banner p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.9);
  max-width: 52rem;
}
.systems-expand-cta {
  flex-shrink: 0;
  padding: 13px 20px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  color: #4a2fc0 !important;
  background: #fff;
  box-shadow: 0 6px 20px rgba(20, 10, 60, 0.18);
  transition: transform 0.15s, box-shadow 0.15s;
}
.systems-expand-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 28px rgba(20, 10, 60, 0.24);
}
@media (max-width: 640px) {
  .systems-expand-banner {
    flex-direction: column;
    align-items: flex-start;
    padding: 18px 16px;
  }
  .systems-expand-cta {
    width: 100%;
    text-align: center;
  }
}

/* ── Cabinet editor (my.php) ── */

.account-page .account-tabs {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  gap: 0 !important;
  overflow: hidden !important;
  flex-wrap: nowrap !important;
  padding: 6px !important;
  padding-right: 4px !important;
}

.account-page .account-tabs-track {
  display: flex;
  min-width: 0;
  gap: 6px;
  overflow-x: auto;
  overflow-y: hidden;
  flex-wrap: nowrap;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  padding: 2px 4px 2px 2px;
}

.account-page .account-tabs-track::-webkit-scrollbar {
  display: none;
}

.account-page .account-tabs .account-tabs-gear {
  flex: 0 0 auto !important;
  align-self: center !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 2px 0 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-left: 1px solid rgba(15, 122, 130, .16) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .65) !important;
  color: var(--cab-muted, #6b6580) !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: background 0.15s, color 0.15s;
}

.account-page .account-tabs .account-tabs-gear:hover,
.account-page .account-tabs .account-tabs-gear.is-active {
  color: var(--cab-primary, #147f86) !important;
  background: var(--cab-soft, #edf6fb) !important;
}

.cabinet-editor {
  margin: 0 0 24px;
  padding: 20px 22px;
  border: 1px solid var(--cab-line, #e4ddf3);
  border-radius: 20px;
  background: linear-gradient(180deg, #fff, #faf8ff);
  box-shadow: 0 14px 36px rgba(48, 31, 78, 0.07);
}

.cabinet-editor-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.cabinet-editor-head h2 {
  margin: 4px 0 8px;
  font-size: 1.35rem;
}

.cabinet-editor-list {
  display: grid;
  gap: 10px;
}

.cabinet-editor-row {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(74, 47, 192, 0.1);
  background: #fff;
}

.cabinet-editor-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--cab-soft, #f4f0ff);
  font-size: 1rem;
}

.cabinet-editor-copy b {
  display: block;
  font-size: 0.95rem;
}

.cabinet-editor-copy small {
  color: var(--cab-muted, #6b6580);
}

.cabinet-editor-status {
  font-size: 0.75rem;
  font-weight: 800;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f2f0f8;
  color: #5c5670;
  white-space: nowrap;
}

.cabinet-editor-status--оплачено {
  background: #e8faf3;
  color: #0f7a55;
}

.cabinet-editor-status--подписка {
  background: #fff4df;
  color: #9a6200;
}

.cabinet-editor-status--не-оплачено {
  background: #f4f0ff;
  color: #4a2fc0;
}

.cabinet-editor-status--бесплатно {
  background: #ecfdf5;
  color: #047857;
}
.cabinet-editor-status--скрыто {
  background: #f0f0f3;
  color: #6b6580;
}

.cabinet-editor-delete {
  border: 0;
  background: none;
  color: #c0392b;
  font-size: 0.82rem;
  font-weight: 800;
  cursor: pointer;
  padding: 6px 8px;
  border-radius: 8px;
}

.cabinet-editor-delete:hover {
  background: rgba(192, 57, 43, 0.08);
}

.cabinet-editor-empty {
  padding: 12px 0 4px;
}

.cabinet-delete-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  background: rgba(12, 20, 28, 0.55);
  backdrop-filter: blur(6px);
}

.cabinet-delete-modal[hidden] {
  display: none !important;
}

.cabinet-delete-dialog {
  position: relative;
  width: min(460px, 100%);
  padding: 28px 26px 24px;
  border-radius: 24px;
  background: linear-gradient(180deg, #fff 0%, #fafcfd 100%);
  border: 1px solid rgba(15, 122, 130, 0.12);
  box-shadow: 0 28px 70px rgba(12, 30, 38, 0.22);
}

.cabinet-delete-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 10px;
  background: rgba(15, 122, 130, 0.06);
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  color: #6b7a82;
  transition: background 0.15s;
}

.cabinet-delete-close:hover {
  background: rgba(15, 122, 130, 0.12);
}

.cabinet-delete-icon {
  width: 52px;
  height: 52px;
  margin: 0 0 16px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  background: linear-gradient(135deg, #fff4e8, #ffe8dc);
  color: #c45c28;
  box-shadow: inset 0 0 0 1px rgba(196, 92, 40, 0.12);
}

.cabinet-delete-copy {
  margin-bottom: 18px;
}

.cabinet-delete-copy .eyebrow {
  margin-bottom: 8px;
}

.cabinet-delete-dialog h3 {
  margin: 0 0 10px;
  font-size: 1.35rem;
  line-height: 1.3;
  letter-spacing: -0.02em;
}

.cabinet-delete-lead {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--cab-muted, #5f6d74);
}

.cabinet-delete-target-card {
  margin-bottom: 18px;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--cab-soft, #edf6fb);
  border: 1px solid rgba(15, 122, 130, 0.1);
}

.cabinet-delete-target-card small {
  display: block;
  margin-bottom: 6px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--cab-muted, #6b7a82);
}

.cabinet-delete-target {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.45;
  color: #17343a;
}

.cabinet-delete-challenge {
  margin-bottom: 16px;
}

.cabinet-delete-hint {
  margin: 0 0 10px;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--cab-muted, #5f6d74);
}

.cabinet-delete-word-box {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 12px 18px;
  border-radius: 14px;
  background: #fff;
  border: 1px dashed rgba(15, 122, 130, 0.28);
}

.cabinet-delete-word {
  margin: 0;
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.06em;
  color: var(--cab-primary, #147f86);
  text-transform: lowercase;
}

.cabinet-delete-form {
  display: grid;
  gap: 16px;
}

.cabinet-delete-input-wrap {
  display: grid;
  gap: 8px;
}

.cabinet-delete-input-label {
  font-size: 0.82rem;
  font-weight: 800;
  color: #3d4d52;
}

.cabinet-delete-input-wrap input {
  width: 100%;
  box-sizing: border-box;
  padding: 13px 15px;
  border: 1px solid rgba(15, 122, 130, 0.18);
  border-radius: 12px;
  font-size: 1rem;
  line-height: 1.4;
  background: #fff;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.cabinet-delete-input-wrap input:focus {
  outline: none;
  border-color: var(--cab-primary, #147f86);
  box-shadow: 0 0 0 3px rgba(15, 122, 130, 0.12);
}

.cabinet-delete-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 4px;
}

.cabinet-delete-actions .danger-button,
.cabinet-delete-actions .secondary-button {
  width: 100%;
  min-height: 46px;
  justify-content: center;
}

body.cabinet-modal-open {
  overflow: hidden;
}

@media (max-width: 700px) {
  .cabinet-delete-dialog {
    padding: 24px 18px 20px;
    border-radius: 20px;
  }

  .cabinet-delete-actions {
    grid-template-columns: 1fr;
  }

  .cabinet-editor-row {
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "icon copy"
      "status delete";
  }
  .cabinet-editor-icon { grid-area: icon; }
  .cabinet-editor-copy { grid-area: copy; }
  .cabinet-editor-status { grid-area: status; justify-self: start; }
  .cabinet-editor-delete { grid-area: delete; justify-self: end; }
}

/* ═══════════════════════════════════════════════════════════════
   Матрица судьбы — nv2 workspace
   ═══════════════════════════════════════════════════════════════ */

.dm-page .dm-page-hero { margin-bottom: 8px; }
.dm-page .dm-hero-orbit span { color: #7f77dd; }

.dm-page .dm-reading-workspace {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 8px;
  width: 100%;
  min-width: 0;
}
.dm-page .dm-nv2-hero {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  margin-bottom: 20px;
  flex: none;
  width: 100%;
  position: relative;
  z-index: 1;
  grid-template-columns: unset;
}
.dm-page .dm-nv2-hero .nv2-chart-col {
  flex: 1 1 0;
  min-width: 0;
  min-height: 0;
  padding: 12px 14px 14px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}
.dm-page .dm-nv2-hero .nv2-data-col {
  flex: 0 0 272px;
  width: 272px;
  max-height: none;
  align-self: stretch;
}
.dm-page #dmChartWrap {
  position: relative;
  width: min(100%, clamp(480px, 54vw, 640px));
  aspect-ratio: 1;
  margin: 0;
  line-height: 0;
}
.dm-page #dmChartWrap .dm-matrix-chart {
  width: 100%;
  height: 100%;
}
.dm-page #dmChartWrap svg.mv-matrix-oct {
  display: block;
  width: 100%;
  height: 100%;
  vertical-align: top;
}

.dm-page .dm-matrix-loading {
  position: absolute; inset: 0; z-index: 2;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px;
  background: rgba(250, 248, 255, .96); border-radius: 18px;
  pointer-events: none;
  transition: opacity .4s ease, visibility .4s;
}
.dm-page .dm-matrix-loading.is-done { opacity: 0; visibility: hidden; pointer-events: none; }
.dm-page .dm-matrix-loading-orbit {
  width: 52px; height: 52px; border-radius: 50%;
  border: 3px solid #e8e2f8; border-top-color: #6c52e8;
  animation: dmSpin .9s linear infinite;
}
.dm-page .dm-matrix-loading h3 { margin: 0; font-size: 1rem; font-weight: 700; color: #1a1340; }
.dm-page .dm-matrix-loading p { margin: 0; font-size: .86rem; color: #6b5a80; min-height: 1.2em; text-align: center; padding: 0 20px; }
.dm-page .dm-matrix-loading-track { width: min(220px, 70%); height: 4px; border-radius: 99px; background: #e8e2f8; overflow: hidden; }
.dm-page .dm-matrix-loading-track i { display: block; height: 100%; width: 35%; border-radius: inherit; background: linear-gradient(90deg, #6c52e8, #58c488, #ebb05e); animation: dmLoad 1.6s ease-in-out infinite; }
@keyframes dmSpin { to { transform: rotate(360deg); } }
@keyframes dmLoad { 0% { transform: translateX(-120%); } 100% { transform: translateX(320%); } }

.dm-page .ng { cursor: pointer; transition: opacity .2s, transform .15s; }
.dm-page .ng.dim { opacity: .16; pointer-events: none; }
.dm-page .ng.sl .nm { stroke: #6c52e8; stroke-width: 3; }
.dm-page .ng:hover:not(.dim) { transform: none; }

.dm-page .dm-sidebar-card { gap: 12px; }
.dm-page .dm-sidebar-head .nv2-data-name { font-size: 1.05rem; }
.dm-page .dm-sidebar-tip { font-size: .76rem; line-height: 1.45; color: #8b7ca0; margin-top: 4px; }
.dm-page .dm-sidebar-groups { display: flex; flex-direction: column; gap: 14px; flex: 1; overflow-y: auto; }
.dm-page .dm-sidebar-group-label {
  font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
  color: #9b8fb5; margin: 0 0 6px;
}
.dm-page .dm-sidebar-row {
  width: 100%; display: grid; grid-template-columns: 28px 1fr auto; gap: 10px; align-items: center;
  padding: 10px 10px; margin-bottom: 4px; border: 1px solid transparent; border-radius: 12px;
  background: #fff; cursor: pointer; text-align: left; transition: .15s;
}
.dm-page .dm-sidebar-row:hover { background: #f5f2fd; border-color: #e4dbf7; }
.dm-page .dm-sidebar-row.is-active { background: #f0ecff; border-color: #c8b8ff; box-shadow: 0 4px 14px rgba(108, 82, 232, .1); }
.dm-page .dm-sidebar-icon { font-size: 1rem; text-align: center; color: var(--accent, #6c52e8); }
.dm-page .dm-sidebar-copy b { display: block; font-size: .82rem; color: #2a2540; }
.dm-page .dm-sidebar-copy small { display: block; font-size: .7rem; color: #8b7ca0; line-height: 1.35; margin-top: 2px; }
.dm-page .dm-sidebar-nums {
  font-size: .72rem; font-weight: 800; color: #6c52e8; background: #f5f2fd;
  border-radius: 8px; padding: 4px 8px; white-space: nowrap;
}
/* Блок расшифровки — отдельная карточка под матрицей */
.dm-page .dm-reading-panel {
  flex: none;
  width: 100%;
  min-width: 0;
  background: #fff;
  border: 1px solid #e9e4f0;
  border-radius: 20px;
  box-shadow: 0 12px 40px rgba(40, 30, 80, .06);
  overflow: hidden;
  position: relative;
  z-index: 2;
}
.dm-page .dm-reading-main {
  width: 100%;
  min-width: 0;
}
.dm-page .dm-reading-tabs.nv2-nav {
  position: static;
  top: auto;
  z-index: auto;
  margin: 0;
  padding: 0 12px;
  background: #faf8ff;
  border-bottom: 1px solid #e9e4f0;
}
.dm-page .dm-nv2-content {
  padding: 28px 16px 48px;
}
.dm-page .dm-reading-pane {
  scroll-margin-top: 88px;
  padding-bottom: 36px;
  margin-bottom: 8px;
  border-bottom: 1px solid #ede8f8;
}
.dm-page .dm-reading-pane:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.dm-page .dm-pane-head {
  display: flex; align-items: flex-start; gap: 14px;
  max-width: 760px; padding: 0 0 24px 24px; margin-bottom: 8px;
  border-left: 2px solid #e8e0f8;
}
.dm-page .dm-pane-icon {
  width: 44px; height: 44px; border-radius: 14px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.2rem; flex-shrink: 0;
}
.dm-page .dm-pane-head h2 { margin: 0 0 4px; font-size: 1.35rem; font-weight: 800; color: #1a1340; }
.dm-page .dm-pane-head p { margin: 0; font-size: .88rem; color: #7a6898; line-height: 1.5; }

.dm-page .dm-pane-body { max-width: 760px; padding-left: 24px; border-left: 2px solid #e8e0f8; }
.dm-page .dm-pane-body .cds { margin-top: 0; }
.dm-page .dm-section-intro {
  margin: 0 0 20px; padding: 14px 16px; border-radius: 12px;
  background: #f5f2fd; border: 1px solid #e4dbf7;
  font-size: .92rem; line-height: 1.65; color: #3c3055;
}
.dm-page .dm-reading-flow .cd-item {
  margin-bottom: 16px;
}
.dm-page .dm-reading-flow .cd-item:last-child { margin-bottom: 0; }
.dm-page .dm-reading-card.reading-card-v3 {
  border: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
  max-width: 100%;
}
.dm-page .dm-reading-card-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
}
.dm-page .dm-reading-card-head .cd-num { flex-shrink: 0; }
.dm-page .dm-reading-card h3 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 800;
  color: #1a1340;
  line-height: 1.25;
}
.dm-page .dm-reading-meta { font-size: .78rem; color: #8b7ca0; margin-top: 4px; }
.dm-page .dm-reading-text {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.dm-page .dm-reading-text .reading-subchapter {
  margin-top: 20px;
  padding: 0;
  border: 0;
  background: transparent;
}
.dm-page .dm-reading-text .reading-subchapter:first-child { margin-top: 0; }
.dm-page .dm-reading-text .reading-subchapter h4 {
  margin: 0 0 10px;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #534ab7;
}
.dm-page .dm-reading-text .reading-subchapter p {
  margin: 0 0 12px;
  font-size: .94rem;
  line-height: 1.72;
  color: #2a2540;
}
.dm-page .dm-reading-text .reading-subchapter p:last-child { margin-bottom: 0; }
.dm-page .dm-reading-text .reading-subchapter-cont {
  margin-top: 10px;
}
.dm-page .dm-reading-text .reading-subchapter-cont p {
  margin-top: 0;
}
.dm-page .dm-reading-list-plus ul, .dm-page .dm-reading-list-minus ul, .dm-page .dm-todo-list {
  margin: 0; padding: 0 0 0 18px; font-size: .9rem; line-height: 1.65; color: #2a2540;
}
.dm-page .dm-reading-list-plus h4 { color: #2d8b57; }
.dm-page .dm-reading-list-minus h4 { color: #b04665; }
.dm-page .dm-ai-body .reading-subchapter { margin-top: 14px; }
.dm-page .dm-ai-body .reading-subchapter h4.dm-ai-sub,
.dm-page .dm-ai-body .reading-subchapter h4 {
  font-size: .82rem;
  font-weight: 700;
  color: #6d28d9;
  margin: 0 0 8px;
}
.dm-page .dm-ai-body .reading-subchapter p {
  font-size: .94rem;
  line-height: 1.65;
  color: #3c3055;
}
.dm-page .dm-appendix { margin-top: 32px; padding-top: 24px; border-top: 2px solid #e8e0f8; }
.dm-page .dm-appendix-title { font-size: 1.25rem; font-weight: 800; color: #1a1340; margin-bottom: 8px; }
.dm-page .dm-appendix-lead { font-size: .88rem; color: #7a6898; line-height: 1.55; margin: 0 0 20px; }
.dm-page .dm-appendix-card { margin-bottom: 32px; padding-bottom: 24px; border-bottom: 1px solid #ece8f5; }

.dm-page .dm-pane-body .cd-item {
  background: #fff;
  border: 1px solid #ece8f5;
  border-radius: 16px;
  padding: 22px 20px;
  margin-bottom: 16px;
  box-shadow: 0 8px 24px rgba(40, 30, 80, .04);
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}
.dm-page .dm-pane-body .cd-item .reading-card-v3 {
  border-bottom: 0;
  padding: 0;
}
.dm-page .dm-pane-body .cd-h { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.dm-page .dm-pane-body .cd-num {
  width: 52px; height: 52px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; font-weight: 700; color: #fff; flex-shrink: 0;
}
.dm-page .dm-pane-body .cd-ti { font-size: 1.15rem; font-weight: 700; color: #1a1340; }
.dm-page .dm-pane-body .cd-sub { font-size: .86rem; color: #9b8fb5; margin-top: 2px; }
.dm-page .dm-pane-body .cd-desc {
  font-size: .96rem; color: #2a2540; line-height: 1.7; margin-bottom: 16px;
  background: #faf8ff; border-radius: 12px; padding: 12px 14px;
}
.dm-page .dm-pane-body .cd-desc p { margin: 0; }
.dm-page .dm-pane-body .cd-sec {
  background: #fff; border: 1px solid #ece8f5; border-left: 4px solid var(--cdx, #6c52e8);
  border-radius: 0 12px 12px 0; padding: 14px 16px; margin-bottom: 12px;
}
.dm-page .dm-pane-body .cd-sec-plus { --cdx: #2d8b57; --cdx-bg: #eaf5ee; }
.dm-page .dm-pane-body .cd-sec-minus { --cdx: #b04665; --cdx-bg: #fbecef; }
.dm-page .dm-pane-body .cd-st { font-size: .86rem; font-weight: 700; color: var(--cdx); margin-bottom: 8px; display: flex; align-items: center; gap: 8px; }
.dm-page .dm-pane-body .cd-st-ico {
  width: 26px; height: 26px; border-radius: 50%; background: var(--cdx-bg);
  display: inline-flex; align-items: center; justify-content: center;
}
.dm-page .dm-pane-body .cd-ul { font-size: .9rem; color: #2a2540; line-height: 1.65; }
.dm-page .dm-pane-body .cd-ul p { margin: 0 0 5px; padding-left: 18px; position: relative; }
.dm-page .dm-pane-body .cd-ul p::before { content: '·'; position: absolute; left: 0; color: var(--cdx); font-weight: 700; }

.dm-page .mc-personal {
  background: linear-gradient(160deg, #fff, #faf8ff); border-radius: 14px;
  padding: 18px 16px; margin-top: 14px; border-left: 3px solid #6c52e8;
}
.dm-page .mc-personal-badge {
  display: inline-block; background: #eeedfe; color: #534ab7;
  font-size: .72rem; font-weight: 700; padding: 5px 12px; border-radius: 14px;
  text-transform: uppercase; letter-spacing: .06em; margin: 0 0 14px;
}
.dm-page .mc-personal p { margin: 0 0 12px; font-size: .94rem; line-height: 1.65; color: #2a2540; }
.dm-page .mc-personal h4 { margin: 18px 0 8px; font-size: 1rem; font-weight: 800; color: #534ab7; }
.dm-page .mc-personal-hint { margin-top: 18px; padding-top: 18px; border-top: 1px solid #ece8f5; font-size: .9rem; color: #3c3055; }

.dm-page .mc-products {
  margin: 20px 0 8px; padding: 18px 18px 20px;
  background: linear-gradient(160deg, #faf8ff, #fff); border-radius: 16px; border: 1px solid #ece8f5;
}
.dm-page .mc-products-title { font-size: 1.35rem; font-weight: 700; color: #1a1340; text-align: center; margin-bottom: 4px; }
.dm-page .mc-products-sub { font-size: .86rem; color: #7a6898; text-align: center; margin-bottom: 18px; }
.dm-page .mc-product-card-v14 {
  background: #fff; border: 1px solid #ece8f5; border-radius: 16px;
  padding: 20px 18px; display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center;
}
.dm-page .mc-product-badge {
  display: inline-block; background: #eeedfe; color: #534ab7;
  font-size: .68rem; font-weight: 600; padding: 3px 10px; border-radius: 10px; text-transform: uppercase; margin-bottom: 8px;
}
.dm-page .mc-product-name { font-size: 1.15rem; font-weight: 600; color: #2a2540; margin-bottom: 6px; }
.dm-page .mc-product-sections { font-size: .84rem; color: #7a6898; line-height: 1.55; }
.dm-page .mc-product-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.dm-page .mc-product-list li b { display: block; font-size: .92rem; color: #2a2540; margin-bottom: 4px; }
.dm-page .mc-product-list li span { display: block; font-size: .82rem; color: #7a6898; line-height: 1.5; }
.dm-page .mc-products-family { margin-top: 20px; padding-top: 18px; border-top: 1px solid #ece8f5; }
.dm-page .mc-products-family-title { font-size: 1.1rem; font-weight: 700; color: #1a1340; margin-bottom: 8px; }
.dm-page .mc-products-family-intro { font-size: .86rem; color: #7a6898; line-height: 1.55; margin: 0 0 14px; }
.dm-page .mc-product-card-family { margin-top: 0; }
.dm-page .dm-ai-error { color: #b04665; padding: 12px 0 12px 24px; font-size: .9rem; line-height: 1.5; }
.dm-page .mc-product-price { font-size: 1.45rem; font-weight: 700; color: #2a2540; }
.dm-page .mc-product-price s { font-size: .95rem; color: #b0b0a8; font-weight: 400; margin-right: 8px; }
.dm-page .mc-product-meta { font-size: .72rem; color: #b0b0a8; text-transform: uppercase; margin-top: 6px; }

.dm-page .chakra-accordion {
  border: 1px solid #ece8f5; border-radius: 14px; background: #fff; overflow: hidden;
  box-shadow: 0 8px 24px rgba(40, 30, 80, .04);
}
.dm-page .chakra-acc-head {
  width: 100%; display: flex; align-items: center; gap: 12px; padding: 16px 18px;
  background: #fff; border: none; cursor: pointer; text-align: left;
}
.dm-page .chakra-acc-title { font-size: .95rem; font-weight: 700; color: #1a1340; flex-shrink: 0; }
.dm-page .chakra-acc-sub { font-size: .8rem; color: #9b8fb5; flex: 1; }
.dm-page .chakra-acc-body { display: none; padding: 0 16px 16px; }
.dm-page .chakra-accordion.open .chakra-acc-body { display: block; }
.dm-page .dm-chakra-table { width: 100%; border-collapse: collapse; font-size: .84rem; }
.dm-page .dm-chakra-table th, .dm-page .dm-chakra-table td { padding: 10px 12px; border-top: 1px solid #ece8f5; }

.dm-page .nv2-ai-pane { max-width: 760px; padding-left: 24px; border-left: 2px solid #e8e0f8; }
.dm-page .nv2-ai-btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 13px 26px;
  border: 0; border-radius: 12px; background: #6c52e8; color: #fff;
  font-size: .92rem; font-weight: 700; cursor: pointer; margin-bottom: 20px;
}
.dm-page .nv2-ai-btn:hover { background: #5a44cc; }

.dm-page .dm-guide-article {
  margin: 0 0 24px; padding: 28px 28px 8px; border-radius: 18px;
  background: linear-gradient(165deg, #faf8ff 0%, #fff 55%);
  border: 1px solid #ece8f5; box-shadow: 0 10px 32px rgba(40, 30, 80, .05);
}
.dm-page .dm-guide-head h2 { margin: 8px 0 12px; font-size: 1.45rem; font-weight: 800; color: #1a1340; }
.dm-page .dm-guide-lead { font-size: 1rem; line-height: 1.65; color: #2a2540; }
.dm-page .dm-guide-article p { margin: 0 0 14px; font-size: .92rem; line-height: 1.65; color: #3c3055; }
.dm-page .dm-guide-sec { margin: 22px 0 8px; padding-top: 18px; border-top: 1px solid #ece8f5; }
.dm-page .dm-guide-sec h3 { margin: 0 0 12px; font-size: 1.1rem; font-weight: 800; color: #534ab7; }
.dm-page .dm-guide-compare {
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 16px 0 18px;
}
.dm-page .dm-guide-compare-col {
  padding: 16px; border-radius: 14px; background: #fff; border: 1px solid #ece8f5;
}
.dm-page .dm-guide-compare-highlight { background: #f5f2fd; border-color: #d8cff5; }
.dm-page .dm-guide-compare-label { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #8b7ca0; margin-bottom: 10px; }
.dm-page .dm-guide-compare-col p { margin: 10px 0 0; font-size: .84rem; color: #7a6898; }
.dm-page .dm-guide-zones { display: grid; gap: 10px; margin: 14px 0; }
.dm-page .dm-guide-zone { padding: 12px 14px; border-radius: 12px; background: #fff; border: 1px solid #ece8f5; }
.dm-page .dm-guide-zone b { display: block; font-size: .9rem; color: #1a1340; margin-bottom: 4px; }
.dm-page .dm-guide-zone p { margin: 0; font-size: .84rem; color: #6b5a80; line-height: 1.55; }
.dm-page .dm-guide-personal, .dm-page .dm-guide-cta {
  padding: 14px 16px; border-radius: 12px; background: #f0ecff; border: 1px solid #ddd4f7;
}
.dm-page .dm-guide-cta { margin-top: 8px; }

.dm-page .dm-mode-bar {
  margin: 0 0 18px; padding: 18px 20px; border-radius: 16px;
  background: #fff; border: 1px solid #ece8f5; box-shadow: 0 8px 24px rgba(40, 30, 80, .04);
}
.dm-page .dm-mode-bar-title { font-size: .95rem; font-weight: 800; color: #1a1340; }
.dm-page .dm-mode-bar-hint { margin: 4px 0 12px; font-size: .82rem; color: #7a6898; line-height: 1.45; }
.dm-page .dm-mode-switch {
  display: flex; flex-wrap: wrap; gap: 8px;
}
.dm-page .dm-mode-btn {
  display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px;
  border: 1px solid #e4dbf7; border-radius: 999px; background: #faf9fe;
  font-size: .82rem; font-weight: 600; color: #534ab7; cursor: pointer;
  transition: background .15s, border-color .15s, box-shadow .15s;
}
.dm-page .dm-mode-btn:hover { background: #f0ecff; border-color: #c8b8ff; }
.dm-page .dm-mode-btn.active {
  background: #6c52e8; border-color: #6c52e8; color: #fff;
  box-shadow: 0 4px 14px rgba(108, 82, 232, .25);
}
.dm-page .dm-mode-icon { font-size: .95rem; line-height: 1; }

.dm-page .dm-bundle-block { margin-top: 22px; padding-top: 18px; border-top: 1px dashed #ddd4f7; }
.dm-page .dm-bundle-block-title {
  font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em;
  color: #6c52e8; margin-bottom: 12px;
}
.dm-page .dm-bundle-card {
  padding: 16px 18px; border-radius: 14px; background: #f5f2fd; border: 1px solid #ddd4f7;
  margin-bottom: 12px;
}
.dm-page .dm-bundle-visual {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 12px;
}
.dm-page .dm-bundle-visual-demo .dm-bundle-col { min-width: 72px; }
.dm-page .dm-bundle-col {
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  padding: 10px 12px; border-radius: 12px; background: #fff; border: 1px solid #e4dbf7;
  min-width: 80px;
}
.dm-page .dm-bundle-col-result { background: #eeedfe; border-color: #c8b8ff; }
.dm-page .dm-bundle-num {
  width: 36px; height: 36px; border-radius: 50%; background: #6c52e8; color: #fff;
  display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 1rem;
}
.dm-page .dm-bundle-col small { font-size: .72rem; color: #7a6898; text-align: center; line-height: 1.3; }
.dm-page .dm-bundle-label { font-size: .82rem; font-weight: 800; color: #534ab7; }
.dm-page .dm-bundle-plus, .dm-page .dm-bundle-eq { font-size: 1.1rem; font-weight: 800; color: #9b8fb5; }
.dm-page .dm-bundle-title { margin: 0 0 8px; font-size: 1rem; font-weight: 800; color: #1a1340; }
.dm-page .dm-bundle-text { margin: 0; font-size: .9rem; line-height: 1.65; color: #2a2540; }

@media (max-width: 960px) {
  .dm-page .dm-nv2-hero {
    flex-direction: column;
  }
  .dm-page .dm-nv2-hero .nv2-data-col {
    flex: 1 1 auto;
    width: 100%;
    border-left: none;
    border-top: 1px solid #e9e4f0;
  }
  .dm-page #dmChartWrap {
    width: min(100%, 520px);
  }
  .dm-page .dm-guide-compare { grid-template-columns: 1fr; }
  .dm-page .dm-sidebar-row { grid-template-columns: 24px 1fr; }
  .dm-page .dm-sidebar-nums { grid-column: 2; justify-self: start; margin-top: -2px; }
  .dm-page .mc-product-card-v14 { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .dm-page .dm-pane-head, .dm-page .dm-pane-body, .dm-page .nv2-ai-pane { padding-left: 16px; }
}

.chart-save-bar {
  display: flex;
  justify-content: center;
  margin-top: 12px;
}
.chart-save-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 16px;
  border: 1px solid #e4dbf7;
  border-radius: 12px;
  background: #fff;
  color: #4e3f82;
  font: inherit;
  font-size: .82rem;
  font-weight: 700;
  cursor: pointer;
  transition: .15s;
  box-shadow: 0 4px 14px rgba(108, 82, 232, .08);
}
.chart-save-btn:hover:not(:disabled) {
  background: #f5f2fd;
  border-color: #c8b8ff;
}
.chart-save-btn:disabled,
.chart-save-btn.is-saving {
  opacity: .7;
  cursor: wait;
}
.result-v3 .chart-stage .chart-save-bar { margin-top: 14px; }
.nv2-chart-col .chart-save-bar { margin-top: 10px; }
.dm-page .nv2-chart-col .chart-save-bar { margin-top: 12px; }

/* Блок 3 закрытых разделов на бесплатном result (воронка result→pay) */
.locked-sections-block {
  margin-top: 42px;
  padding: 28px 26px 30px;
  border-radius: 28px;
  background: linear-gradient(145deg, #f8f6ff 0%, #fff 48%, #fff7fb 100%);
  border: 1px solid #e7e0ff;
  box-shadow: 0 18px 48px rgba(68, 45, 165, .08);
}
.locked-sections-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}
.locked-sections-copy h2 {
  margin: 6px 0 10px;
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  line-height: 1.2;
}
.locked-sections-copy p {
  margin: 0;
  color: #5a6178;
  font-size: .94rem;
  line-height: 1.55;
  max-width: 62ch;
}
.locked-sections-price {
  flex: 0 0 auto;
  padding: 14px 18px;
  border-radius: 18px;
  background: #251d4b;
  color: #fff;
  text-align: center;
}
.locked-sections-price b {
  display: block;
  font-size: 1.35rem;
  letter-spacing: -.03em;
}
.locked-sections-price small {
  display: block;
  margin-top: 4px;
  font-size: .72rem;
  opacity: .78;
}
.locked-sections-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.locked-section-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 240px;
  padding: 20px 18px 16px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid #ebe6ff;
  overflow: hidden;
}
.locked-section-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.locked-section-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(135deg, #eee9ff, #fff0f6);
  font-size: 1.1rem;
}
.locked-section-badge {
  padding: 4px 9px;
  border-radius: 999px;
  background: #f3f0ff;
  color: #6b5acb;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.locked-section-card small {
  color: #8b7ca0;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.locked-section-card h3 {
  margin: 6px 0 10px;
  font-size: 1.08rem;
}
.locked-section-teaser {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #555d74;
  font-size: .86rem;
  line-height: 1.5;
  filter: blur(4px);
  user-select: none;
  pointer-events: none;
}
.locked-section-fade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 52px;
  height: 72px;
  background: linear-gradient(transparent, #fff 78%);
  pointer-events: none;
}
.locked-section-unlock {
  position: relative;
  z-index: 2;
  margin-top: auto;
  align-self: flex-start;
  border: 0;
  border-radius: 12px;
  padding: 10px 14px;
  background: linear-gradient(135deg, #5b46e8, #7a4df5);
  color: #fff;
  font: inherit;
  font-size: .8rem;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(91, 70, 232, .22);
}
.locked-section-unlock:hover { transform: translateY(-1px); }
.locked-sections-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
  align-items: center;
}
@media (max-width: 980px) {
  .locked-sections-grid { grid-template-columns: 1fr; }
  .locked-sections-head { flex-direction: column; }
  .locked-sections-price { align-self: flex-start; }
}
@media (max-width: 640px) {
  .locked-sections-block { padding: 22px 16px 24px; border-radius: 22px; }
  .locked-sections-footer .primary-button,
  .locked-sections-footer .secondary-button { width: 100%; justify-content: center; }
}
