@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

:root{
  --bg:#050914;
  --panel:#0f1724;
  --panel2:#111b2b;
  --card:#101a2a;
  --line:#243149;
  --line2:#32445f;
  --text:#f7fbff;
  --muted:#8e9bb0;
  --muted2:#a9b5c8;
  --purple:#7c5cff;
  --blue:#4d8dff;
  --cyan:#42e8f0;
  --green:#20d876;
  --amber:#ffbf47;
  --red:#ff5b7a;
  --shadow:0 24px 80px rgba(0,0,0,.48);
  --radius:20px;
}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:#03060c}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.eyebrow{margin:0 0 8px;color:#9d8cff;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.muted{color:var(--muted)}
.good{color:#b7ffd7!important}.warn{color:#ffe8a8!important}.risk{color:#ffd0dc!important}

/* LOGIN */
.login-page{overflow:hidden;background:radial-gradient(circle at 22% 28%,rgba(124,92,255,.14),transparent 30%),radial-gradient(circle at 80% 12%,rgba(77,141,255,.16),transparent 26%),#040810}
.premium-login{width:min(100% - 24px,1180px);min-height:100dvh;margin:0 auto;display:grid;grid-template-columns:1fr minmax(340px,520px);align-items:center;gap:24px;padding:14px 0}
.login-panel{min-height:min(680px,calc(100dvh - 28px));border:1px solid var(--line);border-radius:14px;background:radial-gradient(circle at 48% 40%,rgba(77,141,255,.07),transparent 28%),linear-gradient(180deg,#0b111c,#060b13);box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:34px}
.login-brand-stack{text-align:center;margin-bottom:28px}
.apple-login-mark{width:76px;height:76px;margin:0 auto 18px;display:grid;place-items:center}
.apple-login-mark img{max-width:70px;max-height:70px;object-fit:contain;filter:brightness(0) invert(1)}
.login-brand-stack h1{margin:0 0 8px;font-size:28px;letter-spacing:-.04em}
.login-brand-stack p{margin:0;color:#b6bfcc}
.login-form{width:min(100%,350px)}
.secure-line{display:flex;align-items:center;justify-content:center;gap:8px;color:#b6bfcc;font-size:12px;margin:0 0 18px}
.secure-line svg{width:14px;height:14px}
.input-shell{height:48px;margin-bottom:12px;padding:0 13px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:7px;color:#748196;background:rgba(255,255,255,.035)}
.input-shell:focus-within{border-color:#4f6da0;box-shadow:0 0 0 3px rgba(77,141,255,.12)}
.input-shell svg{width:16px;height:16px;flex:0 0 auto}
.input-shell input{width:100%;border:0;outline:0;color:#fff;background:transparent;font-size:13px}
.input-shell input::placeholder{color:#7f8ba0}
.icon-button{border:0;background:transparent;color:#8e9bb0;width:28px;height:28px;display:grid;place-items:center}
.gradient-button{width:100%;height:48px;border:0;border-radius:7px;color:#fff;font-weight:800;background:linear-gradient(135deg,#4d6dff,#7c4dff);box-shadow:0 14px 28px rgba(124,92,255,.25);transition:transform .16s ease,filter .16s ease}
.gradient-button:hover{transform:translateY(-1px);filter:brightness(1.08)}
.gradient-button:disabled{opacity:.7;transform:none}
.login-options{margin-top:14px;display:flex;align-items:center;justify-content:space-between;color:#9e8cff;font-size:12px}
.remember-row{display:flex;align-items:center;gap:8px;color:#b6bfcc}
.remember-row input{accent-color:var(--purple)}
.login-error{margin:14px 0 0;padding:11px 12px;border:1px solid rgba(255,91,122,.35);border-radius:10px;background:rgba(255,91,122,.09);color:#ffd0dc;font-size:12px;font-weight:700}
.protected-line{margin:34px 0 0;color:#9ba6b7;font-size:12px;display:flex;align-items:center;gap:8px}
.protected-line svg{width:14px;height:14px}
.login-visual{height:min(680px,calc(100dvh - 28px));border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);background:#0a0f18}
.campus-card{position:relative;width:100%;height:100%;background:radial-gradient(circle at 45% 30%,#ffd1a0,transparent 16%),linear-gradient(180deg,#4057c4 0%,#7d7ebb 24%,#1d274a 45%,#08101d 100%);overflow:hidden}
.campus-sky{position:absolute;inset:0 0 48%;background:linear-gradient(180deg,rgba(89,95,220,.45),rgba(255,174,134,.28),transparent)}
.campus-ring{position:absolute;left:50%;bottom:4%;width:600px;height:220px;border-radius:50%;transform:translateX(-50%) rotate(-8deg);border:18px solid rgba(255,225,160,.9);box-shadow:0 0 40px rgba(255,190,103,.30),inset 0 0 24px rgba(255,255,255,.18)}
.ring-two{width:430px;height:150px;bottom:11%;border-width:13px;opacity:.55}
.campus-core{position:absolute;left:50%;bottom:23%;width:300px;height:68px;transform:translateX(-50%) rotate(-8deg);background:linear-gradient(90deg,rgba(255,235,180,.9),rgba(255,255,255,.75));border-radius:50%;filter:blur(8px)}
.city-lights{position:absolute;left:0;right:0;bottom:0;height:45%;background:radial-gradient(circle at 10% 70%,#ffd27a 0 2px,transparent 3px),radial-gradient(circle at 23% 72%,#ffd27a 0 2px,transparent 3px),radial-gradient(circle at 40% 75%,#ffd27a 0 2px,transparent 3px),radial-gradient(circle at 56% 70%,#ffd27a 0 2px,transparent 3px),radial-gradient(circle at 72% 76%,#ffd27a 0 2px,transparent 3px),radial-gradient(circle at 88% 72%,#ffd27a 0 2px,transparent 3px),linear-gradient(180deg,transparent,#050914);opacity:.85}

/* APP */
.app-page{min-height:100vh;overflow:hidden;background:radial-gradient(circle at 70% -10%,rgba(124,92,255,.16),transparent 26%),radial-gradient(circle at 0% 40%,rgba(77,141,255,.10),transparent 28%),#040810}
.app-frame{height:100vh;display:grid;grid-template-columns:230px 1fr}
.sidebar{border-right:1px solid var(--line);background:linear-gradient(180deg,#0d1524,#08101b);display:flex;flex-direction:column;min-height:0}
.sidebar-brand{height:70px;padding:15px 14px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}
.menu-button{width:34px;height:34px;border:1px solid rgba(124,92,255,.50);border-radius:9px;background:rgba(124,92,255,.10);display:grid;place-items:center}
.menu-button span{width:15px;height:2px;background:#bbaeff;display:block;margin:1px 0}
.sidebar-brand img{width:22px;height:22px;filter:brightness(0) invert(1)}
.sidebar-brand strong{font-size:14px;letter-spacing:-.02em}
.side-nav{padding:16px 12px;display:grid;gap:8px;overflow:auto}
.side-link{width:100%;border:0;border-radius:10px;padding:12px 13px;display:flex;align-items:center;gap:11px;color:#d4d9e4;background:linear-gradient(145deg,#111c2d,#08101b);box-shadow:inset 1px 1px 0 rgba(255,255,255,.05),inset -2px -2px 6px rgba(0,0,0,.35),0 8px 18px rgba(0,0,0,.18);text-align:left;font-size:13px;font-weight:700;transition:transform .16s ease,background .16s ease,color .16s ease}
.side-link span{width:16px;text-align:center;color:#a995ff}
.side-link:hover,.side-link.active{transform:translateY(-1px);background:linear-gradient(135deg,rgba(124,92,255,.42),rgba(77,141,255,.22));color:#fff}
.logout-link{margin:auto 12px 14px;width:calc(100% - 24px)}
.main-app{min-width:0;display:grid;grid-template-rows:70px auto 42px 1fr;height:100vh;overflow:hidden}
.topbar{border-bottom:1px solid var(--line);background:#070c15;display:flex;align-items:center;justify-content:space-between;padding:0 18px;gap:16px}
.search-shell{width:min(520px,48vw);height:38px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:7px;padding:0 12px;background:#0f1724;color:#7e8ba1}
.search-shell svg{width:17px;height:17px}
.search-shell input{width:100%;border:0;outline:0;background:transparent;color:#fff;font-size:13px}
.topbar-right{display:flex;align-items:center;gap:14px}
.notification-button{position:relative;width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:#0f1724;color:#fff}
.notification-button span{position:absolute;top:-5px;right:-5px;background:var(--red);color:white;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:900}
.top-user-card{display:flex;align-items:center;gap:10px}
.tiny-avatar,.avatar{border-radius:999px;background:linear-gradient(135deg,#f6d7b6,#a6c7ff);color:#0b1220;font-weight:900;display:grid;place-items:center;overflow:hidden}
.tiny-avatar{width:36px;height:36px;font-size:12px}
.top-user-card strong{display:block;font-size:12px}
.top-user-card span{display:block;color:var(--muted);font-size:11px}
.announcement-banner{padding:10px 18px;background:linear-gradient(90deg,rgba(255,191,71,.16),rgba(124,92,255,.10));border-bottom:1px solid var(--line);font-size:12px;color:#ffe8a8;font-weight:800}
.briefing-ribbon{display:grid;grid-template-columns:1fr auto;align-items:center;overflow:hidden;background:linear-gradient(90deg,rgba(124,92,255,.22),rgba(77,141,255,.08));border-bottom:1px solid var(--line)}
.briefing-ribbon button{border:0;background:transparent;color:#bbaeff;padding:0 20px;font-size:12px;font-weight:800}
.briefing-track{display:inline-flex;gap:24px;white-space:nowrap;animation:briefingMove var(--ticker-duration, 42s) linear infinite;color:#cfc6ff;font-size:12px;font-weight:700;will-change:transform}
.briefing-track span{display:inline-flex}
.briefing-track i{font-style:normal;color:#7c5cff}
@keyframes briefingMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.dashboard-root{overflow:auto;padding:18px}
.dashboard-root::-webkit-scrollbar,.premium-modal::-webkit-scrollbar,.directory-list::-webkit-scrollbar,.admin-list::-webkit-scrollbar{width:8px}
.dashboard-root::-webkit-scrollbar-thumb,.premium-modal::-webkit-scrollbar-thumb,.directory-list::-webkit-scrollbar-thumb,.admin-list::-webkit-scrollbar-thumb{background:#263650;border-radius:999px}
.loading-card,.hero-card,.metric-card,.team-panel,.glass-card,.private-vault,.section-card{border:1px solid var(--line);border-radius:13px;background:linear-gradient(180deg,rgba(16,26,42,.96),rgba(11,18,31,.96));box-shadow:0 18px 50px rgba(0,0,0,.22)}
.loading-card,.section-card{padding:26px}
.loading-card h1,.section-card h1{margin:8px 0;font-size:34px}
.dashboard-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.hero-card{grid-column:span 12;padding:26px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.hero-card h1{margin:6px 0 7px;font-size:31px;letter-spacing:-.055em;line-height:1.06}
.hero-card h1 strong{display:block;font-size:36px}
.hero-tags{display:flex;gap:8px;flex-wrap:wrap}
.tag{display:inline-flex;align-items:center;border:1px solid var(--line2);border-radius:999px;padding:5px 9px;background:#0f1724;color:#cfd8e6;font-size:11px;font-weight:800}
.active-tag{background:rgba(32,216,118,.10);border-color:rgba(32,216,118,.28);color:#b7ffd7}
.hero-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.gradient-small-button,.secondary-button,.danger-button{height:38px;border-radius:10px;padding:0 16px;font-weight:800;color:#fff;transition:transform .16s ease,filter .16s ease}
.gradient-small-button{border:0;background:linear-gradient(135deg,#4d6dff,#7c4dff);box-shadow:0 12px 28px rgba(124,92,255,.22)}
.secondary-button{border:1px solid var(--line);background:linear-gradient(145deg,#142035,#0a111d);box-shadow:inset 1px 1px 0 rgba(255,255,255,.05),0 10px 24px rgba(0,0,0,.2)}
.danger-button{border:1px solid rgba(255,91,122,.38);background:rgba(255,91,122,.10)}
.gradient-small-button:hover,.secondary-button:hover,.danger-button:hover{transform:translateY(-1px);filter:brightness(1.08)}
.metric-card{grid-column:span 3;padding:20px;min-height:116px;position:relative}
.metric-card span{display:block;color:#d8dfec;font-size:12px;font-weight:700}
.metric-card strong{display:block;margin:7px 0 2px;font-size:28px;letter-spacing:-.05em}
.metric-card small{color:var(--muted);font-size:12px}
.metric-icon{position:absolute;right:16px;top:18px;width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:rgba(124,92,255,.13);color:#a995ff}
.team-panel,.private-vault{grid-column:span 12;padding:22px}
.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.panel-head h2{margin:0 0 4px;font-size:20px}
.panel-head p{margin:0;color:var(--muted);font-size:12px}
.compact-head{margin-bottom:10px}
.team-cards{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px}
.employee-tile,.quick-action-card,.workstream-card,.hierarchy-card,.spotlight-card{border:1px solid var(--line);border-radius:13px;padding:14px;background:linear-gradient(145deg,#152136,#0b1320);box-shadow:inset 1px 1px 0 rgba(255,255,255,.04),inset -3px -3px 10px rgba(0,0,0,.28),0 14px 24px rgba(0,0,0,.22);min-width:0;transition:transform .18s ease}
.employee-tile:hover,.quick-action-card:hover,.workstream-card:hover,.hierarchy-card:hover,.spotlight-card:hover{transform:translateY(-3px)}
.employee-tile .avatar{width:42px;height:42px;margin-bottom:10px;font-size:12px}
.employee-tile h3,.workstream-card h3,.hierarchy-card h3,.spotlight-card h3{margin:0 0 4px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.employee-tile p,.workstream-card p,.hierarchy-card p,.spotlight-card p{margin:0 0 12px;color:var(--muted);font-size:12px}
.tile-stats,.card-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.tile-stats span,.card-stats span{color:var(--muted);font-size:10px}
.tile-stats strong,.card-stats strong{display:block;color:#fff;font-size:13px}
.progress-line{height:5px;border-radius:999px;background:#18243a;overflow:hidden}
.progress-line div{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--green),var(--purple))}
.grid-2,.grid-3,.grid-4,.grid-5{display:grid;gap:14px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-5{grid-template-columns:repeat(5,1fr)}
.quick-action-card{display:grid;gap:8px}
.quick-action-card strong{font-size:14px}
.quick-action-card span{font-size:12px;color:var(--muted)}
.heatmap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.heatmap-card{border-radius:15px;padding:18px;border:1px solid var(--line);background:linear-gradient(145deg,#152136,#0b1320)}
.heatmap-card.green{border-color:rgba(32,216,118,.35);box-shadow:0 18px 40px rgba(32,216,118,.08)}
.heatmap-card.yellow{border-color:rgba(255,191,71,.35);box-shadow:0 18px 40px rgba(255,191,71,.08)}
.heatmap-card.red{border-color:rgba(255,91,122,.35);box-shadow:0 18px 40px rgba(255,91,122,.08)}
.heatmap-card strong{display:block;font-size:34px}
.leadership-chain{display:grid;gap:14px}
.hierarchy-row{display:grid;grid-template-columns:1fr;gap:10px}
.hierarchy-card.top{background:linear-gradient(135deg,rgba(124,92,255,.55),rgba(77,141,255,.22));border-color:#7c5cff}
.hierarchy-card.manager{background:linear-gradient(135deg,rgba(32,216,118,.28),rgba(77,141,255,.18));border-color:rgba(32,216,118,.38)}
.workstream-line{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.status-pill{display:inline-flex;justify-content:center;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;background:rgba(32,216,118,.10);color:#b7ffd7}
.status-yellow{background:rgba(255,191,71,.10);color:#ffe8a8}
.status-red{background:rgba(255,91,122,.10);color:#ffd0dc}

/* VAULT */
.vault-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}
.vault-tab{border:1px solid var(--line);border-radius:13px;padding:10px 14px;background:linear-gradient(145deg,#162238,#090f1a);color:#dfe7f4;font-weight:850;box-shadow:inset 1px 1px 0 rgba(255,255,255,.06),inset -4px -4px 12px rgba(0,0,0,.35),0 12px 22px rgba(0,0,0,.20);transition:transform .16s ease, background .16s ease}
.vault-tab:hover{transform:translateY(-2px)}
.vault-tab.active{background:linear-gradient(135deg,rgba(124,92,255,.55),rgba(77,141,255,.28));border-color:#6f5dff;color:#fff}
.vault-content{border:1px solid var(--line);border-radius:13px;padding:16px;background:#0c1421}
.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.info-box{border:1px solid rgba(36,49,73,.8);border-radius:12px;padding:13px;background:#101a2a}
.info-box span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:850;letter-spacing:.04em}
.info-box strong{display:block;margin-top:5px;font-size:14px;color:#fff}
.skill-cloud{display:flex;flex-wrap:wrap;gap:8px}
.skill-chip{border:1px solid var(--line2);border-radius:999px;padding:7px 10px;background:#101a2a;color:#dfe7f4;font-size:12px;font-weight:800}

/* MODALS */
.modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.72);backdrop-filter:blur(10px)}
.premium-modal{width:min(620px,100%);max-height:calc(100dvh - 36px);overflow:auto;border:1px solid var(--line2);border-radius:10px;background:linear-gradient(180deg,#101827,#08101b);box-shadow:0 26px 90px rgba(0,0,0,.62);position:relative}
.task-modal{width:min(560px,100%)}
.briefing-modal{width:min(680px,100%)}
.review-modal{width:min(560px,100%)}
.modal-close{position:absolute;right:16px;top:16px;width:30px;height:30px;border:0;border-radius:7px;color:#fff;background:transparent;font-size:24px}
.modal-header{display:flex;gap:12px;align-items:flex-start;padding:18px 20px;border-bottom:1px solid var(--line)}
.sticky-modal-header{position:sticky;top:0;z-index:2;background:linear-gradient(180deg,#101827,#0d1524)}
.modal-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:rgba(124,92,255,.18);color:#bbaeff}
.modal-header h2{margin:0 0 5px;font-size:18px}
.modal-header p{margin:0;color:var(--muted);font-size:12px}
.submission-grid,.modal-form{padding:18px 20px 20px}
.drop-zone{min-height:150px;display:grid;place-items:center;text-align:center;gap:6px;border:1px dashed #354760;border-radius:9px;background:#0c1421;padding:18px}
.drop-zone input{display:none}
.cloud-icon{font-size:30px}
.drop-zone strong{font-size:13px}.drop-zone small,.drop-zone em{color:var(--muted);font-size:11px;font-style:normal}
.details-box,.admin-form label,.modal-form label{display:grid;margin-top:14px;gap:8px}
.details-box span,.admin-form label span,.modal-form label span{font-size:12px;font-weight:800;color:#dce5f2}
.details-box textarea,.admin-form textarea,.admin-form input,.admin-form select,.modal-form textarea,.modal-form select{width:100%;outline:none;border:1px solid var(--line);border-radius:8px;background:#0c1421;color:#fff;padding:11px}
.details-box textarea,.admin-form textarea,.modal-form textarea{min-height:96px;resize:vertical}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}
.submission-result{margin-top:14px;border:1px solid rgba(32,216,118,.28);border-radius:9px;padding:12px;background:rgba(32,216,118,.08);color:#b7ffd7;font-size:13px}
.briefing-list{padding:14px 20px 20px;display:grid;gap:10px}
.briefing-item,.submission-row,.activity-row{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:start;border:1px solid var(--line);border-radius:10px;padding:13px;background:#0c1421}
.briefing-item-icon{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(135deg,#4d6dff,#7c4dff)}
.briefing-item h4,.submission-row h4,.activity-row h4{margin:0 0 5px;font-size:13px}
.briefing-item p,.submission-row p,.activity-row p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.briefing-time{color:var(--muted);font-size:11px}

/* TABLE/DIRECTORY */
.data-table{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.table-row{display:grid;grid-template-columns:1.2fr 1fr 1fr .6fr .7fr .8fr;gap:12px;align-items:center;min-height:52px;padding:0 14px;border-bottom:1px solid rgba(36,49,73,.7);font-size:12px}
.table-row.header{background:#101827;color:#8e9bb0;font-weight:800;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0;z-index:1}
.person-cell{display:flex;align-items:center;gap:10px;min-width:0}
.person-cell .avatar{width:28px;height:28px;font-size:10px}
.person-cell strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-form{display:grid;gap:10px}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.admin-card{border:1px solid var(--line);border-radius:13px;background:#0c1421;padding:16px}
.admin-card h3{margin:0 0 12px;font-size:16px}
.wide-admin-card{grid-column:span 2}
.admin-list{display:grid;gap:10px;max-height:360px;overflow:auto;padding-right:4px}
.admin-list-item{border:1px solid var(--line);border-radius:10px;padding:12px;background:#101a2a}
.admin-list-item strong{display:block;margin-bottom:4px}
.admin-list-item p{margin:0;color:var(--muted);font-size:12px}
.banner-edit{display:grid;grid-template-columns:1fr auto;gap:8px}
.banner-edit input{border:1px solid var(--line);border-radius:8px;background:#0c1421;color:#fff;padding:0 11px}
.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.theme-grid input{height:36px}

/* RESPONSIVE */
@media(max-width:820px){
  .app-frame{grid-template-columns:1fr}
  .sidebar{display:none}
  .topbar{height:64px}
  .main-app{grid-template-rows:64px auto 42px 1fr}
  .search-shell{width:100%}
  .top-user-card div{display:none}
  .hero-card{flex-direction:column;align-items:flex-start}
  .metric-card{grid-column:span 6}
  .team-cards,.grid-5,.grid-4{grid-template-columns:repeat(2,minmax(140px,1fr))}
  .info-grid,.workstream-line{grid-template-columns:repeat(2,1fr)}
  .premium-login{grid-template-columns:1fr;width:min(100% - 20px,520px)}
  .login-visual{display:none}
  .login-panel{min-height:calc(100dvh - 24px)}
}
@media(max-width:680px){
  .dashboard-root{padding:12px}
  .metric-card{grid-column:span 12}
  .team-cards,.grid-2,.grid-3,.grid-4,.grid-5,.info-grid,.workstream-line,.heatmap-grid,.admin-grid{grid-template-columns:1fr}
  .wide-admin-card{grid-column:span 1}
  .modal-backdrop{align-items:flex-start;padding:10px}
  .premium-modal{max-height:calc(100dvh - 20px)}
  .table-row{grid-template-columns:1fr .6fr .7fr}
  .table-row > *:nth-child(2),.table-row > *:nth-child(3),.table-row > *:nth-child(6){display:none}
  .premium-login{padding:10px 0}
  .login-panel{padding:22px}
}


/* V16 layout and ticker fixes */
.app-page,
.app-frame,
.main-app {
  min-height: 100dvh;
}

.app-frame {
  grid-template-columns: 230px minmax(0, 1fr);
}

.sidebar {
  min-width: 230px;
}

.main-app {
  grid-template-rows: 70px auto 40px minmax(0, 1fr);
  min-height: 0;
}

.dashboard-root {
  min-height: 0;
  height: 100%;
  padding: 14px 18px 22px;
  overflow-y: auto;
  overflow-x: hidden;
}

.dashboard-grid {
  align-items: start;
}

.hero-card {
  min-height: 218px;
  max-height: 260px;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 30%, rgba(124,92,255,.30), transparent 28%),
    linear-gradient(135deg, rgba(16,26,42,.98), rgba(7,12,22,.98));
}

.hero-card h1 {
  font-size: 28px;
}

.hero-card h1 strong {
  font-size: 40px;
}

.metric-card {
  min-height: 108px;
}

.team-panel,
.private-vault,
.section-card {
  min-height: auto;
}

.briefing-ribbon {
  height: 40px;
  min-height: 40px;
  overflow: hidden;
}

.briefing-track {
  width: max-content;
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding-left: 0;
  white-space: nowrap;
  animation: briefingMove var(--ticker-duration, 55s) linear infinite;
  will-change: transform;
}

.ticker-group {
  display: inline-flex;
  align-items: center;
  gap: 26px;
  padding-right: 42px;
  flex: 0 0 auto;
}

.ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.ticker-item strong {
  color: #e8ddff;
}

.ticker-dot {
  display: inline-flex;
  color: #a986ff;
  font-weight: 900;
  margin: 0 6px;
}

@keyframes briefingMove {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* Keep the sidebar on normal laptop/desktop even when browser zoom is high */
@media(max-width: 820px) {
  .app-frame {
    grid-template-columns: 1fr;
  }
  .sidebar {
    display: none;
  }
  .main-app {
    grid-template-rows: 64px auto 40px minmax(0, 1fr);
  }
  .topbar {
    height: 64px;
  }
}

/* Override older 1100px breakpoint that hid sidebar too early */
@media(min-width: 821px) {
  .sidebar {
    display: flex !important;
  }
  .app-frame {
    grid-template-columns: 230px minmax(0, 1fr) !important;
  }
  .main-app {
    grid-template-rows: 70px auto 40px minmax(0, 1fr) !important;
  }
}


/* V17 SELECTED MOCKUP EXACT UI OVERRIDE
   Goal: match the selected premium dashboard image:
   - left sidebar visible
   - wide cinematic hero
   - smaller "Welcome back"
   - large employee name
   - compact topbar/ticker
   - no huge blank/footer area
   - database driven behavior retained
*/

:root{
  --bg:#030813;
  --panel:#0b1424;
  --panel2:#101b2e;
  --card:#0e1829;
  --line:#20324d;
  --line2:#334a70;
  --text:#f8fbff;
  --muted:#8d9ab0;
  --purple:#8b5cf6;
  --blue:#4d7cff;
  --green:#22d37b;
  --amber:#f6b751;
  --red:#ff5b7a;
}

html, body {
  width: 100%;
  height: 100%;
  overflow: hidden;
  background:
    radial-gradient(circle at 70% 0%, rgba(81, 76, 210, .17), transparent 30%),
    linear-gradient(180deg, #02060e 0%, #040914 100%) !important;
}

.app-frame{
  height: 100dvh !important;
  width: 100vw !important;
  display:grid !important;
  grid-template-columns: 306px minmax(0,1fr) !important;
  background:#030813;
}

.sidebar{
  display:flex !important;
  min-width:306px !important;
  width:306px !important;
  border-right:1px solid rgba(72,91,124,.45) !important;
  background:
    radial-gradient(circle at 20% 0%, rgba(124,92,255,.14), transparent 28%),
    linear-gradient(180deg,#0b1424 0%,#050b15 100%) !important;
}

.sidebar-brand{
  height:118px !important;
  padding:24px 26px !important;
  gap:16px !important;
  border-bottom:1px solid rgba(72,91,124,.35) !important;
}

.sidebar-brand img{
  width:28px !important;
  height:28px !important;
  filter:brightness(0) invert(1) !important;
}

.sidebar-brand strong{
  font-size:20px !important;
  line-height:1.15 !important;
  max-width:150px;
}

.menu-button{
  width:46px !important;
  height:46px !important;
  border-radius:14px !important;
  background:linear-gradient(145deg, rgba(124,92,255,.26), rgba(8,15,28,.94)) !important;
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.10), 0 14px 28px rgba(0,0,0,.32) !important;
}

.side-nav{
  padding:28px 22px !important;
  gap:14px !important;
}

.side-link{
  min-height:58px !important;
  padding:0 22px !important;
  border-radius:14px !important;
  font-size:17px !important;
  gap:16px !important;
  background:linear-gradient(180deg, rgba(16,28,48,.72), rgba(7,13,24,.92)) !important;
  border:1px solid rgba(72,91,124,.30) !important;
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.05), 0 12px 24px rgba(0,0,0,.22) !important;
}

.side-link span{
  font-size:22px;
  width:24px !important;
}

.side-link.active{
  background:linear-gradient(135deg, rgba(120,79,255,.78), rgba(48,71,153,.68)) !important;
  border-color:rgba(171,143,255,.86) !important;
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.18), 0 18px 38px rgba(96,70,255,.25) !important;
}

.logout-link{
  margin: auto 22px 18px !important;
  width:calc(100% - 44px) !important;
}

.main-app{
  height:100dvh !important;
  min-width:0 !important;
  display:grid !important;
  grid-template-rows:112px 56px minmax(0,1fr) !important;
  overflow:hidden !important;
  background:#030813 !important;
}

.announcement-banner{
  display:none !important;
}

.topbar{
  height:112px !important;
  padding:0 32px !important;
  background:#050b16 !important;
  border-bottom:1px solid rgba(72,91,124,.38) !important;
}

.search-shell{
  width:min(620px, 55vw) !important;
  height:56px !important;
  border-radius:12px !important;
  padding:0 20px !important;
  background:#0d1728 !important;
  border:1px solid rgba(72,91,124,.58) !important;
  color:#9aa7bc !important;
}

.search-shell input{
  font-size:16px !important;
}

.notification-button{
  width:58px !important;
  height:58px !important;
  border-radius:14px !important;
  background:#0d1728 !important;
  border-color:rgba(72,91,124,.55) !important;
  font-size:22px !important;
}

.top-user-card{
  gap:14px !important;
}

.tiny-avatar{
  width:58px !important;
  height:58px !important;
  font-size:18px !important;
  color:#111827 !important;
  background:#dfe7ff !important;
}

.top-user-card strong{
  font-size:18px !important;
}

.top-user-card span{
  font-size:14px !important;
}

.briefing-ribbon{
  height:56px !important;
  min-height:56px !important;
  border-bottom:1px solid rgba(72,91,124,.34) !important;
  background:linear-gradient(90deg, rgba(72,40,153,.45), rgba(18,30,54,.84)) !important;
}

.briefing-ribbon button{
  height:100% !important;
  padding:0 26px !important;
  color:#b996ff !important;
  font-size:15px !important;
}

.briefing-track{
  height:56px !important;
  align-items:center !important;
  font-size:15px !important;
  color:#ddd6ff !important;
  animation: briefingMove var(--ticker-duration, 62s) linear infinite !important;
}

.ticker-group{
  gap:34px !important;
  padding-right:58px !important;
}

.ticker-item{
  gap:8px !important;
}

.ticker-item strong{
  color:#e9ddff !important;
  font-weight:900 !important;
}

.ticker-separator,
.ticker-dot{
  color:#986fff !important;
  font-size:20px !important;
  margin:0 10px !important;
  font-weight:900 !important;
}

.dashboard-root{
  height:100% !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:18px 24px 30px !important;
  background:#030813 !important;
}

.selected-dashboard{
  max-width: 100% !important;
  gap:16px !important;
}

.selected-hero-card{
  grid-column:span 12 !important;
  position:relative !important;
  min-height:392px !important;
  max-height:392px !important;
  padding:46px 48px !important;
  border-radius:22px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 82% 42%, rgba(130,80,255,.45), transparent 30%),
    radial-gradient(circle at 48% 10%, rgba(77,124,255,.20), transparent 34%),
    linear-gradient(135deg, rgba(10,17,31,.98), rgba(7,12,23,.98)) !important;
  border:1px solid rgba(113,91,191,.72) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 24px 70px rgba(0,0,0,.38) !important;
}

.selected-hero-card::after{
  content:"";
  position:absolute;
  inset:36px 24px auto auto;
  width:49%;
  height:245px;
  border-radius:22px;
  background:
    radial-gradient(ellipse at 70% 80%, rgba(205,184,255,.72), transparent 10%),
    radial-gradient(ellipse at 64% 82%, rgba(113,84,255,.52), transparent 21%),
    radial-gradient(ellipse at 58% 86%, rgba(48,63,149,.40), transparent 42%),
    linear-gradient(145deg, transparent 10%, rgba(111,85,255,.16) 65%, transparent 100%);
  filter:saturate(1.1);
  opacity:.92;
  pointer-events:none;
}

.orbit-line{
  position:absolute;
  right:-80px;
  top:130px;
  width:680px;
  height:170px;
  border-radius:50%;
  border-top:2px solid rgba(217,205,255,.55);
  transform:rotate(-7deg);
  box-shadow:0 -18px 42px rgba(117,91,255,.24);
}

.planet-glow{
  position:absolute;
  right:4%;
  top:48px;
  width:42%;
  height:250px;
  background:
    repeating-linear-gradient(172deg, rgba(153,127,255,.20) 0 1px, transparent 1px 8px);
  mask-image:linear-gradient(90deg, transparent, #000 30%, #000 85%, transparent);
  opacity:.76;
}

.hero-star{
  position:absolute;
  left:34px;
  top:58px;
  z-index:2;
  font-size:46px;
  color:#d9ccff;
  text-shadow:0 0 30px rgba(145,112,255,.8);
}

.hero-copy{
  position:relative;
  z-index:3;
  max-width:620px;
  margin-left:48px;
}

.hero-copy .eyebrow{
  font-size:14px !important;
  letter-spacing:.22em !important;
  color:#a986ff !important;
  margin-bottom:18px !important;
}

.hero-card h1{
  margin:0 0 22px !important;
  line-height:.98 !important;
}

.hero-card h1 span{
  display:block !important;
  font-size:58px !important;
  letter-spacing:-.055em !important;
  font-weight:760 !important;
  color:#f4f7ff !important;
}

.hero-card h1 strong{
  display:block !important;
  margin-top:8px !important;
  font-size:78px !important;
  letter-spacing:-.065em !important;
  font-weight:900 !important;
  background:linear-gradient(135deg,#fff,#dfe8ff 48%,#a8bbff 100%);
  color:transparent !important;
  -webkit-background-clip:text;
  background-clip:text;
  text-shadow:0 16px 48px rgba(0,0,0,.22);
}

.hero-tags{
  gap:12px !important;
}

.tag{
  min-height:38px !important;
  padding:0 16px !important;
  border-radius:999px !important;
  font-size:14px !important;
  background:rgba(11,22,39,.78) !important;
  border:1px solid rgba(92,112,150,.58) !important;
}

.active-tag{
  color:#8bffc3 !important;
  background:rgba(17,93,65,.35) !important;
  border-color:rgba(52,211,153,.55) !important;
}

.hero-subline{
  margin-top:34px !important;
  color:#7f8ca2 !important;
  font-size:16px !important;
}

.selected-hero-actions{
  position:absolute !important;
  z-index:5 !important;
  right:42px !important;
  bottom:36px !important;
  display:flex !important;
  gap:10px !important;
}

.secondary-button,
.gradient-small-button{
  min-height:52px !important;
  border-radius:12px !important;
  padding:0 24px !important;
  font-size:16px !important;
}

.gradient-small-button{
  background:linear-gradient(135deg,#4d7cff 0%,#8b5cf6 55%,#ec83ff 100%) !important;
  box-shadow:0 20px 45px rgba(118,85,255,.34) !important;
}

.mini-badge{
  display:inline-grid;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  margin-left:6px;
  border-radius:999px;
  background:#7357ff;
  color:white;
  font-size:12px;
}

.metric-card{
  grid-column:span 3 !important;
  min-height:158px !important;
  padding:28px !important;
  border-radius:16px !important;
  background:linear-gradient(180deg, rgba(16,28,48,.94), rgba(9,16,29,.96)) !important;
  border:1px solid rgba(72,91,124,.50) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 20px 48px rgba(0,0,0,.28) !important;
}

.metric-card .metric-icon{
  left:28px !important;
  right:auto !important;
  top:26px !important;
  width:34px !important;
  height:34px !important;
  background:rgba(123,92,246,.22) !important;
}

.metric-card span{
  margin-left:54px !important;
  font-size:16px !important;
  color:#dce5f2 !important;
}

.metric-card strong{
  margin-left:0 !important;
  margin-top:26px !important;
  font-size:40px !important;
}

.metric-card small{
  display:block !important;
  margin-top:8px !important;
  font-size:15px !important;
}

.task-list-panel{
  grid-column:span 6 !important;
}

.deadline-panel{
  grid-column:span 6 !important;
}

.team-panel{
  border-radius:16px !important;
  padding:22px 24px !important;
  background:linear-gradient(180deg, rgba(16,28,48,.94), rgba(8,15,27,.97)) !important;
  border:1px solid rgba(72,91,124,.50) !important;
}

.panel-head h2{
  font-size:19px !important;
}

.task-list{
  display:grid;
  gap:12px;
}

.task-row{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:14px;
  align-items:center;
  min-height:58px;
  border-radius:13px;
  padding:12px 14px;
  background:rgba(15,27,47,.72);
  border:1px solid rgba(72,91,124,.38);
}

.task-icon{
  width:40px;
  height:40px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:rgba(123,92,246,.26);
  color:#c8b8ff;
}

.green-icon{
  background:rgba(34,211,123,.18);
  color:#9fffc6;
}

.task-row strong{
  display:block;
  font-size:15px;
  color:white;
}

.task-row span{
  display:block;
  margin-top:4px;
  font-size:13px;
  color:#8d9ab0;
}

.task-status{
  white-space:nowrap;
}

.date-box{
  width:54px;
  height:54px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:rgba(77,124,255,.12);
  border:1px solid rgba(72,91,124,.34);
}

.date-box strong{
  font-size:21px;
  line-height:1;
}

.date-box span{
  margin:0;
  font-size:10px;
}

@media(max-width: 1200px){
  .app-frame{
    grid-template-columns: 260px minmax(0,1fr) !important;
  }
  .sidebar{
    width:260px !important;
    min-width:260px !important;
  }
  .hero-card h1 span{
    font-size:42px !important;
  }
  .hero-card h1 strong{
    font-size:58px !important;
  }
  .selected-hero-card{
    min-height:350px !important;
    max-height:350px !important;
  }
  .metric-card{
    grid-column:span 6 !important;
  }
  .task-list-panel,
  .deadline-panel{
    grid-column:span 12 !important;
  }
}

@media(max-width: 820px){
  .app-frame{
    grid-template-columns:1fr !important;
  }
  .sidebar{
    display:none !important;
  }
  .main-app{
    grid-template-rows:74px 46px minmax(0,1fr) !important;
  }
  .topbar{
    height:74px !important;
    padding:0 14px !important;
  }
  .selected-hero-card{
    min-height:auto !important;
    max-height:none !important;
    padding:28px !important;
  }
  .hero-copy{
    margin-left:0 !important;
  }
  .hero-star,
  .hero-visual,
  .selected-hero-card::after{
    display:none !important;
  }
  .selected-hero-actions{
    position:relative !important;
    right:auto !important;
    bottom:auto !important;
    margin-top:24px !important;
  }
  .hero-card h1 span{
    font-size:34px !important;
  }
  .hero-card h1 strong{
    font-size:44px !important;
  }
  .metric-card{
    grid-column:span 12 !important;
  }
}


/* V18 COMPACT SCALE FIX
   Fixes over-large V17 UI:
   - smaller sidebar
   - no ugly white internal scrollbar
   - compact topbar/profile
   - compact hero section
   - responsive text
   - buttons no longer cut/overlap
   - dashboard fits real laptop viewport
*/

:root{
  --sidebar-w: 248px;
  --topbar-h: 76px;
  --ticker-h: 42px;
  --hero-h: 300px;
}

html, body{
  width:100%;
  height:100%;
  overflow:hidden !important;
}

.app-frame{
  width:100vw !important;
  height:100dvh !important;
  grid-template-columns: var(--sidebar-w) minmax(0,1fr) !important;
  overflow:hidden !important;
}

.sidebar{
  width:var(--sidebar-w) !important;
  min-width:var(--sidebar-w) !important;
  max-width:var(--sidebar-w) !important;
  overflow:hidden !important;
}

.sidebar-brand{
  height:82px !important;
  padding:16px 18px !important;
  gap:12px !important;
}

.sidebar-brand img{
  width:24px !important;
  height:24px !important;
}

.sidebar-brand strong{
  font-size:18px !important;
  line-height:1.12 !important;
  max-width:120px !important;
}

.menu-button{
  width:42px !important;
  height:42px !important;
  border-radius:13px !important;
  flex:0 0 auto !important;
}

.side-nav{
  padding:16px 14px !important;
  gap:10px !important;
  overflow:hidden !important;
  max-height:none !important;
}

.side-nav::-webkit-scrollbar,
.sidebar::-webkit-scrollbar{
  display:none !important;
}

.side-link{
  min-height:48px !important;
  height:48px !important;
  padding:0 16px !important;
  border-radius:13px !important;
  font-size:15px !important;
  gap:12px !important;
}

.side-link span{
  width:20px !important;
  font-size:18px !important;
}

.logout-link{
  margin: auto 14px 14px !important;
  width:calc(100% - 28px) !important;
  min-height:48px !important;
  height:48px !important;
}

.main-app{
  height:100dvh !important;
  min-width:0 !important;
  grid-template-rows: var(--topbar-h) var(--ticker-h) minmax(0,1fr) !important;
  overflow:hidden !important;
}

.announcement-banner{
  display:none !important;
  height:0 !important;
  padding:0 !important;
}

.topbar{
  height:var(--topbar-h) !important;
  min-height:var(--topbar-h) !important;
  padding:0 22px !important;
}

.search-shell{
  width:min(560px, 54vw) !important;
  height:44px !important;
  border-radius:12px !important;
  padding:0 14px !important;
}

.search-shell input{
  font-size:15px !important;
}

.notification-button{
  width:46px !important;
  height:46px !important;
  border-radius:13px !important;
  font-size:18px !important;
  flex:0 0 auto !important;
}

.tiny-avatar{
  width:46px !important;
  height:46px !important;
  font-size:15px !important;
  flex:0 0 auto !important;
}

.top-user-card{
  gap:10px !important;
  min-width:0 !important;
  max-width:210px !important;
  overflow:hidden !important;
}

.top-user-card strong{
  font-size:15px !important;
  max-width:145px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.top-user-card span{
  font-size:12px !important;
  max-width:145px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.briefing-ribbon{
  height:var(--ticker-h) !important;
  min-height:var(--ticker-h) !important;
}

.briefing-ribbon button{
  font-size:12px !important;
  padding:0 18px !important;
}

.briefing-track{
  height:var(--ticker-h) !important;
  font-size:13px !important;
  animation: briefingMove var(--ticker-duration, 60s) linear infinite !important;
}

.ticker-group{
  gap:32px !important;
  padding-right:58px !important;
}

.ticker-item{
  gap:7px !important;
}

.ticker-separator,
.ticker-dot{
  margin:0 14px !important;
  color:#a986ff !important;
  font-size:18px !important;
}

.dashboard-root{
  height:100% !important;
  min-height:0 !important;
  padding:14px 18px 20px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

.dashboard-root::-webkit-scrollbar{
  width:8px !important;
}
.dashboard-root::-webkit-scrollbar-track{
  background:#060b14 !important;
}
.dashboard-root::-webkit-scrollbar-thumb{
  background:#24344f !important;
  border-radius:999px !important;
}

.selected-dashboard{
  gap:14px !important;
}

.selected-hero-card{
  min-height:var(--hero-h) !important;
  max-height:var(--hero-h) !important;
  height:var(--hero-h) !important;
  padding:30px 34px !important;
  border-radius:20px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 40% !important;
  align-items:center !important;
}

.selected-hero-card::after{
  right:16px !important;
  top:30px !important;
  width:43% !important;
  height:190px !important;
  opacity:.75 !important;
}

.hero-star{
  left:30px !important;
  top:66px !important;
  font-size:34px !important;
}

.hero-copy{
  margin-left:48px !important;
  max-width:700px !important;
  min-width:0 !important;
}

.hero-copy .eyebrow{
  font-size:12px !important;
  letter-spacing:.20em !important;
  margin-bottom:14px !important;
}

.hero-card h1{
  margin:0 0 16px !important;
}

.hero-card h1 span{
  font-size:clamp(34px, 4.1vw, 54px) !important;
  line-height:.98 !important;
}

.hero-card h1 strong{
  font-size:clamp(46px, 5.4vw, 70px) !important;
  line-height:.98 !important;
  margin-top:4px !important;
}

.hero-tags{
  gap:9px !important;
  flex-wrap:wrap !important;
}

.tag{
  min-height:32px !important;
  padding:0 12px !important;
  font-size:12px !important;
}

.hero-subline{
  margin-top:18px !important;
  font-size:13px !important;
}

.hero-visual{
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
}

.planet-glow{
  right:2% !important;
  top:58px !important;
  width:42% !important;
  height:185px !important;
  opacity:.55 !important;
}

.orbit-line{
  right:-120px !important;
  top:142px !important;
  width:520px !important;
  height:105px !important;
}

.selected-hero-actions{
  position:absolute !important;
  right:28px !important;
  bottom:24px !important;
  gap:8px !important;
  max-width:52% !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
}

.secondary-button,
.gradient-small-button{
  min-height:42px !important;
  height:42px !important;
  border-radius:11px !important;
  padding:0 16px !important;
  font-size:13px !important;
  white-space:nowrap !important;
}

.mini-badge{
  min-width:18px !important;
  height:18px !important;
  font-size:10px !important;
}

.metric-card{
  min-height:118px !important;
  height:118px !important;
  padding:20px !important;
  border-radius:15px !important;
}

.metric-card .metric-icon{
  left:20px !important;
  top:20px !important;
  width:28px !important;
  height:28px !important;
  font-size:13px !important;
}

.metric-card span{
  margin-left:42px !important;
  font-size:13px !important;
}

.metric-card strong{
  margin-top:24px !important;
  font-size:34px !important;
}

.metric-card small{
  font-size:12px !important;
  margin-top:4px !important;
}

.team-panel{
  padding:18px 20px !important;
  border-radius:15px !important;
}

.panel-head{
  margin-bottom:12px !important;
}

.panel-head h2{
  font-size:17px !important;
}

.panel-head p{
  font-size:11px !important;
}

.task-row{
  min-height:52px !important;
  padding:10px 12px !important;
  gap:12px !important;
}

.task-icon{
  width:34px !important;
  height:34px !important;
  border-radius:10px !important;
}

.task-row strong{
  font-size:13px !important;
}

.task-row span{
  font-size:11px !important;
}

.date-box{
  width:44px !important;
  height:44px !important;
}

.date-box strong{
  font-size:17px !important;
}

.date-box span{
  font-size:9px !important;
}

.task-list-panel,
.deadline-panel{
  min-height:168px !important;
}

@media(max-width: 1280px){
  :root{
    --sidebar-w: 220px;
    --hero-h: 275px;
  }

  .sidebar-brand strong{
    font-size:16px !important;
    max-width:100px !important;
  }

  .side-link{
    font-size:14px !important;
    min-height:44px !important;
    height:44px !important;
    padding:0 13px !important;
  }

  .selected-hero-card{
    padding:26px 28px !important;
  }

  .hero-copy{
    margin-left:40px !important;
  }

  .hero-star{
    left:24px !important;
    font-size:30px !important;
  }

  .selected-hero-actions{
    right:22px !important;
    bottom:20px !important;
    max-width:58% !important;
  }

  .secondary-button,
  .gradient-small-button{
    padding:0 12px !important;
    font-size:12px !important;
  }
}

@media(max-width: 1020px){
  .app-frame{
    grid-template-columns:1fr !important;
  }

  .sidebar{
    display:none !important;
  }

  .main-app{
    grid-template-rows:64px 38px minmax(0,1fr) !important;
  }

  .topbar{
    height:64px !important;
    padding:0 14px !important;
  }

  .top-user-card div{
    display:none !important;
  }

  .search-shell{
    width:100% !important;
  }

  .selected-hero-card{
    height:auto !important;
    min-height:260px !important;
    max-height:none !important;
    grid-template-columns:1fr !important;
  }

  .selected-hero-card::after,
  .hero-visual,
  .hero-star{
    display:none !important;
  }

  .hero-copy{
    margin-left:0 !important;
  }

  .selected-hero-actions{
    position:relative !important;
    right:auto !important;
    bottom:auto !important;
    max-width:none !important;
    justify-content:flex-start !important;
    margin-top:18px !important;
  }

  .metric-card{
    grid-column:span 6 !important;
  }

  .task-list-panel,
  .deadline-panel{
    grid-column:span 12 !important;
  }
}

@media(max-width: 620px){
  .hero-card h1 span{
    font-size:30px !important;
  }
  .hero-card h1 strong{
    font-size:40px !important;
  }
  .metric-card{
    grid-column:span 12 !important;
  }
}


/* V19 POLISHED COMPACT APPLE STYLE
   - smaller Welcome back
   - uncut hero/subtext/buttons
   - sidebar items fit cleanly
   - better premium rays / glow
   - cleaner typography balance
*/

:root{
  --sidebar-w: 236px;
  --topbar-h: 74px;
  --ticker-h: 42px;
  --hero-h: 286px;
}

/* Sidebar tighter so all items fit */
.app-frame{
  grid-template-columns: var(--sidebar-w) minmax(0,1fr) !important;
}

.sidebar{
  width:var(--sidebar-w) !important;
  min-width:var(--sidebar-w) !important;
  max-width:var(--sidebar-w) !important;
}

.sidebar-brand{
  height:76px !important;
  padding:14px 16px !important;
  gap:10px !important;
}

.sidebar-brand strong{
  font-size:17px !important;
  max-width:102px !important;
}

.menu-button{
  width:40px !important;
  height:40px !important;
}

.side-nav{
  padding:12px 12px !important;
  gap:8px !important;
  overflow-y:auto !important;
  scrollbar-width:none !important;
}

.side-nav::-webkit-scrollbar{
  display:none !important;
}

.side-link{
  min-height:42px !important;
  height:42px !important;
  padding:0 14px !important;
  font-size:13px !important;
  gap:10px !important;
  border-radius:12px !important;
}

.side-link span{
  width:18px !important;
  font-size:17px !important;
}

.logout-link{
  margin:10px 12px 12px !important;
  width:calc(100% - 24px) !important;
  min-height:42px !important;
  height:42px !important;
}

.topbar{
  height:var(--topbar-h) !important;
  min-height:var(--topbar-h) !important;
  padding:0 18px !important;
}

.search-shell{
  width:min(560px, 50vw) !important;
  height:42px !important;
}

.top-user-card{
  max-width:200px !important;
}

.top-user-card strong{
  font-size:14px !important;
  max-width:130px !important;
}

.top-user-card span{
  font-size:11px !important;
  max-width:130px !important;
}

.notification-button{
  width:44px !important;
  height:44px !important;
}

.tiny-avatar{
  width:44px !important;
  height:44px !important;
  font-size:14px !important;
}

/* Ticker cleaner */
.briefing-track{
  font-size:12px !important;
}
.ticker-item{
  gap:6px !important;
}
.ticker-item strong{
  font-size:12px !important;
}
.ticker-item span{
  font-size:12px !important;
}
.ticker-separator,
.ticker-dot{
  margin:0 16px !important;
  font-size:16px !important;
}

/* Hero refinements */
.selected-hero-card{
  min-height:var(--hero-h) !important;
  max-height:var(--hero-h) !important;
  height:var(--hero-h) !important;
  padding:24px 28px 68px !important;
  grid-template-columns:minmax(0,1fr) 39% !important;
  border-radius:18px !important;
  overflow:hidden !important;
}

/* softer premium Apple-like light sweep */
.selected-hero-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(110deg, transparent 0%, rgba(255,255,255,.03) 28%, transparent 45%),
    radial-gradient(circle at 80% 80%, rgba(178,150,255,.22), transparent 16%),
    radial-gradient(circle at 88% 22%, rgba(122,110,255,.10), transparent 20%);
  pointer-events:none;
}

.selected-hero-card::after{
  right:12px !important;
  top:34px !important;
  width:42% !important;
  height:168px !important;
  border-radius:18px !important;
  background:
    linear-gradient(180deg, transparent, rgba(153,127,255,.06)),
    repeating-linear-gradient(172deg, rgba(160,138,255,.18) 0 1px, transparent 1px 9px),
    radial-gradient(circle at 72% 72%, rgba(213,197,255,.34), transparent 10%),
    radial-gradient(circle at 64% 74%, rgba(113,84,255,.26), transparent 18%);
  opacity:.9 !important;
}

.hero-star{
  left:26px !important;
  top:106px !important;
  font-size:28px !important;
}

.hero-copy{
  margin-left:42px !important;
  max-width:640px !important;
  position:relative !important;
  z-index:3 !important;
}

.hero-copy .eyebrow{
  font-size:11px !important;
  margin-bottom:10px !important;
  letter-spacing:.18em !important;
}

.hero-card h1{
  margin:0 0 12px !important;
  max-width:620px !important;
}

/* Welcome back smaller as requested */
.hero-card h1 span{
  font-size:clamp(22px, 2.2vw, 30px) !important;
  line-height:1.06 !important;
  display:block !important;
  font-weight:760 !important;
}

.hero-card h1 strong{
  font-size:clamp(40px, 4.2vw, 56px) !important;
  line-height:1.00 !important;
  margin-top:4px !important;
}

.hero-tags{
  gap:8px !important;
  margin-top:4px !important;
}

.tag{
  min-height:30px !important;
  padding:0 11px !important;
  font-size:11px !important;
}

.hero-subline{
  display:block !important;
  margin-top:12px !important;
  margin-bottom:0 !important;
  font-size:12px !important;
  line-height:1.35 !important;
  max-width:420px !important;
  color:#7f8ba1 !important;
}

.planet-glow{
  right:2% !important;
  top:52px !important;
  width:40% !important;
  height:154px !important;
  opacity:.58 !important;
}

.orbit-line{
  right:-102px !important;
  top:146px !important;
  width:500px !important;
  height:92px !important;
  border-top:2px solid rgba(219,212,255,.52) !important;
}

/* Actions inside hero without clipping */
.selected-hero-actions{
  right:22px !important;
  bottom:18px !important;
  gap:8px !important;
  max-width:51% !important;
  z-index:5 !important;
}

.secondary-button,
.gradient-small-button{
  min-height:38px !important;
  height:38px !important;
  padding:0 14px !important;
  font-size:12px !important;
  border-radius:10px !important;
}

.mini-badge{
  min-width:17px !important;
  height:17px !important;
  font-size:9px !important;
}

/* Cards slightly more premium but compact */
.metric-card{
  min-height:108px !important;
  height:108px !important;
  padding:16px 18px !important;
  border-radius:14px !important;
  background:
    linear-gradient(180deg, rgba(16,28,48,.96), rgba(8,15,29,.98)) !important;
}

.metric-card::after{
  content:"";
  position:absolute;
  inset:auto 14px 10px 14px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(118,85,255,.22), transparent);
  pointer-events:none;
}

.metric-card .metric-icon{
  left:18px !important;
  top:18px !important;
}

.metric-card span{
  margin-left:38px !important;
  font-size:12px !important;
}

.metric-card strong{
  margin-top:20px !important;
  font-size:30px !important;
}

.metric-card small{
  font-size:11px !important;
}

/* Lower panels text balanced */
.team-panel{
  padding:16px 18px !important;
}

.panel-head{
  margin-bottom:10px !important;
}

.panel-head h2{
  font-size:16px !important;
}

.task-row{
  min-height:48px !important;
  padding:9px 11px !important;
}

.task-icon{
  width:32px !important;
  height:32px !important;
}

.task-row strong{
  font-size:12px !important;
}

.task-row span{
  font-size:10px !important;
}

/* better balance on laptop widths */
@media(max-width: 1280px){
  :root{
    --sidebar-w: 220px;
    --hero-h: 274px;
  }

  .hero-copy{
    margin-left:36px !important;
  }

  .hero-star{
    left:22px !important;
  }

  .selected-hero-actions{
    max-width:54% !important;
  }

  .top-user-card{
    max-width:170px !important;
  }

  .top-user-card strong,
  .top-user-card span{
    max-width:105px !important;
  }
}

@media(max-width: 1020px){
  .selected-hero-card{
    height:auto !important;
    min-height:244px !important;
    max-height:none !important;
    padding:20px 20px 20px !important;
  }

  .selected-hero-card::after,
  .selected-hero-card::before,
  .hero-visual,
  .hero-star{
    display:none !important;
  }

  .hero-copy{
    margin-left:0 !important;
  }

  .hero-subline{
    max-width:none !important;
  }

  .selected-hero-actions{
    position:relative !important;
    right:auto !important;
    bottom:auto !important;
    max-width:none !important;
    margin-top:14px !important;
    justify-content:flex-start !important;
  }
}

@media(max-width: 620px){
  .hero-card h1 span{
    font-size:21px !important;
  }
  .hero-card h1 strong{
    font-size:34px !important;
  }
}


/* V20 enterprise feature polish */
.directory-cards .employee-tile{cursor:pointer}
.review-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.one-col{grid-template-columns:1fr!important}

.drawer-backdrop{position:fixed;inset:0;z-index:1100;background:rgba(0,0,0,.50);backdrop-filter:blur(8px);display:flex;justify-content:flex-end}
.employee-drawer{width:min(440px,100%);height:100%;overflow-y:auto;background:linear-gradient(180deg,#101827,#070d18);border-left:1px solid var(--line2);box-shadow:-24px 0 80px rgba(0,0,0,.45);padding:22px;position:relative}
.drawer-close{position:absolute;right:16px;top:14px;width:34px;height:34px;border:0;border-radius:10px;background:rgba(255,255,255,.08);color:white;font-size:24px}
.drawer-hero{text-align:center;padding:28px 12px 18px}
.large-avatar{width:76px!important;height:76px!important;margin:0 auto 14px;font-size:24px!important}
.drawer-hero h2{margin:0 0 6px;font-size:26px;letter-spacing:-.04em}
.drawer-hero p{margin:0 0 12px;color:var(--muted)}

.org-tree{margin-top:20px;display:grid;gap:14px}
.tree-level.single-node{display:grid;place-items:center}
.tree-connector{width:2px;height:28px;background:linear-gradient(180deg,var(--purple),transparent);margin:0 auto}
.workstream-tree-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;align-items:start}
.workstream-node{border:1px solid var(--line);border-radius:18px;padding:16px;background:linear-gradient(145deg,#152136,#0b1320);box-shadow:inset 1px 1px 0 rgba(255,255,255,.06),0 18px 38px rgba(0,0,0,.26)}
.workstream-node h3{margin:0 0 6px;font-size:16px}
.workstream-node p{margin:0 0 12px;color:var(--muted);font-size:12px}
.gradient-1{background:linear-gradient(145deg,rgba(124,92,255,.30),rgba(9,19,34,.98))}
.gradient-2{background:linear-gradient(145deg,rgba(77,141,255,.25),rgba(9,19,34,.98))}
.gradient-3{background:linear-gradient(145deg,rgba(32,216,118,.20),rgba(9,19,34,.98))}
.gradient-4{background:linear-gradient(145deg,rgba(255,191,71,.20),rgba(9,19,34,.98))}
.gradient-5{background:linear-gradient(145deg,rgba(255,91,122,.18),rgba(9,19,34,.98))}
.mini-employee-grid{display:grid;gap:8px}
.mini-employee-chip{border:1px solid rgba(255,255,255,.10);border-radius:999px;min-height:30px;padding:0 10px 0 4px;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.05);color:#dfe7f4;font-size:11px;text-align:left}
.mini-employee-chip span{width:24px;height:24px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,#f6d7b6,#a6c7ff);color:#0b1220;font-size:9px;font-weight:900;flex:0 0 auto}
.mini-more{color:var(--muted);font-size:11px;padding-left:4px}
.settings-section .admin-grid{align-items:start}

@media(max-width:1280px){.workstream-tree-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:680px){.workstream-tree-grid{grid-template-columns:1fr}.employee-drawer{width:100%}}


/* V21 hierarchy visibility fix */
.hierarchy-section,
.org-tree,
.workstream-tree-grid {
  width: 100%;
}

.workstream-tree-grid {
  align-items: stretch;
}

.hierarchy-card,
.workstream-node {
  min-width: 0;
}


/* V22 Employee badge fix */
.role-badge,
.hero-tags .active-tag {
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  min-height: 36px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  color: #b9ffd9 !important;
  background:
    linear-gradient(135deg, rgba(22, 163, 111, .38), rgba(16, 185, 129, .16)) !important;
  border: 1px solid rgba(52, 211, 153, .62) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 10px 24px rgba(16,185,129,.10) !important;
}

.role-badge::first-letter {
  text-transform: uppercase;
}

@media(max-width:1280px){
  .role-badge,
  .hero-tags .active-tag {
    font-size: 12px !important;
    min-height: 34px !important;
    padding: 0 14px !important;
  }
}


/* V23 Fresh Mobile Responsive Mode */
.mobile-menu-trigger,
.mobile-bottom-nav,
.mobile-sidebar-overlay {
  display: none;
}

body.mobile-nav-lock {
  overflow: hidden !important;
}

@media (max-width: 920px) {
  html, body {
    overflow-x: hidden !important;
  }

  body.app-page {
    padding-bottom: 92px !important;
  }

  .app-frame {
    display: block !important;
    width: 100vw !important;
    min-height: 100dvh !important;
    overflow-x: hidden !important;
  }

  .main-app {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 100dvh !important;
    display: block !important;
    overflow: visible !important;
  }

  .sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: min(292px, 84vw) !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100dvh !important;
    z-index: 1200 !important;
    transform: translateX(-105%) !important;
    transition: transform .28s ease, box-shadow .28s ease !important;
    box-shadow: none !important;
    border-right: 1px solid rgba(124, 92, 255, .24) !important;
  }

  .app-frame.mobile-sidebar-open .sidebar {
    transform: translateX(0) !important;
    box-shadow: 0 24px 90px rgba(0,0,0,.58) !important;
  }

  .mobile-sidebar-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1180 !important;
    background: rgba(2, 6, 14, .70) !important;
    backdrop-filter: blur(10px) !important;
  }

  .mobile-menu-trigger {
    display: grid !important;
    place-items: center !important;
    width: 42px !important;
    height: 42px !important;
    border: 1px solid rgba(124,92,255,.35) !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, rgba(124,92,255,.25), rgba(124,92,255,.10)) !important;
    color: #efe8ff !important;
    font-size: 20px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 14px 30px rgba(0,0,0,.24) !important;
    flex: 0 0 auto !important;
  }

  .topbar {
    height: auto !important;
    min-height: 68px !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 12px 10px !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    background: linear-gradient(180deg, rgba(4,9,20,.98), rgba(4,9,20,.94)) !important;
    backdrop-filter: blur(14px) !important;
  }

  .search-shell {
    width: 100% !important;
    height: 44px !important;
    min-width: 0 !important;
    border-radius: 14px !important;
  }

  .topbar-right {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
  }

  .notification-button {
    width: 40px !important;
    height: 40px !important;
    border-radius: 14px !important;
    flex: 0 0 auto !important;
  }

  .top-user-card {
    max-width: 112px !important;
    min-width: 0 !important;
    gap: 8px !important;
    overflow: hidden !important;
  }

  .tiny-avatar {
    width: 40px !important;
    height: 40px !important;
    font-size: 13px !important;
    flex: 0 0 auto !important;
  }

  .top-user-card strong {
    max-width: 62px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .top-user-card span {
    display: none !important;
  }

  .briefing-ribbon {
    height: 40px !important;
    min-height: 40px !important;
    overflow: hidden !important;
  }

  .briefing-track,
  .ticker-item,
  .ticker-item strong,
  .ticker-item span {
    font-size: 11px !important;
  }

  .dashboard-root {
    height: auto !important;
    min-height: calc(100dvh - 108px) !important;
    padding: 0 12px 20px !important;
    overflow: visible !important;
  }

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

  .dashboard-grid > .hero-card,
  .selected-dashboard > .hero-card,
  .dashboard-grid > .team-panel,
  .selected-dashboard > .team-panel,
  .dashboard-grid > .task-list-panel,
  .selected-dashboard > .task-list-panel,
  .dashboard-grid > .deadline-panel,
  .selected-dashboard > .deadline-panel,
  .dashboard-grid > .section-card,
  .selected-dashboard > .section-card {
    grid-column: 1 / -1 !important;
  }

  .hero-card,
  .selected-hero-card {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    display: block !important;
    padding: 18px 16px !important;
    border-radius: 20px !important;
    overflow: hidden !important;
  }

  .hero-card::after,
  .selected-hero-card::after {
    width: 100% !important;
    height: 118px !important;
    top: auto !important;
    bottom: 0 !important;
    right: 0 !important;
    opacity: .36 !important;
    border-radius: 0 0 20px 20px !important;
  }

  .hero-star,
  .hero-visual,
  .planet-glow,
  .orbit-line {
    display: none !important;
  }

  .hero-copy {
    margin-left: 0 !important;
    max-width: none !important;
  }

  .hero-copy .eyebrow {
    font-size: 10px !important;
    margin-bottom: 8px !important;
  }

  .hero-card h1 {
    margin: 0 0 10px !important;
  }

  .hero-card h1 span {
    font-size: 18px !important;
    line-height: 1.05 !important;
  }

  .hero-card h1 strong {
    font-size: 34px !important;
    line-height: .98 !important;
  }

  .hero-tags {
    gap: 8px !important;
    flex-wrap: wrap !important;
  }

  .tag,
  .role-badge,
  .hero-tags .active-tag {
    min-height: 32px !important;
    padding: 0 12px !important;
    font-size: 11px !important;
  }

  .hero-subline {
    max-width: none !important;
    margin-top: 10px !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  .hero-actions,
  .selected-hero-actions {
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 14px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .hero-actions .gradient-small-button,
  .selected-hero-actions .gradient-small-button {
    grid-column: 1 / -1 !important;
    min-height: 46px !important;
  }

  .secondary-button,
  .gradient-small-button {
    min-height: 42px !important;
    border-radius: 14px !important;
    justify-content: center !important;
  }

  .metric-card {
    grid-column: span 1 !important;
    min-height: 102px !important;
    height: auto !important;
    padding: 14px !important;
    border-radius: 18px !important;
  }

  .metric-card span {
    margin-left: 34px !important;
    font-size: 11px !important;
  }

  .metric-card strong {
    font-size: 28px !important;
    margin-top: 18px !important;
  }

  .metric-card small {
    font-size: 11px !important;
  }

  .metric-icon {
    width: 30px !important;
    height: 30px !important;
    font-size: 13px !important;
  }

  .team-panel,
  .section-card,
  .private-vault {
    padding: 16px 14px !important;
    border-radius: 20px !important;
  }

  .panel-head {
    gap: 12px !important;
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .panel-head h2,
  .section-card h1 {
    font-size: 22px !important;
  }

  .team-cards,
  .directory-cards,
  .info-grid,
  .admin-grid,
  .grid-2,
  .grid-3,
  .grid-4,
  .grid-5,
  .heatmap-grid,
  .workstream-tree-grid {
    grid-template-columns: 1fr !important;
  }

  .employee-tile,
  .workstream-card,
  .spotlight-card,
  .admin-card,
  .workstream-node {
    border-radius: 18px !important;
  }

  .mini-employee-chip {
    min-height: 34px !important;
    font-size: 12px !important;
  }

  .task-row,
  .admin-list-item,
  .briefing-item,
  .activity-row {
    border-radius: 16px !important;
  }

  .task-row {
    min-height: 56px !important;
    padding: 10px 12px !important;
  }

  .modal-backdrop {
    align-items: flex-end !important;
    padding: 0 !important;
  }

  .premium-modal {
    width: 100% !important;
    max-width: none !important;
    max-height: 92dvh !important;
    margin: 0 !important;
    border-radius: 22px 22px 0 0 !important;
  }

  .employee-drawer {
    width: 100% !important;
    border-left: none !important;
    border-radius: 22px 22px 0 0 !important;
    height: min(92dvh, 100%) !important;
    margin-top: auto !important;
    padding: 20px 16px 24px !important;
  }

  .drawer-backdrop {
    justify-content: center !important;
  }

  .mobile-bottom-nav {
    position: fixed !important;
    left: 8px !important;
    right: 8px !important;
    bottom: 8px !important;
    z-index: 1250 !important;
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 6px !important;
    padding: 6px !important;
    border: 1px solid rgba(116, 139, 176, .20) !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, rgba(9,16,30,.96), rgba(8,14,26,.94)) !important;
    box-shadow: 0 18px 46px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.05) !important;
    backdrop-filter: blur(14px) !important;
  }

  .mobile-nav-btn {
    border: 0 !important;
    background: transparent !important;
    color: #b6c2d7 !important;
    min-height: 54px !important;
    border-radius: 16px !important;
    display: grid !important;
    place-items: center !important;
    gap: 3px !important;
    padding: 6px 2px !important;
    text-align: center !important;
  }

  .mobile-nav-btn span {
    font-size: 17px !important;
    line-height: 1 !important;
  }

  .mobile-nav-btn small {
    font-size: 10px !important;
    font-weight: 700 !important;
  }

  .mobile-nav-btn.active {
    color: #fff !important;
    background: linear-gradient(180deg, rgba(124,92,255,.28), rgba(124,92,255,.12)) !important;
  }

  .mobile-nav-primary {
    color: #fff !important;
    background: linear-gradient(135deg, rgba(124,92,255,.96), rgba(77,141,255,.92)) !important;
    box-shadow: 0 14px 30px rgba(92,82,255,.28) !important;
  }
}

@media (max-width: 560px) {
  .topbar {
    grid-template-columns: 40px minmax(0,1fr) auto !important;
    gap: 8px !important;
    padding: 10px 10px 8px !important;
  }

  .search-shell {
    height: 42px !important;
  }

  .top-user-card {
    max-width: 96px !important;
  }

  .top-user-card strong {
    max-width: 52px !important;
    font-size: 12px !important;
  }

  .hero-card h1 strong {
    font-size: 32px !important;
  }

  .dashboard-grid,
  .selected-dashboard {
    grid-template-columns: 1fr !important;
  }

  .hero-actions,
  .selected-hero-actions {
    grid-template-columns: 1fr !important;
  }

  .hero-actions .gradient-small-button,
  .selected-hero-actions .gradient-small-button {
    grid-column: auto !important;
  }

  .metric-card {
    grid-column: span 1 !important;
  }
}

/* Login page mobile polish */
@media (max-width: 920px) {
  .login-page {
    overflow: auto !important;
  }

  .premium-login {
    grid-template-columns: 1fr !important;
    width: min(100% - 20px, 480px) !important;
    padding: 10px 0 !important;
  }

  .login-panel {
    min-height: calc(100dvh - 20px) !important;
    padding: 26px 20px !important;
    border-radius: 22px !important;
  }

  .login-visual {
    display: none !important;
  }

  .login-brand-stack h1 {
    font-size: 25px !important;
  }
}


/* V25 Mobile Scroll Fix Only
   Fixes mobile page scroll lock caused by earlier desktop overflow rules.
   No UI/design/login/data changes.
*/
@media (max-width: 920px) {
  html,
  body {
    height: auto !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    position: static !important;
  }

  body.app-page {
    min-height: 100dvh !important;
    height: auto !important;
    overflow-y: auto !important;
    padding-bottom: 104px !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .app-frame {
    height: auto !important;
    min-height: 100dvh !important;
    overflow: visible !important;
  }

  .main-app {
    height: auto !important;
    min-height: 100dvh !important;
    overflow: visible !important;
    display: block !important;
  }

  .dashboard-root {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding-bottom: 120px !important;
  }

  .dashboard-grid,
  .selected-dashboard,
  .section-card,
  .team-panel,
  .private-vault {
    overflow: visible !important;
  }

  .mobile-bottom-nav {
    position: fixed !important;
  }

  /* Only lock scrolling while mobile sidebar drawer is open */
  body.mobile-nav-lock {
    overflow: hidden !important;
    height: 100dvh !important;
  }

  body.mobile-nav-lock .app-frame {
    height: 100dvh !important;
    overflow: hidden !important;
  }

  .sidebar {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}

/* Modal/drawer internal scrolling on mobile */
@media (max-width: 920px) {
  .premium-modal,
  .modal-card,
  .employee-drawer {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}


/* V26 Blocked Popup + Notification Toast + Bulletin NEW */
.blocked-popup-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(3, 7, 18, .62);
  backdrop-filter: blur(14px);
}

.blocked-popup-card {
  width: min(420px, 100%);
  border-radius: 28px;
  padding: 28px 26px 24px;
  text-align: center;
  color: #f8fbff;
  background:
    radial-gradient(circle at 50% 0%, rgba(245, 158, 11, .18), transparent 32%),
    linear-gradient(180deg, rgba(18, 28, 47, .98), rgba(8, 14, 26, .98));
  border: 1px solid rgba(245, 158, 11, .34);
  box-shadow: 0 34px 100px rgba(0,0,0,.54), inset 0 1px 0 rgba(255,255,255,.08);
}

.blocked-popup-card.severity-critical {
  border-color: rgba(248, 113, 113, .45);
  background:
    radial-gradient(circle at 50% 0%, rgba(239, 68, 68, .20), transparent 34%),
    linear-gradient(180deg, rgba(18, 28, 47, .98), rgba(8, 14, 26, .98));
}

.blocked-popup-card.severity-info {
  border-color: rgba(96, 165, 250, .42);
  background:
    radial-gradient(circle at 50% 0%, rgba(59, 130, 246, .20), transparent 34%),
    linear-gradient(180deg, rgba(18, 28, 47, .98), rgba(8, 14, 26, .98));
}

.blocked-popup-icon {
  width: 58px;
  height: 58px;
  margin: 0 auto 14px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  color: #1f1300;
  background: linear-gradient(135deg, #ffe2a8, #f59e0b);
  font-size: 30px;
  font-weight: 900;
  box-shadow: 0 16px 38px rgba(245,158,11,.26);
}

.blocked-popup-eyebrow {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .20em;
  text-transform: uppercase;
  color: #f8c870;
}

.blocked-popup-card h2 {
  margin: 0 0 10px;
  font-size: 25px;
  letter-spacing: -.04em;
}

.blocked-popup-card p {
  margin: 0;
  color: #b9c3d5;
  line-height: 1.55;
  font-size: 14px;
}

.blocked-popup-contact {
  margin-top: 12px !important;
  color: #e7edf8 !important;
}

.blocked-popup-card button {
  margin-top: 22px;
  width: 100%;
  min-height: 46px;
  border: 0;
  border-radius: 16px;
  color: #0f172a;
  font-weight: 900;
  cursor: pointer;
  background: linear-gradient(135deg, #ffffff, #dbeafe);
  box-shadow: 0 18px 44px rgba(0,0,0,.28);
}

.portal-toast-stack {
  position: fixed;
  right: 18px;
  top: 88px;
  z-index: 2200;
  display: grid;
  gap: 12px;
  width: min(390px, calc(100vw - 28px));
  pointer-events: none;
}

.portal-toast {
  position: relative;
  pointer-events: auto;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  padding: 14px 42px 14px 14px;
  border-radius: 20px;
  color: #f8fbff;
  background:
    radial-gradient(circle at 0% 0%, rgba(124,92,255,.22), transparent 38%),
    linear-gradient(180deg, rgba(14, 24, 41, .98), rgba(7, 13, 24, .98));
  border: 1px solid rgba(124,92,255,.35);
  box-shadow: 0 24px 70px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.06);
  animation: toastIn .24s ease-out;
}

.portal-toast.toast-critical {
  border-color: rgba(248,113,113,.46);
  background:
    radial-gradient(circle at 0% 0%, rgba(239,68,68,.25), transparent 38%),
    linear-gradient(180deg, rgba(14,24,41,.98), rgba(7,13,24,.98));
}

.portal-toast.toast-urgent {
  border-color: rgba(245,158,11,.48);
  background:
    radial-gradient(circle at 0% 0%, rgba(245,158,11,.24), transparent 38%),
    linear-gradient(180deg, rgba(14,24,41,.98), rgba(7,13,24,.98));
}

.portal-toast.toast-important {
  border-color: rgba(168,85,247,.46);
}

.toast-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: rgba(255,255,255,.08);
}

.toast-copy p {
  margin: 0 0 4px;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #aeb9ce;
  font-weight: 900;
}

.toast-copy h3 {
  margin: 0 0 4px;
  font-size: 15px;
  color: #ffffff;
}

.toast-copy span {
  display: block;
  color: #c8d3e4;
  font-size: 13px;
  line-height: 1.38;
}

.toast-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 26px;
  height: 26px;
  border: 0;
  border-radius: 10px;
  color: #dce6f5;
  background: rgba(255,255,255,.08);
  cursor: pointer;
}

.toast-exit {
  animation: toastOut .24s ease-in forwards;
}

@keyframes toastIn {
  from { opacity: 0; transform: translateY(-8px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes toastOut {
  to { opacity: 0; transform: translateY(-8px) scale(.98); }
}

.ticker-item-new {
  color: #fff !important;
  text-shadow: 0 0 18px rgba(245, 158, 11, .18);
}

.ticker-new-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 0 8px;
  margin-right: 8px;
  border-radius: 999px;
  color: #1f1300;
  background: linear-gradient(135deg, #fde68a, #f59e0b);
  font-style: normal;
  font-size: 10px;
  font-weight: 1000;
  letter-spacing: .08em;
  box-shadow: 0 0 18px rgba(245,158,11,.28);
}

@media (max-width: 920px) {
  .blocked-popup-backdrop {
    align-items: end;
    padding: 12px;
  }

  .blocked-popup-card {
    width: 100%;
    border-radius: 24px;
    padding: 24px 20px 20px;
  }

  .portal-toast-stack {
    left: 10px;
    right: 10px;
    top: auto;
    bottom: 88px;
    width: auto;
  }

  .portal-toast {
    border-radius: 18px;
  }
}


/* V27 Premium Notification Bell */
.notification-button {
  color: #8d9ab0 !important;
  transition: transform .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}

.notification-button .badge,
#notificationCount {
  transition: transform .22s ease, opacity .22s ease, background .22s ease;
}

.notification-button:not(.bell-unread) {
  border-color: rgba(141, 154, 176, .20) !important;
  background: rgba(13, 23, 40, .72) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.notification-button:not(.bell-unread) #notificationCount {
  opacity: 0 !important;
  transform: scale(.78) !important;
  pointer-events: none !important;
}

.notification-button.bell-unread {
  color: #ffffff !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(139,92,246,.28), transparent 48%),
    linear-gradient(180deg, rgba(21, 32, 55, .96), rgba(10, 17, 31, .96)) !important;
  border-color: rgba(139,92,246,.56) !important;
  box-shadow:
    0 0 0 1px rgba(139,92,246,.14),
    0 16px 34px rgba(76, 29, 149, .26),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.notification-button.bell-priority-normal,
.notification-button.bell-priority-important {
  border-color: rgba(139,92,246,.58) !important;
  box-shadow:
    0 0 0 1px rgba(139,92,246,.14),
    0 16px 34px rgba(76,29,149,.26),
    0 0 28px rgba(139,92,246,.20) !important;
}

.notification-button.bell-priority-urgent {
  border-color: rgba(245,158,11,.60) !important;
  box-shadow:
    0 0 0 1px rgba(245,158,11,.16),
    0 16px 34px rgba(146,64,14,.24),
    0 0 30px rgba(245,158,11,.22) !important;
}

.notification-button.bell-priority-critical {
  border-color: rgba(239,68,68,.62) !important;
  box-shadow:
    0 0 0 1px rgba(239,68,68,.18),
    0 16px 34px rgba(127,29,29,.26),
    0 0 32px rgba(239,68,68,.24) !important;
}

.notification-button.bell-priority-normal #notificationCount,
.notification-button.bell-priority-important #notificationCount {
  background: linear-gradient(135deg, #8b5cf6, #4f46e5) !important;
}

.notification-button.bell-priority-urgent #notificationCount {
  background: linear-gradient(135deg, #fbbf24, #f97316) !important;
  color: #1f1300 !important;
}

.notification-button.bell-priority-critical #notificationCount {
  background: linear-gradient(135deg, #fb7185, #ef4444) !important;
  color: #ffffff !important;
}

.notification-button.bell-pulse {
  animation: bellPremiumPulse 1.1s ease-in-out infinite;
}

.notification-button.bell-pulse #notificationCount {
  animation: badgeBounce .85s ease-in-out infinite;
}

@keyframes bellPremiumPulse {
  0%, 100% {
    transform: translateY(0) scale(1);
    filter: brightness(1);
  }
  50% {
    transform: translateY(-1px) scale(1.055);
    filter: brightness(1.2);
  }
}

@keyframes badgeBounce {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.16); }
}

@media (max-width: 920px) {
  .notification-button.bell-pulse {
    animation-duration: 1.25s;
  }
}


/* V28 Premium Blocked Popup Polish Only
   Smaller, cleaner, more premium blocked account popup.
   No login logic, backend, dashboard, notification, or mobile layout changes.
*/
.blocked-popup-backdrop {
  background:
    radial-gradient(circle at 50% 20%, rgba(124,92,255,.16), transparent 34%),
    rgba(3, 7, 18, .58) !important;
  backdrop-filter: blur(18px) saturate(1.08) !important;
  padding: 18px !important;
}

.blocked-popup-card {
  width: min(366px, 100%) !important;
  border-radius: 24px !important;
  padding: 22px 22px 20px !important;
  background:
    linear-gradient(180deg, rgba(19, 29, 49, .94), rgba(9, 15, 27, .96)),
    radial-gradient(circle at 50% -8%, rgba(245, 158, 11, .16), transparent 34%) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow:
    0 26px 80px rgba(0, 0, 0, .46),
    inset 0 1px 0 rgba(255,255,255,.09),
    inset 0 -1px 0 rgba(255,255,255,.03) !important;
}

.blocked-popup-card::before {
  content: "";
  display: block;
  width: 54px;
  height: 4px;
  margin: -8px auto 16px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent);
}

.blocked-popup-card.severity-warning {
  border-color: rgba(245, 158, 11, .24) !important;
}

.blocked-popup-card.severity-critical {
  border-color: rgba(248, 113, 113, .34) !important;
  background:
    linear-gradient(180deg, rgba(19, 29, 49, .94), rgba(9, 15, 27, .96)),
    radial-gradient(circle at 50% -8%, rgba(239, 68, 68, .16), transparent 34%) !important;
}

.blocked-popup-card.severity-info {
  border-color: rgba(96, 165, 250, .30) !important;
  background:
    linear-gradient(180deg, rgba(19, 29, 49, .94), rgba(9, 15, 27, .96)),
    radial-gradient(circle at 50% -8%, rgba(59, 130, 246, .16), transparent 34%) !important;
}

.blocked-popup-icon {
  width: 48px !important;
  height: 48px !important;
  margin: 0 auto 12px !important;
  border-radius: 16px !important;
  font-size: 24px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.90), rgba(255,226,168,.96)) !important;
  color: #5b3700 !important;
  box-shadow:
    0 14px 34px rgba(245,158,11,.18),
    inset 0 1px 0 rgba(255,255,255,.55) !important;
}

.blocked-popup-eyebrow {
  margin: 0 0 7px !important;
  font-size: 10px !important;
  letter-spacing: .18em !important;
  color: #f7c873 !important;
  opacity: .92 !important;
}

.blocked-popup-card h2 {
  margin: 0 0 9px !important;
  font-size: 21px !important;
  line-height: 1.1 !important;
  letter-spacing: -.035em !important;
  color: #ffffff !important;
}

.blocked-popup-card p {
  font-size: 13px !important;
  line-height: 1.48 !important;
  color: #b7c1d3 !important;
}

.blocked-popup-contact {
  margin-top: 10px !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  color: #e6edf7 !important;
  font-size: 12.5px !important;
}

.blocked-popup-card button {
  margin-top: 16px !important;
  min-height: 42px !important;
  border-radius: 14px !important;
  font-size: 13px !important;
  letter-spacing: .01em !important;
  color: #07111f !important;
  background:
    linear-gradient(135deg, #ffffff 0%, #e8f0ff 55%, #d8e5ff 100%) !important;
  box-shadow:
    0 14px 34px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.8) !important;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

.blocked-popup-card button:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
  box-shadow:
    0 18px 42px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.85) !important;
}

.blocked-popup-card button:active {
  transform: translateY(0) scale(.99);
}

@media (max-width: 920px) {
  .blocked-popup-backdrop {
    align-items: center !important;
    padding: 14px !important;
  }

  .blocked-popup-card {
    width: min(350px, 100%) !important;
    border-radius: 22px !important;
    padding: 21px 18px 18px !important;
  }

  .blocked-popup-card h2 {
    font-size: 20px !important;
  }

  .blocked-popup-card p {
    font-size: 12.5px !important;
  }

  .blocked-popup-card button {
    min-height: 42px !important;
  }
}


/* V29 Auto Logout + Hero Notification Badge Polish */
.hero-notification-badge.hidden,
#notificationCount.hidden {
  display: none !important;
}

.hero-notification-unread {
  border-color: rgba(139, 92, 246, .48) !important;
  box-shadow:
    0 0 0 1px rgba(139,92,246,.10),
    0 12px 30px rgba(76,29,149,.18) !important;
}

.hero-notification-unread .hero-notification-badge,
.hero-notification-unread .mini-badge {
  background: linear-gradient(135deg, #8b5cf6, #4f46e5) !important;
  color: #fff !important;
  box-shadow: 0 8px 22px rgba(79,70,229,.28) !important;
}

.hero-notification-pulse {
  animation: heroNotificationPulse 1.12s ease-in-out infinite;
}

.hero-notification-pulse .hero-notification-badge,
.hero-notification-pulse .mini-badge {
  animation: badgeBounce .85s ease-in-out infinite;
}

@keyframes heroNotificationPulse {
  0%, 100% {
    transform: translateY(0);
    filter: brightness(1);
  }
  50% {
    transform: translateY(-1px);
    filter: brightness(1.18);
  }
}

.blocked-signout-notice {
  position: fixed;
  top: 22px;
  right: 22px;
  z-index: 9998;
  width: min(360px, calc(100vw - 28px));
  padding: 15px 16px;
  border-radius: 18px;
  color: #fff;
  background:
    radial-gradient(circle at 0% 0%, rgba(245,158,11,.24), transparent 42%),
    linear-gradient(180deg, rgba(14,24,41,.98), rgba(7,13,24,.98));
  border: 1px solid rgba(245,158,11,.34);
  box-shadow: 0 26px 80px rgba(0,0,0,.45);
  animation: toastIn .24s ease-out;
}

.blocked-signout-notice strong {
  display: block;
  margin-bottom: 4px;
  font-size: 14px;
}

.blocked-signout-notice span {
  display: block;
  color: #cbd5e1;
  font-size: 12.5px;
  line-height: 1.38;
}

@media (max-width: 920px) {
  .blocked-signout-notice {
    left: 10px;
    right: 10px;
    top: auto;
    bottom: 92px;
    width: auto;
    border-radius: 18px;
  }
}


/* V30 Test Portal Camera/Mic Gate */
.v30-test-portal-button {
  min-height: 42px !important;
  gap: 8px !important;
}
.v30-test-portal-button span {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  border-radius: 10px;
  background: rgba(139,92,246,.16);
  color: #d9ccff;
}
.v30-test-portal-button strong {
  font-size: 13px;
}
.test-gate-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 18px;
  background: radial-gradient(circle at 50% 15%, rgba(124,92,255,.18), transparent 34%), rgba(3, 7, 18, .62);
  backdrop-filter: blur(18px) saturate(1.08);
}
.test-gate-card {
  position: relative;
  width: min(470px, 100%);
  max-height: min(90dvh, 760px);
  overflow-y: auto;
  border-radius: 26px;
  padding: 24px 22px 20px;
  color: #f8fbff;
  text-align: center;
  background: linear-gradient(180deg, rgba(19, 29, 49, .96), rgba(9, 15, 27, .98)), radial-gradient(circle at 50% -8%, rgba(139,92,246,.18), transparent 34%);
  border: 1px solid rgba(255,255,255,.11);
  box-shadow: 0 28px 90px rgba(0,0,0,.50), inset 0 1px 0 rgba(255,255,255,.09);
}
.test-gate-close {
  position: absolute;
  top: 13px;
  right: 13px;
  width: 31px;
  height: 31px;
  border: 0;
  border-radius: 12px;
  color: #dbe7f6;
  background: rgba(255,255,255,.07);
  cursor: pointer;
}
.test-gate-icon {
  width: 50px;
  height: 50px;
  margin: 0 auto 12px;
  display: grid;
  place-items: center;
  border-radius: 17px;
  font-size: 26px;
  font-weight: 900;
  color: #efe9ff;
  background: linear-gradient(135deg, rgba(139,92,246,.72), rgba(59,130,246,.55));
  box-shadow: 0 16px 38px rgba(76,29,149,.24);
}
.test-gate-eyebrow {
  margin: 0 0 7px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #bda9ff;
}
.test-gate-card h2 {
  margin: 0 0 10px;
  font-size: 22px;
  line-height: 1.12;
  letter-spacing: -.035em;
}
.test-gate-card p {
  margin: 0;
  color: #b7c1d3;
  font-size: 13px;
  line-height: 1.5;
}
.test-gate-preview-wrap {
  position: relative;
  margin: 16px 0 12px;
  height: 150px;
  border-radius: 20px;
  overflow: hidden;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
}
.test-gate-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scaleX(-1);
}
.test-gate-preview-placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
  color: #9eabc0;
  font-size: 12.5px;
}
.test-gate-status-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.test-gate-status {
  padding: 12px;
  border-radius: 16px;
  text-align: left;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.07);
}
.test-gate-status strong {
  display: block;
  margin-bottom: 3px;
  font-size: 12px;
  color: #eef4ff;
}
.test-gate-status span {
  font-size: 12px;
  color: #9ba8bd;
}
.test-gate-status.verified {
  border-color: rgba(34,197,94,.28);
  background: rgba(34,197,94,.075);
}
.test-gate-status.verified span {
  color: #86efac;
}
.test-gate-status.denied {
  border-color: rgba(239,68,68,.30);
  background: rgba(239,68,68,.08);
}
.test-gate-status.denied span {
  color: #fca5a5;
}
.test-gate-note {
  margin-top: 12px !important;
  padding: 10px 12px;
  border-radius: 14px;
  color: #e3ebf7 !important;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
  font-size: 12.2px !important;
}
.test-gate-actions {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 10px;
  margin-top: 14px;
}
.test-gate-primary,
.test-gate-secondary {
  min-height: 43px;
  border: 0;
  border-radius: 15px;
  font-weight: 900;
  cursor: pointer;
}
.test-gate-primary {
  color: #fff;
  background: linear-gradient(135deg, #8b5cf6, #4f46e5);
  box-shadow: 0 14px 32px rgba(79,70,229,.26);
}
.test-gate-primary:disabled {
  opacity: .62;
  cursor: wait;
}
.test-gate-secondary {
  color: #dbe6f5;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.08);
}
#testGateStart {
  grid-column: span 2;
}
@media (max-width: 920px) {
  .test-gate-backdrop {
    align-items: center;
    padding: 12px;
  }
  .test-gate-card {
    width: min(390px, 100%);
    border-radius: 23px;
    padding: 22px 18px 18px;
  }
  .test-gate-preview-wrap {
    height: 132px;
  }
  .test-gate-actions {
    grid-template-columns: 1fr;
  }
  #testGateStart {
    grid-column: auto;
  }
}

/* V31 Test Countdown Lock */
.test-gate-countdown{margin:14px 0 12px;padding:13px 14px;border-radius:18px;background:radial-gradient(circle at 0 0,rgba(245,158,11,.16),transparent 45%),rgba(255,255,255,.045);border:1px solid rgba(245,158,11,.22);text-align:center}
.test-gate-countdown span{display:block;font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#f6c56c;margin-bottom:6px}
.test-gate-countdown strong{display:block;font-size:24px;letter-spacing:.04em;color:#fff;line-height:1.1}
.test-gate-countdown small{display:block;margin-top:6px;color:#c7d2e5;font-size:12px;line-height:1.35}
@media(max-width:920px){.test-gate-countdown strong{font-size:21px}}

/* V32 Internal MCQ Test Portal launcher */
.v32-mcq-button{min-height:42px!important;gap:8px!important}.v32-mcq-button span{min-width:32px;height:24px;display:inline-grid;place-items:center;border-radius:10px;background:rgba(34,197,94,.13);color:#9ff0be;font-size:11px;font-weight:1000}.v32-mcq-button strong{font-size:13px}

/* V33 MCQ Premium Scroll + Mobile Polish */
html.mcq-modal-open,
body.mcq-modal-open {
  overflow: hidden !important;
  height: 100% !important;
}

.mcq-portal-backdrop {
  align-items: center !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

.mcq-portal-shell {
  display: flex !important;
  flex-direction: column !important;
  max-height: min(92dvh, 860px) !important;
  overflow: hidden !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(139,92,246,.16), transparent 34%),
    linear-gradient(180deg, rgba(17, 27, 46, .985), rgba(7, 13, 25, .995)) !important;
}

.mcq-portal-header {
  flex: 0 0 auto !important;
  padding: 22px 24px 16px !important;
}

.mcq-portal-header p {
  font-size: 9.5px !important;
  color: #b7a6ff !important;
}

.mcq-portal-header h2 {
  font-size: clamp(20px, 2.4vw, 26px) !important;
  letter-spacing: -.045em !important;
  line-height: 1.1 !important;
}

.mcq-portal-header span {
  font-size: 12.5px !important;
  color: #b8c4d6 !important;
}

.mcq-portal-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  padding: 16px 24px 24px !important;
  max-height: none !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(148,163,184,.36) transparent;
}

.mcq-portal-body::-webkit-scrollbar,
.mcq-progress-dots::-webkit-scrollbar,
.mcq-results-table-wrap::-webkit-scrollbar {
  width: 7px;
  height: 7px;
}

.mcq-portal-body::-webkit-scrollbar-thumb,
.mcq-progress-dots::-webkit-scrollbar-thumb,
.mcq-results-table-wrap::-webkit-scrollbar-thumb {
  background: rgba(148,163,184,.30);
  border-radius: 999px;
}

.mcq-portal-alert {
  flex: 0 0 auto !important;
  margin: 0 24px 8px !important;
}

.mcq-test-card {
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(139,92,246,.08), transparent 42%),
    rgba(255,255,255,.045) !important;
  transition: transform .18s ease, border-color .18s ease, background .18s ease !important;
}

.mcq-test-card:hover {
  transform: translateY(-1px);
  border-color: rgba(139,92,246,.22) !important;
}

.mcq-attempt-top h3 {
  font-size: clamp(17px, 2.2vw, 21px) !important;
  line-height: 1.42 !important;
  letter-spacing: -.018em !important;
  font-weight: 850 !important;
}

.mcq-attempt-top p,
.mcq-submit-row span,
.mcq-test-card span {
  font-size: 12px !important;
  color: #aebbd0 !important;
}

.mcq-option {
  border-radius: 19px !important;
  padding: 12px 13px !important;
  min-height: 58px !important;
  background: rgba(255,255,255,.042) !important;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease !important;
}

.mcq-option:hover {
  transform: translateY(-1px);
  border-color: rgba(139,92,246,.28) !important;
  background: rgba(139,92,246,.07) !important;
}

.mcq-option span {
  font-size: 13.4px !important;
  line-height: 1.45 !important;
  color: #eaf1fb !important;
}

.mcq-option strong {
  font-size: 13px !important;
  border-radius: 12px !important;
}

.mcq-question-nav {
  position: sticky;
  bottom: 68px;
  z-index: 4;
  padding: 10px 0 8px;
  background: linear-gradient(180deg, rgba(7,13,25,0), rgba(7,13,25,.96) 35%, rgba(7,13,25,.98));
  backdrop-filter: blur(8px);
}

.mcq-submit-row {
  position: sticky;
  bottom: 0;
  z-index: 5;
  margin: 10px -2px 0 !important;
  padding: 12px 2px 2px !important;
  background: linear-gradient(180deg, rgba(7,13,25,0), rgba(7,13,25,.98) 28%);
  backdrop-filter: blur(10px);
}

.mcq-progress-dots {
  max-height: 74px !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-content: flex-start !important;
}

.mcq-progress-dots button {
  flex: 0 0 auto !important;
  min-width: 28px !important;
  height: 28px !important;
  font-size: 10.5px !important;
  border-radius: 9px !important;
}

.mcq-primary-btn,
.mcq-secondary-btn,
.mcq-ghost-btn {
  font-size: 12.5px !important;
  border-radius: 14px !important;
}

.mcq-primary-btn {
  min-height: 42px !important;
}

.mcq-result-card {
  border-radius: 26px !important;
}

.v32-mcq-button {
  white-space: nowrap !important;
}

@media (max-width: 920px) {
  .mcq-portal-backdrop {
    padding: 8px !important;
    align-items: stretch !important;
  }

  .mcq-portal-shell {
    width: 100% !important;
    max-height: 96dvh !important;
    margin: auto 0 !important;
    border-radius: 23px !important;
  }

  .mcq-portal-close {
    top: 11px !important;
    right: 11px !important;
  }

  .mcq-portal-header {
    padding: 18px 16px 12px !important;
  }

  .mcq-portal-header h2 {
    max-width: calc(100% - 44px);
    font-size: 20px !important;
  }

  .mcq-portal-body {
    padding: 12px 14px 16px !important;
  }

  .mcq-section-title {
    display: grid !important;
    gap: 4px !important;
  }

  .mcq-test-card {
    padding: 14px !important;
    gap: 12px !important;
  }

  .mcq-test-card h4 {
    font-size: 15px !important;
    line-height: 1.25 !important;
  }

  .mcq-test-card-side {
    grid-template-columns: 1fr !important;
    justify-items: stretch !important;
    min-width: 0 !important;
  }

  .mcq-attempt-top {
    gap: 10px !important;
    margin-bottom: 12px !important;
  }

  .mcq-attempt-top h3 {
    font-size: 17px !important;
    line-height: 1.4 !important;
  }

  .mcq-option {
    grid-template-columns: 34px 1fr !important;
    gap: 10px !important;
    min-height: 54px !important;
    padding: 11px !important;
  }

  .mcq-option strong {
    width: 31px !important;
    height: 31px !important;
  }

  .mcq-option span {
    font-size: 13px !important;
  }

  .mcq-question-nav {
    bottom: 76px !important;
    padding-top: 8px !important;
  }

  .mcq-submit-row {
    gap: 9px !important;
  }

  .mcq-submit-row .mcq-primary-btn {
    width: 100% !important;
  }

  .mcq-score-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* V34 MCQ Compact Single-Screen Premium UI */
body.v34-mcq-compact .mcq-portal-backdrop,
html.v34-mcq-compact .mcq-portal-backdrop {
  padding: 8px !important;
}

body.v34-mcq-compact .mcq-portal-shell,
html.v34-mcq-compact .mcq-portal-shell {
  width: min(1180px, 100%) !important;
  max-height: 94dvh !important;
  border-radius: 24px !important;
}

body.v34-mcq-compact .mcq-portal-header,
html.v34-mcq-compact .mcq-portal-header {
  padding: 14px 18px 10px !important;
  align-items: center !important;
}

body.v34-mcq-compact .mcq-portal-header p,
html.v34-mcq-compact .mcq-portal-header p {
  font-size: 8.5px !important;
  margin-bottom: 4px !important;
}

body.v34-mcq-compact .mcq-portal-header h2,
html.v34-mcq-compact .mcq-portal-header h2 {
  font-size: clamp(18px, 2vw, 22px) !important;
  margin-bottom: 3px !important;
}

body.v34-mcq-compact .mcq-portal-header span,
html.v34-mcq-compact .mcq-portal-header span {
  font-size: 11.5px !important;
}

body.v34-mcq-compact .mcq-portal-timer,
html.v34-mcq-compact .mcq-portal-timer {
  min-width: 96px !important;
  padding: 8px 10px !important;
  border-radius: 15px !important;
}

body.v34-mcq-compact .mcq-portal-timer small,
html.v34-mcq-compact .mcq-portal-timer small {
  font-size: 8.5px !important;
}

body.v34-mcq-compact .mcq-portal-timer strong,
html.v34-mcq-compact .mcq-portal-timer strong {
  font-size: 21px !important;
}

.mcq-portal-timer.danger {
  border-color: rgba(239,68,68,.35) !important;
  background: rgba(239,68,68,.11) !important;
}

body.v34-mcq-compact .mcq-portal-body,
html.v34-mcq-compact .mcq-portal-body {
  padding: 10px 18px 14px !important;
}

body.v34-mcq-compact .mcq-attempt-top,
html.v34-mcq-compact .mcq-attempt-top {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 12px !important;
  margin-bottom: 9px !important;
  align-items: start !important;
}

body.v34-mcq-compact .mcq-attempt-top p,
html.v34-mcq-compact .mcq-attempt-top p {
  font-size: 11px !important;
  margin-bottom: 5px !important;
}

body.v34-mcq-compact .mcq-attempt-top h3,
html.v34-mcq-compact .mcq-attempt-top h3,
.v34-question-title {
  font-size: clamp(17px, 2vw, 22px) !important;
  line-height: 1.28 !important;
  letter-spacing: -0.02em !important;
  margin: 0 !important;
}

body.v34-mcq-compact .mcq-ghost-btn,
html.v34-mcq-compact .mcq-ghost-btn {
  min-height: 40px !important;
  padding: 0 14px !important;
  font-size: 12px !important;
}

body.v34-mcq-compact .mcq-options,
html.v34-mcq-compact .mcq-options {
  gap: 7px !important;
}

body.v34-mcq-compact .mcq-option,
html.v34-mcq-compact .mcq-option {
  min-height: 46px !important;
  padding: 9px 11px !important;
  border-radius: 15px !important;
  grid-template-columns: 32px 1fr !important;
  gap: 10px !important;
}

body.v34-mcq-compact .mcq-option strong,
html.v34-mcq-compact .mcq-option strong {
  width: 28px !important;
  height: 28px !important;
  border-radius: 10px !important;
  font-size: 12px !important;
}

body.v34-mcq-compact .mcq-option span,
html.v34-mcq-compact .mcq-option span {
  font-size: 12.7px !important;
  line-height: 1.32 !important;
}

.mcq-option.locked {
  opacity: .55 !important;
  cursor: not-allowed !important;
  filter: grayscale(.2);
}

body.v34-mcq-compact .mcq-question-nav,
html.v34-mcq-compact .mcq-question-nav {
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 10px !important;
  margin-top: 9px !important;
  padding: 8px 0 5px !important;
  bottom: 54px !important;
}

body.v34-mcq-compact .mcq-progress-dots,
html.v34-mcq-compact .mcq-progress-dots {
  max-height: 58px !important;
  gap: 4px !important;
  justify-content: center !important;
}

body.v34-mcq-compact .mcq-progress-dots button,
html.v34-mcq-compact .mcq-progress-dots button {
  min-width: 24px !important;
  height: 24px !important;
  font-size: 9.5px !important;
  border-radius: 8px !important;
}

body.v34-mcq-compact .mcq-submit-row,
html.v34-mcq-compact .mcq-submit-row {
  margin-top: 6px !important;
  padding-top: 8px !important;
}

body.v34-mcq-compact .mcq-submit-row span,
html.v34-mcq-compact .mcq-submit-row span {
  font-size: 11.2px !important;
}

body.v34-mcq-compact .mcq-primary-btn,
body.v34-mcq-compact .mcq-secondary-btn,
html.v34-mcq-compact .mcq-primary-btn,
html.v34-mcq-compact .mcq-secondary-btn {
  min-height: 36px !important;
  font-size: 11.5px !important;
  padding: 0 13px !important;
  border-radius: 12px !important;
}

.mcq-final-popup {
  position: fixed;
  inset: 0;
  z-index: 10020;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(3,7,18,.68);
  backdrop-filter: blur(18px);
}

.mcq-final-card {
  width: min(520px, 100%);
  border-radius: 26px;
  padding: 24px;
  text-align: center;
  color: #f8fbff;
  background:
    radial-gradient(circle at 50% -8%, rgba(34,197,94,.16), transparent 34%),
    linear-gradient(180deg, rgba(18, 28, 48, .98), rgba(7, 13, 25, .995));
  border: 1px solid rgba(255,255,255,.11);
  box-shadow: 0 30px 90px rgba(0,0,0,.52);
  position: relative;
}

.mcq-final-popup.failed .mcq-final-card {
  background:
    radial-gradient(circle at 50% -8%, rgba(245,158,11,.16), transparent 34%),
    linear-gradient(180deg, rgba(18, 28, 48, .98), rgba(7, 13, 25, .995));
}

.mcq-final-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 31px;
  height: 31px;
  border: 0;
  border-radius: 12px;
  color: #dbe7f6;
  background: rgba(255,255,255,.07);
  cursor: pointer;
}

.mcq-final-icon {
  width: 54px;
  height: 54px;
  margin: 0 auto 12px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: rgba(34,197,94,.16);
  border: 1px solid rgba(34,197,94,.30);
  color: #86efac;
  font-size: 28px;
  font-weight: 1000;
}

.mcq-final-popup.failed .mcq-final-icon {
  background: rgba(245,158,11,.14);
  border-color: rgba(245,158,11,.30);
  color: #facc15;
}

#mcqFinalEyebrow {
  margin: 0 0 7px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #bda9ff;
}

.mcq-final-card h2 {
  margin: 0 0 9px;
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: -.04em;
}

.mcq-final-card p {
  color: #c7d2e5;
  font-size: 13px;
  line-height: 1.45;
}

.mcq-final-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
  margin: 16px 0;
}

.mcq-final-grid div {
  padding: 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.075);
}

.mcq-final-grid small {
  display: block;
  color: #9fb0c8;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 900;
}

.mcq-final-grid strong {
  display: block;
  margin-top: 4px;
  font-size: 21px;
}

.mcq-final-done {
  width: 100%;
}

@media (max-width: 920px) {
  body.v34-mcq-compact .mcq-portal-shell,
  html.v34-mcq-compact .mcq-portal-shell {
    max-height: 96dvh !important;
    border-radius: 20px !important;
  }

  body.v34-mcq-compact .mcq-portal-header,
  html.v34-mcq-compact .mcq-portal-header {
    padding: 13px 14px 9px !important;
  }

  body.v34-mcq-compact .mcq-portal-header h2,
  html.v34-mcq-compact .mcq-portal-header h2 {
    font-size: 18px !important;
  }

  body.v34-mcq-compact .mcq-attempt-top,
  html.v34-mcq-compact .mcq-attempt-top {
    grid-template-columns: 1fr !important;
  }

  body.v34-mcq-compact .mcq-attempt-top h3,
  html.v34-mcq-compact .mcq-attempt-top h3,
  .v34-question-title {
    font-size: 15.5px !important;
    line-height: 1.32 !important;
  }

  body.v34-mcq-compact .mcq-option,
  html.v34-mcq-compact .mcq-option {
    min-height: 44px !important;
  }

  body.v34-mcq-compact .mcq-question-nav,
  html.v34-mcq-compact .mcq-question-nav {
    grid-template-columns: 1fr !important;
    bottom: 78px !important;
  }

  .mcq-final-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* V35 Fixed Standalone MCQ Test Page */
.v35-hide-old {
  display: none !important;
}

.v35-mcq-page-body {
  margin: 0 !important;
  min-height: 100vh !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 50% -12%, rgba(124,92,255,.22), transparent 38%),
    linear-gradient(180deg, #070b15, #020611 75%) !important;
  color: #f8fbff !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.v35-mcq-page {
  height: 100vh;
  height: 100dvh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  padding: 18px 28px 20px;
  box-sizing: border-box;
}

.v35-mcq-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-bottom: 14px;
}

.v35-brand {
  display: flex;
  align-items: center;
  gap: 14px;
}

.v35-apple {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 17px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.08);
  font-size: 27px;
}

.v35-brand p {
  margin: 0 0 4px;
  color: #a9b9d8;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.v35-brand h1 {
  margin: 0;
  font-size: clamp(23px, 3vw, 34px);
  line-height: 1;
  letter-spacing: -.055em;
}

.v35-back {
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  background: rgba(255,255,255,.075);
  color: #f8fbff;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.v35-card {
  min-height: 0;
  display: flex;
  flex-direction: column;
  border-radius: 26px;
  background:
    radial-gradient(circle at 0 0, rgba(139,92,246,.095), transparent 35%),
    linear-gradient(180deg, rgba(18,28,48,.98), rgba(8,14,26,.995));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 28px 80px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.06);
  overflow: hidden;
}

.v35-loading,
.v35-empty,
.v35-intro {
  height: 100%;
  display: grid;
  place-items: center;
  align-content: center;
  text-align: center;
  padding: 28px;
}

.v35-spinner {
  width: 38px;
  height: 38px;
  border: 3px solid rgba(255,255,255,.12);
  border-top-color: rgba(139,92,246,.9);
  border-radius: 999px;
  animation: v35spin .8s linear infinite;
  margin-bottom: 16px;
}

@keyframes v35spin { to { transform: rotate(360deg); } }

.v35-empty h2,
.v35-loading h2,
.v35-intro h2 {
  margin: 0 0 8px;
  font-size: 25px;
  letter-spacing: -.04em;
}

.v35-empty p,
.v35-loading p,
.v35-muted {
  margin: 0;
  max-width: 720px;
  color: #b8c4d6;
  font-size: 14px;
  line-height: 1.5;
}

.v35-kicker {
  margin: 0 0 8px;
  color: #bda9ff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.v35-intro-grid {
  width: min(760px, 100%);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin: 22px 0;
}

.v35-intro-grid div {
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.075);
}

.v35-intro-grid small {
  display: block;
  margin-bottom: 4px;
  color: #99a9c2;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.v35-intro-grid strong {
  font-size: 20px;
}

.v35-primary,
.v35-secondary {
  border: 0;
  min-height: 38px;
  padding: 0 15px;
  border-radius: 13px;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.v35-primary {
  color: #fff;
  background: linear-gradient(135deg, #8b5cf6, #4f46e5);
  box-shadow: 0 15px 34px rgba(79,70,229,.25);
}

.v35-primary.full {
  width: 100%;
}

.v35-primary.start {
  min-width: 180px;
}

.v35-secondary {
  color: #dce6f6;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.08);
}

.v35-secondary:disabled {
  opacity: .42;
  cursor: not-allowed;
}

.v35-test {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  gap: 9px;
  padding: 16px 18px 14px;
  box-sizing: border-box;
}

.v35-test-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
}

.v35-test-head p {
  margin: 0 0 6px;
  color: #9eb0cf;
  font-size: 12px;
  font-weight: 750;
}

.v35-test-head h2 {
  margin: 0;
  max-width: 1180px;
  font-size: clamp(18px, 2.1vw, 25px);
  line-height: 1.24;
  letter-spacing: -.035em;
}

.v35-question-timer {
  min-width: 118px;
  padding: 10px 12px;
  text-align: center;
  border-radius: 18px;
  background:
    radial-gradient(circle at 50% 0, rgba(245,158,11,.16), transparent 45%),
    rgba(255,255,255,.055);
  border: 1px solid rgba(245,158,11,.28);
}

.v35-question-timer small {
  display: block;
  margin-bottom: 4px;
  color: #f6c56c;
  font-size: 9px;
  font-weight: 1000;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.v35-question-timer strong {
  display: block;
  font-size: 25px;
  line-height: 1;
}

.v35-question-timer.danger {
  border-color: rgba(239,68,68,.45);
  background: rgba(239,68,68,.12);
}

.v35-options {
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 8px;
  overflow-y: auto;
  padding-right: 2px;
  scrollbar-width: thin;
  scrollbar-color: rgba(148,163,184,.32) transparent;
}

.v35-option {
  width: 100%;
  min-height: 48px;
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 12px;
  align-items: center;
  padding: 9px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.045);
  color: #edf4ff;
  text-align: left;
  cursor: pointer;
  transition: transform .14s ease, border-color .14s ease, background .14s ease;
}

.v35-option:hover {
  transform: translateY(-1px);
  border-color: rgba(139,92,246,.30);
  background: rgba(139,92,246,.075);
}

.v35-option.selected {
  border-color: rgba(139,92,246,.60);
  background: rgba(139,92,246,.16);
}

.v35-option.locked {
  opacity: .55;
  cursor: not-allowed;
}

.v35-option strong {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: rgba(139,92,246,.16);
  color: #d8ccff;
  font-size: 13px;
}

.v35-option span {
  font-size: clamp(12.2px, 1.25vw, 14.2px);
  line-height: 1.32;
  font-weight: 650;
}

.v35-nav {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding-top: 6px;
  border-top: 1px solid rgba(255,255,255,.065);
}

.v35-progress {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px;
  max-height: 56px;
  overflow-y: auto;
  scrollbar-width: thin;
}

.v35-progress button {
  min-width: 24px;
  height: 24px;
  border: 0;
  border-radius: 8px;
  color: #9faec7;
  background: rgba(255,255,255,.06);
  font-size: 9.5px;
  font-weight: 900;
  cursor: pointer;
}

.v35-progress button.answered {
  background: rgba(34,197,94,.16);
  color: #9ff0be;
}

.v35-progress button.timeout {
  background: rgba(239,68,68,.15);
  color: #fca5a5;
}

.v35-progress button.active {
  outline: 2px solid rgba(139,92,246,.62);
  color: #fff;
}

.v35-submitbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.v35-submitbar span {
  color: #aebbd0;
  font-size: 11.5px;
}

.v35-result-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(3,7,18,.70);
  backdrop-filter: blur(18px);
}

.v35-result-card {
  width: min(520px, 100%);
  position: relative;
  padding: 24px;
  border-radius: 26px;
  text-align: center;
  background:
    radial-gradient(circle at 50% -10%, rgba(34,197,94,.17), transparent 34%),
    linear-gradient(180deg, rgba(18,28,48,.98), rgba(7,13,25,.995));
  border: 1px solid rgba(255,255,255,.11);
  box-shadow: 0 30px 90px rgba(0,0,0,.55);
}

.v35-result-card.failed {
  background:
    radial-gradient(circle at 50% -10%, rgba(245,158,11,.17), transparent 34%),
    linear-gradient(180deg, rgba(18,28,48,.98), rgba(7,13,25,.995));
}

.v35-result-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 31px;
  height: 31px;
  border: 0;
  border-radius: 12px;
  color: #dbe7f6;
  background: rgba(255,255,255,.07);
  cursor: pointer;
}

.v35-result-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  margin: 0 auto 12px;
  border-radius: 18px;
  color: #86efac;
  background: rgba(34,197,94,.15);
  border: 1px solid rgba(34,197,94,.30);
  font-size: 28px;
  font-weight: 1000;
}

.v35-result-card.failed .v35-result-icon {
  color: #facc15;
  background: rgba(245,158,11,.15);
  border-color: rgba(245,158,11,.32);
}

.v35-result-card p {
  margin: 0 0 7px;
  color: #bda9ff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.v35-result-card h2 {
  margin: 0 0 9px;
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: -.04em;
}

.v35-result-card > span {
  display: block;
  color: #c7d2e5;
  font-size: 13px;
  line-height: 1.45;
}

.v35-result-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
  margin: 16px 0;
}

.v35-result-grid div {
  padding: 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.075);
}

.v35-result-grid small {
  display: block;
  color: #9fb0c8;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 900;
}

.v35-result-grid strong {
  display: block;
  margin-top: 4px;
  font-size: 21px;
}

.hidden {
  display: none !important;
}

@media (max-width: 920px) {
  .v35-mcq-page {
    padding: 10px;
  }

  .v35-mcq-topbar {
    margin-bottom: 9px;
  }

  .v35-apple {
    display: none;
  }

  .v35-brand h1 {
    font-size: 20px;
  }

  .v35-back {
    min-height: 36px;
    padding: 0 12px;
    font-size: 12px;
  }

  .v35-card {
    border-radius: 20px;
  }

  .v35-test {
    padding: 11px;
    gap: 7px;
  }

  .v35-test-head {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .v35-test-head h2 {
    font-size: clamp(14px, 4.2vw, 17px);
    line-height: 1.28;
  }

  .v35-question-timer {
    width: fit-content;
    min-width: 96px;
    padding: 8px 10px;
  }

  .v35-question-timer strong {
    font-size: 21px;
  }

  .v35-option {
    min-height: 43px;
    grid-template-columns: 30px 1fr;
    gap: 9px;
    padding: 8px 9px;
    border-radius: 14px;
  }

  .v35-option strong {
    width: 27px;
    height: 27px;
  }

  .v35-option span {
    font-size: 12px;
    line-height: 1.25;
  }

  .v35-nav {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .v35-progress {
    order: -1;
    max-height: 50px;
  }

  .v35-submitbar {
    display: grid;
    gap: 8px;
  }

  .v35-submitbar .v35-primary {
    width: 100%;
  }

  .v35-intro-grid,
  .v35-result-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* V36 MCQ One-Screen Fix: Apple logo + remove 1-150 grid + compact fit */
html.v36-one-screen,
body.v36-one-screen,
.v35-mcq-page-body {
  overflow: hidden !important;
}

.v35-mcq-page {
  height: 100vh !important;
  height: 100dvh !important;
  padding: 12px 26px 14px !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
}

.v35-mcq-topbar {
  margin-bottom: 8px !important;
}

.v35-brand {
  gap: 12px !important;
}

.v35-apple {
  width: 46px !important;
  height: 46px !important;
  border-radius: 17px !important;
  background: linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  color: #ffffff !important;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI Symbol", sans-serif !important;
  font-size: 34px !important;
  line-height: 1 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 16px 30px rgba(0,0,0,.22);
}

.v35-brand p {
  font-size: 9px !important;
  margin-bottom: 3px !important;
  letter-spacing: .20em !important;
}

.v35-brand h1 {
  font-size: clamp(22px, 2.6vw, 32px) !important;
}

.v35-back {
  min-height: 38px !important;
  padding: 0 16px !important;
  border-radius: 15px !important;
  font-size: 12.5px !important;
}

.v35-card {
  border-radius: 24px !important;
}

.v35-test {
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto auto !important;
  gap: 7px !important;
  padding: 12px 16px 12px !important;
}

.v35-test-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 112px !important;
  gap: 12px !important;
  align-items: start !important;
}

.v35-test-head p {
  font-size: 11px !important;
  margin-bottom: 4px !important;
  color: #a9bbdb !important;
}

.v35-test-head h2 {
  font-size: clamp(17px, 1.85vw, 23px) !important;
  line-height: 1.20 !important;
  letter-spacing: -.035em !important;
  max-height: 82px !important;
  overflow: hidden !important;
}

.v35-question-timer {
  min-width: 0 !important;
  width: 112px !important;
  padding: 8px 8px !important;
  border-radius: 16px !important;
}

.v35-question-timer small {
  font-size: 8px !important;
  letter-spacing: .12em !important;
  margin-bottom: 3px !important;
}

.v35-question-timer strong {
  font-size: 23px !important;
}

.v35-options {
  min-height: 0 !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-rows: repeat(4, minmax(42px, 1fr)) !important;
  gap: 7px !important;
  align-content: stretch !important;
}

.v35-option {
  min-height: 0 !important;
  height: 100% !important;
  padding: 7px 10px !important;
  border-radius: 15px !important;
  grid-template-columns: 30px 1fr !important;
  gap: 9px !important;
}

.v35-option strong {
  width: 27px !important;
  height: 27px !important;
  font-size: 12px !important;
  border-radius: 10px !important;
}

.v35-option span {
  font-size: clamp(11.8px, 1.05vw, 13.2px) !important;
  line-height: 1.22 !important;
  font-weight: 650 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.v35-nav {
  display: grid !important;
  grid-template-columns: 116px minmax(0, 1fr) 116px !important;
  gap: 10px !important;
  align-items: center !important;
  padding-top: 6px !important;
  border-top: 1px solid rgba(255,255,255,.065) !important;
}

.v35-progress,
.v36-progress-hidden {
  max-height: none !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  color: #b8c6dc !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 13px !important;
  min-height: 36px !important;
}

.v35-progress button {
  display: none !important;
}

.v35-secondary,
.v35-primary {
  min-height: 36px !important;
  border-radius: 13px !important;
  font-size: 12px !important;
  padding: 0 12px !important;
}

.v35-submitbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 138px !important;
  align-items: center !important;
  gap: 10px !important;
}

.v35-submitbar span {
  font-size: 11.2px !important;
  color: #aebbd0 !important;
}

.v35-submitbar .v35-primary {
  width: 100% !important;
  min-height: 40px !important;
}

/* Make no page scroll required on common laptop height */
@media (max-height: 760px) {
  .v35-mcq-page {
    padding-top: 9px !important;
    padding-bottom: 10px !important;
  }

  .v35-apple {
    width: 40px !important;
    height: 40px !important;
    font-size: 30px !important;
  }

  .v35-brand h1 {
    font-size: clamp(20px, 2.2vw, 28px) !important;
  }

  .v35-test {
    gap: 6px !important;
    padding: 10px 14px !important;
  }

  .v35-test-head h2 {
    font-size: clamp(15.5px, 1.65vw, 20px) !important;
    max-height: 72px !important;
  }

  .v35-options {
    gap: 6px !important;
  }

  .v35-option {
    padding: 6px 9px !important;
  }

  .v35-option span {
    font-size: clamp(11px, .95vw, 12.4px) !important;
    line-height: 1.18 !important;
  }
}

@media (max-width: 920px) {
  .v35-mcq-page {
    padding: 8px !important;
  }

  .v35-mcq-topbar {
    gap: 8px !important;
  }

  .v35-apple {
    display: grid !important;
    width: 36px !important;
    height: 36px !important;
    font-size: 27px !important;
    border-radius: 14px !important;
  }

  .v35-brand h1 {
    font-size: 18px !important;
  }

  .v35-brand p {
    font-size: 7.5px !important;
  }

  .v35-back {
    min-height: 34px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
  }

  .v35-card {
    border-radius: 18px !important;
  }

  .v35-test {
    padding: 9px !important;
    gap: 6px !important;
  }

  .v35-test-head {
    grid-template-columns: 1fr 92px !important;
    gap: 8px !important;
  }

  .v35-test-head p {
    font-size: 10px !important;
  }

  .v35-test-head h2 {
    font-size: clamp(13px, 3.7vw, 16px) !important;
    line-height: 1.18 !important;
    max-height: 58px !important;
  }

  .v35-question-timer {
    width: 92px !important;
    padding: 6px !important;
    border-radius: 13px !important;
  }

  .v35-question-timer small {
    font-size: 7px !important;
  }

  .v35-question-timer strong {
    font-size: 18px !important;
  }

  .v35-options {
    grid-template-rows: repeat(4, minmax(38px, 1fr)) !important;
    gap: 5px !important;
  }

  .v35-option {
    grid-template-columns: 27px 1fr !important;
    gap: 7px !important;
    padding: 6px 7px !important;
    border-radius: 13px !important;
  }

  .v35-option strong {
    width: 24px !important;
    height: 24px !important;
    font-size: 11px !important;
  }

  .v35-option span {
    font-size: 10.8px !important;
    line-height: 1.15 !important;
    -webkit-line-clamp: 2 !important;
  }

  .v35-nav {
    grid-template-columns: 1fr 1fr !important;
    gap: 7px !important;
  }

  .v36-progress-hidden {
    grid-column: 1 / -1 !important;
    order: -1 !important;
    min-height: 28px !important;
    font-size: 10.5px !important;
  }

  .v35-submitbar {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }

  .v35-submitbar span {
    font-size: 10px !important;
  }
}


/* V37 MCQ Logo + Balanced Aspect Ratio + One Attempt Polish */
html.v37-mcq-ratio,
body.v37-mcq-ratio {
  overflow: hidden !important;
}

.v37-apple-svg {
  width: 27px;
  height: 27px;
  display: block;
  fill: #ffffff;
  filter: drop-shadow(0 8px 14px rgba(255,255,255,.08));
}

.v35-apple {
  display: grid !important;
  place-items: center !important;
  color: #ffffff !important;
  background:
    radial-gradient(circle at 35% 20%, rgba(255,255,255,.16), transparent 45%),
    linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.035)) !important;
}

.v35-mcq-page {
  max-width: 1480px !important;
  margin: 0 auto !important;
  width: 100% !important;
  padding: 14px 28px 16px !important;
}

.v35-mcq-topbar {
  max-width: 1420px !important;
  width: 100% !important;
  margin: 0 auto 10px !important;
}

.v35-card {
  width: min(1420px, 100%) !important;
  max-height: calc(100dvh - 106px) !important;
  margin: 0 auto !important;
  border-radius: 24px !important;
}

/* Intro screen no longer looks stretched */
.v35-intro {
  width: min(980px, 100%) !important;
  margin: 0 auto !important;
  padding: 34px 22px !important;
  align-content: center !important;
}

.v35-intro .v35-kicker,
.v35-intro h2,
.v35-intro .v35-muted {
  max-width: 840px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.v35-intro h2 {
  font-size: clamp(28px, 3.1vw, 42px) !important;
  line-height: 1.05 !important;
}

.v35-muted {
  font-size: clamp(14px, 1.35vw, 18px) !important;
  line-height: 1.45 !important;
}

.v35-intro-grid {
  width: min(860px, 100%) !important;
  gap: 12px !important;
}

.v35-intro-grid div {
  padding: 13px 14px !important;
  border-radius: 18px !important;
}

.v35-intro-grid strong {
  font-size: clamp(21px, 2vw, 29px) !important;
}

/* Test area balanced, less stretched */
.v35-test {
  width: min(1380px, 100%) !important;
  margin: 0 auto !important;
  padding: 12px 18px 12px !important;
}

.v35-test-head h2 {
  font-size: clamp(16px, 1.65vw, 22px) !important;
  max-width: 1120px !important;
}

.v35-options {
  max-width: 1320px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

.v35-option {
  max-width: 100% !important;
}

.v35-nav,
.v35-submitbar {
  max-width: 1320px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* submitted/locked display */
.v35-empty {
  width: min(740px, 100%) !important;
  margin: 0 auto !important;
}

.v35-empty h2 {
  font-size: clamp(24px, 2.4vw, 34px) !important;
}

.v35-empty p {
  font-size: 14px !important;
}

@media (min-width: 1500px) {
  .v35-mcq-page {
    padding-left: 42px !important;
    padding-right: 42px !important;
  }

  .v35-card {
    width: min(1360px, 100%) !important;
  }
}

@media (max-width: 920px) {
  .v37-apple-svg {
    width: 22px !important;
    height: 22px !important;
  }

  .v35-mcq-page {
    padding: 8px !important;
  }

  .v35-card {
    max-height: calc(100dvh - 62px) !important;
  }

  .v35-intro {
    padding: 18px 12px !important;
  }

  .v35-intro h2 {
    font-size: 24px !important;
  }

  .v35-muted {
    font-size: 13px !important;
  }

  .v35-intro-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
}


/* V38 Final Compact MCQ Layout - target 1366x768 laptop */
html.v38-final-compact,
body.v38-final-compact,
.v35-mcq-page-body {
  overflow: hidden !important;
}

/* Overall page: not stretched, centered, compact */
.v38-final-compact .v35-mcq-page,
.v35-mcq-page {
  width: min(100%, 1280px) !important;
  height: 100dvh !important;
  margin: 0 auto !important;
  padding: 10px 18px 12px !important;
  display: grid !important;
  grid-template-rows: 54px minmax(0, 1fr) !important;
  box-sizing: border-box !important;
}

/* Header compact and premium */
.v38-final-compact .v35-mcq-topbar,
.v35-mcq-topbar {
  width: 100% !important;
  margin: 0 auto 7px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: 50px !important;
}

.v38-final-compact .v35-brand,
.v35-brand {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}

.v38-logo-box,
.v38-final-compact .v35-apple,
.v35-apple {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  border-radius: 16px !important;
  display: grid !important;
  place-items: center !important;
  background:
    radial-gradient(circle at 38% 22%, rgba(255,255,255,.18), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.115), rgba(255,255,255,.038)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 13px 24px rgba(0,0,0,.22) !important;
  overflow: hidden !important;
  color: #fff !important;
  font-size: 0 !important;
}

.v38-apple-mark {
  width: 29px !important;
  height: 29px !important;
  display: block !important;
  fill: #ffffff !important;
}

.v38-apple-mark .v38-leaf,
.v38-apple-mark .v38-body {
  fill: #ffffff !important;
}

.v38-final-compact .v35-brand p,
.v35-brand p {
  font-size: 8px !important;
  line-height: 1 !important;
  letter-spacing: .20em !important;
  margin: 0 0 3px !important;
  color: #aabce1 !important;
}

.v38-final-compact .v35-brand h1,
.v35-brand h1 {
  margin: 0 !important;
  font-size: clamp(20px, 2.2vw, 29px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.055em !important;
  white-space: nowrap !important;
}

.v38-final-compact .v35-back,
.v35-back {
  min-height: 36px !important;
  padding: 0 14px !important;
  border-radius: 14px !important;
  font-size: 11.8px !important;
  white-space: nowrap !important;
}

/* Balanced card: narrower than full screen, no stretched feeling */
.v38-balanced-card,
.v38-final-compact .v35-card,
.v35-card {
  width: min(100%, 1220px) !important;
  height: calc(100dvh - 82px) !important;
  max-height: 650px !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  border-radius: 22px !important;
  overflow: hidden !important;
}

/* Intro is not stretched */
.v38-final-compact .v35-intro,
.v35-intro {
  width: min(820px, 100%) !important;
  margin: 0 auto !important;
  padding: 24px 18px !important;
  align-content: center !important;
}

.v38-final-compact .v35-intro h2,
.v35-intro h2 {
  font-size: clamp(25px, 2.7vw, 36px) !important;
}

.v38-final-compact .v35-muted,
.v35-muted {
  font-size: clamp(13px, 1.15vw, 16px) !important;
  line-height: 1.42 !important;
}

.v38-final-compact .v35-intro-grid,
.v35-intro-grid {
  width: min(740px, 100%) !important;
  gap: 10px !important;
  margin: 18px auto !important;
}

.v38-final-compact .v35-intro-grid div,
.v35-intro-grid div {
  padding: 11px 12px !important;
  border-radius: 16px !important;
}

/* Test layout: fixed rows so 4 options are visible */
.v38-final-compact .v35-test,
.v35-test {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 10px 14px 10px !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-rows: auto minmax(178px, 1fr) 36px 42px !important;
  gap: 6px !important;
}

.v38-final-compact .v35-test-head,
.v35-test-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 104px !important;
  gap: 10px !important;
  align-items: start !important;
  max-height: 104px !important;
  overflow: hidden !important;
}

.v38-final-compact .v35-test-head p,
.v35-test-head p {
  font-size: 10px !important;
  line-height: 1.1 !important;
  margin: 0 0 4px !important;
  color: #a9bbdb !important;
}

.v38-final-compact .v35-test-head h2,
.v35-test-head h2 {
  font-size: clamp(15.2px, 1.55vw, 20px) !important;
  line-height: 1.17 !important;
  letter-spacing: -.03em !important;
  max-width: none !important;
  max-height: 76px !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
}

.v38-final-compact .v35-question-timer,
.v35-question-timer {
  width: 104px !important;
  min-width: 104px !important;
  padding: 7px 7px !important;
  border-radius: 15px !important;
}

.v38-final-compact .v35-question-timer small,
.v35-question-timer small {
  font-size: 7.5px !important;
  margin-bottom: 3px !important;
  letter-spacing: .12em !important;
}

.v38-final-compact .v35-question-timer strong,
.v35-question-timer strong {
  font-size: 22px !important;
  line-height: 1 !important;
}

/* Important: options never scroll; four rows visible */
.v38-options-fit,
.v38-final-compact .v35-options,
.v35-options {
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-rows: repeat(4, minmax(38px, 1fr)) !important;
  gap: 6px !important;
  align-content: stretch !important;
  padding: 0 !important;
}

.v38-final-compact .v35-option,
.v35-option {
  min-height: 0 !important;
  height: 100% !important;
  max-height: none !important;
  padding: 6px 9px !important;
  border-radius: 14px !important;
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  gap: 8px !important;
  align-items: center !important;
}

.v38-final-compact .v35-option strong,
.v35-option strong {
  width: 25px !important;
  height: 25px !important;
  border-radius: 9px !important;
  font-size: 11px !important;
  line-height: 1 !important;
}

.v38-final-compact .v35-option span,
.v35-option span {
  font-size: clamp(10.8px, .95vw, 12.2px) !important;
  line-height: 1.16 !important;
  font-weight: 650 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Bottom controls compact */
.v38-final-compact .v35-nav,
.v35-nav {
  display: grid !important;
  grid-template-columns: 108px minmax(0, 1fr) 108px !important;
  gap: 8px !important;
  align-items: center !important;
  padding: 4px 0 0 !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
  min-height: 36px !important;
}

.v38-progress-label,
.v38-final-compact .v35-progress,
.v35-progress {
  display: grid !important;
  place-items: center !important;
  min-height: 32px !important;
  max-height: 32px !important;
  overflow: hidden !important;
  padding: 0 8px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.043) !important;
  border: 1px solid rgba(255,255,255,.065) !important;
  color: #b8c6dc !important;
  font-size: 11.5px !important;
  font-weight: 850 !important;
}

.v38-final-compact .v35-progress button,
.v35-progress button {
  display: none !important;
}

.v38-final-compact .v35-secondary,
.v38-final-compact .v35-primary,
.v35-secondary,
.v35-primary {
  min-height: 32px !important;
  border-radius: 12px !important;
  padding: 0 11px !important;
  font-size: 11px !important;
}

.v38-final-compact .v35-submitbar,
.v35-submitbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 128px !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 40px !important;
}

.v38-final-compact .v35-submitbar span,
.v35-submitbar span {
  font-size: 10.5px !important;
  line-height: 1.2 !important;
  color: #b2c0d6 !important;
}

.v38-final-compact .v35-submitbar .v35-primary,
.v35-submitbar .v35-primary {
  width: 100% !important;
  min-height: 36px !important;
}

/* Smaller laptop height */
@media (max-height: 720px) {
  .v38-final-compact .v35-mcq-page,
  .v35-mcq-page {
    padding: 7px 16px 9px !important;
    grid-template-rows: 48px minmax(0, 1fr) !important;
  }

  .v38-final-compact .v35-card,
  .v35-card {
    height: calc(100dvh - 64px) !important;
    max-height: none !important;
  }

  .v38-final-compact .v35-test,
  .v35-test {
    grid-template-rows: auto minmax(160px, 1fr) 32px 36px !important;
    gap: 5px !important;
    padding: 8px 12px !important;
  }

  .v38-final-compact .v35-test-head h2,
  .v35-test-head h2 {
    font-size: clamp(14px, 1.35vw, 18px) !important;
    line-height: 1.14 !important;
    max-height: 58px !important;
    -webkit-line-clamp: 3 !important;
  }

  .v38-final-compact .v35-options,
  .v35-options {
    gap: 5px !important;
  }

  .v38-final-compact .v35-option,
  .v35-option {
    padding: 5px 8px !important;
  }

  .v38-final-compact .v35-option span,
  .v35-option span {
    font-size: clamp(10px, .85vw, 11.4px) !important;
    line-height: 1.12 !important;
  }
}

/* Mobile */
@media (max-width: 920px) {
  .v38-final-compact .v35-mcq-page,
  .v35-mcq-page {
    width: 100% !important;
    padding: 7px !important;
    grid-template-rows: 44px minmax(0, 1fr) !important;
  }

  .v38-final-compact .v35-brand h1,
  .v35-brand h1 {
    font-size: 17px !important;
  }

  .v38-logo-box,
  .v38-final-compact .v35-apple,
  .v35-apple {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    border-radius: 13px !important;
  }

  .v38-apple-mark {
    width: 23px !important;
    height: 23px !important;
  }

  .v38-final-compact .v35-back,
  .v35-back {
    min-height: 32px !important;
    padding: 0 9px !important;
    font-size: 10.5px !important;
  }

  .v38-final-compact .v35-card,
  .v35-card {
    height: calc(100dvh - 55px) !important;
    border-radius: 18px !important;
  }

  .v38-final-compact .v35-test,
  .v35-test {
    grid-template-rows: auto minmax(160px, 1fr) 66px 50px !important;
    padding: 8px !important;
    gap: 5px !important;
  }

  .v38-final-compact .v35-test-head,
  .v35-test-head {
    grid-template-columns: 1fr 84px !important;
    gap: 7px !important;
  }

  .v38-final-compact .v35-test-head h2,
  .v35-test-head h2 {
    font-size: clamp(12px, 3.3vw, 15px) !important;
    line-height: 1.13 !important;
    max-height: 52px !important;
  }

  .v38-final-compact .v35-question-timer,
  .v35-question-timer {
    width: 84px !important;
    min-width: 84px !important;
    padding: 5px !important;
  }

  .v38-final-compact .v35-question-timer strong,
  .v35-question-timer strong {
    font-size: 17px !important;
  }

  .v38-final-compact .v35-option,
  .v35-option {
    grid-template-columns: 24px 1fr !important;
    gap: 6px !important;
    padding: 5px 6px !important;
  }

  .v38-final-compact .v35-option strong,
  .v35-option strong {
    width: 22px !important;
    height: 22px !important;
    font-size: 10px !important;
  }

  .v38-final-compact .v35-option span,
  .v35-option span {
    font-size: 10px !important;
    line-height: 1.1 !important;
  }

  .v38-final-compact .v35-nav,
  .v35-nav {
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
  }

  .v38-final-compact .v35-progress,
  .v35-progress {
    grid-column: 1 / -1 !important;
    order: -1 !important;
    min-height: 26px !important;
    max-height: 26px !important;
    font-size: 10px !important;
  }

  .v38-final-compact .v35-submitbar,
  .v35-submitbar {
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }

  .v38-final-compact .v35-submitbar .v35-primary,
  .v35-submitbar .v35-primary {
    min-height: 32px !important;
  }
}


/* V39 MCQ Timer Status + Login Front Page Polish */

/* MCQ timer: avoid ugly "Answered" overflow */
.v35-question-timer.answered,
.v35-question-timer.locked {
  border-color: rgba(34,197,94,.34) !important;
  background:
    radial-gradient(circle at 50% 0, rgba(34,197,94,.14), transparent 45%),
    rgba(34,197,94,.075) !important;
}

.v35-question-timer.locked {
  border-color: rgba(148,163,184,.28) !important;
  background:
    radial-gradient(circle at 50% 0, rgba(148,163,184,.12), transparent 45%),
    rgba(148,163,184,.055) !important;
}

.v35-question-timer.answered small {
  color: #86efac !important;
}

.v35-question-timer.locked small {
  color: #cbd5e1 !important;
}

.v35-question-timer.answered strong,
.v35-question-timer.locked strong {
  font-size: 20px !important;
  letter-spacing: .04em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}

/* Front/login page premium polish without touching auth logic */
html.v39-login-polish,
body.v39-login-polish {
  min-height: 100dvh !important;
  background:
    radial-gradient(circle at 14% 6%, rgba(124,92,255,.20), transparent 30%),
    radial-gradient(circle at 86% 12%, rgba(59,130,246,.14), transparent 32%),
    linear-gradient(180deg, #070b15 0%, #030712 100%) !important;
  color: #f8fbff !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

/* Common login containers */
.v39-login-polish .login-container,
.v39-login-polish .login-card,
.v39-login-polish .auth-card,
.v39-login-polish .signin-card,
.v39-login-polish .card,
.v39-login-polish form {
  border-radius: 26px !important;
}

.v39-login-polish form {
  max-width: 430px !important;
}

/* If the page uses a central panel/card */
.v39-login-polish body > main,
.v39-login-polish .page,
.v39-login-polish .login-page,
.v39-login-polish .auth-page,
.v39-login-polish .container {
  min-height: 100dvh !important;
}

/* Card visual polish */
.v39-login-polish .login-card,
.v39-login-polish .auth-card,
.v39-login-polish .signin-card,
.v39-login-polish .form-card,
.v39-login-polish form {
  background:
    radial-gradient(circle at 50% -10%, rgba(139,92,246,.15), transparent 36%),
    linear-gradient(180deg, rgba(17,27,46,.94), rgba(8,14,26,.97)) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  box-shadow: 0 32px 90px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.07) !important;
}

/* Text and headings */
.v39-login-polish h1,
.v39-login-polish h2,
.v39-login-polish h3 {
  color: #ffffff !important;
  letter-spacing: -.04em !important;
}

.v39-login-polish p,
.v39-login-polish label,
.v39-login-polish span {
  color: #b8c4d6;
}

/* Inputs */
.v39-login-polish input,
.v39-login-polish select,
.v39-login-polish textarea {
  min-height: 44px !important;
  border-radius: 15px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.055) !important;
  color: #f8fbff !important;
  outline: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.v39-login-polish input::placeholder {
  color: rgba(203,213,225,.58) !important;
}

.v39-login-polish input:focus {
  border-color: rgba(139,92,246,.55) !important;
  box-shadow: 0 0 0 3px rgba(139,92,246,.16), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

/* Buttons */
.v39-login-polish button,
.v39-login-polish .button,
.v39-login-polish [type="submit"] {
  min-height: 44px !important;
  border-radius: 15px !important;
  border: 0 !important;
  font-weight: 900 !important;
  color: #fff !important;
  background: linear-gradient(135deg, #8b5cf6, #4f46e5) !important;
  box-shadow: 0 16px 34px rgba(79,70,229,.28) !important;
  cursor: pointer !important;
}

.v39-login-polish button:hover,
.v39-login-polish [type="submit"]:hover {
  transform: translateY(-1px);
}

/* Logo/top polish if available */
.v39-login-polish .logo,
.v39-login-polish .brand,
.v39-login-polish .brand-logo {
  filter: drop-shadow(0 14px 28px rgba(0,0,0,.25));
}

/* Remove cheap borders/backgrounds from sections */
.v39-login-polish .feature-card,
.v39-login-polish .info-card,
.v39-login-polish .meta-card {
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 18px !important;
}

/* Mobile login fit */
@media (max-width: 720px) {
  .v39-login-polish form,
  .v39-login-polish .login-card,
  .v39-login-polish .auth-card,
  .v39-login-polish .signin-card {
    width: min(94vw, 430px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .v39-login-polish h1 {
    font-size: 28px !important;
  }

  .v39-login-polish h2 {
    font-size: 22px !important;
  }
}


/* V40 Login + Full Site Mobile Optimization */

/* Global scroll and sizing stability */
html.v40-responsive {
  width: 100%;
  min-height: 100%;
  overflow-x: hidden !important;
  scroll-behavior: smooth;
}

body.v40-responsive {
  width: 100%;
  min-height: 100dvh;
  overflow-x: hidden !important;
  -webkit-text-size-adjust: 100%;
  text-rendering: geometricPrecision;
}

.v40-responsive *,
.v40-responsive *::before,
.v40-responsive *::after {
  box-sizing: border-box;
}

.v40-responsive img,
.v40-responsive svg,
.v40-responsive video,
.v40-responsive canvas {
  max-width: 100%;
}

/* ---------------- LOGIN / FRONT PAGE REAL FIT ---------------- */

body.v40-login {
  min-height: 100dvh !important;
  display: grid !important;
  place-items: center !important;
  padding: clamp(14px, 3vw, 30px) !important;
  background:
    radial-gradient(circle at 15% 10%, rgba(124,92,255,.22), transparent 30%),
    radial-gradient(circle at 86% 18%, rgba(59,130,246,.14), transparent 32%),
    linear-gradient(180deg, #070b15 0%, #030712 100%) !important;
  color: #f8fbff !important;
  overflow-y: auto !important;
}

body.v40-login > *:not(script):not(style) {
  max-width: min(1120px, 100%) !important;
}

/* Universal login card targeting */
body.v40-login .v40-login-card,
body.v40-login .login-card,
body.v40-login .auth-card,
body.v40-login .signin-card,
body.v40-login .form-card,
body.v40-login form {
  width: min(430px, 100%) !important;
  max-width: 430px !important;
  max-height: calc(100dvh - 28px) !important;
  overflow-y: auto !important;
  margin: auto !important;
  padding: clamp(20px, 3vw, 30px) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 50% -14%, rgba(139,92,246,.18), transparent 38%),
    linear-gradient(180deg, rgba(17,27,46,.96), rgba(8,14,26,.985)) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 34px 100px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.07) !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(148,163,184,.32) transparent;
}

body.v40-login main,
body.v40-login .login-page,
body.v40-login .auth-page,
body.v40-login .container,
body.v40-login .page {
  width: min(1120px, 100%) !important;
  min-height: auto !important;
  display: grid !important;
  place-items: center !important;
  gap: 18px !important;
  padding: 0 !important;
  margin: 0 auto !important;
}

/* If login page has left/right columns */
body.v40-login .login-shell,
body.v40-login .auth-shell,
body.v40-login .split,
body.v40-login .layout {
  width: min(1080px, 100%) !important;
  min-height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 430px) !important;
  gap: 22px !important;
  align-items: center !important;
}

/* Login text sizing */
body.v40-login h1 {
  font-size: clamp(28px, 4vw, 48px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.06em !important;
  margin-top: 0 !important;
  color: #fff !important;
}

body.v40-login h2 {
  font-size: clamp(22px, 3vw, 30px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
  margin-top: 0 !important;
  color: #fff !important;
}

body.v40-login p,
body.v40-login label,
body.v40-login span {
  color: #b8c4d6;
}

/* Login inputs and buttons */
body.v40-login input,
body.v40-login select,
body.v40-login textarea {
  width: 100% !important;
  min-height: 44px !important;
  padding: 0 14px !important;
  border-radius: 15px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.055) !important;
  color: #f8fbff !important;
  outline: none !important;
  font-size: 14px !important;
}

body.v40-login input::placeholder {
  color: rgba(203,213,225,.58) !important;
}

body.v40-login input:focus {
  border-color: rgba(139,92,246,.58) !important;
  box-shadow: 0 0 0 3px rgba(139,92,246,.16) !important;
}

body.v40-login button,
body.v40-login [type="submit"],
body.v40-login .button {
  width: 100%;
  min-height: 44px !important;
  border-radius: 15px !important;
  border: 0 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  color: #fff !important;
  background: linear-gradient(135deg, #8b5cf6, #4f46e5) !important;
  box-shadow: 0 16px 34px rgba(79,70,229,.28) !important;
  cursor: pointer !important;
}

/* Login brand/logo sane sizing */
body.v40-login .logo,
body.v40-login .brand-logo,
body.v40-login .brand img,
body.v40-login header img {
  max-height: 54px !important;
  width: auto !important;
  object-fit: contain !important;
}

/* ---------------- PORTAL / DASHBOARD RESPONSIVE FIXES ---------------- */

body.v40-portal {
  overflow-y: auto !important;
}

.v40-responsive .app,
.v40-responsive .dashboard,
.v40-responsive .portal,
.v40-responsive .main,
.v40-responsive main,
.v40-responsive .content,
.v40-responsive .page-content {
  min-width: 0 !important;
  max-width: 100% !important;
}

.v40-responsive .sidebar {
  max-height: 100dvh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: thin;
}

/* Cards grids should collapse cleanly */
.v40-responsive .grid,
.v40-responsive .cards,
.v40-responsive .stats-grid,
.v40-responsive .overview-grid,
.v40-responsive .dashboard-grid,
.v40-responsive .employee-grid,
.v40-responsive .quick-actions-grid {
  min-width: 0 !important;
}

/* Modals and drawers must scroll instead of cutting */
.v40-scroll-safe,
.v40-responsive .modal,
.v40-responsive .drawer,
.v40-responsive .profile-drawer,
.v40-responsive .side-drawer,
.v40-responsive .sheet,
.v40-responsive .dialog {
  max-height: min(92dvh, 860px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: thin;
}

/* Tab rows: no cut, horizontal smooth scroll */
.v40-scroll-tabs,
.v40-responsive .tabs,
.v40-responsive .tab-row,
.v40-responsive .tab-list,
.v40-responsive .profile-tabs,
.v40-responsive .drawer-tabs,
.v40-responsive .nav-tabs,
.v40-responsive .employee-tabs,
.v40-responsive .training-tabs,
.v40-responsive .segmented-control,
.v40-responsive .pill-tabs {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  max-width: 100% !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
}

.v40-scroll-tabs::-webkit-scrollbar,
.v40-responsive .tabs::-webkit-scrollbar,
.v40-responsive .tab-row::-webkit-scrollbar,
.v40-responsive .profile-tabs::-webkit-scrollbar,
.v40-responsive .drawer-tabs::-webkit-scrollbar {
  display: none !important;
}

.v40-scroll-tabs > *,
.v40-responsive .tabs > *,
.v40-responsive .tab-row > *,
.v40-responsive .profile-tabs > *,
.v40-responsive .drawer-tabs > *,
.v40-responsive .pill-tabs > * {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

/* Action buttons wrap instead of clipping */
.v40-actions-wrap,
.v40-responsive .actions,
.v40-responsive .button-row,
.v40-responsive .hero-actions,
.v40-responsive .selected-hero-actions,
.v40-responsive .quick-actions,
.v40-responsive .footer-actions,
.v40-responsive .drawer-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  min-width: 0 !important;
}

/* Tables */
.v40-table-wrap {
  width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

.v40-table-wrap table {
  min-width: 720px;
}

/* Notification/profile/help drawers */
.v40-responsive .notification-panel,
.v40-responsive .profile-panel,
.v40-responsive .help-panel,
.v40-responsive .file-vault,
.v40-responsive .activity-feed {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

/* MCQ Page final mobile/desktop safety */
body.v40-mcq {
  overflow: hidden !important;
}

.v40-mcq .v35-mcq-page {
  width: min(100%, 1260px) !important;
  max-width: 1260px !important;
}

.v40-mcq .v35-card {
  width: min(100%, 1200px) !important;
}

/* ---------------- MOBILE BREAKPOINT ---------------- */

@media (max-width: 920px) {
  body.v40-login {
    display: block !important;
    padding: 12px !important;
  }

  body.v40-login .login-shell,
  body.v40-login .auth-shell,
  body.v40-login .split,
  body.v40-login .layout {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body.v40-login .v40-login-card,
  body.v40-login .login-card,
  body.v40-login .auth-card,
  body.v40-login .signin-card,
  body.v40-login .form-card,
  body.v40-login form {
    width: min(100%, 430px) !important;
    max-height: calc(100dvh - 24px) !important;
    padding: 18px !important;
  }

  body.v40-login h1 {
    font-size: 29px !important;
  }

  body.v40-login h2 {
    font-size: 22px !important;
  }

  body.v40-login input,
  body.v40-login button,
  body.v40-login [type="submit"] {
    min-height: 42px !important;
  }

  /* Portal mobile layout */
  body.v40-portal {
    overflow-y: auto !important;
  }

  .v40-responsive .app,
  .v40-responsive .dashboard,
  .v40-responsive .portal,
  .v40-responsive .layout {
    display: block !important;
    width: 100% !important;
  }

  .v40-responsive .sidebar {
    position: relative !important;
    width: 100% !important;
    max-height: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    display: flex !important;
    gap: 8px !important;
    padding: 8px !important;
  }

  .v40-responsive .content,
  .v40-responsive .main,
  .v40-responsive main,
  .v40-responsive .page-content {
    width: 100% !important;
    padding: 10px !important;
  }

  .v40-responsive .grid,
  .v40-responsive .cards,
  .v40-responsive .stats-grid,
  .v40-responsive .overview-grid,
  .v40-responsive .dashboard-grid,
  .v40-responsive .employee-grid,
  .v40-responsive .quick-actions-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .v40-responsive .card,
  .v40-responsive .panel,
  .v40-responsive .section,
  .v40-responsive .widget {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .v40-responsive h1 {
    font-size: clamp(22px, 7vw, 32px) !important;
    line-height: 1.08 !important;
  }

  .v40-responsive h2 {
    font-size: clamp(18px, 5.8vw, 25px) !important;
    line-height: 1.12 !important;
  }

  .v40-responsive h3 {
    font-size: clamp(15px, 4.7vw, 20px) !important;
  }

  .v40-scroll-safe,
  .v40-responsive .modal,
  .v40-responsive .drawer,
  .v40-responsive .profile-drawer,
  .v40-responsive .side-drawer,
  .v40-responsive .sheet,
  .v40-responsive .dialog {
    width: min(96vw, 640px) !important;
    max-height: 88dvh !important;
    border-radius: 20px !important;
  }

  .v40-responsive button,
  .v40-responsive .button,
  .v40-responsive input,
  .v40-responsive select {
    max-width: 100% !important;
  }

  .v40-responsive .v35-mcq-page {
    max-width: 100% !important;
  }
}

/* Small phones */
@media (max-width: 480px) {
  body.v40-login {
    padding: 8px !important;
  }

  body.v40-login .v40-login-card,
  body.v40-login .login-card,
  body.v40-login .auth-card,
  body.v40-login .signin-card,
  body.v40-login form {
    border-radius: 22px !important;
    padding: 16px !important;
  }

  .v40-responsive .content,
  .v40-responsive .main,
  .v40-responsive main,
  .v40-responsive .page-content {
    padding: 8px !important;
  }

  .v40-responsive .v35-submitbar,
  .v40-responsive .v35-nav {
    gap: 6px !important;
  }
}


/* V41 Login One-Screen Premium Fit */
html.v41-login-page,
body.v41-login-page {
  width: 100% !important;
  height: 100% !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 18% 16%, rgba(124,92,255,.18), transparent 30%),
    radial-gradient(circle at 82% 14%, rgba(59,130,246,.13), transparent 34%),
    linear-gradient(180deg, #070b15 0%, #030712 100%) !important;
  color: #f8fbff !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.v41-old-login-hidden {
  display: none !important;
}

.v41-login-shell {
  width: min(1180px, calc(100vw - 40px)) !important;
  height: min(680px, calc(100dvh - 36px)) !important;
  margin: 18px auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 430px) !important;
  gap: 18px !important;
  align-items: stretch !important;
  border-radius: 32px !important;
  overflow: hidden !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.060), rgba(255,255,255,.028)) !important;
  border: 1px solid rgba(255,255,255,.095) !important;
  box-shadow: 0 34px 110px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.07) !important;
}

.v41-login-brand {
  min-width: 0 !important;
  height: 100% !important;
  padding: clamp(26px, 4vw, 54px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  background:
    radial-gradient(circle at 18% 22%, rgba(139,92,246,.24), transparent 38%),
    linear-gradient(180deg, rgba(15,23,42,.62), rgba(2,6,23,.20)) !important;
  border-right: 1px solid rgba(255,255,255,.075) !important;
}

.v41-brand-mark {
  width: 78px !important;
  height: 78px !important;
  display: grid !important;
  place-items: center !important;
  margin-bottom: 22px !important;
  border-radius: 27px !important;
  background:
    radial-gradient(circle at 38% 20%, rgba(255,255,255,.20), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.045)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.11), 0 18px 40px rgba(0,0,0,.25) !important;
}

.v41-brand-mark svg {
  width: 48px !important;
  height: 48px !important;
  fill: #ffffff !important;
}

.v41-login-brand p {
  margin: 0 0 10px !important;
  color: #bda9ff !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.v41-login-brand h1 {
  max-width: 600px !important;
  margin: 0 0 12px !important;
  color: #fff !important;
  font-size: clamp(42px, 5vw, 72px) !important;
  line-height: .95 !important;
  letter-spacing: -.075em !important;
}

.v41-login-brand span {
  max-width: 540px !important;
  color: #b8c4d6 !important;
  font-size: clamp(15px, 1.4vw, 19px) !important;
  line-height: 1.45 !important;
}

.v41-feature-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
  margin-top: 28px !important;
}

.v41-feature-row div {
  padding: 9px 12px !important;
  border-radius: 999px !important;
  color: #dce8ff !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}

.v41-login-card {
  height: 100% !important;
  min-width: 0 !important;
  padding: clamp(22px, 3vw, 36px) !important;
  display: grid !important;
  align-items: center !important;
  overflow: hidden !important;
}

.v41-login-card > * {
  width: 100% !important;
  max-width: 390px !important;
  margin: 0 auto !important;
}

.v41-login-card form,
.v41-login-card .login-card,
.v41-login-card .auth-card,
.v41-login-card .signin-card,
.v41-login-card .card,
.v41-login-card section,
.v41-login-card div {
  max-width: 390px;
}

.v41-login-card form,
.v41-login-card .login-card,
.v41-login-card .auth-card,
.v41-login-card .signin-card {
  width: 100% !important;
  max-height: calc(100dvh - 110px) !important;
  overflow-y: auto !important;
  padding: clamp(20px, 3vw, 28px) !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 50% -12%, rgba(139,92,246,.18), transparent 38%),
    linear-gradient(180deg, rgba(17,27,46,.96), rgba(8,14,26,.99)) !important;
  border: 1px solid rgba(255,255,255,.115) !important;
  box-shadow: 0 26px 80px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.07) !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(148,163,184,.32) transparent !important;
}

.v41-login-card h1,
.v41-login-card h2,
.v41-login-card h3 {
  margin-top: 0 !important;
  color: #fff !important;
  letter-spacing: -.045em !important;
  line-height: 1.08 !important;
}

.v41-login-card p,
.v41-login-card label,
.v41-login-card span {
  color: #b8c4d6 !important;
}

.v41-login-card input,
.v41-login-input {
  width: 100% !important;
  min-height: 42px !important;
  padding: 0 13px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.055) !important;
  color: #f8fbff !important;
  outline: none !important;
  font-size: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.v41-login-card input::placeholder {
  color: rgba(203,213,225,.58) !important;
}

.v41-login-card input:focus {
  border-color: rgba(139,92,246,.58) !important;
  box-shadow: 0 0 0 3px rgba(139,92,246,.16), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.v41-login-card button,
.v41-login-button,
.v41-login-card [type="submit"] {
  min-height: 42px !important;
  border-radius: 14px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  color: #fff !important;
  background: linear-gradient(135deg, #8b5cf6, #4f46e5) !important;
  border: 0 !important;
  box-shadow: 0 16px 34px rgba(79,70,229,.28) !important;
  cursor: pointer !important;
}

/* Neutralize old huge login layout that caused page scroll/stretch */
body.v41-login-page > main:not(.v41-login-shell),
body.v41-login-page > section:not(.v41-login-shell),
body.v41-login-page > div:not(.v41-login-shell):not(.v41-result-overlay):not(.v35-result-overlay) {
  max-height: 100dvh !important;
}

/* Desktop fit for 1366x768 */
@media (max-height: 760px) and (min-width: 761px) {
  .v41-login-shell {
    height: calc(100dvh - 24px) !important;
    margin: 12px auto !important;
    width: min(1080px, calc(100vw - 32px)) !important;
    grid-template-columns: minmax(0, 1fr) 390px !important;
  }

  .v41-login-brand {
    padding: 28px 36px !important;
  }

  .v41-brand-mark {
    width: 62px !important;
    height: 62px !important;
    margin-bottom: 16px !important;
    border-radius: 22px !important;
  }

  .v41-brand-mark svg {
    width: 39px !important;
    height: 39px !important;
  }

  .v41-login-brand h1 {
    font-size: clamp(36px, 4.2vw, 58px) !important;
    margin-bottom: 9px !important;
  }

  .v41-login-brand span {
    font-size: 14px !important;
    line-height: 1.36 !important;
  }

  .v41-feature-row {
    margin-top: 18px !important;
  }

  .v41-login-card {
    padding: 20px !important;
  }

  .v41-login-card form,
  .v41-login-card .login-card,
  .v41-login-card .auth-card,
  .v41-login-card .signin-card {
    padding: 20px !important;
  }
}

/* Mobile: one-column fit, no horizontal clipping */
@media (max-width: 760px) {
  html.v41-login-page,
  body.v41-login-page {
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .v41-login-shell {
    width: min(100%, calc(100vw - 16px)) !important;
    min-height: calc(100dvh - 16px) !important;
    height: auto !important;
    margin: 8px auto !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    border-radius: 24px !important;
  }

  .v41-login-brand {
    padding: 20px 18px 14px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.075) !important;
    text-align: center !important;
    align-items: center !important;
  }

  .v41-brand-mark {
    width: 56px !important;
    height: 56px !important;
    margin-bottom: 12px !important;
    border-radius: 20px !important;
  }

  .v41-brand-mark svg {
    width: 35px !important;
    height: 35px !important;
  }

  .v41-login-brand h1 {
    font-size: 33px !important;
    max-width: 340px !important;
  }

  .v41-login-brand span {
    font-size: 13px !important;
    max-width: 330px !important;
  }

  .v41-feature-row {
    justify-content: center !important;
    margin-top: 14px !important;
  }

  .v41-feature-row div {
    font-size: 10.5px !important;
    padding: 7px 9px !important;
  }

  .v41-login-card {
    padding: 16px !important;
  }

  .v41-login-card form,
  .v41-login-card .login-card,
  .v41-login-card .auth-card,
  .v41-login-card .signin-card {
    max-height: none !important;
    padding: 18px !important;
    border-radius: 22px !important;
  }
}


/* V42 Premium Confidential Employee Login */

html.v42-login-page,
body.v42-login-page {
  width: 100% !important;
  height: 100% !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  background:
    radial-gradient(circle at 18% 12%, rgba(124,92,255,.18), transparent 28%),
    radial-gradient(circle at 82% 14%, rgba(59,130,246,.12), transparent 32%),
    linear-gradient(180deg, #070b15 0%, #030712 100%) !important;
  color: #f8fbff !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.v42-old-hidden,
.v42-hide-dup {
  display: none !important;
}

.v42-login-shell {
  width: min(940px, calc(100vw - 36px)) !important;
  height: min(610px, calc(100dvh - 34px)) !important;
  margin: 17px auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 390px !important;
  gap: 0 !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.062), rgba(255,255,255,.028)) !important;
  border: 1px solid rgba(255,255,255,.105) !important;
  box-shadow: 0 34px 110px rgba(0,0,0,.56), inset 0 1px 0 rgba(255,255,255,.075) !important;
}

.v42-brand-panel {
  min-width: 0 !important;
  height: 100% !important;
  padding: 36px 38px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  background:
    radial-gradient(circle at 12% 12%, rgba(139,92,246,.23), transparent 36%),
    linear-gradient(180deg, rgba(15,23,42,.70), rgba(2,6,23,.32)) !important;
  border-right: 1px solid rgba(255,255,255,.08) !important;
}

.v42-brand-top {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}

.v42-logo-box,
.v42-mini-logo {
  display: grid !important;
  place-items: center !important;
  background:
    radial-gradient(circle at 36% 20%, rgba(255,255,255,.20), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.135), rgba(255,255,255,.045)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.11), 0 18px 40px rgba(0,0,0,.25) !important;
}

.v42-logo-box {
  width: 58px !important;
  height: 58px !important;
  border-radius: 21px !important;
}

.v42-mini-logo {
  width: 44px !important;
  height: 44px !important;
  border-radius: 16px !important;
  margin: 0 auto 10px !important;
}

.v42-apple-logo {
  width: 36px !important;
  height: 36px !important;
  fill: #fff !important;
  display: block !important;
}

.v42-mini-logo .v42-apple-logo {
  width: 28px !important;
  height: 28px !important;
}

.v42-brand-top p,
.v42-auth-heading p {
  margin: 0 0 5px !important;
  color: #bda9ff !important;
  font-size: 9px !important;
  font-weight: 1000 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.v42-brand-top h1 {
  margin: 0 !important;
  color: #fff !important;
  font-size: 29px !important;
  line-height: 1.02 !important;
  letter-spacing: -.055em !important;
}

.v42-security-note {
  max-width: 410px !important;
}

.v42-security-note span {
  display: inline-flex !important;
  margin-bottom: 9px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  color: #fecaca !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
  background: rgba(239,68,68,.10) !important;
  border: 1px solid rgba(239,68,68,.20) !important;
}

.v42-security-note strong {
  display: block !important;
  margin-bottom: 8px !important;
  color: #fff !important;
  font-size: 30px !important;
  line-height: 1.05 !important;
  letter-spacing: -.055em !important;
}

.v42-security-note p {
  margin: 0 !important;
  color: #b8c4d6 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.v42-feature-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 8px !important;
}

.v42-feature-grid div {
  min-width: 0 !important;
  padding: 10px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.052) !important;
  border: 1px solid rgba(255,255,255,.075) !important;
}

.v42-feature-grid b {
  display: block !important;
  color: #fff !important;
  font-size: 12px !important;
  margin-bottom: 3px !important;
}

.v42-feature-grid span {
  color: #aebbd0 !important;
  font-size: 10.5px !important;
}

.v42-auth-panel {
  min-width: 0 !important;
  height: 100% !important;
  padding: 26px 28px !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, auto) auto auto !important;
  align-content: center !important;
  background: rgba(3,7,18,.18) !important;
}

.v42-auth-heading {
  text-align: center !important;
  margin-bottom: 16px !important;
}

.v42-auth-heading h2 {
  margin: 0 0 6px !important;
  color: #fff !important;
  font-size: 24px !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
}

.v42-auth-heading span {
  color: #aebbd0 !important;
  font-size: 12.5px !important;
}

.v42-auth-slot {
  min-width: 0 !important;
}

.v42-existing-auth,
.v42-existing-auth form,
.v42-existing-auth .login-card,
.v42-existing-auth .auth-card,
.v42-existing-auth .signin-card {
  width: 100% !important;
  max-width: 334px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  max-height: none !important;
  overflow: visible !important;
}

.v42-existing-auth * {
  max-width: 100% !important;
}

.v42-existing-auth label {
  color: #b8c4d6 !important;
  font-size: 11px !important;
}

.v42-existing-auth input,
.v42-input {
  width: 100% !important;
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 13px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.06) !important;
  color: #f8fbff !important;
  outline: none !important;
  font-size: 13.5px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.v42-existing-auth input::placeholder {
  color: rgba(203,213,225,.60) !important;
}

.v42-existing-auth input:focus {
  border-color: rgba(139,92,246,.58) !important;
  box-shadow: 0 0 0 3px rgba(139,92,246,.16), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.v42-existing-auth button,
.v42-existing-auth [type="submit"],
.v42-auth-button {
  min-height: 42px !important;
  height: 42px !important;
  border-radius: 14px !important;
  border: 0 !important;
  color: #fff !important;
  font-size: 13.5px !important;
  font-weight: 950 !important;
  background: linear-gradient(135deg, #8b5cf6, #4f46e5) !important;
  box-shadow: 0 16px 34px rgba(79,70,229,.28) !important;
  cursor: pointer !important;
}

.v42-sso-panel {
  width: 100% !important;
  max-width: 334px !important;
  margin: 14px auto 0 !important;
}

.v42-divider {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  margin: 8px 0 10px !important;
}

.v42-divider::before,
.v42-divider::after {
  content: "" !important;
  height: 1px !important;
  flex: 1 !important;
  background: rgba(255,255,255,.09) !important;
}

.v42-divider span {
  color: #8fa0bc !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  text-transform: uppercase !important;
  letter-spacing: .10em !important;
}

.v42-sso-btn {
  width: 100% !important;
  min-height: 38px !important;
  margin-top: 8px !important;
  border-radius: 13px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  color: #e9f0ff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  background: rgba(255,255,255,.055) !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.v42-sso-btn:hover {
  background: rgba(139,92,246,.12) !important;
  border-color: rgba(139,92,246,.28) !important;
}

.v42-footer-note {
  margin: 15px 0 0 !important;
  color: #7f8da5 !important;
  text-align: center !important;
  font-size: 9px !important;
  letter-spacing: .14em !important;
  font-weight: 900 !important;
}

.v42-toast {
  position: fixed !important;
  left: 50% !important;
  bottom: 22px !important;
  transform: translate(-50%, 20px) !important;
  z-index: 999999 !important;
  min-width: min(360px, calc(100vw - 28px)) !important;
  padding: 12px 14px !important;
  border-radius: 16px !important;
  color: #fff !important;
  text-align: center !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  background: rgba(15,23,42,.96) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.38) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .18s ease, transform .18s ease !important;
}

.v42-toast.show {
  opacity: 1 !important;
  transform: translate(-50%, 0) !important;
}

/* 1366x768 fit */
@media (max-height: 760px) and (min-width: 761px) {
  .v42-login-shell {
    height: calc(100dvh - 24px) !important;
    width: min(900px, calc(100vw - 32px)) !important;
    margin: 12px auto !important;
    grid-template-columns: minmax(0, 1fr) 372px !important;
  }

  .v42-brand-panel {
    padding: 28px 30px !important;
  }

  .v42-logo-box {
    width: 50px !important;
    height: 50px !important;
    border-radius: 18px !important;
  }

  .v42-apple-logo {
    width: 31px !important;
    height: 31px !important;
  }

  .v42-brand-top h1 {
    font-size: 25px !important;
  }

  .v42-security-note strong {
    font-size: 25px !important;
  }

  .v42-security-note p {
    font-size: 12px !important;
  }

  .v42-feature-grid div {
    padding: 8px !important;
  }

  .v42-auth-panel {
    padding: 20px 24px !important;
  }

  .v42-auth-heading {
    margin-bottom: 12px !important;
  }

  .v42-auth-heading h2 {
    font-size: 21px !important;
  }

  .v42-mini-logo {
    width: 38px !important;
    height: 38px !important;
    margin-bottom: 8px !important;
  }

  .v42-mini-logo .v42-apple-logo {
    width: 24px !important;
    height: 24px !important;
  }

  .v42-existing-auth input,
  .v42-input,
  .v42-existing-auth button,
  .v42-existing-auth [type="submit"],
  .v42-auth-button {
    min-height: 39px !important;
    height: 39px !important;
  }

  .v42-sso-panel {
    margin-top: 10px !important;
  }

  .v42-sso-btn {
    min-height: 34px !important;
    margin-top: 6px !important;
  }
}

/* Mobile: confidential employee login feel */
@media (max-width: 760px) {
  html.v42-login-page,
  body.v42-login-page {
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .v42-login-shell {
    width: min(100%, calc(100vw - 14px)) !important;
    height: auto !important;
    min-height: calc(100dvh - 14px) !important;
    margin: 7px auto !important;
    grid-template-columns: 1fr !important;
    border-radius: 24px !important;
  }

  .v42-brand-panel {
    padding: 20px 18px 14px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    gap: 14px !important;
  }

  .v42-brand-top {
    justify-content: center !important;
    text-align: left !important;
  }

  .v42-logo-box {
    width: 48px !important;
    height: 48px !important;
    border-radius: 18px !important;
  }

  .v42-apple-logo {
    width: 30px !important;
    height: 30px !important;
  }

  .v42-brand-top h1 {
    font-size: 23px !important;
  }

  .v42-security-note {
    text-align: center !important;
    margin: 0 auto !important;
  }

  .v42-security-note strong {
    font-size: 22px !important;
  }

  .v42-security-note p {
    font-size: 12px !important;
  }

  .v42-feature-grid {
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 6px !important;
  }

  .v42-feature-grid div {
    padding: 8px 6px !important;
    text-align: center !important;
  }

  .v42-feature-grid b {
    font-size: 11px !important;
  }

  .v42-feature-grid span {
    font-size: 9.5px !important;
  }

  .v42-auth-panel {
    padding: 18px !important;
  }

  .v42-auth-heading h2 {
    font-size: 21px !important;
  }

  .v42-existing-auth,
  .v42-sso-panel {
    max-width: 100% !important;
  }
}


/* V43 Login Card Visible Compact Premium Fit */
html.v43-login-page,
body.v43-login-page {
  width: 100% !important;
  height: 100% !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  background:
    radial-gradient(circle at 16% 8%, rgba(124,92,255,.16), transparent 30%),
    radial-gradient(circle at 82% 16%, rgba(59,130,246,.10), transparent 32%),
    linear-gradient(180deg, #070b15 0%, #030712 100%) !important;
  color: #f8fbff !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.v43-old-hidden,
.v43-hide-dup {
  display: none !important;
}

.v43-login-shell {
  width: min(860px, calc(100vw - 34px)) !important;
  height: min(570px, calc(100dvh - 32px)) !important;
  margin: 16px auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 350px !important;
  overflow: hidden !important;
  border-radius: 30px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.060), rgba(255,255,255,.025)) !important;
  border: 1px solid rgba(255,255,255,.105) !important;
  box-shadow: 0 34px 110px rgba(0,0,0,.56), inset 0 1px 0 rgba(255,255,255,.075) !important;
}

.v43-visual-panel {
  height: 100% !important;
  padding: 34px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(139,92,246,.18), transparent 36%),
    linear-gradient(180deg, rgba(15,23,42,.60), rgba(2,6,23,.20)) !important;
  border-right: 1px solid rgba(255,255,255,.08) !important;
}

.v43-logo-xl,
.v43-logo-sm {
  display: grid !important;
  place-items: center !important;
  background:
    radial-gradient(circle at 38% 20%, rgba(255,255,255,.20), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.135), rgba(255,255,255,.045)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.11), 0 18px 40px rgba(0,0,0,.25) !important;
}

.v43-logo-xl {
  width: 78px !important;
  height: 78px !important;
  border-radius: 27px !important;
  margin-bottom: 20px !important;
}

.v43-logo-sm {
  width: 42px !important;
  height: 42px !important;
  border-radius: 15px !important;
  margin: 0 auto 10px !important;
}

.v43-apple-mark {
  width: 47px !important;
  height: 47px !important;
  fill: #fff !important;
  display: block !important;
}

.v43-logo-sm .v43-apple-mark {
  width: 27px !important;
  height: 27px !important;
}

.v43-visual-panel h1 {
  margin: 0 0 8px !important;
  color: #fff !important;
  font-size: clamp(38px, 4vw, 56px) !important;
  line-height: .96 !important;
  letter-spacing: -.075em !important;
}

.v43-visual-panel > p {
  margin: 0 0 34px !important;
  color: #b8c4d6 !important;
  font-size: 17px !important;
}

.v43-confidential-chip {
  width: min(360px,100%) !important;
  padding: 14px 16px !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.052) !important;
  border: 1px solid rgba(255,255,255,.085) !important;
  text-align: left !important;
}

.v43-confidential-chip span {
  display: block !important;
  margin-bottom: 6px !important;
  color: #fecaca !important;
  font-size: 9px !important;
  font-weight: 1000 !important;
  letter-spacing: .14em !important;
}

.v43-confidential-chip strong {
  color: #eaf1ff !important;
  font-size: 13px !important;
}

.v43-auth-panel {
  height: 100% !important;
  padding: 18px !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(3,7,18,.18) !important;
}

.v43-auth-card {
  width: 100% !important;
  max-width: 314px !important;
  max-height: calc(100dvh - 70px) !important;
  overflow-y: auto !important;
  padding: 18px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 50% -12%, rgba(139,92,246,.16), transparent 38%),
    linear-gradient(180deg, rgba(17,27,46,.96), rgba(8,14,26,.99)) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  box-shadow: 0 26px 80px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.07) !important;
  scrollbar-width: thin !important;
}

.v43-auth-head {
  text-align: center !important;
  margin-bottom: 12px !important;
}

.v43-auth-head p {
  margin: 0 0 5px !important;
  color: #bda9ff !important;
  font-size: 9px !important;
  font-weight: 1000 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
}

.v43-auth-head h2 {
  margin: 0 0 5px !important;
  color: #fff !important;
  font-size: 22px !important;
  line-height: 1.07 !important;
  letter-spacing: -.045em !important;
}

.v43-auth-head span {
  color: #aebbd0 !important;
  font-size: 12px !important;
}

.v43-auth-slot,
.v43-existing-auth,
.v43-existing-auth form,
.v43-existing-auth .login-card,
.v43-existing-auth .auth-card,
.v43-existing-auth .signin-card {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  display: block !important;
}

.v43-existing-auth * {
  max-width: 100% !important;
}

.v43-existing-auth label {
  color: #b8c4d6 !important;
  font-size: 10.5px !important;
  margin-bottom: 4px !important;
}

.v43-existing-auth input,
.v43-input {
  width: 100% !important;
  min-height: 39px !important;
  height: 39px !important;
  padding: 0 12px !important;
  margin: 0 0 8px !important;
  border-radius: 13px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.06) !important;
  color: #f8fbff !important;
  outline: none !important;
  font-size: 13px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.v43-existing-auth input::placeholder {
  color: rgba(203,213,225,.60) !important;
}

.v43-existing-auth input:focus {
  border-color: rgba(139,92,246,.58) !important;
  box-shadow: 0 0 0 3px rgba(139,92,246,.16), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.v43-existing-auth button,
.v43-existing-auth [type="submit"],
.v43-auth-button {
  width: 100% !important;
  min-height: 40px !important;
  height: 40px !important;
  margin-top: 4px !important;
  border-radius: 13px !important;
  border: 0 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  background: linear-gradient(135deg, #8b5cf6, #4f46e5) !important;
  box-shadow: 0 14px 30px rgba(79,70,229,.26) !important;
  cursor: pointer !important;
}

.v43-sso-area {
  margin-top: 12px !important;
}

.v43-divider {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 8px 0 !important;
}

.v43-divider::before,
.v43-divider::after {
  content: "" !important;
  flex: 1 !important;
  height: 1px !important;
  background: rgba(255,255,255,.085) !important;
}

.v43-divider span {
  color: #8fa0bc !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;
}

.v43-sso-btn {
  width: 100% !important;
  min-height: 35px !important;
  margin-top: 7px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  color: #eaf1ff !important;
  font-size: 11.5px !important;
  font-weight: 900 !important;
  background: rgba(255,255,255,.055) !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.v43-sso-btn:hover {
  background: rgba(139,92,246,.12) !important;
  border-color: rgba(139,92,246,.28) !important;
}

.v43-internal-note {
  margin-top: 11px !important;
  color: #7f8da5 !important;
  text-align: center !important;
  font-size: 8px !important;
  letter-spacing: .13em !important;
  font-weight: 900 !important;
}

.v43-toast {
  position: fixed !important;
  left: 50% !important;
  bottom: 20px !important;
  transform: translate(-50%, 18px) !important;
  z-index: 999999 !important;
  width: min(360px, calc(100vw - 24px)) !important;
  padding: 12px 14px !important;
  border-radius: 16px !important;
  color: #fff !important;
  text-align: center !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  background: rgba(15,23,42,.96) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.38) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .18s ease, transform .18s ease !important;
}

.v43-toast.show {
  opacity: 1 !important;
  transform: translate(-50%, 0) !important;
}

/* 1366x768 fit */
@media (max-height: 760px) and (min-width: 761px) {
  .v43-login-shell {
    width: min(820px, calc(100vw - 28px)) !important;
    height: calc(100dvh - 24px) !important;
    margin: 12px auto !important;
    grid-template-columns: minmax(0, 1fr) 332px !important;
  }

  .v43-visual-panel {
    padding: 24px !important;
  }

  .v43-logo-xl {
    width: 62px !important;
    height: 62px !important;
    border-radius: 22px !important;
    margin-bottom: 14px !important;
  }

  .v43-apple-mark {
    width: 38px !important;
    height: 38px !important;
  }

  .v43-visual-panel h1 {
    font-size: clamp(34px, 3.7vw, 48px) !important;
  }

  .v43-visual-panel > p {
    font-size: 14px !important;
    margin-bottom: 22px !important;
  }

  .v43-confidential-chip {
    padding: 11px 13px !important;
  }

  .v43-auth-panel {
    padding: 14px !important;
  }

  .v43-auth-card {
    padding: 15px !important;
    max-width: 302px !important;
  }

  .v43-logo-sm {
    width: 34px !important;
    height: 34px !important;
    margin-bottom: 7px !important;
  }

  .v43-logo-sm .v43-apple-mark {
    width: 22px !important;
    height: 22px !important;
  }

  .v43-auth-head {
    margin-bottom: 9px !important;
  }

  .v43-auth-head h2 {
    font-size: 19px !important;
  }

  .v43-auth-head span {
    font-size: 11px !important;
  }

  .v43-existing-auth input,
  .v43-input {
    min-height: 36px !important;
    height: 36px !important;
    margin-bottom: 6px !important;
  }

  .v43-existing-auth button,
  .v43-existing-auth [type="submit"],
  .v43-auth-button {
    min-height: 37px !important;
    height: 37px !important;
  }

  .v43-sso-area {
    margin-top: 9px !important;
  }

  .v43-sso-btn {
    min-height: 32px !important;
    margin-top: 5px !important;
  }

  .v43-internal-note {
    margin-top: 8px !important;
  }
}

/* Mobile */
@media (max-width: 760px) {
  html.v43-login-page,
  body.v43-login-page {
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .v43-login-shell {
    width: min(100%, calc(100vw - 14px)) !important;
    height: auto !important;
    min-height: calc(100dvh - 14px) !important;
    margin: 7px auto !important;
    grid-template-columns: 1fr !important;
    border-radius: 24px !important;
  }

  .v43-visual-panel {
    min-height: auto !important;
    padding: 20px 16px 14px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
  }

  .v43-logo-xl {
    width: 54px !important;
    height: 54px !important;
    border-radius: 19px !important;
    margin-bottom: 11px !important;
  }

  .v43-logo-xl .v43-apple-mark {
    width: 33px !important;
    height: 33px !important;
  }

  .v43-visual-panel h1 {
    font-size: 31px !important;
  }

  .v43-visual-panel > p {
    font-size: 13px !important;
    margin-bottom: 13px !important;
  }

  .v43-confidential-chip {
    padding: 10px 12px !important;
    text-align: center !important;
  }

  .v43-auth-panel {
    padding: 14px !important;
  }

  .v43-auth-card {
    max-width: 100% !important;
    padding: 16px !important;
  }
}


/* V44 Login Fields Visible + Premium Mobile Fit */
html.v44-login-page,
body.v44-login-page {
  width: 100% !important;
  height: 100% !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  background:
    radial-gradient(circle at 16% 8%, rgba(124,92,255,.16), transparent 30%),
    radial-gradient(circle at 82% 16%, rgba(59,130,246,.10), transparent 32%),
    linear-gradient(180deg, #070b15 0%, #030712 100%) !important;
  color: #f8fbff !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.v44-old-hidden,
.v44-hide-dup {
  display: none !important;
}

.v44-login-shell {
  width: min(860px, calc(100vw - 34px)) !important;
  height: min(570px, calc(100dvh - 32px)) !important;
  margin: 16px auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 350px !important;
  overflow: hidden !important;
  border-radius: 30px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.060), rgba(255,255,255,.025)) !important;
  border: 1px solid rgba(255,255,255,.105) !important;
  box-shadow: 0 34px 110px rgba(0,0,0,.56), inset 0 1px 0 rgba(255,255,255,.075) !important;
}

.v44-visual-panel {
  height: 100% !important;
  padding: 34px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(139,92,246,.18), transparent 36%),
    linear-gradient(180deg, rgba(15,23,42,.60), rgba(2,6,23,.20)) !important;
  border-right: 1px solid rgba(255,255,255,.08) !important;
}

.v44-logo-xl,
.v44-logo-sm {
  display: grid !important;
  place-items: center !important;
  background:
    radial-gradient(circle at 38% 20%, rgba(255,255,255,.20), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.135), rgba(255,255,255,.045)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.11), 0 18px 40px rgba(0,0,0,.25) !important;
}

.v44-logo-xl {
  width: 78px !important;
  height: 78px !important;
  border-radius: 27px !important;
  margin-bottom: 20px !important;
}

.v44-logo-sm {
  width: 42px !important;
  height: 42px !important;
  border-radius: 15px !important;
  margin: 0 auto 10px !important;
}

.v44-apple-mark {
  width: 47px !important;
  height: 47px !important;
  fill: #fff !important;
  display: block !important;
}

.v44-logo-sm .v44-apple-mark {
  width: 27px !important;
  height: 27px !important;
}

.v44-visual-panel h1 {
  margin: 0 0 8px !important;
  color: #fff !important;
  font-size: clamp(38px, 4vw, 56px) !important;
  line-height: .96 !important;
  letter-spacing: -.075em !important;
}

.v44-visual-panel > p {
  margin: 0 0 34px !important;
  color: #b8c4d6 !important;
  font-size: 17px !important;
}

.v44-confidential-chip {
  width: min(360px,100%) !important;
  padding: 14px 16px !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.052) !important;
  border: 1px solid rgba(255,255,255,.085) !important;
  text-align: left !important;
}

.v44-confidential-chip span {
  display: block !important;
  margin-bottom: 6px !important;
  color: #fecaca !important;
  font-size: 9px !important;
  font-weight: 1000 !important;
  letter-spacing: .14em !important;
}

.v44-confidential-chip strong {
  color: #eaf1ff !important;
  font-size: 13px !important;
}

.v44-auth-panel {
  height: 100% !important;
  padding: 18px !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(3,7,18,.18) !important;
}

.v44-auth-card {
  width: 100% !important;
  max-width: 314px !important;
  max-height: calc(100dvh - 70px) !important;
  overflow-y: auto !important;
  padding: 17px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 50% -12%, rgba(139,92,246,.16), transparent 38%),
    linear-gradient(180deg, rgba(17,27,46,.96), rgba(8,14,26,.99)) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  box-shadow: 0 26px 80px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.07) !important;
  scrollbar-width: thin !important;
}

.v44-auth-head {
  text-align: center !important;
  margin-bottom: 11px !important;
}

.v44-auth-head p {
  margin: 0 0 5px !important;
  color: #bda9ff !important;
  font-size: 9px !important;
  font-weight: 1000 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
}

.v44-auth-head h2 {
  margin: 0 0 5px !important;
  color: #fff !important;
  font-size: 22px !important;
  line-height: 1.07 !important;
  letter-spacing: -.045em !important;
}

.v44-auth-head span {
  color: #aebbd0 !important;
  font-size: 12px !important;
}

.v44-auth-slot,
.v44-existing-auth,
.v44-existing-auth form,
.v44-existing-auth .login-card,
.v44-existing-auth .auth-card,
.v44-existing-auth .signin-card {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  display: block !important;
}

.v44-field {
  margin-bottom: 8px !important;
}

.v44-existing-auth label,
.v44-field label {
  display: block !important;
  color: #b8c4d6 !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  margin: 0 0 4px !important;
}

.v44-existing-auth input,
.v44-input {
  width: 100% !important;
  min-height: 38px !important;
  height: 38px !important;
  padding: 0 12px !important;
  margin: 0 0 8px !important;
  border-radius: 13px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.06) !important;
  color: #f8fbff !important;
  outline: none !important;
  font-size: 13px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.v44-existing-auth input::placeholder,
.v44-input::placeholder {
  color: rgba(203,213,225,.60) !important;
}

.v44-existing-auth input:focus,
.v44-input:focus {
  border-color: rgba(139,92,246,.58) !important;
  box-shadow: 0 0 0 3px rgba(139,92,246,.16), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.v44-existing-auth button,
.v44-existing-auth [type="submit"],
.v44-auth-button,
.v44-signin {
  width: 100% !important;
  min-height: 39px !important;
  height: 39px !important;
  margin-top: 2px !important;
  border-radius: 13px !important;
  border: 0 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  background: linear-gradient(135deg, #8b5cf6, #4f46e5) !important;
  box-shadow: 0 14px 30px rgba(79,70,229,.26) !important;
  cursor: pointer !important;
}

.v44-divider {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 10px 0 8px !important;
}

.v44-divider::before,
.v44-divider::after {
  content: "" !important;
  flex: 1 !important;
  height: 1px !important;
  background: rgba(255,255,255,.085) !important;
}

.v44-divider span {
  color: #8fa0bc !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;
}

.v44-sso-btn {
  width: 100% !important;
  min-height: 34px !important;
  margin-top: 7px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  color: #eaf1ff !important;
  font-size: 11.5px !important;
  font-weight: 900 !important;
  background: rgba(255,255,255,.055) !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.v44-sso-btn:hover {
  background: rgba(139,92,246,.12) !important;
  border-color: rgba(139,92,246,.28) !important;
}

.v44-internal-note {
  margin-top: 10px !important;
  color: #7f8da5 !important;
  text-align: center !important;
  font-size: 8px !important;
  letter-spacing: .13em !important;
  font-weight: 900 !important;
}

.v44-toast {
  position: fixed !important;
  left: 50% !important;
  bottom: 20px !important;
  transform: translate(-50%, 18px) !important;
  z-index: 999999 !important;
  width: min(380px, calc(100vw - 24px)) !important;
  padding: 12px 14px !important;
  border-radius: 16px !important;
  color: #fff !important;
  text-align: center !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  background: rgba(15,23,42,.96) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.38) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .18s ease, transform .18s ease !important;
}

.v44-toast.show {
  opacity: 1 !important;
  transform: translate(-50%, 0) !important;
}

/* 1366x768 fit */
@media (max-height: 760px) and (min-width: 761px) {
  .v44-login-shell {
    width: min(820px, calc(100vw - 28px)) !important;
    height: calc(100dvh - 24px) !important;
    margin: 12px auto !important;
    grid-template-columns: minmax(0, 1fr) 332px !important;
  }

  .v44-visual-panel {
    padding: 24px !important;
  }

  .v44-logo-xl {
    width: 62px !important;
    height: 62px !important;
    border-radius: 22px !important;
    margin-bottom: 14px !important;
  }

  .v44-apple-mark {
    width: 38px !important;
    height: 38px !important;
  }

  .v44-visual-panel h1 {
    font-size: clamp(34px, 3.7vw, 48px) !important;
  }

  .v44-visual-panel > p {
    font-size: 14px !important;
    margin-bottom: 20px !important;
  }

  .v44-confidential-chip {
    padding: 11px 13px !important;
  }

  .v44-auth-panel {
    padding: 14px !important;
  }

  .v44-auth-card {
    padding: 14px !important;
    max-width: 302px !important;
  }

  .v44-logo-sm {
    width: 33px !important;
    height: 33px !important;
    margin-bottom: 6px !important;
  }

  .v44-logo-sm .v44-apple-mark {
    width: 21px !important;
    height: 21px !important;
  }

  .v44-auth-head {
    margin-bottom: 8px !important;
  }

  .v44-auth-head h2 {
    font-size: 19px !important;
  }

  .v44-auth-head span {
    font-size: 11px !important;
  }

  .v44-existing-auth input,
  .v44-input {
    min-height: 35px !important;
    height: 35px !important;
    margin-bottom: 6px !important;
  }

  .v44-existing-auth button,
  .v44-existing-auth [type="submit"],
  .v44-auth-button,
  .v44-signin {
    min-height: 36px !important;
    height: 36px !important;
  }

  .v44-divider {
    margin: 8px 0 6px !important;
  }

  .v44-sso-btn {
    min-height: 31px !important;
    margin-top: 5px !important;
  }

  .v44-internal-note {
    margin-top: 7px !important;
  }
}

/* Mobile default check */
@media (max-width: 760px) {
  html.v44-login-page,
  body.v44-login-page {
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .v44-login-shell {
    width: min(100%, calc(100vw - 14px)) !important;
    height: auto !important;
    min-height: calc(100dvh - 14px) !important;
    margin: 7px auto !important;
    grid-template-columns: 1fr !important;
    border-radius: 24px !important;
  }

  .v44-visual-panel {
    min-height: auto !important;
    padding: 20px 16px 14px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
  }

  .v44-logo-xl {
    width: 54px !important;
    height: 54px !important;
    border-radius: 19px !important;
    margin-bottom: 11px !important;
  }

  .v44-logo-xl .v44-apple-mark {
    width: 33px !important;
    height: 33px !important;
  }

  .v44-visual-panel h1 {
    font-size: 31px !important;
  }

  .v44-visual-panel > p {
    font-size: 13px !important;
    margin-bottom: 13px !important;
  }

  .v44-confidential-chip {
    padding: 10px 12px !important;
    text-align: center !important;
  }

  .v44-auth-panel {
    padding: 14px !important;
  }

  .v44-auth-card {
    max-width: 100% !important;
    padding: 16px !important;
  }
}


/* V51 Clean Login + Organized Buttons */

/* Login rebuild */
html.v51-login, body.v51-login {
  margin:0!important; width:100%!important; min-height:100dvh!important; overflow:hidden!important;
  background:radial-gradient(circle at 18% 10%,rgba(124,92,255,.18),transparent 30%),linear-gradient(180deg,#070b15,#030712)!important;
  color:#fff!important; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
.v51-hidden-original,.v51-hide-dup{display:none!important}
.v51-login-shell{width:min(860px,calc(100vw - 34px))!important;height:min(570px,calc(100dvh - 32px))!important;margin:16px auto!important;display:grid!important;grid-template-columns:minmax(0,1fr) 350px!important;border-radius:30px!important;overflow:hidden!important;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.025))!important;border:1px solid rgba(255,255,255,.105)!important;box-shadow:0 34px 110px rgba(0,0,0,.56),inset 0 1px 0 rgba(255,255,255,.075)!important}
.v51-login-brand{padding:34px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;text-align:center!important;background:radial-gradient(circle at 50% 18%,rgba(139,92,246,.18),transparent 36%),linear-gradient(180deg,rgba(15,23,42,.60),rgba(2,6,23,.20))!important;border-right:1px solid rgba(255,255,255,.08)!important}
.v51-logo-xl,.v51-logo-sm,.v51-dash-logo{display:grid!important;place-items:center!important;background:radial-gradient(circle at 38% 20%,rgba(255,255,255,.20),transparent 42%),linear-gradient(145deg,rgba(255,255,255,.135),rgba(255,255,255,.045))!important;border:1px solid rgba(255,255,255,.13)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.11),0 18px 40px rgba(0,0,0,.25)!important}
.v51-logo-xl{width:78px!important;height:78px!important;border-radius:27px!important;margin-bottom:20px!important}
.v51-logo-sm{width:42px!important;height:42px!important;border-radius:15px!important;margin:0 auto 10px!important}
.v51-apple{width:47px!important;height:47px!important;fill:#fff!important}.v51-logo-sm .v51-apple{width:27px!important;height:27px!important}
.v51-login-brand h1{font-size:clamp(38px,4vw,56px)!important;line-height:.96!important;letter-spacing:-.075em!important;margin:0 0 8px!important}
.v51-login-brand p{margin:0 0 34px!important;color:#b8c4d6!important;font-size:17px!important}
.v51-secure-chip{width:min(360px,100%)!important;padding:14px 16px!important;border-radius:20px!important;background:rgba(255,255,255,.052)!important;border:1px solid rgba(255,255,255,.085)!important;text-align:left!important}
.v51-secure-chip span{display:block!important;color:#fecaca!important;font-size:9px!important;font-weight:1000!important;letter-spacing:.14em!important;margin-bottom:6px!important}.v51-secure-chip strong{font-size:13px!important;color:#eaf1ff!important}
.v51-login-card{height:100%!important;padding:18px!important;display:grid!important;place-items:center!important;background:rgba(3,7,18,.18)!important}
.v51-card-inner{width:100%!important;max-width:314px!important;max-height:calc(100dvh - 70px)!important;overflow-y:auto!important;padding:17px!important;border-radius:24px!important;background:radial-gradient(circle at 50% -12%,rgba(139,92,246,.16),transparent 38%),linear-gradient(180deg,rgba(17,27,46,.96),rgba(8,14,26,.99))!important;border:1px solid rgba(255,255,255,.11)!important;box-shadow:0 26px 80px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.07)!important;text-align:center!important}
.v51-kicker{color:#bda9ff!important;font-size:9px!important;font-weight:1000!important;letter-spacing:.15em!important;text-transform:uppercase!important;margin:0 0 5px!important}.v51-card-inner h2{font-size:22px!important;line-height:1.07!important;margin:0 0 5px!important}.v51-subtitle{display:block!important;color:#aebbd0!important;font-size:12px!important;margin-bottom:11px!important}
.v51-auth-form,.v51-auth-form form{width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;text-align:left!important}
.v51-auth-form label{display:block!important;color:#b8c4d6!important;font-size:10.5px!important;font-weight:800!important;margin:0 0 4px!important}
.v51-input,.v51-auth-form input{width:100%!important;height:38px!important;min-height:38px!important;margin:0 0 8px!important;padding:0 12px!important;border-radius:13px!important;border:1px solid rgba(255,255,255,.10)!important;background:rgba(255,255,255,.06)!important;color:#f8fbff!important;outline:none!important;font-size:13px!important}
.v51-submit,.v51-auth-form button,.v51-auth-form [type=submit]{width:100%!important;height:39px!important;min-height:39px!important;margin-top:2px!important;border-radius:13px!important;border:0!important;background:linear-gradient(135deg,#8b5cf6,#4f46e5)!important;color:#fff!important;font-size:13px!important;font-weight:950!important;cursor:pointer!important}
.v51-divider{display:flex!important;align-items:center!important;gap:8px!important;margin:10px 0 8px!important}.v51-divider:before,.v51-divider:after{content:""!important;flex:1!important;height:1px!important;background:rgba(255,255,255,.085)!important}.v51-divider span{font-size:9px!important;color:#8fa0bc!important;font-weight:900!important;letter-spacing:.1em!important;text-transform:uppercase!important}
.v51-sso{width:100%!important;min-height:34px!important;margin-top:7px!important;border-radius:12px!important;border:1px solid rgba(255,255,255,.10)!important;color:#eaf1ff!important;font-size:11.5px!important;font-weight:900!important;background:rgba(255,255,255,.055)!important;cursor:pointer!important}.v51-card-inner small{display:block!important;margin-top:10px!important;color:#7f8da5!important;font-size:8px!important;letter-spacing:.13em!important;font-weight:900!important}

/* Dashboard scroll + buttons */
html.v51-dashboard,body.v51-dashboard{height:auto!important;min-height:100dvh!important;overflow-x:hidden!important;overflow-y:auto!important;position:relative!important}
body.v51-dashboard main,body.v51-dashboard .main,body.v51-dashboard .content,body.v51-dashboard .page-content,body.v51-dashboard .dashboard-content,body.v51-dashboard .workspace,body.v51-dashboard .app-main,body.v51-dashboard .tab-content{contain:none!important;transform:none!important;backface-visibility:visible!important}
body.v51-dashboard .hero,body.v51-dashboard .welcome-card,body.v51-dashboard .dashboard-hero,body.v51-dashboard .selected-hero,body.v51-dashboard .workspace-hero{contain:none!important;transform:none!important;overflow:hidden!important;position:relative!important}
#v46AuditTestButton,#v47AuditTestButton,#v48AuditTestButton,#v49AuditTestButton,#v50AuditTestButton,.v46-audit-test-btn,.v47-audit-test-btn,.v48-audit-test-btn,.v49-audit-test-btn,.v50-audit-test-btn,.test-portal-button,[data-test-portal]{display:none!important}
.v51-clean-actions{display:grid!important;grid-template-columns:repeat(2,max-content)!important;grid-auto-rows:auto!important;gap:10px!important;align-items:center!important;justify-content:end!important;width:fit-content!important;max-width:min(560px,100%)!important;margin-left:auto!important;position:relative!important;z-index:5!important}
.v51-clean-actions>*{position:relative!important;inset:auto!important;transform:none!important;flex:none!important;white-space:nowrap!important;min-height:44px!important;border-radius:15px!important}
.v51-audit-btn{min-height:44px!important;padding:8px 15px!important;display:inline-grid!important;grid-template-columns:auto 1fr!important;gap:10px!important;align-items:center!important;border:1px solid rgba(245,158,11,.25)!important;border-radius:16px!important;color:#fff!important;background:radial-gradient(circle at 0% 0%,rgba(245,158,11,.16),transparent 44%),linear-gradient(180deg,rgba(17,27,46,.92),rgba(8,14,26,.96))!important;box-shadow:0 16px 34px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.06)!important;cursor:pointer!important}.v51-audit-btn span{min-width:38px!important;height:28px!important;display:grid!important;place-items:center!important;border-radius:11px!important;color:#facc15!important;background:rgba(245,158,11,.12)!important;border:1px solid rgba(245,158,11,.20)!important;font-size:10px!important;font-weight:1000!important}.v51-audit-btn strong{font-size:14px!important;font-weight:950!important}
.v51-dash-logo{width:38px!important;height:38px!important;min-width:38px!important;border-radius:15px!important}.v51-dash-logo .v51-apple{width:25px!important;height:25px!important}

/* Test gate */
body.v51-hide-test>*:not(script):not(style):not(#v51Gate){display:none!important}
html.v51-test-page,body.v51-test-page{min-height:100dvh!important;margin:0!important;background:radial-gradient(circle at 50% 16%,rgba(124,92,255,.20),transparent 34%),linear-gradient(180deg,#070b15,#030712)!important;color:#fff!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}.v51-gate{min-height:100dvh!important;display:grid!important;place-items:center!important;padding:18px!important}.v51-gate.hidden{display:none!important}.v51-gate-card{width:min(560px,100%)!important;position:relative!important;padding:30px!important;text-align:center!important;border-radius:30px!important;background:radial-gradient(circle at 50% -12%,rgba(139,92,246,.18),transparent 34%),linear-gradient(180deg,rgba(18,28,48,.98),rgba(7,13,25,.995))!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 34px 110px rgba(0,0,0,.56),inset 0 1px 0 rgba(255,255,255,.07)!important}.v51-back{position:absolute!important;top:14px!important;right:14px!important;min-height:34px!important;padding:0 12px!important;border:0!important;border-radius:13px!important;color:#dbe7f6!important;background:rgba(255,255,255,.07)!important;font-size:11px!important;font-weight:850!important;cursor:pointer!important}.v51-gate-card p{color:#bda9ff!important;font-size:11px!important;font-weight:1000!important;letter-spacing:.16em!important;text-transform:uppercase!important}.v51-gate-card h1{font-size:clamp(28px,4.5vw,40px)!important;line-height:1.06!important;letter-spacing:-.05em!important}.v51-count{width:fit-content!important;min-width:260px!important;margin:24px auto!important;padding:14px 22px!important;border-radius:20px!important;background:rgba(245,158,11,.10)!important;border:1px solid rgba(245,158,11,.24)!important}.v51-count small{display:block!important;color:#f6c56c!important;font-size:10px!important;font-weight:1000!important;letter-spacing:.14em!important;text-transform:uppercase!important;margin-bottom:5px!important}.v51-count strong{font-size:clamp(32px,5vw,44px)!important;line-height:1!important}.v51-gate-action{width:100%!important;min-height:46px!important;border:0!important;border-radius:16px!important;color:#fff!important;background:linear-gradient(135deg,#8b5cf6,#4f46e5)!important;font-weight:950!important;cursor:pointer!important}

/* Toast */
.v51-toast{position:fixed!important;left:50%!important;bottom:20px!important;transform:translate(-50%,18px)!important;z-index:999999!important;width:min(380px,calc(100vw - 24px))!important;padding:12px 14px!important;border-radius:16px!important;color:#fff!important;text-align:center!important;font-size:12px!important;font-weight:850!important;background:rgba(15,23,42,.96)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 18px 44px rgba(0,0,0,.38)!important;opacity:0!important;pointer-events:none!important;transition:.18s!important}.v51-toast.show{opacity:1!important;transform:translate(-50%,0)!important}

/* Mobile */
@media(max-width:920px){.v51-clean-actions{grid-template-columns:1fr 1fr!important;width:100%!important;max-width:100%!important;justify-content:stretch!important}.v51-clean-actions>*{width:100%!important}.v51-audit-btn{justify-content:center!important}body.v51-dashboard .sidebar,body.v51-dashboard aside{overflow-x:auto!important;overflow-y:hidden!important}}
@media(max-width:760px){html.v51-login,body.v51-login{overflow-y:auto!important}.v51-login-shell{width:min(100%,calc(100vw - 14px))!important;height:auto!important;min-height:calc(100dvh - 14px)!important;margin:7px auto!important;grid-template-columns:1fr!important;border-radius:24px!important}.v51-login-brand{padding:20px 16px 14px!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important}.v51-logo-xl{width:54px!important;height:54px!important;border-radius:19px!important;margin-bottom:11px!important}.v51-logo-xl .v51-apple{width:33px!important;height:33px!important}.v51-login-brand h1{font-size:31px!important}.v51-login-brand p{font-size:13px!important;margin-bottom:13px!important}.v51-login-card{padding:14px!important}.v51-card-inner{max-width:100%!important;padding:16px!important}.v51-gate-card{padding:24px 18px!important;border-radius:24px!important}.v51-back{position:static!important;margin-left:auto!important;margin-bottom:12px!important;display:block!important}.v51-count{min-width:0!important;width:100%!important}}
