/* cyrillic-ext */
@font-face{font-family:'Raleway';font-style:normal;font-weight:300 600;font-display:swap;src:url('/fonts/raleway-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
/* cyrillic */
@font-face{font-family:'Raleway';font-style:normal;font-weight:300 600;font-display:swap;src:url('/fonts/raleway-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
/* vietnamese */
@font-face{font-family:'Raleway';font-style:normal;font-weight:300 600;font-display:swap;src:url('/fonts/raleway-vietnamese.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
/* latin-ext */
@font-face{font-family:'Raleway';font-style:normal;font-weight:300 600;font-display:swap;src:url('/fonts/raleway-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* latin */
@font-face{font-family:'Raleway';font-style:normal;font-weight:300 600;font-display:swap;src:url('/fonts/raleway-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* cyrillic-ext */
@font-face{font-family:'Unbounded';font-style:normal;font-weight:300 900;font-display:swap;src:url('/fonts/unbounded-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
/* cyrillic */
@font-face{font-family:'Unbounded';font-style:normal;font-weight:300 900;font-display:swap;src:url('/fonts/unbounded-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
/* vietnamese */
@font-face{font-family:'Unbounded';font-style:normal;font-weight:300 900;font-display:swap;src:url('/fonts/unbounded-vietnamese.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
/* latin-ext */
@font-face{font-family:'Unbounded';font-style:normal;font-weight:300 900;font-display:swap;src:url('/fonts/unbounded-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* latin */
@font-face{font-family:'Unbounded';font-style:normal;font-weight:300 900;font-display:swap;src:url('/fonts/unbounded-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* SKIP LINK */
.skip-link{position:absolute;top:-100%;left:0;z-index:99999;padding:12px 20px;background:var(--ocean);color:#fff;font-size:14px;font-weight:600;border-radius:0 0 8px 0;text-decoration:none;transition:top 0.2s}
.skip-link:focus{top:0}
.form-error-global{color:rgba(255,100,100,0.9);font-size:13px;margin-top:12px;text-align:center;}

.skeleton-card { background:rgba(255,255,255,0.02); border:1px solid rgba(196,223,230,0.05); border-radius:24px; padding:32px 28px; display:flex; flex-direction:column; gap:20px; }
.skeleton-line { background:linear-gradient(90deg,rgba(102,165,173,0.1) 25%,rgba(102,165,173,0.2) 50%,rgba(102,165,173,0.1) 75%); background-size:200% 100%; animation:loadingSkeleton 1.5s infinite; border-radius:8px; }
@keyframes loadingSkeleton { 0%{background-position:200% 0} 100%{background-position:-200% 0} }
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root { --deep:#003B46; --ocean:#07575B; --wave:#66A5AD; --foam:#C4DFE6; --white:#ffffff; --ink:#0a1a1c; --accent:#3aaf73; }
html{scroll-behavior:smooth}

/* NAVBAR */
.navbar { position:fixed; top:0; left:0; right:0; z-index:9999; padding:18px 40px; display:flex; align-items:center; justify-content:space-between; background:rgba(0,30,35,0.6); backdrop-filter:blur(20px); border-bottom:1px solid rgba(102,165,173,0.1); animation:fadeDown 0.7s ease both; }
@keyframes fadeDown { from{opacity:0;transform:translateY(-16px)} to{opacity:1;transform:translateY(0)} }
.logo { display:inline-flex; align-items:center; gap:0; line-height:1; text-decoration:none; }
.logo-brace { color:#3DD6F5; font-family:'Unbounded',sans-serif; font-weight:300; line-height:1; display:inline-block; }
.logo-word { font-family:'Unbounded',sans-serif; font-weight:800; color:#ffffff; letter-spacing:0.04em; display:inline-block; padding:0 0.18em; }
.logo-nav .logo-brace{font-size:22px} .logo-nav .logo-word{font-size:18px}
.logo-hero .logo-brace{font-size:52px} .logo-hero .logo-word{font-size:42px}
@media(max-width:700px){
  .logo-hero{max-width:calc(100vw - 32px);justify-content:center}
  .logo-hero .logo-brace{font-size:clamp(36px,10vw,44px)}
  .logo-hero .logo-word{font-size:clamp(30px,8.6vw,34px);letter-spacing:0.02em;padding:0 0.12em;white-space:nowrap}
}
.nav-right{display:flex;align-items:center;gap:24px}
.nav-link{font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:rgba(196,223,230,0.75);text-decoration:none;transition:color 0.2s}
.nav-link:hover{color:var(--foam)}
.nav-cta{font-family:'Unbounded',sans-serif;font-size:10px;font-weight:600;letter-spacing:1px;padding:10px 22px;border-radius:100px;border:1px solid rgba(102,165,173,0.4);color:var(--foam);text-decoration:none;transition:all 0.25s}
.nav-cta:hover{background:rgba(102,165,173,0.12);border-color:var(--wave)}
.site-header{position:relative;z-index:9999}
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:none;cursor:pointer;padding:4px;border-radius:8px;transition:background 0.2s;flex-shrink:0}
.burger:hover{background:rgba(102,165,173,0.1)}
.burger span{display:block;width:22px;height:2px;background:var(--foam);border-radius:2px;transition:transform 0.3s,opacity 0.3s}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{display:none;position:relative;top:0;left:0;right:0;background:rgba(0,20,25,0.98);backdrop-filter:blur(20px);border-bottom:1px solid rgba(102,165,173,0.15);padding:0 20px;flex-direction:column;gap:4px;z-index:9998;max-height:0;overflow:hidden;transition:max-height 0.35s cubic-bezier(0.4,0,0.2,1),padding 0.3s}
.mobile-menu.open{max-height:400px;padding:12px 20px 20px;pointer-events:all}
.mobile-menu-link{display:block;padding:14px 16px;font-family:'Unbounded',sans-serif;font-size:13px;font-weight:600;color:rgba(196,223,230,0.7);text-decoration:none;border-radius:12px;transition:background 0.2s,color 0.2s;letter-spacing:0.5px}
.mobile-menu-link:hover,.mobile-menu-link.active-page{background:rgba(102,165,173,0.1);color:var(--white)}
.mobile-menu-divider{height:1px;background:rgba(102,165,173,0.12);margin:8px 0}
.mobile-menu-cta{display:block;margin-top:8px;padding:14px;text-align:center;background:linear-gradient(135deg,var(--ocean),var(--wave));color:var(--white);font-family:'Unbounded',sans-serif;font-size:12px;font-weight:600;border-radius:14px;text-decoration:none;letter-spacing:0.5px}
@media(max-width:620px){
  body{padding-top:61px}
  .navbar{padding:14px 20px;position:relative}
  .nav-right{display:none}
  .burger{display:flex}
  .mobile-menu{display:flex}
  .site-header{position:fixed;top:0;left:0;right:0;z-index:9999;background:rgba(0,20,25,0.98);backdrop-filter:blur(20px);border-bottom:1px solid rgba(102,165,173,0.1)}
  .navbar{position:relative;background:transparent;backdrop-filter:none;border-bottom:none}
  .hero{padding-top:36px;padding-bottom:40px;min-height:calc(100vh - 61px);justify-content:flex-start}
  .teachers-page{padding-top:80px}
  .faq-page{padding-top:80px}
}

@media(max-width:620px),(max-height:500px) and (orientation:landscape){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ABOUT */
.about-section{position:relative;z-index:1;max-width:860px;margin:0 auto;padding:0 24px 100px}
.about-card{background:rgba(255,255,255,0.03);border:1px solid rgba(102,165,173,0.13);border-radius:28px;padding:52px 52px 48px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.about-eyebrow{font-family:'Unbounded',sans-serif;font-size:10px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:#a8cfd5;margin-bottom:16px}
.about-headline{font-family:'Unbounded',sans-serif;font-size:clamp(20px,3vw,28px);font-weight:700;line-height:1.25;margin-bottom:24px}
.about-headline em{font-style:normal;background:linear-gradient(135deg,var(--wave),var(--foam));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.about-body{font-size:14px;font-weight:400;color:rgba(196,223,230,0.82);line-height:1.8}
.about-body strong{color:var(--foam);font-weight:600}
.about-right{display:flex;flex-direction:column;gap:16px}
.about-pill{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:rgba(102,165,173,0.06);border:1px solid rgba(102,165,173,0.14);border-radius:16px}
.about-pill-icon{font-size:20px;flex-shrink:0;margin-top:1px}
.about-pill-text{font-size:13px;color:rgba(196,223,230,0.85);line-height:1.5}
.about-pill-text strong{color:var(--foam);font-weight:600;display:block;margin-bottom:2px}
@media(max-width:700px){.about-card{grid-template-columns:1fr;padding:32px 24px 20px;gap:32px}}
@media(max-width:700px){.about-section{padding-bottom:32px}}

body{background:var(--deep);color:var(--white);font-family:'Raleway',sans-serif;overflow-x:hidden;min-height:100vh}
.hero-sub,.section-subtitle,.about-body,.about-pill-text,.card-desc,.card-hidden-details li,.wiz-hint,.wiz-sum-row-detail,.club-hero-sub,.club-video-copy p,.club-info-card p,.club-faq-item p,.club-compare p,.club-pricing-note,.footer-legal p,.legal-section p,.legal-section li,.cookie-text{overflow-wrap:break-word;hyphens:auto}
.hero-title,.section-title,.about-headline,.wiz-q,.card-name,.club-info-card h3,.club-faq-item h3{text-wrap:balance}
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:0}

/* HERO */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 24px 0;overflow:hidden}
.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:0.18;animation:drift 12s ease-in-out infinite;will-change:transform}
.blob-1{width:500px;height:500px;background:var(--wave);top:-100px;left:-150px;animation-delay:0s}
.blob-2{width:350px;height:350px;background:var(--ocean);bottom:0;right:-80px;animation-delay:-4s}
.blob-3{width:250px;height:250px;background:var(--foam);top:40%;left:55%;animation-delay:-8s}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)} 33%{transform:translate(30px,-40px) scale(1.05)} 66%{transform:translate(-20px,20px) scale(0.97)}}
.hero-tag{display:inline-block;font-family:'Unbounded',sans-serif;font-size:10px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:#a8cfd5;border:1px solid rgba(168,207,213,0.55);border-radius:100px;padding:6px 18px;margin-bottom:32px;position:relative;z-index:1;animation:fadeUp 0.8s ease both}
.hero-title{font-family:'Unbounded',sans-serif;font-size:clamp(26px,4.5vw,58px);font-weight:900;line-height:1.1;letter-spacing:-1px;position:relative;z-index:1;animation:fadeUp 0.9s 0.1s ease both}
.hero-title span{display:block;background:linear-gradient(135deg,var(--foam),var(--wave));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-sub{margin-top:24px;font-size:clamp(15px,2vw,18px);font-weight:400;color:var(--foam);opacity:0.75;max-width:560px;line-height:1.7;position:relative;z-index:1;animation:fadeUp 1s 0.2s ease both}
.btn-primary{display:inline-block;background:linear-gradient(135deg,var(--ocean),var(--wave));color:var(--white);font-family:'Unbounded',sans-serif;font-size:13px;font-weight:600;letter-spacing:1px;padding:18px 44px;border-radius:100px;text-decoration:none;border:none;cursor:pointer;transition:transform 0.25s,box-shadow 0.25s;box-shadow:0 8px 32px rgba(7,87,91,0.5)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 48px rgba(102,165,173,0.4)}
.btn-secondary{display:inline-block;background:transparent;color:var(--foam);font-family:'Unbounded',sans-serif;font-size:13px;font-weight:600;letter-spacing:1px;padding:18px 44px;border-radius:100px;text-decoration:none;border:1px solid rgba(102,165,173,0.4);cursor:pointer;transition:transform 0.25s,background 0.25s,border-color 0.25s}
.btn-secondary:hover{transform:translateY(-3px);background:rgba(102,165,173,0.1);border-color:var(--wave)}

/* SECTION LABELS */
.section-label{font-family:'Unbounded',sans-serif;font-size:10px;font-weight:600;letter-spacing:5px;text-transform:uppercase;color:#a8cfd5;text-align:center;margin-bottom:16px}
.section-title{font-family:'Unbounded',sans-serif;font-size:clamp(26px,4vw,44px);font-weight:700;text-align:center;line-height:1.15;margin-bottom:20px}
.section-subtitle{font-size:14px;color:rgba(196,223,230,0.75);text-align:center;max-width:620px;margin:0 auto 56px;line-height:1.75}
.section-subtitle strong{color:var(--foam);font-weight:600}
@media(max-width:700px){.section-subtitle{margin-bottom:32px}}
/* PRICING */
.pricing{padding:0 24px 100px;max-width:1200px;margin:0 auto;position:relative;z-index:1}
@media(max-width:700px){.pricing{padding-top:40px}}
.pricing-tabs{display:flex;justify-content:center;gap:8px;margin-bottom:52px}
.pricing-tab{font-family:'Unbounded',sans-serif;font-size:11px;font-weight:600;letter-spacing:0.5px;padding:12px 28px;border-radius:100px;border:1px solid rgba(102,165,173,0.3);color:rgba(196,223,230,0.75);background:rgba(102,165,173,0.0);cursor:pointer;transition:border-color 0.25s,color 0.25s,box-shadow 0.25s;position:relative;overflow:hidden;-webkit-appearance:none}
.pricing-tab::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--ocean),var(--wave));opacity:0;transition:opacity 0.25s;border-radius:100px;z-index:0}
.pricing-tab span{position:relative;z-index:1}
.pricing-tab:hover{border-color:rgba(102,165,173,0.5);color:var(--foam)}
.pricing-tab.active{border-color:transparent;color:var(--white);box-shadow:0 6px 20px rgba(7,87,91,0.4)}
.pricing-tab.active::before{opacity:1}
.pricing-panel{transition:opacity 0.3s}
.pricing-panel.hidden{display:none}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;align-items:stretch}
.pricing-overlay{position:fixed;inset:0;background:rgba(0,20,24,0.75);backdrop-filter:blur(12px);z-index:990;opacity:0;pointer-events:none;visibility:hidden;transition:opacity 0.4s ease,visibility 0.4s ease}
.pricing-overlay.active{opacity:1;pointer-events:all;visibility:visible}

/* CARDS */
.card{position:relative;background:rgba(255,255,255,0.04);border:1px solid rgba(196,223,230,0.12);border-radius:24px;padding:32px 24px;backdrop-filter:blur(12px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;transition:all 0.4s cubic-bezier(0.25,1,0.5,1);aspect-ratio:1/1;box-sizing:border-box}
.card.featured{background:linear-gradient(145deg,rgba(7,87,91,0.55),rgba(102,165,173,0.15));border-color:var(--wave);box-shadow:0 0 0 1px var(--wave),0 24px 60px rgba(7,87,91,0.35);transform:none!important}
.card.expanded{z-index:1000;cursor:default;transform:translate(-50%,-50%)!important;box-shadow:0 32px 80px rgba(0,0,0,0.8)!important;display:flex;flex-direction:column;aspect-ratio:1/1!important}
.card.collapsing{overflow:hidden!important}
.card.collapsing .card-top-extra,.card.collapsing .card-hidden-details{max-height:0!important;opacity:0!important;margin-top:0!important;overflow:hidden!important}
.card-close-btn{position:absolute;top:16px;right:16px;background:rgba(102,165,173,0.15);border:1px solid rgba(102,165,173,0.3);color:var(--foam);width:32px;height:32px;border-radius:50%;font-size:14px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity 0.3s,background 0.2s,color 0.2s;display:flex;align-items:center;justify-content:center;z-index:10}
.card-close-btn:hover{background:rgba(102,165,173,0.3);color:var(--white)}
.card.expanded .card-close-btn{opacity:1;pointer-events:all}
.card-hidden-details{width:100%;text-align:left;max-height:0;opacity:0;overflow:hidden;transition:max-height 0.5s ease,opacity 0.4s ease,margin-top 0.4s ease}
.card.expanded .card-hidden-details{flex:1;min-height:0;max-height:none;opacity:1;margin-top:16px;overflow-y:auto;padding:0}
.card.expanded .card-hidden-details::-webkit-scrollbar{width:4px}
.card.expanded .card-hidden-details::-webkit-scrollbar-track{background:transparent}
.card.expanded .card-hidden-details::-webkit-scrollbar-thumb{background:rgba(102,165,173,0.3);border-radius:2px}
.card-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--ocean),var(--wave));color:var(--white);font-family:'Unbounded',sans-serif;font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:6px 16px;border-radius:100px;white-space:nowrap}
.card-icon{width:56px;height:56px;flex-shrink:0;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 16px;background:rgba(102,165,173,0.12);border:1px solid rgba(102,165,173,0.2)}
.card-name{font-family:'Unbounded',sans-serif;font-size:14px;font-weight:600;color:var(--foam);margin-bottom:8px;letter-spacing:0.5px;text-align:center}
.card-desc{font-size:13px;font-weight:400;color:rgba(196,223,230,0.75);line-height:1.6;margin-bottom:24px}
.price-unit-block{display:flex;flex-direction:column;align-items:center;margin-bottom:0;padding-top:12px}
.card-price{display:flex;align-items:baseline;justify-content:center;gap:6px;width:fit-content}
.price-number-wrapper{position:relative;display:inline-block}
.price-num{font-family:'Unbounded',sans-serif;font-size:32px;font-weight:900;line-height:1;white-space:nowrap;background:linear-gradient(135deg,var(--white),var(--foam));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.trial-free-label{font-family:'Unbounded',sans-serif;font-size:28px;font-weight:900;background:linear-gradient(135deg,#3aaf73,#66d4a0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}
.price-unit{font-size:12px;color:rgba(196,223,230,0.75);font-weight:400;white-space:nowrap;align-self:flex-end;padding-bottom:4px}
.card:nth-child(1){animation-delay:0.05s} .card:nth-child(2){animation-delay:0.15s} .card:nth-child(3){animation-delay:0.25s} .card:nth-child(4){animation-delay:0.35s}
.card:not(.expanded):hover,.card.featured:not(.expanded):hover{transform:translateY(-8px)!important;border-color:rgba(102,165,173,0.4);box-shadow:0 24px 60px rgba(0,0,0,0.3)}
.card.club-card{background:linear-gradient(145deg,rgba(7,87,91,0.4),rgba(61,214,245,0.08));border-color:rgba(61,214,245,0.4);box-shadow:0 0 0 1px rgba(61,214,245,0.2),0 16px 48px rgba(61,214,245,0.1)}
.card.club-card:not(.expanded):hover{border-color:rgba(61,214,245,0.6);box-shadow:0 0 0 1px rgba(61,214,245,0.3),0 24px 64px rgba(61,214,245,0.15)}
.club-bundle-note{font-size:12px;color:rgba(196,223,230,0.55);line-height:1.55;text-align:center;margin-top:-6px;margin-bottom:18px}
.card-price-dynamic{font-family:'Unbounded',sans-serif;font-size:32px;font-weight:900;line-height:1;white-space:nowrap;background:linear-gradient(135deg,var(--white),var(--foam));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.card-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(102,165,173,0.25),transparent);margin-bottom:24px}
.features{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:32px;flex:1}
.features li{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:rgba(196,223,230,0.75);line-height:1.5}
.features li .check{flex-shrink:0;width:18px;height:18px;border-radius:50%;background:rgba(102,165,173,0.2);border:1px solid rgba(102,165,173,0.4);display:flex;align-items:center;justify-content:center;font-size:9px;color:var(--wave);margin-top:1px}
.card-btn{display:block;width:100%;padding:14px;border-radius:14px;text-align:center;font-family:'Unbounded',sans-serif;font-size:11px;font-weight:600;letter-spacing:1px;text-decoration:none;border:none;cursor:pointer;transition:all 0.25s}
.card-btn.outline{background:transparent;border:1px solid rgba(102,165,173,0.35);color:var(--foam)}
.card-btn.outline:hover{background:rgba(102,165,173,0.1);border-color:var(--wave);color:var(--white)}
.card-btn.solid{background:linear-gradient(135deg,var(--ocean),var(--wave));color:var(--white)}
.card-btn.solid:hover{transform:translateY(-2px)}
.card-btn.solid-blue{background:linear-gradient(135deg,#07575B,#3DD6F5);color:var(--white)}
.card-btn.solid-blue:hover{transform:translateY(-2px)}
.card-trial{border-color:rgba(196,223,230,0.22);background:rgba(58,175,115,0.04)}
.card-trial:hover{border-color:rgba(58,175,115,0.4)}
.card-badge-trial{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#2a7a4f,#3aaf73);color:var(--white);font-family:'Unbounded',sans-serif;font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:6px 16px;border-radius:100px;white-space:nowrap}
.trial-btn{display:block;width:100%;padding:14px;border-radius:14px;text-align:center;font-family:'Unbounded',sans-serif;font-size:11px;font-weight:600;letter-spacing:1px;cursor:pointer;border:none;background:linear-gradient(135deg,#2a7a4f,#3aaf73);color:var(--white);transition:all 0.25s}
.trial-btn:hover{transform:translateY(-2px)}
.card-subjects{margin-bottom:16px}
.card-subjects-label{font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(102,165,173,0.6);margin-bottom:8px}
.card-subjects-chips{display:flex;gap:6px;flex-wrap:wrap}
.card-subj-chip{padding:5px 12px;border-radius:100px;border:1px solid rgba(102,165,173,0.25);background:rgba(102,165,115,0.05);color:rgba(196,223,230,0.78);font-size:11px;font-weight:600;cursor:pointer;transition:all 0.2s;user-select:none}
.card-subj-chip:hover{border-color:rgba(102,165,173,0.5);color:var(--foam)}
.card-subj-chip.on{border-color:var(--wave);background:rgba(102,165,173,0.18);color:var(--white)}
.note{text-align:center;font-size:13px;color:rgba(196,223,230,0.35);margin-top:48px;position:relative;z-index:1}
.note a{color:var(--wave);text-decoration:none}
.note a:hover{text-decoration:underline}

/* QUALITY */
.quality-section{padding:0 24px 100px;max-width:1100px;margin:0 auto;position:relative;z-index:1}
.quality-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.quality-card{background:rgba(255,255,255,0.04);border:1px solid rgba(196,223,230,0.12);border-radius:20px;padding:28px 24px;display:flex;flex-direction:column;gap:12px;transition:transform 0.3s,border-color 0.3s,box-shadow 0.3s;animation:fadeUp 0.6s ease both;position:relative}
.quality-card:nth-child(1){animation-delay:0.05s} .quality-card:nth-child(2){animation-delay:0.15s} .quality-card:nth-child(3){animation-delay:0.25s} .quality-card:nth-child(4){animation-delay:0.35s}
.quality-card:hover{transform:translateY(-6px);border-color:rgba(102,165,173,0.35);box-shadow:0 20px 50px rgba(0,0,0,0.25)}
.quality-card.highlight-card{border-color:rgba(102,165,173,0.45);background:linear-gradient(145deg,rgba(7,87,91,0.35),rgba(102,165,173,0.1))}
.quality-icon{font-size:32px}
.quality-title{font-family:'Unbounded',sans-serif;font-size:14px;font-weight:700;color:var(--foam);line-height:1.3}
.quality-desc{font-size:13px;color:rgba(196,223,230,0.78);line-height:1.6;flex:1}
.quality-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:rgba(102,165,173,0.15);border:1px solid rgba(102,165,173,0.35);border-radius:100px;font-family:'Unbounded',sans-serif;font-size:9px;font-weight:700;color:var(--wave);letter-spacing:1px;text-transform:uppercase;width:fit-content}

/* STANDARDS */
.standards-section{padding:0 24px 100px;max-width:900px;margin:0 auto;position:relative;z-index:1}
.standards-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:20px}
.standard-card{background:rgba(255,255,255,0.04);border:1px solid rgba(196,223,230,0.12);border-radius:24px;padding:36px 32px;display:flex;flex-direction:column;gap:14px;transition:transform 0.3s,border-color 0.3s;animation:fadeUp 0.6s ease both}
.standard-card:hover{transform:translateY(-6px);border-color:rgba(102,165,173,0.35)}
.standard-title{font-family:'Unbounded',sans-serif;font-size:16px;font-weight:700;color:var(--foam);line-height:1.3}
.standard-desc{font-size:14px;color:rgba(196,223,230,0.78);line-height:1.75}
@media(max-width:640px){.standards-cards{grid-template-columns:1fr}}

@keyframes fadeUp{from{opacity:0;transform:translateY(32px)} to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .card:not(.expanded){min-width:0;width:100%;padding:12px 8px;border-radius:18px}
  .card:not(.expanded) .card-icon{width:34px;height:34px;border-radius:10px;margin-bottom:8px}
  .card:not(.expanded) .card-icon .ic{width:18px;height:18px}
  .card:not(.expanded) .card-name{font-size:9.5px;line-height:1.22;margin-bottom:4px;letter-spacing:0}
  .card:not(.expanded) .price-unit-block{min-width:0;max-width:100%;padding-top:8px}
  .card:not(.expanded) .card-price{max-width:100%;min-width:0}
  .card:not(.expanded) .price-num,
  .card:not(.expanded) .card-price-dynamic{font-size:19px}
  .card:not(.expanded) .trial-free-label{font-size:clamp(14px,4.6vw,18px);line-height:1.05;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center}
  .card:not(.expanded) .price-unit{font-size:8px;padding-bottom:1px}
  .card:not(.expanded) .card-strike-wrap{display:none}
  .card:not(.expanded) .card-badge,
  .card:not(.expanded) .card-badge-trial{top:-10px;font-size:8px;padding:4px 10px;letter-spacing:1px}
  .card.featured{transform:scale(1)}
  .card:not(.expanded):hover,
  .card.featured:not(.expanded):hover{transform:none!important}
  .hero-title{letter-spacing:-1px}
}

/* ── WIZARD CONSTRUCTOR ── */
.wiz-wrap{padding:24px 24px 80px;max-width:640px;margin:0 auto}
.wiz-prog{margin-bottom:44px}
.wiz-steps-row{display:flex;align-items:flex-start}
.wiz-step{display:flex;flex-direction:column;align-items:center;flex-shrink:0}
.wiz-dot{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Unbounded',sans-serif;font-size:13px;font-weight:700;border:2px solid rgba(102,165,173,0.2);background:rgba(7,87,91,0.25);color:rgba(196,223,230,0.35);transition:all .35s;position:relative;z-index:1}
.wiz-lbl{font-size:10px;font-weight:600;color:rgba(196,223,230,0.35);margin-top:7px;text-align:center;letter-spacing:0.3px;transition:color .35s;white-space:nowrap}
.wiz-step-done .wiz-dot{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 4px rgba(58,175,115,0.15)}
.wiz-step-done .wiz-lbl{color:var(--accent)}
.wiz-step-active .wiz-dot{background:linear-gradient(135deg,var(--ocean),var(--wave));border-color:var(--wave);color:#fff;box-shadow:0 0 0 5px rgba(102,165,173,0.18)}
.wiz-step-active .wiz-lbl{color:var(--wave);font-weight:700}
.wiz-line{flex:1;height:2px;background:rgba(102,165,173,0.12);margin-top:18px;transition:background .4s}
.wiz-line-done{background:linear-gradient(90deg,var(--accent),rgba(58,175,115,0.6))}
.wiz-screen{display:none;flex-direction:column;align-items:center;width:100%}
.wiz-screen-active{display:flex}
.wiz-q{font-family:'Unbounded',sans-serif;font-size:clamp(19px,3.5vw,26px);font-weight:800;text-align:center;margin-bottom:8px;line-height:1.3;background:linear-gradient(135deg,var(--foam),var(--wave));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.wiz-hint{font-size:14px;color:rgba(196,223,230,0.42);text-align:center;margin-bottom:32px;line-height:1.6}
.wiz-subj-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;margin-bottom:24px}
.wiz-subj-card{background:rgba(7,87,91,0.2);border:2px solid rgba(102,165,173,0.14);border-radius:20px;padding:26px 16px;cursor:pointer;transition:border-color .22s,background .22s,transform .18s,box-shadow .22s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;user-select:none}
.wiz-subj-card:hover{border-color:rgba(102,165,173,0.38);background:rgba(7,87,91,0.35);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,59,70,0.4)}
.wiz-subj-card.wiz-subj-on{border-color:var(--wave);background:linear-gradient(145deg,rgba(7,87,91,0.55),rgba(102,165,173,0.15));box-shadow:0 0 0 1px rgba(102,165,173,0.2),0 8px 28px rgba(0,59,70,0.5)}
.wiz-subj-icon{font-size:36px;line-height:1}
.wiz-subj-name{font-family:'Unbounded',sans-serif;font-size:12px;font-weight:700;color:var(--foam)}
.wiz-int-wrap{display:flex;flex-direction:column;gap:14px;width:100%;margin-bottom:28px}
.wiz-int-card{background:rgba(7,87,91,0.2);border:1px solid rgba(102,165,173,0.15);border-radius:20px;padding:20px 22px}
.wiz-int-head{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.wiz-int-icon{font-size:22px}
.wiz-int-name{font-family:'Unbounded',sans-serif;font-size:13px;font-weight:700;color:var(--foam)}
.wiz-row-lbl{font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:rgba(196,223,230,0.38);margin-bottom:9px}
.wiz-btn-row{display:flex;gap:7px;margin-bottom:14px}
.wiz-btn-row:last-child{margin-bottom:0}
.wiz-ibtn{flex:1;padding:12px 6px;border-radius:11px;border:1px solid rgba(102,165,173,0.16);background:rgba(7,87,91,0.25);color:rgba(196,223,230,0.45);font-family:'Raleway',sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .18s;text-align:center}
.wiz-ibtn:hover{border-color:rgba(102,165,173,0.4);background:rgba(7,87,91,0.4);color:var(--foam)}
.wiz-ibtn.wiz-ibtn-on{border-color:var(--wave);background:linear-gradient(135deg,rgba(7,87,91,0.6),rgba(102,165,173,0.2));color:var(--white);font-weight:700;box-shadow:0 0 0 1px rgba(102,165,173,0.15)}
.wiz-club-opts{display:flex;flex-direction:column;gap:0;width:100%;margin-bottom:28px;border-radius:20px;overflow:hidden;border:1px solid rgba(102,165,173,0.15)}
.wiz-club-opt{background:rgba(7,87,91,0.2);border:none;border-bottom:1px solid rgba(102,165,173,0.1);padding:20px 22px;cursor:pointer;transition:border-color .22s,background .22s;display:flex;align-items:flex-start;gap:14px;user-select:none}
.wiz-club-opt:last-child{border-bottom:none}
.wiz-club-opt:hover{background:rgba(7,87,91,0.35)}
.wiz-club-selected{background:linear-gradient(135deg,rgba(7,87,91,0.55),rgba(102,165,173,0.12))!important}
.wiz-club-icon{font-size:28px;flex-shrink:0;margin-top:1px}
.wiz-club-title{font-family:'Unbounded',sans-serif;font-size:14px;font-weight:700;color:var(--foam);margin-bottom:5px}
.wiz-club-desc{font-size:13px;color:rgba(196,223,230,0.42);line-height:1.55}
.wiz-club-price{font-family:'Unbounded',sans-serif;font-size:12px;font-weight:700;color:var(--wave);margin-top:7px}
.wiz-club-weeks{display:none;flex-wrap:wrap;gap:8px;padding:12px 22px 16px;background:rgba(7,87,91,0.15);border-bottom:1px solid rgba(102,165,173,0.1)}
.wiz-club-weeks.wiz-wks-visible{display:flex}
.wiz-week-btn{flex:1;min-width:70px;padding:10px 8px;border-radius:10px;border:1px solid rgba(102,165,173,0.16);background:rgba(7,87,91,0.3);color:rgba(196,223,230,0.45);font-size:13px;font-weight:600;cursor:pointer;transition:all .18s;text-align:center;font-family:'Raleway',sans-serif}
.wiz-week-btn:hover{border-color:rgba(102,165,173,0.38);color:var(--foam);background:rgba(7,87,91,0.5)}
.wiz-week-active{border-color:var(--wave)!important;background:linear-gradient(135deg,rgba(7,87,91,0.6),rgba(102,165,173,0.2))!important;color:var(--white)!important}
.wiz-summary{width:100%;margin-bottom:28px;background:linear-gradient(145deg,var(--deep),var(--ocean));border:1px solid rgba(102,165,173,0.2);border-radius:22px;overflow:hidden;box-shadow:0 16px 48px rgba(0,59,70,0.5)}
.wiz-sum-header{padding:26px 26px 20px;background:linear-gradient(135deg,rgba(7,87,91,0.6),rgba(102,165,173,0.08));border-bottom:1px solid rgba(102,165,173,0.12)}
.wiz-sum-label{font-family:'Unbounded',sans-serif;font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:#a8cfd5;margin-bottom:6px}
.wiz-sum-title{font-family:'Unbounded',sans-serif;font-size:17px;font-weight:800;color:var(--foam);margin-bottom:16px;line-height:1.3}
.wiz-sum-price-row{display:flex;align-items:baseline;gap:6px}
.wiz-sum-price{font-family:'Unbounded',sans-serif;font-size:40px;font-weight:800;color:var(--white);line-height:1}
.wiz-sum-sym{font-family:'Unbounded',sans-serif;font-size:17px;font-weight:700;color:rgba(196,223,230,0.4)}
.wiz-sum-body{padding:16px 26px}
.wiz-sum-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(102,165,173,0.08)}
.wiz-sum-row:last-child{border-bottom:none}
.wiz-sum-row-icon{width:36px;height:36px;border-radius:10px;background:rgba(102,165,173,0.1);border:1px solid rgba(102,165,173,0.18);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.wiz-sum-row-name{font-size:14px;font-weight:700;color:var(--foam);margin-bottom:2px}
.wiz-sum-row-detail{font-size:11px;color:rgba(196,223,230,0.35)}
.wiz-sum-row-price{margin-left:auto;font-family:'Unbounded',sans-serif;font-size:13px;font-weight:700;color:var(--wave);white-space:nowrap;flex-shrink:0}
.wiz-sum-total{display:flex;justify-content:space-between;align-items:center;padding:16px 26px;background:rgba(7,87,91,0.3);border-top:1px solid rgba(102,165,173,0.12)}
.wiz-sum-total-lbl{font-family:'Unbounded',sans-serif;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(196,223,230,0.35)}
.wiz-sum-total-val{font-family:'Unbounded',sans-serif;font-size:26px;font-weight:800;color:var(--white)}
.wiz-actions{display:flex;gap:10px;width:100%;margin-top:8px}
.wiz-btn-next{flex:1;padding:15px 22px;border-radius:14px;background:linear-gradient(135deg,var(--ocean),var(--wave));border:none;color:#fff;font-family:'Unbounded',sans-serif;font-size:13px;font-weight:700;cursor:pointer;transition:opacity .2s,transform .2s,box-shadow .2s;box-shadow:0 8px 28px rgba(7,87,91,0.5);letter-spacing:0.3px}
.wiz-btn-next:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 12px 36px rgba(7,87,91,0.6)}
.wiz-btn-next:disabled{opacity:.28;cursor:not-allowed;transform:none;box-shadow:none}
.wiz-btn-back{padding:15px 18px;border-radius:14px;background:rgba(7,87,91,0.25);border:1px solid rgba(102,165,173,0.18);color:rgba(196,223,230,0.75);font-family:'Raleway',sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}
.wiz-btn-back:hover{background:rgba(7,87,91,0.45);border-color:rgba(102,165,173,0.35);color:var(--foam)}
.wiz-restart{margin-top:16px;font-size:13px;color:rgba(196,223,230,0.25);text-decoration:underline;cursor:pointer;text-align:center;transition:color .2s}
.wiz-restart:hover{color:var(--wave)}
@media(max-width:540px){
  .wiz-wrap{padding:16px 16px 60px}
  .wiz-q{font-size:20px}
  .wiz-sum-price{font-size:30px}
  .wiz-lbl{font-size:9px}
  .modal{padding:32px 20px;border-radius:24px}
  .modal-sub{margin-bottom:20px;font-size:12px}
  .field{margin-bottom:12px}
  .score-subject-row{padding:12px!important;gap:8px!important}
  .star-rating label{font-size:24px}
  textarea.modal-input{min-height:80px}
}
/* SOCIALS */
.socials-section{padding:0 24px 100px;max-width:860px;margin:0 auto;position:relative;z-index:1}
.socials-big-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:22px 32px;background:linear-gradient(135deg,var(--ocean),var(--wave));border:none;border-radius:20px;font-family:'Unbounded',sans-serif;font-size:15px;font-weight:700;color:var(--white);letter-spacing:1px;cursor:pointer;margin-bottom:20px;box-shadow:0 12px 40px rgba(7,87,91,0.5);transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.4s ease;position:relative;overflow:hidden}
.socials-big-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,0.08),transparent);pointer-events:none}
.socials-big-btn:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 20px 56px rgba(102,165,173,0.4)}
.socials-btn-icon{transition:transform 0.5s cubic-bezier(0.34,1.56,0.64,1);flex-shrink:0}
.socials-big-btn.open .socials-btn-icon{transform:rotate(180deg)}
.socials-grid{display:flex;flex-direction:column;gap:0;overflow:hidden}
.social-row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;opacity:0;pointer-events:none;max-height:0;overflow:hidden;margin-top:0;transition:opacity 0.4s ease,max-height 0.4s cubic-bezier(0.25,1,0.5,1),margin-top 0.4s ease}
.social-row.wide{grid-template-columns:1fr}
.social-row.visible{opacity:1;pointer-events:all;max-height:150px;margin-top:14px}
.social-card{display:flex;align-items:center;gap:16px;padding:20px 22px;border-radius:18px;border:1px solid rgba(196,223,230,0.12);background:rgba(255,255,255,0.04);text-decoration:none;color:var(--white);backdrop-filter:blur(8px);overflow:hidden;transform:translateY(-10px) scale(0.98);transition:border-color 0.25s,background 0.25s,box-shadow 0.25s,transform 0.4s cubic-bezier(0.25,1,0.5,1)}
.social-row.visible .social-card{transform:translateY(0) scale(1)}
.social-card:hover{border-color:rgba(102,165,173,0.4);background:rgba(102,165,173,0.08);box-shadow:0 8px 24px rgba(0,0,0,0.2)}
.social-card-button{width:100%;font-family:'Raleway',sans-serif;text-align:left;cursor:pointer;-webkit-appearance:none;appearance:none}
.social-card.is-disabled{opacity:.4;pointer-events:none}
.social-icon-wrap{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:22px;overflow:hidden}
.social-icon-wrap img{width:48px;height:48px;object-fit:cover;display:block}
.si-tg{background:linear-gradient(135deg,#229ED9,#1a8bc4)}
.si-vk{background:linear-gradient(135deg,#0077FF,#005fd4)}
.si-yt{background:linear-gradient(135deg,#FF0000,#cc0000)}
.si-live{background:linear-gradient(135deg,#FF4500,#e03d00)}
.si-twitch{background:linear-gradient(135deg,#9146FF,#6441a5)}
.si-tt{background:linear-gradient(135deg,#010101,#111);border:1px solid rgba(255,255,255,0.1)}
.si-twitch img{width:26px;height:26px;object-fit:contain;filter:brightness(0) invert(1)}
.si-tt img{width:30px;height:30px;object-fit:contain}
.social-name{font-family:'Unbounded',sans-serif;font-size:12px;font-weight:700;margin-bottom:3px;color:var(--white)}
.social-desc{font-size:11px;color:rgba(196,223,230,0.75);line-height:1.4}
.social-arrow{margin-left:auto;color:rgba(102,165,173,0.4);font-size:14px;flex-shrink:0}
.tiktok-modal-overlay{position:fixed;inset:0;z-index:2050;background:rgba(0,10,13,0.94);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .28s ease,visibility .28s ease}
.tiktok-modal-overlay.active{opacity:1;pointer-events:all;visibility:visible}
.tiktok-modal-box{width:100%;max-width:460px;max-height:calc(100svh - 40px);overflow-y:auto;position:relative;border-radius:24px;border:1px solid rgba(102,165,173,0.18);background:#002a31;box-shadow:0 28px 80px rgba(0,7,10,0.72);padding:24px;transform:translateY(12px) scale(.96);opacity:0;transition:transform .32s cubic-bezier(.25,1,.5,1),opacity .32s ease}
.tiktok-modal-overlay.active .tiktok-modal-box{transform:translateY(0) scale(1);opacity:1}
.tiktok-modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(102,165,173,0.22);background:#003b46;color:var(--foam);font-family:'Raleway',sans-serif;font-size:20px;line-height:1;cursor:pointer;-webkit-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s,color .2s}
.tiktok-modal-close:hover{background:#064b55;border-color:rgba(102,165,173,0.44);color:var(--white)}
.tiktok-modal-head{display:flex;align-items:center;gap:14px;padding-right:40px;margin-bottom:20px}
.tiktok-modal-icon{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#010101,#111);border:1px solid rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tiktok-modal-icon img{width:32px;height:32px;object-fit:contain}
.tiktok-modal-label{margin:0 0 4px;font-size:10px;font-family:'Unbounded',sans-serif;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:rgba(102,165,173,0.86)}
.tiktok-modal-title{margin:0;font-family:'Unbounded',sans-serif;font-size:20px;font-weight:800;color:var(--white);line-height:1.25}
.tiktok-modal-list{display:flex;flex-direction:column;gap:10px}
.tiktok-modal-link{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:72px;padding:10px 12px;border-radius:16px;border:1px solid rgba(102,165,173,0.11);background:#00252b;color:var(--white);text-decoration:none;transition:border-color .2s,background .2s,transform .2s}
.tiktok-modal-link:hover{border-color:rgba(102,165,173,0.24);background:#00343d;transform:translateY(-1px)}
.tiktok-modal-link-dot{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#010101,#111);display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,0.1);overflow:hidden;flex-shrink:0}
.tiktok-modal-link-dot img{width:32px;height:32px;object-fit:contain}
.tiktok-modal-link-title{min-width:0;font-family:'Unbounded',sans-serif;font-size:13px;font-weight:700;line-height:1.35;color:var(--white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tiktok-modal-link-arrow{color:rgba(102,165,173,0.55);font-size:14px}
.tiktok-modal-empty{display:none;margin:0;padding:18px;border-radius:16px;background:#00252b;border:1px solid rgba(102,165,173,0.11);color:rgba(196,223,230,0.64);font-size:13px;text-align:center}
@media(max-width:520px){
  .tiktok-modal-overlay{padding:14px}
  .tiktok-modal-box{padding:20px 16px;border-radius:20px}
  .tiktok-modal-title{font-size:17px}
  .tiktok-modal-link{grid-template-columns:52px minmax(0,1fr) auto}
}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(0,20,24,0.85);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:flex-start;overflow-y:auto;z-index:2000;opacity:0;pointer-events:none;visibility:hidden;transition:opacity 0.4s cubic-bezier(0.25,1,0.5,1),visibility 0.4s ease;padding:74px 20px 40px}
.modal-overlay.open{opacity:1;pointer-events:all;visibility:visible}
.modal{background:linear-gradient(145deg,#082a2e,#0a3538);border:1px solid rgba(102,165,173,0.3);border-radius:28px;padding:40px 28px;max-width:600px;width:100%;opacity:0;transform:scale(0.9);transition:transform 0.4s cubic-bezier(0.25,1,0.5,1),opacity 0.4s ease;position:relative;margin:auto}
@media(max-height:800px){.modal{margin-top:0;margin-bottom:40px}}
.modal-overlay.open .modal{opacity:1;transform:scale(1)}
.modal-close{position:absolute;top:16px;right:20px;background:none;border:none;color:var(--wave);font-size:22px;cursor:pointer;line-height:1;opacity:0.6;transition:opacity 0.2s}
.modal-close:hover{opacity:1}
.modal-title{font-family:'Unbounded',sans-serif;font-size:18px;font-weight:700;color:var(--white);margin-bottom:6px}
.modal-sub{font-size:13px;color:rgba(196,223,230,0.75);margin-bottom:28px}
.modal-plan{display:inline-block;background:rgba(102,165,173,0.12);border:1px solid rgba(102,165,173,0.25);border-radius:8px;padding:4px 12px;font-size:12px;color:var(--wave);margin-bottom:24px;font-family:'Unbounded',sans-serif;font-weight:600}
.field{margin-bottom:20px}
.field label{display:block;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:rgba(196,223,230,0.75);margin-bottom:8px}
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=password]{width:100%;background:rgba(255,255,255,0.05);border:1px solid rgba(102,165,173,0.2);border-radius:12px;padding:14px 16px;color:var(--white);font-family:'Raleway',sans-serif;font-size:14px;outline:none;transition:border-color 0.2s}
.field input:focus{border-color:var(--wave)}
.field-error{font-size:11px;color:rgba(255,90,90,0.9);margin-top:4px}
.modal-submit{width:100%;margin-top:8px}
.success-msg{text-align:center;padding:20px 0}
.success-msg .emoji{font-size:48px;margin-bottom:16px}
.success-msg h3{font-family:'Unbounded',sans-serif;font-size:20px;font-weight:700;margin-bottom:12px}
.success-msg p{font-size:14px;color:rgba(196,223,230,0.78);line-height:1.6}
@media(max-width:620px){.modal-overlay{padding:74px 12px 20px}.modal{max-height:calc(100svh - 86px);overflow-y:auto}}
/* TEACHERS PAGE */
.teachers-page{min-height:100vh;padding:120px 24px 100px;position:relative;z-index:1}
.teachers-page-inner{max-width:1100px;margin:0 auto}
.teachers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
@media(max-width:700px){.teachers-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.teachers-grid{grid-template-columns:1fr}}
/* ── BASE WRAPPERS for landscape split layout ── */
.card-top{display:flex;flex-direction:column;align-items:center;width:100%;flex-shrink:0}
/* card-top-extra: desc+subjects+CTA — hidden until expanded, becomes left-col in landscape */
.card-top-extra{width:100%;text-align:left;max-height:0;opacity:0;overflow:hidden;transition:max-height 0.5s ease,opacity 0.4s ease,margin-top 0.4s ease;margin-top:0}
.card.expanded .card-top-extra{max-height:600px;opacity:1;margin-top:16px}

/* ── MOBILE PORTRAIT (≤620px) ── */
@media(max-width:620px){
  /* Raise overlay + card above the fixed header (z-index 9999) */
  .pricing-overlay.active{z-index:10000!important}
  .card.expanded{z-index:10001!important}

  /* pricing cards centered between burger and system nav */
  .card.expanded{
    top:calc(61px + 16px + env(safe-area-inset-top, 0px))!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    box-sizing:border-box!important;
    width:calc(100vw - 32px)!important;
    max-width:420px!important;
    min-width:0!important;
    height:auto!important;
    max-height:calc(100svh - 61px - 32px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px))!important;
    aspect-ratio:unset!important;
    overflow-y:auto!important;
    border-radius:20px!important;
    padding:18px 18px 22px!important;
    align-items:stretch!important;
    justify-content:flex-start!important
  }
  .card.expanded .card-top{width:100%!important;min-width:0!important}
  .card.expanded .card-top-extra{width:100%!important;min-width:0!important;overflow:visible!important}
  .card.expanded .card-desc{font-size:12px!important;line-height:1.5!important;margin-bottom:16px!important}
  .card.expanded .card-subjects{margin-bottom:14px!important}
  .card.expanded .card-subjects-chips{gap:6px!important;justify-content:flex-start!important}
  .card.expanded .card-subj-chip{font-size:10.5px!important;padding:5px 10px!important}
  .card.expanded .card-btn,.card.expanded .trial-btn{width:100%!important;max-width:100%!important;box-sizing:border-box!important;white-space:normal!important;line-height:1.25!important;padding:13px 12px!important}
  /* pull badge into flow so it doesn't clip above the card */
  .card.expanded .card-badge,
  .card.expanded .card-badge-trial{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    transform:none!important;
    display:block!important;
    width:fit-content!important;
    margin:0 auto 14px!important
  }
  .card.expanded .card-hidden-details{
    flex:0 1 auto!important;
    overflow-y:visible!important;
    max-height:none!important;
    margin-top:12px!important
  }
  .modal-overlay,.modal{border-radius:20px!important}
  .card-close-btn{border-radius:20px!important}
}

/* ── LANDSCAPE (height ≤ 500px) — 2-column split ── */
@media(max-height:500px) and (orientation:landscape){
  /* Raise overlay + card above fixed header */
  .pricing-overlay.active{z-index:10000!important}
  .card.expanded{z-index:10001!important}

  /* Fix navbar spacing: shrink nav links so gap appears between logo and nav-right */
  .navbar{padding:10px 16px!important}
  .nav-link{font-size:10px!important;letter-spacing:0.5px!important}
  .nav-right{gap:16px!important}
  .nav-cta{font-size:9px!important;padding:8px 14px!important;letter-spacing:0.5px!important}

  /* Fix modal: push below navbar, make scrollable */
  .modal-overlay{padding-top:54px!important;padding-bottom:8px!important;padding-left:8px!important;padding-right:8px!important;align-items:flex-start!important}
  .modal{max-height:calc(100svh - 62px)!important;overflow-y:auto!important;padding:20px!important;border-radius:16px!important;width:100%!important;max-width:none!important}

  /* ── PRICING CARD: left = info+cta, right = features ── */
  .card.expanded{
    top:54px!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    width:96vw!important;
    height:calc(100svh - 59px)!important;
    max-height:calc(100svh - 59px)!important;
    aspect-ratio:unset!important;
    border-radius:20px!important;
    overflow:hidden!important;
    padding:20px 20px 16px!important;
    /* 2-column grid */
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:1fr!important;
    gap:0 20px!important;
    align-items:start!important
  }
  /* card-top = left column (contains icon+name+price+card-top-extra) */
  .card.expanded .card-top{
    grid-column:1!important;
    grid-row:1!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    height:100%!important;
    overflow-y:auto!important
  }
  /* card-top-extra always visible in landscape (it's inside the visible left col) */
  .card.expanded .card-top-extra{
    max-height:none!important;
    opacity:1!important;
    margin-top:12px!important;
    overflow:visible!important
  }
  /* hide divider and badge in landscape expanded; reset badge-related padding */
  .card.expanded .card-divider{display:none!important}
  .card.expanded .card-badge,.card.expanded .card-badge-trial{display:none!important}
  .card.expanded .price-unit-block{padding-top:12px!important}
  /* card-hidden-details = right column */
  .card.expanded .card-hidden-details{
    grid-column:2!important;
    grid-row:1!important;
    flex:none!important;
    margin-top:0!important;
    height:100%!important;
    overflow-y:auto!important;
    max-height:none!important;
    border-left:1px solid rgba(102,165,173,0.12);
    padding-left:20px!important;
    padding-right:16px!important;
    padding-top:38px!important
  }
  /* Shrink icon on landscape */
  .card.expanded .card-icon{width:40px!important;height:40px!important;font-size:22px!important;margin-bottom:10px!important}
  .card.expanded .card-price-dynamic{font-size:26px!important}
  .card.expanded .card-name{font-size:12px!important}
  .card.expanded .card-desc{font-size:12px!important;margin-bottom:12px!important}
  /* Shrink features list to fit right column without overflow */
  .card.expanded .features{padding:0!important;margin:0!important;gap:6px!important;flex:none!important}
  .card.expanded .features li{font-size:12px!important;line-height:1.35!important;gap:8px!important}

}
.teacher-subject-tag{font-family:'Unbounded',sans-serif;font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:6px 14px;border-radius:100px;border:1px solid rgba(102,165,173,0.35);color:var(--wave);background:rgba(102,165,173,0.08)}
@keyframes spin{to{transform:rotate(360deg)}}
.teachers-more-wrap{text-align:center;margin-top:40px}

/* REVIEWS */
.reviews-page{min-height:100vh;padding:120px 24px 100px;position:relative;z-index:1}
.reviews-page-inner{max-width:960px;margin:0 auto}
.reviews-grid{column-count:2;column-gap:24px;width:100%;margin:0 auto}
.review-card{background:rgba(255,255,255,0.04);border:1px solid rgba(196,223,230,0.12);border-radius:24px;padding:28px 20px;backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:16px;transition:transform 0.3s,border-color 0.3s,box-shadow 0.3s;animation:fadeUp 0.6s ease both;break-inside:avoid;page-break-inside:avoid;margin-bottom:24px}
.review-card:hover{transform:translateY(-6px);border-color:rgba(102,165,173,0.35);box-shadow:0 20px 50px rgba(0,0,0,0.25)}
.review-header{display:flex;align-items:center;gap:14px}
.review-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Unbounded',sans-serif;font-size:20px;font-weight:800;color:var(--white);flex-shrink:0}
.review-meta{flex:1}
.review-name{font-family:'Unbounded',sans-serif;font-size:14px;font-weight:700;color:var(--white);margin-bottom:4px}
.review-subject-tag{font-family:'Unbounded',sans-serif;font-size:8px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:4px 10px;border-radius:100px;border:1px solid rgba(102,165,173,0.35);color:var(--wave);background:rgba(102,165,173,0.08)}
.review-stars{font-size:14px;color:#C4DFE6;letter-spacing:1px;flex-shrink:0}
.review-text{font-size:14px;color:rgba(196,223,230,0.7);line-height:1.8;font-style:italic;flex:1}
.review-date{font-size:11px;color:rgba(196,223,230,0.3);font-weight:500;letter-spacing:0.5px}
.reviews-more-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 36px;border-radius:100px;border:1px solid rgba(102,165,173,0.35);color:var(--foam);font-family:'Unbounded',sans-serif;font-size:12px;font-weight:600;text-decoration:none;letter-spacing:0.5px;transition:all 0.25s}
.reviews-more-btn:hover{background:rgba(102,165,173,0.1);border-color:var(--wave);transform:translateY(-2px)}
@media(max-width:760px){.reviews-grid{column-count:1}}
@media(max-width:620px){.reviews-page{padding-top:80px}}
.review-scores-grid{display:grid;gap:10px;margin-top:16px}
@media(max-width:480px){.review-scores-grid{grid-template-columns:1fr!important}}

/* FAQ */
.faq-page{min-height:100vh;padding:100px 24px 100px;position:relative;z-index:1}
.faq-page-inner{max-width:760px;margin:0 auto;padding-top:60px}
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq-tabs{display:flex;justify-content:center;gap:8px;margin-bottom:40px}
.faq-tab{font-family:'Unbounded',sans-serif;font-size:11px;font-weight:600;letter-spacing:0.5px;padding:12px 24px;border-radius:100px;border:1px solid rgba(102,165,173,0.3);color:rgba(196,223,230,0.75);background:transparent;cursor:pointer;position:relative;overflow:hidden;transition:border-color 0.25s,color 0.25s;-webkit-appearance:none}
.faq-tab::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--ocean),var(--wave));opacity:0;transition:opacity 0.25s;border-radius:100px;z-index:0}
.faq-tab span{position:relative;z-index:1}
.faq-tab:hover{border-color:rgba(102,165,173,0.5);color:var(--foam)}
.faq-tab.active{border-color:transparent;color:var(--white);box-shadow:0 6px 20px rgba(7,87,91,0.4)}
.faq-tab.active::before{opacity:1}
.faq-panel{display:none}
.faq-panel.active{display:block}
.faq-item{background:rgba(255,255,255,0.04);border:1px solid rgba(196,223,230,0.1);border-radius:18px;overflow:hidden;transition:border-color 0.25s;animation:fadeUp 0.5s ease both}
.faq-item.open{border-color:rgba(102,165,173,0.35)}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 28px;cursor:pointer;user-select:none;transition:background 0.2s}
.faq-q:hover{background:rgba(102,165,173,0.05)}
.faq-item.open .faq-q{background:rgba(102,165,173,0.07)}
.faq-q span{font-family:'Unbounded',sans-serif;font-size:13px;font-weight:600;color:var(--foam);line-height:1.5}
.faq-arrow{font-size:11px;color:var(--wave);flex-shrink:0;transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1);opacity:0.7}
.faq-item.open .faq-arrow{transform:rotate(180deg);opacity:1}
.faq-a{max-height:0;overflow:hidden;transition:max-height 0.5s cubic-bezier(0.25,1,0.5,1),padding 0.5s cubic-bezier(0.25,1,0.5,1),opacity 0.3s ease;opacity:0;font-size:14px;color:rgba(196,223,230,0.78);line-height:1.8;padding:0 28px}
.faq-item.open .faq-a{max-height:500px;padding:22px 28px;opacity:1}

/* CONTACT MENU */
.contact-menu{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);width:300px;background:#082a2e;border:1px solid rgba(102,165,173,0.3);border-radius:20px;padding:8px;box-shadow:0 16px 48px rgba(0,0,0,0.5);opacity:0;pointer-events:none;transform:translateX(-50%) translateY(8px);transition:opacity 0.25s,transform 0.25s;z-index:200}
.contact-menu.open{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0)}
.contact-menu-item{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;text-decoration:none;color:var(--white);transition:background 0.2s}
.contact-menu-item:hover{background:rgba(102,165,173,0.08)}
.contact-menu-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-menu-info{flex:1;text-align:center}
.contact-menu-name{font-family:'Unbounded',sans-serif;font-size:12px;font-weight:700;color:var(--white);margin-bottom:2px}
.contact-menu-arrow{font-size:14px;color:rgba(102,165,173,0.4);flex-shrink:0}

/* FOOTER */
.site-footer-bar{position:relative;z-index:1;border-top:1px solid rgba(102,165,173,0.12);padding:40px 24px 32px;margin-top:40px}
.site-footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px}
.footer-brand{display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center}
.footer-hours{text-align:center}
.footer-hours-label{font-size:10px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:#a8cfd5;margin-bottom:4px}
.footer-hours-value{font-family:'Unbounded',sans-serif;font-size:18px;font-weight:700;color:var(--foam)}
.footer-hours-days{font-size:11px;color:rgba(196,223,230,0.65);margin-top:2px}
.footer-legal{display:flex;flex-direction:column;align-items:flex-end;gap:0;max-width:480px}
.footer-legal-item{font-size:11px;color:rgba(196,223,230,0.65);cursor:pointer;transition:color 0.2s}
.footer-legal-item:hover{color:var(--wave)}
@media(max-width:620px){
  .site-footer-bar{margin-top:24px;padding:34px 18px 38px;background:linear-gradient(180deg,rgba(102,165,173,0.04),rgba(0,59,70,0));border-top-color:rgba(102,165,173,0.16)}
  .site-footer-inner{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}
  .footer-brand{width:100%;align-items:center}
  .footer-brand .logo{margin-bottom:6px!important}
  .footer-brand>span{max-width:300px;margin:0 auto!important;font-size:9px!important;line-height:1.5!important;color:rgba(196,223,230,0.58)!important}
  .footer-hours{width:100%;text-align:center;padding:18px 0;border-top:1px solid rgba(102,165,173,0.12);border-bottom:1px solid rgba(102,165,173,0.12)}
  .footer-hours-label{font-size:9px;letter-spacing:3.5px;margin-bottom:7px}
  .footer-hours-value{font-size:20px;line-height:1.1}
  .footer-hours-days{font-size:12px;margin-top:5px}
  .footer-legal{align-items:center;max-width:100%;width:100%;gap:16px}
  .footer-legal p{max-width:315px;margin:0 auto!important;text-align:center!important;font-size:10.5px!important;line-height:1.75!important;color:rgba(196,223,230,0.58)!important}
  .footer-legal>div{width:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important;border-top:1px solid rgba(102,165,173,0.12)!important;padding-top:18px!important}
  .footer-legal-item{font-size:11px;line-height:1.5;color:rgba(196,223,230,0.72)}
  .socials-section{padding:0 16px 32px}
  .social-row{grid-template-columns:1fr}
  .social-row.visible{max-height:200px}
}

/* REVIEW FORM */
.star-rating{display:flex;gap:8px;margin-bottom:20px;flex-direction:row-reverse;justify-content:flex-end}
.star-rating input{display:none}
.star-rating label{font-size:28px;color:rgba(196,223,230,0.2);cursor:pointer;transition:color 0.2s;line-height:1}
.star-rating input:checked ~ label,.star-rating label:hover,.star-rating label:hover ~ label{color:#C4DFE6}
.review-tabs{display:flex;gap:8px;margin-bottom:16px}
.review-tab{padding:10px 16px;border-radius:12px;border:1px solid rgba(102,165,173,0.3);background:transparent;color:rgba(196,223,230,0.75);font-family:'Unbounded',sans-serif;font-size:10px;font-weight:600;cursor:pointer;transition:all 0.2s;flex:1;text-align:center}
.review-tab.active{background:rgba(102,165,173,0.15);border-color:var(--wave);color:var(--white)}
.scores-block{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:16px;transition:opacity 0.3s}
.scores-block.hidden{display:none}
textarea.modal-input{width:100%;background:rgba(255,255,255,0.05);border:1px solid rgba(102,165,173,0.2);border-radius:12px;padding:14px 16px;color:var(--white);font-family:'Raleway',sans-serif;font-size:14px;outline:none;resize:vertical;min-height:100px}
.loader-spinner{border:3px solid rgba(255,255,255,0.1);border-top-color:var(--wave);border-radius:50%;width:20px;height:20px;animation:spin 1s linear infinite;margin:0 auto}

/* CUSTOM SELECTS */
.reviews-filters{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:32px;justify-content:center}
.custom-select-wrapper{position:relative;min-width:200px}
.custom-select-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;background:rgba(255,255,255,0.04);border:1px solid rgba(102,165,173,0.2);border-radius:14px;cursor:pointer;transition:border-color 0.2s,background 0.2s;user-select:none}
.custom-select-wrapper.open .custom-select-header{border-color:var(--wave);background:rgba(102,165,173,0.06)}
.custom-select-text{font-size:13px;color:var(--white);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.custom-select-arrow{font-size:10px;color:var(--wave);transition:transform 0.3s;flex-shrink:0}
.custom-select-wrapper.open .custom-select-arrow{transform:rotate(180deg)}
.custom-select-list{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#082a2e;border:1px solid rgba(102,165,173,0.3);border-radius:14px;padding:6px;box-shadow:0 12px 40px rgba(0,0,0,0.4);z-index:100;display:none;max-height:260px;overflow-y:auto}
.custom-select-wrapper.open .custom-select-list{display:block}
.custom-select-option{padding:10px 14px;border-radius:10px;font-size:13px;color:rgba(196,223,230,0.7);cursor:pointer;transition:background 0.15s,color 0.15s}
.custom-select-option:hover{background:rgba(102,165,173,0.1);color:var(--white)}
.custom-select-option.selected{background:rgba(102,165,173,0.15);color:var(--white);font-weight:600}
.admin-crm-select .custom-select-header{padding:6px 12px;border-radius:8px;font-size:12px}
.admin-crm-select .custom-select-list{min-width:180px}
.filter-select.disabled .custom-select-header{opacity:0.4;pointer-events:none;cursor:not-allowed}
.custom-select-wrapper[data-multiselect="true"] .custom-select-option{display:flex;justify-content:space-between;align-items:center}
.custom-select-wrapper[data-multiselect="true"] .custom-select-option::after{content:'✓';opacity:0;color:var(--wave);font-weight:bold}
.custom-select-wrapper[data-multiselect="true"] .custom-select-option.selected::after{opacity:1}
select.modal-input{display:none}
.reviews-filters.is-loading{opacity:0.4;pointer-events:none;filter:grayscale(100%)}

/* INPUT NUMBERS */
input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
input[type="number"]{-moz-appearance:textfield}
/* ADMIN */
.admin-login-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:var(--deep);position:absolute;inset:0;z-index:9999}
.admin-login-box{background:rgba(255,255,255,0.04);border:1px solid rgba(102,165,173,0.2);border-radius:24px;padding:40px;width:100%;max-width:400px;backdrop-filter:blur(12px);text-align:center}
.admin-input{width:100%;background:rgba(255,255,255,0.05);border:1px solid rgba(102,165,173,0.2);border-radius:12px;padding:12px 16px;color:var(--white);font-family:'Raleway',sans-serif;font-size:14px;outline:none;transition:border-color 0.2s}
.admin-input:focus{border-color:var(--wave)}
.admin-layout{display:none;min-height:100vh;background:var(--deep);color:var(--white)}
.admin-layout.active{display:flex}
.admin-sidebar{width:280px;background:rgba(0,30,35,0.8);border-right:1px solid rgba(102,165,173,0.1);padding:30px 20px;display:flex;flex-direction:column;gap:8px;flex-shrink:0;min-height:100vh}
.admin-nav-item{padding:14px 20px;border-radius:14px;font-family:'Unbounded',sans-serif;font-size:13px;font-weight:600;color:rgba(196,223,230,0.78);cursor:pointer;transition:all 0.2s;border:1px solid transparent}
.admin-nav-item:hover{color:var(--foam);background:rgba(102,165,173,0.05)}
.admin-nav-item.active{background:rgba(102,165,173,0.1);border-color:rgba(102,165,173,0.3);color:var(--white)}
.admin-content{flex:1;padding:40px;overflow-y:auto}
/* ── ADMIN MOBILE ── */
.admin-mobile-topbar{display:none;position:fixed;top:0;left:0;right:0;z-index:500;height:54px;background:rgba(0,20,25,0.98);border-bottom:1px solid rgba(102,165,173,0.12);align-items:center;padding:0 14px;gap:12px}
.admin-burger{width:36px;height:36px;display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:4px;border-radius:8px;flex-shrink:0}
.admin-burger span{display:block;width:22px;height:2px;background:var(--foam);border-radius:2px;transition:transform 0.3s,opacity 0.3s}
.admin-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.admin-burger.open span:nth-child(2){opacity:0}
.admin-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.admin-mobile-title{font-family:'Unbounded',sans-serif;font-size:12px;font-weight:700;color:var(--foam);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-mobile-logout{font-size:10px;color:rgba(255,107,107,0.75);background:none;border:1px solid rgba(255,107,107,0.25);border-radius:8px;padding:6px 10px;cursor:pointer;font-family:'Unbounded',sans-serif;font-weight:600;flex-shrink:0;white-space:nowrap}
.admin-sidebar-overlay{display:none;position:fixed;inset:0;z-index:498;background:rgba(0,0,0,0.6);backdrop-filter:blur(2px)}
.admin-sidebar-overlay.active{display:block}
@media(max-width:900px){
  .admin-mobile-topbar{display:flex}
  .admin-layout{padding-top:0}
  .admin-layout.active{display:block}
  .admin-sidebar{position:fixed;top:54px;left:-290px;bottom:0;width:260px;z-index:499;transition:left 0.3s cubic-bezier(0.4,0,0.2,1);min-height:unset;padding:18px 14px;overflow-y:auto}
  .admin-sidebar.open{left:0}
  .admin-content{padding:16px 14px;overflow-x:hidden;min-height:calc(100vh - 54px)}
  .admin-grid-top{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
  #analyticsRow{grid-template-columns:1fr}
  .admin-widget{padding:16px}
  .admin-widget-val{font-size:24px}
  .admin-chart-box{padding:16px}
  .admin-chart-header{flex-direction:column;align-items:flex-start;gap:10px}
  .dash-kpi-row{grid-template-columns:1fr 1fr;gap:10px}
}
.admin-panel{display:none;animation:fadeUp 0.4s ease both}
.admin-panel.active{display:block}
.admin-grid-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px}
.admin-widget{background:linear-gradient(145deg,rgba(7,87,91,0.2),rgba(102,165,173,0.05));border:1px solid rgba(102,165,173,0.2);border-radius:20px;padding:24px}
.admin-widget-val{font-family:'Unbounded',sans-serif;font-size:32px;font-weight:800;color:var(--foam);margin-top:8px}
.admin-chart-box{background:rgba(255,255,255,0.02);border:1px solid rgba(102,165,173,0.15);border-radius:24px;padding:24px;margin-bottom:30px}
#analyticsRow{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:30px}
@media(max-width:800px){#analyticsRow{grid-template-columns:1fr}}
.admin-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.admin-period-btns{display:flex;gap:8px;flex-wrap:wrap}
.admin-period-btn{background:transparent;border:1px solid rgba(102,165,173,0.3);color:rgba(196,223,230,0.78);padding:6px 14px;border-radius:100px;font-size:11px;font-weight:600;cursor:pointer;transition:all 0.2s}
.admin-period-btn.active{background:var(--wave);color:var(--white);border-color:var(--wave)}
.admin-table-wrap{overflow-x:auto;border-radius:16px;border:1px solid rgba(102,165,173,0.15)}
.admin-table{width:100%;border-collapse:collapse;font-size:13px}
.admin-table th{padding:14px 16px;text-align:left;font-family:'Unbounded',sans-serif;font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:rgba(196,223,230,0.75);border-bottom:1px solid rgba(102,165,173,0.12);background:rgba(0,0,0,0.2)}
.admin-table td{padding:14px 16px;border-bottom:1px solid rgba(102,165,173,0.08);color:rgba(196,223,230,0.8);vertical-align:middle}
.admin-table tr:last-child td{border-bottom:none}
.admin-action-btn{background:rgba(102,165,173,0.1);border:1px solid rgba(102,165,173,0.25);color:var(--foam);padding:6px 14px;border-radius:8px;font-size:11px;font-weight:600;cursor:pointer;transition:all 0.2s;font-family:'Unbounded',sans-serif}
.admin-action-btn:hover{background:rgba(102,165,173,0.2);border-color:var(--wave)}
.admin-action-btn.danger{border-color:rgba(255,77,77,0.3);color:#ff6b6b}
.admin-action-btn.danger:hover{background:rgba(255,77,77,0.1)}
.links-admin-subtitle{font-size:13px;color:rgba(196,223,230,0.55);line-height:1.6;max-width:720px}
.links-admin-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.8fr);gap:20px;align-items:start;margin-bottom:24px}
.links-form-box{margin-bottom:0}
.links-box-title{font-family:'Unbounded',sans-serif;font-size:14px;font-weight:700;color:var(--foam);margin-bottom:16px}
.links-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.links-form-grid .field{margin-bottom:0}
.links-form-grid .field.full{grid-column:1/-1}
.links-target-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.links-target-btn{min-width:0;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid rgba(102,165,173,0.18);background:rgba(255,255,255,0.035);color:rgba(196,223,230,0.68);font-family:'Raleway',sans-serif;font-size:12px;font-weight:800;cursor:pointer;-webkit-appearance:none;transition:all .18s;white-space:nowrap}
.links-target-btn:hover{border-color:rgba(102,165,173,0.42);background:rgba(102,165,173,0.08);color:var(--foam)}
.links-target-btn.active{border-color:rgba(61,214,245,0.42);background:linear-gradient(135deg,rgba(7,87,91,0.64),rgba(61,214,245,0.14));color:var(--white);box-shadow:0 10px 28px rgba(0,20,24,0.18)}
.links-form-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px}
.links-save-msg{font-size:13px;font-weight:700;color:#3aaf73;min-height:18px}
.links-summary-grid{display:grid;grid-template-columns:1fr;gap:12px}
.links-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
.links-card{background:rgba(255,255,255,0.025);border:1px solid rgba(102,165,173,0.15);border-radius:20px;padding:18px;display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:18px;align-items:start}
.links-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.links-card-title{font-family:'Unbounded',sans-serif;font-size:14px;font-weight:800;color:var(--foam);line-height:1.35;margin-bottom:6px}
.links-card-code{font-size:11px;color:rgba(102,165,173,0.9);font-weight:800}
.links-folder-total{flex:0 0 auto;min-width:92px;padding:8px 10px;border-radius:14px;background:rgba(58,175,115,0.09);border:1px solid rgba(58,175,115,0.24);text-align:center}
.links-folder-total b{display:block;font-family:'Unbounded',sans-serif;font-size:20px;color:#3aaf73;line-height:1}
.links-folder-total span{display:block;margin-top:4px;font-size:10px;color:rgba(196,223,230,0.62)}
.links-card-meta{font-size:11px;color:rgba(196,223,230,0.45);line-height:1.55;margin-bottom:12px}
.links-url-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:8px}
.links-url-label{font-size:10px;font-weight:800;font-family:'Unbounded',sans-serif;color:rgba(196,223,230,0.42);text-transform:uppercase}
.links-url{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:8px 10px;border-radius:10px;background:rgba(0,0,0,0.18);border:1px solid rgba(102,165,173,0.12);font-size:11px;color:rgba(196,223,230,0.76)}
.links-mini-btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 10px;border-radius:10px;border:1px solid rgba(102,165,173,0.25);background:rgba(102,165,173,0.08);color:var(--foam);font-family:'Raleway',sans-serif;font-size:11px;font-weight:800;cursor:pointer;-webkit-appearance:none;transition:all .2s}
.links-mini-btn:hover{border-color:rgba(102,165,173,0.55);background:rgba(102,165,173,0.16)}
.links-mini-btn.danger{border-color:rgba(255,77,77,0.22);background:rgba(255,77,77,0.06);color:#ff9a9a}
.links-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.links-stat{padding:6px 10px;border-radius:100px;background:rgba(102,165,173,0.08);border:1px solid rgba(102,165,173,0.15);font-size:11px;color:rgba(196,223,230,0.72)}
.links-stat b{font-family:'Unbounded',sans-serif;color:var(--foam)}
.links-qr-box{display:flex;flex-direction:column;align-items:center;gap:10px}
.links-qr-img{width:132px;height:132px;padding:8px;border-radius:14px;background:#fff;border:1px solid rgba(102,165,173,0.16)}
.links-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
@media(max-width:980px){.links-admin-layout{grid-template-columns:1fr}.links-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.links-form-grid,.links-summary-grid{grid-template-columns:1fr}.links-target-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.links-card{grid-template-columns:1fr}.links-card-head{flex-direction:column}.links-url-row{grid-template-columns:1fr}.links-url-label{margin-top:4px}.links-qr-box{align-items:flex-start}}
@media(max-width:420px){.links-target-grid{grid-template-columns:1fr}}
.admin-price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.modal-custom-select .custom-select-header{background:rgba(255,255,255,0.05);border:1px solid rgba(102,165,173,0.2);border-radius:12px;padding:14px 16px}
.club-page-editor{display:grid;grid-template-columns:1fr;gap:20px}
.club-edit-section{background:rgba(255,255,255,0.03);border:1px solid rgba(102,165,173,0.12);border-radius:16px;padding:20px}
.club-edit-section-title{font-family:'Unbounded',sans-serif;font-size:13px;font-weight:700;color:var(--foam);margin-bottom:16px}
.club-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.club-edit-grid .field{margin-bottom:0}
.club-edit-grid .field.full{grid-column:1/-1}
.club-edit-textarea{min-height:94px;resize:vertical;line-height:1.55}
.club-file-control{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:10px;align-items:stretch;width:100%}
.club-file-native{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.club-file-btn{box-sizing:border-box;width:100%;min-height:52px;display:inline-flex!important;align-items:center;justify-content:center;gap:10px;margin:0!important;padding:0 18px;border-radius:14px;border:1px solid rgba(61,214,245,0.34);background:linear-gradient(135deg,rgba(7,87,91,0.72),rgba(61,214,245,0.18));color:var(--foam);font-family:'Unbounded',sans-serif;font-size:11px;font-weight:800;line-height:1!important;letter-spacing:0!important;text-transform:none!important;white-space:nowrap;cursor:pointer;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s;box-shadow:0 12px 34px rgba(0,20,24,0.18)}
.club-file-btn:hover{transform:translateY(-1px);border-color:rgba(61,214,245,0.6);background:linear-gradient(135deg,rgba(7,87,91,0.9),rgba(61,214,245,0.26));box-shadow:0 16px 42px rgba(0,20,24,0.26)}
.club-file-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;height:24px;padding:0 8px;border-radius:8px;background:rgba(61,214,245,0.16);border:1px solid rgba(61,214,245,0.28);color:var(--wave);font-size:9px;line-height:1;letter-spacing:.8px;text-transform:uppercase}
.club-file-status{box-sizing:border-box;min-height:52px;display:flex;align-items:center;min-width:0;padding:0 16px;border-radius:14px;border:1px solid rgba(102,165,173,0.18);background:rgba(255,255,255,0.035);color:rgba(196,223,230,0.64);font-size:13px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.club-file-status.is-uploading{color:var(--wave);border-color:rgba(61,214,245,0.38);background:rgba(61,214,245,0.06)}
.club-file-status.is-done{color:rgba(218,252,244,0.86);border-color:rgba(58,175,115,0.34);background:rgba(58,175,115,0.08)}
.club-file-status.is-error{color:#ffb3b3;border-color:rgba(255,77,77,0.32);background:rgba(255,77,77,0.08)}
.club-video-url-input{margin-top:10px;font-family:'Raleway',sans-serif}
@media(max-width:760px){.club-file-control{grid-template-columns:1fr}.club-file-btn{justify-content:flex-start}}
@media(max-width:700px){.club-edit-grid{grid-template-columns:1fr}}
.page{display:none}
.page.active{display:block}
/* ── CLUB PAGE ── */
.club-page{min-height:100vh;padding:118px 24px 100px;position:relative;z-index:1}
.club-page-inner{max-width:1080px;margin:0 auto}
.club-hero{text-align:center;max-width:760px;margin:0 auto 44px}
.club-hero-sub{font-size:16px;color:rgba(196,223,230,0.72);line-height:1.8;max-width:720px;margin:0 auto}
.club-video-wrap{width:min(100%,960px);aspect-ratio:16/9;margin:0 auto 28px;border-radius:18px;overflow:hidden;background:rgba(102,165,173,0.06);border:1px solid rgba(102,165,173,0.18);box-shadow:0 24px 70px rgba(0,20,24,0.45);position:relative}
.club-video{display:block;width:100%;height:100%;border:0}
.club-video-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;font-family:'Unbounded',sans-serif;font-size:13px;font-weight:700;color:rgba(196,223,230,0.55);background:linear-gradient(145deg,rgba(7,87,91,0.26),rgba(102,165,173,0.06))}
.club-video-wrap.has-video .club-video-placeholder{display:none}
.club-video-copy{max-width:760px;margin:0 auto 44px;text-align:center}
.club-video-copy h2{font-family:'Unbounded',sans-serif;font-size:22px;line-height:1.3;color:var(--foam);margin-bottom:14px}
.club-video-copy p{font-size:15px;color:rgba(196,223,230,0.72);line-height:1.8}
.club-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:28px}
.club-info-card,.club-faq-item{background:rgba(255,255,255,0.04);border:1px solid rgba(196,223,230,0.12);border-radius:20px;padding:24px 22px}
.club-info-icon{width:46px;height:46px;border-radius:14px;background:rgba(102,165,173,0.12);border:1px solid rgba(102,165,173,0.22);color:var(--wave);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.club-info-card h3,.club-faq-item h3{font-family:'Unbounded',sans-serif;font-size:14px;line-height:1.35;color:var(--foam);margin-bottom:10px}
.club-info-card p,.club-faq-item p{font-size:14px;color:rgba(196,223,230,0.72);line-height:1.7}
.club-compare{display:grid;grid-template-columns:minmax(220px,0.8fr) 1.2fr;gap:28px;align-items:center;background:linear-gradient(145deg,rgba(7,87,91,0.28),rgba(102,165,173,0.06));border:1px solid rgba(102,165,173,0.16);border-radius:22px;padding:30px 32px;margin-bottom:52px}
.club-compare h2{font-family:'Unbounded',sans-serif;font-size:22px;line-height:1.3;color:var(--foam)}
.club-compare p{font-size:15px;color:rgba(196,223,230,0.74);line-height:1.8}
.club-pricing{margin-bottom:34px}
.club-pricing-head{text-align:center;margin-bottom:24px}
.club-pricing-note{font-size:13px;color:rgba(196,223,230,0.58);line-height:1.65;max-width:680px;margin:0 auto 24px}
.club-price-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.club-price-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:122px;background:rgba(255,255,255,0.04);border:1px solid rgba(196,223,230,0.12);border-radius:18px;color:var(--foam);cursor:pointer;transition:transform 0.22s,border-color 0.22s,background 0.22s;appearance:none;-webkit-appearance:none}
.club-price-card:hover{transform:translateY(-4px);border-color:rgba(102,165,173,0.45);background:rgba(102,165,173,0.08)}
.club-price-card.featured{border-color:rgba(61,214,245,0.42);background:linear-gradient(145deg,rgba(7,87,91,0.42),rgba(61,214,245,0.08))}
.club-price-card span{font-family:'Unbounded',sans-serif;font-size:12px;font-weight:700}
.club-price-card strong{font-family:'Unbounded',sans-serif;font-size:24px;line-height:1;color:#fff}
.club-faq-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media(max-width:900px){
  .nav-right{gap:16px}
  .nav-link{font-size:10px;letter-spacing:0.5px}
  .club-grid,.club-faq-mini{grid-template-columns:1fr}
  .club-compare{grid-template-columns:1fr;gap:16px}
  .club-price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .club-page{padding:82px 18px 64px}
  .club-hero{margin-bottom:28px}
  .club-hero-sub,.club-video-copy p,.club-compare p{font-size:14px;line-height:1.75}
  .club-video-wrap{border-radius:14px;margin-bottom:24px}
  .club-video-copy{margin-bottom:30px}
  .club-video-copy h2,.club-compare h2{font-size:18px}
  .club-info-card,.club-faq-item{border-radius:16px;padding:20px 18px}
  .club-compare{padding:22px 18px;margin-bottom:34px;border-radius:18px}
  .club-price-grid{gap:10px}
  .club-price-card{min-height:104px;border-radius:15px;padding:12px 8px}
  .club-price-card span{font-size:10px}
  .club-price-card strong{font-size:19px}
}

/* ── CUSTOM DATE PICKER ── */
.dp-wrap{position:relative;display:block;width:100%}
.dp-input{cursor:pointer!important;user-select:none!important;caret-color:transparent}
.dp-popup{position:absolute;top:calc(100% + 8px);left:0;z-index:10000;background:rgba(2,22,24,0.98);border:1px solid rgba(102,165,173,0.25);border-radius:16px;padding:16px 14px 12px;box-shadow:0 24px 64px rgba(0,0,0,0.6);min-width:268px;backdrop-filter:blur(12px);animation:fadeUp 0.15s ease}
.dp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.dp-month-label{font-family:'Unbounded',sans-serif;font-size:13px;font-weight:700;color:#C4DFE6;padding:4px 8px;border-radius:8px;cursor:default}
.dp-nav{background:none;border:1px solid rgba(102,165,173,0.2);color:rgba(196,223,230,0.78);font-size:16px;cursor:pointer;padding:4px 10px;border-radius:8px;line-height:1.2;transition:all 0.2s;display:flex;align-items:center;justify-content:center}
.dp-nav:hover{background:rgba(102,165,173,0.12);color:#C4DFE6;border-color:rgba(102,165,173,0.4)}
.dp-daynames{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}
.dp-dayname{text-align:center;font-family:'Unbounded',sans-serif;font-size:9px;font-weight:600;letter-spacing:0.5px;color:rgba(196,223,230,0.3);padding:4px 0}
.dp-days{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}
.dp-day{text-align:center;padding:7px 2px;font-size:12px;cursor:pointer;border-radius:8px;transition:background 0.15s,color 0.15s;color:rgba(196,223,230,0.75);position:relative;line-height:1.4;user-select:none}
.dp-day:hover{background:rgba(102,165,173,0.15);color:#fff}
.dp-day.other-month{color:rgba(196,223,230,0.18);cursor:default}
.dp-day.other-month:hover{background:none}
.dp-day.today{color:#C4DFE6;font-weight:700}
.dp-day.today::after{content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:#66A5AD}
.dp-day.selected{background:#66A5AD!important;color:#fff!important;font-weight:700}
.dp-day.selected.today::after{background:#fff}
.dp-footer{display:flex;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid rgba(102,165,173,0.1)}
.dp-footer-btn{background:none;border:none;font-size:12px;font-family:'Raleway',sans-serif;font-weight:600;cursor:pointer;padding:6px 10px;border-radius:8px;transition:all 0.2s;letter-spacing:0.3px}
.dp-clear{color:rgba(196,223,230,0.4)}
.dp-clear:hover{background:rgba(255,100,100,0.08);color:#ff6b6b}
.dp-today-btn{color:#C4DFE6}
.dp-today-btn:hover{background:rgba(102,165,173,0.1);color:#C4DFE6}

/* ── MAINTENANCE TOGGLE ── */
.maint-toggle-on #maintToggleTrack{background:rgba(255,107,107,0.18)!important;border-color:rgba(255,107,107,0.4)!important}
.maint-toggle-on #maintToggleThumb{left:27px!important;background:#ff6b6b!important;opacity:1!important}
.maint-toggle-on #maintToggleText{color:#ff6b6b!important}

/* ── BLOG PAGE ── */
.blog-list-view { min-height: 100vh; }
.blog-section { max-width: 1100px; margin: 0 auto; padding: 120px 40px 100px; }
.blog-header { margin-bottom: 36px; }
.blog-subtitle { font-size: 15px; color: rgba(196,223,230,0.45); margin-top: 8px; }

/* Controls */
.blog-controls { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 40px; }
.blog-subject-filters { display: flex; gap: 8px; flex-wrap: wrap; flex: 1; }
.blog-chip { padding: 8px 18px; border-radius: 100px; border: 1px solid rgba(102,165,173,0.25); background: rgba(102,165,173,0.06); color: rgba(196,223,230,0.75); font-size: 12px; font-weight: 600; font-family: 'Raleway', sans-serif; letter-spacing: 0.5px; cursor: pointer; transition: all 0.2s; white-space: nowrap; }
.blog-chip:hover { border-color: rgba(102,165,173,0.5); color: var(--foam); background: rgba(102,165,173,0.1); }
.blog-chip.active { border-color: var(--wave); background: rgba(102,165,173,0.18); color: var(--foam); }

/* Grid */
.blog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; }
.blog-loading { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; width: 100%; }
.blog-empty { color: rgba(196,223,230,0.35); font-size: 15px; text-align: center; padding: 60px 0; grid-column: 1/-1; }

/* Article Card */
.blog-card { background: rgba(255,255,255,0.03); border: 1px solid rgba(102,165,173,0.12); border-radius: 20px; overflow: hidden; cursor: pointer; transition: transform 0.22s, border-color 0.22s, box-shadow 0.22s; display: flex; flex-direction: column; }
.blog-card:hover { transform: translateY(-4px); border-color: rgba(102,165,173,0.3); box-shadow: 0 12px 40px rgba(0,59,70,0.4); }
.blog-card-img-wrap { width: 100%; aspect-ratio: 16/9; overflow: hidden; background: rgba(102,165,173,0.06); flex-shrink: 0; }
.blog-card-img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.35s; }
.blog-card:hover .blog-card-img { transform: scale(1.04); }
.blog-card-img-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 44px; color: rgba(102,165,173,0.3); }
.blog-card-body { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.blog-card-chip { display: inline-block; padding: 3px 10px; border-radius: 100px; border: 1px solid rgba(102,165,173,0.25); font-size: 10px; font-weight: 700; letter-spacing: 0.8px; text-transform: uppercase; color: var(--wave); background: rgba(102,165,173,0.08); width: fit-content; }
.blog-card-title { font-family: 'Unbounded', sans-serif; font-size: 15px; font-weight: 700; color: var(--foam); line-height: 1.4; flex: 1; }
.blog-card-meta { display: flex; gap: 12px; font-size: 11px; color: rgba(196,223,230,0.35); margin-top: auto; }

/* Full Article View */
.blog-article-view { min-height: 100vh; }
.blog-article-inner { max-width: 860px; margin: 0 auto; padding: 100px 40px 80px; }
.blog-back-btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 20px; border-radius: 100px; border: 1px solid rgba(102,165,173,0.25); background: rgba(102,165,173,0.06); color: rgba(196,223,230,0.78); font-size: 13px; font-weight: 600; cursor: pointer; transition: all 0.2s; margin-bottom: 36px; }
.blog-back-btn:hover { border-color: rgba(102,165,173,0.5); color: var(--foam); background: rgba(102,165,173,0.12); }
.blog-article-cover { width: 100%; border-radius: 14px; aspect-ratio: 16/9; object-fit: cover; display: block; margin-bottom: 24px; }
.blog-article-inline-img { max-width: 100%; height: auto; border-radius: 14px; display: block; margin: 28px auto; cursor: zoom-in; }

.img-lightbox {
  position: fixed; inset: 0; z-index: 10000;
  display: flex; align-items: center; justify-content: center;
  background: rgba(0,0,0,0.82);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  opacity: 0; pointer-events: none;
  transition: opacity 0.2s ease;
  padding: 24px;
  box-sizing: border-box;
}
.img-lightbox.active { opacity: 1; pointer-events: all; }
.img-lightbox-img {
  max-width: 90vw; max-height: calc(100vh - 48px);
  display: block; border-radius: 10px;
  box-shadow: 0 12px 60px rgba(0,0,0,0.7);
  user-select: none;
}
.img-lightbox-wrap { position: relative; display: inline-block; line-height: 0; }
.img-lightbox-close {
  position: absolute; top: 10px; right: 10px;
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(255,255,255,0.15); border: none;
  color: #fff; font-size: 16px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.15s;
  -webkit-appearance: none; z-index: 1;
}
.img-lightbox-close:hover { background: rgba(255,255,255,0.25); }
.blog-article-meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; font-size: 13px; color: rgba(196,223,230,0.4); }
.blog-article-title { font-family: 'Unbounded', sans-serif; font-size: clamp(18px, 3vw, 32px); font-weight: 700; line-height: 1.3; color: var(--foam); margin-bottom: 24px; }
.blog-article-body { font-size: 15px; line-height: 1.85; color: rgba(196,223,230,0.75); }
.blog-article-body p { margin-bottom: 16px; }
.blog-article-body p:last-child { margin-bottom: 0; }

/* Code blocks */
.article-code-block { border-radius: 12px; overflow: hidden; margin: 20px 0; font-size: 13px; line-height: 1.65; }
.article-code-block code { font-family: 'Courier New', Courier, monospace; display: block; padding: 20px 24px; overflow-x: auto; white-space: pre; }
/* ── ADMIN ARTICLES ── */
.admin-article-row { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid rgba(102,165,173,0.08); }
.admin-article-row:last-child { border-bottom: none; }

/* Article image upload zone */
.article-image-upload { width: 100%; max-width: 640px; aspect-ratio: 16/9; margin: 0 auto; border-radius: 14px; border: 2px dashed rgba(102,165,173,0.3); background: rgba(102,165,173,0.04); cursor: pointer; display: flex; align-items: center; justify-content: center; overflow: hidden; transition: border-color 0.2s, background 0.2s; position: relative; user-select: none; }
.article-image-upload:hover { border-color: rgba(102,165,173,0.6); background: rgba(102,165,173,0.08); }
.article-image-upload.has-image { cursor: default; border-style: solid; border-color: rgba(102,165,173,0.25); }
.article-image-upload.has-image:hover { border-color: rgba(102,165,173,0.45); }
.article-img-change-btn { position: absolute; top: 8px; right: 8px; background: rgba(0,0,0,0.55); border: 1px solid rgba(102,165,173,0.3); color: rgba(196,223,230,0.8); font-size: 11px; font-family: 'Raleway',sans-serif; font-weight: 600; padding: 5px 10px; border-radius: 8px; cursor: pointer; backdrop-filter: blur(4px); transition: background 0.2s; white-space: nowrap; }
.article-img-change-btn:hover { background: rgba(102,165,173,0.25); }
.article-image-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; width: 100%; height: 100%; cursor: pointer; }

/* Mobile blog */
@media (max-width: 620px) {
  .blog-section { padding: 90px 20px 60px; }
  .blog-article-inner { padding: 80px 20px 60px; }
  .blog-controls { gap: 12px; }
  .blog-grid { grid-template-columns: 1fr; gap: 16px; }
  .blog-card-title { font-size: 14px; }
}

/* ── SYNTAX HIGHLIGHTER COLORS ── */
.article-code-block { background: #1e2330; border-radius: 12px; overflow: hidden; margin: 20px 0; position: relative; }
.article-code-block[data-lang]::before { content: attr(data-lang); position: absolute; top: 10px; right: 14px; font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: rgba(196,223,230,0.25); font-family: 'Raleway', sans-serif; }
.article-code-block code { display: block; padding: 20px 24px; overflow-x: auto; white-space: pre; font-family: 'Courier New', Courier, monospace; font-size: 13px; line-height: 1.7; color: #abb2bf; }
.sh-keyword  { color: #c678dd; font-weight: 600; }
.sh-builtin  { color: #e5c07b; }
.sh-string   { color: #98c379; }
.sh-number   { color: #d19a66; }
.sh-comment  { color: #5c6370; font-style: italic; }
.sh-func     { color: #61afef; }

/* ── BLOG SORT CUSTOM DROPDOWN ── */
.blog-sort-dropdown { position: relative; flex-shrink: 0; }
.blog-sort-btn { display: flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 100px; border: 1px solid rgba(102,165,173,0.25); background: rgba(102,165,173,0.06); color: rgba(196,223,230,0.7); font-size: 12px; font-family: 'Raleway', sans-serif; font-weight: 600; cursor: pointer; transition: all 0.2s; white-space: nowrap; }
.blog-sort-btn:hover { border-color: rgba(102,165,173,0.5); color: var(--foam); background: rgba(102,165,173,0.1); }
.blog-sort-dropdown.open .blog-sort-btn { border-color: var(--wave); color: var(--foam); background: rgba(102,165,173,0.12); }
.blog-sort-menu { position: absolute; top: calc(100% + 8px); right: 0; background: #0a2225; border: 1px solid rgba(102,165,173,0.2); border-radius: 14px; padding: 6px; min-width: 160px; z-index: 999; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: all 0.18s ease; box-shadow: 0 12px 40px rgba(0,0,0,0.4); }
.blog-sort-dropdown.open .blog-sort-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.blog-sort-option { padding: 10px 14px; border-radius: 10px; font-size: 13px; font-family: 'Raleway', sans-serif; font-weight: 500; color: rgba(196,223,230,0.78); cursor: pointer; transition: background 0.15s, color 0.15s; white-space: nowrap; }
.blog-sort-option:hover { background: rgba(102,165,173,0.1); color: var(--foam); }
.blog-sort-option.active { background: rgba(102,165,173,0.15); color: var(--foam); font-weight: 600; }

/* ── CARD PREVIEW (admin) ── */
.cpv-tabs { display: flex; gap: 4px; margin-bottom: 12px; flex-wrap: wrap; }
.cpv-tab { padding: 6px 14px; border-radius: 100px; border: 1px solid rgba(102,165,173,0.2); background: none; color: rgba(196,223,230,0.45); font-size: 11px; font-family: 'Raleway',sans-serif; font-weight: 600; cursor: pointer; transition: all 0.2s; white-space: nowrap; }
.cpv-tab:hover { border-color: rgba(102,165,173,0.4); color: rgba(196,223,230,0.8); }
.cpv-tab.active { border-color: var(--wave); color: var(--foam); background: rgba(102,165,173,0.1); }
.cpv-stage { display: flex; justify-content: center; align-items: flex-start; padding: 20px; background: rgba(0,0,0,0.25); border-radius: 14px; border: 1px solid rgba(102,165,173,0.1); min-height: 200px; overflow: hidden; }
/* desktop frame */
.cpv-desktop { width: 100%; max-width: 560px; border: 1.5px solid rgba(102,165,173,0.2); border-radius: 8px; overflow: hidden; background: #0b1c1f; }
.cpv-bar { height: 26px; background: rgba(102,165,173,0.05); border-bottom: 1px solid rgba(102,165,173,0.1); display: flex; align-items: center; padding: 0 10px; gap: 5px; }
.cpv-dot { width: 7px; height: 7px; border-radius: 50%; background: rgba(102,165,173,0.18); flex-shrink: 0; }
.cpv-url { font-size: 10px; color: rgba(196,223,230,0.18); margin-left: 8px; font-family: monospace; letter-spacing: 0.3px; }
.cpv-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 14px; }
/* portrait phone frame */
.cpv-portrait { width: 195px; border: 2.5px solid rgba(102,165,173,0.25); border-radius: 24px; overflow: hidden; background: #0b1c1f; }
.cpv-notch { width: 55px; height: 12px; background: rgba(102,165,173,0.08); border-radius: 100px; margin: 10px auto 8px; }
.cpv-grid-1 { padding: 0 10px; }
.cpv-home-bar { width: 50px; height: 4px; background: rgba(102,165,173,0.15); border-radius: 100px; margin: 10px auto; }
/* landscape phone frame */
.cpv-landscape { width: 100%; max-width: 450px; border: 2.5px solid rgba(102,165,173,0.25); border-radius: 24px; overflow: hidden; background: #0b1c1f; display: flex; align-items: stretch; }
.cpv-notch-side { width: 13px; background: rgba(102,165,173,0.03); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cpv-notch-side::after { content: ''; width: 4px; height: 40px; background: rgba(102,165,173,0.1); border-radius: 100px; }
.cpv-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 10px 10px 10px 6px; flex: 1; }
/* ghost card */
.cpv-ghost { background: rgba(255,255,255,0.02); border: 1px solid rgba(102,165,173,0.08); border-radius: 14px; overflow: hidden; opacity: 0.4; }
.cpv-ghost-img { width: 100%; aspect-ratio: 16/9; background: rgba(102,165,173,0.05); }
.cpv-ghost-body { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 6px; }
.cpv-ghost-chip { height: 8px; width: 40px; background: rgba(102,165,173,0.12); border-radius: 4px; }
.cpv-ghost-title { height: 10px; width: 85%; background: rgba(102,165,173,0.1); border-radius: 4px; }
.cpv-ghost-title2 { height: 10px; width: 60%; background: rgba(102,165,173,0.07); border-radius: 4px; }
/* real card inside preview — override hover effects */
.cpv-stage .blog-card { pointer-events: none; cursor: default; border-radius: 14px; }
.cpv-stage .blog-card-title { font-size: 11px; line-height: 1.4; }
.cpv-stage .blog-card-body { padding: 10px 12px 12px; gap: 5px; }
.cpv-stage .blog-card-chip { font-size: 8px; padding: 2px 7px; }

/* ── ARTICLE SUBJECT DROPDOWN (admin) ── */
.subject-dropdown { position: relative; display: inline-block; }
.subject-dropdown-btn { display: flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 12px; border: 1px solid rgba(102,165,173,0.25); background: rgba(102,165,173,0.06); color: rgba(196,223,230,0.85); font-size: 14px; font-family: 'Raleway', sans-serif; font-weight: 600; cursor: pointer; transition: all 0.2s; white-space: nowrap; min-width: 180px; justify-content: space-between; }
.subject-dropdown-btn:hover { border-color: rgba(102,165,173,0.5); color: var(--foam); background: rgba(102,165,173,0.1); }
.subject-dropdown.open .subject-dropdown-btn { border-color: var(--wave); color: var(--foam); background: rgba(102,165,173,0.12); }
.subject-dropdown-menu { position: absolute; top: calc(100% + 8px); left: 0; background: #0a2225; border: 1px solid rgba(102,165,173,0.2); border-radius: 14px; padding: 6px; min-width: 180px; z-index: 999; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: all 0.18s ease; box-shadow: 0 12px 40px rgba(0,0,0,0.5); }
.subject-dropdown.open .subject-dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.subject-dropdown-option { padding: 10px 14px; border-radius: 10px; font-size: 13px; font-family: 'Raleway', sans-serif; font-weight: 500; color: rgba(196,223,230,0.78); cursor: pointer; transition: background 0.15s, color 0.15s; white-space: nowrap; }
.subject-dropdown-option:hover { background: rgba(102,165,173,0.1); color: var(--foam); }
.subject-dropdown-option.active { background: rgba(102,165,173,0.15); color: var(--foam); font-weight: 600; }

/* ── PINNED ARTICLE ── */
.blog-card-pin { font-size: 10px; font-weight: 700; letter-spacing: 0.5px; color: rgba(255,195,0,0.8); background: rgba(255,195,0,0.08); border: 1px solid rgba(255,195,0,0.2); border-radius: 100px; padding: 2px 8px; }
.blog-card-pinned { border-color: rgba(255,195,0,0.2) !important; }
.admin-article-pinned { background: rgba(255,195,0,0.04); }

.admin-articles-section-label { font-size: 11px; font-weight: 700; letter-spacing: 0.8px; text-transform: uppercase; color: rgba(255,195,0,0.6); margin: 0 0 10px; display: flex; align-items: center; gap: 8px; }
.admin-pinned-hint { font-weight: 500; letter-spacing: 0; text-transform: none; color: rgba(196,223,230,0.3); font-size: 11px; }
.admin-articles-divider { font-size: 11px; font-weight: 700; letter-spacing: 0.8px; text-transform: uppercase; color: rgba(196,223,230,0.25); margin: 20px 0 10px; padding-top: 16px; border-top: 1px solid rgba(102,165,173,0.08); }

@media (max-width: 620px) {
  .blog-sort-menu { right: auto; left: 0; }
}

/* ── DASHBOARD ── */
.dash-kpi-row { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-bottom:24px; }
.dash-kpi { display:flex; align-items:center; gap:14px; background:rgba(255,255,255,0.03); border:1px solid rgba(102,165,173,0.13); border-radius:18px; padding:18px 20px; transition:border-color 0.2s; }
.dash-kpi:hover { border-color:rgba(102,165,173,0.28); }
.dash-kpi-accent { border-color:rgba(58,175,115,0.2); background:rgba(58,175,115,0.04); }
.dash-kpi-accent:hover { border-color:rgba(58,175,115,0.4); }
.dash-kpi-icon { font-size:26px; flex-shrink:0; }
.dash-kpi-body { min-width:0; }
.dash-kpi-label { font-size:10px; font-weight:700; letter-spacing:0.6px; text-transform:uppercase; color:rgba(196,223,230,0.4); margin-bottom:4px; white-space:nowrap; }
.dash-kpi-val { font-family:'Unbounded',sans-serif; font-size:24px; font-weight:800; color:var(--foam); line-height:1; }
.dash-kpi-accent .dash-kpi-val { color:#3aaf73; }
.dash-charts-row { display:flex; gap:20px; margin-bottom:20px; }
.dash-chart-main { flex:2; margin-bottom:0 !important; }
.dash-chart-side { flex:1; margin-bottom:0 !important; }
.dash-chart-title { font-family:'Unbounded',sans-serif; font-size:14px; font-weight:700; color:var(--foam); }
.dash-analytics-row { display:flex; gap:20px; margin-bottom:24px; }

/* ── FINANCE MANUAL ── */
.fin-month-nav { display:flex; align-items:center; gap:8px; margin-bottom:20px; width:fit-content; }
.fin-month-arrow { width:34px; height:34px; border-radius:10px; background:rgba(102,165,173,0.08); border:1px solid rgba(102,165,173,0.2); color:var(--foam); font-size:16px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background 0.15s; flex-shrink:0; }
.fin-month-arrow:hover { background:rgba(102,165,173,0.18); }
.fin-month-pills { display:flex; gap:6px; padding:2px 0; }
.fin-month-pills::-webkit-scrollbar { display:none; }
.fin-month-pill { flex-shrink:0; padding:7px 16px; border-radius:100px; border:1px solid rgba(102,165,173,0.2); background:transparent; color:rgba(196,223,230,0.75); font-family:'Raleway',sans-serif; font-size:12px; font-weight:600; cursor:pointer; transition:all 0.18s; white-space:nowrap; }
.fin-month-pill:hover { border-color:rgba(102,165,173,0.4); color:var(--foam); }
.fin-month-pill.active { background:rgba(102,165,173,0.18); border-color:rgba(102,165,173,0.4); color:var(--white); }
.fin-month-pill.has-data::after { content:''; display:inline-block; width:5px; height:5px; border-radius:50%; background:#3aaf73; margin-left:6px; vertical-align:middle; }

.fin-cols { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:24px; }
@media(max-width:760px){ .fin-cols { grid-template-columns:1fr; } }

.fin-col { background:rgba(255,255,255,0.02); border:1px solid rgba(102,165,173,0.15); border-radius:20px; padding:24px; display:flex; flex-direction:column; gap:0; }
.fin-col-income { border-color:rgba(58,175,115,0.2); }
.fin-col-expense { border-color:rgba(255,107,107,0.2); }

.fin-col-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.fin-col-title { font-family:'Unbounded',sans-serif; font-size:13px; font-weight:700; color:var(--foam); }
.fin-col-total { font-family:'Unbounded',sans-serif; font-size:18px; font-weight:800; }
.fin-col-income .fin-col-total { color:#3aaf73; }
.fin-col-expense .fin-col-total { color:#ff6b6b; }

.fin-entries { display:flex; flex-direction:column; gap:8px; margin-bottom:16px; min-height:40px; }
.fin-entry { display:flex; align-items:center; gap:10px; background:rgba(255,255,255,0.03); border:1px solid rgba(102,165,173,0.1); border-radius:12px; padding:10px 12px; }
.fin-entry-label { flex:1; background:transparent; border:none; outline:none; color:var(--white); font-family:'Raleway',sans-serif; font-size:13px; }
.fin-entry-label::placeholder { color:rgba(196,223,230,0.3); }
.fin-entry-amount { width:110px; background:transparent; border:none; border-left:1px solid rgba(102,165,173,0.15); outline:none; color:var(--foam); font-family:'Unbounded',sans-serif; font-size:12px; font-weight:700; padding-left:10px; text-align:right; }
.fin-entry-amount::placeholder { color:rgba(196,223,230,0.25); font-family:'Raleway',sans-serif; font-weight:400; font-size:12px; }
.fin-entry-del { width:24px; height:24px; border-radius:6px; background:transparent; border:none; color:rgba(196,223,230,0.3); cursor:pointer; font-size:14px; display:flex; align-items:center; justify-content:center; transition:color 0.15s, background 0.15s; flex-shrink:0; padding:0; }
.fin-entry-del:hover { color:#ff6b6b; background:rgba(255,107,107,0.1); }

.fin-add-btn { background:transparent; border:1px dashed rgba(102,165,173,0.25); border-radius:12px; color:rgba(196,223,230,0.4); font-family:'Raleway',sans-serif; font-size:12px; font-weight:600; padding:10px; cursor:pointer; transition:all 0.2s; margin-top:auto; }
.fin-add-btn:hover { border-color:rgba(102,165,173,0.5); color:var(--foam); background:rgba(102,165,173,0.05); }

.fin-profit-card { border-radius:20px; padding:32px 36px; display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; transition:background 0.4s, border-color 0.4s; }
.fin-profit-card.positive { background:rgba(58,175,115,0.08); border:1px solid rgba(58,175,115,0.25); }
.fin-profit-card.negative { background:rgba(255,107,107,0.08); border:1px solid rgba(255,107,107,0.25); }
.fin-profit-card.neutral  { background:rgba(255,255,255,0.02); border:1px solid rgba(102,165,173,0.15); }
.fin-profit-label { font-family:'Unbounded',sans-serif; font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:rgba(196,223,230,0.4); }
.fin-profit-val { font-family:'Unbounded',sans-serif; font-size:42px; font-weight:800; line-height:1; transition:color 0.4s; }
.fin-profit-card.positive .fin-profit-val { color:#3aaf73; }
.fin-profit-card.negative .fin-profit-val { color:#ff6b6b; }
.fin-profit-card.neutral  .fin-profit-val { color:var(--foam); }
.fin-profit-sub { font-size:13px; color:rgba(196,223,230,0.4); margin-top:4px; }

/* Итого за всё время */
.fin-total-row { display:grid; grid-template-columns:1fr 1fr 1.4fr; gap:14px; margin-top:16px; }
@media(max-width:700px){ .fin-total-row { grid-template-columns:1fr 1fr; } }
@media(max-width:480px){ .fin-total-row { grid-template-columns:1fr; } }
.fin-total-card { border-radius:18px; padding:20px 22px; display:flex; flex-direction:column; gap:6px; }
.fin-total-income  { background:rgba(58,175,115,0.07);  border:1px solid rgba(58,175,115,0.18); }
.fin-total-expense { background:rgba(255,107,107,0.07); border:1px solid rgba(255,107,107,0.18); }
.fin-total-profit  { background:rgba(255,255,255,0.03); border:1px solid rgba(102,165,173,0.18); }
.fin-total-profit.pos { background:rgba(58,175,115,0.1);  border-color:rgba(58,175,115,0.3); }
.fin-total-profit.neg { background:rgba(255,107,107,0.1); border-color:rgba(255,107,107,0.3); }
.fin-total-label { font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:rgba(196,223,230,0.4); }
.fin-total-val { font-family:'Unbounded',sans-serif; font-size:22px; font-weight:800; color:var(--foam); line-height:1.1; }
.fin-total-income  .fin-total-val { color:#3aaf73; }
.fin-total-expense .fin-total-val { color:#ff6b6b; }
.fin-total-profit.pos .fin-total-val { color:#3aaf73; }
.fin-total-profit.neg .fin-total-val { color:#ff6b6b; }
.fin-total-months { font-size:11px; color:rgba(196,223,230,0.35); margin-top:2px; }

/* ── AUDIT ── */
.audit-action { font-weight:600; font-size:13px; color:var(--foam); }
.audit-details { font-size:12px; color:rgba(196,223,230,0.75); margin-top:2px; }
.audit-time { font-size:11px; color:rgba(196,223,230,0.35); white-space:nowrap; }
.audit-actor { font-size:12px; color:rgba(196,223,230,0.78); white-space:nowrap; }
.audit-actor span { font-size:10px; color:rgba(196,223,230,0.38); text-transform:uppercase; letter-spacing:0.4px; }
.audit-empty { text-align:center; padding:60px 20px; color:rgba(196,223,230,0.3); font-size:13px; }
.audit-badge { display:inline-block; padding:3px 9px; border-radius:6px; font-size:10px; font-weight:700; letter-spacing:0.4px; text-transform:uppercase; }
.audit-badge-status { background:rgba(102,165,173,0.12); color:var(--foam); }
.audit-badge-delete { background:rgba(255,107,107,0.12); color:#ff6b6b; }
.audit-badge-approve { background:rgba(58,175,115,0.12); color:#3aaf73; }
.audit-badge-price { background:rgba(102,165,173,0.12); color:#C4DFE6; }
.audit-badge-other { background:rgba(255,255,255,0.05); color:rgba(196,223,230,0.75); }

.admin-users-form { display:grid; grid-template-columns:1fr 1fr 150px 1fr auto; gap:10px; align-items:end; }
.admin-user-row { display:grid; grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) 150px 90px minmax(140px,1fr) auto; gap:10px; align-items:center; padding:12px; border:1px solid rgba(102,165,173,0.12); border-radius:10px; background:rgba(255,255,255,0.025); }
.admin-user-login { font-weight:800; color:var(--foam); font-size:13px; }
.admin-user-meta { color:rgba(196,223,230,0.38); font-size:11px; margin-top:3px; line-height:1.4; }
.admin-role-segment { display:grid; grid-template-columns:1fr 1fr; gap:3px; padding:4px; min-height:44px; border:1px solid rgba(102,165,173,0.22); border-radius:12px; background:rgba(255,255,255,0.045); box-shadow:inset 0 1px 0 rgba(255,255,255,0.03); }
.admin-role-segment-row { min-height:40px; }
.admin-role-btn { background:transparent; border:1px solid transparent; border-radius:9px; color:rgba(196,223,230,0.58); font-family:'Raleway',sans-serif; font-size:12px; font-weight:800; cursor:pointer; -webkit-appearance:none; appearance:none; transition:background 0.18s,border-color 0.18s,color 0.18s,box-shadow 0.18s; }
.admin-role-btn:hover { color:var(--foam); background:rgba(102,165,173,0.08); }
.admin-role-btn.active { color:var(--white); background:linear-gradient(135deg,rgba(102,165,173,0.24),rgba(58,175,115,0.13)); border-color:rgba(102,165,173,0.38); box-shadow:0 8px 20px rgba(0,59,70,0.18); }
.admin-user-active { display:flex; align-items:center; gap:7px; color:rgba(196,223,230,0.7); font-size:12px; cursor:pointer; }
.admin-user-active input { accent-color:var(--wave); }
.admin-user-save { width:auto; padding:10px 16px; background:rgba(102,165,173,0.12); border-color:rgba(102,165,173,0.25); color:var(--foam); }

.platform-subjects-list { display:flex; flex-direction:column; gap:8px; }
.platform-subject-row { display:grid; grid-template-columns:42px minmax(0,1fr) 38px; gap:10px; align-items:center; padding:10px; border:1px solid rgba(102,165,173,0.12); border-radius:14px; background:rgba(255,255,255,0.025); }
.platform-subject-icon { width:42px; height:42px; display:flex; align-items:center; justify-content:center; border-radius:12px; border:1px solid rgba(102,165,173,0.18); background:rgba(102,165,173,0.08); color:var(--wave); }
.platform-subject-row .admin-input { margin:0; min-width:0; }
.platform-subject-remove { width:38px; height:38px; border-radius:11px; border:1px solid rgba(255,107,107,0.24); background:rgba(255,107,107,0.06); color:#ff9a9a; font-family:'Raleway',sans-serif; font-size:18px; line-height:1; cursor:pointer; -webkit-appearance:none; appearance:none; display:flex; align-items:center; justify-content:center; transition:background .18s,border-color .18s,color .18s; }
.platform-subject-remove:hover { background:rgba(255,107,107,0.12); border-color:rgba(255,107,107,0.45); color:#fff; }
.platform-subject-empty { padding:14px 16px; border:1px dashed rgba(102,165,173,0.18); border-radius:14px; color:rgba(196,223,230,0.42); font-size:12px; background:rgba(255,255,255,0.02); }

.social-tiktok-settings { display:grid; grid-template-columns:100px minmax(0,1fr); align-items:start; gap:12px; }
.social-tiktok-hint { grid-column:2; margin:-2px 0 2px; color:rgba(196,223,230,0.42); font-size:12px; line-height:1.5; }
.tiktok-admin-list { grid-column:2; display:flex; flex-direction:column; gap:8px; min-width:0; }
.tiktok-admin-row { display:grid; grid-template-columns:minmax(150px,.75fr) minmax(0,1fr) 34px; gap:8px; align-items:center; padding:10px; border:1px solid rgba(102,165,173,0.12); border-radius:14px; background:rgba(255,255,255,0.025); }
.tiktok-admin-row .admin-input { margin:0; min-width:0; }
.tiktok-admin-remove { width:34px; height:34px; border-radius:10px; border:1px solid rgba(255,107,107,0.24); background:rgba(255,107,107,0.06); color:#ff9a9a; font-family:'Raleway',sans-serif; font-size:18px; line-height:1; cursor:pointer; -webkit-appearance:none; appearance:none; display:flex; align-items:center; justify-content:center; transition:background .18s,border-color .18s,color .18s; }
.tiktok-admin-remove:hover { background:rgba(255,107,107,0.12); border-color:rgba(255,107,107,0.45); color:#fff; }
.tiktok-admin-empty { padding:12px 14px; border:1px dashed rgba(102,165,173,0.18); border-radius:14px; color:rgba(196,223,230,0.42); font-size:12px; background:rgba(255,255,255,0.02); }
.tiktok-admin-add { grid-column:2; justify-self:start; min-height:38px; padding:0 16px; border-radius:12px; border:1px solid rgba(61,214,245,0.28); background:rgba(61,214,245,0.08); color:var(--foam); font-family:'Raleway',sans-serif; font-size:12px; font-weight:800; cursor:pointer; -webkit-appearance:none; appearance:none; transition:background .18s,border-color .18s,transform .18s; }
.tiktok-admin-add:hover { background:rgba(61,214,245,0.14); border-color:rgba(61,214,245,0.48); transform:translateY(-1px); }

@media (max-width: 1100px) {
  .admin-user-row { grid-template-columns:1fr 1fr; }
  .admin-user-save { width:100%; }
}

@media (max-width: 760px) {
  .admin-users-form, .admin-user-row { grid-template-columns:1fr; }
  .platform-subject-row { grid-template-columns:38px minmax(0,1fr) 36px; padding:8px; }
  .social-tiktok-settings { grid-template-columns:1fr; }
  .social-tiktok-hint, .tiktok-admin-list, .tiktok-admin-add { grid-column:1; }
  .tiktok-admin-row { grid-template-columns:1fr; }
  .tiktok-admin-remove { width:100%; }
  .audit-actor { white-space:normal; }
}

/* ── UNIFIED ANALYTICS CARD ── */
.dash-analytics-card { background:rgba(255,255,255,0.02); border:1px solid rgba(102,165,173,0.15); border-radius:24px; padding:24px; margin-bottom:24px; }
.dash-ac-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; gap:12px; flex-wrap:wrap; }
.dash-ac-stats { display:flex; align-items:center; gap:16px; }
.dash-ac-stat { display:flex; flex-direction:column; }
.dash-ac-stat-val { font-family:'Unbounded',sans-serif; font-size:22px; font-weight:800; color:var(--foam); line-height:1; }
.dash-ac-stat-label { font-size:10px; color:rgba(196,223,230,0.4); margin-top:4px; letter-spacing:0.5px; text-transform:uppercase; }
.dash-ac-stat-div { width:1px; height:32px; background:rgba(102,165,173,0.2); }
.dash-ac-periods { display:flex; gap:4px; background:rgba(0,0,0,0.2); border:1px solid rgba(102,165,173,0.12); border-radius:100px; padding:4px; }
.dash-ac-period { background:none; border:none; color:rgba(196,223,230,0.45); padding:6px 14px; border-radius:100px; font-size:11px; font-family:'Raleway',sans-serif; font-weight:700; cursor:pointer; transition:all 0.2s; white-space:nowrap; }
.dash-ac-period:hover { color:var(--foam); }
.dash-ac-period.active { background:rgba(102,165,173,0.18); color:var(--white); border:1px solid rgba(102,165,173,0.3); }
.dash-ac-charts { display:flex; align-items:stretch; gap:0; }
.dash-ac-chart-wrap { display:flex; flex-direction:column; gap:10px; min-width:0; }
.dash-ac-chart-label { font-size:11px; font-weight:700; font-family:'Unbounded',sans-serif; color:rgba(196,223,230,0.35); letter-spacing:0.8px; text-transform:uppercase; }
.dash-ac-divider { width:1px; background:rgba(102,165,173,0.1); margin:0 24px; flex-shrink:0; }
@media (max-width:800px) { .dash-kpi-row { grid-template-columns:1fr 1fr; } .dash-charts-row,.dash-analytics-row { flex-direction:column; } .dash-ac-charts { flex-direction:column; } .dash-ac-divider { width:100%; height:1px; margin:16px 0; } }
.dash-funnel-step { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.dash-funnel-label { font-size:12px; color:rgba(196,223,230,0.78); width:120px; flex-shrink:0; }
.dash-funnel-bar-wrap { flex:1; background:rgba(255,255,255,0.05); border-radius:100px; height:8px; overflow:hidden; }
.dash-funnel-bar { height:100%; border-radius:100px; transition:width 0.6s cubic-bezier(0.25,1,0.5,1); }
.dash-funnel-pct { font-size:12px; font-weight:700; color:var(--foam); width:38px; text-align:right; flex-shrink:0; }
.dash-funnel-count { font-size:11px; color:rgba(196,223,230,0.35); width:50px; text-align:right; flex-shrink:0; }
/* donut chart layout */
.dash-pkg-wrap { display:flex; align-items:center; gap:24px; }
.dash-pkg-donut-wrap { position:relative; flex-shrink:0; width:160px; height:160px; }
.dash-pkg-donut-wrap canvas { display:block; }
.dash-pkg-donut-center { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; pointer-events:none; }
.dash-pkg-donut-total { font-family:'Unbounded',sans-serif; font-size:28px; font-weight:800; color:var(--foam); line-height:1; }
.dash-pkg-donut-label { font-size:10px; color:rgba(196,223,230,0.4); margin-top:4px; letter-spacing:0.5px; }
/* legend */
.dash-pkg-legend { flex:1; display:flex; flex-direction:column; gap:10px; }
.dash-pkg-leg-item { display:flex; align-items:center; gap:10px; }
.dash-pkg-leg-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.dash-pkg-leg-name { font-size:12px; color:rgba(196,223,230,0.7); flex:1; }
.dash-pkg-leg-right { display:flex; flex-direction:column; align-items:flex-end; gap:1px; }
.dash-pkg-leg-pct { font-family:'Unbounded',sans-serif; font-size:13px; font-weight:800; }
.dash-pkg-leg-cnt { font-size:10px; color:rgba(196,223,230,0.35); }
.dash-pkg-leg-empty { font-size:12px; color:rgba(196,223,230,0.25); text-align:center; padding:20px 0; }
@media (max-width:1100px) { .dash-kpi-row { grid-template-columns:repeat(3,1fr); } }
@media (max-width:800px) { .dash-kpi-row { grid-template-columns:1fr 1fr; } .dash-charts-row,.dash-analytics-row { flex-direction:column; } }

/* ── MODERATION ── */
.mod-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; flex-wrap:wrap; gap:12px; }
.mod-filter-tabs { display:flex; gap:8px; }
.mod-tab { display:flex; align-items:center; gap:7px; padding:8px 16px; border-radius:100px; border:1px solid rgba(102,165,173,0.2); background:transparent; color:rgba(196,223,230,0.75); font-size:12px; font-family:'Raleway',sans-serif; font-weight:600; cursor:pointer; transition:all 0.2s; }
.mod-tab:hover { border-color:rgba(102,165,173,0.4); color:var(--foam); }
.mod-tab.active { background:rgba(102,165,173,0.12); border-color:rgba(102,165,173,0.4); color:var(--foam); }
.mod-tab-count { display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; padding:0 5px; border-radius:100px; background:rgba(102,165,173,0.15); font-size:10px; font-weight:700; }
.mod-tab-count-new { background:rgba(102,165,173,0.2); color:#C4DFE6; }
.mod-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:14px; }
.mod-card { background:rgba(255,255,255,0.03); border:1px solid rgba(102,165,173,0.12); border-radius:16px; padding:18px; display:flex; flex-direction:column; gap:12px; transition:border-color 0.2s; }
.mod-card:hover { border-color:rgba(102,165,173,0.25); }
.mod-card-pending { border-color:rgba(102,165,173,0.18); background:rgba(102,165,173,0.02); }
.mod-card-head { display:flex; align-items:flex-start; gap:12px; }
.mod-avatar { width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg,var(--ocean),var(--wave)); display:flex; align-items:center; justify-content:center; font-family:'Unbounded',sans-serif; font-size:14px; font-weight:800; color:#fff; flex-shrink:0; }
.mod-card-info { flex:1; min-width:0; }
.mod-card-author { font-family:'Unbounded',sans-serif; font-size:13px; font-weight:700; color:var(--foam); }
.mod-card-meta { font-size:11px; color:rgba(196,223,230,0.35); margin-top:2px; }
.mod-stars { font-size:14px; color:#C4DFE6; letter-spacing:1px; flex-shrink:0; }
.mod-status-badge { display:inline-block; padding:3px 10px; border-radius:100px; font-size:10px; font-weight:700; letter-spacing:0.4px; }
.mod-badge-new { background:rgba(102,165,173,0.12); border:1px solid rgba(102,165,173,0.25); color:#C4DFE6; }
.mod-badge-ok { background:rgba(58,175,115,0.1); border:1px solid rgba(58,175,115,0.25); color:#3aaf73; }
.mod-card-text { font-size:13px; color:rgba(196,223,230,0.78); line-height:1.65; background:rgba(0,0,0,0.15); border-radius:10px; padding:10px 14px; }
.mod-card-scores { display:flex; gap:8px; flex-wrap:wrap; }
.mod-score-chip { font-size:11px; color:rgba(196,223,230,0.45); background:rgba(102,165,173,0.06); border:1px solid rgba(102,165,173,0.12); border-radius:6px; padding:3px 8px; }
.mod-card-actions { display:flex; gap:8px; margin-top:2px; }
.mod-approve-btn { flex:1; padding:9px; border-radius:10px; border:1px solid rgba(58,175,115,0.3); background:rgba(58,175,115,0.07); color:#3aaf73; font-size:12px; font-weight:700; font-family:'Raleway',sans-serif; cursor:pointer; transition:all 0.2s; }
.mod-approve-btn:hover { background:rgba(58,175,115,0.18); border-color:rgba(58,175,115,0.5); }
.mod-delete-btn { padding:9px 14px; border-radius:10px; border:1px solid rgba(255,77,77,0.2); background:none; color:rgba(255,100,100,0.55); font-size:12px; font-weight:700; font-family:'Raleway',sans-serif; cursor:pointer; transition:all 0.2s; }
.mod-delete-btn:hover { background:rgba(255,77,77,0.1); border-color:rgba(255,77,77,0.4); color:rgba(255,100,100,0.9); }
.mod-empty { grid-column:1/-1; text-align:center; padding:60px 20px; color:rgba(196,223,230,0.25); font-size:14px; }
.dash-empty { text-align:center; padding:40px 20px; color:rgba(196,223,230,0.25); font-size:13px; }
@media (max-width:700px) { .mod-grid { grid-template-columns:1fr; } .mod-header { flex-direction:column; align-items:flex-start; } }

/* ── CRM REDESIGN ── */
.crm-header { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:20px; gap:16px; flex-wrap:wrap; }
.crm-export-btn { display:flex; align-items:center; gap:8px; padding:10px 20px; font-size:12px; font-family:'Unbounded',sans-serif; font-weight:600; border-radius:12px; background:rgba(102,165,173,0.1); border:1px solid rgba(102,165,173,0.25); color:var(--foam); cursor:pointer; transition:all 0.2s; flex-shrink:0; margin-top:6px; }
.crm-export-btn:hover { background:rgba(102,165,173,0.2); border-color:var(--wave); }

.crm-kpi-strip { display:flex; gap:10px; flex-wrap:wrap; }
.crm-kpi-chip { display:flex; align-items:center; gap:6px; padding:5px 12px; border-radius:100px; border:1px solid rgba(102,165,173,0.15); background:rgba(255,255,255,0.03); font-size:12px; color:rgba(196,223,230,0.75); }
.crm-kpi-chip-val { font-family:'Unbounded',sans-serif; font-size:13px; font-weight:800; }

.crm-controls { display:flex; align-items:center; gap:14px; margin-bottom:18px; flex-wrap:wrap; }
.crm-search-wrap { display:flex; align-items:center; gap:10px; flex:1; min-width:220px; background:rgba(255,255,255,0.03); border:1px solid rgba(102,165,173,0.18); border-radius:12px; padding:9px 14px; }
.crm-search-wrap:focus-within { border-color:rgba(102,165,173,0.45); }
.crm-search { flex:1; background:none; border:none; outline:none; font-size:13px; color:var(--white); font-family:'Raleway',sans-serif; }
.crm-search::placeholder { color:rgba(196,223,230,0.3); }

.crm-tabs { display:flex; gap:6px; flex-wrap:wrap; }
.crm-tab { display:flex; align-items:center; gap:6px; padding:7px 14px; border-radius:100px; border:1px solid rgba(102,165,173,0.18); background:none; color:rgba(196,223,230,0.75); font-size:12px; font-family:'Raleway',sans-serif; font-weight:600; cursor:pointer; transition:all 0.2s; }
.crm-tab:hover { border-color:rgba(102,165,173,0.35); color:var(--foam); }
.crm-tab.active { background:rgba(102,165,173,0.12); border-color:rgba(102,165,173,0.4); color:var(--white); }
.crm-tab-cnt { font-size:10px; font-weight:800; font-family:'Unbounded',sans-serif; padding:1px 6px; border-radius:100px; background:rgba(255,255,255,0.08); color:rgba(196,223,230,0.75); }
.crm-tab-cnt-new { background:rgba(255,77,77,0.18); color:#ff6b6b; }
.crm-tab-cnt-paid { background:rgba(58,175,115,0.18); color:#3aaf73; }
.crm-tab-cnt-refused { background:rgba(158,158,158,0.15); color:#9e9e9e; }

.crm-table-wrap { border-radius:16px; border:1px solid rgba(102,165,173,0.15); overflow:visible; }
.crm-table thead tr th:first-child { border-top-left-radius:16px; }
.crm-table thead tr th:last-child { border-top-right-radius:16px; }
.crm-table tbody tr:last-child td:first-child { border-bottom-left-radius:16px; }
.crm-table tbody tr:last-child td:last-child { border-bottom-right-radius:16px; }
.crm-table { width:100%; border-collapse:collapse; font-size:13px; }
.crm-table thead tr { background:rgba(0,0,0,0.25); }
.crm-table th { padding:12px 16px; text-align:left; font-family:'Unbounded',sans-serif; font-size:9px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; color:rgba(196,223,230,0.4); border-bottom:1px solid rgba(102,165,173,0.12); white-space:nowrap; }
.crm-table td { padding:13px 16px; border-bottom:1px solid rgba(102,165,173,0.07); vertical-align:middle; }
.crm-table tbody tr:last-child td { border-bottom:none; }
.crm-table tbody tr { transition:background 0.15s; }
.crm-table tbody tr:hover { background:rgba(102,165,173,0.04); }

.crm-date-day { font-size:15px; font-family:'Unbounded',sans-serif; font-weight:700; color:var(--foam); white-space:nowrap; }
.crm-date-mo { font-size:10px; color:rgba(196,223,230,0.4); margin-top:1px; white-space:nowrap; }
.crm-client-name { font-weight:700; color:var(--white); font-size:13px; }
.crm-client-contact { font-size:11px; color:rgba(196,223,230,0.4); margin-top:2px; }
.crm-plan-title { font-size:12px; color:rgba(196,223,230,0.75); line-height:1.4; max-width:320px; }
.crm-plan-chips { display:flex; flex-wrap:wrap; gap:4px; margin-top:6px; }
.crm-chip { display:inline-flex; align-items:center; border-radius:6px; padding:2px 8px; font-size:10px; font-weight:700; white-space:nowrap; }
.crm-promo { display:inline-block; padding:3px 10px; border-radius:100px; font-size:10px; font-weight:700; letter-spacing:0.3px; background:rgba(156,110,245,0.12); border:1px solid rgba(156,110,245,0.25); color:#b794f4; white-space:nowrap; }
.crm-no-promo { color:rgba(196,223,230,0.2); font-size:12px; }

/* CRM Status inline select */
.crm-status-wrap { position:relative; }
.crm-status-btn { display:flex; align-items:center; gap:7px; padding:5px 10px 5px 12px; border-radius:8px; border:1px solid; font-size:11px; font-weight:700; font-family:'Raleway',sans-serif; cursor:pointer; white-space:nowrap; transition:opacity 0.15s; min-width:130px; }
.crm-status-btn:hover { opacity:0.85; }
.crm-status-arrow { font-size:8px; margin-left:auto; }
.crm-status-dropdown { position:absolute; top:calc(100% + 5px); left:0; min-width:180px; background:#082a2e; border:1px solid rgba(102,165,173,0.3); border-radius:12px; padding:5px; box-shadow:0 12px 40px rgba(0,0,0,0.5); z-index:200; display:none; }
.crm-status-wrap.open .crm-status-dropdown { display:block; }
.crm-status-opt { padding:8px 12px; border-radius:8px; font-size:12px; color:rgba(196,223,230,0.7); cursor:pointer; transition:background 0.12s; }
.crm-status-opt:hover { background:rgba(102,165,173,0.1); color:var(--white); }
.crm-status-opt.selected { font-weight:700; color:var(--white); background:rgba(102,165,173,0.12); }

.crm-club-badge { display:inline-flex; align-items:center; gap:5px; padding:4px 10px; border-radius:100px; font-size:11px; font-weight:700; background:rgba(102,165,173,0.1); border:1px solid rgba(102,165,173,0.2); color:var(--wave); }
.crm-club-none { color:rgba(196,223,230,0.2); font-size:12px; }
.crm-del-btn { width:28px; height:28px; border-radius:8px; border:1px solid rgba(255,77,77,0.18); background:none; color:rgba(255,100,100,0.4); font-size:13px; cursor:pointer; transition:all 0.2s; display:flex; align-items:center; justify-content:center; }
.crm-del-btn:hover { background:rgba(255,77,77,0.1); border-color:rgba(255,77,77,0.4); color:#ff6b6b; }
.crm-empty { padding:60px 20px; text-align:center; color:rgba(196,223,230,0.25); font-size:14px; }
@media (max-width:900px) { .crm-controls { flex-direction:column; align-items:stretch; } .crm-plan-title { max-width:200px; } }

/* ── PRICING EDITOR ── */
.ped-section-label { font-family:'Unbounded',sans-serif; font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--wave); margin-bottom:16px; padding-bottom:10px; border-bottom:1px solid rgba(102,165,173,0.12); }
.ped-cards-row { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.ped-constructor-row { display:flex; gap:16px; align-items:flex-start; }
.ped-card { background:rgba(255,255,255,0.03); border:1px solid rgba(102,165,173,0.12); border-radius:16px; padding:20px; position:relative; }
.ped-card-featured { border-color:rgba(102,165,173,0.3); background:rgba(102,165,173,0.05); }
.ped-card-muted { opacity:0.6; }
.ped-card-badge { position:absolute; top:12px; right:12px; font-size:10px; font-weight:700; background:rgba(102,165,173,0.12); border:1px solid rgba(102,165,173,0.25); color:var(--wave); padding:3px 8px; border-radius:100px; }
.ped-card-icon { font-size:24px; margin-bottom:8px; }
.ped-card-name { font-family:'Unbounded',sans-serif; font-size:13px; font-weight:700; color:var(--foam); margin-bottom:4px; }
.ped-card-desc { font-size:12px; color:rgba(196,223,230,0.4); margin-bottom:16px; line-height:1.5; }
.ped-card-note { font-size:11px; color:rgba(196,223,230,0.25); margin-top:12px; font-style:italic; }
.ped-free-badge { display:inline-block; background:rgba(58,175,115,0.1); border:1px solid rgba(58,175,115,0.25); color:#3aaf73; font-size:13px; font-weight:700; padding:8px 16px; border-radius:10px; margin-top:auto; }
.ped-field { display:flex; flex-direction:column; gap:6px; }
.ped-label { font-size:11px; font-weight:600; color:rgba(196,223,230,0.45); letter-spacing:0.3px; }
.ped-input-wrap { display:flex; align-items:center; background:rgba(102,165,173,0.06); border:1px solid rgba(102,165,173,0.2); border-radius:10px; overflow:hidden; transition:border-color 0.2s; }
.ped-input-wrap:focus-within { border-color:rgba(102,165,173,0.5); }
.ped-input { flex:1; background:transparent; border:none; outline:none; padding:10px 12px; color:var(--foam); font-size:15px; font-weight:700; font-family:'Raleway',sans-serif; width:0; }
.ped-input::-webkit-inner-spin-button { opacity:0.3; }
.ped-currency { padding:10px 12px; font-size:13px; font-weight:700; color:var(--wave); background:rgba(102,165,173,0.06); border-left:1px solid rgba(102,165,173,0.12); }
.ped-two-col { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ped-preview { margin-top:14px; font-size:12px; color:rgba(196,223,230,0.4); background:rgba(102,165,173,0.04); border-radius:8px; padding:8px 12px; }
.ped-preview strong { color:var(--foam); font-size:13px; }
.ped-table { width:100%; }
.ped-table-head { display:grid; grid-template-columns:80px 1fr 1fr 80px; gap:8px; padding:0 8px 10px; border-bottom:1px solid rgba(102,165,173,0.1); }
.ped-table-head span { font-size:10px; font-weight:700; letter-spacing:0.5px; text-transform:uppercase; color:rgba(196,223,230,0.3); }
.ped-table-row { display:grid; grid-template-columns:80px 1fr 1fr 80px; gap:8px; align-items:center; padding:8px; border-radius:8px; transition:background 0.15s; }
.ped-table-row:hover { background:rgba(102,165,173,0.04); }
.ped-table-count { font-family:'Unbounded',sans-serif; font-size:12px; font-weight:700; color:rgba(196,223,230,0.78); }
.ped-table-total { font-size:12px; color:rgba(196,223,230,0.45); font-weight:600; }
.ped-table-disc { font-size:11px; font-weight:700; color:#3aaf73; text-align:right; }
.ped-table-disc.zero { color:rgba(196,223,230,0.25); }
@media (max-width:900px) {
  .ped-cards-row { grid-template-columns:1fr; }
  .ped-constructor-row { flex-direction:column; }
  .ped-constructor-row > .ped-card { flex:none !important; width:100%; }
}

/* ── PACKAGE EDITOR ── */
.pkg-ed-item { background:rgba(255,255,255,0.03); border:1px solid rgba(102,165,173,0.12); border-radius:14px; overflow:hidden; transition:border-color 0.2s; }
.pkg-ed-item.open { border-color:rgba(102,165,173,0.3); }
.pkg-ed-header { display:flex; align-items:center; gap:12px; padding:16px 20px; cursor:pointer; user-select:none; transition:background 0.15s; }
.pkg-ed-header:hover { background:rgba(102,165,173,0.04); }
.pkg-ed-header-icon { font-size:18px; flex-shrink:0; }
.pkg-ed-header-title { font-family:'Unbounded',sans-serif; font-size:13px; font-weight:700; color:var(--foam); flex:1; }
.pkg-ed-header-arrow { font-size:10px; color:var(--wave); transition:transform 0.3s; opacity:0.6; }
.pkg-ed-item.open .pkg-ed-header-arrow { transform:rotate(180deg); opacity:1; }
.pkg-ed-body { display:none; padding:0 20px 20px; }
.pkg-ed-item.open .pkg-ed-body { display:block; }
.pkg-ed-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.pkg-ed-field { display:flex; flex-direction:column; gap:6px; }
.pkg-ed-label { font-size:11px; font-weight:600; color:rgba(196,223,230,0.4); letter-spacing:0.3px; }
.pkg-ed-input { background:rgba(102,165,173,0.06); border:1px solid rgba(102,165,173,0.18); border-radius:10px; padding:10px 14px; color:var(--foam); font-size:14px; font-family:'Raleway',sans-serif; outline:none; transition:border-color 0.2s; width:100%; box-sizing:border-box; }
.pkg-ed-input:focus { border-color:rgba(102,165,173,0.5); }
.pkg-ed-textarea { resize:vertical; min-height:72px; }
.pkg-ed-features-title { font-size:11px; font-weight:600; color:rgba(196,223,230,0.4); letter-spacing:0.3px; margin-bottom:8px; }
.pkg-ed-feature-row { display:flex; gap:8px; align-items:center; margin-bottom:6px; }
.pkg-ed-feature-input { flex:1; background:rgba(102,165,173,0.06); border:1px solid rgba(102,165,173,0.14); border-radius:8px; padding:8px 12px; color:var(--foam); font-size:13px; font-family:'Raleway',sans-serif; outline:none; transition:border-color 0.2s; }
.pkg-ed-feature-input:focus { border-color:rgba(102,165,173,0.45); }
.pkg-ed-del-btn { width:30px; height:30px; border-radius:8px; border:1px solid rgba(255,100,100,0.2); background:none; color:rgba(255,100,100,0.5); font-size:14px; cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:all 0.15s; }
.pkg-ed-del-btn:hover { background:rgba(255,100,100,0.1); border-color:rgba(255,100,100,0.4); color:rgba(255,100,100,0.9); }
.pkg-ed-add-btn { display:flex; align-items:center; gap:6px; background:none; border:1px dashed rgba(102,165,173,0.25); border-radius:8px; padding:7px 14px; color:rgba(196,223,230,0.4); font-size:12px; font-family:'Raleway',sans-serif; font-weight:600; cursor:pointer; transition:all 0.15s; margin-top:4px; }
.pkg-ed-add-btn:hover { border-color:rgba(102,165,173,0.5); color:var(--wave); background:rgba(102,165,173,0.04); }
/* ── IMAGE CROP MODAL ── */
.imgcrop-overlay { position:fixed; inset:0; z-index:4000; background:rgba(0,6,10,0.94); backdrop-filter:blur(20px); display:flex; align-items:center; justify-content:center; padding:16px; opacity:0; pointer-events:none; visibility:hidden; transition:opacity 0.25s ease,visibility 0.25s ease; }
.imgcrop-overlay.active { opacity:1; pointer-events:all; visibility:visible; }
.imgcrop-box { background:#091e24; border:1px solid rgba(102,165,173,0.18); border-radius:20px; width:100%; max-width:480px; animation:tmSlideIn 0.25s ease both; overflow:hidden; }
.imgcrop-header { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid rgba(102,165,173,0.1); font-family:'Unbounded',sans-serif; font-size:14px; font-weight:700; color:#fff; }
.imgcrop-header button { background:rgba(102,165,173,0.1); border:1px solid rgba(102,165,173,0.18); color:var(--foam); width:32px; height:32px; border-radius:50%; cursor:pointer; font-size:15px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.imgcrop-header button:hover { background:rgba(102,165,173,0.25); }
.imgcrop-stage { position:relative; background:#111; aspect-ratio:1/1; user-select:none; touch-action:none; display:block; }
.imgcrop-stage canvas { width:100%; height:100%; display:block; }
.imgcrop-hint { font-size:11px; color:rgba(196,223,230,0.35); text-align:center; padding:10px 20px 4px; margin:0; line-height:1.5; }
.imgcrop-footer { display:flex; gap:10px; padding:14px 20px; border-top:1px solid rgba(102,165,173,0.1); }

/* ── TEACHER SQUARE CARDS ── */
.teacher-sq-card { border-radius:20px; overflow:hidden; background:rgba(255,255,255,0.03); border:1px solid rgba(102,165,173,0.1); display:flex; flex-direction:column; animation:fadeUp 0.5s ease both; transition:border-color 0.3s,box-shadow 0.3s; }
.teacher-sq-card:hover { border-color:rgba(102,165,173,0.25); box-shadow:0 16px 48px rgba(0,0,0,0.35); }
.teacher-sq-photo { aspect-ratio:1/1; position:relative; overflow:hidden; cursor:pointer; background:linear-gradient(135deg,var(--ocean),var(--wave)); display:flex; align-items:center; justify-content:center; }
.teacher-sq-emoji { font-size:56px; opacity:0.5; }
.teacher-sq-footer { padding:12px 14px; display:flex; flex-direction:column; gap:8px; }
.teacher-sq-rating { align-items:center; gap:6px; font-family:'Unbounded',sans-serif; font-size:11px; font-weight:700; color:#C4DFE6; background:rgba(102,165,173,0.07); border:1px solid rgba(102,165,173,0.2); border-radius:8px; padding:6px 10px; }
.teacher-sq-rating span { font-family:'Raleway',sans-serif; font-size:11px; font-weight:500; color:rgba(196,223,230,0.75); }
.teacher-sq-review-btn { width:100%; padding:11px 16px; border-radius:12px; border:1px solid rgba(102,165,173,0.22); background:rgba(102,165,173,0.06); color:var(--foam); font-family:'Raleway',sans-serif; font-size:13px; font-weight:600; cursor:pointer; transition:background 0.2s,border-color 0.2s; }
.teacher-sq-review-btn:hover { background:rgba(102,165,173,0.14); border-color:rgba(102,165,173,0.38); }

/* ── TEACHER VIEW MODAL ── */
.tmModal { position:fixed; inset:0; z-index:2000; background:rgba(0,10,16,0.88); backdrop-filter:blur(18px); display:flex; flex-direction:column; align-items:center; justify-content:flex-start; padding:90px 20px 40px; opacity:0; pointer-events:none; transition:opacity 0.3s ease; overflow-y:auto; }
.tmModal.active { opacity:1; pointer-events:all; }
.tmModal-inner { width:100%; max-width:400px; animation:tmSlideIn 0.35s cubic-bezier(0.25,1,0.5,1) both; position:relative; }
@keyframes tmSlideIn { from{transform:translateY(24px);opacity:0} to{transform:translateY(0);opacity:1} }
.tmModal-photo { width:100%; aspect-ratio:1/1; border-radius:20px 20px 0 0; background:linear-gradient(135deg,var(--ocean),var(--wave)); display:flex; align-items:center; justify-content:center; overflow:hidden; flex-shrink:0; position:relative; }
.tmModal-close { position:absolute; top:12px; right:12px; background:rgba(0,0,0,0.5); border:1px solid rgba(255,255,255,0.2); color:#fff; width:36px; height:36px; border-radius:50%; font-size:15px; cursor:pointer; z-index:10; display:flex; align-items:center; justify-content:center; transition:background 0.2s; backdrop-filter:blur(6px); }
.tmModal-close:hover { background:rgba(0,0,0,0.75); }
.tmModal-panel { background:rgba(9,34,40,0.97); border:1px solid rgba(102,165,173,0.14); border-top:none; border-radius:0 0 20px 20px; padding:22px 22px 24px; }
.tmModal-name { font-family:'Unbounded',sans-serif; font-size:19px; font-weight:800; color:#fff; margin-bottom:12px; }
.tmModal-rating { display:inline-flex; align-items:center; gap:8px; background:rgba(102,165,173,0.08); border:1px solid rgba(102,165,173,0.22); border-radius:10px; padding:8px 14px; margin-bottom:12px; font-family:'Unbounded',sans-serif; font-size:13px; font-weight:800; color:#C4DFE6; letter-spacing:0.3px; }
.tmModal-rating .count { font-family:'Raleway',sans-serif; font-size:12px; font-weight:500; color:rgba(196,223,230,0.45); letter-spacing:0; }
.tmModal-subjects { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.mentor-subject-picker { display:flex; flex-wrap:wrap; gap:8px; min-height:40px; padding:8px; border:1px solid rgba(102,165,173,0.16); border-radius:14px; background:rgba(255,255,255,0.025); }
.mentor-subject-chip { min-height:32px; padding:0 12px; border-radius:100px; border:1px solid rgba(102,165,173,0.22); background:rgba(102,165,173,0.06); color:rgba(196,223,230,0.68); font-family:'Raleway',sans-serif; font-size:12px; font-weight:800; cursor:pointer; -webkit-appearance:none; appearance:none; transition:background .18s,border-color .18s,color .18s,box-shadow .18s; }
.mentor-subject-chip:hover { border-color:rgba(102,165,173,0.45); color:var(--foam); background:rgba(102,165,173,0.1); }
.mentor-subject-chip.active { border-color:rgba(61,214,245,0.45); color:var(--white); background:linear-gradient(135deg,rgba(7,87,91,0.62),rgba(61,214,245,0.14)); box-shadow:0 8px 20px rgba(0,20,24,0.16); }
.mentor-subject-empty { width:100%; padding:4px 2px; color:rgba(196,223,230,0.42); font-size:12px; line-height:1.5; }
.tmModal-uni { font-size:13px; color:var(--wave); margin-bottom:12px; }
.tmModal-uni::before { content:''; display:inline-block; width:14px; height:14px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2366a5ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 10v6M2 10l10-5 10 5-10 5z'/%3E%3Cpath d='M6 12v5c3 3 9 3 12 0v-5'/%3E%3C/svg%3E") center/contain no-repeat; vertical-align:middle; margin-right:4px; }
.tmModal-bio { font-size:14px; color:rgba(196,223,230,0.78); line-height:1.75; margin-bottom:20px; }
.tmModal-btn { width:100%; }
/* Desktop: карточка по центру, фото слева — инфо справа */
@media (min-width:768px) {
  .tmModal {
    justify-content:center;
    align-items:center;
    padding:20px;
    overflow-y:auto;
  }
  .tmModal-inner {
    width:100%;
    max-width:900px;
    display:grid;
    grid-template-columns:420px 1fr;
    grid-template-rows:420px;
    border-radius:24px;
    overflow:hidden;
    animation:tmSlideIn 0.35s cubic-bezier(0.25,1,0.5,1) both;
  }
  .tmModal-photo {
    width:100%;
    height:100%;
    aspect-ratio:unset;
    border-radius:0;
    background-position:top center !important;
    background-size:cover !important;
  }
  .tmModal-close { top:12px; right:12px; }
  .tmModal-panel {
    border:1px solid rgba(102,165,173,0.14);
    border-left:1px solid rgba(102,165,173,0.12);
    border-top:1px solid rgba(102,165,173,0.14);
    border-radius:0;
    overflow-y:auto;
    padding:32px 30px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .tmModal-name { font-size:24px; margin-bottom:14px; }
  .tmModal-rating { font-size:14px; padding:9px 16px; margin-bottom:14px; }
  .tmModal-subjects { margin-bottom:12px; }
  .tmModal-uni { font-size:14px; margin-bottom:14px; }
  .tmModal-bio { font-size:15px; line-height:1.75; margin-bottom:24px; }
  .tmModal-btn { margin-top:auto; }
}

/* Landscape mobile: фото слева — инфо справа (1-в-1 как тарифы) */
@media (orientation:landscape) and (max-height:520px) {
  .tmModal {
    flex-direction:row;
    justify-content:center;
    align-items:flex-start;
    padding:54px 2vw 5px;
    overflow:hidden;
  }
  .tmModal-inner {
    width:96vw;
    height:calc(100svh - 59px);
    max-width:none;
    max-height:none;
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:1fr;
    border-radius:20px;
    overflow:hidden;
  }
  /* Левая колонка: фото без обрезки головы */
  .tmModal-photo {
    width:100%; height:100%;
    aspect-ratio:unset;
    border-radius:0;
    background-position:top center !important;
    background-size:cover !important;
  }
  .tmModal-close { top:10px; right:10px; width:32px; height:32px; font-size:13px; }
  /* Правая колонка: вся информация */
  .tmModal-panel {
    height:100%;
    border:none;
    border-top:none;
    border-left:1px solid rgba(102,165,173,0.12);
    border-radius:0;
    overflow-y:auto;
    padding:20px 24px;
    display:flex; flex-direction:column; justify-content:center;
  }
  .tmModal-name { font-size:17px; margin-bottom:10px; }
  .tmModal-rating { padding:6px 12px; font-size:12px; margin-bottom:10px; }
  .tmModal-subjects { margin-bottom:10px; }
  .tmModal-uni { margin-bottom:10px; font-size:12px; }
  .tmModal-bio { font-size:13px; line-height:1.6; margin-bottom:14px; }
  .tmModal-btn { margin-top:auto; }
  /* Отключаем slideIn-анимацию в landscape — мешает grid-позиционированию */
  .tmModal-inner { animation:none; }
}

/* ── COOKIE BANNER ── */
.cookie-banner { position:fixed; bottom:0; left:0; right:0; z-index:9100; display:flex; align-items:center; gap:16px; padding:14px 24px; background:rgba(0,15,20,0.97); border-top:1px solid rgba(102,165,173,0.18); backdrop-filter:blur(12px); transform:translateY(100%); transition:transform 0.35s cubic-bezier(0.4,0,0.2,1); }
.cookie-banner.visible { transform:translateY(0); }
.cookie-banner.overlay-hidden { display:none!important; }
.cookie-text { flex:1; margin:0; font-size:13px; color:rgba(196,223,230,0.72); line-height:1.55; }
.cookie-link { color:var(--wave); text-decoration:underline; text-underline-offset:2px; }
.cookie-link:hover { color:var(--foam); }
.cookie-accept { flex-shrink:0; background:linear-gradient(135deg,var(--ocean),var(--wave)); color:#fff; border:none; border-radius:100px; padding:10px 26px; font-size:13px; font-family:'Raleway',sans-serif; font-weight:700; cursor:pointer; transition:opacity 0.2s,transform 0.2s; white-space:nowrap; }
.cookie-accept:hover { opacity:0.88; transform:translateY(-1px); }
@media(max-width:600px) { .cookie-banner { flex-direction:column; align-items:flex-start; gap:12px; padding:16px 18px; } .cookie-accept { width:100%; text-align:center; padding:12px; } }

/* ── ADMIN MENTOR CARD GRID ── */
.mentor-admin-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; }
.mentor-admin-card { background:rgba(255,255,255,0.03); border:1px solid rgba(102,165,173,0.1); border-radius:16px; overflow:hidden; display:flex; flex-direction:column; transition:border-color 0.2s; }
.mentor-admin-card:hover { border-color:rgba(102,165,173,0.22); }
.mentor-admin-photo { width:100%; aspect-ratio:1/1; background:linear-gradient(135deg,rgba(102,165,173,0.1),rgba(9,52,60,0.4)); display:flex; align-items:center; justify-content:center; }
.mentor-admin-info { padding:14px 16px; flex:1; }
.mentor-admin-name { font-family:'Unbounded',sans-serif; font-size:13px; font-weight:800; color:#fff; margin-bottom:4px; }
.mentor-admin-subj { font-size:11px; color:var(--wave); margin-bottom:2px; }
.mentor-admin-uni { font-size:11px; color:rgba(196,223,230,0.4); margin-bottom:4px; }
.mentor-admin-stats { font-size:10px; color:rgba(196,223,230,0.3); }
.mentor-admin-actions { display:flex; gap:8px; padding:10px 14px; border-top:1px solid rgba(102,165,173,0.08); }
.mentor-admin-actions .admin-action-btn { flex:1; }

/* ── MENTOR EDIT MODAL (admin) ── */
.mentor-modal-overlay { position:fixed; inset:0; z-index:3000; background:rgba(0,10,16,0.82); backdrop-filter:blur(14px); display:flex; align-items:center; justify-content:center; padding:20px; opacity:0; pointer-events:none; visibility:hidden; transition:opacity 0.3s ease,visibility 0.3s ease; }
.mentor-modal-overlay.active { opacity:1; pointer-events:all; visibility:visible; }
.mentor-modal-box { background:#091e24; border:1px solid rgba(102,165,173,0.18); border-radius:20px; width:100%; max-width:580px; max-height:92vh; overflow-y:auto; animation:tmSlideIn 0.3s ease both; }
.mentor-modal-header { display:flex; align-items:center; justify-content:space-between; padding:18px 22px; border-bottom:1px solid rgba(102,165,173,0.1); font-family:'Unbounded',sans-serif; font-size:15px; font-weight:700; color:#fff; }
.mentor-modal-header button { background:rgba(102,165,173,0.1); border:1px solid rgba(102,165,173,0.2); color:var(--foam); width:30px; height:30px; border-radius:50%; cursor:pointer; font-size:14px; display:flex; align-items:center; justify-content:center; }
.mentor-modal-body { display:flex; gap:22px; padding:22px; }
.mentor-modal-img-section { flex-shrink:0; width:130px; }
.mentor-modal-photo { width:130px; height:130px; border-radius:14px; background:rgba(102,165,173,0.06); border:2px dashed rgba(102,165,173,0.22); display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--wave); font-size:13px; font-weight:600; overflow:hidden; transition:border-color 0.2s; }
.mentor-modal-photo:hover { border-color:rgba(102,165,173,0.5); }
.mentor-modal-fields { flex:1; display:flex; flex-direction:column; gap:10px; }
.mentor-modal-footer { display:flex; align-items:center; gap:12px; padding:14px 22px; border-top:1px solid rgba(102,165,173,0.1); flex-wrap:wrap; }
@media (max-width:560px) {
  .mentor-modal-body { flex-direction:column; }
  .mentor-modal-img-section { width:100%; display:flex; align-items:center; gap:16px; }
  .mentor-modal-photo { width:90px; height:90px; flex-shrink:0; }
}

/* ── MENTOR PHOTOS GRID (admin modal) ── */
.mentor-photos-grid { display:flex; flex-wrap:wrap; gap:8px; }
.mentor-photo-thumb { position:relative; width:58px; height:58px; border-radius:10px; overflow:hidden; border:1px solid rgba(102,165,173,0.22); }
.mentor-photo-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.mentor-photo-remove { position:absolute; top:2px; right:2px; width:18px; height:18px; border-radius:50%; background:rgba(0,0,0,0.6); border:none; color:#fff; font-size:10px; cursor:pointer; display:flex; align-items:center; justify-content:center; line-height:1; padding:0; }
.mentor-photo-remove:hover { background:rgba(200,60,60,0.85); }
.mentor-photo-thumb.is-main { border-color:rgba(255,200,50,0.6); }
.mentor-photo-pin-badge { position:absolute; bottom:2px; left:2px; width:18px; height:18px; border-radius:50%; background:rgba(255,180,0,0.9); color:#fff; font-size:10px; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.mentor-photo-pin { position:absolute; bottom:2px; left:2px; width:18px; height:18px; border-radius:50%; background:rgba(0,0,0,0.5); border:none; color:rgba(255,255,255,0.5); font-size:10px; cursor:pointer; display:flex; align-items:center; justify-content:center; line-height:1; padding:0; transition:background 0.15s,color 0.15s; }
.mentor-photo-pin:hover { background:rgba(255,180,0,0.85); color:#fff; }
.mentor-photo-add { width:58px; height:58px; border-radius:10px; border:2px dashed rgba(102,165,173,0.3); display:flex; align-items:center; justify-content:center; font-size:24px; color:rgba(102,165,173,0.5); cursor:pointer; transition:border-color 0.2s,color 0.2s; }
.mentor-photo-add:hover { border-color:rgba(102,165,173,0.7); color:rgba(102,165,173,0.9); }

/* ── MENTOR CARD PHOTO ARROWS & DOTS ── */
.mentor-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:10; background:rgba(0,10,16,0.55); border:none; color:#fff; font-size:22px; line-height:1; width:28px; height:44px; cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0; transition:background 0.15s; }
.mentor-arrow:hover { background:rgba(0,10,16,0.8); }
.mentor-arrow-l { left:0; border-radius:0 6px 6px 0; }
.mentor-arrow-r { right:0; border-radius:6px 0 0 6px; }
.mentor-dots { position:absolute; bottom:7px; left:50%; transform:translateX(-50%); display:flex; gap:4px; }
.mentor-dot { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,0.35); transition:background 0.2s; }
.mentor-dot.active { background:#fff; }

/* ─── SVG Icon System ─── */
.ic{display:inline-block;vertical-align:middle;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.about-pill-icon{color:#66a5ad}
.quality-icon{color:#66a5ad;display:flex;align-items:center}
.quality-badge{gap:5px;display:inline-flex;align-items:center}
.wiz-subj-icon{color:#66a5ad;display:flex;align-items:center;justify-content:center}
.wiz-club-icon{color:#66a5ad;display:flex;align-items:center;justify-content:center}
.dash-kpi-icon{color:#66a5ad;display:flex;align-items:center;justify-content:center}
.card-icon{color:#66a5ad;display:flex;align-items:center;justify-content:center}
.ped-card-icon{color:#66a5ad;display:flex;align-items:center;justify-content:flex-start}

/* ── FLOATING CONTACT WIDGET ── */
.float-contact{position:fixed;bottom:28px;right:28px;z-index:9000;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none}
.float-contact.visible{pointer-events:all}
.float-contact-link{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,0,0,0.45);text-decoration:none;opacity:0;transform:translateY(8px) scale(0.85);transition:opacity 0.25s,transform 0.25s;overflow:hidden;padding:0}
.float-contact.visible .float-contact-link{opacity:1;transform:translateY(0) scale(1)}
.float-contact.visible .float-contact-link:nth-child(2){transition-delay:0.06s}
.float-contact-link:hover{transform:scale(1.1)!important;box-shadow:0 6px 24px rgba(0,0,0,0.5)}
.float-contact-link img{width:52px;height:52px;object-fit:cover;display:block;border-radius:0}
@media(max-width:620px){.float-contact{bottom:16px;right:16px}.float-contact-link{width:46px;height:46px}.float-contact-link img{width:46px;height:46px}}

/* ── CRM DATE FILTER ── */
.crm-date-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.crm-date-tab{display:inline-flex;align-items:center;padding:5px 12px;border-radius:100px;border:1px solid rgba(102,165,173,0.18);background:none;color:rgba(196,223,230,0.6);font-size:11px;font-family:'Raleway',sans-serif;font-weight:600;cursor:pointer;transition:all 0.2s;letter-spacing:0.2px;line-height:1.4;-webkit-appearance:none}
.crm-date-tab:hover{border-color:rgba(102,165,173,0.35);color:var(--foam)}
.crm-date-tab.active{background:rgba(58,175,115,0.12);border-color:rgba(58,175,115,0.4);color:#3aaf73}
