:root{
  --bg:#f6f8fc;--surface:#ffffff;--surface-2:#f9fbff;--sidebar:#0b1220;--sidebar-2:#111a2d;
  --text:#101828;--muted:#667085;--muted-2:#98a2b3;--line:#e4e7ec;--line-2:#eef1f5;
  --primary:#2563eb;--primary-2:#4f46e5;--success:#12b76a;--warning:#f79009;--danger:#f04438;
  --radius:14px;--radius-lg:20px;--shadow:0 8px 30px rgba(16,24,40,.06);--shadow-lg:0 20px 60px rgba(16,24,40,.10);
  --sidebar-w:248px;--topbar-h:72px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.55;font-size:14px}
a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}
img{max-width:100%}
.container{width:min(1240px,calc(100% - 40px));margin:auto}

/* ---------- APP SHELL ---------- */
.saas-shell{min-height:100vh;background:var(--bg)}
.saas-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);z-index:100;background:linear-gradient(180deg,#0a1220 0%,#0e1729 100%);color:#d0d5dd;border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;padding:20px 14px}
.saas-brand{height:58px;display:flex;align-items:center;padding:0 10px;margin-bottom:20px}
.saas-brand img{display:block;width:172px;height:48px;max-width:100%;object-fit:contain;object-position:left center;filter:drop-shadow(0 4px 14px rgba(0,0,0,.18))}
.saas-role{display:inline-flex;align-self:flex-start;margin:0 10px 18px;padding:5px 9px;border:1px solid rgba(255,255,255,.10);border-radius:999px;background:rgba(255,255,255,.045);color:#98a2b3;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.saas-nav{display:flex;flex-direction:column;gap:4px}
.saas-nav a{min-height:44px;padding:10px 12px;border-radius:10px;color:#98a2b3;display:flex;align-items:center;gap:11px;font-size:13px;font-weight:650;transition:.18s ease}
.saas-nav a:first-letter{font-size:16px}
.saas-nav a:hover{background:rgba(255,255,255,.06);color:#fff;transform:translateX(1px)}
.saas-nav a.active{background:linear-gradient(90deg,rgba(37,99,235,.22),rgba(79,70,229,.13));color:#fff;box-shadow:inset 3px 0 0 #3b82f6}
.saas-nav a span{white-space:nowrap}
.saas-signout{margin-top:auto;min-height:44px;padding:10px 12px;border-radius:10px;color:#98a2b3;display:flex;align-items:center;gap:11px;font-size:13px;font-weight:650}
.saas-signout:hover{background:rgba(240,68,56,.10);color:#ffb4ae}
.saas-main{min-height:100vh;margin-left:var(--sidebar-w)}
.saas-topbar{position:sticky;top:0;z-index:70;height:var(--topbar-h);display:flex;align-items:center;padding:0 30px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.saas-breadcrumb{font-size:14px;font-weight:750;color:#344054;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.saas-user{margin-left:auto;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}
.saas-user span{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.saas-user b{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eef4ff;color:#2458c6;font-size:13px;border:1px solid #dbe6ff}
.saas-mobile-brand{display:none}
.saas-content{padding:30px 30px 60px;max-width:1500px;margin:auto}
.saas-mobile-nav{display:none}
.saas-menu-btn{display:none}

/* ---------- TYPOGRAPHY / LAYOUT ---------- */
.page{padding:0;background:transparent;min-height:70vh}
.page>.container{width:min(1240px,100%)}
.page h1{font-size:32px;line-height:1.2;letter-spacing:-.035em;margin:0 0 8px;font-weight:780;color:#101828}
.page h2{font-size:20px;letter-spacing:-.02em;margin:0 0 12px}
.page h3{font-size:16px;margin:0 0 8px}
.lead{color:var(--muted);font-size:14px;margin:0 0 22px}
.eyebrow{font-size:10px;font-weight:800;letter-spacing:.14em;color:#2563eb;text-transform:uppercase;margin-bottom:7px}
small{color:var(--muted);font-size:12px}
strong,b{font-weight:750}

/* ---------- CARDS / PANELS ---------- */
.panel,.auth-card,.task-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.panel{padding:22px;margin:18px 0}
.task-card{display:flex;justify-content:space-between;gap:24px;padding:20px;margin:12px 0;transition:.18s}
.task-card:hover{box-shadow:0 12px 36px rgba(16,24,40,.09);border-color:#d7def0;transform:translateY(-1px)}
.task-card p{color:var(--muted);margin:6px 0}
.task-list{display:grid;gap:12px;margin-top:20px}
.task-row{display:flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--line-2)}
.task-row:last-child{border-bottom:0}
.task-row>div:first-child{flex:1;min-width:0}
.task-row b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-row small{display:block;margin-top:3px}
.reward{min-width:125px;text-align:right;font-size:19px;font-weight:800;color:#175cd3}.reward .btn{display:flex;margin-top:10px}

/* ---------- BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border:1px solid transparent;border-radius:10px;background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;font-weight:750;font-size:13px;cursor:pointer;box-shadow:0 6px 16px rgba(37,99,235,.18);transition:.18s}
.btn:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(37,99,235,.22)}
.btn.small{min-height:34px;padding:0 12px;font-size:12px;border-radius:8px}
.btn.ghost{background:#fff;color:#344054;border-color:#d0d5dd;box-shadow:none}.btn.ghost:hover{background:#f9fafb;border-color:#98a2b3}
.btn.danger{background:#fff;color:#b42318;border-color:#fecdca;box-shadow:none}.btn.success{background:#12b76a}.btn.warning{background:#f79009}

/* ---------- FORMS ---------- */
label{display:block;color:#344054;font-size:12px;font-weight:700;margin:15px 0 7px}
input,textarea,select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#101828;outline:none;transition:.15s}
textarea{min-height:100px;resize:vertical}
input:focus,textarea:focus,select:focus{border-color:#84adff;box-shadow:0 0 0 3px rgba(37,99,235,.10)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.auth-card{padding:28px}.auth-card h1{font-size:30px;margin:0 0 6px}.auth-card input,.auth-card textarea,.auth-card select{margin-top:6px}

/* ---------- STATUS / ALERTS ---------- */
.status{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:4px 9px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:10px;font-weight:800;letter-spacing:.04em;white-space:nowrap}
.status:before{content:"";width:6px;height:6px;border-radius:50%;background:#98a2b3;margin-right:6px}
.status.approved,.status.paid,.status.active,.status.completed,.status.published{background:#ecfdf3;color:#027a48}.status.approved:before,.status.paid:before,.status.active:before,.status.completed:before,.status.published:before{background:#12b76a}
.status.pending,.status.submitted,.status.draft{background:#fffaeb;color:#b54708}.status.pending:before,.status.submitted:before,.status.draft:before{background:#f79009}
.status.rejected,.status.cancelled,.status.inactive{background:#fef3f2;color:#b42318}.status.rejected:before,.status.cancelled:before,.status.inactive:before{background:#f04438}
.notice,.success,.flash{padding:12px 14px;border-radius:10px;margin:14px 0;font-size:13px;border:1px solid}
.notice{background:#fffaeb;border-color:#fedf89;color:#7a2e0b}.success,.flash{background:#ecfdf3;border-color:#abefc6;color:#067647}
.filter{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.filter a{padding:7px 12px;border-radius:999px;background:#fff;border:1px solid #d0d5dd;color:#475467;font-size:12px;font-weight:650}.filter .active{background:#eef4ff;color:#175cd3;border-color:#b2ccff}

/* ---------- TABLES / STATS ---------- */
table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}th{text-align:left;padding:12px;background:#f9fafb;color:#667085;font-size:10px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line)}td{padding:14px 12px;border-bottom:1px solid var(--line-2);vertical-align:middle}tr:last-child td{border-bottom:0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.stats>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.stats small{display:block;margin-bottom:7px}.stats b{font-size:24px;letter-spacing:-.03em}

/* ---------- DASHBOARD HERO ---------- */
.dashboard-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}.dashboard-hero .actions{display:flex;gap:8px;flex-wrap:wrap}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.metric-card .label{font-size:11px;color:var(--muted);font-weight:700}.metric-card .value{font-size:25px;font-weight:800;letter-spacing:-.03em;margin-top:5px}.metric-card .trend{font-size:11px;color:var(--success);margin-top:5px}

/* ---------- EMPTY STATES ---------- */
.empty{padding:45px 20px;text-align:center;border:1px dashed #d0d5dd;border-radius:14px;background:#fff;color:var(--muted)}

/* ---------- OLD INLINE ADMIN NAV: replaced by sidebar ---------- */
.admin-nav{display:none!important}

/* ---------- PUBLIC / LEGACY LANDING COMPONENTS ---------- */
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{min-height:72px;display:flex;align-items:center;gap:24px}.brand-link{display:flex;align-items:center;width:170px;height:52px}.brand-img{width:170px!important;height:52px!important;object-fit:contain!important;object-position:left center!important}.nav nav{display:flex;gap:22px;margin-left:auto;color:#344054;font-size:14px;font-weight:650}.nav nav a:hover{color:var(--primary)}.nav-actions{display:flex;align-items:center;gap:12px;margin-left:8px}.login{font-weight:700}
.hero{position:relative;overflow:hidden;padding:78px 0 60px;background:linear-gradient(180deg,#f8fbff,#fff)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.02fr .98fr;gap:48px;align-items:center}.hero h1{font-size:clamp(44px,6vw,76px);line-height:1.02;letter-spacing:-.055em;margin:20px 0}.hero h1 .accent{color:var(--primary)}.hero-copy{max-width:650px;color:#475467;font-size:18px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.trust{display:flex;flex-wrap:wrap;gap:22px;color:#344054;font-size:13px;font-weight:650}.trust span:before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:7px;border-radius:50%;background:#2563eb;color:#fff;font-size:11px}.pill{display:inline-flex;align-items:center;padding:7px 12px;border:1px solid #d0d5dd;border-radius:999px;background:#fff;color:#344054;font-size:10px;font-weight:800;letter-spacing:.12em}.mock-wrap{position:relative;min-height:560px;display:grid;place-items:center}.mock-glow{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.18),transparent 68%)}.phone{position:relative;z-index:2;width:300px;height:560px;border:8px solid #111827;border-radius:42px;background:#f8fafc;box-shadow:0 30px 70px rgba(16,24,40,.25);transform:rotate(5deg);overflow:hidden}.phone-notch{width:105px;height:23px;background:#111827;border-radius:0 0 15px 15px;margin:auto}.phone-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 7px;font-weight:800}.phone-head small{color:var(--primary)}.phone-list{padding:0 12px}.app-row{display:grid;grid-template-columns:42px 1fr auto;gap:9px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;padding:10px;margin:8px 0;box-shadow:0 4px 14px rgba(16,24,40,.04)}.app-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;color:#fff;font-weight:800;background:linear-gradient(135deg,#2563eb,#4f46e5)}.app-info b{display:block;font-size:12px}.app-info small{display:block;font-size:10px}.price{font-weight:800;color:#175cd3;font-size:12px;text-align:right}.price small{display:block;font-size:9px}.phone-tabs{position:absolute;bottom:0;left:0;right:0;height:58px;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);align-items:center;text-align:center;font-size:10px;color:#667085}.phone-tabs b{display:block;color:#2563eb}.callout{position:absolute;z-index:3;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 17px 13px 55px;box-shadow:var(--shadow-lg);font-size:12px;min-width:170px}.callout strong{display:block;font-size:15px}.callout small{color:#667085}.callout.test{left:5px;top:100px}.callout.share{left:0;bottom:115px}.callout.earn{right:0;top:225px}.callout:before{content:"✓";display:grid;place-items:center;position:absolute;left:13px;top:13px;width:32px;height:32px;border-radius:50%;background:#ecfdf3;color:#039855;font-weight:800}.callout.share:before{content:"•••";background:#eef4ff;color:#175cd3}.callout.earn:before{content:"₹";background:#fffaeb;color:#b54708}.section{padding:82px 0}.section.soft{background:#f9fafb}.section h2{font-size:40px;letter-spacing:-.045em;line-height:1.1;margin:10px 0 15px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow)}.card .icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#eef4ff;color:#2563eb;font-size:20px}.card h3{margin:15px 0 7px}.card p{color:#667085;font-size:13px}.card a{color:#175cd3;font-weight:750;font-size:12px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}.step{padding:22px;border-radius:16px;background:#fff;border:1px solid var(--line)}.step-num{font-size:12px;font-weight:800;color:#2563eb}.step h3{margin:9px 0 5px}.step p{color:#667085;font-size:13px}.blue-section{background:linear-gradient(135deg,#0b1220,#162c55);color:#fff}.blue-section .lead{color:#cbd5e1}.earn-panel{display:grid;grid-template-columns:1.15fr .85fr;gap:45px;align-items:center}.earn-list{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);border-radius:18px;padding:22px}.earn-list p{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.10);margin:0}.earn-list p:last-child{border-bottom:0}.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:10px 0}.faq summary{font-weight:750;cursor:pointer}.footer{background:#0b1220;color:#d0d5dd}.footer-grid{padding:55px 0 30px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px}.footer-logo{width:190px;max-width:190px;height:auto}.footer a{display:block;color:#98a2b3;font-size:12px;margin:7px 0}.footer p{color:#98a2b3;font-size:12px;max-width:420px}.copyright{border-top:1px solid rgba(255,255,255,.08);padding:16px 0;color:#667085;font-size:11px}

/* ---------- AUTH ---------- */
.auth-body{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 20% 20%,rgba(37,99,235,.10),transparent 30%),radial-gradient(circle at 85% 80%,rgba(79,70,229,.10),transparent 28%),#f6f8fc}.auth{width:min(560px,94%)}.auth-logo{width:320px;max-width:92%;height:auto;display:block;margin:0 auto 22px}.center{text-align:center}.check{font-weight:500!important;color:#667085}

@media(max-width:1100px){.cards,.steps{grid-template-columns:repeat(2,1fr)}.metric-grid,.stats{grid-template-columns:repeat(2,1fr)}.hero-grid{grid-template-columns:1fr}.mock-wrap{min-height:520px}.earn-panel{grid-template-columns:1fr}}
@media(max-width:800px){
 :root{--sidebar-w:0px}
 .saas-sidebar{width:270px;transform:translateX(-100%);transition:transform .22s ease;box-shadow:20px 0 50px rgba(0,0,0,.18)}
 .saas-sidebar.open{transform:translateX(0)}
 .saas-main{margin-left:0}.saas-topbar{padding:0 16px;height:64px}.saas-mobile-brand{display:block;margin-right:12px}.saas-mobile-brand img{width:118px;height:36px;object-fit:contain}.saas-breadcrumb{font-size:13px}.saas-user span{display:none}.saas-menu-btn{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:#fff;margin-left:auto;margin-right:8px;color:#344054;cursor:pointer}.saas-content{padding:22px 16px 86px}.saas-mobile-nav{display:grid;position:fixed;z-index:90;bottom:0;left:0;right:0;height:64px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);box-shadow:0 -8px 25px rgba(16,24,40,.06)}.saas-mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#667085;font-size:18px;gap:1px}.saas-mobile-nav a small{font-size:9px;color:inherit}.saas-mobile-nav a.active{color:#2563eb;font-weight:800}.dashboard-hero{display:block}.dashboard-hero .actions{margin-top:15px}.page h1{font-size:28px}.task-card{display:block}.reward{text-align:left;margin-top:15px}.two{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.metric-grid{grid-template-columns:1fr 1fr}.table-wrap{margin-left:-1px;margin-right:-1px}.nav nav{display:none}.nav{justify-content:space-between}.nav-actions{margin-left:auto}.brand-link{width:150px}.brand-img{width:150px!important}.footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){.container{width:calc(100% - 28px)}.stats,.metric-grid,.cards,.steps{grid-template-columns:1fr}.panel{padding:16px;border-radius:14px}.task-row{align-items:flex-start;flex-wrap:wrap}.task-row .status{margin-left:auto}.saas-content{padding-left:13px;padding-right:13px}.saas-user b{width:32px;height:32px}.hero{padding:55px 0 40px}.hero h1{font-size:44px}.mock-wrap{min-height:430px;transform:scale(.85);margin:-35px 0}.phone{width:270px;height:500px}.callout{display:none}.section{padding:58px 0}.section h2{font-size:32px}.footer-grid{grid-template-columns:1fr}.nav-actions .btn{padding:0 12px;min-height:38px}.nav-actions .login{display:none}.auth-card{padding:22px}.auth-card h1{font-size:27px}}

/* =========================================================
   TestLancer TEST LAB — LIGHT PROFESSIONAL SAAS THEME
   White sidebar + navy typography + blue accent + glass cards
   ========================================================= */
:root{
  --bg:#f4f7fb;
  --surface:#ffffff;
  --surface-2:rgba(255,255,255,.78);
  --sidebar:#ffffff;
  --sidebar-2:#f7faff;
  --text:#0b1f3a;
  --muted:#64748b;
  --muted-2:#94a3b8;
  --line:#e3eaf4;
  --line-2:#edf2f7;
  --primary:#2563eb;
  --primary-2:#3b82f6;
  --navy:#0b1f3a;
  --success:#16a34a;
  --warning:#d97706;
  --danger:#dc2626;
  --radius:16px;
  --radius-lg:20px;
  --shadow:0 8px 28px rgba(15,35,65,.055);
  --shadow-lg:0 18px 55px rgba(15,35,65,.10);
  --sidebar-w:252px;
  --topbar-h:72px;
}
body{color:var(--text);background:linear-gradient(180deg,#f8fbff 0%,#f3f6fb 100%)}

/* Sidebar */
.saas-sidebar{
  background:rgba(255,255,255,.94);
  color:var(--navy);
  border-right:1px solid #e4ebf5;
  box-shadow:8px 0 30px rgba(15,35,65,.035);
  padding:18px 14px;
  backdrop-filter:blur(18px);
}
.saas-brand{height:60px;padding:0 12px;margin-bottom:14px}
.saas-brand img{width:178px;height:50px;filter:none}
.saas-role{
  margin:0 10px 18px;
  border:1px solid #d9e7ff;
  background:#f1f6ff;
  color:#2563eb;
  padding:5px 10px;
  letter-spacing:.10em;
}
.saas-nav{gap:5px}
.saas-nav a{
  min-height:46px;
  padding:10px 13px;
  color:#64748b;
  border:1px solid transparent;
  border-radius:12px;
  font-size:13px;
  font-weight:700;
}
.saas-nav a:hover{
  background:#f5f8ff;
  border-color:#e2eaff;
  color:var(--navy);
  transform:none;
}
.saas-nav a.active{
  color:#175cd3;
  background:linear-gradient(90deg,#edf4ff 0%,#f7faff 100%);
  border-color:#d9e7ff;
  box-shadow:inset 3px 0 0 #2563eb,0 4px 14px rgba(37,99,235,.06);
}
.saas-signout{
  min-height:46px;
  color:#64748b;
  border:1px solid transparent;
  border-radius:12px;
  font-weight:700;
}
.saas-signout:hover{background:#fff5f5;border-color:#fee2e2;color:#b42318}

/* Topbar */
.saas-topbar{
  background:rgba(255,255,255,.82);
  border-bottom:1px solid #e5ebf3;
  box-shadow:0 4px 18px rgba(15,35,65,.025);
}
.saas-breadcrumb{color:var(--navy);font-weight:800}
.saas-user{color:#64748b}
.saas-user b{background:#edf4ff;color:#175cd3;border-color:#d7e6ff}
.saas-menu-btn{color:var(--navy)}

/* Page header */
.page h1{color:var(--navy);font-weight:800}
.page h2,.page h3{color:var(--navy)}
.lead{color:#64748b}
.eyebrow{color:#2563eb}

/* Glass cards / panels */
.panel,.auth-card,.task-card,
.card,.dash-panel,.dash-stat,.metric-card,.stats>div,.empty{
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(248,251,255,.78));
  border:1px solid rgba(219,228,240,.92);
  box-shadow:0 10px 32px rgba(15,35,65,.055),inset 0 1px 0 rgba(255,255,255,.92);
  backdrop-filter:blur(16px);
}
.panel{border-radius:20px}
.panel:hover,.metric-card:hover,.dash-stat:hover,.card:hover{
  box-shadow:0 14px 38px rgba(15,35,65,.075),inset 0 1px 0 rgba(255,255,255,.96);
}
.task-card:hover{border-color:#cfe0ff;box-shadow:0 14px 38px rgba(37,99,235,.08)}

/* Dashboard-specific professional styling */
.dashboard-hero{padding:2px 0 6px}
.dashboard-hero h1{font-size:34px}
.metric-grid{gap:16px}
.metric-card{position:relative;overflow:hidden;border-radius:18px;padding:20px}
.metric-card:after{
  content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-34px;top:-34px;
  background:radial-gradient(circle,rgba(37,99,235,.11),transparent 68%);
}
.metric-card .value{color:var(--navy);font-size:28px}
.metric-card .trend{color:#16803b}
.stats{gap:16px}
.stats>div{border-radius:18px}
.stats b{color:var(--navy)}
.dash-stat{border-radius:18px;padding:20px}
.dash-stat .value,.dash-stat strong{color:var(--navy)}
.progress{background:#e8eef7!important;border-radius:999px;overflow:hidden}
.progress>div{background:linear-gradient(90deg,#2563eb,#60a5fa)!important}

/* Cards / icons */
.card{border-radius:18px}
.card .icon{background:linear-gradient(135deg,#edf4ff,#f6f9ff);color:#2563eb;border:1px solid #dce8fb}

/* Buttons */
.btn{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;box-shadow:0 7px 18px rgba(37,99,235,.16)}
.btn:hover{box-shadow:0 10px 24px rgba(37,99,235,.22)}
.btn.ghost{background:rgba(255,255,255,.82);color:var(--navy);border-color:#d6dfeb}
.btn.ghost:hover{background:#f7faff;border-color:#b9cdf0;color:#175cd3}

/* Forms */
input,textarea,select{border-color:#d7e0eb;background:rgba(255,255,255,.92);color:var(--navy)}
input::placeholder,textarea::placeholder{color:#9aa8ba}
input:focus,textarea:focus,select:focus{border-color:#6ea0ff;box-shadow:0 0 0 4px rgba(37,99,235,.09)}
label{color:#334155}

/* Tables */
.table-wrap{border-color:#e0e8f2;box-shadow:var(--shadow)}
th{background:#f7faff;color:#64748b;border-bottom-color:#e4ebf3}
td{border-bottom-color:#edf2f7;color:#334155}
tbody tr:hover td{background:#f9fbff}

/* Filters / status */
.filter a{background:rgba(255,255,255,.88);border-color:#d9e2ee;color:#475569}
.filter .active{background:#edf4ff;color:#175cd3;border-color:#bfd5fb}
.status{border:1px solid rgba(0,0,0,.03)}

/* Mobile bottom bar */
.saas-mobile-nav{background:rgba(255,255,255,.94);border-top-color:#e2e9f2}
.saas-mobile-nav a{color:#64748b}
.saas-mobile-nav a.active{color:#2563eb}

/* Subtle page background accents */
.saas-content{position:relative}
.saas-content:before{
  content:"";position:fixed;pointer-events:none;z-index:-1;width:360px;height:360px;right:-160px;top:100px;
  background:radial-gradient(circle,rgba(59,130,246,.055),transparent 68%);
}

@media(max-width:800px){
  .saas-sidebar{background:rgba(255,255,255,.98);box-shadow:18px 0 45px rgba(15,35,65,.12)}
  .dashboard-hero h1{font-size:29px}
}

/* WhatsApp support menu */
.saas-support{
  margin-top:auto;min-height:44px;padding:10px 12px;border-radius:12px;
  display:flex;align-items:center;gap:10px;color:#075e54;background:#f0fdf9;
  border:1px solid #ccefe7;font-size:13px;font-weight:700;text-decoration:none;
  transition:.18s ease;
}
.saas-support:hover{background:#e7faf5;border-color:#a8e3d5;color:#075e54;transform:translateY(-1px);box-shadow:0 7px 18px rgba(7,94,84,.08)}
.saas-support-icon{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:#25d366;color:#fff;font-size:16px;font-weight:900;line-height:1;box-shadow:0 3px 9px rgba(37,211,102,.22)}
.saas-support + .saas-signout{margin-top:7px}
@media(max-width:800px){
  .saas-support{margin-top:auto}
}


/* ================================================================
   TestLancer TESTLAB — WHITE PROFESSIONAL SAAS SYSTEM
   Inspired by modern enterprise SaaS dashboards: airy, crisp,
   navy typography, blue accent, glass cards and clean navigation.
   ================================================================ */
:root{
  --bg:#f7f9fc; --surface:#fff; --surface-soft:rgba(255,255,255,.82);
  --sidebar:#fff; --text:#0b1f44; --text-2:#18345f; --muted:#66789a;
  --line:#e6ebf3; --line-2:#f0f3f8; --primary:#2563eb; --primary-2:#3b82f6;
  --primary-soft:#edf4ff; --success:#12b981; --warning:#f59e0b; --danger:#ef4444;
  --shadow:0 8px 28px rgba(30,64,120,.055); --shadow-lg:0 18px 50px rgba(30,64,120,.09);
  --sidebar-w:258px; --topbar-h:82px; --radius:16px; --radius-lg:20px;
}
body{background:linear-gradient(180deg,#f9fbfe 0%,#f5f8fc 100%);color:var(--text)}
.saas-shell{background:transparent}
.saas-sidebar{background:rgba(255,255,255,.96);color:var(--text);border-right:1px solid #e9edf4;padding:22px 16px 18px;box-shadow:8px 0 32px rgba(16,55,110,.025);backdrop-filter:blur(16px)}
.saas-brand{height:62px;padding:0 11px;margin-bottom:14px}
.saas-brand img{width:186px;height:54px;filter:none;object-position:left center}
.saas-role{margin:0 10px 14px;background:#f4f7fb;border:1px solid #e8edf5;color:#71809a;font-size:9px;padding:5px 9px}
.saas-nav{gap:5px}
.saas-nav a,.saas-support,.saas-signout{min-height:44px;border-radius:11px;color:#132a50;font-weight:600;letter-spacing:-.01em;padding:10px 12px;transition:.18s ease;display:flex;align-items:center;gap:12px}
.saas-nav a{font-size:14px}
.saas-nav a:first-letter{font-size:18px}
.saas-nav a:hover{background:#f5f8fd;color:#174ea6}
.saas-nav a.active{background:linear-gradient(90deg,#edf4ff,#e7f0ff);color:#175cd3;box-shadow:inset 3px 0 0 #2563eb;font-weight:700}
.saas-nav a.active:before{content:"";width:3px;height:20px;background:#2563eb;border-radius:5px;margin-left:-12px;margin-right:1px}
.saas-support{margin-top:auto;background:#fff;color:#102a50;border:1px solid #e7ecf4}
.saas-support:hover{border-color:#bcd3ff;background:#f7faff;color:#155eef}
.saas-support-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#16c47f;color:#fff;font-size:17px;font-weight:800}
.saas-signout{margin-top:6px;color:#66789a}
.saas-signout:hover{background:#fff2f2;color:#c0362c}
.saas-main{margin-left:var(--sidebar-w);min-height:100vh}
.saas-topbar{height:var(--topbar-h);position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);border-bottom:1px solid #e8edf4;backdrop-filter:blur(16px);display:flex;align-items:center;padding:0 30px;gap:20px}
.saas-mobile-brand{display:none}
.saas-search{width:min(520px,48vw);height:44px;border:1px solid #e3e9f2;border-radius:12px;background:#fff;display:flex;align-items:center;gap:10px;padding:0 13px;color:#6680a8;box-shadow:0 2px 10px rgba(30,64,120,.025)}
.saas-search span{font-size:24px;line-height:1;transform:rotate(-20deg);color:#375783}
.saas-search input{border:0;outline:0;width:100%;background:transparent;color:#132a50;font-size:13px}
.saas-search input::placeholder{color:#94a3b8}
.saas-top-actions{margin-left:auto;display:flex;align-items:center;gap:13px}
.saas-top-icon{width:40px;height:40px;border:1px solid #e6ebf3;border-radius:11px;background:#fff;display:grid;place-items:center;color:#17345f;font-weight:700;position:relative}
.saas-top-icon:hover{border-color:#bcd3ff;background:#f6f9ff;color:#155eef}
.saas-top-icon i{position:absolute;right:-3px;top:-4px;width:17px;height:17px;border-radius:50%;background:#ef3340;color:#fff;font-size:10px;font-style:normal;display:grid;place-items:center}
.saas-user{height:52px;min-width:196px;padding:5px 10px 5px 7px;border:1px solid #e7ecf4;border-radius:13px;background:#fff;display:flex;align-items:center;gap:10px;box-shadow:0 2px 12px rgba(30,64,120,.025)}
.saas-user>b{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e7f0ff;color:#155eef;font-size:15px}
.saas-user div{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.saas-user strong{font-size:13px;color:#0b1f44;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}
.saas-user span:not(.saas-chevron){font-size:11px;color:#71809a;margin-top:4px}
.saas-chevron{margin-left:auto;color:#64748b;font-size:18px}
.saas-menu-btn{display:none;border:1px solid #e5eaf2;background:#fff;border-radius:10px;padding:9px 11px;color:#102a50}
.saas-content{padding:30px 0 50px}
.page>.container,.page .container{width:min(1240px,calc(100% - 52px));margin:0 auto}
.page{min-height:calc(100vh - var(--topbar-h))}
.eyebrow{color:#55709c;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px}
h1,h2,h3{color:#0b1f44;letter-spacing:-.035em}h1{font-size:32px;line-height:1.15;margin:0 0 8px}h2{font-size:19px}h3{font-size:15px}
.lead{color:#66789a;max-width:780px}
.panel,.card,.dash-panel,.dash-stat,.stats>div,.auth-card{background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(250,252,255,.82));border:1px solid #e5ebf3;border-radius:18px;box-shadow:var(--shadow);backdrop-filter:blur(10px)}
.panel{padding:22px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0}.stats>div{padding:19px 20px;min-height:112px}.stats small,.dash-stat small{display:block;color:#7082a1;font-size:12px;font-weight:600;margin-bottom:7px}.stats b,.dash-stat strong{display:block;color:#0b1f44;font-size:27px;letter-spacing:-.04em}.stats span{display:block;color:#6c82a7;font-size:11px;margin-top:6px}.stats.compact{grid-template-columns:repeat(2,1fr);margin:0}.stats.compact>div{min-height:auto;padding:14px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{padding:20px}.icon{width:42px;height:42px;border-radius:12px;background:#edf4ff;color:#2563eb;display:grid;place-items:center}
.btn{border:1px solid #2563eb;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;border-radius:10px;padding:10px 14px;font-weight:700;box-shadow:0 5px 14px rgba(37,99,235,.16);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:hover{filter:brightness(.98);transform:translateY(-1px)}.btn.ghost{background:#fff;color:#204a91;border-color:#dbe4f0;box-shadow:none}.btn.small{padding:8px 11px;font-size:12px}
.task-row{background:rgba(255,255,255,.72);border:1px solid #edf1f6;border-radius:12px;padding:13px 14px;margin:8px 0;display:flex;align-items:center;gap:14px}.task-row>div:first-child{flex:1;min-width:0}.task-row b{color:#17345f;font-size:13px}.task-row small{display:block;color:#7889a5;font-size:11px;margin-top:3px}.status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eff4fa;color:#4b6487;font-size:10px;font-weight:800;letter-spacing:.04em}.status:first-letter{}.progress{height:7px;background:#e9eef7;border-radius:99px;overflow:hidden;margin-top:9px}.progress span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2563eb,#60a5fa)}
input,textarea,select{border:1px solid #dfe6f0;border-radius:10px;background:#fff;color:#132a50;padding:10px 12px;outline:none}input:focus,textarea:focus,select:focus{border-color:#80aefb;box-shadow:0 0 0 3px rgba(37,99,235,.09)}label{color:#304b72;font-weight:600;font-size:12px}
.admin-nav{display:none!important}
.quick-actions{display:flex;flex-wrap:wrap;gap:9px}.notice,.flash{border-radius:12px;border:1px solid #dbe7fb;background:#f2f7ff;color:#24529a;padding:12px 14px}.flash{margin-top:12px}
/* Dashboard-specific modern SaaS treatment */
.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:22px}.dash-stat{padding:19px 20px;min-height:116px}.dash-stat:before{content:"";display:block;width:36px;height:36px;border-radius:11px;background:#edf4ff;margin-bottom:10px;box-shadow:inset 0 0 0 1px #dbe9ff}.dash-stat strong{font-size:27px}.dash-panel{padding:23px;margin-top:18px}.dash-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dash-action{background:#fff;border:1px solid #e5ebf3;border-radius:13px;padding:16px;transition:.18s;box-shadow:0 2px 10px rgba(30,64,120,.025)}.dash-action:hover{border-color:#bcd3ff;background:#f8fbff;transform:translateY(-1px)}.dash-action b{color:#17345f}.dash-action span{color:#7182a0}
@media(max-width:1050px){:root{--sidebar-w:230px}.saas-search{width:42vw}.stats,.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){:root{--sidebar-w:0px}.saas-sidebar{width:270px;transform:translateX(-105%);transition:transform .2s ease;box-shadow:20px 0 50px rgba(15,35,70,.14)}.saas-sidebar.open{transform:translateX(0)}.saas-main{margin-left:0}.saas-topbar{padding:0 16px}.saas-search{display:none}.saas-top-actions{gap:7px}.saas-user{min-width:0;width:45px;padding:4px;justify-content:center}.saas-user div,.saas-user .saas-chevron{display:none}.saas-user>b{width:34px;height:34px}.saas-menu-btn{display:block}.saas-mobile-brand{display:block;margin-right:auto}.saas-mobile-brand img{height:38px;width:132px;object-fit:contain}.saas-content{padding-top:22px}.page>.container,.page .container{width:min(100% - 28px,1240px)}}
@media(max-width:600px){h1{font-size:27px}.stats,.dashboard-grid,.cards,.grid-2{grid-template-columns:1fr}.dash-actions{grid-template-columns:1fr}.panel{padding:17px}.task-row{align-items:flex-start;flex-wrap:wrap}.task-row>a,.task-row>form{width:100%}.saas-top-icon{display:none}.saas-content{padding-bottom:35px}}


/* 2026-09-25 header icon refresh */
.saas-top-actions{gap:14px}
.saas-top-icon{width:64px;height:64px;border-radius:20px;border:1px solid #dbe4f0;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);display:inline-flex;align-items:center;justify-content:center;position:relative;box-shadow:0 10px 28px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.9);transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;color:#16345f;text-decoration:none;flex:0 0 auto}
.saas-top-icon:hover{transform:translateY(-2px);border-color:#bfd3ff;background:linear-gradient(180deg,#ffffff 0%,#eef5ff 100%);box-shadow:0 16px 34px rgba(37,99,235,.12), inset 0 1px 0 rgba(255,255,255,.95);color:#155eef}
.saas-top-icon:focus-visible,.saas-user:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(37,99,235,.14),0 14px 30px rgba(37,99,235,.12)}
.saas-icon-core{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#f7faff 0%,#eaf1ff 100%);color:#173f79;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.saas-icon-core svg{width:20px;height:20px;display:block}
.saas-top-icon i{position:absolute;right:-4px;top:-5px;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:linear-gradient(135deg,#ff5f6d,#ff2d55);color:#fff;font-size:12px;font-weight:800;font-style:normal;display:grid;place-items:center;box-shadow:0 8px 18px rgba(255,45,85,.32);border:3px solid #fff;letter-spacing:-.02em}
.saas-top-icon--help .saas-icon-core{background:linear-gradient(180deg,#f5f8ff 0%,#e6eeff 100%);color:#345da8}
.saas-user-wrap{position:relative}
button.saas-user{appearance:none;cursor:pointer;font:inherit;text-align:left}
.saas-user{height:86px;min-width:328px;padding:12px 14px 12px 14px;border:1px solid #dbe5f0;border-radius:24px;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);display:flex;align-items:center;gap:14px;box-shadow:0 14px 34px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.95);transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;color:#0f2550}
.saas-user:hover{transform:translateY(-1px);border-color:#c6d8ff;box-shadow:0 18px 36px rgba(37,99,235,.10), inset 0 1px 0 rgba(255,255,255,.95)}
.saas-user>b{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#eaf1ff 0%,#dfe9ff 100%);color:#2563eb;font-size:32px;font-weight:800;letter-spacing:-.03em;box-shadow:inset 0 1px 0 rgba(255,255,255,.95)}
.saas-user-copy{display:flex;flex-direction:column;min-width:0;line-height:1.18;flex:1}
.saas-user-copy strong{font-size:18px;font-weight:800;color:#11254f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.saas-user-copy span{font-size:15px;color:#6d83a8;margin-top:7px;font-weight:600}
.saas-chevron{width:28px;height:28px;display:grid;place-items:center;color:#7083a1;flex:0 0 auto}
.saas-chevron svg{width:20px;height:20px;display:block}
.saas-user-menu{position:absolute;right:0;top:calc(100% + 12px);width:230px;background:#fff;border:1px solid #e4ebf5;border-radius:18px;padding:8px;box-shadow:0 24px 50px rgba(15,23,42,.14);display:none;z-index:90}
.saas-user-menu.open{display:block;animation:saasMenuIn .16s ease}
.saas-user-menu a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;color:#16345f;font-weight:600;text-decoration:none}
.saas-user-menu a:hover{background:#f6f9ff;color:#155eef}
.saas-user-menu a small{font-size:11px;color:#155eef;font-weight:700}
@keyframes saasMenuIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.saas-user{min-width:286px;height:76px}.saas-user>b{width:52px;height:52px;font-size:28px}.saas-user-copy strong{font-size:16px}.saas-user-copy span{font-size:14px;margin-top:5px}.saas-top-icon{width:56px;height:56px;border-radius:18px}}
@media(max-width:800px){.saas-top-actions{gap:10px}.saas-top-icon{width:44px;height:44px;border-radius:14px}.saas-icon-core{width:28px;height:28px}.saas-icon-core svg{width:17px;height:17px}.saas-top-icon i{min-width:22px;height:22px;font-size:10px;padding:0 6px;right:-3px;top:-4px;border-width:2px}.saas-user{min-width:0;width:56px;height:56px;padding:5px;justify-content:center;border-radius:18px}.saas-user-copy,.saas-user .saas-chevron{display:none}.saas-user>b{width:42px;height:42px;font-size:22px}.saas-user-menu{right:-8px;width:210px}}
@media(max-width:600px){.saas-top-icon{display:inline-flex}.saas-search{display:none}.saas-topbar{gap:10px}}

.saas-user .saas-user-copy{display:flex;flex-direction:column;min-width:0;line-height:1.18;flex:1}
.saas-user .saas-user-copy strong{font-size:18px;font-weight:800;color:#11254f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.saas-user .saas-user-copy span{font-size:15px;color:#6d83a8;margin-top:7px;font-weight:600}

/* Uploaded tester avatar in SaaS header */
.saas-user>b{overflow:hidden}
.saas-user>b img{width:100%;height:100%;object-fit:cover;display:block}

@media(max-width:800px){.saas-user .saas-user-copy,.saas-user .saas-chevron{display:none}}


/* Developer order tracking - 2026-09-25 */
.order-page-head,.track-order-head,.developer-orders-head,.order-view-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.developer-orders-head{align-items:center;margin-bottom:18px}.order-view-head{align-items:center;margin-bottom:18px}
.developer-orders-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}
.developer-order-card{background:linear-gradient(145deg,#fff,#fbfdff);border:1px solid #e3eaf4;border-radius:22px;padding:23px;box-shadow:0 12px 32px rgba(25,55,100,.06)}
.developer-order-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.developer-order-card h2{font-size:19px;margin:5px 0 5px}.developer-order-card p{margin:0;color:#7182a0;font-size:12px}
.order-number{display:inline-flex;color:#2563eb;background:#edf4ff;border:1px solid #dce9ff;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.track-status{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:999px;background:#eff4fa;color:#4d6384;font-size:10px;font-weight:800;letter-spacing:.035em;white-space:nowrap;text-transform:uppercase}
.track-status--pending{background:#fff6dc;color:#9a6700}.track-status--confirmed{background:#ecfdf3;color:#067647}.track-status--in_progress{background:#edf4ff;color:#175cd3}.track-status--completed{background:#eafbf4;color:#067647}.track-status--cancelled{background:#fff0f0;color:#b42318}
.order-track-mini{margin-top:20px}.order-track-mini-head,.campaign-progress-copy{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#6f82a0;margin-bottom:8px}.order-track-mini-head b,.campaign-progress-copy b{color:#16345f;font-size:12px}
.order-track-bar{height:8px;border-radius:999px;background:#eaf0f8;overflow:hidden}.order-track-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#16b8d4);box-shadow:0 0 16px rgba(37,99,235,.22)}.order-track-bar.large{height:11px}
.order-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.order-meta-grid div,.order-summary-grid div{background:#f8faff;border:1px solid #edf1f7;border-radius:12px;padding:12px}.order-meta-grid small,.order-summary-grid small{display:block;color:#7a8aa5;font-size:10px;margin-bottom:5px}.order-meta-grid b,.order-summary-grid b{color:#17345f;font-size:12px;word-break:break-word}
.developer-order-actions{display:flex;gap:8px;flex-wrap:wrap}.empty-order-state{text-align:center;padding:60px 25px}.track-empty-icon{width:58px;height:58px;margin:0 auto 15px;border-radius:18px;display:grid;place-items:center;background:#edf4ff;color:#2563eb;font-size:28px}
.developer-dashboard-order{padding:17px 0;border-top:1px solid #edf1f6}.developer-dashboard-order:first-of-type{border-top:0}.developer-dashboard-order-main,.developer-dashboard-order-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.developer-dashboard-order-main>div{display:flex;flex-direction:column;gap:4px}.developer-dashboard-order-main b{color:#17345f;font-size:14px}.developer-dashboard-order-main small{color:#7a8ba8}.developer-dashboard-track{margin:12px 0}.developer-dashboard-order-footer>div{display:flex;gap:7px;flex-wrap:wrap}.developer-dashboard-order-footer strong{color:#102a50}
.track-head-actions,.track-action-buttons{display:flex;gap:9px;flex-wrap:wrap}.track-hero-panel{margin-top:22px;padding:26px 28px;border-radius:24px;background:linear-gradient(135deg,#0d2a58 0%,#174ea6 55%,#2563eb 100%);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:25px;box-shadow:0 20px 45px rgba(23,78,166,.18);overflow:hidden;position:relative}.track-hero-panel:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-90px;top:-110px;background:rgba(255,255,255,.08)}.track-hero-copy{position:relative;z-index:1}.track-hero-copy .order-number{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.18);color:#fff}.track-hero-copy h2{color:#fff;font-size:25px;margin:13px 0 7px}.track-hero-copy p{max-width:720px;margin:0;color:#d9e7ff;line-height:1.6}.track-hero-progress{position:relative;z-index:1}.track-progress-ring{--p:0;width:108px;height:108px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(#68e4ff calc(var(--p)*1%),rgba(255,255,255,.18) 0);box-shadow:0 12px 25px rgba(0,0,0,.13)}.track-progress-ring:before{content:"";position:absolute;inset:9px;border-radius:50%;background:#16499b}.track-progress-ring b,.track-progress-ring span{position:absolute;z-index:1}.track-progress-ring b{font-size:24px;color:#fff;margin-top:-12px}.track-progress-ring span{font-size:9px;color:#cce2ff;margin-top:24px;text-transform:uppercase;letter-spacing:.08em}
.tracking-timeline-card{position:relative;margin-top:18px;background:#fff;border:1px solid #e4eaf3;border-radius:22px;padding:28px 24px 24px;box-shadow:0 9px 28px rgba(25,55,100,.05);overflow:hidden}.tracking-line{position:absolute;left:9%;right:9%;top:46px;height:4px;background:#e8eef7;border-radius:99px}.tracking-line span{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#14b8d4);border-radius:99px;max-width:100%}.tracking-steps{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.tracking-step{text-align:center;color:#8492aa}.tracking-dot{width:38px;height:38px;border-radius:50%;margin:0 auto 12px;display:grid;place-items:center;background:#eef2f7;border:4px solid #fff;box-shadow:0 0 0 1px #dfe6f0;color:#70809a;font-size:12px;font-weight:800}.tracking-step b{display:block;color:#667892;font-size:12px}.tracking-step span{display:block;font-size:10px;margin-top:4px}.tracking-step.done .tracking-dot{background:#2563eb;color:#fff;box-shadow:0 0 0 1px #2563eb,0 8px 16px rgba(37,99,235,.18)}.tracking-step.done b{color:#17345f}.tracking-step.current .tracking-dot{background:#e8f7ff;color:#0a79a8;box-shadow:0 0 0 2px #53c8ef,0 8px 18px rgba(14,165,233,.14)}.tracking-step.current b{color:#0b6b92}.tracking-step.cancelled .tracking-dot{background:#fff0f0;color:#b42318;box-shadow:0 0 0 1px #f3b6b6}.tracking-step.cancelled b{color:#b42318}
.track-detail-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;margin-top:18px}.track-summary-panel,.track-action-panel{margin-top:0}.order-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:18px}.track-action-panel{background:linear-gradient(145deg,#fbfdff,#f4f8ff)}.track-action-panel p{color:#66789a;line-height:1.6}.campaign-track-panel{margin-top:18px}.campaign-track-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin:18px 0}.campaign-track-stats div{background:#f7faff;border:1px solid #e9eef6;border-radius:13px;padding:14px}.campaign-track-stats small{display:block;color:#7486a3;font-size:10px}.campaign-track-stats b{display:block;color:#102a50;font-size:22px;margin-top:4px}.campaign-track-footer{display:flex;justify-content:space-between;gap:15px;color:#7182a0;font-size:11px;margin-top:10px}
@media(max-width:1000px){.developer-orders-grid{grid-template-columns:1fr}.track-detail-grid{grid-template-columns:1fr}.order-meta-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.track-hero-panel{padding:22px;align-items:flex-start}.track-progress-ring{width:90px;height:90px}.tracking-timeline-card{padding:20px}.tracking-line{display:none}.tracking-steps{grid-template-columns:1fr;text-align:left;gap:8px}.tracking-step{display:flex;align-items:center;text-align:left;border:1px solid #edf1f6;border-radius:13px;padding:10px 12px}.tracking-dot{margin:0 11px 0 0;flex:0 0 auto}.tracking-step b,.tracking-step span{text-align:left}.order-summary-grid,.campaign-track-stats{grid-template-columns:repeat(2,1fr)}.developer-dashboard-order-main,.developer-dashboard-order-footer{align-items:flex-start;flex-direction:column}.developer-dashboard-order-footer>div{width:100%}.developer-dashboard-order-footer .btn{flex:1}.track-order-head,.order-page-head{display:block}.track-head-actions,.order-page-head>.btn{margin-top:14px}}
@media(max-width:500px){.track-hero-panel{display:block}.track-hero-progress{margin-top:20px}.order-meta-grid,.order-summary-grid{grid-template-columns:1fr}.campaign-track-stats{grid-template-columns:repeat(2,1fr)}.developer-order-card{padding:18px}.developer-order-card-top{display:block}.developer-order-card-top .track-status{margin-top:10px}.developer-order-actions .btn{width:100%}}

/* 2026-09-25 tester sidebar model 5 */
.nav-ico{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px}
.nav-ico svg{width:20px;height:20px;display:block}
.saas-nav-label{display:none}
.saas-sidebar-user{display:none}
.saas-sidebar-user-avatar img,.saas-user>b img{width:100%;height:100%;object-fit:cover;border-radius:inherit}

.role-tester{background:#f6f8fc}
.role-tester .saas-sidebar{background:radial-gradient(circle at top,#0d2f63 0%,#051731 34%,#041125 68%,#020a16 100%);color:#e8f0ff;border-right:1px solid rgba(255,255,255,.08);box-shadow:18px 0 52px rgba(2,15,36,.28);padding:24px 18px 18px;overflow-y:auto}
.role-tester .saas-sidebar::before{content:"";position:absolute;inset:0 0 auto 0;height:220px;background:radial-gradient(circle at 20% 5%,rgba(0,183,255,.22),transparent 48%),radial-gradient(circle at 82% 10%,rgba(59,130,246,.20),transparent 42%);pointer-events:none}
.role-tester .saas-brand,.role-tester .saas-role,.role-tester .saas-nav,.role-tester .saas-support,.role-tester .saas-signout{position:relative;z-index:1}
.role-tester .saas-brand{height:auto;padding:0 8px;margin-bottom:18px}
.role-tester .saas-brand img{width:184px;height:58px;object-fit:contain;filter:drop-shadow(0 14px 24px rgba(0,0,0,.24))}
.role-tester .saas-role{display:none}
.role-tester .saas-sidebar-user{display:flex;align-items:center;gap:12px;margin:0 6px 18px;padding:14px 14px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.role-tester .saas-sidebar-user-avatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#ffffff,#dbe8ff);color:#2563eb;font-weight:800;font-size:26px;flex:0 0 auto;box-shadow:0 12px 24px rgba(1,10,22,.24)}
.role-tester .saas-sidebar-user-copy{min-width:0;display:flex;flex-direction:column}
.role-tester .saas-sidebar-user-copy strong{font-size:18px;line-height:1.15;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}
.role-tester .saas-sidebar-user-copy span{font-size:14px;font-weight:500;color:#dbe7ff;margin-top:5px}
.role-tester .saas-nav{gap:12px}
.role-tester .saas-nav-group{padding:0 6px}
.role-tester .saas-nav-group + .saas-nav-group{margin-top:2px;padding-top:18px;border-top:1px solid rgba(255,255,255,.10)}
.role-tester .saas-nav-label{display:block;margin:0 12px 10px;color:#89a8db;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.role-tester .saas-nav a{min-height:54px;border-radius:16px;color:#edf4ff;background:transparent;border:1px solid transparent;padding:0 14px;font-size:15px;font-weight:650;gap:12px;box-shadow:none}
.role-tester .saas-nav a .nav-ico{width:22px;height:22px;flex-basis:22px;color:#f4f8ff;opacity:.96}
.role-tester .saas-nav a .nav-ico svg{width:22px;height:22px}
.role-tester .saas-nav a:hover{background:rgba(255,255,255,.075);color:#fff;border-color:rgba(255,255,255,.08);transform:none}
.role-tester .saas-nav a.active{background:linear-gradient(135deg,#0a78ff 0%,#1457ff 100%);color:#fff;border-color:rgba(255,255,255,.12);box-shadow:0 14px 28px rgba(16,95,255,.28), inset 0 1px 0 rgba(255,255,255,.24)}
.role-tester .saas-nav a.active:before{display:none}
.role-tester .saas-nav a.active .nav-ico{color:#fff}
.role-tester .saas-support,.role-tester .saas-signout{border-radius:17px;min-height:54px;padding:0 16px;gap:12px;font-size:15px}
.role-tester .saas-support{margin:18px 6px 0;background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.06));color:#f5f8ff;border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.role-tester .saas-support:hover{background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.09));border-color:rgba(255,255,255,.18);color:#fff;transform:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 10px 24px rgba(0,0,0,.16)}
.role-tester .saas-support .nav-ico{width:24px;height:24px;color:#29d7ff}
.role-tester .saas-support .nav-ico svg{width:24px;height:24px}
.role-tester .saas-signout{margin:10px 6px 0;background:transparent;color:#c6d8f5;border:1px solid rgba(255,255,255,.08)}
.role-tester .saas-signout:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:#fff}
.role-tester .saas-topbar{background:rgba(255,255,255,.9)}
@media(max-width:800px){
  .role-tester .saas-sidebar{width:296px;padding:22px 16px 18px}
  .role-tester .saas-sidebar-user-copy strong{max-width:140px}
}

/* === Unified TestLancer SaaS workspace theme — tester / developer / admin === */
html,body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
:root{--suite-ink:#0a1f44;--suite-blue:#0b6cff;--suite-blue2:#1f5cff;--suite-muted:#667a9a;--suite-line:#e3eaf4;--suite-bg:#f5f8fd;--suite-card:#fff;--suite-green:#08b77a;--suite-purple:#7c3aed;--suite-amber:#f5a500}
body.role-tester,body.role-developer,body.role-admin{background:var(--suite-bg);color:var(--suite-ink)}
:is(.role-tester,.role-developer,.role-admin) .saas-sidebar{background:radial-gradient(circle at top,#0d2f63 0%,#051731 34%,#041125 68%,#020a16 100%);color:#e8f0ff;border-right:1px solid rgba(255,255,255,.08);box-shadow:18px 0 52px rgba(2,15,36,.28);padding:24px 18px 18px;overflow-y:auto}
:is(.role-tester,.role-developer,.role-admin) .saas-sidebar::before{content:"";position:absolute;inset:0 0 auto 0;height:230px;background:radial-gradient(circle at 20% 5%,rgba(0,183,255,.20),transparent 48%),radial-gradient(circle at 82% 10%,rgba(59,130,246,.18),transparent 42%);pointer-events:none}
:is(.role-tester,.role-developer,.role-admin) .saas-brand,
:is(.role-tester,.role-developer,.role-admin) .saas-role,
:is(.role-tester,.role-developer,.role-admin) .saas-sidebar-user,
:is(.role-tester,.role-developer,.role-admin) .saas-nav,
:is(.role-tester,.role-developer,.role-admin) .saas-support,
:is(.role-tester,.role-developer,.role-admin) .saas-signout{position:relative;z-index:1}
:is(.role-tester,.role-developer,.role-admin) .saas-brand{height:auto;padding:0 8px;margin-bottom:14px}
:is(.role-tester,.role-developer,.role-admin) .saas-brand img{width:184px;height:58px;object-fit:contain;filter:drop-shadow(0 14px 24px rgba(0,0,0,.24))}
:is(.role-tester,.role-developer,.role-admin) .saas-role{display:none}
:is(.role-tester,.role-developer,.role-admin) .saas-sidebar-user{display:flex;align-items:center;gap:12px;margin:0 6px 18px;padding:13px 14px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.055));border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
:is(.role-tester,.role-developer,.role-admin) .saas-sidebar-user-avatar{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#fff,#dbe8ff);color:#2563eb;font-weight:800;font-size:24px;flex:0 0 auto;box-shadow:0 12px 24px rgba(1,10,22,.24)}
:is(.role-tester,.role-developer,.role-admin) .saas-sidebar-user-copy{min-width:0;display:flex;flex-direction:column}
:is(.role-tester,.role-developer,.role-admin) .saas-sidebar-user-copy strong{font-size:14px;line-height:1.2;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}
:is(.role-tester,.role-developer,.role-admin) .saas-sidebar-user-copy span{font-size:12px;font-weight:500;color:#cddbf4;margin-top:5px}
:is(.role-tester,.role-developer,.role-admin) .saas-nav{gap:12px}
:is(.role-tester,.role-developer,.role-admin) .saas-nav-group{padding:0 6px}
:is(.role-tester,.role-developer,.role-admin) .saas-nav-group + .saas-nav-group{margin-top:2px;padding-top:16px;border-top:1px solid rgba(255,255,255,.10)}
:is(.role-tester,.role-developer,.role-admin) .saas-nav-label{display:block;margin:0 12px 9px;color:#8faadc;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
:is(.role-tester,.role-developer,.role-admin) .saas-nav a{min-height:49px;border-radius:14px;color:#edf4ff;background:transparent;border:1px solid transparent;padding:0 13px;font-size:13px;font-weight:650;gap:11px;box-shadow:none}
:is(.role-tester,.role-developer,.role-admin) .saas-nav a .nav-ico{width:20px;height:20px;flex-basis:20px;color:#eff5ff;opacity:.96}
:is(.role-tester,.role-developer,.role-admin) .saas-nav a .nav-ico svg{width:20px;height:20px}
:is(.role-tester,.role-developer,.role-admin) .saas-nav a:hover{background:rgba(255,255,255,.075);color:#fff;border-color:rgba(255,255,255,.08);transform:none}
:is(.role-tester,.role-developer,.role-admin) .saas-nav a.active{background:linear-gradient(135deg,#0a78ff 0%,#1457ff 100%);color:#fff;border-color:rgba(255,255,255,.12);box-shadow:0 14px 28px rgba(16,95,255,.28),inset 0 1px 0 rgba(255,255,255,.24)}
:is(.role-tester,.role-developer,.role-admin) .saas-nav a.active:before{display:none}
:is(.role-tester,.role-developer,.role-admin) .saas-support,
:is(.role-tester,.role-developer,.role-admin) .saas-signout{border-radius:15px;min-height:50px;padding:0 14px;gap:11px;font-size:13px}
:is(.role-tester,.role-developer,.role-admin) .saas-support{margin:18px 6px 0;background:linear-gradient(135deg,#08a766,#087b65);color:#fff;border:1px solid rgba(255,255,255,.14);box-shadow:0 10px 24px rgba(0,130,90,.2)}
:is(.role-tester,.role-developer,.role-admin) .saas-support:hover{background:linear-gradient(135deg,#09b36e,#07866b);color:#fff;transform:none;border-color:rgba(255,255,255,.18)}
:is(.role-tester,.role-developer,.role-admin) .saas-support .nav-ico{color:#fff}
:is(.role-tester,.role-developer,.role-admin) .saas-signout{margin:9px 6px 0;background:transparent;color:#c6d8f5;border:1px solid rgba(255,255,255,.07)}
:is(.role-tester,.role-developer,.role-admin) .saas-signout:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#fff}
:is(.role-tester,.role-developer,.role-admin) .saas-topbar{height:74px;background:rgba(255,255,255,.94);border-bottom:1px solid #e7edf5;box-shadow:0 4px 16px rgba(25,53,94,.025)}
:is(.role-tester,.role-developer,.role-admin) .saas-search{height:42px;border-radius:10px;background:#f3f6fb;border-color:#eef2f8;box-shadow:none}
.saas-currency-select{height:40px;display:flex;align-items:center;gap:5px;padding:0 8px 0 10px;border:1px solid #e4eaf3;border-radius:11px;background:#fff;color:#15325c;font-size:12px;font-weight:700;box-shadow:0 3px 12px rgba(30,64,120,.035)}
.saas-currency-select select{border:0!important;box-shadow:none!important;padding:0 18px 0 3px!important;height:34px!important;background:transparent!important;color:#15325c!important;font-size:12px;font-weight:750;min-width:58px}
.currency-globe{font-size:18px;line-height:1;color:#1d4f91}
:is(.role-tester,.role-developer,.role-admin) .saas-content{padding-top:20px}

/* Unified dashboard components */
.suite-dashboard{--ink:#0a1f44;--muted:#65799a;--line:#e3eaf4;--blue:#0b6cff;--green:#08ad72;--purple:#7c3aed;--amber:#f3a400}
.suite-dashboard>.container{width:min(1320px,calc(100% - 42px))!important}
.suite-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:24px;align-items:center;min-height:176px;padding:28px 34px;border:1px solid #dfe8f5;border-radius:18px;background:linear-gradient(112deg,#eef7ff 0%,#eef4ff 44%,#f5efff 100%);box-shadow:0 10px 34px rgba(40,72,125,.055);margin-bottom:15px}
.suite-hero::before{content:"";position:absolute;right:18%;top:-110px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(51,153,255,.24),rgba(112,85,255,.08) 46%,transparent 68%)}
.suite-hero::after{content:"";position:absolute;right:2%;bottom:-130px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.88),rgba(115,167,255,.09) 50%,transparent 70%)}
.suite-hero-copy,.suite-hero-points{position:relative;z-index:1}
.suite-kicker{display:inline-flex;align-items:center;gap:7px;color:#4e6e9d;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}
.suite-hero h1{font-size:34px;line-height:1.1;margin:0;color:#091d40;letter-spacing:-.045em}.suite-hero h1 span{color:#0b63e5}.suite-hero p{font-size:13px;color:#5f7394;margin:10px 0 0;max-width:650px;line-height:1.6}
.suite-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.suite-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 14px;border-radius:10px;border:1px solid #d8e3f2;background:#fff;color:#1c4d95;font-size:11px;font-weight:800;text-decoration:none;transition:.16s}.suite-btn.primary{background:linear-gradient(135deg,#0b78ff,#1459ff);border-color:#0b69f1;color:#fff;box-shadow:0 8px 18px rgba(14,102,255,.18)}.suite-btn:hover{transform:translateY(-1px)}
.suite-hero-points{justify-self:end;width:min(100%,290px);padding:14px 17px;border-radius:16px;border:1px solid rgba(255,255,255,.72);background:rgba(255,255,255,.62);backdrop-filter:blur(9px);box-shadow:0 12px 26px rgba(34,72,128,.07)}
.suite-hero-point{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:12px;color:#17365f;font-weight:650}.suite-check{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#10c58c,#00a76f);font-size:11px;box-shadow:0 5px 12px rgba(16,197,140,.2)}.suite-hero-point:nth-child(2) .suite-check{background:linear-gradient(135deg,#2d8cff,#1764e8)}.suite-hero-point:nth-child(3) .suite-check{background:linear-gradient(135deg,#9b3cf6,#7517e8)}
.suite-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.suite-kpi{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px 16px;min-height:94px;box-shadow:0 7px 24px rgba(31,65,115,.045)}.suite-kpi-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#eaf3ff;color:#0b69f1;font-size:20px;font-weight:900}.suite-kpi:nth-child(2) .suite-kpi-icon{background:#f1eaff;color:#7c3aed}.suite-kpi:nth-child(3) .suite-kpi-icon{background:#e6fbf3;color:#08a66e}.suite-kpi:nth-child(4) .suite-kpi-icon{background:#fff4dd;color:#eda000}.suite-kpi strong{display:block;font-size:23px;color:#0b1e42;letter-spacing:-.04em;line-height:1.05}.suite-kpi small{display:block;margin-top:6px;color:#687d9f;font-size:11px}.suite-kpi .suite-delta{font-size:9px;font-weight:800;color:#0b9d69;margin-left:6px;padding:4px 6px;border-radius:999px;background:#e7f9f2;vertical-align:3px}
.suite-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.85fr);gap:14px;align-items:start}.suite-stack{display:grid;gap:14px}.suite-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;box-shadow:0 8px 26px rgba(31,65,115,.045)}.suite-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.suite-card-head h2{font-size:16px;margin:0;color:#0b1f44;letter-spacing:-.025em}.suite-card-head p{font-size:10.5px;color:#7a8ba5;margin:4px 0 0}.suite-card-link{font-size:10.5px;font-weight:800;color:#0b67ec;text-decoration:none;white-space:nowrap}.suite-card-link:hover{text-decoration:underline}
.suite-list{display:grid;gap:8px}.suite-list-row{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 11px;border:1px solid #e8edf5;border-radius:12px;background:#fff;transition:.16s}.suite-list-row:hover{border-color:#cfe0ff;box-shadow:0 6px 14px rgba(23,93,190,.05)}.suite-list-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;flex:0 0 auto;background:linear-gradient(135deg,#eaf3ff,#f5f8ff);color:#1762d9;font-weight:900}.suite-list-main{min-width:0;flex:1}.suite-list-main b{display:block;font-size:12px;color:#122f58;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suite-list-main small{display:flex;gap:7px;flex-wrap:wrap;margin-top:5px;color:#788aa6;font-size:9.5px}.suite-pill{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#f1f5fa;color:#607795;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.suite-pill.green{background:#e7faf2;color:#078558}.suite-pill.blue{background:#eaf3ff;color:#155fd0}.suite-pill.amber{background:#fff5dc;color:#a66b00}.suite-pill.red{background:#fff0f0;color:#c03737}.suite-row-value{font-size:12px;font-weight:850;color:#0a9b66;white-space:nowrap}.suite-row-action{min-width:92px;height:36px;border:0;border-radius:9px;background:linear-gradient(135deg,#0879ff,#155cff);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:10.5px;font-weight:800;text-decoration:none;box-shadow:0 6px 14px rgba(14,102,255,.16)}
.suite-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.suite-quick{display:grid;grid-template-columns:39px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:12px;border-radius:13px;border:1px solid #e3eaf4;background:linear-gradient(135deg,#f7fbff,#eef5ff);text-decoration:none;color:#13345f}.suite-quick:nth-child(2){background:linear-gradient(135deg,#fbf8ff,#f3ecff)}.suite-quick:nth-child(3){background:linear-gradient(135deg,#f5fffb,#eafaf3)}.suite-quick:nth-child(4){background:linear-gradient(135deg,#fffaf1,#fff3dc)}.suite-quick-icon{width:39px;height:39px;border-radius:11px;display:grid;place-items:center;background:#0b78ff;color:#fff;font-size:17px;font-weight:900;box-shadow:0 7px 15px rgba(11,120,255,.2)}.suite-quick:nth-child(2) .suite-quick-icon{background:#7c3aed}.suite-quick:nth-child(3) .suite-quick-icon{background:#08a86f}.suite-quick:nth-child(4) .suite-quick-icon{background:#f4a300}.suite-quick b{display:block;font-size:11px}.suite-quick small{display:block;font-size:9px;color:#7386a3;margin-top:3px}.suite-arrow{font-size:18px;color:#164887}
.suite-bars{height:150px;display:flex;align-items:flex-end;gap:8px;padding:12px 4px 0;border-bottom:1px solid #e8edf5;background:repeating-linear-gradient(to top,#fff 0,#fff 36px,#eef2f7 37px)}.suite-bar{flex:1;min-width:8px;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#8fc5ff,#cfe4ff);height:var(--h,20%)}.suite-bar.emph{background:linear-gradient(180deg,#0b78ff,#195bff)}.suite-chart-caption{display:flex;justify-content:space-between;color:#8795aa;font-size:9px;margin-top:7px}.suite-currency-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.suite-currency{border:1px solid #dfe7f2;border-radius:11px;padding:9px 10px;background:#fff}.suite-currency b{display:block;font-size:10px;color:#1a3a66}.suite-currency span{display:block;font-size:11px;font-weight:850;color:#0b1f44;margin-top:4px}
.suite-task-board{margin-bottom:14px}
.suite-task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.suite-task-tile{display:grid;gap:10px;padding:16px;border:1px solid #e4ebf5;border-radius:15px;background:linear-gradient(180deg,#ffffff,#f8fbff);box-shadow:0 8px 20px rgba(31,65,115,.04);transition:.16s}
.suite-task-tile:hover{transform:translateY(-2px);border-color:#cfe0ff;box-shadow:0 12px 24px rgba(23,93,190,.08)}
.suite-task-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.suite-task-amount{font-size:16px;font-weight:900;color:#08a66e;white-space:nowrap}
.suite-task-tile h3{margin:0;font-size:14px;line-height:1.35;color:#0f2c56;letter-spacing:-.02em}
.suite-task-tile p{margin:0;font-size:10.5px;line-height:1.6;color:#7083a1;min-height:50px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.suite-task-meta{display:flex;flex-wrap:wrap;gap:6px}
.suite-task-meta span{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#eef4fb;color:#5f7596;font-size:9px;font-weight:700}
.suite-task-tile .suite-row-action{width:100%;margin-top:2px}
.suite-empty{padding:28px 18px;border:1px dashed #d7e1ee;border-radius:13px;background:#fbfcfe;text-align:center;color:#72839e}.suite-empty b{display:block;color:#264a78;font-size:12px;margin-bottom:5px}.suite-empty span{font-size:10px}
.suite-progress{height:7px;border-radius:999px;background:#e9eef6;overflow:hidden}.suite-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0878ff,#1d5bff)}
.suite-mini-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.suite-mini-stat{padding:12px;border-radius:12px;border:1px solid #e6ebf3;background:#fafcff}.suite-mini-stat small{display:block;font-size:9px;color:#8190a7}.suite-mini-stat b{display:block;font-size:15px;color:#15345f;margin-top:5px}
.suite-attention{display:grid;gap:8px}.suite-attention-row{display:flex;align-items:center;gap:12px;border:1px solid #e6ebf3;border-radius:12px;padding:11px 12px}.suite-attention-row>div{flex:1;min-width:0}.suite-attention-row b{display:block;font-size:11px;color:#16375f}.suite-attention-row small{font-size:9px;color:#7c8ca5}.suite-count{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#fff4dc;color:#a66a00;font-weight:900;font-size:12px}
@media(max-width:1100px){.suite-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.suite-grid{grid-template-columns:1fr}.suite-hero{grid-template-columns:1fr minmax(260px,.55fr)}.suite-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.saas-currency-select{display:none}:is(.role-tester,.role-developer,.role-admin) .saas-sidebar{width:296px;padding:22px 16px 18px}.suite-dashboard>.container{width:min(100% - 26px,1320px)!important}.suite-hero{grid-template-columns:1fr;padding:22px}.suite-hero-points{justify-self:stretch;width:100%}.suite-hero h1{font-size:29px}.suite-grid{grid-template-columns:1fr}.suite-card{padding:16px}.suite-list-row{flex-wrap:wrap}.suite-row-action{margin-left:54px}.suite-quick-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.suite-kpis{grid-template-columns:1fr}.suite-quick-grid,.suite-currency-grid,.suite-task-grid{grid-template-columns:1fr}.suite-hero h1{font-size:26px}.suite-hero-points{display:none}.suite-row-action{margin-left:0;width:100%}.suite-list-row{align-items:flex-start}.suite-kpi{min-height:84px}}

/* Compact top bar for unified dashboard */
:is(.role-tester,.role-developer,.role-admin) .saas-top-actions{gap:9px}
:is(.role-tester,.role-developer,.role-admin) .saas-top-icon{width:40px;height:40px;border-radius:11px;border:1px solid #e4eaf3;background:#fff;box-shadow:0 3px 12px rgba(30,64,120,.035)}
:is(.role-tester,.role-developer,.role-admin) .saas-top-icon:hover{transform:none;background:#f7faff;box-shadow:0 5px 14px rgba(37,99,235,.07)}
:is(.role-tester,.role-developer,.role-admin) .saas-icon-core{width:28px;height:28px;background:transparent;box-shadow:none}
:is(.role-tester,.role-developer,.role-admin) .saas-icon-core svg{width:18px;height:18px}
:is(.role-tester,.role-developer,.role-admin) .saas-top-icon i{min-width:19px;height:19px;padding:0 5px;border-width:2px;right:-4px;top:-5px;font-size:9px}
:is(.role-tester,.role-developer,.role-admin) .saas-user{height:44px;min-width:205px;padding:4px 9px 4px 5px;border-radius:13px;border:1px solid #e4eaf3;gap:9px;box-shadow:0 3px 12px rgba(30,64,120,.035)}
:is(.role-tester,.role-developer,.role-admin) .saas-user:hover{transform:none;box-shadow:0 5px 14px rgba(37,99,235,.07)}
:is(.role-tester,.role-developer,.role-admin) .saas-user>b{width:34px;height:34px;font-size:16px}
:is(.role-tester,.role-developer,.role-admin) .saas-user .saas-user-copy strong{font-size:11.5px;max-width:120px}
:is(.role-tester,.role-developer,.role-admin) .saas-user .saas-user-copy span{font-size:9.5px;margin-top:3px}
:is(.role-tester,.role-developer,.role-admin) .saas-chevron{width:20px;height:20px}.saas-chevron svg{width:16px;height:16px}
@media(max-width:1050px){:is(.role-tester,.role-developer,.role-admin) .saas-user{min-width:160px}.saas-currency-select{display:none}}
@media(max-width:800px){:is(.role-tester,.role-developer,.role-admin) .saas-user{width:44px;height:44px;min-width:44px;padding:4px}:is(.role-tester,.role-developer,.role-admin) .saas-user>b{width:34px;height:34px}:is(.role-tester,.role-developer,.role-admin) .saas-top-icon{width:40px;height:40px}}

/* v21 Admin broadcast popup messages */
.broadcast-popup-backdrop{position:fixed;inset:0;z-index:2147482000;background:rgba(3,13,31,.58);backdrop-filter:blur(7px);display:grid;place-items:center;padding:24px;animation:broadcastFade .18s ease}
.broadcast-popup-card{width:min(560px,100%);background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid #dfe7f3;border-radius:28px;padding:28px;box-shadow:0 32px 90px rgba(2,14,34,.32);position:relative;overflow:hidden;animation:broadcastRise .22s ease}
.broadcast-popup-card:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:#2563eb}
.broadcast-popup-card.type-update:before{background:linear-gradient(90deg,#2563eb,#7c3aed)}
.broadcast-popup-card.type-success:before{background:#0eaf70}
.broadcast-popup-card.type-warning:before{background:#e7a008}
.broadcast-popup-card.type-urgent:before{background:#ef4444}
.broadcast-popup-top{display:flex;align-items:flex-start;gap:16px}
.broadcast-popup-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;flex:0 0 48px;background:#eaf2ff;color:#185cd8;font-size:23px;font-weight:900;box-shadow:inset 0 0 0 1px #d7e5ff}
.type-update .broadcast-popup-icon{background:#f1eaff;color:#7138d5;box-shadow:inset 0 0 0 1px #e4d7ff}
.type-success .broadcast-popup-icon{background:#e5faf2;color:#0b9c63;box-shadow:inset 0 0 0 1px #c9f1e1}
.type-warning .broadcast-popup-icon{background:#fff6dd;color:#a56b00;box-shadow:inset 0 0 0 1px #f8e6b3}
.type-urgent .broadcast-popup-icon{background:#fff0f0;color:#cf2d2d;box-shadow:inset 0 0 0 1px #ffd1d1}
.broadcast-popup-kicker{font-size:11px;font-weight:850;letter-spacing:.13em;text-transform:uppercase;color:#6d82a3;margin:2px 0 7px}
.broadcast-popup-card h2{font-size:25px;line-height:1.16;margin:0;color:#0b1f44;letter-spacing:-.035em}
.broadcast-popup-message{margin-top:18px;color:#4c6183;font-size:15px;line-height:1.72;white-space:normal}
.broadcast-popup-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:22px}
.broadcast-popup-actions form{margin:0}
.broadcast-popup-foot{display:block;margin-top:18px;color:#91a0b8;font-size:11px}
@keyframes broadcastFade{from{opacity:0}to{opacity:1}}
@keyframes broadcastRise{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}

.broadcast-admin-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;margin-top:20px}
.broadcast-editor-card,.broadcast-preview-card{margin-top:0}
.broadcast-form label{display:block;margin:14px 0 0}
.broadcast-form label>input,.broadcast-form label>textarea,.broadcast-form label>select{width:100%;margin-top:7px}
.broadcast-form .two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.broadcast-check{display:flex!important;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid #e2e8f1;border-radius:13px;background:#fbfdff}
.broadcast-check input{width:auto;margin:3px 0 0}
.broadcast-check span{display:flex;flex-direction:column;gap:3px}
.broadcast-check b{color:#17345f}.broadcast-check small{color:#7485a0;font-weight:500}
.broadcast-preview-shell{min-height:420px;border-radius:22px;background:radial-gradient(circle at 50% 0,#e9f2ff,#f6f8fc 55%,#eef3fa);display:grid;place-items:center;padding:22px}
.broadcast-preview-modal{width:100%;max-width:390px;background:#fff;border:1px solid #dfe7f3;border-radius:24px;padding:24px;box-shadow:0 22px 55px rgba(9,31,70,.14)}
.broadcast-preview-modal h3{font-size:21px;margin:10px 0;color:#0b1f44}
.broadcast-preview-modal p{font-size:13px;color:#5f7291;line-height:1.65;min-height:68px}
.broadcast-admin-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.broadcast-admin-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:13px;align-items:center;padding:15px;border:1px solid #e5ebf3;border-radius:16px;background:#fff}
.broadcast-admin-type{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#eaf2ff;color:#185cd8;font-size:19px;font-weight:900}
.broadcast-admin-type.type-update{background:#f1eaff;color:#7138d5}.broadcast-admin-type.type-success{background:#e5faf2;color:#0b9c63}.broadcast-admin-type.type-warning{background:#fff6dd;color:#a56b00}.broadcast-admin-type.type-urgent{background:#fff0f0;color:#cf2d2d}
.broadcast-admin-main{min-width:0}.broadcast-admin-main>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.broadcast-admin-main b{color:#17345f;font-size:14px}.broadcast-admin-main p{margin:5px 0;color:#667b9d;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.broadcast-admin-main small{color:#93a0b4;font-size:10px}
.broadcast-state{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#edf4ff;color:#2563eb;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.broadcast-state.state-inactive,.broadcast-state.state-expired{background:#f1f3f6;color:#667085}.broadcast-state.state-scheduled{background:#fff5da;color:#946200}
.broadcast-admin-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.broadcast-admin-actions form{margin:0}.broadcast-delete{background:#fff!important;border-color:#fecaca!important;color:#c81e1e!important;box-shadow:none!important}
@media(max-width:1050px){.broadcast-admin-grid{grid-template-columns:1fr}.broadcast-preview-shell{min-height:300px}}
@media(max-width:700px){.broadcast-form .two{grid-template-columns:1fr}.broadcast-admin-row{grid-template-columns:42px minmax(0,1fr)}.broadcast-admin-actions{grid-column:1/-1;justify-content:flex-start}.broadcast-popup-card{padding:22px;border-radius:22px}.broadcast-popup-card h2{font-size:22px}.broadcast-popup-backdrop{padding:14px}}

/* TestLancer brand refresh — 2026-09-26 */
:is(.role-tester,.role-developer,.role-admin) .saas-brand{
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.72);
  border-radius:16px;
  padding:7px 10px;
  margin-left:5px;
  margin-right:5px;
  box-shadow:0 12px 28px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.95);
}
:is(.role-tester,.role-developer,.role-admin) .saas-brand img{
  width:188px;
  height:52px;
  filter:none;
}
.saas-mobile-brand img{object-fit:contain}
@media(max-width:800px){
  :is(.role-tester,.role-developer,.role-admin) .saas-brand{margin-left:4px;margin-right:4px}
}


/* TestLancer final logo placement — 2026-09-26 */
:is(.role-tester,.role-developer,.role-admin) .saas-brand{
  min-height:72px;
  height:auto;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  background:transparent;
  border:0;
  border-radius:0;
  padding:2px 4px;
  margin:0 4px 18px;
  box-shadow:none;
  overflow:visible;
}
:is(.role-tester,.role-developer,.role-admin) .saas-brand img{
  width:214px;
  max-width:100%;
  height:auto;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.22));
}
.saas-mobile-brand img{
  width:150px;
  height:auto;
  max-height:44px;
  object-fit:contain;
}
@media(max-width:800px){
  :is(.role-tester,.role-developer,.role-admin) .saas-brand{
    min-height:70px;
    margin:0 4px 16px;
  }
  :is(.role-tester,.role-developer,.role-admin) .saas-brand img{width:218px;height:auto}
  .saas-mobile-brand img{width:142px;height:auto;max-height:40px}
}
