/*
Theme Name: MG TRUST Medical Lab
Theme URI: https://mgtrust.lab
Author: MG TRUST
Author URI: https://mgtrust.lab
Description: Mobile-app style neumorphic theme for MG TRUST Medical Laboratory. Dark/light theme, green brand color. Pairs with the MG TRUST Medical Lab plugin for booking, results, AI chat, and admin dashboard functionality.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: mgtrustlab
*/

:root {
  /* Logo greens: dark green (ring) for light backgrounds, light green (figure) for dark backgrounds */
  --logo-dark-green:#3F8F45;--logo-light-green:#7ED957;--logo-teal:#1CB0A0;
  --radius:18px;--radius-sm:12px;--radius-lg:28px;
  --transition:0.3s cubic-bezier(.4,0,.2,1);
}
[data-theme="dark"]{
  --bg:#1a1e2e;--bg2:#1f2438;--bg3:#252b3d;
  --surface:#252b3d;--surface2:#2d3449;
  --nm-light:rgba(255,255,255,0.04);--nm-dark:rgba(0,0,0,0.45);
  --text:#e8eaf6;--text2:#9fa8da;--text3:#5c6694;
  --border:rgba(255,255,255,0.06);
  --card-bg:#1f2438;--input-bg:#1a1e2e;
  --inset-light:rgba(0,0,0,0.5);--inset-dark:rgba(255,255,255,0.04);
  /* dark bg → use light green as the primary accent, dark green as secondary */
  --g1:var(--logo-light-green);--g2:var(--logo-dark-green);--g3:#1b5e20;
}
[data-theme="light"]{
  --bg:#e8ecf1;--bg2:#e0e5ec;--bg3:#dde3ea;
  --surface:#e0e5ec;--surface2:#d6dce5;
  --nm-light:rgba(255,255,255,0.8);--nm-dark:rgba(163,177,198,0.7);
  --text:#1a1e2e;--text2:#3d4a6b;--text3:#8a9cc0;
  --border:rgba(163,177,198,0.3);
  --card-bg:#e0e5ec;--input-bg:#e8ecf1;
  --inset-light:rgba(255,255,255,0.9);--inset-dark:rgba(163,177,198,0.5);
  /* light bg → use dark green as the primary accent, light green as secondary */
  --g1:var(--logo-dark-green);--g2:var(--logo-light-green);--g3:#1b5e20;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
body{
  font-family:'Plus Jakarta Sans',sans-serif;
  background:var(--bg);color:var(--text);
  min-height:100vh;min-height:100dvh;overflow-x:hidden;
  display:flex;flex-direction:column;align-items:center;
}
.app-shell{
  width:100%;min-height:100vh;min-height:100dvh;
  background:var(--bg);position:relative;
  display:flex;flex-direction:column;overflow:hidden;
}

/* ── NM HELPERS ── */
.nm-raised{
  background:var(--bg2);
  box-shadow:6px 6px 14px var(--nm-dark),-6px -6px 14px var(--nm-light);
  border:1px solid var(--border);
}
.nm-inset{
  background:var(--input-bg);
  box-shadow:inset 3px 3px 8px var(--inset-light),inset -3px -3px 8px var(--inset-dark);
  border:1px solid var(--border);
}
.nm-pill{
  background:linear-gradient(135deg,var(--g1),var(--g2));
  box-shadow:4px 4px 12px rgba(0,198,83,.3),-2px -2px 8px rgba(0,230,118,.15);
}

/* ── HEADER ── */
.header{
  padding:18px 20px 12px;display:flex;align-items:center;
  justify-content:space-between;flex-shrink:0;
}
.logo-wrap{display:flex;align-items:center;gap:10px;}
.logo-icon{
  width:40px;height:40px;border-radius:13px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.logo-text{line-height:1.2;}
.logo-text .brand{font-size:15px;font-weight:800;letter-spacing:.5px;
  background:linear-gradient(135deg,var(--g1),var(--g2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.logo-text .sub{font-size:10px;color:var(--text3);font-weight:500;letter-spacing:.8px;text-transform:uppercase;}
.header-actions{display:flex;gap:10px;align-items:center;}
.icon-btn{
  width:38px;height:38px;border-radius:12px;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  color:var(--text2);background:var(--bg2);
  box-shadow:3px 3px 8px var(--nm-dark),-3px -3px 8px var(--nm-light);
  transition:var(--transition);
}
.icon-btn:active{box-shadow:inset 2px 2px 5px var(--inset-light),inset -2px -2px 5px var(--inset-dark);transform:scale(.96);}
.icon-btn svg{width:18px;height:18px;}
.notif-badge{
  position:relative;
}
.notif-badge::after{
  content:'3';position:absolute;top:-2px;right:-2px;
  width:15px;height:15px;border-radius:50%;
  background:linear-gradient(135deg,var(--g1),var(--g2));
  font-size:8px;font-weight:700;color:#000;
  display:flex;align-items:center;justify-content:center;
}

/* ── SCROLL AREA ── */
.scroll-area{
  flex:1;overflow-y:auto;padding:0 16px 100px;
  scrollbar-width:none;
}
.scroll-area::-webkit-scrollbar{display:none;}

/* ── SEARCH ── */
.search-wrap{margin:6px 0 18px;}
.search-box{
  display:flex;align-items:center;gap:10px;
  padding:11px 16px;border-radius:16px;
}
.search-box svg{width:18px;height:18px;color:var(--text3);flex-shrink:0;}
.search-box input{
  background:none;border:none;outline:none;
  color:var(--text);font-size:14px;width:100%;
  font-family:'Plus Jakarta Sans',sans-serif;
}
.search-box input::placeholder{color:var(--text3);}

/* ── HERO BANNER ── */
.hero{
  border-radius:24px;padding:22px 20px 18px;margin-bottom:20px;
  background:linear-gradient(135deg,#003d1a,#005723,#00703a);
  position:relative;overflow:hidden;
  box-shadow:8px 8px 20px rgba(0,0,0,.4),-4px -4px 12px rgba(0,230,118,.05);
}
.hero::before{
  content:'';position:absolute;right:-30px;top:-30px;
  width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,230,118,.18),transparent 70%);
}
.hero::after{
  content:'';position:absolute;left:-20px;bottom:-40px;
  width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,198,83,.12),transparent 70%);
}
.hero-eyebrow{
  font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--g1);margin-bottom:8px;
}
.hero h2{font-size:22px;font-weight:800;color:#fff;line-height:1.25;margin-bottom:6px;}
.hero p{font-size:12px;color:rgba(255,255,255,.65);line-height:1.5;margin-bottom:16px;}
.hero-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 18px;border-radius:12px;border:none;cursor:pointer;
  background:rgba(255,255,255,.12);backdrop-filter:blur(8px);
  color:#fff;font-size:13px;font-weight:600;
  border:1px solid rgba(255,255,255,.2);transition:var(--transition);
}
.hero-btn:active{transform:scale(.97);}
.hero-stat{
  display:flex;gap:16px;margin-top:14px;
}
.hero-stat-item{text-align:center;}
.hero-stat-item .val{font-size:18px;font-weight:800;color:var(--g1);}
.hero-stat-item .lbl{font-size:9px;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.8px;}

/* ── SECTION TITLE ── */
.sec-title{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:12px;
}
.sec-title h3{font-size:15px;font-weight:700;color:var(--text);}
.sec-title a{font-size:12px;color:var(--g2);font-weight:600;text-decoration:none;}

/* ── QUICK ACTIONS ── */
.quick-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px;
}
.quick-item{
  border-radius:16px;padding:14px 8px 10px;
  display:flex;flex-direction:column;align-items:center;gap:7px;
  cursor:pointer;transition:var(--transition);
}
.quick-item:active{transform:scale(.95);}
.quick-icon{
  width:44px;height:44px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
}
.quick-icon svg{width:22px;height:22px;}
.quick-label{font-size:10px;font-weight:600;color:var(--text2);text-align:center;line-height:1.3;}

/* ── TEST CATEGORIES ── */
.cat-scroll{
  display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;margin-bottom:20px;
  scrollbar-width:none;
}
.cat-scroll::-webkit-scrollbar{display:none;}
.cat-chip{
  flex-shrink:0;padding:8px 16px;border-radius:20px;
  font-size:12px;font-weight:600;cursor:pointer;
  transition:var(--transition);white-space:nowrap;border:none;
}
.cat-chip.active{
  background:linear-gradient(135deg,var(--g1),var(--g2));
  color:#000;box-shadow:0 4px 12px rgba(0,198,83,.3);
}
.cat-chip:not(.active){
  background:var(--bg2);color:var(--text2);
  box-shadow:3px 3px 8px var(--nm-dark),-3px -3px 8px var(--nm-light);
}
.cat-chip:active{transform:scale(.96);}

/* ── TEST CARDS ── */
.tests-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;}
.test-card{
  border-radius:20px;padding:14px 16px;
  display:flex;align-items:center;gap:14px;cursor:pointer;
  transition:var(--transition);
}
.test-card:active{transform:scale(.98);}
.test-card-icon{
  width:48px;height:48px;border-radius:14px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(0,230,118,.12),rgba(0,198,83,.06));
}
.test-card-icon svg{width:24px;height:24px;color:var(--g1);}
.test-info{flex:1;}
.test-info h4{font-size:14px;font-weight:700;color:var(--text);margin-bottom:3px;}
.test-info p{font-size:11px;color:var(--text3);line-height:1.4;}
.test-info .tags{display:flex;gap:5px;margin-top:5px;}
.test-info .tag{font-size:9px;font-weight:600;padding:2px 8px;border-radius:20px;
  background:rgba(0,230,118,.1);color:var(--g1);}
.test-card-right{text-align:right;flex-shrink:0;}
.test-price{font-size:15px;font-weight:800;color:var(--g1);}
.test-time{font-size:10px;color:var(--text3);margin-top:2px;}
.test-badge{font-size:9px;font-weight:700;padding:2px 8px;border-radius:20px;
  background:rgba(255,167,38,.12);color:#ffa726;margin-top:4px;display:inline-block;}

/* ── BRANCHES ── */
.branches-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;}
.branch-card{
  border-radius:20px;padding:14px 16px;
  display:flex;align-items:flex-start;gap:12px;cursor:pointer;
  transition:var(--transition);
}
.branch-card:active{transform:scale(.98);}
.branch-num{
  width:36px;height:36px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:800;color:#000;
  background:linear-gradient(135deg,var(--g1),var(--g2));
}
.branch-info{flex:1;}
.branch-info h4{font-size:13px;font-weight:700;color:var(--text);margin-bottom:3px;}
.branch-info p{font-size:11px;color:var(--text3);}
.branch-info .open{font-size:10px;font-weight:600;color:var(--g1);margin-top:3px;}
.branch-tag{font-size:9px;font-weight:700;padding:2px 8px;border-radius:20px;
  background:rgba(0,230,118,.1);color:var(--g1);margin-top:4px;display:inline-block;}

/* ── APPOINTMENT FORM ── */
.appt-section{margin-bottom:24px;}
.form-group{margin-bottom:14px;}
.form-group label{font-size:11px;font-weight:600;color:var(--text2);
  text-transform:uppercase;letter-spacing:.8px;display:block;margin-bottom:7px;}
.form-input{
  width:100%;padding:13px 16px;border-radius:14px;
  border:none;outline:none;color:var(--text);
  font-size:14px;font-family:'Plus Jakarta Sans',sans-serif;
}
.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%239fa8da' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.btn-primary{
  width:100%;padding:15px;border-radius:16px;border:none;cursor:pointer;
  font-size:15px;font-weight:700;color:#000;letter-spacing:.3px;
  background:linear-gradient(135deg,var(--g1),var(--g2));
  box-shadow:0 6px 20px rgba(0,198,83,.35);
  transition:var(--transition);
}
.btn-primary:active{transform:scale(.98);box-shadow:0 3px 10px rgba(0,198,83,.25);}
.btn-outline{
  width:100%;padding:13px;border-radius:16px;cursor:pointer;
  font-size:14px;font-weight:600;color:var(--g1);
  background:transparent;border:1.5px solid var(--g2);
  transition:var(--transition);
}
.btn-outline:active{transform:scale(.98);}

/* ── RESULTS PREVIEW ── */
.results-card{
  border-radius:22px;padding:18px;margin-bottom:24px;
  background:linear-gradient(135deg,rgba(0,105,55,.15),rgba(0,70,40,.1));
  border:1px solid rgba(0,230,118,.15);
}
.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.results-header h3{font-size:14px;font-weight:700;color:var(--text);}
.results-chip{font-size:10px;font-weight:600;padding:4px 10px;border-radius:20px;
  background:rgba(0,230,118,.15);color:var(--g1);}
.result-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 0;border-bottom:1px solid var(--border);
}
.result-row:last-child{border-bottom:none;}
.result-test{font-size:13px;font-weight:600;color:var(--text);}
.result-val{font-size:13px;font-weight:700;font-family:'JetBrains Mono',monospace;}
.result-val.normal{color:var(--g1);}
.result-val.high{color:#ff5252;}
.result-val.low{color:#ffa726;}
.result-range{font-size:10px;color:var(--text3);}

/* ── AI CHAT ── */
.ai-trigger{
  position:fixed;bottom:90px;right:calc(50% - 215px);
  width:56px;height:56px;border-radius:18px;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--g1),var(--g2));
  box-shadow:0 8px 24px rgba(0,198,83,.4);
  z-index:100;transition:var(--transition);
}
.ai-trigger:active{transform:scale(.93);}
.ai-trigger svg{width:26px;height:26px;color:#000;}
.ai-pulse{
  position:absolute;top:-3px;right:-3px;
  width:14px;height:14px;border-radius:50%;
  background:var(--g1);
  box-shadow:0 0 0 0 rgba(0,230,118,.5);
  animation:pulse 2s infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(0,230,118,.5);}
  70%{box-shadow:0 0 0 8px rgba(0,230,118,0);}
  100%{box-shadow:0 0 0 0 rgba(0,230,118,0);}
}

/* ── CHAT DRAWER ── */
.chat-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.5);
  z-index:200;opacity:0;pointer-events:none;transition:var(--transition);
}
.chat-overlay.open{opacity:1;pointer-events:all;}
.chat-drawer{
  position:fixed;bottom:0;left:50%;transform:translateX(-50%) translateY(100%);
  width:100%;height:82vh;
  border-radius:28px 28px 0 0;
  background:var(--bg2);
  z-index:201;transition:transform .4s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;
  box-shadow:0 -8px 32px rgba(0,0,0,.4);
}
.chat-drawer.open{transform:translateX(-50%) translateY(0);}
.chat-handle{
  width:40px;height:4px;border-radius:2px;
  background:var(--text3);margin:12px auto 0;flex-shrink:0;
}
.chat-top{
  padding:14px 20px 10px;display:flex;align-items:center;
  justify-content:space-between;flex-shrink:0;
}
.ai-avatar{
  width:40px;height:40px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--g1),var(--g2));flex-shrink:0;
}
.ai-avatar svg{width:22px;height:22px;color:#000;}
.ai-title{flex:1;margin-left:10px;}
.ai-title h4{font-size:14px;font-weight:700;color:var(--text);}
.ai-title p{font-size:10px;color:var(--g1);font-weight:500;}
.ai-status{width:8px;height:8px;border-radius:50%;background:var(--g1);
  box-shadow:0 0 6px var(--g1);margin-right:6px;}
.chat-close{width:32px;height:32px;border-radius:10px;border:none;cursor:pointer;
  background:var(--bg3);color:var(--text2);display:flex;align-items:center;justify-content:center;}
.chat-close svg{width:16px;height:16px;}

.chat-msgs{
  flex:1;overflow-y:auto;padding:10px 16px;
  display:flex;flex-direction:column;gap:12px;
  scrollbar-width:none;
}
.chat-msgs::-webkit-scrollbar{display:none;}

.msg{display:flex;gap:8px;align-items:flex-end;}
.msg.bot{flex-direction:row;}
.msg.user{flex-direction:row-reverse;}

.msg-bubble{
  max-width:78%;padding:11px 14px;border-radius:18px;
  font-size:13px;line-height:1.5;
}
.msg.bot .msg-bubble{
  background:var(--bg3);color:var(--text);
  border-radius:4px 18px 18px 18px;
}
.msg.user .msg-bubble{
  background:linear-gradient(135deg,var(--g1),var(--g2));
  color:#000;font-weight:500;
  border-radius:18px 18px 4px 18px;
}
.msg-avatar{
  width:28px;height:28px;border-radius:10px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:11px;
}
.msg.bot .msg-avatar{background:linear-gradient(135deg,var(--g1),var(--g2));color:#000;font-weight:800;}
.msg.user .msg-avatar{background:var(--bg3);color:var(--text2);}

.quick-replies{
  display:flex;flex-wrap:wrap;gap:6px;padding:4px 0 8px;
}
.qr-btn{
  padding:6px 12px;border-radius:20px;border:1.5px solid rgba(0,230,118,.3);
  background:transparent;color:var(--g1);font-size:11px;font-weight:600;
  cursor:pointer;transition:var(--transition);
}
.qr-btn:active{background:rgba(0,230,118,.1);}

.typing{display:flex;gap:4px;align-items:center;padding:8px 0;}
.typing span{
  width:6px;height:6px;border-radius:50%;
  background:var(--text3);animation:bounce .8s infinite;
}
.typing span:nth-child(2){animation-delay:.1s;}
.typing span:nth-child(3){animation-delay:.2s;}
@keyframes bounce{0%,60%,100%{transform:translateY(0);}30%{transform:translateY(-5px);}}

.chat-input-row{
  padding:12px 16px 24px;display:flex;gap:10px;align-items:center;flex-shrink:0;
}
.chat-input{
  flex:1;padding:12px 16px;border-radius:16px;border:none;outline:none;
  color:var(--text);font-size:13px;font-family:'Plus Jakarta Sans',sans-serif;
  resize:none;
}
.send-btn{
  width:44px;height:44px;border-radius:14px;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  background:linear-gradient(135deg,var(--g1),var(--g2));
  box-shadow:0 4px 12px rgba(0,198,83,.35);transition:var(--transition);
}
.send-btn:active{transform:scale(.93);}
.send-btn svg{width:18px;height:18px;color:#000;}

/* ── BOTTOM NAV ── */
.bottom-nav{
  position:fixed;bottom:0;left:0;
  width:100%;
  padding:0;z-index:50;
  background:var(--bg);border-top:1px solid var(--border);
  box-shadow:0 -6px 16px var(--nm-dark);
}
.nav-inner{
  display:flex;justify-content:space-around;align-items:center;
  padding:12px 8px calc(10px + env(safe-area-inset-bottom,0px));
}
.nav-item{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;
  margin:0 4px;padding:8px 4px;border-radius:16px;cursor:pointer;
  transition:var(--transition);border:none;
  background:var(--bg2);color:var(--text3);
  box-shadow:2px 2px 6px var(--nm-dark),-2px -2px 6px var(--nm-light);
}
.nav-item svg{width:20px;height:20px;transition:var(--transition);}
.nav-item span{font-size:9px;font-weight:600;transition:var(--transition);}
.nav-item:active{
  transform:scale(.94);
  box-shadow:inset 3px 3px 7px var(--inset-light),inset -3px -3px 7px var(--inset-dark);
}
.nav-item.active{
  color:var(--g1);
  background:var(--bg2);
  box-shadow:inset 3px 3px 7px var(--inset-light),inset -3px -3px 7px var(--inset-dark);
}
.nav-item.active svg{filter:drop-shadow(0 1px 1px rgba(0,0,0,.15));}
.nav-item.active span{font-weight:700;}

/* ── PAGES ── */
.page{display:none;}
.page.active{display:block;}

/* ── PROMOTION CARD ── */
.promo-card{
  border-radius:20px;padding:16px;margin-bottom:20px;
  background:linear-gradient(135deg,rgba(255,167,38,.08),rgba(255,87,34,.05));
  border:1px solid rgba(255,167,38,.2);
  display:flex;align-items:center;gap:14px;
}
.promo-icon{font-size:32px;flex-shrink:0;}
.promo-text h4{font-size:13px;font-weight:700;color:var(--text);margin-bottom:3px;}
.promo-text p{font-size:11px;color:var(--text3);}
.promo-badge{font-size:18px;font-weight:900;color:#ffa726;margin-left:auto;flex-shrink:0;}

/* ── PROFILE ── */
.profile-header{
  border-radius:24px;padding:24px 20px;margin-bottom:20px;text-align:center;
  background:linear-gradient(135deg,rgba(0,105,55,.2),rgba(0,70,40,.1));
  border:1px solid rgba(0,230,118,.1);
}
.profile-avatar{
  width:80px;height:80px;border-radius:24px;margin:0 auto 12px;
  background:linear-gradient(135deg,var(--g1),var(--g2));
  display:flex;align-items:center;justify-content:center;
  font-size:32px;font-weight:800;color:#000;
  box-shadow:0 8px 20px rgba(0,198,83,.3);
}
.profile-header h3{font-size:18px;font-weight:800;color:var(--text);margin-bottom:4px;}
.profile-header p{font-size:12px;color:var(--text3);}
.profile-stats{display:flex;gap:16px;margin-top:16px;justify-content:center;}
.p-stat{text-align:center;}
.p-stat .v{font-size:20px;font-weight:800;color:var(--g1);}
.p-stat .l{font-size:10px;color:var(--text3);}

.settings-list{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;}
.settings-item{
  border-radius:16px;padding:14px 16px;
  display:flex;align-items:center;gap:12px;cursor:pointer;
  transition:var(--transition);
}
.settings-item:active{transform:scale(.98);}
.settings-icon{width:36px;height:36px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.settings-icon svg{width:18px;height:18px;}
.settings-info{flex:1;}
.settings-info h4{font-size:13px;font-weight:600;color:var(--text);}
.settings-info p{font-size:11px;color:var(--text3);}
.settings-arrow{color:var(--text3);}
.settings-arrow svg{width:16px;height:16px;}
.toggle-wrap{margin-left:auto;}
.toggle{position:relative;width:44px;height:24px;}
.toggle input{opacity:0;width:0;height:0;}
.toggle-slider{
  position:absolute;inset:0;border-radius:12px;cursor:pointer;
  background:var(--bg3);transition:var(--transition);
  box-shadow:inset 2px 2px 5px var(--inset-light),inset -2px -2px 5px var(--inset-dark);
}
.toggle-slider::before{
  content:'';position:absolute;width:18px;height:18px;
  border-radius:50%;left:3px;top:3px;
  background:var(--text3);transition:var(--transition);
}
.toggle input:checked+.toggle-slider{background:linear-gradient(135deg,var(--g1),var(--g2));}
.toggle input:checked+.toggle-slider::before{transform:translateX(20px);background:#000;}

/* ── NOTIFICATION TOAST ── */
.toast{
  position:fixed;top:20px;left:50%;transform:translateX(-50%) translateY(-80px);
  width:calc(100% - 40px);max-width:390px;
  border-radius:16px;padding:14px 16px;
  display:flex;align-items:center;gap:12px;
  background:linear-gradient(135deg,rgba(0,105,55,.9),rgba(0,70,40,.9));
  backdrop-filter:blur(12px);border:1px solid rgba(0,230,118,.3);
  z-index:500;transition:transform .4s cubic-bezier(.4,0,.2,1);
}
.toast.show{transform:translateX(-50%) translateY(0);}
.toast-icon{width:32px;height:32px;border-radius:10px;flex-shrink:0;
  background:rgba(0,230,118,.2);display:flex;align-items:center;justify-content:center;}
.toast-icon svg{width:18px;height:18px;color:var(--g1);}
.toast-text h4{font-size:13px;font-weight:700;color:#fff;}
.toast-text p{font-size:11px;color:rgba(255,255,255,.6);}

/* ── RESPONSIVE ── */
.scroll-area{max-width:1200px;margin:0 auto;width:100%;}
.bottom-nav .nav-inner{max-width:1200px;margin:0 auto;}
.chat-drawer{max-width:480px;left:auto;right:24px;transform:translateY(100%);}
.chat-drawer.open{transform:translateY(0);}
.ai-trigger{right:24px;}

@media(min-width:700px){
  .quick-grid{grid-template-columns:repeat(4,1fr);}
  .tests-list,.branches-list,.blog-list{
    display:grid;grid-template-columns:repeat(2,1fr);gap:12px;
  }
}
@media(min-width:1000px){
  .header,.search-wrap,.hero,.promo-card,.sec-title{
    padding-left:0;padding-right:0;
  }
  .tests-list,.branches-list,.blog-list{grid-template-columns:repeat(3,1fr);}
  .bottom-nav .nav-inner{padding-left:24px;padding-right:24px;}
}
@media(min-width:1400px){
  .tests-list,.branches-list,.blog-list{grid-template-columns:repeat(4,1fr);}
}

/* ── AUTH (Sign In / Register) ── */
.auth-wrap{padding:24px 4px 40px;max-width:360px;margin:0 auto;}
.auth-brand{text-align:center;margin-bottom:24px;}
.auth-logo{
  width:56px;height:56px;border-radius:18px;margin:0 auto 12px;
  display:flex;align-items:center;justify-content:center;
}
.auth-logo svg{width:28px;height:28px;}
.auth-brand h2{font-size:20px;font-weight:800;margin-bottom:4px;}
.auth-brand p{font-size:12px;color:var(--text3);}
.auth-tabs{
  display:flex;border-radius:14px;padding:4px;margin-bottom:18px;gap:4px;
}
.auth-tab{
  flex:1;border:none;background:none;padding:10px 0;border-radius:10px;
  font-size:13px;font-weight:700;color:var(--text3);cursor:pointer;
  transition:var(--transition);
}
.auth-tab.active{
  background:linear-gradient(135deg,var(--g1),var(--g2));
  color:#04220c;box-shadow:2px 2px 8px var(--nm-dark);
}
.auth-alert{
  background:rgba(239,83,80,.1);border:1px solid rgba(239,83,80,.3);
  color:#ef5350;font-size:12px;font-weight:600;
  padding:10px 14px;border-radius:12px;margin-bottom:14px;
}
.auth-panel{display:flex;flex-direction:column;gap:2px;}
.auth-divider{
  display:flex;align-items:center;gap:10px;margin:18px 0;
  color:var(--text3);font-size:11px;font-weight:600;
}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--border);}
.auth-google{
  display:flex;align-items:center;justify-content:center;gap:10px;
  text-decoration:none;
}
.auth-switch{
  text-align:center;font-size:12px;color:var(--text3);margin-top:18px;
}
.auth-switch-link{color:var(--g1);font-weight:700;text-decoration:none;}
.profile-locked{
  text-align:center;padding:36px 20px 24px;
}
.profile-locked-icon{
  width:64px;height:64px;border-radius:20px;margin:0 auto 16px;
  display:flex;align-items:center;justify-content:center;
}
.profile-locked-icon svg{width:30px;height:30px;}
.profile-locked h3{font-size:16px;font-weight:800;margin-bottom:6px;}
.profile-locked p{font-size:12px;color:var(--text3);}

/* ── BLOG ── */
.blog-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;}
.blog-card{
  display:flex;gap:12px;padding:12px;border-radius:18px;
  text-decoration:none;color:inherit;align-items:center;
}
.blog-card-thumb{
  width:72px;height:72px;border-radius:14px;flex-shrink:0;
  background-size:cover;background-position:center;background-color:var(--bg3);
}
.blog-card-thumb-fallback{
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(0,230,118,.12),rgba(0,198,83,.05));
}
.blog-card-body{min-width:0;}
.blog-card-body h4{
  font-size:13px;font-weight:700;margin-bottom:4px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.blog-card-body p{
  font-size:11px;color:var(--text3);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.blog-card-date{
  display:block;font-size:10px;color:var(--text3);margin-top:6px;font-weight:600;
}

/* ── FRONT-END ADMIN ── */
.admin-locked{border-radius:20px;padding:20px;text-align:center;font-size:13px;color:var(--text2);margin-bottom:16px;}
.mgt-fe-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;}
.mgt-fe-stat{border-radius:16px;padding:14px;text-align:center;}
.mgt-fe-stat .v{font-size:22px;font-weight:800;color:var(--g1);}
.mgt-fe-stat .l{font-size:10px;color:var(--text3);font-weight:600;margin-top:2px;}
.mgt-fe-tabs{display:flex;border-radius:14px;padding:4px;margin-bottom:16px;gap:4px;}
.mgt-fe-tab{
  flex:1;border:none;background:none;padding:9px 0;border-radius:10px;
  font-size:12px;font-weight:700;color:var(--text3);cursor:pointer;transition:var(--transition);
}
.mgt-fe-tab.active{
  background:linear-gradient(135deg,var(--g1),var(--g2));color:#04220c;
  box-shadow:2px 2px 8px var(--nm-dark);
}
.mgt-fe-row{border-radius:16px;padding:14px;margin-bottom:10px;}
.mgt-fe-row-title{font-size:13px;font-weight:700;margin-bottom:10px;}
.mgt-fe-row-fields{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.mgt-fe-row-fields input[type="text"],.mgt-fe-row-fields input[type="number"]{
  flex:1;min-width:90px;border:none;border-radius:10px;padding:8px 10px;
  font-size:12px;color:var(--text);background:var(--input-bg);
}
.mgt-fe-check{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text2);white-space:nowrap;}
.mgt-fe-save{
  border:none;border-radius:10px;padding:8px 14px;font-size:11px;font-weight:700;
  cursor:pointer;color:#04220c;background:linear-gradient(135deg,var(--g1),var(--g2));
  transition:var(--transition);
}
.mgt-fe-save.saved{background:linear-gradient(135deg,#26a69a,#00897b);color:#fff;}
.mgt-fe-empty{font-size:12px;color:var(--text3);text-align:center;padding:20px 0;}



