@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}}


/* V52 Login + Timer + Button Fix */

/* Premium Login direct page */
html.v52-login-html, body.v52-login-page {
  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;
}
.v52-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}
.v52-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}
.v52-logo-xl,.v52-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}
.v52-logo-xl{width:78px!important;height:78px!important;border-radius:27px!important;margin-bottom:20px!important}.v52-logo-sm{width:42px!important;height:42px!important;border-radius:15px!important;margin:0 auto 10px!important}
.v52-apple{width:47px!important;height:47px!important;fill:#fff!important}.v52-logo-sm .v52-apple{width:27px!important;height:27px!important}
.v52-login-brand h1{font-size:clamp(38px,4vw,56px)!important;line-height:.96!important;letter-spacing:-.075em!important;margin:0 0 8px!important}.v52-login-brand p{margin:0 0 34px!important;color:#b8c4d6!important;font-size:17px!important}
.v52-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}.v52-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}.v52-secure-chip strong{font-size:13px!important;color:#eaf1ff!important}
.v52-login-card{height:100%!important;padding:18px!important;display:grid!important;place-items:center!important;background:rgba(3,7,18,.18)!important}.v52-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}
.v52-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}.v52-card-inner h2{font-size:22px!important;line-height:1.07!important;margin:0 0 5px!important}.v52-subtitle{display:block!important;color:#aebbd0!important;font-size:12px!important;margin-bottom:11px!important}
.v52-login-form{text-align:left!important}.v52-login-form label{display:block!important;color:#b8c4d6!important;font-size:10.5px!important;font-weight:800!important;margin:0 0 4px!important}.v52-login-form input{width:100%!important;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}.v52-login-form button{width:100%!important;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}
.v52-divider{display:flex!important;align-items:center!important;gap:8px!important;margin:10px 0 8px!important}.v52-divider:before,.v52-divider:after{content:""!important;flex:1!important;height:1px!important;background:rgba(255,255,255,.085)!important}.v52-divider span{font-size:9px!important;color:#8fa0bc!important;font-weight:900!important;letter-spacing:.1em!important;text-transform:uppercase!important}.v52-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}.v52-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 stable buttons */
html.v52-dashboard,body.v52-dashboard{height:auto!important;min-height:100dvh!important;overflow-x:hidden!important;overflow-y:auto!important;position:relative!important}
.v52-actions-grid{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}
.v52-actions-grid>*{position:relative!important;inset:auto!important;transform:none!important;flex:none!important;white-space:nowrap!important;min-height:44px!important;border-radius:15px!important}
#v46AuditTestButton,#v47AuditTestButton,#v48AuditTestButton,#v49AuditTestButton,#v50AuditTestButton,#v51AuditTestButton,.v46-audit-test-btn,.v47-audit-test-btn,.v48-audit-test-btn,.v49-audit-test-btn,.v50-audit-test-btn,.v51-audit-btn,.test-portal-button,[data-test-portal]{display:none!important}
.v52-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}.v52-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}.v52-audit-btn strong{font-size:14px!important;font-weight:950!important}

/* Test gate fixed timer */
body.v52-hide-test>*:not(script):not(style):not(#v52Gate){display:none!important}
html.v52-test-page,body.v52-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}.v52-gate{min-height:100dvh!important;display:grid!important;place-items:center!important;padding:18px!important}.v52-gate.hidden{display:none!important}.v52-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}.v52-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}.v52-gate-card p{color:#bda9ff!important;font-size:11px!important;font-weight:1000!important;letter-spacing:.16em!important;text-transform:uppercase!important}.v52-gate-card h1{font-size:clamp(28px,4.5vw,40px)!important;line-height:1.06!important;letter-spacing:-.05em!important}.v52-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;color:#fff!important}.v52-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}.v52-count strong{display:block!important;color:#fff!important;font-size:clamp(32px,5vw,44px)!important;line-height:1!important;letter-spacing:-.03em!important}.v52-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 */
.v52-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}.v52-toast.show{opacity:1!important;transform:translate(-50%,0)!important}

/* Mobile */
@media(max-width:920px){.v52-actions-grid{grid-template-columns:1fr 1fr!important;width:100%!important;max-width:100%!important;justify-content:stretch!important}.v52-actions-grid>*{width:100%!important}.v52-audit-btn{justify-content:center!important}}
@media(max-width:760px){html.v52-login-html,body.v52-login-page{overflow-y:auto!important}.v52-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}.v52-login-brand{padding:20px 16px 14px!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important}.v52-logo-xl{width:54px!important;height:54px!important;border-radius:19px!important;margin-bottom:11px!important}.v52-logo-xl .v52-apple{width:33px!important;height:33px!important}.v52-login-brand h1{font-size:31px!important}.v52-login-brand p{font-size:13px!important;margin-bottom:13px!important}.v52-login-card{padding:14px!important}.v52-card-inner{max-width:100%!important;padding:16px!important}.v52-gate-card{padding:24px 18px!important;border-radius:24px!important}.v52-back{position:static!important;margin-left:auto!important;margin-bottom:12px!important;display:block!important}.v52-count{min-width:0!important;width:100%!important}}


/* V53 Login Supabase + Timer Fix */

/* Premium Login */
html.v53-login-html, body.v53-login-page {
  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;
}
.v53-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}
.v53-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}
.v53-logo-xl,.v53-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}
.v53-logo-xl{width:78px!important;height:78px!important;border-radius:27px!important;margin-bottom:20px!important}.v53-logo-sm{width:42px!important;height:42px!important;border-radius:15px!important;margin:0 auto 10px!important}
.v53-apple{width:47px!important;height:47px!important;fill:#fff!important}.v53-logo-sm .v53-apple{width:27px!important;height:27px!important}
.v53-login-brand h1{font-size:clamp(38px,4vw,56px)!important;line-height:.96!important;letter-spacing:-.075em!important;margin:0 0 8px!important}.v53-login-brand p{margin:0 0 34px!important;color:#b8c4d6!important;font-size:17px!important}
.v53-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}.v53-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}.v53-secure-chip strong{font-size:13px!important;color:#eaf1ff!important}
.v53-login-card{height:100%!important;padding:18px!important;display:grid!important;place-items:center!important;background:rgba(3,7,18,.18)!important}.v53-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;scrollbar-width:thin!important}
.v53-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}.v53-card-inner h2{font-size:22px!important;line-height:1.07!important;margin:0 0 5px!important}.v53-subtitle{display:block!important;color:#aebbd0!important;font-size:12px!important;margin-bottom:11px!important}
.v53-login-form{text-align:left!important}.v53-login-form label{display:block!important;color:#b8c4d6!important;font-size:10.5px!important;font-weight:800!important;margin:0 0 4px!important}.v53-login-form input{width:100%!important;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}.v53-login-form button#loginButton{width:100%!important;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}
.v53-password-row{display:grid!important;grid-template-columns:1fr 42px!important;gap:8px!important;align-items:start!important}.v53-password-row input{margin-bottom:8px!important}.v53-password-row #togglePassword{height:38px!important;border-radius:13px!important;border:1px solid rgba(255,255,255,.10)!important;background:rgba(255,255,255,.06)!important;color:#fff!important;cursor:pointer!important}
.login-error{margin:8px 0 0!important;color:#fecaca!important;font-size:12px!important;text-align:center!important}.login-error.hidden{display:none!important}
.v53-divider{display:flex!important;align-items:center!important;gap:8px!important;margin:10px 0 8px!important}.v53-divider:before,.v53-divider:after{content:""!important;flex:1!important;height:1px!important;background:rgba(255,255,255,.085)!important}.v53-divider span{font-size:9px!important;color:#8fa0bc!important;font-weight:900!important;letter-spacing:.1em!important;text-transform:uppercase!important}.v53-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}.v53-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 stable buttons */
html.v53-dashboard,body.v53-dashboard{height:auto!important;min-height:100dvh!important;overflow-x:hidden!important;overflow-y:auto!important;position:relative!important}
.v53-actions-grid{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}
.v53-actions-grid>*{position:relative!important;inset:auto!important;transform:none!important;flex:none!important;white-space:nowrap!important;min-height:44px!important;border-radius:15px!important}
#v46AuditTestButton,#v47AuditTestButton,#v48AuditTestButton,#v49AuditTestButton,#v50AuditTestButton,#v51AuditTestButton,#v52AuditTestButton,.v46-audit-test-btn,.v47-audit-test-btn,.v48-audit-test-btn,.v49-audit-test-btn,.v50-audit-test-btn,.v51-audit-btn,.v52-audit-btn,.test-portal-button,[data-test-portal]{display:none!important}
.v53-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}.v53-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}.v53-audit-btn strong{font-size:14px!important;font-weight:950!important}

/* Test gate visible timer */
body.v53-hide-test>*:not(script):not(style):not(#v53Gate){display:none!important}
html.v53-test-page,body.v53-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}.v53-gate{min-height:100dvh!important;display:grid!important;place-items:center!important;padding:18px!important}.v53-gate.hidden{display:none!important}.v53-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}.v53-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}.v53-gate-card p{color:#bda9ff!important;font-size:11px!important;font-weight:1000!important;letter-spacing:.16em!important;text-transform:uppercase!important}.v53-gate-card h1{font-size:clamp(28px,4.5vw,40px)!important;line-height:1.06!important;letter-spacing:-.05em!important}.v53-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;color:#fff!important}.v53-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}.v53-count strong{display:block!important;color:#fff!important;font-size:clamp(32px,5vw,44px)!important;line-height:1!important;letter-spacing:-.03em!important}.v53-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 */
.v53-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}.v53-toast.show{opacity:1!important;transform:translate(-50%,0)!important}

/* Mobile */
@media(max-width:920px){.v53-actions-grid{grid-template-columns:1fr 1fr!important;width:100%!important;max-width:100%!important;justify-content:stretch!important}.v53-actions-grid>*{width:100%!important}.v53-audit-btn{justify-content:center!important}}
@media(max-width:760px){html.v53-login-html,body.v53-login-page{overflow-y:auto!important}.v53-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}.v53-login-brand{padding:20px 16px 14px!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important}.v53-logo-xl{width:54px!important;height:54px!important;border-radius:19px!important;margin-bottom:11px!important}.v53-logo-xl .v53-apple{width:33px!important;height:33px!important}.v53-login-brand h1{font-size:31px!important}.v53-login-brand p{font-size:13px!important;margin-bottom:13px!important}.v53-login-card{padding:14px!important}.v53-card-inner{max-width:100%!important;padding:16px!important}.v53-gate-card{padding:24px 18px!important;border-radius:24px!important}.v53-back{position:static!important;margin-left:auto!important;margin-bottom:12px!important;display:block!important}.v53-count{min-width:0!important;width:100%!important}}


/* V54 Final Source Clean */

/* Premium Login */
html.v54-login-html, body.v54-login-page {
  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;
}
.v54-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}
.v54-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}
.v54-logo-xl,.v54-logo-sm,.v54-gate-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}
.v54-logo-xl{width:78px!important;height:78px!important;border-radius:27px!important;margin-bottom:20px!important}.v54-logo-sm{width:42px!important;height:42px!important;border-radius:15px!important;margin:0 auto 10px!important}
.v54-apple{width:47px!important;height:47px!important;fill:#fff!important}.v54-logo-sm .v54-apple{width:27px!important;height:27px!important}
.v54-login-brand h1{font-size:clamp(38px,4vw,56px)!important;line-height:.96!important;letter-spacing:-.075em!important;margin:0 0 8px!important}.v54-login-brand p{margin:0 0 34px!important;color:#b8c4d6!important;font-size:17px!important}
.v54-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}.v54-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}.v54-secure-chip strong{font-size:13px!important;color:#eaf1ff!important}
.v54-login-card{height:100%!important;padding:18px!important;display:grid!important;place-items:center!important;background:rgba(3,7,18,.18)!important}.v54-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;scrollbar-width:thin!important}
.v54-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}.v54-card-inner h2{font-size:22px!important;line-height:1.07!important;margin:0 0 5px!important}.v54-subtitle{display:block!important;color:#aebbd0!important;font-size:12px!important;margin-bottom:11px!important}
.v54-login-form{text-align:left!important}.v54-login-form label{display:block!important;color:#b8c4d6!important;font-size:10.5px!important;font-weight:800!important;margin:0 0 4px!important}.v54-login-form input{width:100%!important;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}.v54-login-form button#loginButton{width:100%!important;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}
.v54-password-row{display:grid!important;grid-template-columns:1fr 42px!important;gap:8px!important;align-items:start!important}.v54-password-row input{margin-bottom:8px!important}.v54-password-row #togglePassword{height:38px!important;border-radius:13px!important;border:1px solid rgba(255,255,255,.10)!important;background:rgba(255,255,255,.06)!important;color:#fff!important;cursor:pointer!important}
.login-error{margin:8px 0 0!important;color:#fecaca!important;font-size:12px!important;text-align:center!important}.login-error.hidden{display:none!important}
.v54-divider{display:flex!important;align-items:center!important;gap:8px!important;margin:10px 0 8px!important}.v54-divider:before,.v54-divider:after{content:""!important;flex:1!important;height:1px!important;background:rgba(255,255,255,.085)!important}.v54-divider span{font-size:9px!important;color:#8fa0bc!important;font-weight:900!important;letter-spacing:.1em!important;text-transform:uppercase!important}.v54-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}.v54-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 source-level stable buttons */
html.v54-dashboard,body.v54-dashboard{height:auto!important;min-height:100dvh!important;overflow-x:hidden!important;overflow-y:auto!important;position:relative!important}
.v54-source-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}
.v54-source-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}
.v54-audit-test-btn{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;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}
.v54-audit-test-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}.v54-audit-test-btn strong{font-size:14px!important;font-weight:950!important}
/* Hard-hide any stale old buttons if browser cache still injects them */
#testPortalQuickButton,#internalMCQPortalButton,#v46AuditTestButton,#v47AuditTestButton,#v48AuditTestButton,#v49AuditTestButton,#v50AuditTestButton,#v51AuditTestButton,#v52AuditTestButton,#v53AuditTestButton,.v46-audit-test-btn,.v47-audit-test-btn,.v48-audit-test-btn,.v49-audit-test-btn,.v50-audit-test-btn,.v51-audit-btn,.v52-audit-btn,.v53-audit-btn,.test-portal-button,[data-test-portal]{display:none!important}

/* Compact premium test gate */
body.v54-hide-test>*:not(script):not(style):not(#v54Gate){display:none!important}
html.v54-test-page,body.v54-test-page{min-height:100dvh!important;margin:0!important;background:radial-gradient(circle at 50% 16%,rgba(124,92,255,.18),transparent 32%),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;overflow-x:hidden!important}
.v54-gate{min-height:100dvh!important;display:grid!important;place-items:center!important;padding:18px!important}.v54-gate.hidden{display:none!important}
.v54-gate-card{width:min(470px,100%)!important;position:relative!important;padding:24px!important;text-align:center!important;border-radius:28px!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}
.v54-back{position:absolute!important;top:14px!important;right:14px!important;min-height:32px!important;padding:0 11px!important;border:0!important;border-radius:12px!important;color:#dbe7f6!important;background:rgba(255,255,255,.07)!important;font-size:10.5px!important;font-weight:850!important;cursor:pointer!important}
.v54-gate-logo{width:58px!important;height:58px!important;border-radius:20px!important;margin:0 auto 14px!important}.v54-gate-logo .v54-apple{width:36px!important;height:36px!important}
.v54-gate-card p{margin:0 0 8px!important;color:#bda9ff!important;font-size:10.5px!important;font-weight:1000!important;letter-spacing:.16em!important;text-transform:uppercase!important}
.v54-gate-card h1{margin:0 0 9px!important;font-size:clamp(26px,4.2vw,34px)!important;line-height:1.07!important;letter-spacing:-.05em!important}
#v54GateMsg{display:block!important;max-width:390px!important;margin:0 auto!important;color:#b8c4d6!important;font-size:13.5px!important;line-height:1.38!important}
.v54-count{width:fit-content!important;min-width:230px!important;margin:18px auto!important;padding:13px 19px!important;border-radius:20px!important;background:linear-gradient(180deg,rgba(245,158,11,.13),rgba(245,158,11,.07))!important;border:1px solid rgba(245,158,11,.28)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 46px rgba(0,0,0,.25)!important}
.v54-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}.v54-count strong{display:block!important;color:#fff!important;font-size:clamp(31px,5vw,42px)!important;line-height:1!important;letter-spacing:-.035em!important}
.v54-gate-action{width:100%!important;min-height:44px!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;box-shadow:0 16px 34px rgba(79,70,229,.28)!important}

/* Toast */
.v54-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}.v54-toast.show{opacity:1!important;transform:translate(-50%,0)!important}

/* Mobile */
@media(max-width:920px){.v54-source-actions{grid-template-columns:1fr 1fr!important;width:100%!important;max-width:100%!important;justify-content:stretch!important}.v54-source-actions>*{width:100%!important}.v54-audit-test-btn{justify-content:center!important}}
@media(max-width:760px){html.v54-login-html,body.v54-login-page{overflow-y:auto!important}.v54-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}.v54-login-brand{padding:20px 16px 14px!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important}.v54-logo-xl{width:54px!important;height:54px!important;border-radius:19px!important;margin-bottom:11px!important}.v54-logo-xl .v54-apple{width:33px!important;height:33px!important}.v54-login-brand h1{font-size:31px!important}.v54-login-brand p{font-size:13px!important;margin-bottom:13px!important}.v54-login-card{padding:14px!important}.v54-card-inner{max-width:100%!important;padding:16px!important}.v54-gate-card{padding:22px 16px!important;border-radius:24px!important}.v54-back{position:static!important;margin-left:auto!important;margin-bottom:12px!important;display:block!important}.v54-count{min-width:0!important;width:100%!important}}


/* V55 Premium Login Source Fit */

/* Login: true one-screen, no card scrollbar */
html.v55-login-html,
body.v55-login-page{
  width:100%!important;height:100%!important;min-height:100dvh!important;margin:0!important;overflow:hidden!important;
  color:#fff!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  background:
    radial-gradient(circle at 18% 12%,rgba(124,92,255,.18),transparent 30%),
    radial-gradient(circle at 82% 12%,rgba(59,130,246,.10),transparent 32%),
    linear-gradient(180deg,#070b15,#030712)!important;
}
.v55-login-shell{
  width:min(820px,calc(100vw - 36px))!important;
  height:min(540px,calc(100dvh - 34px))!important;
  margin:17px auto!important;
  display:grid!important;grid-template-columns:minmax(0,1fr) 330px!important;
  border-radius:30px!important;overflow:hidden!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;
}
.v55-login-brand{
  min-width:0!important;padding:30px!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;
}
.v55-logo-xl,.v55-logo-sm,.v55-gate-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;
}
.v55-logo-xl{width:68px!important;height:68px!important;border-radius:24px!important;margin-bottom:16px!important}
.v55-logo-sm{width:38px!important;height:38px!important;border-radius:14px!important;margin:0 auto 8px!important}
.v55-apple{width:41px!important;height:41px!important;fill:#fff!important}.v55-logo-sm .v55-apple{width:24px!important;height:24px!important}
.v55-eyebrow{margin:0 0 8px!important;color:#bda9ff!important;font-size:10px!important;font-weight:1000!important;letter-spacing:.16em!important;text-transform:uppercase!important}
.v55-login-brand h1{margin:0 0 8px!important;font-size:clamp(35px,4vw,52px)!important;line-height:.96!important;letter-spacing:-.075em!important}
.v55-login-brand>span{color:#b8c4d6!important;font-size:15px!important}
.v55-secure-chip{width:min(330px,100%)!important;margin-top:24px!important;padding:12px 14px!important;border-radius:18px!important;background:rgba(255,255,255,.052)!important;border:1px solid rgba(255,255,255,.085)!important;text-align:left!important}
.v55-secure-chip small{display:block!important;color:#fecaca!important;font-size:8.5px!important;font-weight:1000!important;letter-spacing:.14em!important;margin-bottom:5px!important}
.v55-secure-chip strong{font-size:12.5px!important;color:#eaf1ff!important}
.v55-login-card{height:100%!important;padding:16px!important;display:grid!important;place-items:center!important;background:rgba(3,7,18,.18)!important}
.v55-card-inner{
  width:100%!important;max-width:296px!important;max-height:none!important;overflow:visible!important;
  padding:15px!important;border-radius:22px!important;text-align:center!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;
}
.v55-kicker{color:#bda9ff!important;font-size:8.5px!important;font-weight:1000!important;letter-spacing:.15em!important;text-transform:uppercase!important;margin:0 0 4px!important}
.v55-card-inner h2{font-size:20px!important;line-height:1.06!important;margin:0 0 4px!important;letter-spacing:-.04em!important}
.v55-subtitle{display:block!important;color:#aebbd0!important;font-size:11px!important;margin-bottom:9px!important}
.v55-login-form{text-align:left!important}.v55-login-form label{display:block!important;color:#b8c4d6!important;font-size:10px!important;font-weight:800!important;margin:0 0 3px!important}
.v55-login-form input{width:100%!important;height:34px!important;min-height:34px!important;margin:0 0 6px!important;padding:0 11px!important;border-radius:12px!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:12.5px!important}
.v55-password-row{display:grid!important;grid-template-columns:1fr 42px!important;gap:7px!important;align-items:start!important}
.v55-password-row input{margin-bottom:6px!important}
.v55-password-row #togglePassword{height:34px!important;border-radius:12px!important;border:1px solid rgba(255,255,255,.10)!important;background:rgba(255,255,255,.06)!important;color:#fff!important;cursor:pointer!important;font-size:10.5px!important;font-weight:850!important}
.v55-login-form button#loginButton{width:100%!important;height:36px!important;min-height:36px!important;margin-top:1px!important;border-radius:12px!important;border:0!important;background:linear-gradient(135deg,#8b5cf6,#4f46e5)!important;color:#fff!important;font-size:12.8px!important;font-weight:950!important;cursor:pointer!important}
.login-error{margin:6px 0 0!important;color:#fecaca!important;font-size:11px!important;text-align:center!important}.login-error.hidden{display:none!important}
.v55-divider{display:flex!important;align-items:center!important;gap:7px!important;margin:8px 0 6px!important}.v55-divider:before,.v55-divider:after{content:""!important;flex:1!important;height:1px!important;background:rgba(255,255,255,.085)!important}.v55-divider span{font-size:8.5px!important;color:#8fa0bc!important;font-weight:900!important;letter-spacing:.1em!important;text-transform:uppercase!important}
.v55-sso{width:100%!important;min-height:30px!important;margin-top:6px!important;border-radius:11px!important;border:1px solid rgba(255,255,255,.10)!important;color:#eaf1ff!important;font-size:11px!important;font-weight:900!important;background:rgba(255,255,255,.055)!important;cursor:pointer!important}
.v55-card-inner small{display:block!important;margin-top:8px!important;color:#7f8da5!important;font-size:7.5px!important;letter-spacing:.12em!important;font-weight:900!important}
.v55-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:11px 13px!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}.v55-toast.show{opacity:1!important;transform:translate(-50%,0)!important}

/* Dashboard compatibility from V54 source */
html.v55-dashboard,body.v55-dashboard{height:auto!important;min-height:100dvh!important;overflow-x:hidden!important;overflow-y:auto!important;position:relative!important}

/* Test gate compact */
body.v55-hide-test>*:not(script):not(style):not(#v55Gate){display:none!important}
html.v55-test-page,body.v55-test-page{min-height:100dvh!important;margin:0!important;background:radial-gradient(circle at 50% 16%,rgba(124,92,255,.18),transparent 32%),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;overflow-x:hidden!important}
.v55-gate{min-height:100dvh!important;display:grid!important;place-items:center!important;padding:18px!important}.v55-gate.hidden{display:none!important}
.v55-gate-card{width:min(440px,100%)!important;position:relative!important;padding:22px!important;text-align:center!important;border-radius:26px!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}
.v55-back{position:absolute!important;top:12px!important;right:12px!important;min-height:30px!important;padding:0 10px!important;border:0!important;border-radius:11px!important;color:#dbe7f6!important;background:rgba(255,255,255,.07)!important;font-size:10px!important;font-weight:850!important;cursor:pointer!important}
.v55-gate-logo{width:54px!important;height:54px!important;border-radius:19px!important;margin:0 auto 12px!important}.v55-gate-logo .v55-apple{width:34px!important;height:34px!important}
.v55-gate-card p{margin:0 0 7px!important;color:#bda9ff!important;font-size:10px!important;font-weight:1000!important;letter-spacing:.16em!important;text-transform:uppercase!important}
.v55-gate-card h1{margin:0 0 8px!important;font-size:clamp(24px,4.2vw,32px)!important;line-height:1.07!important;letter-spacing:-.05em!important}
#v55GateMsg{display:block!important;max-width:370px!important;margin:0 auto!important;color:#b8c4d6!important;font-size:13px!important;line-height:1.36!important}
.v55-count{width:fit-content!important;min-width:220px!important;margin:16px auto!important;padding:12px 18px!important;border-radius:18px!important;background:linear-gradient(180deg,rgba(245,158,11,.13),rgba(245,158,11,.07))!important;border:1px solid rgba(245,158,11,.28)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 46px rgba(0,0,0,.25)!important}
.v55-count small{display:block!important;color:#f6c56c!important;font-size:9.5px!important;font-weight:1000!important;letter-spacing:.14em!important;text-transform:uppercase!important;margin-bottom:4px!important}.v55-count strong{display:block!important;color:#fff!important;font-size:clamp(30px,5vw,40px)!important;line-height:1!important;letter-spacing:-.035em!important}
.v55-gate-action{width:100%!important;min-height:42px!important;border:0!important;border-radius:15px!important;color:#fff!important;background:linear-gradient(135deg,#8b5cf6,#4f46e5)!important;font-weight:950!important;cursor:pointer!important;box-shadow:0 16px 34px rgba(79,70,229,.28)!important}

/* Smaller desktop height */
@media(max-height:680px) and (min-width:761px){
  .v55-login-shell{height:calc(100dvh - 20px)!important;margin:10px auto!important;width:min(790px,calc(100vw - 28px))!important;grid-template-columns:minmax(0,1fr) 315px!important}
  .v55-login-brand{padding:22px!important}.v55-logo-xl{width:58px!important;height:58px!important;margin-bottom:12px!important}.v55-logo-xl .v55-apple{width:36px!important;height:36px!important}
  .v55-login-brand h1{font-size:40px!important}.v55-secure-chip{margin-top:18px!important}
  .v55-login-card{padding:12px!important}.v55-card-inner{padding:13px!important}.v55-logo-sm{width:34px!important;height:34px!important;margin-bottom:6px!important}.v55-card-inner h2{font-size:18px!important}.v55-login-form input{height:32px!important;min-height:32px!important}.v55-password-row #togglePassword{height:32px!important}.v55-login-form button#loginButton{height:34px!important;min-height:34px!important}.v55-sso{min-height:28px!important}
}

/* Mobile */
@media(max-width:760px){
  html.v55-login-html,body.v55-login-page{overflow-y:auto!important}
  .v55-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}
  .v55-login-brand{padding:18px 16px 13px!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important}.v55-logo-xl{width:50px!important;height:50px!important;border-radius:18px!important;margin-bottom:9px!important}.v55-logo-xl .v55-apple{width:31px!important;height:31px!important}.v55-eyebrow{font-size:8.5px!important}.v55-login-brand h1{font-size:30px!important}.v55-login-brand>span{font-size:12.5px!important}.v55-secure-chip{margin-top:12px!important;padding:9px 11px!important;text-align:center!important}
  .v55-login-card{padding:12px!important}.v55-card-inner{max-width:100%!important;padding:14px!important}
  .v55-gate-card{padding:21px 16px!important;border-radius:24px!important}.v55-back{position:static!important;margin-left:auto!important;margin-bottom:10px!important;display:block!important}.v55-count{min-width:0!important;width:100%!important}
}


/* V56 Backend-Driven Fancy Timer */

/* Hide original MCQ page only when backend timer gate is locked/closed */
body.v56-hide-test > *:not(script):not(style):not(#v56Gate) {
  display: none !important;
}

html.v56-test-page,
body.v56-test-page {
  min-height: 100dvh !important;
  margin: 0 !important;
  background:
    radial-gradient(circle at 50% 12%, rgba(124,92,255,.19), transparent 34%),
    radial-gradient(circle at 15% 70%, rgba(245,158,11,.08), transparent 26%),
    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;
  overflow-x: hidden !important;
}

.v56-gate {
  min-height: 100dvh !important;
  display: grid !important;
  place-items: center !important;
  padding: 18px !important;
}

.v56-gate.hidden {
  display: none !important;
}

.v56-gate-card {
  width: min(440px, 100%) !important;
  position: relative !important;
  padding: 22px !important;
  text-align: center !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 50% -12%, rgba(139,92,246,.20), transparent 36%),
    linear-gradient(180deg, rgba(18,28,48,.985), rgba(7,13,25,.995)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow:
    0 34px 110px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.075) !important;
  overflow: hidden !important;
}

.v56-gate-card::before {
  content: "" !important;
  position: absolute !important;
  inset: -2px !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  background:
    linear-gradient(120deg, transparent, rgba(255,255,255,.10), transparent) !important;
  opacity: .45 !important;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) !important;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) !important;
  padding: 1px !important;
}

.v56-back {
  position: absolute !important;
  top: 13px !important;
  right: 13px !important;
  min-height: 30px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 12px !important;
  color: #dbe7f6 !important;
  background: rgba(255,255,255,.07) !important;
  font-size: 10.5px !important;
  font-weight: 850 !important;
  cursor: pointer !important;
}

.v56-gate-logo {
  width: 56px !important;
  height: 56px !important;
  margin: 2px auto 12px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 20px !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;
}

.v56-apple {
  width: 34px !important;
  height: 34px !important;
  fill: #fff !important;
  display: block !important;
}

.v56-eyebrow {
  margin: 0 0 7px !important;
  color: #bda9ff !important;
  font-size: 10px !important;
  font-weight: 1000 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.v56-gate-card h1 {
  margin: 0 0 8px !important;
  font-size: clamp(25px, 4vw, 33px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.055em !important;
  color: #fff !important;
}

#v56GateMsg {
  display: block !important;
  max-width: 360px !important;
  margin: 0 auto 14px !important;
  color: #b8c4d6 !important;
  font-size: 13px !important;
  line-height: 1.38 !important;
}

.v56-count-wrap {
  display: grid !important;
  place-items: center !important;
  margin: 12px 0 12px !important;
}

.v56-ring {
  width: 172px !important;
  height: 172px !important;
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.055), rgba(255,255,255,.025) 56%, transparent 57%) !important;
  box-shadow:
    0 22px 55px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.v56-ring svg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  transform: rotate(-90deg) !important;
}

.v56-ring-bg,
.v56-ring-progress {
  fill: none !important;
  stroke-width: 8 !important;
}

.v56-ring-bg {
  stroke: rgba(255,255,255,.08) !important;
}

.v56-ring-progress {
  stroke: #f59e0b !important;
  stroke-linecap: round !important;
  filter: drop-shadow(0 0 10px rgba(245,158,11,.45)) !important;
  transition: stroke-dashoffset .65s ease !important;
}

.v56-ring-center {
  position: relative !important;
  z-index: 2 !important;
  width: 126px !important;
  height: 126px !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.08), rgba(255,255,255,.025) 64%),
    rgba(3,7,18,.40) !important;
  border: 1px solid rgba(255,255,255,.075) !important;
}

.v56-ring-center small {
  display: block !important;
  color: #f6c56c !important;
  font-size: 9.5px !important;
  font-weight: 1000 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  margin-bottom: 5px !important;
}

.v56-ring-center strong {
  display: block !important;
  color: #fff !important;
  font-size: clamp(24px, 4vw, 33px) !important;
  line-height: 1 !important;
  letter-spacing: -.04em !important;
  font-variant-numeric: tabular-nums !important;
}

.v56-status-row {
  width: fit-content !important;
  max-width: 100% !important;
  margin: 0 auto 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 11px !important;
  border-radius: 999px !important;
  color: #aebbd0 !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(255,255,255,.075) !important;
}

.v56-status-row span {
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: #f59e0b !important;
  box-shadow: 0 0 14px rgba(245,158,11,.65) !important;
}

.v56-status-row small {
  font-size: 10.5px !important;
  font-weight: 780 !important;
}

.v56-gate-action {
  width: 100% !important;
  min-height: 43px !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;
  box-shadow: 0 16px 34px rgba(79,70,229,.28) !important;
}

/* Closed state */
.v56-gate-card[data-status="closed"] .v56-ring-progress {
  stroke: #94a3b8 !important;
  filter: drop-shadow(0 0 10px rgba(148,163,184,.30)) !important;
}

.v56-gate-card[data-status="closed"] .v56-status-row span {
  background: #94a3b8 !important;
  box-shadow: 0 0 14px rgba(148,163,184,.45) !important;
}

@media(max-width:760px){
  .v56-gate-card{
    padding: 21px 16px !important;
    border-radius: 24px !important;
  }
  .v56-back{
    position: static !important;
    margin-left: auto !important;
    margin-bottom: 10px !important;
    display: block !important;
  }
  .v56-ring{
    width: 158px !important;
    height: 158px !important;
  }
  .v56-ring-center{
    width: 116px !important;
    height: 116px !important;
  }
  #v56GateMsg{
    font-size: 12.5px !important;
  }
}


/* V57 Professional Compact Timer */

/* Hide original MCQ page only when V57 gate is locked/closed */
body.v57-hide-test > *:not(script):not(style):not(#v57Gate) {
  display: none !important;
}

html.v57-test-page,
body.v57-test-page {
  min-height: 100dvh !important;
  margin: 0 !important;
  background:
    radial-gradient(circle at 50% 12%, rgba(124,92,255,.18), transparent 32%),
    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;
  overflow: hidden !important;
}

.v57-gate {
  min-height: 100dvh !important;
  display: grid !important;
  place-items: center !important;
  padding: 10px !important;
  box-sizing: border-box !important;
}

.v57-gate.hidden {
  display: none !important;
}

.v57-gate-card {
  width: min(410px, calc(100vw - 22px)) !important;
  max-height: calc(100dvh - 22px) !important;
  position: relative !important;
  padding: 18px 18px 16px !important;
  text-align: center !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 50% -12%, rgba(139,92,246,.18), transparent 34%),
    linear-gradient(180deg, rgba(18,28,48,.985), rgba(7,13,25,.995)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow:
    0 26px 80px rgba(0,0,0,.54),
    inset 0 1px 0 rgba(255,255,255,.075) !important;
  overflow: hidden !important;
}

.v57-back {
  position: absolute !important;
  top: 11px !important;
  right: 11px !important;
  min-height: 28px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 11px !important;
  color: #dbe7f6 !important;
  background: rgba(255,255,255,.07) !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  cursor: pointer !important;
}

.v57-gate-logo {
  width: 46px !important;
  height: 46px !important;
  margin: 0 auto 10px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 17px !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 14px 32px rgba(0,0,0,.24) !important;
}

.v57-apple {
  width: 28px !important;
  height: 28px !important;
  fill: #fff !important;
  display: block !important;
}

.v57-eyebrow {
  margin: 0 0 5px !important;
  color: #bda9ff !important;
  font-size: 9px !important;
  font-weight: 1000 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
}

.v57-gate-card h1 {
  margin: 0 0 6px !important;
  font-size: clamp(23px, 3.8vw, 30px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.055em !important;
  color: #fff !important;
}

#v57GateMsg {
  display: block !important;
  max-width: 340px !important;
  margin: 0 auto 10px !important;
  color: #b8c4d6 !important;
  font-size: 12px !important;
  line-height: 1.32 !important;
}

.v57-count-wrap {
  display: grid !important;
  place-items: center !important;
  margin: 8px 0 12px !important;
}

.v57-ring {
  width: 136px !important;
  height: 136px !important;
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.055), rgba(255,255,255,.025) 56%, transparent 57%) !important;
  box-shadow:
    0 18px 44px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.v57-ring svg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  transform: rotate(-90deg) !important;
}

.v57-ring-bg,
.v57-ring-progress {
  fill: none !important;
  stroke-width: 8 !important;
}

.v57-ring-bg {
  stroke: rgba(255,255,255,.08) !important;
}

.v57-ring-progress {
  stroke: #f59e0b !important;
  stroke-linecap: round !important;
  filter: drop-shadow(0 0 9px rgba(245,158,11,.42)) !important;
  transition: stroke-dashoffset .65s ease !important;
}

.v57-ring-center {
  position: relative !important;
  z-index: 2 !important;
  width: 98px !important;
  height: 98px !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.08), rgba(255,255,255,.025) 64%),
    rgba(3,7,18,.40) !important;
  border: 1px solid rgba(255,255,255,.075) !important;
}

.v57-ring-center small {
  display: block !important;
  color: #f6c56c !important;
  font-size: 8px !important;
  font-weight: 1000 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  margin-bottom: 4px !important;
}

.v57-ring-center strong {
  display: block !important;
  color: #fff !important;
  font-size: clamp(20px, 3.8vw, 28px) !important;
  line-height: 1 !important;
  letter-spacing: -.04em !important;
  font-variant-numeric: tabular-nums !important;
}

/* Hide technical/backend status row from UI */
.v57-status-row {
  display: none !important;
}

.v57-gate-action {
  width: 100% !important;
  min-height: 39px !important;
  border: 0 !important;
  border-radius: 14px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #8b5cf6, #4f46e5) !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  cursor: pointer !important;
  box-shadow: 0 14px 30px rgba(79,70,229,.26) !important;
}

.v57-gate-card[data-status="closed"] .v57-ring-progress {
  stroke: #94a3b8 !important;
  filter: drop-shadow(0 0 9px rgba(148,163,184,.30)) !important;
}

/* Extra safety for laptop browser viewport height */
@media(max-height: 690px) and (min-width: 761px) {
  .v57-gate {
    padding: 8px !important;
  }
  .v57-gate-card {
    width: min(390px, calc(100vw - 22px)) !important;
    padding: 14px 16px !important;
    border-radius: 24px !important;
  }
  .v57-gate-logo {
    width: 40px !important;
    height: 40px !important;
    border-radius: 15px !important;
    margin-bottom: 8px !important;
  }
  .v57-gate-logo .v57-apple,
  .v57-apple {
    width: 25px !important;
    height: 25px !important;
  }
  .v57-eyebrow {
    font-size: 8px !important;
    margin-bottom: 4px !important;
  }
  .v57-gate-card h1 {
    font-size: 25px !important;
    margin-bottom: 5px !important;
  }
  #v57GateMsg {
    font-size: 11.5px !important;
    margin-bottom: 8px !important;
  }
  .v57-ring {
    width: 122px !important;
    height: 122px !important;
  }
  .v57-ring-center {
    width: 88px !important;
    height: 88px !important;
  }
  .v57-ring-center strong {
    font-size: 24px !important;
  }
  .v57-count-wrap {
    margin: 6px 0 10px !important;
  }
  .v57-gate-action {
    min-height: 37px !important;
  }
}

@media(max-width:760px){
  html.v57-test-page,
  body.v57-test-page {
    overflow-y: auto !important;
  }
  .v57-gate{
    min-height: 100dvh !important;
    padding: 10px !important;
  }
  .v57-gate-card{
    padding: 17px 14px 15px !important;
    border-radius: 22px !important;
  }
  .v57-back{
    position: static !important;
    margin-left: auto !important;
    margin-bottom: 8px !important;
    display: block !important;
  }
  .v57-ring{
    width: 126px !important;
    height: 126px !important;
  }
  .v57-ring-center{
    width: 92px !important;
    height: 92px !important;
  }
  #v57GateMsg{
    font-size: 11.5px !important;
  }
}


/* V58 Dashboard Timer + Camera/Mic Premium Preflight */

/* Dashboard Audit Test button status */
.v58-audit-button {
  min-height: 52px !important;
  grid-template-columns: auto 1fr !important;
  align-items: center !important;
  gap: 10px !important;
}

.v58-audit-button span {
  align-self: center !important;
}

.v58-audit-button strong {
  display: block !important;
  line-height: 1.05 !important;
}

.v58-audit-button em {
  grid-column: 2 !important;
  display: block !important;
  margin-top: 2px !important;
  color: #b8c4d6 !important;
  font-style: normal !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  letter-spacing: .01em !important;
}

/* Modal */
body.v58-modal-open {
  overflow: hidden !important;
}

.v58-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  display: grid !important;
  place-items: center !important;
  padding: 18px !important;
  background:
    radial-gradient(circle at 50% 20%, rgba(124,92,255,.22), transparent 35%),
    rgba(2,6,23,.78) !important;
  backdrop-filter: blur(16px) !important;
}

.v58-modal.hidden {
  display: none !important;
}

.v58-modal-card,
.v58-direct-card {
  width: min(520px, calc(100vw - 24px)) !important;
  max-height: calc(100dvh - 24px) !important;
  overflow-y: auto !important;
  position: relative !important;
  padding: 22px !important;
  text-align: center !important;
  border-radius: 28px !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 50% -14%, rgba(139,92,246,.20), transparent 36%),
    linear-gradient(180deg, rgba(18,28,48,.985), rgba(7,13,25,.995)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow:
    0 34px 110px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.075) !important;
}

.v58-close,
.v58-back {
  position: absolute !important;
  top: 13px !important;
  right: 13px !important;
  width: 32px !important;
  height: 32px !important;
  border: 0 !important;
  border-radius: 12px !important;
  color: #dbe7f6 !important;
  background: rgba(255,255,255,.07) !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

.v58-back {
  width: auto !important;
  padding: 0 11px !important;
  font-size: 10px !important;
}

.v58-modal-logo {
  width: 52px !important;
  height: 52px !important;
  margin: 0 auto 12px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 18px !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 16px 36px rgba(0,0,0,.25) !important;
}

.v58-apple {
  width: 31px !important;
  height: 31px !important;
  fill: #fff !important;
}

.v58-modal-kicker {
  margin: 0 0 6px !important;
  color: #bda9ff !important;
  font-size: 9px !important;
  font-weight: 1000 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.v58-modal-card h2,
.v58-direct-card h2 {
  margin: 0 0 7px !important;
  color: #fff !important;
  font-size: clamp(25px, 4vw, 34px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.055em !important;
}

#v58ModalMessage,
#v58DirectMessage {
  display: block !important;
  max-width: 430px !important;
  margin: 0 auto 14px !important;
  color: #b8c4d6 !important;
  font-size: 13px !important;
  line-height: 1.38 !important;
}

/* Locked timer: horizontal premium, no overlap */
.v58-premium-timer {
  width: min(330px, 100%) !important;
  margin: 14px auto 16px !important;
  padding: 14px 18px !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(245,158,11,.18), transparent 44%),
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(245,158,11,.24) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 46px rgba(0,0,0,.28) !important;
}

.v58-premium-timer small {
  display: block !important;
  margin-bottom: 6px !important;
  color: #f6c56c !important;
  font-size: 10px !important;
  font-weight: 1000 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.v58-premium-timer strong {
  display: block !important;
  color: #fff !important;
  font-size: clamp(34px, 7vw, 52px) !important;
  line-height: .96 !important;
  letter-spacing: -.045em !important;
  font-variant-numeric: tabular-nums !important;
}

/* Preflight */
.v58-preflight-panel.hidden,
.v58-locked-panel.hidden {
  display: none !important;
}

.v58-check-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin: 14px 0 12px !important;
}

.v58-check-card {
  text-align: left !important;
  padding: 12px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(255,255,255,.085) !important;
}

.v58-check-card b {
  display: block !important;
  color: #fff !important;
  font-size: 13px !important;
  margin-bottom: 4px !important;
}

.v58-check-card span {
  color: #aebbd0 !important;
  font-size: 11px !important;
  font-weight: 780 !important;
}

.v58-video-wrap {
  position: relative !important;
  height: 170px !important;
  overflow: hidden !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 50% 30%, rgba(124,92,255,.18), transparent 44%),
    rgba(3,7,18,.42) !important;
  border: 1px solid rgba(255,255,255,.09) !important;
}

#v58Preview {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

#v58PreviewPlaceholder {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  padding: 18px !important;
  color: #9fb0c8 !important;
  font-size: 12px !important;
  font-weight: 780 !important;
  text-align: center !important;
}

.v58-modal-actions {
  display: grid !important;
  grid-template-columns: 120px 1fr !important;
  gap: 10px !important;
  margin-top: 14px !important;
}

.v58-secondary,
.v58-primary {
  min-height: 42px !important;
  border: 0 !important;
  border-radius: 15px !important;
  color: #fff !important;
  font-weight: 950 !important;
  cursor: pointer !important;
}

.v58-secondary {
  background: rgba(255,255,255,.065) !important;
  border: 1px solid rgba(255,255,255,.09) !important;
}

.v58-primary {
  background: linear-gradient(135deg, #8b5cf6, #4f46e5) !important;
  box-shadow: 0 14px 30px rgba(79,70,229,.26) !important;
}

.v58-primary:disabled {
  opacity: .62 !important;
  cursor: not-allowed !important;
}

/* Direct test fallback gate */
body.v58-hide-test > *:not(script):not(style):not(#v58DirectGate) {
  display: none !important;
}

html.v58-test-page,
body.v58-test-page {
  min-height: 100dvh !important;
  margin: 0 !important;
  background: radial-gradient(circle at 50% 12%, rgba(124,92,255,.18), transparent 32%), 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;
  overflow: hidden !important;
}

.v58-direct-gate {
  min-height: 100dvh !important;
  display: grid !important;
  place-items: center !important;
  padding: 10px !important;
  box-sizing: border-box !important;
}

.v58-direct-gate.hidden {
  display: none !important;
}

.v58-direct-card {
  width: min(430px, calc(100vw - 22px)) !important;
}

.v58-toast {
  position: fixed !important;
  left: 50% !important;
  bottom: 20px !important;
  transform: translate(-50%,18px) !important;
  z-index: 100000 !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;
}

.v58-toast.show {
  opacity: 1 !important;
  transform: translate(-50%,0) !important;
}

@media(max-width:760px){
  .v58-modal {
    padding: 10px !important;
    align-items: start !important;
    overflow-y: auto !important;
  }

  .v58-modal-card,
  .v58-direct-card {
    padding: 18px 14px !important;
    border-radius: 22px !important;
  }

  .v58-close {
    top: 10px !important;
    right: 10px !important;
  }

  .v58-check-grid {
    grid-template-columns: 1fr !important;
  }

  .v58-video-wrap {
    height: 150px !important;
  }

  .v58-modal-actions {
    grid-template-columns: 1fr !important;
  }

  .v58-premium-timer strong {
    font-size: 38px !important;
  }

  html.v58-test-page,
  body.v58-test-page {
    overflow-y: auto !important;
  }
}


/* V59 Stable Buttons + Timer Modal */

/* Stable hero action grid: fixed button dimensions, no shifting */
.v59-source-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(150px, 188px)) !important;
  grid-auto-rows: 56px !important;
  gap: 10px 12px !important;
  align-items: stretch !important;
  justify-content: end !important;
  width: min(400px, 100%) !important;
  max-width: 100% !important;
  position: relative !important;
  z-index: 5 !important;
}

.v59-source-actions > * {
  width: 100% !important;
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  margin: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

/* Kill V58 outside text behavior */
.v58-audit-button em,
.v59-audit-button em {
  display: none !important;
}

.v59-audit-button {
  display: grid !important;
  grid-template-columns: 48px 1fr !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 12px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(245,158,11,.24) !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(245,158,11,.15), transparent 42%),
    linear-gradient(180deg, rgba(17,27,46,.94), rgba(8,14,26,.98)) !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.v59-test-chip {
  width: 42px !important;
  height: 30px !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,.22) !important;
  font-size: 10px !important;
  font-weight: 1000 !important;
  letter-spacing: .02em !important;
}

.v59-test-chip.open {
  color: #86efac !important;
  background: rgba(34,197,94,.12) !important;
  border-color: rgba(34,197,94,.24) !important;
}

.v59-test-chip.end {
  color: #cbd5e1 !important;
  background: rgba(148,163,184,.11) !important;
  border-color: rgba(148,163,184,.20) !important;
}

.v59-test-copy {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  line-height: 1.05 !important;
  overflow: hidden !important;
}

.v59-test-copy b {
  display: block !important;
  max-width: 100% !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.v59-test-copy small {
  display: block !important;
  max-width: 100% !important;
  margin-top: 4px !important;
  color: #b8c4d6 !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Modal */
body.v59-modal-open {
  overflow: hidden !important;
}

.v59-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  display: grid !important;
  place-items: center !important;
  padding: 18px !important;
  background:
    radial-gradient(circle at 50% 20%, rgba(124,92,255,.22), transparent 35%),
    rgba(2,6,23,.78) !important;
  backdrop-filter: blur(16px) !important;
}

.v59-modal.hidden {
  display: none !important;
}

.v59-modal-card,
.v59-direct-card {
  width: min(520px, calc(100vw - 24px)) !important;
  max-height: calc(100dvh - 24px) !important;
  overflow-y: auto !important;
  position: relative !important;
  padding: 22px !important;
  text-align: center !important;
  border-radius: 28px !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 50% -14%, rgba(139,92,246,.20), transparent 36%),
    linear-gradient(180deg, rgba(18,28,48,.985), rgba(7,13,25,.995)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow:
    0 34px 110px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.075) !important;
}

.v59-close,
.v59-back {
  position: absolute !important;
  top: 13px !important;
  right: 13px !important;
  width: 32px !important;
  height: 32px !important;
  border: 0 !important;
  border-radius: 12px !important;
  color: #dbe7f6 !important;
  background: rgba(255,255,255,.07) !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

.v59-back {
  width: auto !important;
  padding: 0 11px !important;
  font-size: 10px !important;
}

.v59-modal-logo {
  width: 52px !important;
  height: 52px !important;
  margin: 0 auto 12px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 18px !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 16px 36px rgba(0,0,0,.25) !important;
}

.v59-apple {
  width: 31px !important;
  height: 31px !important;
  fill: #fff !important;
}

.v59-modal-kicker {
  margin: 0 0 6px !important;
  color: #bda9ff !important;
  font-size: 9px !important;
  font-weight: 1000 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.v59-modal-card h2,
.v59-direct-card h2 {
  margin: 0 0 7px !important;
  color: #fff !important;
  font-size: clamp(25px, 4vw, 34px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.055em !important;
}

#v59ModalMessage,
#v59DirectMessage {
  display: block !important;
  max-width: 430px !important;
  margin: 0 auto 14px !important;
  color: #b8c4d6 !important;
  font-size: 13px !important;
  line-height: 1.38 !important;
}

.v59-premium-timer {
  width: min(330px, 100%) !important;
  margin: 14px auto 16px !important;
  padding: 14px 18px !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(245,158,11,.18), transparent 44%),
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(245,158,11,.24) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 46px rgba(0,0,0,.28) !important;
}

.v59-premium-timer small {
  display: block !important;
  margin-bottom: 6px !important;
  color: #f6c56c !important;
  font-size: 10px !important;
  font-weight: 1000 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.v59-premium-timer strong {
  display: block !important;
  color: #fff !important;
  font-size: clamp(34px, 7vw, 52px) !important;
  line-height: .96 !important;
  letter-spacing: -.045em !important;
  font-variant-numeric: tabular-nums !important;
}

.v59-preflight-panel.hidden,
.v59-locked-panel.hidden {
  display: none !important;
}

.v59-check-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin: 14px 0 12px !important;
}

.v59-check-card {
  text-align: left !important;
  padding: 12px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(255,255,255,.085) !important;
}

.v59-check-card b {
  display: block !important;
  color: #fff !important;
  font-size: 13px !important;
  margin-bottom: 4px !important;
}

.v59-check-card span {
  color: #aebbd0 !important;
  font-size: 11px !important;
  font-weight: 780 !important;
}

.v59-video-wrap {
  position: relative !important;
  height: 170px !important;
  overflow: hidden !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 50% 30%, rgba(124,92,255,.18), transparent 44%),
    rgba(3,7,18,.42) !important;
  border: 1px solid rgba(255,255,255,.09) !important;
}

#v59Preview {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

#v59PreviewPlaceholder {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  padding: 18px !important;
  color: #9fb0c8 !important;
  font-size: 12px !important;
  font-weight: 780 !important;
  text-align: center !important;
}

.v59-modal-actions {
  display: grid !important;
  grid-template-columns: 120px 1fr !important;
  gap: 10px !important;
  margin-top: 14px !important;
}

.v59-secondary,
.v59-primary {
  min-height: 42px !important;
  border: 0 !important;
  border-radius: 15px !important;
  color: #fff !important;
  font-weight: 950 !important;
  cursor: pointer !important;
}

.v59-secondary {
  background: rgba(255,255,255,.065) !important;
  border: 1px solid rgba(255,255,255,.09) !important;
}

.v59-primary {
  background: linear-gradient(135deg, #8b5cf6, #4f46e5) !important;
  box-shadow: 0 14px 30px rgba(79,70,229,.26) !important;
}

.v59-primary:disabled {
  opacity: .62 !important;
  cursor: not-allowed !important;
}

/* Direct test fallback gate */
body.v59-hide-test > *:not(script):not(style):not(#v59DirectGate) {
  display: none !important;
}

html.v59-test-page,
body.v59-test-page {
  min-height: 100dvh !important;
  margin: 0 !important;
  background: radial-gradient(circle at 50% 12%, rgba(124,92,255,.18), transparent 32%), 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;
  overflow: hidden !important;
}

.v59-direct-gate {
  min-height: 100dvh !important;
  display: grid !important;
  place-items: center !important;
  padding: 10px !important;
  box-sizing: border-box !important;
}

.v59-direct-gate.hidden {
  display: none !important;
}

.v59-direct-card {
  width: min(430px, calc(100vw - 22px)) !important;
}

.v59-toast {
  position: fixed !important;
  left: 50% !important;
  bottom: 20px !important;
  transform: translate(-50%,18px) !important;
  z-index: 100000 !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;
}

.v59-toast.show {
  opacity: 1 !important;
  transform: translate(-50%,0) !important;
}

@media(max-width: 1100px) {
  .v59-source-actions {
    grid-template-columns: repeat(2, minmax(130px, 1fr)) !important;
    width: 100% !important;
  }
}

@media(max-width:760px){
  .v59-source-actions {
    grid-template-columns: 1fr 1fr !important;
    width: 100% !important;
    gap: 9px !important;
  }

  .v59-source-actions > * {
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
  }

  .v59-audit-button {
    grid-template-columns: 42px 1fr !important;
    padding: 7px 9px !important;
  }

  .v59-test-chip {
    width: 37px !important;
    height: 27px !important;
    font-size: 9px !important;
  }

  .v59-test-copy b {
    font-size: 12px !important;
  }

  .v59-test-copy small {
    font-size: 9px !important;
  }

  .v59-modal {
    padding: 10px !important;
    align-items: start !important;
    overflow-y: auto !important;
  }

  .v59-modal-card,
  .v59-direct-card {
    padding: 18px 14px !important;
    border-radius: 22px !important;
  }

  .v59-close {
    top: 10px !important;
    right: 10px !important;
  }

  .v59-check-grid {
    grid-template-columns: 1fr !important;
  }

  .v59-video-wrap {
    height: 150px !important;
  }

  .v59-modal-actions {
    grid-template-columns: 1fr !important;
  }

  .v59-premium-timer strong {
    font-size: 38px !important;
  }

  html.v59-test-page,
  body.v59-test-page {
    overflow-y: auto !important;
  }
}


/* V60 Camera/Mic Auto-start Fix */
#v59PreviewPlaceholder.hidden,
#v58PreviewPlaceholder.hidden,
#v60PreviewPlaceholder.hidden {
  display: none !important;
}

.v59-primary.v60-starting,
.v58-primary.v60-starting,
.v60-primary.v60-starting {
  opacity: .82 !important;
  cursor: progress !important;
}

.v59-check-card span,
.v58-check-card span {
  transition: color .18s ease, opacity .18s ease !important;
}


/* V61 Button Alignment + Text Fit */

/* Move hero action buttons slightly right and keep them inside the hero visual area */
.v59-source-actions,
.v54-source-actions.selected-hero-actions,
.selected-hero-actions.v59-source-actions {
  display: grid !important;
  grid-template-columns: repeat(2, 174px) !important;
  grid-auto-rows: 54px !important;
  gap: 10px 12px !important;
  align-items: stretch !important;
  justify-content: end !important;
  width: 360px !important;
  max-width: 360px !important;
  margin-left: auto !important;
  margin-right: 22px !important;
  transform: translateX(18px) !important;
  position: relative !important;
  z-index: 8 !important;
}

.v59-source-actions > *,
.v54-source-actions.selected-hero-actions > *,
.selected-hero-actions.v59-source-actions > * {
  width: 174px !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  padding: 8px 12px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

/* Keep Submit button same size and aligned */
.v59-source-actions .gradient-small-button,
.v54-source-actions.selected-hero-actions .gradient-small-button,
.selected-hero-actions.v59-source-actions .gradient-small-button {
  width: 174px !important;
  height: 54px !important;
  min-height: 54px !important;
  border-radius: 16px !important;
}

/* Audit Test button: all content stays inside */
.v59-audit-button {
  width: 174px !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  gap: 9px !important;
  align-items: center !important;
  justify-items: stretch !important;
  padding: 7px 10px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border-radius: 16px !important;
}

.v59-test-chip {
  width: 39px !important;
  height: 29px !important;
  min-width: 39px !important;
  max-width: 39px !important;
  font-size: 9px !important;
  border-radius: 10px !important;
}

.v59-test-copy {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
}

.v59-test-copy b {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  font-size: 13px !important;
  line-height: 1.05 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.v59-test-copy small {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  margin-top: 4px !important;
  font-size: 9px !important;
  line-height: 1 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Remove any old external status lines */
.v58-audit-button em,
.v59-audit-button em,
.v59-source-actions em,
.v54-source-actions em {
  display: none !important;
}

/* Better fit on medium screens */
@media (max-width: 1250px) {
  .v59-source-actions,
  .v54-source-actions.selected-hero-actions,
  .selected-hero-actions.v59-source-actions {
    grid-template-columns: repeat(2, 160px) !important;
    width: 332px !important;
    max-width: 332px !important;
    margin-right: 10px !important;
    transform: translateX(12px) !important;
  }

  .v59-source-actions > *,
  .v54-source-actions.selected-hero-actions > *,
  .selected-hero-actions.v59-source-actions > *,
  .v59-source-actions .gradient-small-button,
  .v54-source-actions.selected-hero-actions .gradient-small-button,
  .v59-audit-button {
    width: 160px !important;
  }

  .v59-audit-button {
    grid-template-columns: 41px minmax(0, 1fr) !important;
    padding: 7px 9px !important;
  }

  .v59-test-chip {
    width: 37px !important;
    min-width: 37px !important;
    max-width: 37px !important;
    font-size: 8.5px !important;
  }

  .v59-test-copy b {
    font-size: 12.5px !important;
  }

  .v59-test-copy small {
    font-size: 8.5px !important;
  }
}

/* Mobile/tablet: no right-shift, keep clean 2-column grid */
@media (max-width: 760px) {
  .v59-source-actions,
  .v54-source-actions.selected-hero-actions,
  .selected-hero-actions.v59-source-actions {
    grid-template-columns: 1fr 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    transform: none !important;
    gap: 9px !important;
  }

  .v59-source-actions > *,
  .v54-source-actions.selected-hero-actions > *,
  .selected-hero-actions.v59-source-actions > *,
  .v59-source-actions .gradient-small-button,
  .v54-source-actions.selected-hero-actions .gradient-small-button,
  .v59-audit-button {
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
  }
}


/* V64 Desktop Restore + Mobile Safe Fit
   Clean base: V61.
   Desktop/laptop layout untouched.
   Mobile/touch fixes only; no 1250px laptop override.
*/

/* Normal phones */
@media (max-width: 820px) {
  html,
  body {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box !important;
  }

  .app-frame,
  .main-app,
  .dashboard-root {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .dashboard-root {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .selected-hero-card,
  .hero-card {
    width: 100% !important;
    max-width: calc(100vw - 20px) !important;
    min-width: 0 !important;
    overflow: hidden !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .selected-hero-card h1,
  .hero-card h1 {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  .selected-hero-card h1 strong,
  .hero-card h1 strong {
    font-size: clamp(34px, 11vw, 54px) !important;
    line-height: .96 !important;
    max-width: 100% !important;
  }

  .tag-row,
  .hero-tags {
    max-width: 100% !important;
    flex-wrap: wrap !important;
    overflow: hidden !important;
  }

  .selected-hero-actions,
  .v54-source-actions,
  .v59-source-actions,
  .v54-source-actions.selected-hero-actions,
  .selected-hero-actions.v59-source-actions {
    transform: none !important;
    margin: 14px 0 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: 52px !important;
    gap: 8px !important;
    justify-content: stretch !important;
    align-items: stretch !important;
    overflow: hidden !important;
  }

  .selected-hero-actions > *,
  .v54-source-actions > *,
  .v59-source-actions > *,
  .v54-source-actions.selected-hero-actions > *,
  .selected-hero-actions.v59-source-actions > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    margin: 0 !important;
    padding: 7px 8px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    transform: none !important;
  }

  .v59-audit-button,
  .v54-audit-test-btn {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 7px !important;
  }

  .v59-test-chip,
  .v54-audit-test-btn span {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 26px !important;
    font-size: 8px !important;
  }

  .v59-test-copy {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .v59-test-copy b,
  .v59-test-copy small {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .v59-test-copy b {
    font-size: 11.5px !important;
  }

  .v59-test-copy small {
    font-size: 8px !important;
    margin-top: 3px !important;
  }

  .v59-modal,
  .v58-modal {
    width: 100vw !important;
    max-width: 100vw !important;
    padding: 8px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    align-items: flex-start !important;
  }

  .v59-modal-card,
  .v58-modal-card,
  .v59-direct-card,
  .v58-direct-card {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    min-width: 0 !important;
    padding: 16px 12px !important;
    border-radius: 22px !important;
    overflow-x: hidden !important;
    max-height: none !important;
  }

  .v59-check-grid,
  .v58-check-grid {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .v59-video-wrap,
  .v58-video-wrap {
    width: 100% !important;
    max-width: 100% !important;
    height: min(42vw, 160px) !important;
    min-height: 120px !important;
  }

  .v59-modal-actions,
  .v58-modal-actions {
    grid-template-columns: 1fr !important;
  }
}

/* Very small phones */
@media (max-width: 390px) {
  .selected-hero-actions,
  .v54-source-actions,
  .v59-source-actions {
    grid-template-columns: 1fr !important;
  }
}

/* Phone in desktop-site mode: apply only to touch devices, not laptops */
@media (pointer: coarse) and (max-width: 1250px) {
  html,
  body {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  .app-frame,
  .main-app,
  .dashboard-root {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  .selected-hero-card,
  .hero-card {
    max-width: calc(100vw - 20px) !important;
    overflow: hidden !important;
  }

  .selected-hero-actions,
  .v54-source-actions,
  .v59-source-actions {
    transform: none !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
}

/* MCQ page mobile fit only */
@media (max-width: 820px) {
  body.mcq-page,
  body.v35-mcq-page-body,
  .mcq-wrap,
  .v35-mcq-page,
  #v35McqApp {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .mcq-wrap,
  .v35-mcq-page {
    padding: 10px !important;
    margin: 0 !important;
  }

  .v35-card,
  .mcq-card,
  #v35MainCard {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .v35-intro,
  .v35-test {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 16px 12px !important;
  }

  .v35-intro h2 {
    font-size: clamp(28px, 10vw, 44px) !important;
    line-height: .98 !important;
  }

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

  .v35-option {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .v35-option span {
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .v35-nav,
  .v35-submitbar {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
}

@media (max-width: 390px) {
  .v35-intro-grid {
    grid-template-columns: 1fr !important;
  }
}


/* V65 Source-Level Lower Dashboard Mobile Fix
   Source structure updated in profile.js:
   - metrics are wrapped in .v65-metric-row
   - lower panels are wrapped in .v65-panel-row
   Desktop remains clean; mobile lower content no longer cuts from right side.
*/

.v65-metric-row,
.v65-panel-row {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-width: 0 !important;
}

.v65-metric-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.v65-metric-row .metric-card {
  grid-column: auto !important;
  width: 100% !important;
  min-width: 0 !important;
}

.v65-panel-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.v65-panel-row .team-panel,
.v65-panel-row .task-list-panel,
.v65-panel-row .deadline-panel {
  grid-column: auto !important;
  width: 100% !important;
  min-width: 0 !important;
}

.task-main {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.task-main strong,
.task-main span {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Keep desktop at V64/V61 style */
@media (min-width: 821px) {
  .v65-metric-row .metric-card {
    min-height: 158px !important;
  }

  .v65-panel-row .team-panel {
    min-height: 100% !important;
  }
}

/* True mobile lower-dashboard fit */
@media (max-width: 820px) {
  .dashboard-root {
    padding-left: 10px !important;
    padding-right: 10px !important;
    overflow-x: hidden !important;
  }

  .dashboard-grid.selected-dashboard,
  .selected-dashboard {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    overflow-x: hidden !important;
  }

  .v65-metric-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .v65-metric-row .metric-card {
    min-height: 96px !important;
    height: auto !important;
    padding: 13px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }

  .v65-metric-row .metric-card .metric-icon {
    width: 28px !important;
    height: 28px !important;
    left: 12px !important;
    top: 12px !important;
  }

  .v65-metric-row .metric-card span {
    margin-left: 34px !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    max-width: calc(100% - 34px) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .v65-metric-row .metric-card strong {
    margin-left: 0 !important;
    margin-top: 20px !important;
    font-size: 24px !important;
    line-height: 1 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .v65-metric-row .metric-card small {
    margin-top: 5px !important;
    font-size: 10px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .v65-panel-row {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .v65-panel-row .team-panel {
    padding: 14px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  .panel-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-items: start !important;
  }

  .panel-head h2 {
    font-size: 17px !important;
    line-height: 1.1 !important;
    margin: 0 !important;
  }

  .panel-head p {
    font-size: 11px !important;
    line-height: 1.35 !important;
    margin: 4px 0 0 !important;
  }

  .panel-head .secondary-button {
    width: 100% !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
  }

  .task-list {
    width: 100% !important;
    max-width: 100% !important;
    gap: 9px !important;
    overflow: hidden !important;
  }

  .task-row,
  .deadline-row {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    min-height: auto !important;
    padding: 10px !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .task-icon,
  .date-box {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 11px !important;
  }

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

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

  .task-main {
    min-width: 0 !important;
    width: 100% !important;
  }

  .task-main strong {
    display: block !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .task-main span {
    display: block !important;
    margin-top: 3px !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .task-status {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-top: 2px !important;
    padding: 5px 8px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
}

/* Very small phone: metrics one-by-one, no cramped cards */
@media (max-width: 380px) {
  .v65-metric-row {
    grid-template-columns: 1fr !important;
  }
}


/* V66 MCQ Mobile Scroll + Full Question/Options Fit
   Source-level support added in mcq_test_portal_v35.js:
   - .v66-test-mobile-fit
   - .v66-question-text
   - .v66-options-fit
   - .v66-option-text

   Desktop/laptop V38 compact layout stays unchanged.
   Mobile removes fixed-height/overflow-hidden that was cutting questions/options and blocking scroll.
*/

/* Phone/tablet MCQ page: allow natural scroll instead of clipped fixed viewport */
@media (max-width: 820px) {
  html.v38-final-compact,
  body.v38-final-compact,
  body.v35-mcq-page-body,
  body.mcq-page {
    height: auto !important;
    min-height: 100dvh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    position: relative !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .v35-hide-old {
    display: none !important;
  }

  .v35-mcq-page {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 100dvh !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 8px !important;
    display: block !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    box-sizing: border-box !important;
  }

  .v35-mcq-topbar {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    margin: 0 0 8px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    align-items: center !important;
    overflow: hidden !important;
  }

  .v35-brand {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .v35-brand h1 {
    max-width: 100% !important;
    font-size: clamp(15px, 4.8vw, 18px) !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .v35-brand p {
    font-size: 7px !important;
    letter-spacing: .14em !important;
  }

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

  .v35-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: calc(100dvh - 66px) !important;
    max-height: none !important;
    margin: 0 auto !important;
    border-radius: 18px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  .v35-test,
  .v66-test-mobile-fit {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 10px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  .v35-test-head {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    align-items: start !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .v35-test-head > div:first-child {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .v35-test-head p {
    font-size: 10px !important;
    line-height: 1.2 !important;
    margin: 0 0 5px !important;
  }

  .v35-test-head h2,
  .v66-question-text {
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    overflow: visible !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    white-space: normal !important;
    font-size: clamp(15px, 4.5vw, 19px) !important;
    line-height: 1.24 !important;
    letter-spacing: -.02em !important;
  }

  .v35-question-timer {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 10px !important;
    border-radius: 14px !important;
    justify-self: stretch !important;
  }

  .v35-question-timer small {
    margin: 0 !important;
    font-size: 8px !important;
    text-align: left !important;
  }

  .v35-question-timer strong {
    font-size: 18px !important;
    line-height: 1 !important;
    text-align: right !important;
  }

  .v35-options,
  .v66-options-fit {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: grid !important;
    grid-template-rows: none !important;
    grid-auto-rows: auto !important;
    gap: 8px !important;
    align-content: stretch !important;
    padding: 0 !important;
  }

  .v35-option {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 48px !important;
    max-height: none !important;
    padding: 10px !important;
    border-radius: 14px !important;
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 9px !important;
    align-items: start !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  .v35-option strong {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    margin-top: 0 !important;
  }

  .v35-option span,
  .v66-option-text {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    white-space: normal !important;
    font-size: clamp(12px, 3.8vw, 14px) !important;
    line-height: 1.28 !important;
    font-weight: 650 !important;
  }

  .v35-nav {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    align-items: center !important;
    padding: 8px 0 0 !important;
    border-top: 1px solid rgba(255,255,255,.06) !important;
    min-height: auto !important;
    overflow: visible !important;
  }

  .v35-progress {
    grid-column: 1 / -1 !important;
    order: -1 !important;
    width: 100% !important;
    min-height: 30px !important;
    max-height: none !important;
    font-size: 10px !important;
  }

  .v35-secondary,
  .v35-primary {
    width: 100% !important;
    min-height: 38px !important;
    height: auto !important;
    border-radius: 13px !important;
    font-size: 11px !important;
  }

  .v35-submitbar {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    min-height: auto !important;
    padding-top: 8px !important;
    overflow: visible !important;
  }

  .v35-submitbar span {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: 10.5px !important;
    line-height: 1.25 !important;
  }

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

  .v35-result-overlay {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 10px !important;
  }

  .v35-result-card {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: none !important;
    overflow: visible !important;
  }

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

/* Tiny phone: keep buttons stacked if needed */
@media (max-width: 380px) {
  .v35-mcq-topbar {
    grid-template-columns: 1fr !important;
  }

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

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

  .v35-result-grid {
    grid-template-columns: 1fr !important;
  }
}


/* V67 MCQ Full Text Mobile Fix
   Source-level classes added:
   .v67-test-mobile-fit, .v67-question-text, .v67-options-fit, .v67-option-text

   Purpose:
   - Stop questions/options showing as "..."
   - Remove desktop line-clamp on mobile
   - Enable natural mobile scroll
   - Keep desktop compact layout unchanged
*/

/* Mobile MCQ should scroll, not clip */
@media (max-width: 820px) {
  html.v38-final-compact,
  body.v38-final-compact,
  body.v35-mcq-page-body,
  body.mcq-page {
    height: auto !important;
    min-height: 100dvh !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    position: relative !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .v35-mcq-page,
  .mcq-wrap,
  #v35McqApp {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 100dvh !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 8px !important;
    display: block !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
  }

  .v35-card,
  .mcq-card,
  #v35MainCard {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: calc(100dvh - 70px) !important;
    max-height: none !important;
    overflow: visible !important;
    border-radius: 18px !important;
  }

  .v35-test,
  .v66-test-mobile-fit,
  .v67-test-mobile-fit {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 10px !important;
  }

  .v35-test-head {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .v35-test-head > div:first-child {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  /* This is the main fix: kill every clamp/ellipsis on question text */
  .v35-test-head h2,
  .v66-question-text,
  .v67-question-text,
  #v35QuestionText {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    display: block !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    -webkit-line-clamp: initial !important;
    line-clamp: initial !important;
    -webkit-box-orient: initial !important;
    font-size: clamp(15px, 4.45vw, 19px) !important;
    line-height: 1.26 !important;
    letter-spacing: -.015em !important;
  }

  .v35-question-timer {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    justify-self: stretch !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    padding: 8px 10px !important;
  }

  .v35-question-timer small {
    margin: 0 !important;
    text-align: left !important;
  }

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

  .v35-options,
  .v66-options-fit,
  .v67-options-fit,
  #v35Options {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    display: grid !important;
    grid-template-rows: none !important;
    grid-auto-rows: auto !important;
    gap: 8px !important;
    overflow: visible !important;
    align-content: start !important;
  }

  .v35-option {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 48px !important;
    max-height: none !important;
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 9px !important;
    align-items: start !important;
    padding: 10px !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  .v35-option strong {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    margin-top: 0 !important;
    border-radius: 10px !important;
    font-size: 11px !important;
    line-height: 1 !important;
  }

  /* This is the second main fix: option text must never ellipsis on mobile */
  .v35-option span,
  .v66-option-text,
  .v67-option-text {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    display: block !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    -webkit-line-clamp: initial !important;
    line-clamp: initial !important;
    -webkit-box-orient: initial !important;
    font-size: clamp(12px, 3.75vw, 14px) !important;
    line-height: 1.3 !important;
    font-weight: 650 !important;
  }

  .v35-nav {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    padding-top: 8px !important;
    overflow: visible !important;
  }

  .v35-progress {
    grid-column: 1 / -1 !important;
    order: -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 30px !important;
    max-height: none !important;
    overflow: hidden !important;
  }

  .v35-submitbar {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding-top: 8px !important;
    overflow: visible !important;
  }

  .v35-submitbar span {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: 10.5px !important;
    line-height: 1.25 !important;
  }

  .v35-secondary,
  .v35-primary {
    width: 100% !important;
    min-height: 38px !important;
    height: auto !important;
    border-radius: 13px !important;
  }
}

@media (max-width: 380px) {
  .v35-nav {
    grid-template-columns: 1fr !important;
  }
}


/* V68 MCQ Mobile Scroll FORCE
   Source JS now adds:
   html/body .v68-mcq-mobile-scroll
   .v68-scroll-page / .v68-scroll-card / .v68-scroll-test
   This fixes mobile where questions are clipped and page does not scroll.
*/

@media (max-width: 820px) {
  html.v68-mcq-mobile-scroll,
  body.v68-mcq-mobile-scroll,
  html.v38-final-compact.v68-mcq-mobile-scroll,
  body.v38-final-compact.v68-mcq-mobile-scroll,
  body.v35-mcq-page-body.v68-mcq-mobile-scroll,
  body.mcq-page.v68-mcq-mobile-scroll {
    width: 100% !important;
    max-width: 100vw !important;
    height: auto !important;
    min-height: 100dvh !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    position: relative !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: auto !important;
    touch-action: pan-y !important;
  }

  .v68-scroll-page,
  .v35-mcq-page {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 100dvh !important;
    max-height: none !important;
    display: block !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    padding: 8px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  .v68-scroll-card,
  .v35-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: block !important;
    border-radius: 18px !important;
  }

  .v68-scroll-test,
  .v35-test,
  .v66-test-mobile-fit,
  .v67-test-mobile-fit {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    display: block !important;
    overflow: visible !important;
    padding: 10px !important;
    box-sizing: border-box !important;
  }

  .v35-test-head {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: block !important;
    margin-bottom: 10px !important;
  }

  .v35-test-head > div:first-child {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .v35-test-head p {
    margin: 0 0 6px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
  }

  .v35-test-head h2,
  .v66-question-text,
  .v67-question-text {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    display: block !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    font-size: clamp(15px, 4.5vw, 19px) !important;
    line-height: 1.28 !important;
  }

  .v35-question-timer {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 8px 0 0 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 8px 10px !important;
    border-radius: 14px !important;
  }

  .v35-question-timer small {
    margin: 0 !important;
    font-size: 8px !important;
  }

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

  .v35-options,
  .v66-options-fit,
  .v67-options-fit,
  #v35Options {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: grid !important;
    grid-template-rows: none !important;
    grid-auto-rows: auto !important;
    gap: 8px !important;
    margin: 10px 0 !important;
  }

  .v35-option {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 48px !important;
    max-height: none !important;
    overflow: visible !important;
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 9px !important;
    align-items: start !important;
    padding: 10px !important;
    white-space: normal !important;
    border-radius: 14px !important;
  }

  .v35-option strong {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    margin-top: 0 !important;
    border-radius: 10px !important;
    font-size: 11px !important;
  }

  .v35-option span,
  .v66-option-text,
  .v67-option-text {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    display: block !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    font-size: clamp(12px, 3.8vw, 14px) !important;
    line-height: 1.3 !important;
  }

  .v35-nav {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    overflow: visible !important;
    margin-top: 8px !important;
    padding-top: 8px !important;
  }

  .v35-progress {
    grid-column: 1 / -1 !important;
    order: -1 !important;
    width: 100% !important;
    min-height: 28px !important;
    overflow: hidden !important;
  }

  .v35-secondary,
  .v35-primary {
    width: 100% !important;
    min-height: 38px !important;
    height: auto !important;
  }

  .v35-submitbar {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin-top: 8px !important;
  }

  .v35-submitbar span {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: 10.5px !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 380px) {
  .v35-nav {
    grid-template-columns: 1fr !important;
  }
}


/* V69 MCQ Single Engine + Mobile Question Scroll Fix
   Root cause fixed:
   - Removed old static mcq_test.js page from mcq_test_portal.html.
   - Only V35 engine remains.
   - V38 desktop compact class is prevented on mobile/touch.
*/

/* Mobile + phone desktop-site mode */
@media (max-width: 820px), (pointer: coarse) and (max-width: 1250px) {
  html.v69-mcq-mobile-scroll,
  body.v69-mcq-mobile-scroll,
  body.v69-mcq-single-engine,
  body.v35-mcq-page-body,
  body.mcq-page {
    width: 100% !important;
    max-width: 100vw !important;
    height: auto !important;
    min-height: 100dvh !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    position: relative !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
  }

  /* Kill desktop compact clamp when device is mobile/touch */
  html.v69-mcq-mobile-scroll.v38-final-compact,
  body.v69-mcq-mobile-scroll.v38-final-compact {
    overflow-y: auto !important;
  }

  #v35McqApp,
  .v35-mcq-page,
  .v69-scroll-page {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 100dvh !important;
    max-height: none !important;
    display: block !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    padding: 8px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  .v35-card,
  .v69-scroll-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    display: block !important;
    overflow: visible !important;
    border-radius: 18px !important;
  }

  .v35-mcq-topbar {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    align-items: center !important;
    margin: 0 0 8px !important;
    min-height: auto !important;
  }

  .v35-brand {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .v35-brand h1 {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: clamp(15px, 4.8vw, 19px) !important;
    line-height: 1.05 !important;
  }

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

  .v35-test,
  .v69-scroll-test {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    display: block !important;
    overflow: visible !important;
    padding: 10px !important;
    box-sizing: border-box !important;
  }

  .v35-test-head,
  .v69-scroll-head {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: block !important;
    margin-bottom: 10px !important;
  }

  .v35-test-head p {
    margin: 0 0 6px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
  }

  .v35-test-head h2,
  .v69-question-text,
  .v68-question-text,
  .v67-question-text,
  .v66-question-text {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    display: block !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    font-size: clamp(15px, 4.4vw, 19px) !important;
    line-height: 1.28 !important;
  }

  .v35-question-timer {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin: 8px 0 0 !important;
    padding: 8px 10px !important;
    border-radius: 14px !important;
  }

  .v35-question-timer small {
    margin: 0 !important;
    font-size: 8px !important;
  }

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

  .v35-options,
  .v69-scroll-options {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    display: grid !important;
    grid-template-rows: none !important;
    grid-auto-rows: auto !important;
    gap: 8px !important;
    overflow: visible !important;
    margin: 10px 0 !important;
    padding: 0 !important;
    align-content: start !important;
  }

  .v35-option {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 48px !important;
    max-height: none !important;
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 9px !important;
    align-items: start !important;
    overflow: visible !important;
    padding: 10px !important;
    white-space: normal !important;
    border-radius: 14px !important;
  }

  .v35-option strong {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    margin-top: 0 !important;
    border-radius: 10px !important;
    font-size: 11px !important;
  }

  .v35-option span,
  .v69-option-text,
  .v68-option-text,
  .v67-option-text,
  .v66-option-text {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    display: block !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    font-size: clamp(12px, 3.8vw, 14px) !important;
    line-height: 1.3 !important;
  }

  .v35-nav {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin-top: 8px !important;
    padding-top: 8px !important;
    overflow: visible !important;
  }

  .v35-progress {
    grid-column: 1 / -1 !important;
    order: -1 !important;
    width: 100% !important;
    min-height: 28px !important;
    max-height: none !important;
  }

  .v35-secondary,
  .v35-primary {
    width: 100% !important;
    min-height: 38px !important;
    height: auto !important;
  }

  .v35-submitbar {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin-top: 8px !important;
    overflow: visible !important;
  }

  .v35-submitbar span {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: 10.5px !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 380px) {
  .v35-mcq-topbar,
  .v35-nav {
    grid-template-columns: 1fr !important;
  }

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


/* V70 Project Allocation Update Card + Notification Support
   Source-level dashboard card reads project_allocation_updates table.
*/

.v70-project-update-card {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 18px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(245,158,11,.14), transparent 34%),
    linear-gradient(180deg, rgba(17,27,46,.94), rgba(8,14,26,.98)) !important;
  border: 1px solid rgba(245,158,11,.20) !important;
  box-shadow: 0 22px 52px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06) !important;
  overflow: hidden !important;
}

.v70-update-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 74px !important;
  gap: 14px !important;
  align-items: center !important;
}

.v70-update-head h2 {
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(22px, 2.2vw, 30px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.04em !important;
}

.v70-update-head p:not(.eyebrow) {
  margin: 7px 0 0 !important;
  color: #aebbd0 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

.v70-update-head > strong {
  width: 70px !important;
  height: 70px !important;
  display: grid !important;
  place-items: center !important;
  justify-self: end !important;
  border-radius: 22px !important;
  color: #facc15 !important;
  font-size: 28px !important;
  font-weight: 1000 !important;
  background: rgba(245,158,11,.12) !important;
  border: 1px solid rgba(245,158,11,.24) !important;
}

.v70-name-grid {
  margin-top: 14px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  max-height: 168px !important;
  overflow-y: auto !important;
  padding-right: 4px !important;
}

.v70-name-grid span {
  max-width: 100% !important;
  padding: 8px 10px !important;
  border-radius: 999px !important;
  color: #eaf1ff !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.085) !important;
  font-size: 11px !important;
  font-weight: 820 !important;
  white-space: nowrap !important;
}

.v70-more-note {
  margin: 10px 0 0 !important;
  color: #f6c56c !important;
  font-size: 11px !important;
  font-weight: 850 !important;
}

@media (max-width: 820px) {
  .v70-project-update-card {
    padding: 14px !important;
    border-radius: 19px !important;
  }

  .v70-update-head {
    grid-template-columns: minmax(0, 1fr) 54px !important;
    gap: 10px !important;
  }

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

  .v70-update-head p:not(.eyebrow) {
    font-size: 11.5px !important;
  }

  .v70-update-head > strong {
    width: 52px !important;
    height: 52px !important;
    border-radius: 17px !important;
    font-size: 22px !important;
  }

  .v70-name-grid {
    max-height: 210px !important;
    gap: 7px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .v70-name-grid span {
    width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    border-radius: 13px !important;
    font-size: 11px !important;
  }
}

/* V71 user-specific MCQ test availability window */
.v71-window-gate {
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid rgba(167, 139, 250, .30) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(139, 92, 246, .20), transparent 38%),
    radial-gradient(circle at 92% 10%, rgba(59, 130, 246, .14), transparent 35%),
    linear-gradient(180deg, rgba(15, 23, 42, .98), rgba(2, 6, 23, .99)) !important;
  box-shadow: 0 26px 90px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.v71-window-gate:before {
  content: "" !important;
  position: absolute !important;
  inset: -40% -20% auto auto !important;
  width: 260px !important;
  height: 260px !important;
  background: radial-gradient(circle, rgba(168,85,247,.20), transparent 68%) !important;
  filter: blur(4px) !important;
  pointer-events: none !important;
}
.v71-window-grid {
  width: min(560px, 100%) !important;
  margin: 18px auto 18px !important;
}
.v71-window-grid div {
  min-height: 76px !important;
  border-color: rgba(167, 139, 250, .22) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
}
#v71WindowCountdown {
  color: #facc15 !important;
  letter-spacing: -.03em !important;
}
@media (max-width: 720px) {
  .v71-window-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .v71-window-grid div {
    min-height: 68px !important;
  }
}

/* V72 Timesheet Module */
.timesheet-page{display:grid;gap:18px;width:100%;}
.timesheet-hero{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:24px;border:1px solid rgba(148,163,184,.18);border-radius:28px;background:radial-gradient(circle at top left,rgba(124,92,255,.24),transparent 32%),linear-gradient(135deg,rgba(12,20,38,.96),rgba(5,10,22,.94));box-shadow:0 20px 70px rgba(0,0,0,.28);overflow:hidden;}
.timesheet-hero h1{margin:4px 0 8px;font-size:clamp(26px,4vw,44px);letter-spacing:-.04em;color:#fff;}
.timesheet-hero p{max-width:760px;color:#b8c4d8;line-height:1.55;margin:0;}
.timesheet-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.ts-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.ts-metric{padding:18px;border:1px solid rgba(148,163,184,.16);border-radius:22px;background:linear-gradient(180deg,rgba(15,23,42,.92),rgba(8,13,26,.92));box-shadow:0 14px 38px rgba(0,0,0,.18);}
.ts-metric span,.ts-metric small{display:block;color:#93a4bd;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.ts-metric strong{display:block;color:#fff;font-size:28px;margin:8px 0 4px;letter-spacing:-.03em;}
.ts-tab-row{display:flex;gap:10px;padding:6px;border-radius:20px;background:rgba(7,13,25,.72);border:1px solid rgba(148,163,184,.14);width:max-content;max-width:100%;overflow:auto;}
.ts-tab{border:0;border-radius:15px;padding:11px 18px;background:transparent;color:#a9b8cf;font-weight:900;cursor:pointer;white-space:nowrap;}
.ts-tab.active{color:#fff;background:linear-gradient(135deg,rgba(124,92,255,.9),rgba(77,141,255,.78));box-shadow:0 10px 24px rgba(77,141,255,.16);}
.timesheet-panel,.timesheet-setup-card{padding:20px;border:1px solid rgba(148,163,184,.16);border-radius:26px;background:linear-gradient(180deg,rgba(10,18,34,.92),rgba(6,11,22,.94));box-shadow:0 20px 60px rgba(0,0,0,.22);}
.timesheet-setup-card h1{color:#fff;margin:6px 0 8px;}
.ts-entry-list{display:grid;gap:12px;margin-top:16px;}
.ts-week-break{display:flex;align-items:center;gap:10px;margin:12px 0 2px;color:#c7d2e5;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:12px;}
.ts-week-break:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,rgba(148,163,184,.28),transparent);}
.ts-entry-card{display:grid;grid-template-columns:150px minmax(0,1fr) 190px;gap:14px;padding:16px;border-radius:22px;border:1px solid rgba(148,163,184,.14);background:rgba(15,23,42,.58);}
.ts-entry-date strong{display:block;color:#fff;font-size:17px;}
.ts-entry-date span{display:block;color:#8ea1bb;font-size:12px;margin:4px 0 10px;}
.ts-status{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-style:normal;font-size:11px;font-weight:900;white-space:nowrap;}
.ts-status-draft{background:rgba(148,163,184,.12);color:#cbd5e1;border:1px solid rgba(148,163,184,.20);}
.ts-status-submitted{background:rgba(250,204,21,.12);color:#fde68a;border:1px solid rgba(250,204,21,.24);}
.ts-status-approved{background:rgba(34,197,94,.14);color:#86efac;border:1px solid rgba(34,197,94,.24);}
.ts-status-rework{background:rgba(248,113,113,.14);color:#fecaca;border:1px solid rgba(248,113,113,.24);}
.ts-entry-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.ts-entry-form label,.ts-admin-filter{display:grid;gap:6px;}
.ts-entry-form label span{font-size:11px;font-weight:900;color:#91a4bf;text-transform:uppercase;letter-spacing:.08em;}
.ts-entry-form input,.ts-entry-form select,.ts-entry-form textarea,.ts-admin-filter input,.ts-admin-filter select{width:100%;border:1px solid rgba(148,163,184,.18);border-radius:14px;background:rgba(2,6,23,.48);color:#edf3ff;padding:11px 12px;outline:none;font:inherit;}
.ts-entry-form textarea{min-height:76px;resize:vertical;line-height:1.45;}
.ts-entry-form input:disabled,.ts-entry-form select:disabled,.ts-entry-form textarea:disabled{opacity:.65;cursor:not-allowed;}
.ts-wide{grid-column:span 2;}
.ts-entry-actions{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:9px;}
.ts-entry-actions .gradient-small-button,.ts-entry-actions .secondary-button{width:100%;justify-content:center;}
.ts-lock-note,.ts-manager-note{font-size:12px;color:#aab8ce;line-height:1.45;margin:0;}
.ts-manager-note{padding:10px;border-radius:14px;background:rgba(77,141,255,.10);border:1px solid rgba(77,141,255,.18);}
.ts-admin-head{align-items:flex-start;gap:14px;}
.ts-admin-filter{display:grid;grid-template-columns:260px 160px;gap:10px;align-items:center;}
.ts-admin-table-wrap{width:100%;overflow:auto;margin-top:16px;border-radius:20px;border:1px solid rgba(148,163,184,.14);}
.ts-admin-table{width:100%;border-collapse:collapse;min-width:980px;background:rgba(2,6,23,.30);}
.ts-admin-table th,.ts-admin-table td{padding:13px 14px;border-bottom:1px solid rgba(148,163,184,.12);text-align:left;vertical-align:top;color:#dbe6f6;}
.ts-admin-table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#91a4bf;background:rgba(15,23,42,.62);}
.ts-admin-table small{color:#91a4bf;}
.ts-admin-actions{display:flex;gap:8px;flex-wrap:wrap;}
.ts-empty{padding:24px;text-align:center;color:#96a7bf;border:1px dashed rgba(148,163,184,.24);border-radius:20px;background:rgba(15,23,42,.36);}
.ts-toast{position:fixed;right:18px;bottom:22px;z-index:5000;max-width:min(420px,calc(100vw - 32px));padding:14px 16px;border-radius:16px;background:rgba(15,23,42,.96);color:#fff;border:1px solid rgba(148,163,184,.22);box-shadow:0 18px 44px rgba(0,0,0,.38);opacity:0;transform:translateY(14px);pointer-events:none;transition:.22s ease;}
.ts-toast.show{opacity:1;transform:translateY(0);}
.ts-toast[data-kind="success"]{border-color:rgba(34,197,94,.36);}
.ts-toast[data-kind="warn"]{border-color:rgba(248,113,113,.42);}
.v73-timesheet-hero-btn span{font-size:10px;opacity:.78;margin-right:3px;}
.v73-timesheet-hero-btn strong{font-size:13px;}
@media(max-width:1100px){.ts-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}.ts-entry-card{grid-template-columns:1fr;}.ts-entry-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}.ts-lock-note,.ts-manager-note{grid-column:1/-1}.ts-admin-filter{grid-template-columns:1fr;}}
@media(max-width:680px){.timesheet-hero{flex-direction:column;padding:18px;border-radius:22px;}.timesheet-hero-actions{justify-content:flex-start}.ts-metrics{grid-template-columns:1fr}.timesheet-panel{padding:14px;border-radius:22px}.ts-entry-form{grid-template-columns:1fr}.ts-wide{grid-column:auto}.ts-entry-actions{grid-template-columns:1fr}.ts-tab-row{width:100%}.ts-tab{flex:1}.ts-toast{left:12px;right:12px;bottom:84px}.ts-metric strong{font-size:24px}}

/* V73 Timesheet Polish + Source-Level Hero Action Box */
.v73-hero-action-box{
  position:absolute !important;
  right:24px !important;
  bottom:22px !important;
  z-index:12 !important;
  width:min(410px,42%) !important;
  padding:12px !important;
  border:1px solid rgba(148,163,184,.20) !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,rgba(9,17,32,.86),rgba(3,8,18,.76)) !important;
  box-shadow:0 22px 58px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.06) !important;
  backdrop-filter:blur(18px) saturate(140%) !important;
}
.v73-hero-action-box .hero-action-box-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin:0 2px 10px !important;
  color:#a9b8d0 !important;
}
.v73-hero-action-box .hero-action-box-head span{
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  color:#8fa2bf !important;
}
.v73-hero-action-box .hero-action-box-head strong{
  font-size:12px !important;
  color:#edf3ff !important;
}
.v73-hero-action-box .selected-hero-actions,
.v73-hero-action-box .v54-source-actions.selected-hero-actions,
.v73-hero-action-box .selected-hero-actions.v59-source-actions,
.v73-hero-action-box .v59-source-actions{
  position:relative !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  top:auto !important;
  transform:none !important;
  margin:0 !important;
  width:100% !important;
  max-width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-auto-rows:50px !important;
  gap:9px !important;
  justify-content:stretch !important;
  align-items:stretch !important;
  overflow:visible !important;
}
.v73-hero-action-box .selected-hero-actions > *,
.v73-hero-action-box .v54-source-actions.selected-hero-actions > *,
.v73-hero-action-box .selected-hero-actions.v59-source-actions > *,
.v73-hero-action-box .v59-source-actions > *,
.v73-hero-action-box .gradient-small-button,
.v73-hero-action-box .secondary-button,
.v73-hero-action-box .v59-audit-button,
.v73-hero-action-box .v54-audit-test-btn{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  height:50px !important;
  min-height:50px !important;
  max-height:50px !important;
  margin:0 !important;
  padding:8px 10px !important;
  border-radius:16px !important;
  justify-content:center !important;
  text-align:center !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  text-overflow:ellipsis !important;
}
.v73-hero-action-box .v54-audit-test-btn,
.v73-hero-action-box .v59-audit-button{
  display:grid !important;
  grid-template-columns:40px minmax(0,1fr) !important;
  gap:8px !important;
  align-items:center !important;
  justify-items:stretch !important;
}
.v73-hero-action-box .v73-timesheet-hero-btn span,
.v73-hero-action-box .v54-audit-test-btn span{
  font-size:9px !important;
  opacity:.78 !important;
  margin-right:4px !important;
}
.v73-hero-action-box .v73-timesheet-hero-btn strong{
  font-size:12px !important;
}
.ts-panel-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.ts-panel-actions .secondary-button,
.ts-panel-actions .gradient-small-button{
  min-height:42px !important;
  height:42px !important;
  border-radius:14px !important;
  padding:0 15px !important;
  font-size:12px !important;
}
.ts-weekend-panel{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(220px,280px) auto;
  align-items:center;
  gap:12px;
  margin:16px 0 12px;
  padding:14px;
  border:1px solid rgba(96,165,250,.24);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(37,99,235,.13),rgba(124,58,237,.10));
}
.ts-weekend-panel strong{display:block;color:#f8fbff;font-size:14px;margin-bottom:4px;}
.ts-weekend-panel p{margin:0;color:#9fb0ca;font-size:12px;line-height:1.45;}
.ts-weekend-panel select{
  width:100%;
  border:1px solid rgba(148,163,184,.20);
  border-radius:14px;
  background:rgba(2,6,23,.56);
  color:#edf3ff;
  padding:11px 12px;
  outline:none;
  font:inherit;
}
.ts-entry-form textarea{
  scrollbar-width:thin;
  scrollbar-color:rgba(148,163,184,.45) rgba(15,23,42,.42);
}
.ts-entry-form textarea::-webkit-scrollbar{width:8px;}
.ts-entry-form textarea::-webkit-scrollbar-track{
  background:rgba(15,23,42,.48);
  border-radius:999px;
  margin:8px 0;
}
.ts-entry-form textarea::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(124,92,255,.78),rgba(77,141,255,.68));
  border:2px solid rgba(2,6,23,.70);
  border-radius:999px;
}
.ts-entry-form textarea::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,rgba(157,132,255,.92),rgba(96,165,250,.86));
}
.ts-entry-form textarea::-webkit-resizer{
  background:linear-gradient(135deg,transparent 45%,rgba(148,163,184,.35) 48%,rgba(148,163,184,.35) 55%,transparent 58%);
}
@media(max-width:1100px){
  .v73-hero-action-box{
    position:relative !important;
    right:auto !important;
    bottom:auto !important;
    width:100% !important;
    max-width:100% !important;
    margin-top:18px !important;
  }
  .ts-weekend-panel{grid-template-columns:1fr;}
}
@media(max-width:680px){
  .v73-hero-action-box .selected-hero-actions,
  .v73-hero-action-box .v54-source-actions.selected-hero-actions,
  .v73-hero-action-box .selected-hero-actions.v59-source-actions,
  .v73-hero-action-box .v59-source-actions{grid-template-columns:1fr 1fr !important;grid-auto-rows:48px !important;}
  .v73-hero-action-box .selected-hero-actions > *,
  .v73-hero-action-box .v54-source-actions.selected-hero-actions > *,
  .v73-hero-action-box .selected-hero-actions.v59-source-actions > *,
  .v73-hero-action-box .v59-source-actions > *{height:48px !important;min-height:48px !important;max-height:48px !important;font-size:11px !important;}
  .ts-panel-actions{width:100%;justify-content:stretch;display:grid;grid-template-columns:1fr;}
  .ts-panel-actions .secondary-button,.ts-panel-actions .gradient-small-button{width:100%;}
}

/* ===============================
   V74 People Services Phase 1
   Leave · Feedback · Availability
   =============================== */
.people-services-page{display:flex;flex-direction:column;gap:18px;animation:fadeUp .35s ease both;}
.service-hero{position:relative;overflow:hidden;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:28px;background:linear-gradient(135deg,rgba(124,92,255,.18),rgba(23,31,54,.92) 48%,rgba(30,108,255,.14));box-shadow:0 24px 70px rgba(0,0,0,.25);}
.service-hero:before{content:"";position:absolute;inset:-80px auto auto -80px;width:240px;height:240px;border-radius:999px;background:radial-gradient(circle,rgba(102,210,255,.2),transparent 65%);pointer-events:none;}
.service-hero h1{margin:4px 0 8px;font-size:clamp(1.55rem,2.6vw,2.35rem);letter-spacing:-.04em;}
.service-hero p{max-width:760px;margin:0;color:rgba(235,239,255,.74);line-height:1.6;}
.service-hero-badge{min-width:170px;padding:14px 16px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.07);backdrop-filter:blur(14px);text-align:right;}
.service-hero-badge span{display:block;color:rgba(235,239,255,.58);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;}
.service-hero-badge strong{display:block;margin-top:4px;color:#fff;font-size:.95rem;}
.service-tabs{display:flex;gap:10px;align-items:center;overflow-x:auto;padding:6px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(255,255,255,.045);scrollbar-width:thin;}
.service-tabs::-webkit-scrollbar{height:6px}.service-tabs::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}.service-tabs::-webkit-scrollbar-thumb{background:rgba(160,177,255,.32);border-radius:999px}.service-tabs::-webkit-scrollbar-thumb:hover{background:rgba(160,177,255,.55)}
.service-tab{border:0;border-radius:15px;padding:10px 16px;background:transparent;color:rgba(235,239,255,.72);font-weight:800;cursor:pointer;white-space:nowrap;transition:.18s ease;}
.service-tab:hover{background:rgba(255,255,255,.07);color:#fff}.service-tab.active{background:linear-gradient(135deg,rgba(124,92,255,.96),rgba(67,140,255,.9));color:#fff;box-shadow:0 14px 32px rgba(86,115,255,.26)}
.svc-metric-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.svc-metric{position:relative;overflow:hidden;padding:17px;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035));min-height:112px;}
.svc-metric span{display:block;color:rgba(235,239,255,.58);font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;}
.svc-metric strong{display:block;margin:10px 0 5px;color:#fff;font-size:1.45rem;line-height:1.05;letter-spacing:-.03em;}
.svc-metric small{color:rgba(235,239,255,.64);}.svc-metric.good:after,.svc-status-good:after{background:#42f59b}.svc-metric.warn:after,.svc-status-warn:after{background:#ffd166}.svc-metric.risk:after,.svc-status-risk:after{background:#ff6b7a}.svc-metric:after{content:"";position:absolute;right:16px;top:16px;width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.3);box-shadow:0 0 20px currentColor;}
.service-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.service-action-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:26px;background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.035));padding:20px;cursor:pointer;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;min-height:242px;}
.service-action-card:hover{transform:translateY(-4px);border-color:rgba(141,166,255,.4);box-shadow:0 24px 60px rgba(0,0,0,.24)}
.service-action-card .svc-icon{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.09);font-size:1.3rem;margin-bottom:14px;}
.service-action-card span{display:block;color:rgba(138,194,255,.9);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;}
.service-action-card h2{margin:8px 0;font-size:1.15rem;letter-spacing:-.025em;color:#fff;}.service-action-card p{color:rgba(235,239,255,.67);line-height:1.55;margin-bottom:16px;}
.service-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}.service-two-col.wide-left{grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);}
.service-panel,.service-setup-card{border:1px solid rgba(255,255,255,.1);border-radius:26px;background:rgba(12,18,34,.7);box-shadow:0 20px 54px rgba(0,0,0,.2);padding:18px;min-width:0;}
.service-setup-card{padding:26px;}.service-setup-card h1{margin:6px 0 10px;}.service-setup-card p{color:rgba(235,239,255,.7);line-height:1.6;}
.service-form{display:flex;flex-direction:column;gap:13px;}.service-form label{display:flex;flex-direction:column;gap:7px;color:rgba(235,239,255,.7);font-weight:800;font-size:.82rem;}
.service-form input,.service-form select,.service-form textarea,.service-search,.service-filter{width:100%;border:1px solid rgba(255,255,255,.11);border-radius:16px;background:rgba(255,255,255,.055);color:#fff;padding:12px 13px;outline:none;font:inherit;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;}
.service-form input:focus,.service-form select:focus,.service-form textarea:focus,.service-search:focus,.service-filter:focus{border-color:rgba(129,157,255,.7);background:rgba(255,255,255,.08);box-shadow:0 0 0 4px rgba(102,130,255,.12)}
.service-form select option,.service-filter option{background:#111827;color:#fff;}.form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.premium-scrollarea{resize:vertical;min-height:90px;scrollbar-width:thin;scrollbar-color:rgba(160,177,255,.42) rgba(255,255,255,.04);}.premium-scrollarea::-webkit-scrollbar{width:8px}.premium-scrollarea::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}.premium-scrollarea::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(124,92,255,.75),rgba(72,147,255,.6));border-radius:999px;border:2px solid rgba(13,19,36,.75)}.premium-scrollarea::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,rgba(151,131,255,.95),rgba(91,167,255,.82))}
.inline-hint{border:1px dashed rgba(142,160,255,.22);border-radius:14px;padding:10px 12px;color:rgba(235,239,255,.68);background:rgba(124,92,255,.06);font-size:.86rem;}
.leave-balance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;}.leave-balance-grid article{border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:13px;background:rgba(255,255,255,.045)}.leave-balance-grid span{display:block;color:rgba(235,239,255,.62);font-size:.78rem}.leave-balance-grid strong{display:block;margin:6px 0;color:#fff;font-size:1.35rem}.leave-balance-grid small{color:rgba(235,239,255,.6)}
.service-list{display:flex;flex-direction:column;gap:10px;max-height:620px;overflow:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(160,177,255,.38) rgba(255,255,255,.03)}.service-list::-webkit-scrollbar{width:8px}.service-list::-webkit-scrollbar-track{background:rgba(255,255,255,.035);border-radius:999px}.service-list::-webkit-scrollbar-thumb{background:rgba(160,177,255,.35);border-radius:999px;border:2px solid rgba(13,19,36,.8)}
.service-list-row{display:flex;gap:12px;align-items:flex-start;border:1px solid rgba(255,255,255,.085);border-radius:20px;background:rgba(255,255,255,.045);padding:13px;}.svc-row-avatar{flex:0 0 38px;width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(124,92,255,.72),rgba(74,153,255,.62));font-weight:900;color:#fff}.svc-row-main{flex:1;min-width:0}.svc-row-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.svc-row-title strong{color:#fff}.svc-row-main p{margin:0 0 4px;color:rgba(235,239,255,.68)}.svc-row-main small{display:block;color:rgba(235,239,255,.56);line-height:1.45}.manager-note{margin-top:5px;color:rgba(167,211,255,.76)!important}.svc-row-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.danger-soft{border-color:rgba(255,107,122,.25)!important;color:#ffadb5!important}.danger-soft:hover{background:rgba(255,107,122,.12)!important}.svc-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:900;white-space:nowrap;background:rgba(255,255,255,.06)}.svc-status-good{color:#7bffbd;background:rgba(35,213,130,.1);border-color:rgba(35,213,130,.22)}.svc-status-warn{color:#ffe09a;background:rgba(255,209,102,.1);border-color:rgba(255,209,102,.22)}.svc-status-risk{color:#ffadb5;background:rgba(255,107,122,.1);border-color:rgba(255,107,122,.22)}.svc-status-neutral{color:rgba(235,239,255,.72)}
.rule-list{display:flex;flex-direction:column;gap:10px}.rule-list div{border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.04);padding:12px;color:rgba(235,239,255,.72);line-height:1.45}.mini-empty,.svc-empty{border:1px dashed rgba(255,255,255,.12);border-radius:18px;padding:16px;text-align:center;color:rgba(235,239,255,.58);background:rgba(255,255,255,.03)}
.service-filter-row{display:flex;gap:10px;align-items:center;min-width:min(520px,100%)}.service-search{max-width:260px}.service-filter{max-width:190px}.availability-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.availability-card{border:1px solid rgba(255,255,255,.095);border-radius:22px;background:linear-gradient(155deg,rgba(255,255,255,.06),rgba(255,255,255,.03));padding:15px}.availability-top{display:flex;align-items:center;gap:11px;margin-bottom:13px}.availability-top div:nth-child(2){flex:1;min-width:0}.availability-top h3{margin:0;color:#fff;font-size:.98rem}.availability-top p{margin:2px 0 0;color:rgba(235,239,255,.56);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.availability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}.availability-grid div{border:1px solid rgba(255,255,255,.075);border-radius:14px;padding:9px;background:rgba(255,255,255,.035)}.availability-grid small{display:block;color:rgba(235,239,255,.48);font-size:.68rem}.availability-grid strong{display:block;margin-top:4px;color:#fff;font-size:.82rem}.availability-card p{color:rgba(235,239,255,.66);line-height:1.45;margin:8px 0 0}.v74-services-hero-btn span{font-size:.62rem;letter-spacing:.12em;opacity:.75}.v74-services-hero-btn strong{display:block;font-size:.88rem}.v73-hero-action-box .hero-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important}.v73-hero-action-box .hero-actions button{min-height:46px;justify-content:center;text-align:center;}
@media (max-width:1100px){.svc-metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card-grid{grid-template-columns:1fr}.service-two-col,.service-two-col.wide-left{grid-template-columns:1fr}.availability-board{grid-template-columns:1fr}.service-hero{flex-direction:column}.service-hero-badge{text-align:left}.v73-hero-action-box .hero-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.people-services-page{gap:14px}.service-hero{padding:18px;border-radius:22px}.service-tabs{padding:5px}.service-tab{padding:9px 12px}.svc-metric-row{grid-template-columns:1fr}.form-grid-2{grid-template-columns:1fr}.leave-balance-grid{grid-template-columns:1fr}.service-list-row{flex-direction:column}.svc-row-title{align-items:flex-start;flex-direction:column}.svc-row-actions{width:100%;justify-content:stretch}.svc-row-actions button{flex:1}.service-filter-row{flex-direction:column;align-items:stretch}.service-search,.service-filter{max-width:none}.availability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v73-hero-action-box .hero-actions{grid-template-columns:1fr!important}}

/* V75 Expense Reimbursement Phase 2 */
.v75-expense-page .service-hero{border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,rgba(18,24,38,.96),rgba(28,35,52,.86));box-shadow:0 22px 60px rgba(0,0,0,.22)}
.v75-expense-hero:after{content:"";position:absolute;inset:auto 28px 20px auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(20,184,166,.28),transparent 68%);pointer-events:none;filter:blur(4px)}
.v75-expense-form .premium-textarea{min-height:96px;resize:vertical;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.65) rgba(15,23,42,.35)}
.v75-expense-form .premium-textarea.compact{min-height:74px}
.v75-expense-form .premium-textarea::-webkit-scrollbar,.v75-purpose-cell::-webkit-scrollbar{width:8px}
.v75-expense-form .premium-textarea::-webkit-scrollbar-track,.v75-purpose-cell::-webkit-scrollbar-track{background:rgba(15,23,42,.35);border-radius:999px}
.v75-expense-form .premium-textarea::-webkit-scrollbar-thumb,.v75-purpose-cell::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(148,163,184,.82),rgba(71,85,105,.82));border-radius:999px;border:2px solid rgba(15,23,42,.25)}
.v75-expense-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}
.v75-claim-form-card,.v75-policy-card,.v75-claims-card{position:relative;overflow:hidden}
.v75-policy-list{display:grid;gap:12px;margin-top:8px}
.v75-policy-list div{padding:14px 15px;border:1px solid rgba(148,163,184,.16);border-radius:18px;background:rgba(255,255,255,.045)}
.v75-policy-list strong{display:block;font-size:13px;color:rgba(255,255,255,.94);margin-bottom:4px}
.v75-policy-list span{display:block;font-size:12px;line-height:1.45;color:rgba(226,232,240,.7)}
.v75-expense-table-wrap{overflow:auto;border:1px solid rgba(148,163,184,.16);border-radius:22px;background:rgba(15,23,42,.28);max-height:560px;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.58) rgba(15,23,42,.32)}
.v75-expense-table-wrap::-webkit-scrollbar{height:9px;width:9px}
.v75-expense-table-wrap::-webkit-scrollbar-track{background:rgba(15,23,42,.32);border-radius:999px}
.v75-expense-table-wrap::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(148,163,184,.76),rgba(51,65,85,.82));border-radius:999px;border:2px solid rgba(15,23,42,.32)}
.v75-expense-table{width:100%;border-collapse:separate;border-spacing:0;min-width:980px}
.v75-expense-table th{position:sticky;top:0;z-index:1;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:rgba(226,232,240,.62);background:rgba(15,23,42,.96);backdrop-filter:blur(14px);padding:14px 15px;border-bottom:1px solid rgba(148,163,184,.16)}
.v75-expense-table td{padding:14px 15px;border-bottom:1px solid rgba(148,163,184,.1);vertical-align:top;color:rgba(255,255,255,.88)}
.v75-expense-table td small{display:block;margin-top:4px;color:rgba(226,232,240,.55);font-size:11px}
.v75-purpose-cell{max-width:260px;max-height:72px;overflow:auto;font-size:12px;line-height:1.45;color:rgba(226,232,240,.74);padding-right:4px}
.v75-review-actions{display:flex;gap:6px;flex-wrap:wrap;min-width:180px}
.mini-action{border:0;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;cursor:pointer;color:#fff;background:rgba(148,163,184,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.mini-action.good{background:linear-gradient(135deg,rgba(34,197,94,.86),rgba(16,185,129,.72))}
.mini-action.warn{background:linear-gradient(135deg,rgba(245,158,11,.92),rgba(217,119,6,.75))}
.mini-action.risk{background:linear-gradient(135deg,rgba(239,68,68,.92),rgba(190,18,60,.78))}
.svc-muted{font-size:12px;color:rgba(226,232,240,.6)}
.side-link[data-section="expenses"] span{font-weight:900}
@media (max-width:1100px){.v75-expense-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.v75-expense-page .svc-grid.two-col{grid-template-columns:1fr}.v75-expense-table-wrap{max-height:none}}
@media (max-width:640px){.v75-expense-metrics{grid-template-columns:1fr}.v75-expense-table{min-width:860px}.v75-review-actions{min-width:150px}.v75-expense-page .service-hero-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}}

/* ================= V76 Performance / Rating / Promotion Phase 3 ================= */
.v76-performance-page{gap:18px;}
.v76-performance-hero{background:radial-gradient(circle at 12% 18%, rgba(139,92,246,.32), transparent 34%),radial-gradient(circle at 86% 12%, rgba(58,123,255,.22), transparent 28%),linear-gradient(135deg, rgba(13,18,34,.96), rgba(29,23,48,.88));border:1px solid rgba(205,190,255,.18);box-shadow:0 24px 70px rgba(0,0,0,.38);}
.v76-performance-hero .service-hero-actions{align-items:stretch;}
.v76-performance-hero-btn{border-color:rgba(190,169,255,.26)!important;background:linear-gradient(145deg,rgba(153,124,255,.18),rgba(255,255,255,.05))!important;}
.v76-performance-hero-btn span{display:block;font-size:.62rem;letter-spacing:.12em;color:rgba(235,230,255,.66);font-weight:900;}
.v76-performance-hero-btn strong{display:block;color:#fff;line-height:1.1;}
.v76-performance-service-card{background:radial-gradient(circle at top right,rgba(166,128,255,.22),transparent 35%),linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.035));}
.performance-cycle-panel{padding:16px 18px;}
.performance-row-card,.goal-row-card,.promotion-row-card{align-items:flex-start;}
.performance-row-card .svc-row-mid,.promotion-row-card .svc-row-mid,.goal-row-card .svc-row-mid{gap:8px;}
.compact-service-form{gap:11px;}
.compact-list{margin-top:14px;max-height:460px;overflow:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(180,170,255,.44) rgba(255,255,255,.04);}
.compact-list::-webkit-scrollbar{width:7px}.compact-list::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}.compact-list::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(180,170,255,.6),rgba(80,120,255,.42));border-radius:999px;border:1px solid rgba(255,255,255,.12)}
.svc-icon.small{width:36px;height:36px;min-width:36px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.10);}
.premium-scrollarea{scrollbar-width:thin;scrollbar-color:rgba(180,170,255,.48) rgba(255,255,255,.04);}
.premium-scrollarea::-webkit-scrollbar{width:7px}.premium-scrollarea::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}.premium-scrollarea::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(180,170,255,.62),rgba(80,120,255,.42));border-radius:999px;border:1px solid rgba(255,255,255,.12)}
@media (max-width:1100px){.v76-performance-page .service-two-col,.v76-performance-page .service-two-col.wide-left{grid-template-columns:1fr}.v73-hero-action-box .hero-actions{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.v76-performance-hero{padding:18px;border-radius:22px}.performance-row-card,.goal-row-card,.promotion-row-card{gap:12px}.v73-hero-action-box .hero-actions{grid-template-columns:1fr!important}}

/* ================= V77 People Operations Analytics Phase 4 ================= */
.people-analytics-page{display:flex;flex-direction:column;gap:18px;animation:fadeUp .35s ease both;}
.v77-analytics-hero{background:linear-gradient(135deg,rgba(12,18,35,.98),rgba(35,43,70,.88) 50%,rgba(14,165,233,.14));border-color:rgba(125,211,252,.18);}
.v77-analytics-hero:after{content:"";position:absolute;right:28px;bottom:-40px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(56,189,248,.24),transparent 68%);filter:blur(4px);pointer-events:none;}
.v77-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.v77-hero-actions .secondary-button,.v77-hero-actions .gradient-small-button{min-height:42px!important;height:42px!important;border-radius:14px!important;padding:0 15px!important;font-size:12px!important;}
.v77-metrics{grid-template-columns:repeat(4,minmax(0,1fr));}
.v77-control-card{position:relative;overflow:hidden;}
.v77-trend-row{display:grid;gap:8px;margin:14px 0;}
.v77-trend-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:14px;color:rgba(236,242,255,.78);font-size:12px;font-weight:800;}
.v77-trend-row>div:first-child span{color:#fff;font-size:13px;}
.v77-trend-track{height:10px;border-radius:999px;background:rgba(148,163,184,.14);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);}
.v77-trend-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,rgba(125,211,252,.9),rgba(99,102,241,.9));box-shadow:0 0 22px rgba(99,102,241,.28);}
.v77-trend-track i.good{background:linear-gradient(90deg,rgba(34,197,94,.88),rgba(20,184,166,.88));}
.v77-trend-track i.warn{background:linear-gradient(90deg,rgba(245,158,11,.9),rgba(251,191,36,.86));}
.v77-trend-track i.risk{background:linear-gradient(90deg,rgba(239,68,68,.92),rgba(244,63,94,.82));}
.v77-risk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.v77-risk-card{border:1px solid rgba(148,163,184,.14);border-radius:20px;padding:15px;background:rgba(255,255,255,.045);min-height:128px;position:relative;overflow:hidden;}
.v77-risk-card:before{content:"";position:absolute;right:14px;top:14px;width:9px;height:9px;border-radius:50%;background:rgba(148,163,184,.7);box-shadow:0 0 18px rgba(148,163,184,.32);}
.v77-risk-card.good:before{background:#22c55e;box-shadow:0 0 18px rgba(34,197,94,.44);}
.v77-risk-card.warn:before{background:#f59e0b;box-shadow:0 0 18px rgba(245,158,11,.44);}
.v77-risk-card.risk:before{background:#ef4444;box-shadow:0 0 18px rgba(239,68,68,.44);}
.v77-risk-card span{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:900;color:rgba(226,232,240,.58);}
.v77-risk-card strong{display:block;margin:10px 0 6px;color:#fff;font-size:1.25rem;letter-spacing:-.02em;}
.v77-risk-card p{margin:0;color:rgba(226,232,240,.68);font-size:12px;line-height:1.5;}
.v77-table-wrap{overflow:auto;border:1px solid rgba(148,163,184,.16);border-radius:22px;background:rgba(15,23,42,.28);max-height:620px;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.58) rgba(15,23,42,.32);}
.v77-table-wrap::-webkit-scrollbar{height:9px;width:9px;}
.v77-table-wrap::-webkit-scrollbar-track{background:rgba(15,23,42,.32);border-radius:999px;}
.v77-table-wrap::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(148,163,184,.76),rgba(51,65,85,.82));border-radius:999px;border:2px solid rgba(15,23,42,.32);}
.v77-analytics-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1060px;}
.v77-analytics-table th{position:sticky;top:0;z-index:1;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:rgba(226,232,240,.62);background:rgba(15,23,42,.96);backdrop-filter:blur(14px);padding:14px 15px;border-bottom:1px solid rgba(148,163,184,.16);}
.v77-analytics-table td{padding:14px 15px;border-bottom:1px solid rgba(148,163,184,.1);vertical-align:middle;color:rgba(255,255,255,.88);font-size:13px;}
.v77-analytics-table td small{display:block;margin-top:4px;color:rgba(226,232,240,.55);font-size:11px;line-height:1.35;}
.v77-person{display:flex;align-items:center;gap:11px;min-width:230px;}
.v77-person>span{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(124,92,255,.76),rgba(14,165,233,.66));color:#fff;font-weight:900;box-shadow:0 12px 28px rgba(59,130,246,.18);}
.v77-person strong{display:block;color:#fff;font-size:13px;}
.v77-person small{white-space:normal!important;}
.v77-risk-score{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:32px;border-radius:12px;font-weight:900;background:rgba(148,163,184,.14);color:#dbeafe;}
.v77-risk-score.good{background:rgba(34,197,94,.13);color:#86efac;}
.v77-risk-score.warn{background:rgba(245,158,11,.14);color:#fcd34d;}
.v77-risk-score.risk{background:rgba(239,68,68,.14);color:#fca5a5;}
.v77-notes-card .service-list.compact-list{max-height:430px;}
.v77-note-form textarea{min-height:86px;resize:vertical;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.58) rgba(15,23,42,.32);}
.v77-note-form textarea::-webkit-scrollbar{width:8px;}
.v77-note-form textarea::-webkit-scrollbar-track{background:rgba(15,23,42,.32);border-radius:999px;}
.v77-note-form textarea::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(148,163,184,.76),rgba(51,65,85,.82));border-radius:999px;border:2px solid rgba(15,23,42,.32);}
.v77-kpi-grid .service-action-card{min-height:210px;}
.v77-analytics-hero-btn span{font-size:.62rem;letter-spacing:.12em;opacity:.75;}
.v77-analytics-hero-btn strong{display:block;font-size:.88rem;}
.side-link[data-section="analytics"] span{font-weight:900;}
.v73-hero-action-box .hero-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
@media(max-width:1180px){.v77-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}.v77-risk-grid{grid-template-columns:1fr;}.v77-hero-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}.v77-hero-actions>*{width:100%;}}
@media(max-width:760px){.v77-metrics{grid-template-columns:1fr;}.v77-hero-actions{grid-template-columns:1fr;}.v77-analytics-table{min-width:940px;}.v77-person{min-width:200px;}.v77-risk-grid{grid-template-columns:1fr;}.v77-control-card .panel-head{align-items:flex-start;flex-direction:column;}.v77-control-card .service-filter-row{width:100%;}.v73-hero-action-box .hero-actions{grid-template-columns:1fr 1fr!important;}}

/* V78 finishing polish: consolidated People Hub + cleaner dashboard actions */
.v78-build-marker{display:none!important}
.v73-hero-action-box{
  border-radius:24px!important;
  padding:14px!important;
  max-width:420px!important;
}
.v73-hero-action-box .hero-action-box-head{
  margin-bottom:10px!important;
}
.v73-hero-action-box .selected-hero-actions,
.v73-hero-action-box .hero-actions,
.v73-hero-action-box .v54-source-actions.selected-hero-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.v73-hero-action-box .selected-hero-actions > *,
.v73-hero-action-box .hero-actions > *,
.v73-hero-action-box .gradient-small-button,
.v73-hero-action-box .secondary-button,
.v73-hero-action-box .v54-audit-test-btn{
  height:50px!important;
  min-height:50px!important;
  max-height:50px!important;
  border-radius:16px!important;
  padding:8px 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  font-size:12px!important;
  line-height:1.15!important;
  overflow:hidden!important;
}
.v73-hero-action-box .v54-audit-test-btn strong{font-size:12px!important;}
.v73-hero-action-box .v54-audit-test-btn span{font-size:9px!important;letter-spacing:.12em!important;}
.side-link[data-section="peoplehub"]{
  background:linear-gradient(135deg,rgba(124,92,255,.15),rgba(64,153,255,.08));
  border:1px solid rgba(154,169,255,.12);
}
.side-link[data-section="peoplehub"].active{
  background:linear-gradient(135deg,rgba(124,92,255,.32),rgba(64,153,255,.22))!important;
  box-shadow:0 14px 28px rgba(62,93,255,.15)!important;
}
.service-tabs.people-hub-tabs,
.service-tabs{
  background:linear-gradient(135deg,rgba(12,18,38,.82),rgba(20,26,49,.66))!important;
  border:1px solid rgba(157,174,255,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 18px 40px rgba(0,0,0,.18)!important;
  border-radius:22px!important;
  padding:7px!important;
  gap:7px!important;
  scrollbar-width:thin;
}
.service-tabs::-webkit-scrollbar{height:5px!important;}
.service-tabs::-webkit-scrollbar-track{background:rgba(255,255,255,.04)!important;border-radius:999px!important;}
.service-tabs::-webkit-scrollbar-thumb{background:linear-gradient(90deg,rgba(124,92,255,.6),rgba(69,152,255,.6))!important;border-radius:999px!important;}
.service-tab{
  border-radius:16px!important;
  min-height:38px!important;
  padding:9px 14px!important;
  border:1px solid transparent!important;
  color:rgba(239,243,255,.72)!important;
  position:relative!important;
}
.service-tab.active{
  background:linear-gradient(135deg,rgba(130,101,255,.98),rgba(52,146,255,.92))!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:0 12px 28px rgba(73,111,255,.26),inset 0 1px 0 rgba(255,255,255,.22)!important;
}
.service-tab:hover:not(.active){
  background:rgba(255,255,255,.07)!important;
  color:#fff!important;
}
.people-services-page .service-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.people-services-page .service-action-card{
  border-radius:24px!important;
  min-height:190px;
}
.service-hero-badge strong{white-space:nowrap;}
@media(max-width:1100px){.people-services-page .service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:720px){
  .v73-hero-action-box{max-width:none!important;}
  .v73-hero-action-box .selected-hero-actions,
  .v73-hero-action-box .hero-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .people-services-page .service-card-grid{grid-template-columns:1fr;}
  .service-tabs{padding:6px!important;gap:6px!important;}
  .service-tab{padding:8px 11px!important;font-size:12px!important;}
}

/* V80 People Hub finishing polish: single active sidebar state, premium buttons, PMO leadership feedback */
.v80-build-marker{display:none!important;}
.people-services-page .service-tab,
.people-services-page button,
.timesheet-page .ts-tab{
  -webkit-tap-highlight-color:transparent;
}
.people-services-page .service-tabs{
  position:relative!important;
  isolation:isolate;
  background:linear-gradient(135deg,rgba(9,14,31,.94),rgba(19,25,51,.82))!important;
  border:1px solid rgba(167,181,255,.18)!important;
  box-shadow:0 22px 55px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.people-services-page .service-tab{
  isolation:isolate;
  letter-spacing:.01em;
  font-weight:800!important;
  transition:transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease!important;
}
.people-services-page .service-tab:hover{transform:translateY(-1px);}
.people-services-page .service-tab.active{
  background:linear-gradient(135deg,#8b5cf6 0%,#4f8cff 52%,#22d3ee 100%)!important;
  box-shadow:0 16px 34px rgba(79,140,255,.30), inset 0 1px 0 rgba(255,255,255,.28)!important;
}
.people-services-page .service-action-card,
.people-services-page .service-panel{
  box-shadow:0 24px 60px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.055)!important;
}
.people-services-page .secondary-button,
.people-services-page .gradient-small-button,
.people-services-page .premium-action-button{
  border-radius:16px!important;
  min-height:42px;
  font-weight:900!important;
  letter-spacing:.015em;
  box-shadow:0 14px 30px rgba(67,103,255,.18), inset 0 1px 0 rgba(255,255,255,.20)!important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease!important;
}
.people-services-page .secondary-button:hover,
.people-services-page .gradient-small-button:hover,
.people-services-page .premium-action-button:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 42px rgba(87,118,255,.30), inset 0 1px 0 rgba(255,255,255,.24)!important;
}
.premium-panel-head{
  padding-bottom:12px;
  border-bottom:1px solid rgba(154,169,255,.11);
}
.leadership-feedback-panel{
  margin:18px 0!important;
  background:
    radial-gradient(circle at 8% 0%,rgba(139,92,246,.18),transparent 28%),
    radial-gradient(circle at 90% 0%,rgba(34,211,238,.12),transparent 32%),
    linear-gradient(135deg,rgba(17,24,47,.90),rgba(14,20,39,.78))!important;
}
.leadership-feedback-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:16px;
}
.leadership-feedback-card{
  display:grid;
  gap:12px;
  padding:16px;
  border-radius:22px;
  border:1px solid rgba(166,181,255,.14);
  background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.028));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 40px rgba(0,0,0,.16);
}
.leader-card-top{
  display:flex;
  align-items:center;
  gap:12px;
}
.leader-avatar{
  width:48px;
  height:48px;
  border-radius:18px;
  display:grid;
  place-items:center;
  font-weight:950;
  color:#fff;
  background:linear-gradient(135deg,rgba(139,92,246,.95),rgba(58,151,255,.92));
  box-shadow:0 12px 28px rgba(80,115,255,.28), inset 0 1px 0 rgba(255,255,255,.28);
}
.leader-card-top h3{margin:0;color:#fff;font-size:15px;}
.leader-card-top p{margin:3px 0 0;color:rgba(213,222,255,.72);font-size:12px;}
.leader-focus{margin:0;color:rgba(226,233,255,.76);font-size:12.5px;line-height:1.45;}
.leader-card-fields{display:grid;grid-template-columns:.65fr 1fr;gap:10px;}
.leadership-feedback-card textarea{min-height:74px;}
.leadership-feedback-row{
  border-color:rgba(139,92,246,.20)!important;
  background:linear-gradient(135deg,rgba(139,92,246,.09),rgba(34,211,238,.045))!important;
}
@media(max-width:1180px){.leadership-feedback-grid{grid-template-columns:1fr;}.leader-card-fields{grid-template-columns:1fr 1fr;}}
@media(max-width:680px){.leader-card-fields{grid-template-columns:1fr;}.leadership-feedback-card{padding:14px;}.people-services-page .service-tab{font-size:11.5px!important;}}

/* V81 premium global form controls + hierarchy polish */
.v81-build-marker{display:none!important;}
.app-page input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
.app-page select,
.app-page textarea,
.app-page .service-search,
.app-page .service-filter,
.app-page .svc-toolbar input,
.app-page .svc-toolbar select,
.app-page .service-form input,
.app-page .service-form select,
.app-page .service-form textarea,
.app-page .svc-form input,
.app-page .svc-form select,
.app-page .svc-form textarea,
.app-page .admin-form input,
.app-page .admin-form select,
.app-page .admin-form textarea,
.app-page .ts-input,
.app-page .ts-select,
.app-page .ts-textarea{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:46px;
  border:1px solid rgba(158,174,255,.20)!important;
  border-radius:16px!important;
  background:
    radial-gradient(circle at 15% 0%,rgba(139,92,246,.12),transparent 34%),
    linear-gradient(135deg,rgba(15,23,42,.92),rgba(20,28,48,.78))!important;
  color:#f8fbff!important;
  padding:11px 13px!important;
  font:inherit!important;
  font-weight:700!important;
  letter-spacing:.005em;
  outline:none!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 14px 28px rgba(0,0,0,.12)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease!important;
}
.app-page textarea,
.app-page .premium-scrollarea,
.app-page .premium-textarea{
  min-height:92px;
  line-height:1.45;
  resize:vertical;
  scrollbar-width:thin;
  scrollbar-color:rgba(147,161,255,.68) rgba(15,23,42,.38);
}
.app-page input::placeholder,
.app-page textarea::placeholder{color:rgba(218,226,255,.52)!important;font-weight:600!important;}
.app-page input:focus,
.app-page select:focus,
.app-page textarea:focus,
.app-page .service-search:focus,
.app-page .service-filter:focus,
.app-page .ts-input:focus,
.app-page .ts-select:focus,
.app-page .ts-textarea:focus{
  border-color:rgba(151,127,255,.78)!important;
  background:
    radial-gradient(circle at 15% 0%,rgba(139,92,246,.20),transparent 34%),
    linear-gradient(135deg,rgba(17,25,48,.98),rgba(22,33,59,.90))!important;
  box-shadow:0 0 0 4px rgba(124,92,255,.14),0 18px 42px rgba(50,80,180,.16),inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.app-page select{
  padding-right:42px!important;
  background-image:
    linear-gradient(45deg,transparent 50%,rgba(223,231,255,.78) 50%),
    linear-gradient(135deg,rgba(223,231,255,.78) 50%,transparent 50%),
    radial-gradient(circle at 15% 0%,rgba(139,92,246,.12),transparent 34%),
    linear-gradient(135deg,rgba(15,23,42,.92),rgba(20,28,48,.78))!important;
  background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%,0 0,0 0!important;
  background-size:6px 6px,6px 6px,100% 100%,100% 100%!important;
  background-repeat:no-repeat!important;
}
.app-page select option{background:#0f172a!important;color:#f8fbff!important;font-weight:700;}
.app-page input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.4) saturate(.8);opacity:.85;cursor:pointer;}
.app-page input[type="file"]{cursor:pointer;}
.app-page textarea::-webkit-scrollbar{width:9px;height:9px;}
.app-page textarea::-webkit-scrollbar-track{background:rgba(15,23,42,.35);border-radius:999px;}
.app-page textarea::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(159,139,255,.82),rgba(56,189,248,.62));border:2px solid rgba(15,23,42,.35);border-radius:999px;}
.svc-form,
.v75-expense-form,
.service-form,
.admin-form{display:grid;gap:14px;align-items:start;}
.svc-form label,
.v75-expense-form label,
.service-form label,
.admin-form label{display:flex!important;flex-direction:column!important;gap:7px!important;color:rgba(226,233,255,.82)!important;font-size:.82rem!important;font-weight:900!important;min-width:0;}
.v75-expense-form{grid-template-columns:repeat(3,minmax(0,1fr));}
.v75-expense-form .svc-wide{grid-column:span 3;}
.v75-expense-form .submission-result,.v75-expense-form .svc-form-actions{grid-column:1/-1;}
.svc-toolbar{gap:10px;align-items:center;}
@media(max-width:1100px){.v75-expense-form{grid-template-columns:repeat(2,minmax(0,1fr));}.v75-expense-form .svc-wide{grid-column:span 2;}}
@media(max-width:700px){.v75-expense-form{grid-template-columns:1fr;}.v75-expense-form .svc-wide{grid-column:span 1;}.app-page input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),.app-page select,.app-page textarea{min-height:44px!important;}}

/* V81 premium hierarchy */
.v81-hierarchy-page{display:grid;gap:20px;min-width:0;}
.v81-hierarchy-hero{
  display:flex;justify-content:space-between;gap:18px;align-items:center;
  border:1px solid rgba(166,181,255,.16);border-radius:30px;padding:24px;
  background:radial-gradient(circle at 10% 0%,rgba(139,92,246,.26),transparent 34%),radial-gradient(circle at 90% 0%,rgba(56,189,248,.18),transparent 30%),linear-gradient(135deg,rgba(16,24,48,.94),rgba(10,15,31,.86));
  box-shadow:0 26px 70px rgba(0,0,0,.27),inset 0 1px 0 rgba(255,255,255,.07);
}
.v81-hierarchy-hero h1{margin:4px 0 8px;font-size:clamp(28px,3vw,44px);letter-spacing:-.05em;}
.v81-hierarchy-hero p{max-width:820px;margin:0;color:rgba(218,226,255,.73);font-weight:650;line-height:1.55;}
.v81-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.v81-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.v81-stat-grid article{border:1px solid rgba(166,181,255,.14);border-radius:24px;padding:17px;background:linear-gradient(135deg,rgba(255,255,255,.062),rgba(255,255,255,.026));box-shadow:inset 0 1px 0 rgba(255,255,255,.06);}
.v81-stat-grid span{display:block;color:rgba(218,226,255,.70);font-weight:850;font-size:.82rem;}.v81-stat-grid strong{display:block;font-size:32px;color:#fff;margin:5px 0;}.v81-stat-grid small{color:rgba(190,202,235,.68);}
.v81-chart-shell{position:relative;border:1px solid rgba(166,181,255,.14);border-radius:34px;padding:28px;background:radial-gradient(circle at 50% 0%,rgba(124,92,255,.16),transparent 30%),linear-gradient(180deg,rgba(9,14,31,.88),rgba(8,13,26,.74));box-shadow:0 28px 82px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.055);overflow:hidden;}
.v81-chain{width:min(740px,100%);margin:0 auto;display:grid;justify-items:center;}
.v81-connector{width:2px;height:30px;background:linear-gradient(180deg,rgba(160,132,255,.95),rgba(56,189,248,.55));box-shadow:0 0 18px rgba(124,92,255,.55);}
.v81-leader-card{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;border-radius:26px;padding:16px 18px;border:1px solid rgba(164,181,255,.18);background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.032));box-shadow:0 20px 48px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.08);}
.v81-leader-card.executive{border-color:rgba(196,121,255,.54);box-shadow:0 24px 62px rgba(126,72,255,.24),inset 0 1px 0 rgba(255,255,255,.10);}.v81-leader-card.lead{border-color:rgba(157,114,255,.42);}.v81-leader-card.manager{border-color:rgba(56,189,248,.38);}
.v81-leader-main h3{margin:0;color:#fff;font-size:20px;letter-spacing:-.03em;}.v81-leader-main p{margin:4px 0 10px;color:#c9d5ff;font-weight:850;}.v81-leader-meta{display:flex;gap:10px;flex-wrap:wrap;color:rgba(221,228,255,.70);font-size:.78rem;font-weight:750;}
.v81-level-pill{padding:8px 11px;border-radius:999px;background:rgba(139,92,246,.18);border:1px solid rgba(166,181,255,.16);font-weight:950;color:#e8edff;font-size:.76rem;white-space:nowrap;}
.v81-avatar{width:54px;height:54px;border-radius:19px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#8b5cf6,#38bdf8);color:#fff;font-weight:950;box-shadow:0 14px 32px rgba(80,115,255,.28),inset 0 1px 0 rgba(255,255,255,.24);flex:0 0 auto;}
.v81-avatar.xl{width:70px;height:70px;border-radius:24px;}.v81-avatar.mini{width:34px;height:34px;border-radius:13px;margin-left:-7px;border:2px solid rgba(9,14,31,.96);}.v81-avatar.mini:first-child{margin-left:0;}.v81-avatar img{width:100%;height:100%;object-fit:cover;display:block;}.v81-avatar.image-failed span{display:grid;}
.v81-branch-line{height:50px;display:grid;place-items:center;}.v81-branch-line span{width:min(78%,780px);height:2px;background:linear-gradient(90deg,transparent,rgba(151,127,255,.9),rgba(56,189,248,.6),transparent);box-shadow:0 0 20px rgba(124,92,255,.45);}
.v81-section-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:8px 0 14px;}.v81-section-head h2{margin:0;color:#fff;font-size:21px;}.v81-section-head p{margin:5px 0 0;color:rgba(218,226,255,.68);}.v81-section-head span{padding:8px 11px;border-radius:999px;background:rgba(56,189,248,.12);border:1px solid rgba(56,189,248,.25);color:#dff7ff;font-weight:900;}
.v81-senior-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:26px;}.v81-senior-card{position:relative;border:1px solid rgba(56,189,248,.26);border-radius:23px;padding:15px;background:linear-gradient(145deg,rgba(9,44,65,.65),rgba(9,17,34,.72));box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 18px 40px rgba(0,0,0,.16);display:grid;gap:10px;}.v81-senior-card h4{margin:0;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.v81-senior-card p{margin:0;color:#8bd7ff;font-weight:850;font-size:.82rem;}.v81-senior-card span{color:rgba(219,228,255,.68);font-size:.76rem;}.v81-senior-card>strong{position:absolute;right:12px;top:12px;color:rgba(255,255,255,.32);font-size:22px;}
.v81-team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}.v81-team-group{border:1px dashed rgba(166,181,255,.22);border-radius:24px;padding:16px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));}.v81-team-head{display:flex;justify-content:space-between;gap:12px;align-items:start;}.v81-team-head span{color:rgba(218,226,255,.55);font-size:.74rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;}.v81-team-head h4{margin:4px 0 0;color:#fff;}.v81-team-head strong{width:38px;height:38px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(37,99,235,.75),rgba(14,165,233,.55));color:#fff;}.v81-mini-avatars{display:flex;margin:16px 0 10px;}.v81-team-group p{color:rgba(219,228,255,.68);margin:0;font-size:.8rem;line-height:1.45;}
.v81-hierarchy-notes{display:grid;grid-template-columns:1fr 1fr;gap:14px;}.v81-hierarchy-notes article{border:1px solid rgba(166,181,255,.13);border-radius:22px;padding:16px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025));}.v81-hierarchy-notes strong{color:#fff;}.v81-hierarchy-notes p{margin:7px 0 0;color:rgba(218,226,255,.70);line-height:1.5;}.v81-hierarchy-notes code{color:#c4b5fd;background:rgba(139,92,246,.12);padding:2px 5px;border-radius:7px;}
@media(max-width:1220px){.v81-senior-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.v81-team-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.v81-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){.v81-hierarchy-hero{align-items:flex-start;flex-direction:column;padding:18px;border-radius:24px;}.v81-hero-actions{width:100%;}.v81-hero-actions>*{flex:1;}.v81-stat-grid,.v81-senior-grid,.v81-team-grid,.v81-hierarchy-notes{grid-template-columns:1fr;}.v81-chart-shell{padding:18px;border-radius:24px;}.v81-leader-card{grid-template-columns:auto 1fr;}.v81-level-pill{grid-column:1/-1;width:max-content}.v81-avatar.xl{width:58px;height:58px;border-radius:20px;}.v81-section-head{align-items:flex-start;flex-direction:column;}}

/* V82 Compact Premium Hierarchy Finish */
.v82-build-marker{display:none!important;}
.v82-hierarchy-page{display:grid;gap:14px;min-width:0;}
.v82-page-head{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(166,181,255,.14);border-radius:24px;padding:16px 18px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.02));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 45px rgba(0,0,0,.16);}
.v82-page-head h1{margin:3px 0 4px;color:#fff;font-size:clamp(24px,2.3vw,34px);letter-spacing:-.04em;line-height:1.05;}
.v82-page-head p{margin:0;color:rgba(218,226,255,.68);font-weight:650;line-height:1.4;max-width:760px;}
.v82-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.v82-mini-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.v82-mini-stats article{min-height:72px;border:1px solid rgba(166,181,255,.13);border-radius:20px;padding:13px 15px;background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.018));box-shadow:inset 0 1px 0 rgba(255,255,255,.055);}
.v82-mini-stats span{display:block;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:rgba(207,218,255,.58);}
.v82-mini-stats strong{display:block;margin-top:3px;color:#fff;font-size:26px;line-height:1;letter-spacing:-.04em;}
.v82-chart{border:1px solid rgba(166,181,255,.14);border-radius:28px;padding:18px;background:radial-gradient(circle at 50% 0%,rgba(124,92,255,.13),transparent 28%),linear-gradient(180deg,rgba(9,14,31,.88),rgba(8,13,26,.76));box-shadow:0 24px 70px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.055);overflow:hidden;}
.v82-leadership-chain{width:min(760px,100%);margin:0 auto;display:grid;justify-items:stretch;gap:0;}
.v82-leadership-chain>i{display:block;width:2px;height:18px;margin:0 auto;background:linear-gradient(180deg,rgba(160,132,255,.95),rgba(56,189,248,.5));box-shadow:0 0 16px rgba(124,92,255,.44);}
.v82-leader-card{height:78px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border-radius:22px;padding:12px 14px;border:1px solid rgba(164,181,255,.18);background:linear-gradient(135deg,rgba(255,255,255,.072),rgba(255,255,255,.028));box-shadow:0 14px 34px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.08);}
.v82-leader-card.executive{border-color:rgba(196,121,255,.52);box-shadow:0 17px 42px rgba(126,72,255,.2),inset 0 1px 0 rgba(255,255,255,.10);}
.v82-leader-card.lead{border-color:rgba(157,114,255,.38);}.v82-leader-card.manager{border-color:rgba(56,189,248,.36);}
.v82-person-main{min-width:0;}.v82-person-main h3{margin:0;color:#fff;font-size:18px;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.v82-person-main p{margin:3px 0 0;color:#c9d5ff;font-weight:850;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v82-leader-card>span{padding:7px 10px;border-radius:999px;background:rgba(139,92,246,.16);border:1px solid rgba(166,181,255,.16);font-weight:950;color:#e8edff;font-size:.72rem;white-space:nowrap;}
.v82-avatar{overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#8b5cf6,#38bdf8);color:#fff;font-weight:950;box-shadow:0 10px 25px rgba(80,115,255,.24),inset 0 1px 0 rgba(255,255,255,.24);flex:0 0 auto;}
.v82-avatar.leader{width:52px;height:52px;border-radius:17px;}.v82-avatar.sm{width:38px;height:38px;border-radius:14px;}.v82-avatar.xs{width:26px;height:26px;border-radius:10px;font-size:.68rem;}
.v82-avatar img{width:100%;height:100%;object-fit:cover;display:block;}.v82-avatar.image-failed span{display:grid;}
.v82-divider{height:34px;display:grid;place-items:center;}.v82-divider span{width:min(88%,960px);height:2px;background:linear-gradient(90deg,transparent,rgba(151,127,255,.88),rgba(56,189,248,.55),transparent);box-shadow:0 0 18px rgba(124,92,255,.40);}
.v82-layer-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:2px 0 10px;}
.v82-layer-head h2{margin:0;color:#fff;font-size:18px;letter-spacing:-.03em;}.v82-layer-head p{margin:0;color:rgba(218,226,255,.58);font-weight:850;font-size:.82rem;}
.v82-senior-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:9px;margin-bottom:18px;}
.v82-senior-chip{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;border:1px solid rgba(56,189,248,.22);border-radius:18px;padding:9px 10px;background:linear-gradient(145deg,rgba(9,44,65,.55),rgba(9,17,34,.70));box-shadow:inset 0 1px 0 rgba(255,255,255,.06);}
.v82-senior-chip strong{display:block;color:#fff;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.15;}.v82-senior-chip span{display:block;margin-top:2px;color:#8bd7ff;font-weight:800;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v82-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:11px;}
.v82-team-card{min-width:0;border:1px solid rgba(166,181,255,.14);border-radius:21px;padding:12px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.017));box-shadow:inset 0 1px 0 rgba(255,255,255,.055);}
.v82-team-card header{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:10px;}.v82-team-card small{display:block;color:rgba(218,226,255,.53);font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;}.v82-team-card h4{margin:2px 0 0;color:#fff;font-size:1rem;letter-spacing:-.02em;}.v82-team-card header strong{width:34px;height:34px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(37,99,235,.75),rgba(14,165,233,.55));color:#fff;font-size:.95rem;}
.v82-chip-grid{display:flex;flex-wrap:wrap;gap:7px;align-items:flex-start;}
.v82-employee-chip{max-width:100%;height:34px;display:inline-grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;border:1px solid rgba(166,181,255,.14);border-radius:13px;padding:4px 8px 4px 4px;background:rgba(8,13,26,.62);color:rgba(232,238,255,.88);font-weight:850;font-size:.76rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease;}
.v82-employee-chip:hover{transform:translateY(-1px);border-color:rgba(139,92,246,.38);background:rgba(25,20,56,.68);}.v82-employee-chip span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media(max-width:900px){.v82-page-head{align-items:flex-start;flex-direction:column;}.v82-head-actions{width:100%;}.v82-head-actions>*{flex:1;}.v82-mini-stats{grid-template-columns:repeat(2,minmax(0,1fr));}.v82-chart{padding:14px;border-radius:24px;}.v82-leader-card{height:auto;min-height:72px;}.v82-team-grid{grid-template-columns:1fr;}}
@media(max-width:560px){.v82-mini-stats{grid-template-columns:1fr 1fr;gap:8px;}.v82-leader-card{grid-template-columns:auto 1fr;}.v82-leader-card>span{grid-column:1/-1;width:max-content;}.v82-senior-strip{grid-template-columns:1fr;}.v82-page-head h1{font-size:24px;}.v82-team-card{border-radius:18px;}.v82-employee-chip{width:100%;}}

/* =========================================================
   V83 People Hub Ultra Compact Premium Polish
   Goal: smaller, cleaner, premium People Hub cards across modules.
   Source-level CSS finish; no SQL / data logic changes.
   ========================================================= */
.v83-build-marker{display:none!important;}

/* Keep the top search bar premium but not over-styled/oversized by global form rules */
.topbar .search-shell{
  height:46px!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,rgba(15,23,42,.82),rgba(12,18,34,.72))!important;
  border:1px solid rgba(148,163,255,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 16px 35px rgba(0,0,0,.13)!important;
}
.topbar .search-shell input,
.app-page .topbar .search-shell input#globalSearch{
  min-height:44px!important;
  height:44px!important;
  border:0!important;
  border-radius:16px!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0 14px 0 4px!important;
  font-size:15px!important;
  font-weight:750!important;
  color:#eef4ff!important;
}
.topbar .search-shell input:focus{
  box-shadow:none!important;
  background:transparent!important;
}

/* People Hub overall spacing */
.people-services-page,
.v82-hierarchy-page{
  gap:10px!important;
}
.people-services-page .service-hero{
  border-radius:22px!important;
  padding:16px 18px!important;
  min-height:auto!important;
  align-items:center!important;
  background:
    radial-gradient(circle at 5% 0%,rgba(139,92,246,.20),transparent 32%),
    radial-gradient(circle at 94% 0%,rgba(56,189,248,.13),transparent 30%),
    linear-gradient(135deg,rgba(15,23,42,.92),rgba(10,16,34,.84))!important;
  box-shadow:0 18px 46px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.07)!important;
}
.people-services-page .service-hero h1{
  font-size:clamp(1.28rem,2vw,1.85rem)!important;
  margin:2px 0 5px!important;
}
.people-services-page .service-hero p{
  font-size:.88rem!important;
  line-height:1.45!important;
  max-width:780px!important;
}
.people-services-page .service-hero-badge{
  min-width:132px!important;
  padding:10px 12px!important;
  border-radius:16px!important;
}
.people-services-page .service-hero-badge strong{font-size:.84rem!important;}
.people-services-page .service-hero-badge span{font-size:.64rem!important;}

/* Compact premium tabs */
.people-services-page .service-tabs,
.people-services-page .service-tabs.people-hub-tabs{
  border-radius:18px!important;
  padding:5px!important;
  gap:5px!important;
  margin:0!important;
}
.people-services-page .service-tab{
  min-height:32px!important;
  padding:7px 11px!important;
  border-radius:13px!important;
  font-size:12px!important;
  line-height:1!important;
}

/* Smaller overview/action cards */
.people-services-page .service-card-grid{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:10px!important;
}
.people-services-page .service-action-card{
  min-height:118px!important;
  border-radius:19px!important;
  padding:13px 14px!important;
  background:
    radial-gradient(circle at 0% 0%,rgba(139,92,246,.12),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.058),rgba(255,255,255,.018))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 14px 32px rgba(0,0,0,.14)!important;
}
.people-services-page .service-action-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 18px 40px rgba(80,90,180,.20),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.people-services-page .service-action-card .svc-icon{
  width:34px!important;
  height:34px!important;
  border-radius:12px!important;
  font-size:1rem!important;
  margin-bottom:8px!important;
}
.people-services-page .service-action-card span{
  font-size:.60rem!important;
  letter-spacing:.11em!important;
}
.people-services-page .service-action-card h2{
  margin:5px 0 4px!important;
  font-size:.96rem!important;
}
.people-services-page .service-action-card p{
  margin:0!important;
  font-size:.78rem!important;
  line-height:1.35!important;
  color:rgba(226,233,255,.64)!important;
}

/* Compact panels/cards in all People Hub modules */
.people-services-page .service-panel,
.people-services-page .service-setup-card,
.people-services-page .leadership-feedback-panel,
.people-services-page .v77-control-card,
.people-services-page .v77-notes-card{
  border-radius:20px!important;
  padding:14px!important;
  background:linear-gradient(145deg,rgba(12,18,34,.82),rgba(8,13,26,.72))!important;
  box-shadow:0 16px 42px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.055)!important;
}
.people-services-page .panel-head,
.people-services-page .premium-panel-head{
  padding-bottom:8px!important;
  margin-bottom:10px!important;
}
.people-services-page .panel-head h2,
.people-services-page .service-panel h2,
.people-services-page .service-setup-card h1{
  font-size:1.05rem!important;
  letter-spacing:-.025em!important;
  margin:0 0 4px!important;
}
.people-services-page .panel-head p,
.people-services-page .service-setup-card p{
  font-size:.78rem!important;
  line-height:1.35!important;
}
.people-services-page .service-two-col,
.people-services-page .service-two-col.wide-left{
  grid-template-columns:minmax(0,1fr) minmax(300px,.72fr)!important;
  gap:11px!important;
}

/* Metrics: dense and premium */
.people-services-page .svc-metric-row,
.people-services-page .v77-metrics{
  grid-template-columns:repeat(auto-fit,minmax(155px,1fr))!important;
  gap:9px!important;
}
.people-services-page .svc-metric,
.people-services-page .v77-metric-card,
.people-services-page .v77-kpi-grid .service-action-card{
  min-height:76px!important;
  padding:11px 12px!important;
  border-radius:17px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018))!important;
}
.people-services-page .svc-metric span,
.people-services-page .v77-metric-card span{
  font-size:.62rem!important;
  letter-spacing:.08em!important;
}
.people-services-page .svc-metric strong,
.people-services-page .v77-metric-card strong{
  font-size:1.18rem!important;
  margin:5px 0 2px!important;
}
.people-services-page .svc-metric small,
.people-services-page .v77-metric-card small{font-size:.70rem!important;}

/* Leave balance cards: much smaller */
.people-services-page .leave-balance-grid{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
  gap:8px!important;
}
.people-services-page .leave-balance-grid article{
  min-height:82px!important;
  border-radius:17px!important;
  padding:11px 12px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.018))!important;
}
.people-services-page .leave-balance-grid span{font-size:.72rem!important;}
.people-services-page .leave-balance-grid strong{font-size:1.18rem!important;margin:4px 0 2px!important;}
.people-services-page .leave-balance-grid small{font-size:.68rem!important;}

/* Compact forms with premium controls */
.people-services-page .service-form,
.people-services-page .svc-form,
.people-services-page .v75-expense-form,
.people-services-page .admin-form,
.people-services-page .v77-note-form{
  gap:9px!important;
}
.people-services-page .service-form label,
.people-services-page .svc-form label,
.people-services-page .v75-expense-form label,
.people-services-page .admin-form label{
  gap:5px!important;
  font-size:.74rem!important;
}
.people-services-page input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
.people-services-page select,
.people-services-page textarea,
.people-services-page .service-search,
.people-services-page .service-filter{
  min-height:38px!important;
  border-radius:13px!important;
  padding:9px 11px!important;
  font-size:.86rem!important;
}
.people-services-page textarea{
  min-height:70px!important;
}
.people-services-page .form-grid-2{
  gap:9px!important;
}
.people-services-page .service-filter-row,
.people-services-page .svc-toolbar{
  gap:8px!important;
}

/* Compact list rows */
.people-services-page .service-list{
  gap:8px!important;
  max-height:520px!important;
}
.people-services-page .service-list-row{
  border-radius:17px!important;
  padding:10px!important;
  gap:9px!important;
}
.people-services-page .svc-row-avatar{
  flex-basis:32px!important;
  width:32px!important;
  height:32px!important;
  border-radius:11px!important;
  font-size:.78rem!important;
}
.people-services-page .svc-row-title strong{font-size:.88rem!important;}
.people-services-page .svc-row-main p{font-size:.78rem!important;line-height:1.32!important;}
.people-services-page .svc-row-main small{font-size:.70rem!important;}
.people-services-page .svc-pill{
  padding:4px 8px!important;
  font-size:.65rem!important;
}
.people-services-page .secondary-button,
.people-services-page .gradient-small-button,
.people-services-page .premium-action-button{
  min-height:36px!important;
  border-radius:13px!important;
  padding:8px 12px!important;
  font-size:.78rem!important;
}

/* Leadership feedback cards: premium but smaller */
.leadership-feedback-grid{
  grid-template-columns:repeat(auto-fit,minmax(245px,1fr))!important;
  gap:10px!important;
}
.leadership-feedback-card{
  border-radius:18px!important;
  padding:12px!important;
  gap:9px!important;
}
.leader-avatar{
  width:38px!important;
  height:38px!important;
  border-radius:14px!important;
  font-size:.76rem!important;
}
.leader-card-top h3{font-size:.92rem!important;}
.leader-card-top p{font-size:.70rem!important;}
.leader-focus{font-size:.72rem!important;line-height:1.32!important;}
.leader-card-fields{gap:8px!important;}
.leadership-feedback-card textarea{min-height:62px!important;}

/* Expense/performance/analytics tables and review cards */
.people-services-page table,
.people-services-page .v77-analytics-table{
  font-size:.78rem!important;
}
.people-services-page th,
.people-services-page td{
  padding:8px 10px!important;
}
.people-services-page .v77-risk-grid,
.people-services-page .v77-kpi-grid{
  gap:10px!important;
}
.people-services-page .v77-person{min-width:170px!important;}

/* V83 hierarchy: smaller, denser, visually cleaner */
.v82-page-head{
  padding:12px 14px!important;
  border-radius:20px!important;
  min-height:auto!important;
}
.v82-page-head h1{
  font-size:clamp(20px,2vw,28px)!important;
  margin:2px 0!important;
}
.v82-page-head p{
  font-size:.78rem!important;
  line-height:1.35!important;
}
.v82-head-actions .secondary-button,
.v82-head-actions .gradient-small-button{
  min-height:34px!important;
  border-radius:12px!important;
  padding:7px 10px!important;
  font-size:.74rem!important;
}
.v82-mini-stats{
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important;
  gap:8px!important;
}
.v82-mini-stats article{
  min-height:58px!important;
  border-radius:16px!important;
  padding:9px 11px!important;
}
.v82-mini-stats span{font-size:.61rem!important;}
.v82-mini-stats strong{font-size:20px!important;}
.v82-chart{
  border-radius:22px!important;
  padding:12px!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(139,92,246,.12),transparent 30%),
    linear-gradient(180deg,rgba(9,14,31,.88),rgba(8,13,26,.78))!important;
}
.v82-leadership-chain{
  width:min(620px,100%)!important;
}
.v82-leadership-chain>i{
  height:11px!important;
}
.v82-leader-card{
  height:58px!important;
  border-radius:17px!important;
  padding:8px 10px!important;
  gap:9px!important;
}
.v82-avatar.leader{
  width:40px!important;
  height:40px!important;
  border-radius:14px!important;
  font-size:.78rem!important;
}
.v82-person-main h3{
  font-size:.98rem!important;
}
.v82-person-main p{
  font-size:.72rem!important;
  margin-top:2px!important;
}
.v82-leader-card>span{
  padding:5px 8px!important;
  font-size:.62rem!important;
}
.v82-divider{
  height:22px!important;
}
.v82-layer-head{
  margin:0 0 7px!important;
}
.v82-layer-head h2{
  font-size:.98rem!important;
}
.v82-layer-head p{
  font-size:.70rem!important;
}
.v82-senior-strip{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  gap:7px!important;
  margin-bottom:12px!important;
}
.v82-senior-chip{
  border-radius:14px!important;
  padding:7px 8px!important;
  gap:7px!important;
}
.v82-avatar.sm{
  width:30px!important;
  height:30px!important;
  border-radius:11px!important;
  font-size:.65rem!important;
}
.v82-senior-chip strong{
  font-size:.76rem!important;
}
.v82-senior-chip span{
  font-size:.63rem!important;
}
.v82-team-grid{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
  gap:8px!important;
}
.v82-team-card{
  border-radius:17px!important;
  padding:10px!important;
}
.v82-team-card header{
  margin-bottom:7px!important;
}
.v82-team-card small{
  font-size:.56rem!important;
}
.v82-team-card h4{
  font-size:.86rem!important;
}
.v82-team-card header strong{
  width:28px!important;
  height:28px!important;
  border-radius:11px!important;
  font-size:.78rem!important;
}
.v82-chip-grid{
  gap:5px!important;
}
.v82-employee-chip{
  height:28px!important;
  border-radius:11px!important;
  padding:3px 7px 3px 3px!important;
  gap:5px!important;
  font-size:.66rem!important;
}
.v82-avatar.xs{
  width:22px!important;
  height:22px!important;
  border-radius:8px!important;
  font-size:.56rem!important;
}

/* Prevent oversized rows on small screens */
@media(max-width:980px){
  .people-services-page .service-two-col,
  .people-services-page .service-two-col.wide-left{grid-template-columns:1fr!important;}
  .people-services-page .service-hero{align-items:flex-start!important;flex-direction:column!important;}
}
@media(max-width:640px){
  .people-services-page .service-card-grid{grid-template-columns:1fr 1fr!important;}
  .people-services-page .service-action-card{min-height:106px!important;padding:11px!important;}
  .people-services-page .service-action-card p{display:none!important;}
  .people-services-page .service-action-card h2{font-size:.86rem!important;}
  .people-services-page .service-tabs{padding:4px!important;}
  .people-services-page .service-tab{min-height:30px!important;font-size:11px!important;padding:7px 9px!important;}
  .v82-team-grid{grid-template-columns:1fr!important;}
  .v82-leader-card{grid-template-columns:auto 1fr!important;height:auto!important;min-height:56px!important;}
  .v82-leader-card>span{grid-column:1/-1;width:max-content!important;}
}
@media(max-width:430px){
  .people-services-page .service-card-grid{grid-template-columns:1fr!important;}
  .v82-mini-stats{grid-template-columns:1fr 1fr!important;}
}

/* =========================================================
   V84 FINAL POLISH: Management Briefing + Profile Drawer + Mobile
   ========================================================= */

/* Profile chip becomes a real button */
.top-user-card.profile-trigger-btn,
.top-user-card[role="button"]{
  appearance:none;
  border:1px solid rgba(148,163,184,.18);
  background:linear-gradient(135deg,rgba(15,23,42,.94),rgba(8,13,27,.86));
  color:inherit;
  cursor:pointer;
  border-radius:22px;
  padding:8px 11px 8px 8px;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:54px;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.top-user-card.profile-trigger-btn:hover,
.top-user-card[role="button"]:hover{
  transform:translateY(-1px);
  border-color:rgba(167,139,250,.46);
  box-shadow:0 18px 50px rgba(124,92,255,.18), inset 0 1px 0 rgba(255,255,255,.08);
  background:linear-gradient(135deg,rgba(31,41,75,.96),rgba(9,14,31,.9));
}
.top-user-card.profile-trigger-btn:focus-visible,
.top-user-card[role="button"]:focus-visible{
  outline:2px solid rgba(167,139,250,.75);
  outline-offset:3px;
}
.top-user-copy{display:flex;flex-direction:column;min-width:0;text-align:left;line-height:1.12;}
.top-user-copy strong{max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.profile-trigger-caret{opacity:.72;font-size:18px;margin-left:2px;}

/* Management Briefing replaces old ticker */
.briefing-ribbon.management-briefing-ribbon{
  height:auto!important;
  min-height:58px!important;
  padding:8px 18px!important;
  overflow:visible!important;
  background:
    linear-gradient(90deg,rgba(16,24,47,.96),rgba(35,25,78,.88),rgba(10,19,42,.96))!important;
  border-top:1px solid rgba(148,163,184,.13)!important;
  border-bottom:1px solid rgba(167,139,250,.20)!important;
  box-shadow:0 16px 46px rgba(0,0,0,.18)!important;
  gap:12px!important;
}
.management-briefing-ribbon .briefing-track{
  animation:none!important;
  transform:none!important;
  flex:1!important;
  min-width:0!important;
  width:100%!important;
  display:block!important;
}
.management-briefing-ribbon .ticker-group,
.management-briefing-ribbon .ticker-item,
.management-briefing-ribbon .ticker-separator{display:none!important;}
.management-briefing-card{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border:1px solid rgba(148,163,184,.16);
  border-radius:20px;
  padding:11px 14px;
  background:linear-gradient(135deg,rgba(15,23,42,.78),rgba(15,23,42,.44));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 14px 40px rgba(0,0,0,.18);
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.management-briefing-card:hover{
  transform:translateY(-1px);
  border-color:rgba(167,139,250,.46);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 18px 52px rgba(124,92,255,.14);
}
.management-briefing-card.high,.management-briefing-card.critical{background:linear-gradient(135deg,rgba(88,28,135,.34),rgba(15,23,42,.58));}
.management-briefing-card.medium{background:linear-gradient(135deg,rgba(30,64,175,.28),rgba(15,23,42,.58));}
.management-briefing-card.info{background:linear-gradient(135deg,rgba(14,116,144,.22),rgba(15,23,42,.58));}
.briefing-left{display:flex;align-items:center;gap:12px;min-width:0;}
.briefing-shield{
  width:38px;height:38px;border-radius:15px;display:grid;place-items:center;flex:0 0 auto;
  background:linear-gradient(135deg,rgba(124,92,255,.95),rgba(59,130,246,.88));
  box-shadow:0 14px 34px rgba(124,92,255,.30);
  color:#fff;font-weight:900;
}
.briefing-copy{min-width:0;}
.briefing-meta-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:3px;}
.briefing-meta-line strong{font-size:.92rem;color:#fff;}
.briefing-meta-line span:not(.briefing-priority){font-size:.70rem;color:#aeb8d6;}
.briefing-copy p{margin:0;color:#d9e1ff;font-size:.86rem;line-height:1.38;white-space:normal;}
.briefing-priority{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:.66rem;font-weight:900;letter-spacing:.02em;color:#fff;}
.briefing-priority.critical{background:rgba(239,68,68,.28);border:1px solid rgba(248,113,113,.38);}
.briefing-priority.high{background:rgba(168,85,247,.28);border:1px solid rgba(192,132,252,.38);}
.briefing-priority.medium{background:rgba(59,130,246,.24);border:1px solid rgba(96,165,250,.34);}
.briefing-priority.info{background:rgba(20,184,166,.20);border:1px solid rgba(45,212,191,.30);}
.briefing-right{display:flex;align-items:center;gap:12px;flex:0 0 auto;color:#aeb8d6;font-size:.76rem;}
.briefing-details-btn,#viewBriefingBtn{
  border:1px solid rgba(167,139,250,.35)!important;
  background:rgba(124,92,255,.16)!important;
  color:#f8fbff!important;
  border-radius:13px!important;
  min-height:34px!important;
  padding:8px 11px!important;
  font-weight:800!important;
  cursor:pointer!important;
}
.briefing-detail-card{
  display:grid;grid-template-columns:auto 1fr;gap:12px;padding:13px;border-radius:18px;
  border:1px solid rgba(148,163,184,.15);background:rgba(15,23,42,.70);margin-bottom:10px;
}
.briefing-detail-icon{width:34px;height:34px;border-radius:13px;display:grid;place-items:center;background:rgba(124,92,255,.22);color:#fff;font-weight:900;}
.briefing-detail-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:4px;}
.briefing-detail-title h4{margin:0;color:#fff;}
.briefing-detail-main p{margin:0 0 8px;color:#dbe5ff;line-height:1.42;}
.briefing-detail-meta{display:flex;gap:8px;flex-wrap:wrap;color:#9ba9c9;font-size:.74rem;}

/* V84 right drawer */
.profile-drawer-backdrop{
  position:fixed;inset:0;z-index:1200;background:rgba(2,6,23,.58);backdrop-filter:blur(10px);
  display:flex;justify-content:flex-end;align-items:stretch;
}
.profile-drawer-backdrop.hidden{display:none!important;}
.profile-drawer-panel{
  width:min(470px,100%);
  height:100%;
  background:linear-gradient(180deg,rgba(11,18,35,.98),rgba(5,10,22,.98));
  border-left:1px solid rgba(167,139,250,.25);
  box-shadow:-28px 0 80px rgba(0,0,0,.36);
  position:relative;
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(167,139,250,.55) rgba(15,23,42,.4);
  animation:v84DrawerIn .24s ease both;
}
@keyframes v84DrawerIn{from{transform:translateX(20px);opacity:.65}to{transform:translateX(0);opacity:1}}
.profile-drawer-close{
  position:sticky;top:14px;float:right;margin:14px 14px 0 0;z-index:3;width:38px;height:38px;border-radius:14px;
  border:1px solid rgba(148,163,184,.18);background:rgba(15,23,42,.82);color:#fff;font-size:22px;cursor:pointer;
}
.profile-drawer-content{padding:22px;display:flex;flex-direction:column;gap:13px;clear:both;}
.profile-drawer-loading{padding:28px;border:1px solid rgba(148,163,184,.16);border-radius:20px;color:#dbe5ff;background:rgba(15,23,42,.65);}
.profile-drawer-hero{
  display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:14px;border-radius:24px;
  border:1px solid rgba(167,139,250,.22);background:radial-gradient(circle at 0 0,rgba(124,92,255,.25),transparent 36%),rgba(15,23,42,.72);
}
.profile-hero-avatar .profile-photo,.profile-photo.xl,.profile-photo-fallback.xl{width:70px;height:70px;border-radius:24px;object-fit:cover;}
.profile-photo-fallback{display:grid;place-items:center;background:linear-gradient(135deg,#7c5cff,#3b82f6);color:#fff;font-weight:950;box-shadow:0 18px 42px rgba(124,92,255,.25);}
.profile-hero-copy h2{margin:2px 0 3px;color:#fff;font-size:1.32rem;}
.profile-hero-copy>span{color:#aeb8d6;font-size:.84rem;}
.profile-badge-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;}
.profile-badge-row em{font-style:normal;border:1px solid rgba(148,163,184,.16);background:rgba(15,23,42,.7);border-radius:999px;padding:5px 8px;color:#dbe5ff;font-size:.68rem;font-weight:800;}
.profile-drawer-section{border:1px solid rgba(148,163,184,.14);border-radius:22px;background:rgba(15,23,42,.58);padding:13px;}
.profile-drawer-section h3{margin:0 0 10px;color:#fff;font-size:.98rem;}
.profile-line-list{display:grid;gap:8px;}
.profile-line-list div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:14px;background:rgba(2,6,23,.32);border:1px solid rgba(148,163,184,.09);}
.profile-line-list span{font-size:.72rem;color:#98a7c6;}
.profile-line-list strong{font-size:.78rem;color:#f8fbff;text-align:right;}
.profile-line-list.compact div{padding:8px 9px;}
.profile-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.profile-snapshot-card{display:flex;align-items:center;gap:9px;border:1px solid rgba(148,163,184,.11);background:linear-gradient(135deg,rgba(30,41,59,.58),rgba(15,23,42,.48));border-radius:16px;padding:10px;min-width:0;}
.profile-snapshot-card>span{width:30px;height:30px;border-radius:12px;display:grid;place-items:center;background:rgba(124,92,255,.18);color:#c4b5fd;flex:0 0 auto;}
.profile-snapshot-card small{display:block;color:#93a2c2;font-size:.66rem;margin-bottom:2px;}
.profile-snapshot-card strong{display:block;color:#fff;font-size:.75rem;line-height:1.26;}
.profile-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.profile-quick-action,.profile-doc-button{
  border:1px solid rgba(167,139,250,.18);background:linear-gradient(135deg,rgba(30,41,59,.62),rgba(15,23,42,.55));
  border-radius:16px;color:#f8fbff;padding:10px;display:flex;align-items:center;gap:9px;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.profile-quick-action:hover,.profile-doc-button:hover{transform:translateY(-1px);border-color:rgba(167,139,250,.45);background:linear-gradient(135deg,rgba(67,56,202,.34),rgba(15,23,42,.65));}
.profile-quick-action span{width:28px;height:28px;border-radius:11px;display:grid;place-items:center;background:rgba(124,92,255,.18);color:#c4b5fd;}
.profile-quick-action strong{font-size:.76rem;}
.profile-doc-list,.profile-support-list{display:grid;gap:8px;}
.profile-doc-button{width:100%;justify-content:space-between;}
.profile-doc-button>span{width:30px;height:30px;border-radius:12px;display:grid;place-items:center;background:rgba(59,130,246,.18);color:#bfdbfe;flex:0 0 auto;}
.profile-doc-button div{min-width:0;flex:1;}
.profile-doc-button strong{display:block;font-size:.78rem;color:#fff;}
.profile-doc-button small{display:block;color:#99a8c8;font-size:.66rem;}
.profile-doc-button em{font-style:normal;font-size:.64rem;color:#c4b5fd;border:1px solid rgba(167,139,250,.18);border-radius:999px;padding:4px 7px;}
.profile-support-card{border:1px solid rgba(148,163,184,.11);background:rgba(2,6,23,.28);border-radius:16px;padding:10px;display:grid;gap:6px;}
.profile-support-card strong{display:block;color:#fff;font-size:.78rem;}
.profile-support-card span{display:block;color:#cbd5f5;font-size:.74rem;}
.profile-support-card small{display:block;color:#94a3c7;font-size:.68rem;line-height:1.32;}
.profile-support-card a{font-size:.70rem;color:#93c5fd;text-decoration:none;word-break:break-all;}
.profile-drawer-footer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
body.drawer-open{overflow:hidden;}

/* Stabilize hero quick buttons to prevent late-load layout jumping */
.hero-action-box,.v73-hero-action-box{min-height:132px;}
.hero-actions,.v54-source-actions{display:grid!important;grid-template-columns:repeat(2,minmax(130px,1fr));gap:9px!important;align-items:stretch;}
.hero-actions .secondary-button,.hero-actions .gradient-small-button,.hero-actions .v54-audit-test-btn{
  min-height:42px!important;height:auto!important;width:100%!important;justify-content:center!important;white-space:normal!important;text-align:center!important;
}
.v54-audit-test-btn{display:flex!important;align-items:center!important;gap:8px!important;}
.v54-audit-test-btn strong{font-size:.78rem!important;line-height:1.1!important;}
.v54-audit-test-btn span{font-size:.62rem!important;letter-spacing:.04em!important;}

/* Global mobile refinement */
@media(max-width:920px){
  .briefing-ribbon.management-briefing-ribbon{padding:7px 10px!important;min-height:56px!important;}
  .management-briefing-card{border-radius:17px;padding:10px;gap:10px;}
  .briefing-shield{width:34px;height:34px;border-radius:13px;}
  .briefing-copy p{font-size:.78rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .briefing-right span{display:none;}
  .briefing-details-btn,#viewBriefingBtn{min-height:32px!important;padding:7px 9px!important;font-size:.72rem!important;}
  .top-user-copy{display:none;}
  .profile-trigger-caret{display:none;}
  .top-user-card.profile-trigger-btn{min-height:46px;border-radius:18px;padding:7px;}
  .profile-drawer-panel{width:min(440px,96vw);}
  .profile-mini-grid{grid-template-columns:1fr 1fr;}
  .hero-actions,.v54-source-actions{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:640px){
  .briefing-ribbon.management-briefing-ribbon{padding:7px 8px!important;display:flex!important;}
  .management-briefing-card{align-items:flex-start;}
  .briefing-left{gap:9px;}
  .briefing-meta-line span:not(.briefing-priority){display:none;}
  .briefing-meta-line strong{font-size:.80rem;}
  .briefing-copy p{font-size:.73rem;}
  .briefing-right{align-self:center;}
  #viewBriefingBtn{display:none!important;}
  .profile-drawer-panel{width:100vw;border-left:0;}
  .profile-drawer-content{padding:16px 14px 92px;}
  .profile-drawer-hero{grid-template-columns:1fr;text-align:center;place-items:center;}
  .profile-badge-row{justify-content:center;}
  .profile-mini-grid,.profile-action-grid{grid-template-columns:1fr 1fr;}
  .profile-line-list div{align-items:flex-start;flex-direction:column;gap:3px;}
  .profile-line-list strong{text-align:left;}
  .hero-action-box,.v73-hero-action-box{min-height:auto;}
  .hero-actions,.v54-source-actions{grid-template-columns:1fr!important;}
}
@media(max-width:420px){
  .profile-mini-grid,.profile-action-grid{grid-template-columns:1fr;}
  .briefing-shield{display:none;}
  .management-briefing-card{padding:9px;}
}
@media(max-width:920px){
  .top-user-card.profile-trigger-btn .tiny-avatar{display:grid!important;}
  .top-user-card.profile-trigger-btn .top-user-copy{display:none!important;}
}

/* =========================================================
   V85 FIX: dashboard-only Management Briefing + no overlap
   ========================================================= */
body.app-page .main-app{
  display:flex!important;
  flex-direction:column!important;
  height:100vh!important;
  overflow:hidden!important;
  grid-template-rows:none!important;
}
body.app-page .topbar{
  flex:0 0 var(--topbar-h,74px)!important;
  min-height:var(--topbar-h,74px)!important;
}
body.app-page #announcementBanner:not(.hidden){
  flex:0 0 auto!important;
}
body.app-page .briefing-ribbon,
body.app-page .briefing-ribbon.management-briefing-ribbon,
body.app-page .briefing-ribbon.v85-legacy-briefing-hidden{
  display:none!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
body.app-page .dashboard-root{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-top:14px!important;
}
.v85-dashboard-briefing{
  grid-column:1 / -1!important;
  width:100%;
  min-height:58px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  position:relative;
  margin:0 0 4px!important;
  padding:10px 12px;
  border-radius:18px;
  border:1px solid rgba(167,139,250,.25);
  background:
    radial-gradient(circle at 0% 50%, rgba(124,92,255,.24), transparent 28%),
    linear-gradient(135deg, rgba(15,23,42,.88), rgba(17,24,45,.66));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 16px 40px rgba(0,0,0,.18);
  cursor:pointer;
  overflow:hidden;
  animation:v85BriefingIn .22s ease both;
}
.v85-dashboard-briefing::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg,#a78bfa,#60a5fa);
}
.v85-dashboard-briefing:hover{
  transform:translateY(-1px);
  border-color:rgba(196,181,253,.44);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 18px 48px rgba(124,92,255,.15);
}
@keyframes v85BriefingIn{from{opacity:.72;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.v85-dashboard-briefing.high,
.v85-dashboard-briefing.critical{background:radial-gradient(circle at 0% 50%,rgba(168,85,247,.25),transparent 30%),linear-gradient(135deg,rgba(35,18,62,.84),rgba(15,23,42,.72));}
.v85-dashboard-briefing.medium{background:radial-gradient(circle at 0% 50%,rgba(59,130,246,.22),transparent 30%),linear-gradient(135deg,rgba(22,39,78,.84),rgba(15,23,42,.72));}
.v85-dashboard-briefing.info{background:radial-gradient(circle at 0% 50%,rgba(20,184,166,.18),transparent 30%),linear-gradient(135deg,rgba(15,45,58,.78),rgba(15,23,42,.72));}
.v85-briefing-icon{
  width:36px;
  height:36px;
  border-radius:14px;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:16px;
  font-weight:950;
  background:linear-gradient(135deg,rgba(124,92,255,.95),rgba(59,130,246,.86));
  box-shadow:0 12px 28px rgba(124,92,255,.25);
}
.v85-briefing-main{min-width:0;}
.v85-briefing-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:2px;}
.v85-briefing-meta strong{color:#fff;font-size:.88rem;line-height:1.15;}
.v85-briefing-meta span:not(.v85-priority){color:#9fb0d5;font-size:.68rem;font-weight:800;}
.v85-briefing-main p{margin:0;color:#d9e3ff;font-size:.80rem;line-height:1.32;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v85-priority{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:.62rem;font-weight:950;letter-spacing:.02em;color:#fff;}
.v85-priority.critical{background:rgba(239,68,68,.25);border:1px solid rgba(248,113,113,.36);}
.v85-priority.high{background:rgba(168,85,247,.24);border:1px solid rgba(192,132,252,.35);}
.v85-priority.medium{background:rgba(59,130,246,.22);border:1px solid rgba(96,165,250,.34);}
.v85-priority.info{background:rgba(20,184,166,.18);border:1px solid rgba(45,212,191,.30);}
.v85-briefing-side{display:flex;align-items:center;gap:10px;color:#a7b4d2;font-size:.70rem;white-space:nowrap;}
.v85-briefing-side button{
  border:1px solid rgba(167,139,250,.30)!important;
  background:rgba(124,92,255,.15)!important;
  color:#f8fbff!important;
  border-radius:12px!important;
  min-height:32px!important;
  padding:6px 10px!important;
  font-size:.72rem!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.v85-briefing-dots{position:absolute;right:12px;bottom:5px;display:flex;gap:4px;}
.v85-briefing-dots i{width:5px;height:5px;border-radius:999px;background:rgba(148,163,184,.32);}
.v85-briefing-dots i.active{background:#a78bfa;box-shadow:0 0 12px rgba(167,139,250,.8);}
.v85-briefing-detail{display:grid;grid-template-columns:auto 1fr;gap:11px;border:1px solid rgba(148,163,184,.14);background:rgba(15,23,42,.68);border-radius:17px;padding:12px;margin-bottom:9px;}
.v85-detail-index{width:32px;height:32px;border-radius:12px;display:grid;place-items:center;background:rgba(124,92,255,.20);color:#fff;font-weight:950;}
.v85-detail-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px;}
.v85-detail-title h4{margin:0;color:#fff;font-size:.92rem;}
.v85-briefing-detail p{margin:0 0 7px;color:#dbe5ff;font-size:.82rem;line-height:1.42;}
.v85-detail-meta{display:flex;gap:8px;flex-wrap:wrap;color:#9ba9c9;font-size:.70rem;}

/* Hero button stability, no late jump */
.hero-action-box,.v73-hero-action-box{contain:layout paint;}
.hero-actions,.v54-source-actions{grid-auto-rows:minmax(42px,auto)!important;}
.hero-actions .secondary-button,.hero-actions .gradient-small-button,.hero-actions .v54-audit-test-btn{overflow:hidden!important;text-overflow:ellipsis!important;}

@media(max-width:920px){
  body.app-page .main-app{height:100dvh!important;}
  body.app-page .dashboard-root{padding:10px 12px 88px!important;}
  .v85-dashboard-briefing{
    grid-template-columns:auto minmax(0,1fr) auto;
    min-height:54px;
    border-radius:16px;
    padding:9px 10px;
    gap:9px;
  }
  .v85-briefing-icon{width:32px;height:32px;border-radius:12px;font-size:14px;}
  .v85-briefing-main p{white-space:normal;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:.74rem;}
  .v85-briefing-meta strong{font-size:.78rem;}
  .v85-briefing-meta span:not(.v85-priority){display:none;}
  .v85-briefing-side span{display:none;}
  .v85-briefing-side button{min-height:30px!important;padding:5px 8px!important;font-size:.68rem!important;}
}
@media(max-width:640px){
  body.app-page .dashboard-root{padding:9px 10px 96px!important;}
  .v85-dashboard-briefing{
    grid-template-columns:minmax(0,1fr) auto;
    min-height:auto;
    padding:9px 10px;
  }
  .v85-briefing-icon{display:none;}
  .v85-briefing-main p{-webkit-line-clamp:2;}
  .v85-briefing-dots{display:none;}
}
@media(max-width:420px){
  .v85-dashboard-briefing{border-radius:14px;}
  .v85-briefing-side button{font-size:0!important;width:32px!important;padding:0!important;}
  .v85-briefing-side button::before{content:"›";font-size:18px;}
}

/* =========================================================
   V87: V85 base + Apple Minimal Hero only
   Keeps V85 theme intact. No global theme rewrite.
   ========================================================= */
.selected-dashboard > .apple-minimal-hero-v87,
.hero-card.apple-minimal-hero-v87{
  grid-column:1 / -1!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  gap:18px 24px!important;
  min-height:210px!important;
  padding:26px 28px!important;
  border-radius:28px!important;
  border:1px solid rgba(148,163,184,.18)!important;
  background:
    radial-gradient(circle at 83% 22%, rgba(255,255,255,.075), transparent 25%),
    radial-gradient(circle at 10% 0%, rgba(124,92,255,.12), transparent 32%),
    linear-gradient(135deg, rgba(17,24,39,.88), rgba(7,12,22,.94))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.075),0 24px 62px rgba(0,0,0,.28)!important;
  overflow:hidden!important;
  contain:layout paint!important;
}
.apple-minimal-hero-v87::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:
    linear-gradient(120deg, transparent 0 42%, rgba(255,255,255,.035) 52%, transparent 68%),
    radial-gradient(circle at 96% 15%, rgba(255,255,255,.08), transparent 17%)!important;
  opacity:.95!important;
}
.apple-minimal-hero-v87::after{
  content:""!important;
  position:absolute!important;
  right:-90px!important;
  top:-120px!important;
  width:320px!important;
  height:320px!important;
  border-radius:50%!important;
  background:radial-gradient(circle, rgba(255,255,255,.08), rgba(124,92,255,.08) 36%, transparent 68%)!important;
  filter:blur(.2px)!important;
  pointer-events:none!important;
}
.apple-minimal-hero-v87 .v87-hero-copy{
  position:relative!important;
  z-index:2!important;
  min-width:0!important;
}
.apple-minimal-hero-v87 .eyebrow{
  margin:0 0 10px!important;
  color:#aeb8d6!important;
  font-size:.72rem!important;
  letter-spacing:.16em!important;
  font-weight:900!important;
  text-transform:uppercase!important;
}
.apple-minimal-hero-v87 h1{
  margin:0!important;
  display:grid!important;
  gap:5px!important;
  letter-spacing:-.045em!important;
  line-height:.98!important;
}
.apple-minimal-hero-v87 h1 span{
  color:#d7def1!important;
  font-size:clamp(1.18rem,1.3vw,1.58rem)!important;
  font-weight:750!important;
  letter-spacing:-.025em!important;
}
.apple-minimal-hero-v87 h1 strong{
  display:block!important;
  color:#f8fbff!important;
  font-size:clamp(2.05rem,4.4vw,4.25rem)!important;
  font-weight:950!important;
  letter-spacing:-.07em!important;
  line-height:.94!important;
  max-width:900px!important;
  white-space:normal!important;
}
.v87-hero-subline{
  margin:12px 0 0!important;
  max-width:640px!important;
  color:#95a3bf!important;
  font-size:.92rem!important;
  line-height:1.45!important;
}
.apple-minimal-hero-v87 .v87-hero-tags{
  margin-top:13px!important;
  gap:8px!important;
}
.apple-minimal-hero-v87 .v87-hero-tags .tag{
  min-height:30px!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  border:1px solid rgba(148,163,184,.16)!important;
  background:rgba(2,6,23,.34)!important;
  color:#d9e3ff!important;
  font-size:.72rem!important;
  font-weight:850!important;
  box-shadow:none!important;
}
.apple-minimal-hero-v87 .v87-hero-tags .active-tag{
  color:#c7f9dd!important;
  border-color:rgba(34,211,123,.26)!important;
  background:rgba(16,185,129,.12)!important;
}
.v87-hero-mark{
  position:relative!important;
  z-index:2!important;
  width:128px!important;
  height:128px!important;
  border-radius:34px!important;
  display:grid!important;
  place-items:center!important;
  align-self:start!important;
  margin-top:2px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.03))!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 20px 55px rgba(0,0,0,.28)!important;
}
.v87-hero-mark img{
  width:58px!important;
  height:58px!important;
  object-fit:contain!important;
  filter:brightness(0) invert(1) drop-shadow(0 12px 26px rgba(255,255,255,.12))!important;
  opacity:.94!important;
}
.apple-minimal-hero-v87 .v87-minimal-actions,
.apple-minimal-hero-v87 .hero-actions.v87-minimal-actions{
  position:relative!important;
  z-index:3!important;
  grid-column:1 / -1!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(120px,1fr))!important;
  grid-auto-rows:46px!important;
  gap:10px!important;
  align-items:stretch!important;
  margin-top:2px!important;
}
.apple-minimal-hero-v87 .v87-action-btn,
.apple-minimal-hero-v87 .hero-actions .v87-action-btn,
.apple-minimal-hero-v87 .hero-actions .secondary-button.v87-action-btn,
.apple-minimal-hero-v87 .hero-actions .gradient-small-button.v87-action-btn,
.apple-minimal-hero-v87 .hero-actions .v54-audit-test-btn.v87-action-btn{
  width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  height:46px!important;
  max-height:46px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:0 12px!important;
  border-radius:15px!important;
  border:1px solid rgba(148,163,184,.16)!important;
  background:linear-gradient(180deg,rgba(30,41,59,.62),rgba(15,23,42,.76))!important;
  color:#eef4ff!important;
  font-size:.78rem!important;
  font-weight:900!important;
  line-height:1!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055)!important;
}
.apple-minimal-hero-v87 .hero-actions .gradient-small-button.v87-action-btn{
  border-color:rgba(167,139,250,.26)!important;
  background:linear-gradient(135deg,rgba(124,92,255,.92),rgba(217,70,239,.84))!important;
  box-shadow:0 14px 34px rgba(124,92,255,.22)!important;
}
.apple-minimal-hero-v87 .v87-action-btn:hover{
  transform:translateY(-1px)!important;
  border-color:rgba(226,232,240,.28)!important;
  background:linear-gradient(180deg,rgba(45,56,76,.72),rgba(15,23,42,.82))!important;
}
.apple-minimal-hero-v87 .gradient-small-button.v87-action-btn:hover{
  background:linear-gradient(135deg,rgba(139,92,246,.98),rgba(217,70,239,.94))!important;
}
.apple-minimal-hero-v87 .v87-action-btn span{
  display:inline-flex!important;
  width:22px!important;
  height:22px!important;
  border-radius:9px!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  background:rgba(255,255,255,.08)!important;
  color:#dbe5ff!important;
  font-size:.66rem!important;
  font-weight:950!important;
  letter-spacing:.02em!important;
}
.apple-minimal-hero-v87 .v87-action-btn strong{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:.78rem!important;
  line-height:1!important;
}
.apple-minimal-hero-v87 .v87-action-btn em{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:18px!important;
  height:18px!important;
  border-radius:999px!important;
  padding:0 5px!important;
  background:#ef4444!important;
  color:#fff!important;
  font-size:.62rem!important;
  font-style:normal!important;
  font-weight:950!important;
}
.apple-minimal-hero-v87 .v54-audit-test-btn span{
  width:auto!important;
  min-width:42px!important;
  padding:0 7px!important;
}

@media(max-width:1180px){
  .apple-minimal-hero-v87 .v87-minimal-actions,
  .apple-minimal-hero-v87 .hero-actions.v87-minimal-actions{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:920px){
  .selected-dashboard > .apple-minimal-hero-v87,
  .hero-card.apple-minimal-hero-v87{
    grid-template-columns:1fr!important;
    min-height:auto!important;
    padding:22px!important;
    gap:16px!important;
    border-radius:24px!important;
  }
  .v87-hero-mark{
    position:absolute!important;
    right:18px!important;
    top:18px!important;
    width:74px!important;
    height:74px!important;
    border-radius:22px!important;
    opacity:.72!important;
  }
  .v87-hero-mark img{width:34px!important;height:34px!important;}
  .apple-minimal-hero-v87 .v87-hero-copy{padding-right:82px!important;}
  .apple-minimal-hero-v87 h1 strong{font-size:clamp(2.1rem,9vw,3.4rem)!important;}
  .apple-minimal-hero-v87 .v87-minimal-actions,
  .apple-minimal-hero-v87 .hero-actions.v87-minimal-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:44px!important;
  }
  .apple-minimal-hero-v87 .v87-action-btn,
  .apple-minimal-hero-v87 .hero-actions .v87-action-btn{
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
  }
}
@media(max-width:560px){
  .selected-dashboard > .apple-minimal-hero-v87,
  .hero-card.apple-minimal-hero-v87{
    padding:18px!important;
    border-radius:22px!important;
  }
  .v87-hero-mark{display:none!important;}
  .apple-minimal-hero-v87 .v87-hero-copy{padding-right:0!important;}
  .apple-minimal-hero-v87 h1 span{font-size:1.05rem!important;}
  .apple-minimal-hero-v87 h1 strong{font-size:clamp(1.9rem,11vw,2.7rem)!important;}
  .v87-hero-subline{font-size:.80rem!important;margin-top:9px!important;}
  .apple-minimal-hero-v87 .v87-hero-tags .tag{font-size:.64rem!important;min-height:28px!important;padding:6px 9px!important;}
  .apple-minimal-hero-v87 .v87-minimal-actions,
  .apple-minimal-hero-v87 .hero-actions.v87-minimal-actions{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .apple-minimal-hero-v87 .v87-action-btn strong{font-size:.72rem!important;}
}
@media(max-width:380px){
  .apple-minimal-hero-v87 .v87-minimal-actions,
  .apple-minimal-hero-v87 .hero-actions.v87-minimal-actions{grid-template-columns:1fr!important;}
}

/* =========================================================
   V88 FINAL HERO + MANAGEMENT BRIEFING POLISH
   Source-level refinement over V85/V87: compact hero, no cut buttons,
   dashboard-only premium briefing dock, mobile-safe layout.
   ========================================================= */
body.app-page .briefing-ribbon,
body.app-page .briefing-ribbon.management-briefing-ribbon,
body.app-page .briefing-ribbon.v88-legacy-briefing-hidden,
body.app-page .briefing-ribbon.v85-legacy-briefing-hidden{
  display:none!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}

/* Premium Management Briefing: compact, dashboard only */
.v88-dashboard-briefing{
  grid-column:1 / -1!important;
  width:100%!important;
  min-height:66px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:13px!important;
  position:relative!important;
  padding:12px 14px!important;
  margin:0 0 8px!important;
  border-radius:24px!important;
  overflow:hidden!important;
  cursor:pointer!important;
  border:1px solid rgba(210,218,235,.14)!important;
  background:
    radial-gradient(circle at 12% -20%,rgba(255,255,255,.075),transparent 34%),
    radial-gradient(circle at 86% 110%,rgba(124,92,255,.16),transparent 35%),
    linear-gradient(135deg,rgba(15,23,42,.94),rgba(7,11,22,.96))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.075),0 18px 54px rgba(0,0,0,.30)!important;
  animation:v88BriefingEnter .24s ease both!important;
}
.v88-dashboard-briefing::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(255,255,255,.08),transparent 24%,transparent 76%,rgba(255,255,255,.05))!important;
  opacity:.34!important;
  pointer-events:none!important;
}
.v88-dashboard-briefing::after{
  content:""!important;
  position:absolute!important;
  left:14px!important;
  right:14px!important;
  bottom:0!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,rgba(191,178,255,.50),rgba(147,197,253,.34),transparent)!important;
  pointer-events:none!important;
}
.v88-dashboard-briefing.high,
.v88-dashboard-briefing.critical{
  background:
    radial-gradient(circle at 14% -25%,rgba(168,85,247,.22),transparent 38%),
    radial-gradient(circle at 95% 115%,rgba(236,72,153,.13),transparent 36%),
    linear-gradient(135deg,rgba(18,20,38,.96),rgba(9,12,25,.98))!important;
}
.v88-dashboard-briefing.medium{
  background:
    radial-gradient(circle at 12% -25%,rgba(59,130,246,.18),transparent 36%),
    linear-gradient(135deg,rgba(14,23,43,.96),rgba(8,12,24,.98))!important;
}
.v88-dashboard-briefing.info{
  background:
    radial-gradient(circle at 12% -25%,rgba(20,184,166,.14),transparent 36%),
    linear-gradient(135deg,rgba(13,23,37,.96),rgba(8,12,24,.98))!important;
}
.v88-briefing-orb{
  position:relative!important;
  z-index:2!important;
  width:42px!important;
  height:42px!important;
  border-radius:16px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg,rgba(124,92,255,.94),rgba(59,130,246,.78))!important;
  box-shadow:0 14px 34px rgba(124,92,255,.28),inset 0 1px 0 rgba(255,255,255,.18)!important;
  color:#fff!important;
  font-weight:950!important;
}
.v88-briefing-orb span{display:block;animation:v88OrbPulse 2.7s ease-in-out infinite;}
.v88-briefing-content{position:relative!important;z-index:2!important;min-width:0!important;}
.v88-briefing-kicker{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  margin-bottom:3px!important;
  color:#aeb8d6!important;
  font-size:.68rem!important;
  line-height:1!important;
}
.v88-briefing-kicker strong{
  color:#f8fbff!important;
  font-size:.75rem!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
}
.v88-priority{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:20px!important;
  padding:3px 8px!important;
  border-radius:999px!important;
  font-size:.62rem!important;
  font-weight:950!important;
  color:#fff!important;
  letter-spacing:.02em!important;
}
.v88-priority.critical{background:rgba(239,68,68,.24)!important;border:1px solid rgba(248,113,113,.34)!important;}
.v88-priority.high{background:rgba(168,85,247,.24)!important;border:1px solid rgba(196,181,253,.34)!important;}
.v88-priority.medium{background:rgba(59,130,246,.22)!important;border:1px solid rgba(147,197,253,.30)!important;}
.v88-priority.info{background:rgba(20,184,166,.18)!important;border:1px solid rgba(94,234,212,.28)!important;}
.v88-briefing-headline{
  min-width:0!important;
  animation:v88HeadlineSwap .28s ease both!important;
}
.v88-briefing-headline h3{
  margin:0!important;
  color:#f8fbff!important;
  font-size:.96rem!important;
  line-height:1.16!important;
  letter-spacing:-.018em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.v88-briefing-headline p{
  margin:3px 0 0!important;
  color:#b9c5de!important;
  font-size:.78rem!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.v88-briefing-actions{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex:0 0 auto!important;
}
.v88-briefing-actions small{
  color:#9aa8c4!important;
  font-size:.68rem!important;
  white-space:nowrap!important;
}
.v88-briefing-actions button{
  min-height:34px!important;
  border:1px solid rgba(210,218,235,.16)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035))!important;
  color:#f8fbff!important;
  border-radius:999px!important;
  padding:7px 13px!important;
  font-weight:900!important;
  font-size:.73rem!important;
  cursor:pointer!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.v88-briefing-actions button:hover{border-color:rgba(196,181,253,.42)!important;background:rgba(124,92,255,.15)!important;}
.v88-briefing-dots{
  position:absolute!important;
  right:18px!important;
  bottom:8px!important;
  display:flex!important;
  gap:4px!important;
  z-index:3!important;
}
.v88-briefing-dots i{
  width:5px!important;
  height:5px!important;
  border-radius:999px!important;
  background:rgba(148,163,184,.30)!important;
}
.v88-briefing-dots i.active{background:rgba(196,181,253,.95)!important;width:14px!important;}
.v88-briefing-detail{
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  gap:12px!important;
  padding:13px!important;
  border-radius:18px!important;
  border:1px solid rgba(148,163,184,.15)!important;
  background:rgba(15,23,42,.72)!important;
  margin-bottom:10px!important;
}
.v88-detail-index{width:34px;height:34px;border-radius:13px;display:grid;place-items:center;background:rgba(124,92,255,.22);color:#fff;font-weight:950;}
.v88-detail-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px;}
.v88-detail-title h4{margin:0;color:#fff;font-size:.92rem;}
.v88-briefing-detail p{margin:0 0 8px;color:#dbe5ff;font-size:.82rem;line-height:1.42;}
.v88-detail-meta{display:flex;gap:8px;flex-wrap:wrap;color:#9ba9c9;font-size:.70rem;}
@keyframes v88BriefingEnter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@keyframes v88HeadlineSwap{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@keyframes v88OrbPulse{0%,100%{transform:scale(1);opacity:.95}50%{transform:scale(1.08);opacity:1}}

/* Compact Apple Minimal Hero V88 */
.selected-dashboard > .apple-minimal-hero-v88,
.hero-card.apple-minimal-hero-v88{
  grid-column:1 / -1!important;
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(330px,420px)!important;
  align-items:center!important;
  gap:18px!important;
  min-height:178px!important;
  height:auto!important;
  max-height:none!important;
  padding:18px 20px!important;
  border-radius:24px!important;
  border:1px solid rgba(210,218,235,.14)!important;
  background:
    radial-gradient(circle at 88% 6%,rgba(255,255,255,.08),transparent 26%),
    radial-gradient(circle at 5% 0%,rgba(124,92,255,.11),transparent 34%),
    linear-gradient(135deg,rgba(15,23,42,.92),rgba(7,11,22,.96))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 18px 50px rgba(0,0,0,.26)!important;
  overflow:hidden!important;
  contain:layout paint!important;
}
.apple-minimal-hero-v88::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:linear-gradient(120deg,transparent 0 48%,rgba(255,255,255,.032) 56%,transparent 72%)!important;
}
.apple-minimal-hero-v88::after{
  content:""!important;
  position:absolute!important;
  right:-80px!important;
  top:-95px!important;
  width:230px!important;
  height:230px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(255,255,255,.085),rgba(124,92,255,.065) 45%,transparent 70%)!important;
  pointer-events:none!important;
}
.v88-hero-copy{position:relative!important;z-index:2!important;min-width:0!important;}
.v88-hero-topline{display:flex!important;align-items:center!important;gap:9px!important;margin-bottom:8px!important;}
.v88-apple-dot{
  width:28px!important;
  height:28px!important;
  border-radius:11px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.04))!important;
  border:1px solid rgba(255,255,255,.10)!important;
  flex:0 0 auto!important;
}
.v88-apple-dot img{width:15px!important;height:15px!important;object-fit:contain!important;filter:brightness(0) invert(1)!important;opacity:.92!important;}
.apple-minimal-hero-v88 .eyebrow{
  margin:0!important;
  color:#aeb8d6!important;
  font-size:.66rem!important;
  letter-spacing:.15em!important;
  font-weight:950!important;
  text-transform:uppercase!important;
}
.apple-minimal-hero-v88 h1{
  margin:0!important;
  display:grid!important;
  gap:3px!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
}
.apple-minimal-hero-v88 h1 span{
  color:#d7def1!important;
  font-size:clamp(1rem,1.2vw,1.26rem)!important;
  font-weight:760!important;
  letter-spacing:-.02em!important;
}
.apple-minimal-hero-v88 h1 strong{
  color:#f8fbff!important;
  font-size:clamp(2rem,3.2vw,3.25rem)!important;
  font-weight:950!important;
  line-height:.95!important;
  max-width:760px!important;
  white-space:normal!important;
}
.v88-hero-subline{
  margin:8px 0 0!important;
  max-width:620px!important;
  color:#9aa8c4!important;
  font-size:.82rem!important;
  line-height:1.35!important;
}
.apple-minimal-hero-v88 .v88-hero-tags{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin-top:10px!important;
}
.apple-minimal-hero-v88 .v88-hero-tags .tag{
  min-height:26px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  border:1px solid rgba(148,163,184,.14)!important;
  background:rgba(2,6,23,.30)!important;
  color:#d9e3ff!important;
  font-size:.66rem!important;
  font-weight:850!important;
  box-shadow:none!important;
}
.apple-minimal-hero-v88 .v88-hero-tags .active-tag{
  color:#c7f9dd!important;
  border-color:rgba(34,211,123,.26)!important;
  background:rgba(16,185,129,.12)!important;
}
.apple-minimal-hero-v88 .v88-minimal-actions,
.apple-minimal-hero-v88 .hero-actions.v88-minimal-actions{
  position:relative!important;
  z-index:3!important;
  grid-column:auto!important;
  width:100%!important;
  max-width:none!important;
  right:auto!important;
  bottom:auto!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:38px!important;
  gap:8px!important;
  align-self:center!important;
  align-items:stretch!important;
}
.apple-minimal-hero-v88 .v88-action-btn,
.apple-minimal-hero-v88 .hero-actions .v88-action-btn,
.apple-minimal-hero-v88 .hero-actions .secondary-button.v88-action-btn,
.apple-minimal-hero-v88 .hero-actions .gradient-small-button.v88-action-btn,
.apple-minimal-hero-v88 .hero-actions .v54-audit-test-btn.v88-action-btn{
  width:100%!important;
  min-width:0!important;
  min-height:38px!important;
  height:38px!important;
  max-height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:0 10px!important;
  border-radius:14px!important;
  border:1px solid rgba(148,163,184,.14)!important;
  background:linear-gradient(180deg,rgba(30,41,59,.58),rgba(15,23,42,.72))!important;
  color:#eef4ff!important;
  font-size:.72rem!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.apple-minimal-hero-v88 .hero-actions .gradient-small-button.v88-action-btn{
  border-color:rgba(167,139,250,.25)!important;
  background:linear-gradient(135deg,rgba(124,92,255,.88),rgba(217,70,239,.76))!important;
  box-shadow:0 12px 28px rgba(124,92,255,.18)!important;
}
.apple-minimal-hero-v88 .v88-action-btn:hover{transform:translateY(-1px)!important;border-color:rgba(226,232,240,.24)!important;}
.apple-minimal-hero-v88 .v88-action-btn span{
  display:inline-flex!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  border-radius:8px!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  background:rgba(255,255,255,.08)!important;
  color:#dbe5ff!important;
  font-size:.60rem!important;
  font-weight:950!important;
  letter-spacing:.02em!important;
}
.apple-minimal-hero-v88 .v88-action-btn strong{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:.72rem!important;
  line-height:1!important;
}
.apple-minimal-hero-v88 .v88-action-btn em{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:17px!important;
  height:17px!important;
  border-radius:999px!important;
  padding:0 5px!important;
  background:#ef4444!important;
  color:#fff!important;
  font-size:.58rem!important;
  font-style:normal!important;
  font-weight:950!important;
}
.apple-minimal-hero-v88 .v54-audit-test-btn span{width:auto!important;min-width:36px!important;padding:0 6px!important;}

@media(max-width:1180px){
  .selected-dashboard > .apple-minimal-hero-v88,
  .hero-card.apple-minimal-hero-v88{
    grid-template-columns:minmax(0,1fr) minmax(290px,360px)!important;
    min-height:170px!important;
    padding:17px 18px!important;
  }
  .apple-minimal-hero-v88 h1 strong{font-size:clamp(1.9rem,3vw,2.75rem)!important;}
}
@media(max-width:920px){
  .v88-dashboard-briefing{
    min-height:58px!important;
    border-radius:18px!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    padding:10px 11px!important;
    gap:9px!important;
  }
  .v88-briefing-orb{width:34px!important;height:34px!important;border-radius:13px!important;}
  .v88-briefing-headline h3{font-size:.82rem!important;}
  .v88-briefing-headline p{font-size:.72rem!important;display:-webkit-box!important;-webkit-line-clamp:1!important;-webkit-box-orient:vertical!important;white-space:normal!important;}
  .v88-briefing-kicker span:not(.v88-priority){display:none!important;}
  .v88-briefing-actions small{display:none!important;}
  .v88-briefing-actions button{min-height:30px!important;padding:5px 9px!important;font-size:.68rem!important;}
  .selected-dashboard > .apple-minimal-hero-v88,
  .hero-card.apple-minimal-hero-v88{
    grid-template-columns:1fr!important;
    min-height:auto!important;
    padding:18px!important;
    border-radius:22px!important;
    gap:14px!important;
  }
  .apple-minimal-hero-v88 h1 strong{font-size:clamp(2rem,8vw,3rem)!important;}
  .apple-minimal-hero-v88 .v88-minimal-actions,
  .apple-minimal-hero-v88 .hero-actions.v88-minimal-actions{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-rows:38px!important;
  }
}
@media(max-width:640px){
  .v88-dashboard-briefing{
    grid-template-columns:minmax(0,1fr) auto!important;
    padding:10px!important;
  }
  .v88-briefing-orb{display:none!important;}
  .v88-briefing-kicker strong{font-size:.68rem!important;}
  .v88-briefing-headline h3{font-size:.78rem!important;}
  .v88-briefing-headline p{-webkit-line-clamp:2!important;font-size:.70rem!important;}
  .v88-briefing-dots{display:none!important;}
  .v88-briefing-actions button{font-size:0!important;width:32px!important;padding:0!important;border-radius:12px!important;}
  .v88-briefing-actions button::before{content:"›";font-size:18px;}
  .selected-dashboard > .apple-minimal-hero-v88,
  .hero-card.apple-minimal-hero-v88{padding:16px!important;border-radius:20px!important;}
  .apple-minimal-hero-v88 .v88-hero-tags .tag{font-size:.61rem!important;min-height:25px!important;padding:5px 8px!important;}
  .apple-minimal-hero-v88 .v88-minimal-actions,
  .apple-minimal-hero-v88 .hero-actions.v88-minimal-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;}
  .apple-minimal-hero-v88 .v88-action-btn strong{font-size:.68rem!important;}
}
@media(max-width:380px){
  .apple-minimal-hero-v88 .v88-minimal-actions,
  .apple-minimal-hero-v88 .hero-actions.v88-minimal-actions{grid-template-columns:1fr!important;}
}

/* =========================================================
   V89 Source-Level Glass Premium Finish
   Base: V88 stable build. Purpose: darker premium glass feel,
   compact hero, glass action buttons, dashboard-only briefing.
   ========================================================= */
:root{
  --v89-bg:#02040a;
  --v89-bg2:#050814;
  --v89-panel:rgba(9,14,26,.82);
  --v89-panel-2:rgba(13,20,35,.74);
  --v89-glass:rgba(16,24,42,.58);
  --v89-glass-strong:rgba(22,30,50,.72);
  --v89-border:rgba(203,213,225,.13);
  --v89-border-strong:rgba(196,181,253,.30);
  --v89-text:#f8fbff;
  --v89-muted:#9ca8bf;
  --v89-purple:#8b5cf6;
  --v89-violet:#a855f7;
  --v89-blue:#4f8cff;
  --v89-glow:0 22px 70px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.08);
}
body.app-page{
  background:
    radial-gradient(circle at 80% -14%,rgba(139,92,246,.16),transparent 28%),
    radial-gradient(circle at 9% 18%,rgba(79,140,255,.08),transparent 24%),
    linear-gradient(180deg,#02040a 0%,#050814 44%,#03050b 100%)!important;
}
.app-page .sidebar,
.app-page .topbar,
.app-page .main-app{
  background-color:rgba(2,4,10,.84)!important;
}
.app-page .sidebar{
  background:linear-gradient(180deg,rgba(8,13,25,.96),rgba(3,6,14,.98))!important;
  border-right:1px solid rgba(203,213,225,.10)!important;
  box-shadow:20px 0 70px rgba(0,0,0,.20)!important;
}
.app-page .topbar{
  background:linear-gradient(180deg,rgba(4,8,18,.96),rgba(3,6,14,.94))!important;
  border-bottom:1px solid rgba(203,213,225,.10)!important;
}
.app-page .dashboard-root{
  background:
    radial-gradient(circle at 92% 12%,rgba(139,92,246,.08),transparent 24%),
    radial-gradient(circle at 12% 38%,rgba(79,140,255,.045),transparent 25%),
    transparent!important;
}

/* glass panels across the app */
.app-page .section-card,
.app-page .metric-card,
.app-page .glass-card,
.app-page .team-panel,
.app-page .private-vault,
.app-page .people-card,
.app-page .people-panel,
.app-page .people-service-card,
.app-page .hub-card,
.app-page .compact-card,
.app-page .v73-timesheet-card,
.app-page .expense-card,
.app-page .performance-card,
.app-page .analytics-card,
.app-page .hierarchy-card,
.app-page .workstream-card,
.app-page .quick-action-card,
.app-page .employee-tile,
.app-page .spotlight-card{
  background:
    linear-gradient(145deg,rgba(18,26,43,.64),rgba(7,11,21,.82))!important;
  border:1px solid rgba(203,213,225,.11)!important;
  box-shadow:var(--v89-glow)!important;
  backdrop-filter:blur(18px) saturate(1.18)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.18)!important;
}
.app-page .section-card:hover,
.app-page .metric-card:hover,
.app-page .glass-card:hover,
.app-page .people-card:hover,
.app-page .quick-action-card:hover,
.app-page .hierarchy-card:hover{
  border-color:rgba(196,181,253,.22)!important;
  box-shadow:0 24px 80px rgba(0,0,0,.48),0 0 0 1px rgba(139,92,246,.06),inset 0 1px 0 rgba(255,255,255,.10)!important;
}

/* dark glass controls/buttons - app-wide, without changing login semantics */
.app-page .secondary-button,
.app-page .gradient-small-button,
.app-page .danger-button,
.app-page .side-link,
.app-page .notification-button,
.app-page .top-profile-button,
.app-page .profile-drawer-button,
.app-page .people-tab,
.app-page .hub-tab,
.app-page .tab-button,
.app-page .v88-action-btn,
.app-page .v89-glass-btn,
.app-page button:not(.icon-button):not(.menu-button):not(.logout-link){
  border:1px solid rgba(203,213,225,.12)!important;
  background:
    linear-gradient(180deg,rgba(28,36,58,.54),rgba(9,14,27,.72))!important;
  color:#f4f7ff!important;
  box-shadow:0 14px 34px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.08)!important;
  backdrop-filter:blur(16px) saturate(1.22)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.22)!important;
}
.app-page .gradient-small-button,
.app-page .gradient-button,
.app-page .v89-glass-actions .gradient-small-button,
.app-page .v89-glass-btn.gradient-small-button{
  border-color:rgba(196,181,253,.28)!important;
  background:
    radial-gradient(circle at 20% 0%,rgba(255,255,255,.26),transparent 28%),
    linear-gradient(135deg,rgba(139,92,246,.92),rgba(168,85,247,.86) 52%,rgba(79,140,255,.74))!important;
  box-shadow:0 16px 45px rgba(139,92,246,.26),inset 0 1px 0 rgba(255,255,255,.18)!important;
}
.app-page .secondary-button:hover,
.app-page .gradient-small-button:hover,
.app-page .side-link:hover,
.app-page .v89-glass-btn:hover,
.app-page .top-profile-button:hover,
.app-page button:not(.icon-button):not(.menu-button):not(.logout-link):hover{
  transform:translateY(-1px)!important;
  border-color:rgba(196,181,253,.30)!important;
  filter:brightness(1.06)!important;
}
.app-page .side-link.active{
  background:
    linear-gradient(135deg,rgba(139,92,246,.54),rgba(79,140,255,.22))!important;
  border-color:rgba(196,181,253,.34)!important;
  box-shadow:0 14px 38px rgba(139,92,246,.18),inset 0 1px 0 rgba(255,255,255,.12)!important;
}
.app-page .search-shell,
.app-page .input-shell,
.app-page input,
.app-page select,
.app-page textarea{
  background:linear-gradient(180deg,rgba(17,24,39,.62),rgba(5,10,20,.70))!important;
  border-color:rgba(203,213,225,.12)!important;
  color:#f8fbff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}
.app-page input::placeholder,
.app-page textarea::placeholder{color:#77839a!important;}
.app-page input:focus,
.app-page select:focus,
.app-page textarea:focus,
.app-page .search-shell:focus-within,
.app-page .input-shell:focus-within{
  outline:none!important;
  border-color:rgba(167,139,250,.42)!important;
  box-shadow:0 0 0 3px rgba(139,92,246,.12),inset 0 1px 0 rgba(255,255,255,.08)!important;
}

/* V89 compact glass hero */
.selected-dashboard > .apple-glass-hero-v89,
.hero-card.apple-glass-hero-v89{
  grid-column:1 / -1!important;
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(300px,390px)!important;
  align-items:center!important;
  gap:18px!important;
  min-height:178px!important;
  height:auto!important;
  max-height:none!important;
  padding:18px 20px!important;
  border-radius:26px!important;
  border:1px solid rgba(226,232,240,.14)!important;
  background:
    radial-gradient(circle at 88% 20%,rgba(255,255,255,.10),transparent 22%),
    radial-gradient(circle at 74% 42%,rgba(139,92,246,.20),transparent 30%),
    linear-gradient(135deg,rgba(17,24,39,.68),rgba(4,8,17,.88) 62%,rgba(3,6,14,.96))!important;
  box-shadow:0 28px 90px rgba(0,0,0,.50),inset 0 1px 0 rgba(255,255,255,.12),inset 0 -1px 0 rgba(255,255,255,.035)!important;
  backdrop-filter:blur(22px) saturate(1.22)!important;
  -webkit-backdrop-filter:blur(22px) saturate(1.22)!important;
  overflow:hidden!important;
}
.apple-glass-hero-v89::before{
  content:""!important;
  position:absolute!important;
  inset:1px!important;
  border-radius:25px!important;
  background:
    linear-gradient(120deg,rgba(255,255,255,.06),transparent 30% 66%,rgba(139,92,246,.08)),
    radial-gradient(circle at 93% 52%,rgba(255,255,255,.07),transparent 21%)!important;
  pointer-events:none!important;
}
.apple-glass-hero-v89::after{
  content:""!important;
  position:absolute!important;
  right:24px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:146px!important;
  height:146px!important;
  border-radius:44px!important;
  background:
    radial-gradient(circle at 35% 22%,rgba(255,255,255,.24),transparent 25%),
    linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.035))!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 20px 60px rgba(0,0,0,.34)!important;
  opacity:.58!important;
  pointer-events:none!important;
}
.apple-glass-hero-v89 .v88-apple-dot,
.apple-glass-hero-v89 .v88-hero-copy,
.apple-glass-hero-v89 .v89-glass-actions{position:relative!important;z-index:3!important;}
.apple-glass-hero-v89 h1 strong{font-size:clamp(2.05rem,3vw,3.05rem)!important;letter-spacing:-.055em!important;}
.apple-glass-hero-v89 .v88-hero-subline{max-width:560px!important;color:#a7b2c8!important;font-size:.82rem!important;}
.apple-glass-hero-v89 .v88-hero-tags .tag{
  background:rgba(8,13,24,.45)!important;
  border-color:rgba(203,213,225,.13)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}
.apple-glass-hero-v89 .v89-glass-actions,
.apple-glass-hero-v89 .hero-actions.v89-glass-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:42px!important;
  gap:9px!important;
  align-self:center!important;
  width:100%!important;
  max-width:360px!important;
  justify-self:end!important;
  padding:10px!important;
  border-radius:22px!important;
  background:rgba(4,8,18,.38)!important;
  border:1px solid rgba(226,232,240,.10)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 18px 54px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}
.apple-glass-hero-v89 .v89-glass-btn,
.apple-glass-hero-v89 .hero-actions .v89-glass-btn{
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  padding:0 11px!important;
  border-radius:15px!important;
  font-size:.72rem!important;
  gap:7px!important;
  background:linear-gradient(180deg,rgba(30,41,59,.52),rgba(7,12,23,.74))!important;
  border:1px solid rgba(203,213,225,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 12px 26px rgba(0,0,0,.20)!important;
}
.apple-glass-hero-v89 .v89-glass-btn span{
  background:rgba(255,255,255,.09)!important;
  border:1px solid rgba(255,255,255,.08)!important;
}
.apple-glass-hero-v89 .v89-glass-btn strong{font-size:.72rem!important;}
.apple-glass-hero-v89 .gradient-small-button.v89-glass-btn{
  background:
    radial-gradient(circle at 20% 0%,rgba(255,255,255,.26),transparent 28%),
    linear-gradient(135deg,rgba(139,92,246,.92),rgba(217,70,239,.80))!important;
  border-color:rgba(216,180,254,.34)!important;
}
.apple-glass-hero-v89 .v54-audit-test-btn.v89-glass-btn span{min-width:34px!important;width:auto!important;}

/* V89 premium management briefing glass dock */
.v89-legacy-briefing-hidden,
.briefing-ribbon.v89-legacy-briefing-hidden{display:none!important;height:0!important;overflow:hidden!important;}
.v89-dashboard-briefing{
  grid-column:1 / -1!important;
  position:relative!important;
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:13px!important;
  min-height:76px!important;
  padding:14px 16px!important;
  border-radius:24px!important;
  overflow:hidden!important;
  cursor:pointer!important;
  border:1px solid rgba(216,180,254,.18)!important;
  background:
    radial-gradient(circle at 8% 0%,rgba(139,92,246,.20),transparent 36%),
    radial-gradient(circle at 94% 20%,rgba(79,140,255,.12),transparent 25%),
    linear-gradient(135deg,rgba(16,24,43,.70),rgba(4,8,17,.91))!important;
  box-shadow:0 22px 70px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.10)!important;
  backdrop-filter:blur(22px) saturate(1.25)!important;
  -webkit-backdrop-filter:blur(22px) saturate(1.25)!important;
  animation:v89BriefingIn .32s ease both!important;
}
.v89-dashboard-briefing::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(139,92,246,.72),rgba(79,140,255,.18),transparent 42%)!important;
  opacity:.18!important;
  pointer-events:none!important;
}
.v89-dashboard-briefing::after{
  content:""!important;
  position:absolute!important;
  left:0!important;top:0!important;bottom:0!important;width:3px!important;
  background:linear-gradient(180deg,#a78bfa,#60a5fa)!important;
  box-shadow:0 0 24px rgba(167,139,250,.60)!important;
}
.v89-briefing-glow{position:absolute!important;right:10%!important;top:-55%!important;width:190px!important;height:190px!important;border-radius:50%!important;background:radial-gradient(circle,rgba(139,92,246,.22),transparent 65%)!important;pointer-events:none!important;}
.v89-briefing-icon{position:relative!important;z-index:2!important;width:46px!important;height:46px!important;border-radius:17px!important;display:grid!important;place-items:center!important;background:linear-gradient(145deg,rgba(139,92,246,.56),rgba(79,140,255,.22))!important;border:1px solid rgba(216,180,254,.26)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 14px 38px rgba(139,92,246,.18)!important;}
.v89-briefing-icon span{font-size:20px!important;color:#f4efff!important;text-shadow:0 0 18px rgba(216,180,254,.8)!important;}
.v89-briefing-main,.v89-briefing-side{position:relative!important;z-index:2!important;min-width:0!important;}
.v89-briefing-meta{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;margin-bottom:4px!important;}
.v89-briefing-meta strong{font-size:.72rem!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#c8b7ff!important;}
.v89-briefing-meta span{font-size:.68rem!important;color:#98a6bd!important;font-weight:800!important;}
.v89-priority{border-radius:999px!important;padding:3px 7px!important;line-height:1!important;border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.07)!important;color:#f5f3ff!important;text-transform:uppercase!important;letter-spacing:.045em!important;font-size:.60rem!important;font-weight:950!important;}
.v89-priority.high,.v89-priority.critical{background:rgba(139,92,246,.24)!important;border-color:rgba(216,180,254,.28)!important;color:#efe8ff!important;}
.v89-priority.medium{background:rgba(59,130,246,.16)!important;border-color:rgba(96,165,250,.24)!important;color:#dbeafe!important;}
.v89-briefing-headline{animation:v89HeadlineSoft .36s ease both!important;}
.v89-briefing-headline h3{margin:0 0 3px!important;color:#f8fbff!important;font-size:1rem!important;letter-spacing:-.03em!important;line-height:1.12!important;}
.v89-briefing-headline p{margin:0!important;color:#b8c2d6!important;font-size:.78rem!important;line-height:1.36!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:min(760px,54vw)!important;}
.v89-briefing-side{display:grid!important;justify-items:end!important;gap:8px!important;}
.v89-briefing-side small{color:#8997ad!important;font-size:.67rem!important;font-weight:750!important;white-space:nowrap!important;}
.v89-briefing-side button{height:34px!important;border-radius:14px!important;padding:0 13px!important;font-size:.72rem!important;}
.v89-briefing-side button span{display:inline-block!important;transition:transform .18s ease!important;}
.v89-dashboard-briefing:hover .v89-briefing-side button span{transform:translateX(2px)!important;}
.v89-briefing-dots{position:absolute!important;right:18px!important;bottom:8px!important;display:flex!important;gap:5px!important;z-index:3!important;}
.v89-briefing-dots i{width:6px!important;height:6px!important;border-radius:999px!important;background:rgba(255,255,255,.20)!important;}
.v89-briefing-dots i.active{background:#a78bfa!important;box-shadow:0 0 14px rgba(167,139,250,.75)!important;}
.v89-briefing-detail{grid-template-columns:38px 1fr!important;border-radius:18px!important;background:linear-gradient(145deg,rgba(17,24,39,.70),rgba(5,10,20,.86))!important;border:1px solid rgba(203,213,225,.12)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;}
.v89-detail-index{width:32px!important;height:32px!important;border-radius:13px!important;background:linear-gradient(135deg,rgba(139,92,246,.42),rgba(79,140,255,.20))!important;}
.v89-detail-title h4{font-size:.92rem!important;color:#fff!important;}
.v89-briefing-detail p{font-size:.80rem!important;color:#c3cee2!important;}
.v89-detail-meta{font-size:.68rem!important;color:#8f9db4!important;}
@keyframes v89BriefingIn{from{opacity:0;transform:translateY(-8px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes v89HeadlineSoft{from{opacity:.25;transform:translateY(5px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}

@media(max-width:1180px){
  .selected-dashboard > .apple-glass-hero-v89,
  .hero-card.apple-glass-hero-v89{grid-template-columns:minmax(0,1fr) minmax(280px,340px)!important;}
  .apple-glass-hero-v89::after{width:128px!important;height:128px!important;right:18px!important;}
}
@media(max-width:920px){
  .v89-dashboard-briefing{grid-template-columns:40px minmax(0,1fr) auto!important;min-height:66px!important;padding:12px!important;border-radius:20px!important;gap:10px!important;}
  .v89-briefing-icon{width:40px!important;height:40px!important;border-radius:15px!important;}
  .v89-briefing-headline h3{font-size:.88rem!important;}
  .v89-briefing-headline p{font-size:.72rem!important;max-width:54vw!important;}
  .v89-briefing-meta span:not(.v89-priority){display:none!important;}
  .v89-briefing-side small{display:none!important;}
  .v89-briefing-side button{height:31px!important;padding:0 10px!important;}
  .selected-dashboard > .apple-glass-hero-v89,
  .hero-card.apple-glass-hero-v89{grid-template-columns:1fr!important;min-height:auto!important;padding:17px!important;}
  .apple-glass-hero-v89::after{display:none!important;}
  .apple-glass-hero-v89 .v89-glass-actions,.apple-glass-hero-v89 .hero-actions.v89-glass-actions{justify-self:stretch!important;max-width:none!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:640px){
  .app-page .dashboard-root{padding:12px!important;}
  .v89-dashboard-briefing{grid-template-columns:minmax(0,1fr) auto!important;min-height:auto!important;}
  .v89-briefing-icon{display:none!important;}
  .v89-briefing-headline p{white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;max-width:none!important;}
  .v89-briefing-side button{font-size:0!important;width:34px!important;padding:0!important;}
  .v89-briefing-side button::after{content:"›";font-size:18px!important;}
  .v89-briefing-dots{display:none!important;}
  .apple-glass-hero-v89 h1 strong{font-size:clamp(2rem,8vw,2.75rem)!important;}
  .apple-glass-hero-v89 .v89-glass-actions,.apple-glass-hero-v89 .hero-actions.v89-glass-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:40px!important;padding:8px!important;border-radius:18px!important;}
  .apple-glass-hero-v89 .v89-glass-btn,.apple-glass-hero-v89 .hero-actions .v89-glass-btn{height:40px!important;min-height:40px!important;max-height:40px!important;font-size:.68rem!important;}
  .apple-glass-hero-v89 .v89-glass-btn strong{font-size:.68rem!important;}
}
@media(max-width:380px){
  .apple-glass-hero-v89 .v89-glass-actions,.apple-glass-hero-v89 .hero-actions.v89-glass-actions{grid-template-columns:1fr!important;}
}

/* V90 Mobile Module Navigation Fix
   Desktop UI remains untouched. These controls render only below 920px. */
.mobile-module-sheet {
  display: none;
}

@media (max-width: 920px) {
  body.mobile-module-lock {
    overflow: hidden !important;
    height: 100dvh !important;
  }

  .mobile-bottom-nav {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    padding: 6px calc(6px + env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) calc(6px + env(safe-area-inset-left)) !important;
  }

  .mobile-nav-btn {
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
  }

  .mobile-nav-btn:focus-visible,
  .mobile-module-close:focus-visible,
  .mobile-module-grid button:focus-visible {
    outline: 2px solid rgba(255,255,255,.72) !important;
    outline-offset: 2px !important;
  }

  .mobile-nav-btn[data-action="modules"].active {
    color: #fff !important;
    background: linear-gradient(180deg, rgba(77, 141, 255, .26), rgba(124, 92, 255, .12)) !important;
    border: 1px solid rgba(124, 167, 255, .18) !important;
  }

  .mobile-module-sheet:not(.hidden) {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1400 !important;
    display: grid !important;
    align-items: end !important;
    padding: 0 10px calc(10px + env(safe-area-inset-bottom)) !important;
    background: rgba(2, 6, 14, .68) !important;
    backdrop-filter: blur(14px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(130%) !important;
  }

  .mobile-module-panel {
    width: min(100%, 560px) !important;
    max-height: min(78dvh, 680px) !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    border-radius: 28px 28px 22px 22px !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    background:
      radial-gradient(circle at 50% -8%, rgba(255,255,255,.11), transparent 35%),
      linear-gradient(180deg, rgba(17, 24, 39, .98), rgba(5, 10, 20, .98)) !important;
    box-shadow: 0 30px 90px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.08) !important;
  }

  .mobile-module-handle {
    width: 42px !important;
    height: 4px !important;
    margin: 10px auto 6px !important;
    border-radius: 999px !important;
    background: rgba(226, 232, 240, .38) !important;
  }

  .mobile-module-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding: 10px 16px 12px !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
  }

  .mobile-module-head p {
    margin: 0 0 3px !important;
    color: #9fb0c9 !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
  }

  .mobile-module-head h2 {
    margin: 0 !important;
    color: #f8fafc !important;
    font-size: 18px !important;
    line-height: 1.1 !important;
    letter-spacing: -.03em !important;
  }

  .mobile-module-close {
    width: 38px !important;
    height: 38px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.07) !important;
    color: #f8fafc !important;
    font-size: 24px !important;
    line-height: 1 !important;
    cursor: pointer !important;
  }

  .mobile-module-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 12px 12px 16px !important;
    max-height: calc(min(78dvh, 680px) - 84px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
  }

  .mobile-module-grid button {
    min-height: 72px !important;
    display: grid !important;
    grid-template-columns: 34px minmax(0,1fr) !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    column-gap: 10px !important;
    row-gap: 2px !important;
    padding: 12px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
    color: #f8fafc !important;
    text-align: left !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .mobile-module-grid button span {
    grid-row: 1 / 3 !important;
    width: 34px !important;
    height: 34px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 13px !important;
    background: rgba(124,92,255,.14) !important;
    color: #dcd5ff !important;
    font-size: 17px !important;
  }

  .mobile-module-grid button strong {
    min-width: 0 !important;
    color: #f8fafc !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .mobile-module-grid button small {
    min-width: 0 !important;
    color: #93a4bc !important;
    font-size: 10.5px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .mobile-module-grid button.active {
    border-color: rgba(125, 167, 255, .36) !important;
    background: linear-gradient(180deg, rgba(77,141,255,.20), rgba(124,92,255,.11)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 10px 28px rgba(77,141,255,.10) !important;
  }

  .mobile-module-grid button.active span {
    color: #fff !important;
    background: linear-gradient(135deg, rgba(124,92,255,.92), rgba(77,141,255,.82)) !important;
  }
}

@media (max-width: 380px) {
  .mobile-nav-btn small {
    font-size: 9px !important;
  }

  .mobile-module-grid {
    grid-template-columns: 1fr !important;
  }

  .mobile-module-grid button {
    min-height: 66px !important;
  }
}

/* =========================================================
   V91 SOURCE-LEVEL FINISHING
   - Compact management briefing glass dock
   - Compact latest-notification UI
   - Mobile-safe without changing desktop layout structure
   ========================================================= */
body.app-page .v89-dashboard-briefing{
  min-height:54px!important;
  grid-template-columns:34px minmax(0,1fr) auto!important;
  gap:9px!important;
  padding:9px 11px!important;
  border-radius:18px!important;
  border-color:rgba(203,213,225,.14)!important;
  background:
    radial-gradient(circle at 8% -10%,rgba(255,255,255,.10),transparent 30%),
    radial-gradient(circle at 92% 120%,rgba(99,102,241,.16),transparent 34%),
    linear-gradient(135deg,rgba(17,24,39,.58),rgba(5,10,20,.86))!important;
  box-shadow:0 12px 36px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
body.app-page .v89-dashboard-briefing::after{width:2px!important;box-shadow:0 0 14px rgba(167,139,250,.38)!important;}
body.app-page .v89-briefing-glow{width:118px!important;height:118px!important;top:-48%!important;right:8%!important;opacity:.72!important;}
body.app-page .v89-briefing-icon{width:34px!important;height:34px!important;border-radius:13px!important;}
body.app-page .v89-briefing-icon span{font-size:15px!important;}
body.app-page .v89-briefing-meta{gap:6px!important;margin-bottom:2px!important;}
body.app-page .v89-briefing-meta strong{font-size:.61rem!important;letter-spacing:.14em!important;color:#d9d2ff!important;}
body.app-page .v89-briefing-meta span:not(.v89-priority){font-size:.60rem!important;color:#8d9ab0!important;}
body.app-page .v89-priority{padding:2px 6px!important;font-size:.52rem!important;}
body.app-page .v89-briefing-headline h3{font-size:.82rem!important;line-height:1.12!important;margin-bottom:1px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
body.app-page .v89-briefing-headline p{font-size:.66rem!important;line-height:1.22!important;max-width:min(690px,50vw)!important;}
body.app-page .v89-briefing-side{gap:4px!important;}
body.app-page .v89-briefing-side small{font-size:.56rem!important;color:#8390a7!important;}
body.app-page .v89-briefing-side button,
body.app-page .v91-briefing-glass-button{
  height:28px!important;
  min-height:28px!important;
  border-radius:999px!important;
  padding:0 10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  font-size:.64rem!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  color:#f8fafc!important;
  border:1px solid rgba(226,232,240,.16)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.04))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 8px 22px rgba(0,0,0,.22)!important;
}
body.app-page .v91-briefing-glass-button b{font-style:normal;font-size:.86rem;line-height:1;opacity:.82;}
body.app-page .v89-briefing-dots{right:12px!important;bottom:5px!important;gap:3px!important;}
body.app-page .v89-briefing-dots i{width:4px!important;height:4px!important;}

/* compact top notification button */
body.app-page .notification-button{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border-radius:13px!important;
  font-size:15px!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 34px!important;
}
body.app-page .notification-button #notificationCount{
  top:-4px!important;
  right:-4px!important;
  min-width:15px!important;
  height:15px!important;
  padding:0 4px!important;
  font-size:8px!important;
  line-height:15px!important;
}
body.app-page .notification-button #notificationCount.hidden{display:none!important;}

/* latest notifications: compact card list */
.v91-notification-center{padding:18px!important;}
.v91-notification-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px;}
.v91-notification-head h1{margin:0!important;}
.v91-notification-summary{min-width:92px;border:1px solid rgba(203,213,225,.12);border-radius:18px;padding:10px 12px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));text-align:right;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);}
.v91-notification-summary strong{display:block;color:#fff;font-size:1.3rem;line-height:1;font-weight:950;}
.v91-notification-summary span{display:block;color:#c4b5fd;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-top:3px;}
.v91-notification-summary small{display:block;color:#8d99ae;font-size:.63rem;margin-top:5px;}
.v91-notification-list,
#notificationList.briefing-list{display:grid!important;gap:8px!important;padding:10px 14px 14px!important;}
.v91-notification-item{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:flex-start;padding:10px;border-radius:16px;border:1px solid rgba(203,213,225,.11);background:linear-gradient(145deg,rgba(17,24,39,.70),rgba(5,10,20,.82));box-shadow:inset 0 1px 0 rgba(255,255,255,.055);}
.v91-notification-item.unread{border-color:rgba(167,139,250,.24);background:linear-gradient(145deg,rgba(30,27,75,.58),rgba(6,10,22,.88));}
.v91-notification-icon{width:30px;height:30px;border-radius:12px;display:grid;place-items:center;background:rgba(139,92,246,.16);color:#ddd6fe;font-weight:950;font-size:.82rem;}
.v91-notification-copy{min-width:0;}
.v91-notification-title{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;}
.v91-notification-title h4{margin:0!important;color:#f8fafc!important;font-size:.82rem!important;line-height:1.18!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v91-notification-title span{flex:0 0 auto;color:#8d99ae;font-size:.64rem;font-weight:850;}
.v91-notification-copy p{margin:3px 0 4px!important;color:#b9c5d8!important;font-size:.70rem!important;line-height:1.32!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.v91-notification-copy small{color:#8f9bb1;font-size:.62rem;font-weight:800;}
.v91-notification-item.read{opacity:.78;}
.v91-empty-notifications{padding:14px;border-radius:16px;border:1px dashed rgba(203,213,225,.14);background:rgba(15,23,42,.45);display:grid;gap:4px;color:#94a3b8;}
.v91-empty-notifications strong{color:#f8fafc;font-size:.86rem;}
.v91-empty-notifications span{font-size:.72rem;}

#notificationsModal .premium-modal,
#notificationsModal .briefing-modal{width:min(520px,calc(100vw - 22px))!important;}
#notificationsModal .modal-header{padding:14px 16px 10px!important;}
#notificationsModal .modal-header h2{font-size:1rem!important;}
#notificationsModal .modal-header p{font-size:.72rem!important;}

@media(max-width:920px){
  body.app-page .v89-dashboard-briefing{min-height:48px!important;grid-template-columns:30px minmax(0,1fr) auto!important;padding:8px 9px!important;border-radius:16px!important;gap:8px!important;}
  body.app-page .v89-briefing-icon{width:30px!important;height:30px!important;border-radius:12px!important;}
  body.app-page .v89-briefing-icon span{font-size:13px!important;}
  body.app-page .v89-briefing-headline h3{font-size:.76rem!important;}
  body.app-page .v89-briefing-headline p{font-size:.62rem!important;max-width:46vw!important;white-space:nowrap!important;display:block!important;}
  body.app-page .v89-briefing-side small{display:none!important;}
  body.app-page .v89-briefing-side button{height:26px!important;min-height:26px!important;padding:0 8px!important;font-size:.58rem!important;}
  body.app-page .notification-button{width:32px!important;height:32px!important;min-width:32px!important;border-radius:12px!important;}
}
@media(max-width:640px){
  body.app-page .v89-dashboard-briefing{grid-template-columns:minmax(0,1fr) auto!important;min-height:44px!important;padding:8px 9px!important;margin-bottom:6px!important;}
  body.app-page .v89-briefing-meta strong{font-size:.56rem!important;}
  body.app-page .v89-briefing-meta .v89-priority{display:none!important;}
  body.app-page .v89-briefing-headline h3{font-size:.72rem!important;}
  body.app-page .v89-briefing-headline p{font-size:.60rem!important;line-height:1.15!important;max-width:none!important;-webkit-line-clamp:1!important;white-space:nowrap!important;}
  body.app-page .v89-briefing-side button{width:28px!important;height:28px!important;min-height:28px!important;padding:0!important;font-size:0!important;}
  body.app-page .v89-briefing-side button span{display:none!important;}
  body.app-page .v89-briefing-side button b{font-size:16px!important;}
  .v91-notification-center{padding:14px!important;}
  .v91-notification-head{align-items:stretch;margin-bottom:10px;}
  .v91-notification-summary{min-width:74px;padding:8px 9px;border-radius:15px;}
  .v91-notification-summary strong{font-size:1.05rem;}
  .v91-notification-summary small{display:none;}
  .v91-notification-list,#notificationList.briefing-list{gap:7px!important;padding:8px 10px 12px!important;}
  .v91-notification-item{grid-template-columns:28px minmax(0,1fr);padding:9px;border-radius:15px;}
  .v91-notification-icon{width:28px;height:28px;border-radius:11px;font-size:.76rem;}
  .v91-notification-title h4{font-size:.78rem!important;}
  .v91-notification-copy p{-webkit-line-clamp:2;font-size:.67rem!important;}
}

/* =========================================================
   V92 Availability Referral / Invite + Premium Button Effects
   Source-level finish. Keeps desktop structure intact; enhances Availability only.
   ========================================================= */
.v92-project-opportunity-panel{
  position:relative;
  overflow:hidden;
  border-color:rgba(183,196,255,.16)!important;
  background:
    radial-gradient(circle at 6% 0%,rgba(139,92,246,.18),transparent 34%),
    radial-gradient(circle at 100% 6%,rgba(56,189,248,.12),transparent 34%),
    linear-gradient(145deg,rgba(13,18,34,.76),rgba(7,12,24,.68))!important;
  box-shadow:0 24px 70px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.v92-project-opportunity-panel:before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(135deg,rgba(196,181,253,.22),rgba(56,189,248,.12),rgba(255,255,255,.04));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}
.v92-opportunity-head{align-items:center!important;gap:12px!important;}
.v92-opportunity-head h2{letter-spacing:-.035em!important;}
.v92-opportunity-head p{max-width:720px;}
.v92-opportunity-counter{
  flex:0 0 auto;
  display:inline-grid;
  place-items:center;
  min-height:34px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(167,139,250,.22);
  background:linear-gradient(135deg,rgba(139,92,246,.18),rgba(14,165,233,.10));
  color:#e9efff;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.v92-opportunity-split{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.v92-opportunity-section{
  min-width:0;
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  padding:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.026));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 14px 34px rgba(0,0,0,.16);
}
.v92-opportunity-section.referral{background:radial-gradient(circle at 0% 0%,rgba(124,92,255,.18),transparent 42%),linear-gradient(180deg,rgba(255,255,255,.062),rgba(255,255,255,.024));}
.v92-opportunity-section.invite{background:radial-gradient(circle at 100% 0%,rgba(56,189,248,.16),transparent 42%),linear-gradient(180deg,rgba(255,255,255,.062),rgba(255,255,255,.024));}
.v92-opportunity-section header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.v92-opportunity-section header span{
  display:block;
  color:rgba(218,226,255,.58);
  font-size:11px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.v92-opportunity-section header strong{
  display:block;
  margin-top:3px;
  color:#fff;
  font-size:26px;
  line-height:1;
  letter-spacing:-.04em;
}
.v92-opportunity-section header small{
  color:rgba(218,226,255,.60);
  font-weight:700;
  text-align:right;
  line-height:1.35;
}
.v92-opportunity-list{display:grid;gap:10px;margin-top:12px;}
.v92-opportunity-empty{
  min-height:118px;
  display:grid;
  place-items:center;
  text-align:center;
  border:1px dashed rgba(196,181,253,.16);
  border-radius:18px;
  padding:15px;
  background:rgba(255,255,255,.026);
  color:rgba(218,226,255,.58);
  font-weight:750;
  line-height:1.45;
}
.v92-opportunity-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:stretch;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  padding:13px;
  background:linear-gradient(145deg,rgba(18,24,43,.82),rgba(9,14,27,.78));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 12px 28px rgba(0,0,0,.18);
}
.v92-opportunity-row.is-pending{border-color:rgba(129,157,255,.18);}
.v92-opportunity-row.is-closed{opacity:.78;}
.v92-opportunity-main{min-width:0;}
.v92-opportunity-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.v92-opportunity-topline strong{
  min-width:0;
  color:#fff;
  font-size:15px;
  letter-spacing:-.02em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v92-opportunity-row p{margin:8px 0 10px!important;color:rgba(218,226,255,.70)!important;font-size:12.5px;line-height:1.45;}
.v92-opportunity-meta{display:flex;flex-wrap:wrap;gap:7px;}
.v92-opportunity-meta span{
  display:inline-flex;
  gap:4px;
  align-items:center;
  min-height:25px;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.052);
  border:1px solid rgba(255,255,255,.075);
  color:rgba(218,226,255,.58);
  font-size:11px;
  font-weight:800;
}
.v92-opportunity-meta b{color:#f8fbff;}
.v92-opportunity-actions{display:grid;grid-template-columns:1fr;gap:8px;align-content:center;min-width:98px;}
.v92-opportunity-actions button{width:100%;min-height:36px!important;border-radius:14px!important;font-size:12px!important;padding:0 12px!important;}
.v92-opportunity-actions button:disabled{opacity:.45;cursor:not-allowed;filter:saturate(.4);}
.v92-accept-btn{background:linear-gradient(135deg,rgba(34,197,94,.90),rgba(14,165,233,.72))!important;border-color:rgba(34,197,94,.24)!important;}
.v92-reject-btn{background:linear-gradient(145deg,rgba(255,107,122,.14),rgba(15,23,42,.72))!important;}

/* Premium tactile interaction for portal buttons: subtle desktop-safe lift + click press */
.app-page button,
.app-page .secondary-button,
.app-page .gradient-small-button,
.app-page .danger-button,
.app-page .side-link,
.app-page .top-profile-button,
.app-page .notification-button,
.app-page .profile-drawer-button{
  position:relative;
  overflow:hidden;
  will-change:transform, box-shadow, filter;
  transition:transform .18s cubic-bezier(.2,.8,.2,1), box-shadow .18s ease, border-color .18s ease, filter .18s ease!important;
}
.app-page button:not(:disabled):active,
.app-page .secondary-button:not(:disabled):active,
.app-page .gradient-small-button:not(:disabled):active,
.app-page .danger-button:not(:disabled):active,
.app-page .side-link:not(:disabled):active,
.app-page .top-profile-button:not(:disabled):active,
.app-page .notification-button:not(:disabled):active,
.app-page .profile-drawer-button:not(:disabled):active{
  transform:translateY(1px) scale(.985)!important;
  filter:brightness(1.13) saturate(1.08)!important;
  box-shadow:0 7px 18px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.16), inset 0 0 22px rgba(168,85,247,.16)!important;
}
.app-page button:not(:disabled)::after,
.app-page .secondary-button:not(:disabled)::after,
.app-page .gradient-small-button:not(:disabled)::after,
.app-page .danger-button:not(:disabled)::after,
.app-page .side-link:not(:disabled)::after,
.app-page .top-profile-button:not(:disabled)::after,
.app-page .notification-button:not(:disabled)::after,
.app-page .profile-drawer-button:not(:disabled)::after{
  content:"";
  position:absolute;
  inset:-45% auto auto -70%;
  width:55%;
  height:190%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
  transform:rotate(22deg) translateX(-120%);
  transition:transform .42s ease;
  pointer-events:none;
}
.app-page button:not(:disabled):hover::after,
.app-page .secondary-button:not(:disabled):hover::after,
.app-page .gradient-small-button:not(:disabled):hover::after,
.app-page .danger-button:not(:disabled):hover::after,
.app-page .side-link:not(:disabled):hover::after,
.app-page .top-profile-button:not(:disabled):hover::after,
.app-page .notification-button:not(:disabled):hover::after,
.app-page .profile-drawer-button:not(:disabled):hover::after{
  transform:rotate(22deg) translateX(370%);
}
.app-page button:focus-visible,
.app-page .secondary-button:focus-visible,
.app-page .gradient-small-button:focus-visible,
.app-page .danger-button:focus-visible{
  outline:0!important;
  box-shadow:0 0 0 3px rgba(139,92,246,.26),0 14px 34px rgba(0,0,0,.28)!important;
}

@media(max-width:900px){
  .v92-opportunity-head{align-items:flex-start!important;flex-direction:column;}
  .v92-opportunity-counter{width:max-content;}
  .v92-opportunity-split{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .v92-project-opportunity-panel{border-radius:22px!important;padding:14px!important;}
  .v92-opportunity-section{padding:12px;border-radius:20px;}
  .v92-opportunity-section header{align-items:flex-start;flex-direction:column;}
  .v92-opportunity-section header small{text-align:left;}
  .v92-opportunity-row{grid-template-columns:1fr;padding:12px;border-radius:18px;}
  .v92-opportunity-topline{align-items:flex-start;flex-direction:column;}
  .v92-opportunity-actions{grid-template-columns:1fr 1fr;min-width:0;}
  .v92-opportunity-actions button{min-height:38px!important;}
}

/* =========================================================
   V93 Notification Count + Mobile Modal Scroll Finish
   Source-level fix for unread count, compact fit, and touch scrolling.
   ========================================================= */
#notificationsModal.modal-backdrop{
  overflow:hidden!important;
  overscroll-behavior:contain!important;
}
#notificationsModal .premium-modal,
#notificationsModal .briefing-modal{
  display:flex!important;
  flex-direction:column!important;
  width:min(560px,calc(100vw - 24px))!important;
  max-height:min(720px,calc(100dvh - 24px))!important;
  min-height:360px!important;
  overflow:hidden!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,rgba(12,18,34,.98),rgba(4,9,18,.98))!important;
  border:1px solid rgba(203,213,225,.15)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.08)!important;
}
#notificationsModal .modal-header{
  flex:0 0 auto!important;
  position:sticky!important;
  top:0!important;
  z-index:4!important;
  background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(8,13,25,.94))!important;
  border-bottom:1px solid rgba(203,213,225,.11)!important;
}
#notificationsModal .modal-close{
  z-index:8!important;
}
#notificationList.briefing-list{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:calc(100dvh - 130px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
  padding:10px 14px 16px!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(148,163,184,.38) transparent!important;
}
#notificationList.briefing-list::-webkit-scrollbar{width:6px!important;}
#notificationList.briefing-list::-webkit-scrollbar-thumb{background:rgba(148,163,184,.38)!important;border-radius:999px!important;}
.v93-notification-countbar{
  position:sticky;
  top:0;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  padding:8px;
  margin:0 0 8px;
  border:1px solid rgba(203,213,225,.12);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(124,92,255,.16),rgba(15,23,42,.86));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 28px rgba(0,0,0,.22);
  backdrop-filter:blur(12px);
}
.v93-notification-countbar div{
  min-width:0;
  border-radius:14px;
  padding:7px 8px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.06);
}
.v93-notification-countbar strong{display:block;color:#fff;font-size:1.08rem;line-height:1;font-weight:950;}
.v93-notification-countbar span{display:block;margin-top:3px;color:#c4b5fd;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v93-notification-countbar small{grid-column:1/-1;color:#94a3b8;font-size:.66rem;font-weight:800;padding:0 2px 1px;}
.v93-title-count{
  display:inline-grid;
  place-items:center;
  min-width:20px;
  height:20px;
  padding:0 6px;
  margin-left:6px;
  border-radius:999px;
  color:#fff;
  font-size:.68rem;
  font-weight:950;
  background:linear-gradient(135deg,rgba(124,92,255,.95),rgba(59,130,246,.88));
  box-shadow:0 8px 18px rgba(79,70,229,.28);
  vertical-align:middle;
}
#notificationsModal .v91-notification-item{
  transform:translateZ(0);
}
@media(max-width:640px){
  body.v93-notification-modal-open{overflow:hidden!important;}
  #notificationsModal.modal-backdrop{
    align-items:flex-end!important;
    justify-content:center!important;
    padding:0 8px max(8px,env(safe-area-inset-bottom))!important;
  }
  #notificationsModal .premium-modal,
  #notificationsModal .briefing-modal{
    width:100%!important;
    max-width:none!important;
    min-height:58dvh!important;
    max-height:86dvh!important;
    border-radius:24px 24px 0 0!important;
    margin:0!important;
  }
  #notificationsModal .modal-header{
    padding:13px 48px 10px 14px!important;
  }
  #notificationsModal .modal-icon{width:30px!important;height:30px!important;border-radius:12px!important;font-size:.82rem!important;}
  #notificationsModal .modal-header h2{font-size:.98rem!important;line-height:1.08!important;}
  #notificationsModal .modal-header p{font-size:.68rem!important;line-height:1.25!important;}
  #notificationsModal .modal-close{right:12px!important;top:12px!important;width:30px!important;height:30px!important;border-radius:12px!important;background:rgba(255,255,255,.07)!important;}
  #notificationList.briefing-list{
    max-height:calc(86dvh - 94px)!important;
    padding:8px 10px max(18px,env(safe-area-inset-bottom))!important;
  }
  .v93-notification-countbar{grid-template-columns:1fr 1fr;margin-bottom:7px;padding:7px;border-radius:16px;}
  .v93-notification-countbar div{padding:6px 7px;border-radius:13px;}
  .v93-notification-countbar strong{font-size:.98rem;}
  .v93-notification-countbar span{font-size:.56rem;}
  .v93-notification-countbar small{font-size:.61rem;}
  #notificationsModal .v91-notification-item{grid-template-columns:27px minmax(0,1fr)!important;padding:8px!important;border-radius:14px!important;}
  #notificationsModal .v91-notification-icon{width:27px!important;height:27px!important;border-radius:10px!important;font-size:.72rem!important;}
  #notificationsModal .v91-notification-title h4{font-size:.76rem!important;}
  #notificationsModal .v91-notification-copy p{font-size:.66rem!important;line-height:1.30!important;-webkit-line-clamp:3!important;}
}


/* =========================================================
   V94 Notification Display Finish
   Clean single badge in dashboard quick action + better notification modal fit.
   ========================================================= */
.apple-glass-hero-v89 .hero-actions .v89-glass-btn.v94-notification-action,
.apple-glass-hero-v89 .v89-glass-btn.v94-notification-action,
.apple-minimal-hero-v88 .v88-action-btn.v94-notification-action{
  gap:7px!important;
  padding:0 8px!important;
  justify-content:center!important;
  min-width:0!important;
}
.apple-glass-hero-v89 .v89-glass-btn.v94-notification-action strong,
.apple-minimal-hero-v88 .v88-action-btn.v94-notification-action strong{
  min-width:0!important;
  max-width:none!important;
  flex:0 1 auto!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.apple-glass-hero-v89 .v89-glass-btn.v94-notification-action em,
.apple-minimal-hero-v88 .v88-action-btn.v94-notification-action em{
  display:none!important;
}
.v94-hero-badge,
.hero-notification-badge.v94-hero-badge{
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
  min-width:18px!important;
  width:auto!important;
  height:18px!important;
  padding:0 6px!important;
  margin-left:1px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#ef4444,#8b5cf6)!important;
  color:#fff!important;
  font-size:.58rem!important;
  line-height:1!important;
  font-weight:950!important;
  font-style:normal!important;
  box-shadow:0 8px 20px rgba(239,68,68,.22), inset 0 1px 0 rgba(255,255,255,.22)!important;
}
.v94-hero-badge.hidden,
.hero-notification-badge.v94-hero-badge.hidden{display:none!important;}
.v94-notification-countbar{
  position:sticky;
  top:0;
  z-index:5;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  padding:8px;
  margin:0 0 8px;
  border:1px solid rgba(216,180,254,.15);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(124,92,255,.18),rgba(10,16,30,.92));
  box-shadow:0 12px 28px rgba(0,0,0,.23), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.v94-notification-countbar div{
  min-width:0;
  border-radius:14px;
  padding:7px 8px;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.045);
}
.v94-notification-countbar strong{display:block;color:#fff;font-size:1.04rem;line-height:1;font-weight:950;}
.v94-notification-countbar span{display:block;margin-top:3px;color:#c4b5fd;font-size:.60rem;font-weight:950;text-transform:uppercase;letter-spacing:.09em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v94-notification-countbar small{grid-column:1/-1;color:#98a6bd;font-size:.64rem;font-weight:800;padding:0 2px 1px;}
#notificationsModal .v93-notification-countbar{display:none!important;}
#notificationsModal .v91-notification-title h4{max-width:100%!important;}
#notificationsModal .v91-notification-copy p{-webkit-line-clamp:4!important;}
#notificationsModal .premium-modal,
#notificationsModal .briefing-modal{max-height:min(760px,calc(100dvh - 18px))!important;}
#notificationList.briefing-list{max-height:calc(100dvh - 118px)!important;}
@media(max-width:920px){
  .apple-glass-hero-v89 .v89-glass-actions,
  .apple-glass-hero-v89 .hero-actions.v89-glass-actions{gap:8px!important;}
  .v94-hero-badge,.hero-notification-badge.v94-hero-badge{height:17px!important;min-width:17px!important;font-size:.54rem!important;padding:0 5px!important;}
}
@media(max-width:640px){
  #notificationsModal.modal-backdrop{align-items:flex-end!important;justify-content:center!important;padding:0 7px max(7px,env(safe-area-inset-bottom))!important;}
  #notificationsModal .premium-modal,
  #notificationsModal .briefing-modal{
    width:100%!important;
    max-height:92dvh!important;
    min-height:74dvh!important;
    border-radius:24px 24px 0 0!important;
  }
  #notificationList.briefing-list{
    max-height:calc(92dvh - 96px)!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
    padding:8px 10px max(20px,env(safe-area-inset-bottom))!important;
  }
  .v94-notification-countbar{padding:7px;border-radius:16px;margin-bottom:7px;}
  .v94-notification-countbar div{padding:6px 7px;border-radius:13px;}
  .v94-notification-countbar strong{font-size:.96rem;}
  .v94-notification-countbar span{font-size:.55rem;}
  .v94-notification-countbar small{font-size:.60rem;}
  #notificationsModal .v91-notification-copy p{font-size:.67rem!important;line-height:1.32!important;-webkit-line-clamp:4!important;}
}

/* =========================================================
   V95 Task Submission Modal Finish
   Clean close button + selected-file preview + mobile fit.
   ========================================================= */
#taskModal.modal-backdrop{
  align-items:center!important;
  justify-content:center!important;
  padding:16px!important;
}
#taskModal .task-modal{
  width:min(640px,calc(100vw - 32px))!important;
  max-height:min(760px,calc(100dvh - 32px))!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  border-radius:24px!important;
  border:1px solid rgba(203,213,225,.16)!important;
  background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(7,12,22,.98))!important;
  box-shadow:0 32px 100px rgba(0,0,0,.66),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
#taskModal .modal-header{
  flex:0 0 auto!important;
  padding:20px 62px 16px 20px!important;
  background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(12,18,33,.92))!important;
}
#taskModal .modal-close{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  left:auto!important;
  z-index:10!important;
  width:36px!important;
  height:36px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.075)!important;
  color:#fff!important;
  font-size:22px!important;
  line-height:1!important;
  cursor:pointer!important;
  box-shadow:0 12px 30px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.10)!important;
  transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
#taskModal .modal-close:hover,
#taskModal .modal-close:focus-visible{
  transform:translateY(-1px)!important;
  background:rgba(124,92,255,.22)!important;
  border-color:rgba(196,181,253,.34)!important;
  box-shadow:0 16px 38px rgba(124,92,255,.20),inset 0 1px 0 rgba(255,255,255,.15)!important;
  outline:none!important;
}
#taskModal .submission-grid{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  padding:18px 22px 22px!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(148,163,184,.34) transparent!important;
}
#taskModal .submission-grid::-webkit-scrollbar{width:7px!important;}
#taskModal .submission-grid::-webkit-scrollbar-thumb{background:rgba(148,163,184,.34)!important;border-radius:999px!important;}
#submissionDropZone.drop-zone{
  position:relative!important;
  min-height:142px!important;
  border-radius:20px!important;
  border:1px dashed rgba(148,163,184,.32)!important;
  background:linear-gradient(145deg,rgba(15,23,42,.82),rgba(9,15,27,.92))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
  cursor:pointer!important;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease!important;
}
#submissionDropZone.drop-zone:hover,
#submissionDropZone.drop-zone.is-dragover,
#submissionDropZone.drop-zone.has-file{
  transform:translateY(-1px)!important;
  border-color:rgba(196,181,253,.62)!important;
  background:linear-gradient(145deg,rgba(76,29,149,.20),rgba(9,15,27,.94))!important;
  box-shadow:0 18px 40px rgba(76,29,149,.16),inset 0 1px 0 rgba(255,255,255,.06)!important;
}
.submission-file-preview{
  margin-top:12px!important;
}
.submission-file-preview.hidden{display:none!important;}
.submission-file-chip{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) 34px!important;
  align-items:center!important;
  gap:12px!important;
  padding:12px!important;
  border:1px solid rgba(34,197,94,.22)!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,rgba(34,197,94,.10),rgba(15,23,42,.82))!important;
  box-shadow:0 16px 38px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.07)!important;
}
.submission-file-icon{
  width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,rgba(124,92,255,.92),rgba(37,99,235,.76))!important;
  color:#fff!important;
  font-size:.68rem!important;
  font-weight:950!important;
  letter-spacing:.06em!important;
  box-shadow:0 12px 28px rgba(37,99,235,.22)!important;
}
.submission-file-meta{min-width:0!important;}
.submission-file-meta strong{
  display:block!important;
  color:#fff!important;
  font-size:.88rem!important;
  line-height:1.18!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.submission-file-meta span{
  display:block!important;
  margin-top:4px!important;
  color:#9ee8bd!important;
  font-size:.72rem!important;
  font-weight:800!important;
}
.submission-file-remove{
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.07)!important;
  color:#e5e7eb!important;
  font-size:20px!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:transform .15s ease,background .15s ease,border-color .15s ease!important;
}
.submission-file-remove:hover,
.submission-file-remove:focus-visible{
  transform:scale(.96)!important;
  background:rgba(239,68,68,.16)!important;
  border-color:rgba(248,113,113,.28)!important;
  outline:none!important;
}
#taskModal .details-box textarea{
  min-height:110px!important;
  border-radius:18px!important;
  background:rgba(12,20,33,.92)!important;
}
#taskModal .modal-actions{
  position:sticky!important;
  bottom:0!important;
  z-index:3!important;
  margin-top:16px!important;
  padding:12px 0 0!important;
  background:linear-gradient(180deg,rgba(7,12,22,0),rgba(7,12,22,.96) 28%,rgba(7,12,22,.98))!important;
}
@media(max-width:640px){
  #taskModal.modal-backdrop{
    align-items:flex-end!important;
    padding:0 8px max(8px,env(safe-area-inset-bottom))!important;
  }
  #taskModal .task-modal{
    width:100%!important;
    max-height:92dvh!important;
    border-radius:24px 24px 0 0!important;
  }
  #taskModal .modal-header{padding:16px 56px 12px 16px!important;}
  #taskModal .modal-header h2{font-size:1rem!important;line-height:1.1!important;}
  #taskModal .modal-header p{font-size:.72rem!important;line-height:1.25!important;}
  #taskModal .modal-close{top:12px!important;right:12px!important;width:34px!important;height:34px!important;border-radius:13px!important;}
  #taskModal .submission-grid{padding:14px 14px max(18px,env(safe-area-inset-bottom))!important;}
  #submissionDropZone.drop-zone{min-height:128px!important;border-radius:18px!important;padding:14px!important;}
  .submission-file-chip{grid-template-columns:40px minmax(0,1fr) 32px!important;gap:10px!important;padding:10px!important;border-radius:16px!important;}
  .submission-file-icon{width:40px!important;height:40px!important;border-radius:13px!important;font-size:.62rem!important;}
  .submission-file-meta strong{font-size:.78rem!important;}
  .submission-file-meta span{font-size:.66rem!important;}
  .submission-file-remove{width:32px!important;height:32px!important;border-radius:11px!important;}
  #taskModal .modal-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;}
}

/* =========================================================
   V96 Mobile Performance Stabilization
   Scope: mobile/coarse-pointer only. Desktop UI intentionally untouched.
   Purpose: keep the same layout/visual direction while reducing repaint,
   blur, shadow and animation pressure on mobile browsers.
   ========================================================= */
@media (max-width: 820px), (pointer: coarse){
  html.v96-mobile-performance,
  body.v96-mobile-performance{
    scroll-behavior:auto!important;
    overscroll-behavior-y:none!important;
    text-rendering:optimizeSpeed!important;
  }

  body.v96-mobile-performance .main-app,
  body.v96-mobile-performance .dashboard-root,
  body.v96-mobile-performance .topbar,
  body.v96-mobile-performance .mobile-bottom-nav,
  body.v96-mobile-performance .briefing-ribbon{
    backface-visibility:hidden!important;
    transform:translateZ(0)!important;
  }

  /* Heavy blur causes visible mobile jank. Keep glass tone, reduce GPU cost. */
  body.v96-mobile-performance .modal-backdrop,
  body.v96-mobile-performance .drawer-backdrop,
  body.v96-mobile-performance .mobile-module-sheet,
  body.v96-mobile-performance .profile-drawer-backdrop{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    background:rgba(0,0,0,.76)!important;
  }

  body.v96-mobile-performance .topbar,
  body.v96-mobile-performance .briefing-ribbon,
  body.v96-mobile-performance .mobile-bottom-nav,
  body.v96-mobile-performance .mobile-module-panel,
  body.v96-mobile-performance .premium-modal,
  body.v96-mobile-performance .task-modal,
  body.v96-mobile-performance .profile-drawer,
  body.v96-mobile-performance .v84-profile-drawer,
  body.v96-mobile-performance .employee-drawer,
  body.v96-mobile-performance .glass-card,
  body.v96-mobile-performance .section-card,
  body.v96-mobile-performance .hero-card,
  body.v96-mobile-performance .metric-card,
  body.v96-mobile-performance .team-panel,
  body.v96-mobile-performance .private-vault,
  body.v96-mobile-performance .employee-tile,
  body.v96-mobile-performance .quick-action-card,
  body.v96-mobile-performance .workstream-card,
  body.v96-mobile-performance .hierarchy-card,
  body.v96-mobile-performance .spotlight-card{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }

  /* Lower paint cost, same compact premium structure. */
  body.v96-mobile-performance .loading-card,
  body.v96-mobile-performance .hero-card,
  body.v96-mobile-performance .metric-card,
  body.v96-mobile-performance .team-panel,
  body.v96-mobile-performance .glass-card,
  body.v96-mobile-performance .private-vault,
  body.v96-mobile-performance .section-card,
  body.v96-mobile-performance .employee-tile,
  body.v96-mobile-performance .quick-action-card,
  body.v96-mobile-performance .workstream-card,
  body.v96-mobile-performance .hierarchy-card,
  body.v96-mobile-performance .spotlight-card,
  body.v96-mobile-performance .briefing-item,
  body.v96-mobile-performance .submission-row,
  body.v96-mobile-performance .activity-row,
  body.v96-mobile-performance .v91-notification-item,
  body.v96-mobile-performance .v92-opportunity-card,
  body.v96-mobile-performance .submission-file-chip{
    box-shadow:0 10px 24px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.045)!important;
  }

  body.v96-mobile-performance .notification-button,
  body.v96-mobile-performance .top-user-card,
  body.v96-mobile-performance .secondary-button,
  body.v96-mobile-performance .gradient-small-button,
  body.v96-mobile-performance .v89-glass-btn,
  body.v96-mobile-performance .v92-opportunity-action,
  body.v96-mobile-performance .mobile-module-grid button,
  body.v96-mobile-performance .mobile-nav-btn,
  body.v96-mobile-performance .submission-file-remove,
  body.v96-mobile-performance .modal-close{
    transition:transform .12s ease, background .12s ease, border-color .12s ease, opacity .12s ease!important;
    box-shadow:0 8px 18px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.05)!important;
  }

  /* Keep button feedback, but avoid hover-based repaint on touch. */
  @media (hover:none){
    body.v96-mobile-performance .side-link:hover,
    body.v96-mobile-performance .secondary-button:hover,
    body.v96-mobile-performance .gradient-small-button:hover,
    body.v96-mobile-performance .v89-glass-btn:hover,
    body.v96-mobile-performance .v92-opportunity-action:hover,
    body.v96-mobile-performance .mobile-module-grid button:hover,
    body.v96-mobile-performance .quick-action-card:hover,
    body.v96-mobile-performance .employee-tile:hover,
    body.v96-mobile-performance .workstream-card:hover,
    body.v96-mobile-performance .hierarchy-card:hover{
      transform:none!important;
      filter:none!important;
    }
    body.v96-mobile-performance button:active,
    body.v96-mobile-performance .secondary-button:active,
    body.v96-mobile-performance .gradient-small-button:active,
    body.v96-mobile-performance .v89-glass-btn:active,
    body.v96-mobile-performance .v92-opportunity-action:active,
    body.v96-mobile-performance .mobile-module-grid button:active,
    body.v96-mobile-performance .mobile-nav-btn:active{
      transform:scale(.985)!important;
    }
  }

  /* Ticker stays same, but uses slower/lighter compositor animation. */
  body.v96-mobile-performance .briefing-track,
  body.v96-mobile-performance #bulletinTrack{
    animation-duration:96s!important;
    will-change:transform!important;
    transform:translate3d(0,0,0)!important;
    contain:layout paint!important;
  }
  html.v96-pause-soft-motion .briefing-track,
  html.v96-pause-soft-motion #bulletinTrack{
    animation-play-state:paused!important;
  }

  /* Avoid expensive filter blur text animation on mobile only. */
  body.v96-mobile-performance .v88-briefing-headline,
  body.v96-mobile-performance .v89-briefing-headline,
  body.v96-mobile-performance .v88-briefing-orb,
  body.v96-mobile-performance .v89-briefing-orb{
    filter:none!important;
    animation-duration:.001s!important;
  }

  /* Stable notification / module / profile scrolling on mobile. */
  body.v96-mobile-performance #notificationsModal,
  body.v96-mobile-performance #briefingModal,
  body.v96-mobile-performance #taskModal,
  body.v96-mobile-performance .mobile-module-sheet{
    overflow:hidden!important;
    touch-action:none!important;
  }
  body.v96-mobile-performance #notificationsModal .premium-modal,
  body.v96-mobile-performance #briefingModal .premium-modal,
  body.v96-mobile-performance #taskModal .premium-modal,
  body.v96-mobile-performance #taskModal .task-modal,
  body.v96-mobile-performance .mobile-module-panel{
    max-height:92dvh!important;
    overflow:hidden!important;
    contain:layout paint!important;
  }
  body.v96-mobile-performance #notificationList,
  body.v96-mobile-performance #briefingList,
  body.v96-mobile-performance #taskModal .submission-grid,
  body.v96-mobile-performance .mobile-module-grid,
  body.v96-mobile-performance .profile-drawer,
  body.v96-mobile-performance .v84-profile-drawer,
  body.v96-mobile-performance .employee-drawer{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
    transform:translateZ(0)!important;
  }

  /* V96 avoids content-visibility on mobile to prevent blank-card glitches on Safari/Chrome. */

  /* Fixed elements repaint less with isolated layers. */
  body.v96-mobile-performance .topbar,
  body.v96-mobile-performance .mobile-bottom-nav,
  body.v96-mobile-performance .mobile-module-panel,
  body.v96-mobile-performance .premium-modal,
  body.v96-mobile-performance .task-modal{
    isolation:isolate!important;
    contain:layout paint!important;
  }

  /* Respect OS reduced motion and make low-power devices smoother. */
  @media (prefers-reduced-motion: reduce){
    body.v96-mobile-performance *,
    body.v96-mobile-performance *::before,
    body.v96-mobile-performance *::after{
      animation-duration:.001s!important;
      animation-iteration-count:1!important;
      transition-duration:.001s!important;
      scroll-behavior:auto!important;
    }
  }
}

/* =========================================================
   V97 Mobile Management Briefing Fit + Scroll Fix
   Scope: mobile only. Desktop UI intentionally untouched.
   Fixes: briefing card overflow, small-screen clipping, and briefing modal scroll.
   ========================================================= */
@media (max-width: 820px), (pointer: coarse){
  body.app-page .selected-dashboard > .v89-dashboard-briefing,
  body.v96-mobile-performance .selected-dashboard > .v89-dashboard-briefing,
  body.app-page .v89-dashboard-briefing{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    grid-column:1 / -1!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 38px!important;
    align-items:start!important;
    gap:8px!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    padding:10px 10px 11px!important;
    border-radius:18px!important;
    overflow:hidden!important;
    contain:layout paint!important;
    transform:translateZ(0)!important;
  }

  body.app-page .v89-dashboard-briefing::before,
  body.app-page .v89-dashboard-briefing::after{
    pointer-events:none!important;
  }

  body.app-page .v89-briefing-glow,
  body.app-page .v89-briefing-icon{
    display:none!important;
  }

  body.app-page .v89-briefing-main,
  body.app-page .v89-briefing-headline,
  body.app-page .v89-briefing-side,
  body.app-page .v89-briefing-meta{
    min-width:0!important;
    max-width:100%!important;
  }

  body.app-page .v89-briefing-meta{
    display:flex!important;
    align-items:center!important;
    gap:5px!important;
    flex-wrap:nowrap!important;
    overflow:hidden!important;
    margin:0 0 4px!important;
    white-space:nowrap!important;
  }

  body.app-page .v89-briefing-meta strong{
    min-width:0!important;
    max-width:112px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:.64rem!important;
    letter-spacing:.085em!important;
  }

  body.app-page .v89-briefing-meta span:not(.v89-priority){
    display:none!important;
  }

  body.app-page .v89-priority{
    flex:0 0 auto!important;
    padding:3px 6px!important;
    font-size:.55rem!important;
    line-height:1!important;
  }

  body.app-page .v89-briefing-headline h3{
    width:100%!important;
    max-width:100%!important;
    margin:0 0 3px!important;
    font-size:.78rem!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body.app-page .v89-briefing-headline p{
    width:100%!important;
    max-width:100%!important;
    max-height:34px!important;
    margin:0!important;
    font-size:.69rem!important;
    line-height:1.28!important;
    white-space:normal!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }

  body.app-page .v89-briefing-side{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    align-self:center!important;
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    gap:0!important;
  }

  body.app-page .v89-briefing-side small,
  body.app-page .v89-briefing-side button b,
  body.app-page .v89-briefing-dots{
    display:none!important;
  }

  body.app-page .v89-briefing-side button,
  body.app-page #v89BriefingDetailsBtn{
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0!important;
    border-radius:13px!important;
    font-size:0!important;
    display:grid!important;
    place-items:center!important;
    flex:0 0 auto!important;
  }

  body.app-page .v89-briefing-side button span{
    display:none!important;
  }

  body.app-page .v89-briefing-side button::after,
  body.app-page #v89BriefingDetailsBtn::after{
    content:'›'!important;
    font-size:19px!important;
    line-height:1!important;
    color:#fff!important;
    transform:none!important;
  }

  /* Briefing detail modal: fit screen and make the briefing list itself scroll. */
  body.v96-mobile-performance #briefingModal,
  body.app-page #briefingModal{
    align-items:flex-start!important;
    justify-content:center!important;
    padding:10px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    touch-action:pan-y!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body.v96-mobile-performance #briefingModal .premium-modal,
  body.app-page #briefingModal .premium-modal,
  body.app-page #briefingModal .briefing-modal{
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
    height:min(82dvh, 640px)!important;
    max-height:82dvh!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    border-radius:22px!important;
    margin:0 auto!important;
    box-sizing:border-box!important;
  }

  body.app-page #briefingModal .modal-header,
  body.app-page #briefingModal .sticky-modal-header{
    flex:0 0 auto!important;
    position:sticky!important;
    top:0!important;
    z-index:5!important;
    padding:14px 44px 12px 14px!important;
    gap:10px!important;
  }

  body.app-page #briefingModal .modal-header h2{
    font-size:1rem!important;
    line-height:1.1!important;
  }

  body.app-page #briefingModal .modal-header p{
    font-size:.72rem!important;
    line-height:1.25!important;
  }

  body.app-page #briefingModal .modal-close{
    right:10px!important;
    top:10px!important;
    width:32px!important;
    height:32px!important;
    z-index:10!important;
  }

  body.v96-mobile-performance #briefingList,
  body.app-page #briefingList{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
    padding:10px 12px calc(18px + env(safe-area-inset-bottom))!important;
    display:grid!important;
    gap:9px!important;
  }

  body.app-page #briefingList .v89-briefing-detail,
  body.app-page #briefingList .briefing-item{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:30px minmax(0,1fr)!important;
    gap:9px!important;
    padding:10px!important;
    border-radius:16px!important;
    overflow:hidden!important;
  }

  body.app-page #briefingList .v89-detail-index,
  body.app-page #briefingList .briefing-item-icon{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    border-radius:11px!important;
    font-size:.70rem!important;
  }

  body.app-page #briefingList .v89-detail-title,
  body.app-page #briefingList .briefing-detail-title{
    min-width:0!important;
    max-width:100%!important;
    gap:6px!important;
  }

  body.app-page #briefingList h4{
    min-width:0!important;
    max-width:100%!important;
    font-size:.82rem!important;
    line-height:1.18!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }

  body.app-page #briefingList p{
    font-size:.74rem!important;
    line-height:1.36!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }

  body.app-page #briefingList .v89-detail-meta,
  body.app-page #briefingList .briefing-detail-meta{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px!important;
    font-size:.64rem!important;
    line-height:1.25!important;
    min-width:0!important;
  }
}

@media (max-width: 380px){
  body.app-page .v89-dashboard-briefing{
    padding:9px!important;
    border-radius:16px!important;
    grid-template-columns:minmax(0,1fr) 34px!important;
  }
  body.app-page .v89-briefing-meta strong{max-width:94px!important;font-size:.60rem!important;}
  body.app-page .v89-briefing-headline h3{font-size:.74rem!important;}
  body.app-page .v89-briefing-headline p{font-size:.66rem!important;line-height:1.25!important;max-height:33px!important;}
  body.app-page .v89-briefing-side{width:34px!important;min-width:34px!important;max-width:34px!important;}
  body.app-page .v89-briefing-side button,
  body.app-page #v89BriefingDetailsBtn{width:31px!important;min-width:31px!important;height:31px!important;min-height:31px!important;}
  body.app-page #briefingModal .premium-modal{width:calc(100vw - 14px)!important;max-width:calc(100vw - 14px)!important;height:84dvh!important;max-height:84dvh!important;border-radius:18px!important;}
  body.app-page #briefingList{padding:9px 9px calc(16px + env(safe-area-inset-bottom))!important;}
}

/* =========================================================
   V98 Mobile Briefing + Modal Navigation Stabilization
   Source-level finish. Desktop layout preserved; mobile fit/scroll/back fixed.
   ========================================================= */
#notificationList.briefing-list,
#briefingList.briefing-list{
  scroll-behavior:smooth!important;
  scrollbar-gutter:stable!important;
}

.v98-mobile-close-bar{
  display:none;
}

@media (max-width: 820px), (pointer: coarse){
  html.v98-modal-lock,
  html.v98-modal-lock body,
  body.v98-mobile-modal-open{
    overflow:hidden!important;
    height:100%!important;
    overscroll-behavior:none!important;
  }

  /* Dashboard Management Briefing: compact mobile card with no clipped text. */
  body.app-page .dashboard-root,
  body.app-page .selected-dashboard,
  body.app-page .dashboard-grid{
    min-width:0!important;
    max-width:100vw!important;
    overflow-x:hidden!important;
  }

  body.app-page .selected-dashboard > .v89-dashboard-briefing,
  body.app-page .dashboard-grid > .v89-dashboard-briefing,
  body.app-page .v89-dashboard-briefing{
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    display:block!important;
    min-height:86px!important;
    height:auto!important;
    max-height:none!important;
    padding:11px 53px 12px 12px!important;
    margin:0!important;
    border-radius:18px!important;
    overflow:hidden!important;
    contain:layout paint!important;
    transform:translateZ(0)!important;
  }

  body.app-page .v89-dashboard-briefing .v89-briefing-glow,
  body.app-page .v89-dashboard-briefing .v89-briefing-icon{
    display:none!important;
  }

  body.app-page .v89-dashboard-briefing .v89-briefing-main,
  body.app-page .v89-dashboard-briefing .v89-briefing-headline,
  body.app-page .v89-dashboard-briefing .v89-briefing-meta{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  body.app-page .v89-dashboard-briefing .v89-briefing-meta{
    display:flex!important;
    align-items:center!important;
    gap:5px!important;
    flex-wrap:nowrap!important;
    margin:0 0 5px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    line-height:1.1!important;
  }

  body.app-page .v89-dashboard-briefing .v89-briefing-meta strong{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:none!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:.64rem!important;
    line-height:1.1!important;
    letter-spacing:.08em!important;
  }

  body.app-page .v89-dashboard-briefing .v89-briefing-meta span:not(.v89-priority){
    display:none!important;
  }

  body.app-page .v89-dashboard-briefing .v89-priority{
    flex:0 0 auto!important;
    padding:3px 6px!important;
    font-size:.54rem!important;
    line-height:1!important;
    max-width:88px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body.app-page .v89-dashboard-briefing .v89-briefing-headline h3{
    display:-webkit-box!important;
    -webkit-line-clamp:1!important;
    -webkit-box-orient:vertical!important;
    white-space:normal!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    margin:0 0 4px!important;
    font-size:.82rem!important;
    line-height:1.18!important;
    max-width:100%!important;
  }

  body.app-page .v89-dashboard-briefing .v89-briefing-headline p{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    white-space:normal!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    margin:0!important;
    font-size:.70rem!important;
    line-height:1.34!important;
    max-height:none!important;
    max-width:100%!important;
  }

  body.app-page .v89-dashboard-briefing .v89-briefing-side{
    position:absolute!important;
    right:10px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    display:grid!important;
    place-items:center!important;
    gap:0!important;
    z-index:5!important;
  }

  body.app-page .v89-dashboard-briefing .v89-briefing-side small,
  body.app-page .v89-dashboard-briefing .v89-briefing-side button span,
  body.app-page .v89-dashboard-briefing .v89-briefing-side button b,
  body.app-page .v89-dashboard-briefing .v89-briefing-dots{
    display:none!important;
  }

  body.app-page .v89-dashboard-briefing .v89-briefing-side button,
  body.app-page .v89-dashboard-briefing #v89BriefingDetailsBtn{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    padding:0!important;
    border-radius:13px!important;
    font-size:0!important;
    display:grid!important;
    place-items:center!important;
  }

  body.app-page .v89-dashboard-briefing .v89-briefing-side button::after,
  body.app-page .v89-dashboard-briefing #v89BriefingDetailsBtn::after{
    content:'›'!important;
    display:block!important;
    color:#fff!important;
    font-size:20px!important;
    line-height:1!important;
    transform:translateX(1px)!important;
  }

  /* Mobile Back / Close controls injected by V98 script. */
  body.app-page .modal-backdrop .v98-mobile-close-bar{
    position:absolute!important;
    top:10px!important;
    left:10px!important;
    right:10px!important;
    z-index:80!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    pointer-events:none!important;
  }

  body.app-page .v98-mobile-back,
  body.app-page .v98-mobile-x{
    pointer-events:auto!important;
    border:1px solid rgba(226,232,240,.15)!important;
    background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.055))!important;
    color:#f8fafc!important;
    box-shadow:0 10px 24px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.10)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    font-weight:950!important;
    line-height:1!important;
    touch-action:manipulation!important;
  }

  body.app-page .v98-mobile-back{
    min-height:34px!important;
    padding:0 13px!important;
    border-radius:999px!important;
    font-size:.72rem!important;
    letter-spacing:.01em!important;
  }

  body.app-page .v98-mobile-x{
    width:34px!important;
    height:34px!important;
    border-radius:13px!important;
    font-size:1.12rem!important;
    display:grid!important;
    place-items:center!important;
  }

  body.app-page .v98-mobile-back:active,
  body.app-page .v98-mobile-x:active{
    transform:scale(.965)!important;
  }

  body.app-page #notificationsModal .modal-close,
  body.app-page #briefingModal .modal-close,
  body.app-page #taskModal .modal-close,
  body.app-page #reviewModal .modal-close{
    display:none!important;
  }

  /* Full, scrollable notification modal with a visible Back control. */
  body.app-page #notificationsModal.modal-backdrop,
  body.app-page #briefingModal.modal-backdrop{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
    touch-action:none!important;
  }

  body.app-page #notificationsModal.hidden,
  body.app-page #briefingModal.hidden,
  body.app-page #taskModal.hidden,
  body.app-page #reviewModal.hidden{
    display:none!important;
  }

  body.app-page #notificationsModal .premium-modal,
  body.app-page #notificationsModal .briefing-modal,
  body.app-page #briefingModal .premium-modal,
  body.app-page #briefingModal .briefing-modal{
    position:relative!important;
    width:min(460px,100%)!important;
    max-width:100%!important;
    height:calc(100dvh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)))!important;
    max-height:calc(100dvh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)))!important;
    min-height:0!important;
    margin:0 auto!important;
    border-radius:24px!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    contain:layout paint!important;
  }

  body.app-page #notificationsModal .modal-header,
  body.app-page #briefingModal .modal-header,
  body.app-page #notificationsModal .sticky-modal-header,
  body.app-page #briefingModal .sticky-modal-header{
    position:relative!important;
    top:auto!important;
    z-index:12!important;
    flex:0 0 auto!important;
    min-height:86px!important;
    padding:50px 14px 11px 14px!important;
    gap:10px!important;
    border-bottom:1px solid rgba(203,213,225,.11)!important;
    background:linear-gradient(180deg,rgba(15,23,42,.99),rgba(8,13,25,.95))!important;
    box-sizing:border-box!important;
  }

  body.app-page #notificationsModal .modal-header h2,
  body.app-page #briefingModal .modal-header h2{
    font-size:.98rem!important;
    line-height:1.08!important;
    margin:0!important;
  }

  body.app-page #notificationsModal .modal-header p,
  body.app-page #briefingModal .modal-header p{
    font-size:.68rem!important;
    line-height:1.25!important;
    margin:3px 0 0!important;
  }

  body.app-page #notificationsModal .modal-icon,
  body.app-page #briefingModal .modal-icon{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    border-radius:12px!important;
    font-size:.80rem!important;
  }

  body.app-page #notificationList.briefing-list,
  body.app-page #briefingList.briefing-list{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    width:100%!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
    padding:10px 10px calc(18px + env(safe-area-inset-bottom))!important;
    display:grid!important;
    gap:8px!important;
    transform:translateZ(0)!important;
    will-change:scroll-position!important;
    contain:content!important;
  }

  body.app-page #notificationList .v94-notification-countbar,
  body.app-page #notificationList .v93-notification-countbar{
    position:sticky!important;
    top:0!important;
    z-index:10!important;
    margin:0 0 8px!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }

  body.app-page #notificationsModal .v91-notification-item,
  body.app-page #briefingModal .v89-briefing-detail,
  body.app-page #briefingModal .briefing-item{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    transform:translateZ(0)!important;
  }

  body.app-page #notificationsModal .v91-notification-copy,
  body.app-page #notificationsModal .v91-notification-title,
  body.app-page #briefingModal .v89-detail-title,
  body.app-page #briefingModal .briefing-detail-title{
    min-width:0!important;
    max-width:100%!important;
  }

  body.app-page #notificationsModal .v91-notification-title h4,
  body.app-page #briefingModal h4{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    line-height:1.18!important;
  }

  body.app-page #notificationsModal .v91-notification-copy p,
  body.app-page #briefingModal p{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    line-height:1.35!important;
  }

  /* Other modal families get the same visible back/close layer without changing desktop UI. */
  body.app-page #taskModal.modal-backdrop,
  body.app-page #reviewModal.modal-backdrop{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))!important;
    overflow:hidden!important;
    touch-action:none!important;
  }

  body.app-page #taskModal .premium-modal,
  body.app-page #taskModal .task-modal,
  body.app-page #reviewModal .premium-modal{
    position:relative!important;
    width:min(460px,100%)!important;
    max-width:100%!important;
    max-height:calc(100dvh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)))!important;
    border-radius:24px!important;
    overflow:hidden!important;
  }

  body.app-page #taskModal .modal-header,
  body.app-page #reviewModal .modal-header{
    padding-top:50px!important;
  }
}

@media (max-width: 380px){
  body.app-page .v89-dashboard-briefing{
    min-height:84px!important;
    padding:10px 48px 10px 10px!important;
    border-radius:16px!important;
  }
  body.app-page .v89-dashboard-briefing .v89-briefing-headline h3{font-size:.77rem!important;}
  body.app-page .v89-dashboard-briefing .v89-briefing-headline p{font-size:.66rem!important;line-height:1.30!important;}
  body.app-page .v89-dashboard-briefing .v89-priority{font-size:.50rem!important;padding:3px 5px!important;max-width:72px!important;}
  body.app-page .v89-dashboard-briefing .v89-briefing-side{right:8px!important;width:32px!important;min-width:32px!important;max-width:32px!important;}
  body.app-page .v89-dashboard-briefing .v89-briefing-side button,
  body.app-page .v89-dashboard-briefing #v89BriefingDetailsBtn{width:31px!important;height:31px!important;min-width:31px!important;min-height:31px!important;border-radius:12px!important;}
  body.app-page #notificationsModal .premium-modal,
  body.app-page #notificationsModal .briefing-modal,
  body.app-page #briefingModal .premium-modal,
  body.app-page #briefingModal .briefing-modal{border-radius:20px!important;}
  body.app-page #notificationList.briefing-list,
  body.app-page #briefingList.briefing-list{padding-left:8px!important;padding-right:8px!important;}
}

/* =========================================================
   V99 Reliable Mobile Modal Close + Smooth Scroll Finish
   Desktop UI untouched; all visual changes are mobile-scoped.
   ========================================================= */
.v99-mobile-close-bar{display:none;}

@media (max-width: 820px), (pointer: coarse){
  html.v99-modal-lock,
  html.v99-modal-lock body,
  body.v99-mobile-modal-open{
    overflow:hidden!important;
    height:100%!important;
    overscroll-behavior:none!important;
  }

  body.app-page .modal-backdrop .v99-mobile-close-bar{
    position:absolute!important;
    top:10px!important;
    left:10px!important;
    right:10px!important;
    z-index:999!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    pointer-events:none!important;
  }

  body.app-page .v99-mobile-back,
  body.app-page .v99-mobile-x{
    pointer-events:auto!important;
    user-select:none!important;
    -webkit-user-select:none!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
    border:1px solid rgba(226,232,240,.17)!important;
    background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.06))!important;
    color:#f8fafc!important;
    box-shadow:0 10px 24px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.10)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    font-weight:950!important;
    line-height:1!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  body.app-page .v99-mobile-back{
    min-height:36px!important;
    padding:0 14px!important;
    border-radius:999px!important;
    font-size:.74rem!important;
    letter-spacing:.01em!important;
  }

  body.app-page .v99-mobile-x{
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    border-radius:14px!important;
    font-size:1.18rem!important;
    display:grid!important;
    place-items:center!important;
  }

  body.app-page .v99-mobile-back:active,
  body.app-page .v99-mobile-x:active{
    transform:scale(.955)!important;
    filter:brightness(1.14)!important;
  }

  body.app-page #notificationsModal .v98-mobile-close-bar,
  body.app-page #briefingModal .v98-mobile-close-bar,
  body.app-page #taskModal .v98-mobile-close-bar,
  body.app-page #reviewModal .v98-mobile-close-bar{
    display:none!important;
  }

  body.app-page #notificationsModal .modal-close,
  body.app-page #briefingModal .modal-close,
  body.app-page #taskModal .modal-close,
  body.app-page #reviewModal .modal-close{
    display:none!important;
  }

  body.app-page #notificationsModal.modal-backdrop,
  body.app-page #briefingModal.modal-backdrop,
  body.app-page #taskModal.modal-backdrop,
  body.app-page #reviewModal.modal-backdrop{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
    touch-action:none!important;
  }

  body.app-page #notificationsModal .premium-modal,
  body.app-page #briefingModal .premium-modal,
  body.app-page #taskModal .premium-modal,
  body.app-page #reviewModal .premium-modal{
    position:relative!important;
    overflow:hidden!important;
    transform:translateZ(0)!important;
  }

  body.app-page #notificationsModal .modal-header,
  body.app-page #briefingModal .modal-header,
  body.app-page #taskModal .modal-header,
  body.app-page #reviewModal .modal-header{
    padding-top:52px!important;
  }

  body.app-page #notificationList.briefing-list,
  body.app-page #briefingList.briefing-list{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
    scroll-behavior:smooth!important;
    min-height:0!important;
    transform:translateZ(0)!important;
  }
}


/* =========================================================
   V100 TRAINING PORTAL ENTRY (data1-controlled)
   Uses same compact Apple Minimal Dark action style; no separate data2 portal bundled.
   ========================================================= */
.v100-training-portal-btn{
  position:relative!important;
  overflow:hidden!important;
  min-height:54px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  padding:9px 12px!important;
  border-color:rgba(120,160,255,.28)!important;
  background:linear-gradient(145deg,rgba(18,25,43,.82),rgba(11,16,28,.72))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 30px rgba(0,0,0,.18)!important;
}
.v100-training-portal-btn::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:radial-gradient(circle at 20% 0%,rgba(96,165,250,.22),transparent 36%),radial-gradient(circle at 90% 100%,rgba(168,85,247,.16),transparent 36%);
  opacity:.9;
  pointer-events:none;
}
.v100-training-portal-btn>*{position:relative;z-index:1;}
.v100-training-kicker{
  display:block!important;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.58rem!important;
  line-height:1.05!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
  color:#93c5fd!important;
  opacity:.95!important;
}
.v100-training-portal-btn strong{
  font-size:.82rem!important;
  line-height:1.1!important;
  color:#fff!important;
}
.v100-training-countdown{
  display:block!important;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-style:normal!important;
  font-size:.64rem!important;
  line-height:1.05!important;
  color:rgba(224,231,255,.76)!important;
}
.v100-training-portal-btn.mode-open{
  border-color:rgba(34,197,94,.30)!important;
}
.v100-training-portal-btn.mode-open .v100-training-kicker{color:#86efac!important;}
.v100-training-portal-btn.mode-locked,
.v100-training-portal-btn.mode-closed,
.v100-training-portal-btn.mode-pending,
.v100-training-portal-btn.mode-disabled{
  opacity:.86!important;
  border-color:rgba(251,191,36,.26)!important;
}
.v100-training-portal-btn.mode-closed,
.v100-training-portal-btn.mode-disabled{
  border-color:rgba(248,113,113,.24)!important;
}
.v100-training-portal-btn[aria-disabled="true"]{
  cursor:not-allowed!important;
}
.v100-training-portal-btn[aria-disabled="true"] strong{color:rgba(255,255,255,.82)!important;}
@media(max-width:640px){
  .v100-training-portal-btn{min-height:58px!important;align-items:center!important;text-align:center!important;}
  .v100-training-countdown{font-size:.62rem!important;}
}


/* V100: keep Training Portal action compact inside V89 glass hero grid */
.apple-glass-hero-v89 .v100-training-portal-btn,
.apple-glass-hero-v89 .hero-actions .v100-training-portal-btn{
  min-height:42px!important;
  height:42px!important;
  max-height:42px!important;
  padding:4px 8px!important;
  gap:1px!important;
  border-radius:15px!important;
}
.apple-glass-hero-v89 .v100-training-portal-btn .v100-training-kicker{
  display:none!important;
}
.apple-glass-hero-v89 .v100-training-portal-btn strong{
  font-size:.72rem!important;
  line-height:1!important;
}
.apple-glass-hero-v89 .v100-training-portal-btn .v100-training-countdown{
  font-size:.55rem!important;
  line-height:1!important;
  max-width:100%!important;
}
@media(max-width:560px){
  .apple-glass-hero-v89 .v100-training-portal-btn,
  .apple-glass-hero-v89 .hero-actions .v100-training-portal-btn{
    min-height:40px!important;
    height:40px!important;
    max-height:40px!important;
    padding:4px 7px!important;
  }
  .apple-glass-hero-v89 .v100-training-portal-btn strong{font-size:.66rem!important;}
  .apple-glass-hero-v89 .v100-training-portal-btn .v100-training-countdown{font-size:.52rem!important;}
}


/* =========================================================
   V101 TRAINING PORTAL TIMER VISIBILITY FIX
   Keeps V99/V100 design but makes countdown clearly visible in the hero grid.
   ========================================================= */
.apple-glass-hero-v89 .v100-training-portal-btn,
.apple-glass-hero-v89 .hero-actions .v100-training-portal-btn{
  min-height:50px!important;
  height:50px!important;
  max-height:50px!important;
  padding:5px 8px!important;
  justify-content:center!important;
}
.apple-glass-hero-v89 .v100-training-portal-btn strong{
  font-size:.72rem!important;
  line-height:1.05!important;
  letter-spacing:.01em!important;
}
.apple-glass-hero-v89 .v100-training-portal-btn .v100-training-countdown{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  margin-top:2px!important;
  font-size:.58rem!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.015em!important;
  color:rgba(226,232,240,.96)!important;
}
.apple-glass-hero-v89 .v100-training-portal-btn.mode-locked .v100-training-countdown,
.apple-glass-hero-v89 .v100-training-portal-btn.mode-early .v100-training-countdown{
  color:#fbbf24!important;
}
.apple-glass-hero-v89 .v100-training-portal-btn.mode-open .v100-training-countdown{
  color:#86efac!important;
}
.apple-glass-hero-v89 .v100-training-portal-btn.mode-pending .v100-training-countdown{
  color:#93c5fd!important;
}
@media(max-width:560px){
  .apple-glass-hero-v89 .v100-training-portal-btn,
  .apple-glass-hero-v89 .hero-actions .v100-training-portal-btn{
    min-height:48px!important;
    height:48px!important;
    max-height:48px!important;
  }
  .apple-glass-hero-v89 .v100-training-portal-btn strong{font-size:.64rem!important;}
  .apple-glass-hero-v89 .v100-training-portal-btn .v100-training-countdown{font-size:.52rem!important;}
}

/* =========================================================
   V102 TRAINING PORTAL POPUP ONLY (data1-controlled)
   Main portal shows popup/info/timer. Start opens separate training site.
   Employee-code login stays for future data2 training portal.
   ========================================================= */
.v100-training-portal-btn[data-start-blocked="true"]{
  cursor:pointer!important;
}
.v100-training-portal-btn[data-start-blocked="true"] strong{color:rgba(255,255,255,.88)!important;}
#trainingPortalModalV102.modal-backdrop{
  z-index:1120!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
}
.training-portal-modal-v102{
  width:min(620px,calc(100vw - 28px))!important;
  max-height:min(760px,calc(100vh - 28px))!important;
  overflow:hidden!important;
  border:1px solid rgba(148,163,184,.18)!important;
  border-radius:28px!important;
  background:linear-gradient(145deg,rgba(12,17,29,.97),rgba(18,18,35,.96))!important;
  box-shadow:0 34px 90px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.09)!important;
  position:relative!important;
}
.training-portal-modal-v102::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:radial-gradient(circle at 10% 0%,rgba(96,165,250,.20),transparent 35%),radial-gradient(circle at 95% 10%,rgba(168,85,247,.17),transparent 35%),radial-gradient(circle at 50% 110%,rgba(34,197,94,.10),transparent 35%);
  pointer-events:none;
}
.training-portal-modal-v102>*{position:relative;z-index:1;}
.training-portal-header-v102{
  padding:18px 62px 15px 18px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.015))!important;
}
.training-portal-header-v102 .modal-icon{
  width:42px!important;
  height:42px!important;
  border-radius:16px!important;
  background:linear-gradient(145deg,rgba(124,92,255,.35),rgba(59,130,246,.18))!important;
  border:1px solid rgba(255,255,255,.12)!important;
}
.training-portal-header-v102 h2{
  font-size:1.12rem!important;
  line-height:1.1!important;
  letter-spacing:-.02em!important;
}
.training-portal-header-v102 p{
  font-size:.75rem!important;
  color:rgba(203,213,225,.78)!important;
}
.training-portal-body-v102{
  padding:18px!important;
  overflow-y:auto!important;
  max-height:calc(min(760px,100vh - 28px) - 82px)!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:thin!important;
}
.training-portal-status-v102{
  border:1px solid rgba(148,163,184,.17)!important;
  border-radius:22px!important;
  padding:18px!important;
  background:linear-gradient(145deg,rgba(15,23,42,.82),rgba(24,17,43,.68))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 45px rgba(0,0,0,.20)!important;
  display:grid!important;
  gap:6px!important;
}
.training-portal-status-v102 span{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:rgba(124,92,255,.18)!important;
  color:#c4b5fd!important;
  border:1px solid rgba(196,181,253,.18)!important;
  font-size:.68rem!important;
  font-weight:900!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
.training-portal-status-v102 strong{
  font-size:1.42rem!important;
  line-height:1.1!important;
  color:#fff!important;
  letter-spacing:-.03em!important;
}
.training-portal-status-v102 small{
  color:rgba(226,232,240,.76)!important;
  font-weight:700!important;
  line-height:1.35!important;
}
.training-portal-message-v102{
  margin:15px 2px 0!important;
  color:rgba(226,232,240,.86)!important;
  font-size:.92rem!important;
  line-height:1.62!important;
}
.training-portal-info-v102{
  margin-top:14px!important;
  padding:15px!important;
  border-radius:20px!important;
  border:1px solid rgba(148,163,184,.14)!important;
  background:rgba(255,255,255,.045)!important;
}
.training-portal-info-v102 h3{
  margin:0 0 7px!important;
  font-size:.88rem!important;
  letter-spacing:.01em!important;
  color:#f8fafc!important;
}
.training-portal-info-v102 p{
  margin:0!important;
  font-size:.82rem!important;
  line-height:1.55!important;
  color:rgba(203,213,225,.82)!important;
}
.training-portal-support-v102{
  margin:12px 2px 0!important;
  color:rgba(148,163,184,.86)!important;
  font-size:.76rem!important;
  line-height:1.45!important;
}
.training-portal-actions-v102{
  display:grid!important;
  grid-template-columns:1fr 1.35fr!important;
  gap:10px!important;
  margin-top:18px!important;
}
.training-portal-actions-v102 button{
  min-height:44px!important;
  border-radius:15px!important;
  font-weight:900!important;
}
#trainingPortalStartBtnV102:disabled,
#trainingPortalStartBtnV102.is-disabled{
  opacity:.62!important;
  cursor:not-allowed!important;
  filter:saturate(.75)!important;
}
@media(max-width:640px){
  #trainingPortalModalV102.modal-backdrop{
    align-items:flex-end!important;
    padding:0 8px max(8px,env(safe-area-inset-bottom))!important;
  }
  .training-portal-modal-v102{
    width:100%!important;
    max-height:calc(100vh - 16px)!important;
    border-radius:24px 24px 18px 18px!important;
  }
  .training-portal-body-v102{
    max-height:calc(100vh - 104px)!important;
    padding:14px!important;
  }
  .training-portal-status-v102{padding:15px!important;border-radius:19px!important;}
  .training-portal-status-v102 strong{font-size:1.12rem!important;}
  .training-portal-message-v102{font-size:.84rem!important;line-height:1.55!important;}
  .training-portal-actions-v102{grid-template-columns:1fr!important;}
  .training-portal-actions-v102 button{min-height:42px!important;}
}

/* =========================================================
   V103 TRAINING PORTAL POPUP COMPACT PREMIUM FIX
   - No native modal scrollbar for normal backend copy.
   - Start button opens data1 training_portal_url after timer unlocks.
   - Code/login validation remains for future data2 training site.
   ========================================================= */
#trainingPortalModalV102.modal-backdrop{
  padding:16px!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.training-portal-modal-v102{
  width:min(540px,calc(100vw - 26px))!important;
  max-height:min(92vh,560px)!important;
  overflow:hidden!important;
  border-radius:24px!important;
  display:flex!important;
  flex-direction:column!important;
  background:linear-gradient(145deg,rgba(8,13,24,.98),rgba(18,17,36,.97))!important;
  box-shadow:0 32px 88px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.training-portal-modal-v102 .modal-close{
  top:13px!important;
  right:13px!important;
  width:34px!important;
  height:34px!important;
  border-radius:14px!important;
  z-index:5!important;
}
.training-portal-header-v102{
  padding:15px 58px 12px 16px!important;
  min-height:unset!important;
  gap:12px!important;
  align-items:center!important;
  flex:0 0 auto!important;
  border-bottom:1px solid rgba(148,163,184,.12)!important;
}
.training-portal-header-v102 .modal-icon{
  width:38px!important;
  height:38px!important;
  border-radius:15px!important;
  flex:0 0 auto!important;
}
.training-portal-header-v102 h2{
  font-size:1rem!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
  margin:0 0 3px!important;
}
.training-portal-header-v102 p{
  font-size:.72rem!important;
  line-height:1.3!important;
  margin:0!important;
  color:rgba(203,213,225,.76)!important;
}
.training-portal-body-v102{
  padding:14px 16px 16px!important;
  max-height:none!important;
  overflow:hidden!important;
  flex:1 1 auto!important;
  display:grid!important;
  gap:11px!important;
  scrollbar-width:none!important;
}
.training-portal-body-v102::-webkit-scrollbar{display:none!important;}
.training-portal-status-v102{
  margin:0!important;
  padding:12px 13px!important;
  border-radius:18px!important;
  gap:5px!important;
  background:linear-gradient(145deg,rgba(15,23,42,.78),rgba(45,31,78,.43))!important;
}
.training-portal-status-v102 span{
  padding:4px 8px!important;
  font-size:.57rem!important;
  letter-spacing:.08em!important;
}
.training-portal-status-v102 strong{
  font-size:1.03rem!important;
  line-height:1.1!important;
}
.training-portal-status-v102 small{
  font-size:.69rem!important;
  line-height:1.25!important;
}
.training-portal-message-v102{
  margin:0!important;
  font-size:.82rem!important;
  line-height:1.46!important;
  color:rgba(226,232,240,.84)!important;
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.training-portal-info-v102{
  margin:0!important;
  padding:12px 13px!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.028))!important;
}
.training-portal-info-v102 h3{
  margin:0 0 5px!important;
  font-size:.78rem!important;
}
.training-portal-info-v102 p{
  font-size:.74rem!important;
  line-height:1.42!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.training-portal-support-v102{
  margin:0!important;
  font-size:.68rem!important;
  line-height:1.32!important;
  display:-webkit-box!important;
  -webkit-line-clamp:1!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.training-portal-actions-v102{
  margin:1px 0 0!important;
  grid-template-columns:.9fr 1.15fr!important;
  gap:9px!important;
}
.training-portal-actions-v102 button{
  min-height:40px!important;
  border-radius:14px!important;
  font-size:.78rem!important;
  letter-spacing:.01em!important;
}
#trainingPortalStartBtnV102:not(:disabled){
  box-shadow:0 14px 34px rgba(124,92,255,.28), inset 0 1px 0 rgba(255,255,255,.16)!important;
}
@media(max-width:640px){
  #trainingPortalModalV102.modal-backdrop{
    align-items:center!important;
    padding:12px!important;
  }
  .training-portal-modal-v102{
    width:min(96vw,520px)!important;
    max-height:calc(100vh - 24px)!important;
    border-radius:22px!important;
  }
  .training-portal-header-v102{padding:14px 54px 11px 14px!important;}
  .training-portal-body-v102{padding:12px 14px 14px!important;gap:10px!important;}
  .training-portal-status-v102{padding:11px 12px!important;}
  .training-portal-status-v102 strong{font-size:.96rem!important;}
  .training-portal-message-v102{font-size:.77rem!important;-webkit-line-clamp:3!important;}
  .training-portal-info-v102 p{-webkit-line-clamp:2!important;}
  .training-portal-actions-v102{grid-template-columns:1fr 1fr!important;}
  .training-portal-actions-v102 button{min-height:39px!important;font-size:.72rem!important;}
}
@media(max-height:650px){
  .training-portal-modal-v102{max-height:calc(100vh - 20px)!important;}
  .training-portal-header-v102{padding-top:12px!important;padding-bottom:10px!important;}
  .training-portal-body-v102{gap:8px!important;padding-top:10px!important;padding-bottom:12px!important;}
  .training-portal-message-v102{-webkit-line-clamp:2!important;}
  .training-portal-info-v102 p{-webkit-line-clamp:1!important;}
  .training-portal-support-v102{display:none!important;}
}

/* =========================================================
   V105 Mobile Modal Hidden-State Hard Stop
   Root fix: older mobile rules used #reviewModal.modal-backdrop { display:flex!important; }
   after the generic .hidden rule, so hidden review/task modals could render on login.
   This block is intentionally last and more specific than every modal display rule.
   ========================================================= */
html body.app-page .modal-backdrop.hidden,
html body.app-page #taskModal.modal-backdrop.hidden,
html body.app-page #reviewModal.modal-backdrop.hidden,
html body.app-page #briefingModal.modal-backdrop.hidden,
html body.app-page #notificationsModal.modal-backdrop.hidden,
html body.app-page #trainingPortalModalV102.modal-backdrop.hidden,
html body.app-page .drawer-backdrop.hidden,
html body.app-page #employeeDrawer.drawer-backdrop.hidden,
html body.app-page #profileDrawerBackdrop.profile-drawer-backdrop.hidden,
html body.app-page .mobile-module-sheet.hidden,
html body.app-page .test-gate-backdrop.hidden,
html body.app-page .mcq-portal-backdrop.hidden,
html body.app-page .mcq-final-popup.hidden {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 920px) {
  html body.app-page .modal-backdrop.hidden,
  html body.app-page #taskModal.modal-backdrop.hidden,
  html body.app-page #reviewModal.modal-backdrop.hidden,
  html body.app-page #briefingModal.modal-backdrop.hidden,
  html body.app-page #notificationsModal.modal-backdrop.hidden,
  html body.app-page #trainingPortalModalV102.modal-backdrop.hidden,
  html body.app-page .drawer-backdrop.hidden,
  html body.app-page #employeeDrawer.drawer-backdrop.hidden,
  html body.app-page #profileDrawerBackdrop.profile-drawer-backdrop.hidden,
  html body.app-page .mobile-module-sheet.hidden {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  html body.app-page #reviewModal.modal-backdrop:not(.hidden),
  html body.app-page #taskModal.modal-backdrop:not(.hidden),
  html body.app-page #briefingModal.modal-backdrop:not(.hidden),
  html body.app-page #notificationsModal.modal-backdrop:not(.hidden),
  html body.app-page #trainingPortalModalV102.modal-backdrop:not(.hidden) {
    display: flex !important;
  }
}

/* =========================================================
   V106 MOBILE MODAL HARD FIX
   Final source-level guard for Review/Task modal visibility and close controls.
   This intentionally comes after V105 and wins over every older display:flex rule.
   ========================================================= */
html body .modal-backdrop.hidden,
html body .modal-backdrop[aria-hidden="true"],
html body .modal-backdrop[data-force-hidden="true"],
html body #reviewModal.modal-backdrop.hidden,
html body #reviewModal.modal-backdrop[aria-hidden="true"],
html body #reviewModal.modal-backdrop[data-force-hidden="true"],
html body #taskModal.modal-backdrop.hidden,
html body #taskModal.modal-backdrop[aria-hidden="true"],
html body #taskModal.modal-backdrop[data-force-hidden="true"]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

@media (max-width:920px), (pointer:coarse){
  html body #reviewModal.modal-backdrop.hidden,
  html body #reviewModal.modal-backdrop[aria-hidden="true"],
  html body #reviewModal.modal-backdrop:not([data-explicit-open="true"]),
  html body #taskModal.modal-backdrop.hidden,
  html body #taskModal.modal-backdrop[aria-hidden="true"]{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }

  html body #reviewModal.modal-backdrop[data-explicit-open="true"]:not(.hidden),
  html body #taskModal.modal-backdrop:not(.hidden):not([aria-hidden="true"]){
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }

  html body.app-page #reviewModal .modal-close,
  html body.app-page #taskModal .modal-close{
    display:grid!important;
    position:absolute!important;
    top:12px!important;
    right:12px!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    place-items:center!important;
    z-index:140!important;
    border-radius:14px!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }

  html body.app-page #reviewModal .v99-mobile-close-bar,
  html body.app-page #taskModal .v99-mobile-close-bar{
    z-index:135!important;
    pointer-events:none!important;
  }
  html body.app-page #reviewModal .v99-mobile-back,
  html body.app-page #reviewModal .v99-mobile-x,
  html body.app-page #taskModal .v99-mobile-back,
  html body.app-page #taskModal .v99-mobile-x{
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
}

/* =========================================================
   V107 REVIEW SUBMISSION LOGIN GLITCH HARD STOP
   The review modal is hidden unless a real Admin Review Queue click marks
   data-review-intent="admin-click". This wins over older mobile display:flex rules.
   ========================================================= */
html body.app-page #reviewModal.modal-backdrop:not([data-review-intent="admin-click"]),
html body.app-page #reviewModal.modal-backdrop.hidden,
html body.app-page #reviewModal.modal-backdrop[aria-hidden="true"],
html body.app-page #reviewModal.modal-backdrop[data-force-hidden="true"]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
@media (max-width:920px), (pointer:coarse){
  html body.app-page #reviewModal.modal-backdrop:not([data-review-intent="admin-click"]),
  html body.app-page #reviewModal.modal-backdrop.hidden,
  html body.app-page #reviewModal.modal-backdrop[aria-hidden="true"],
  html body.app-page #reviewModal.modal-backdrop[data-force-hidden="true"]{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  html body.app-page #reviewModal.modal-backdrop[data-review-intent="admin-click"][data-explicit-open="true"]:not(.hidden):not([aria-hidden="true"]):not([data-force-hidden="true"]){
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
}

/* =========================================================
   V108 REVIEW SUBMISSION NUCLEAR LOGIN FIX
   Review Submission is template-only at boot. If any legacy/cached script
   creates a review modal without a verified admin click, keep it invisible.
   ========================================================= */
html body.app-page #reviewModal.modal-backdrop:not([data-review-intent="admin-click"]),
html body.app-page #reviewModal.modal-backdrop:not([data-explicit-open="true"]),
html body.app-page #reviewModal.modal-backdrop[data-force-hidden="true"],
html body.app-page #reviewModal.modal-backdrop[aria-hidden="true"],
html body.app-page #reviewModal.modal-backdrop.hidden{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
html body.app-page #reviewModal.modal-backdrop[data-review-intent="admin-click"][data-explicit-open="true"]:not(.hidden):not([aria-hidden="true"]):not([data-force-hidden="true"]){
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}


/* =========================================================
   V109 Mobile Login Modal Stack Hard Stop
   Final CSS gate: on mobile, Task/Review modals are invisible unless the
   V109 JS has marked a real user-open action. This prevents login restore
   glitches from surfacing stale Review Submission or Task Submission sheets.
   ========================================================= */
@media (max-width:920px), (pointer:coarse){
  html body.app-page #taskModal.modal-backdrop:not([data-user-open="true"]),
  html body.app-page #taskModal.modal-backdrop.hidden,
  html body.app-page #taskModal.modal-backdrop[aria-hidden="true"],
  html body.app-page #taskModal.modal-backdrop[data-force-hidden="true"],
  html body.app-page #reviewModal.modal-backdrop:not([data-user-open="true"]),
  html body.app-page #reviewModal.modal-backdrop:not([data-review-intent="admin-click"]),
  html body.app-page #reviewModal.modal-backdrop:not([data-explicit-open="true"]),
  html body.app-page #reviewModal.modal-backdrop.hidden,
  html body.app-page #reviewModal.modal-backdrop[aria-hidden="true"],
  html body.app-page #reviewModal.modal-backdrop[data-force-hidden="true"]{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }

  html body.app-page #taskModal.modal-backdrop[data-user-open="true"]:not(.hidden):not([aria-hidden="true"]):not([data-force-hidden="true"]),
  html body.app-page #reviewModal.modal-backdrop[data-user-open="true"][data-review-intent="admin-click"][data-explicit-open="true"]:not(.hidden):not([aria-hidden="true"]):not([data-force-hidden="true"]){
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }

  html body.app-page .v109-mobile-close-bar{
    position:absolute!important;
    top:10px!important;
    left:10px!important;
    right:10px!important;
    z-index:260!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    pointer-events:none!important;
  }
  html body.app-page .v109-mobile-back,
  html body.app-page .v109-mobile-x{
    pointer-events:auto!important;
    touch-action:manipulation!important;
    border:1px solid rgba(226,232,240,.16)!important;
    color:#f8fafc!important;
    background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.06))!important;
    box-shadow:0 10px 28px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.10)!important;
    font-weight:950!important;
    line-height:1!important;
  }
  html body.app-page .v109-mobile-back{
    min-height:38px!important;
    padding:0 15px!important;
    border-radius:999px!important;
    font-size:.78rem!important;
  }
  html body.app-page .v109-mobile-x{
    width:40px!important;
    height:40px!important;
    border-radius:15px!important;
    display:grid!important;
    place-items:center!important;
    font-size:1.20rem!important;
  }
  html body.app-page #taskModal .modal-close,
  html body.app-page #reviewModal .modal-close,
  html body.app-page #notificationsModal .modal-close,
  html body.app-page #briefingModal .modal-close,
  html body.app-page #trainingPortalModalV102 .modal-close{
    display:grid!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    z-index:270!important;
  }
}
