:root{
  --blue:#075b91;
  --blue-deep:#063f79;
  --teal:#10a7a0;
  --mint:#69d7a5;
  --dark:#102b3f;
  --muted:#667889;
  --bg:#f4fbfc;
  --card:#ffffff;
  --line:#d9eaee;
  --danger:#d9534f;
  --warning:#f0ad4e;
  --success:#25a56a;
  --shadow:0 22px 60px rgba(7,91,145,.12);
  --soft:0 12px 32px rgba(16,167,160,.10);
  --radius:24px;
}

*{box-sizing:border-box;min-width:0}
html{width:100%;max-width:100%;scroll-behavior:smooth;overflow-x:hidden}
body{width:100%;max-width:100%;min-height:100dvh;margin:0;font-family:Inter,Arial,sans-serif;color:var(--dark);font-size:16px;background:radial-gradient(circle at 0 0,#dffcf6 0,#f4fbfc 34%,#fbfdff 100%);overflow-x:hidden;display:flex;flex-direction:column}
body.nav-open,body.portal-open{overflow:hidden}
a{color:var(--blue);text-decoration:none}
img{max-width:100%;height:auto;display:block}
main{flex:1 0 auto;min-height:70vh;width:100%;max-width:100vw;overflow-x:hidden}
hr{border:0;border-top:1px solid var(--line);margin:20px 0}
.muted{color:var(--muted);line-height:1.65}
.container,.narrow{width:min(100% - 28px,760px);margin:24px auto}

/* Top navigation */
.topbar{height:76px;background:#fff;border-bottom:1px solid rgba(217,234,238,.95);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;position:sticky;top:0;z-index:60;box-shadow:0 10px 26px rgba(7,91,145,.06)}
.brand{display:flex;align-items:center;flex:1 1 auto;max-width:260px;overflow:hidden;background:#fff!important;border:0!important;padding:0!important;box-shadow:none!important}
.brand img{height:58px;width:auto;max-width:100%;object-fit:contain;background:#fff!important;padding:0!important;border-radius:0!important;filter:drop-shadow(0 8px 13px rgba(7,91,145,.10))}
.mobile-nav-toggle{flex:0 0 46px;width:46px;height:46px;min-height:46px;border-radius:999px;background:#fff;border:1px solid rgba(16,167,160,.22);box-shadow:0 12px 28px rgba(7,91,145,.12);display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;padding:0;color:var(--dark);cursor:pointer}
.mobile-nav-toggle span{width:20px;height:3px;border-radius:999px;background:linear-gradient(135deg,var(--blue),var(--teal))}
.nav-backdrop,.sidebar-backdrop{position:fixed;inset:0;background:rgba(9,34,51,.42);opacity:0;pointer-events:none;transition:.24s ease;z-index:70}
.nav-open .nav-backdrop,.portal-open .sidebar-backdrop{opacity:1;pointer-events:auto}
.main-nav{position:fixed;top:0;right:0;width:min(90vw,370px);max-width:calc(100vw - 14px);height:100dvh;background:#fff;z-index:80;transform:translateX(105%);transition:transform .28s ease;padding:18px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;overflow-x:hidden;box-shadow:-22px 0 60px rgba(7,91,145,.18)}
.nav-open .main-nav{transform:translateX(0)}
.nav-drawer-head,.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.nav-drawer-head img,.sidebar-head img{height:54px;width:auto;max-width:230px;object-fit:contain;background:#fff!important;padding:0!important}
.nav-drawer-head button,.sidebar-head button,.client-close{width:42px;height:42px;min-height:42px;border-radius:14px;padding:0;background:#eff8f9;color:var(--dark);border:1px solid var(--line);box-shadow:none;font-size:28px;line-height:1;display:grid;place-items:center}
.main-nav a{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:14px 15px;border-radius:18px;background:#fff;color:var(--dark);font-weight:900;border:1px solid rgba(217,234,238,.9);box-shadow:0 8px 22px rgba(7,91,145,.05)}
.main-nav a:hover{background:#eefbfa;color:var(--teal)}
.main-nav .nav-login{background:#eef9ff;color:var(--blue);border-color:#cfeaf7}
.main-nav .nav-register{background:linear-gradient(135deg,var(--blue-deep),var(--teal) 68%,var(--mint));color:#fff;border:0;box-shadow:0 16px 36px rgba(16,167,160,.28)}
.main-nav .nav-employer{background:linear-gradient(135deg,#fff7df,#eefbfa);color:#0b6474;border-color:#c9edf0;position:relative}.main-nav .nav-employer:after{content:'HR';display:inline-grid;place-items:center;min-width:34px;height:24px;border-radius:999px;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;font-size:11px;font-weight:950}

/* Buttons */
.btn,button{border:0;border-radius:999px;min-height:48px;padding:14px 20px;background:linear-gradient(135deg,var(--blue-deep),#0793b8 52%,#30d295);color:#fff;font-weight:900;display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:8px;cursor:pointer;box-shadow:0 16px 38px rgba(7,147,184,.22);transition:transform .18s ease, box-shadow .18s ease}
.btn:hover,button:hover{transform:translateY(-1px);box-shadow:0 20px 44px rgba(7,147,184,.28)}
.btn.secondary{background:#fff;color:var(--blue);border:1px solid #cfeaf7;box-shadow:0 12px 28px rgba(7,91,145,.08)}
.btn.ghost{background:#fff;color:#0b6b7a;border:1px solid #bfe7ed;box-shadow:0 10px 22px rgba(7,91,145,.06)}
.btn.small{min-height:40px;padding:10px 14px;font-size:13px}
form button{width:100%}

/* Public pages */
.hero{width:min(100% - 28px,1180px);margin:0 auto;padding:34px 0 28px;display:grid;grid-template-columns:1fr;gap:22px;align-items:center;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;right:-72px;top:30px;width:180px;height:180px;border-radius:50%;background:linear-gradient(135deg,rgba(105,215,165,.4),rgba(7,91,145,.12));z-index:-1}
.badge{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:900;background:#e9f7ff;color:var(--blue);white-space:nowrap}
.hero h1{font-size:clamp(34px,9vw,56px);line-height:1.02;margin:12px 0 14px;letter-spacing:-1.3px}
.hero p{font-size:16px;color:var(--muted);line-height:1.75}
.hero-card{background:linear-gradient(145deg,#fff,#ecfff9);border:1px solid rgba(217,234,238,.9);border-radius:30px;padding:18px;box-shadow:var(--shadow);overflow:hidden;position:relative}
.hero-card>img{width:100%;max-height:180px;object-fit:contain;border-radius:22px;background:#fff;padding:10px;border:1px solid rgba(217,234,238,.8)}
.actions{display:grid;grid-template-columns:1fr;gap:12px;margin-top:22px}
.section{width:min(100% - 28px,1180px);margin:0 auto;padding:28px 0}
.section h2{font-size:clamp(26px,6vw,38px);letter-spacing:-.7px;margin:0 0 16px}
.grid{display:grid;grid-template-columns:1fr;gap:14px;width:100%}
.card{background:rgba(255,255,255,.97);border:1px solid rgba(217,234,238,.92);border-radius:var(--radius);padding:18px;box-shadow:var(--soft);width:100%;max-width:100%;overflow:hidden;overflow-wrap:anywhere}
.card h2,.card h3{margin-top:0}
.service-icon{width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,#e4f8ff,#dffcef);display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:12px}

/* Auth */
.auth{width:min(100% - 28px,500px);margin:28px auto;background:#fff;border:1px solid var(--line);border-radius:30px;padding:24px;box-shadow:var(--shadow);overflow:hidden}
.auth:before{content:"";display:block;width:88px;height:7px;background:linear-gradient(90deg,var(--blue),var(--teal),var(--mint));border-radius:999px;margin-bottom:18px}
label{display:block;margin:13px 0 7px;font-weight:900}
input,select,textarea{width:100%;max-width:100%;min-height:48px;padding:14px 15px;border:1px solid var(--line);border-radius:16px;font-size:16px;background:#fff;color:var(--dark);outline:none}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(16,167,160,.12)}
input[type="file"]{height:auto;padding:12px;background:#fbfeff}

/* Portal layout */
.dashboard{width:100%;max-width:100vw;min-height:calc(100dvh - 76px);display:block;overflow-x:hidden}
.content{width:100%;max-width:100%;padding:22px 14px 104px;overflow-x:hidden}
.content h1{font-size:clamp(29px,8vw,42px);line-height:1.08;margin:8px 0 10px;letter-spacing:-.8px}
.content h1+p.muted{background:rgba(255,255,255,.72);border:1px solid rgba(205,231,236,.75);border-radius:22px;padding:12px 14px;box-shadow:0 12px 30px rgba(7,91,145,.06)}
.portal-menu-toggle{position:fixed;left:14px;bottom:16px;z-index:55;border-radius:18px;min-height:46px;padding:12px 16px;box-shadow:0 16px 34px rgba(7,91,145,.22)}
.sidebar{position:fixed;top:0;left:0;width:min(90vw,370px);max-width:calc(100vw - 14px);height:100dvh;background:#fff;z-index:80;padding:18px;transform:translateX(-105%);transition:transform .28s ease;box-shadow:24px 0 60px rgba(7,91,145,.18);overflow-y:auto;overflow-x:hidden}
.portal-open .sidebar{transform:translateX(0)}
.sidebar h3{margin:8px 0 16px;font-size:20px}
.sidebar a{display:flex;align-items:center;gap:10px;width:100%;padding:14px 15px;border-radius:18px;margin:8px 0;background:#fff;color:var(--dark);font-weight:900;border:1px solid rgba(217,234,238,.9);box-shadow:0 8px 22px rgba(7,91,145,.05);overflow:hidden}
.sidebar a:before{content:"";flex:0 0 9px;width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--teal))}
.sidebar a:hover,.sidebar a.active{background:#e8f8f7;color:var(--teal)}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}
.stat{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#f6fffd);border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:var(--soft)}
.stat:after{content:"";position:absolute;right:-18px;top:-18px;width:76px;height:76px;border-radius:50%;background:linear-gradient(135deg,rgba(7,91,145,.08),rgba(105,215,165,.22))}
.stat span{font-size:11px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.03em}
.stat strong{position:relative;z-index:1;display:block;font-size:clamp(24px,7vw,32px);color:var(--blue);margin-top:6px}
.alert{width:min(100% - 28px,1100px);margin:12px auto;padding:12px 16px;border-radius:16px;font-weight:800;overflow-wrap:anywhere}
.alert.success{background:#e5faef;color:#137b4c}.alert.error{background:#ffe9e9;color:#a32020}.alert.info{background:#e6f5ff;color:#075b91}
.footer{flex-shrink:0;text-align:center;padding:22px 16px calc(94px + env(safe-area-inset-bottom));color:var(--muted);background:rgba(255,255,255,.92);border-top:1px solid rgba(217,234,238,.9);box-shadow:0 -12px 34px rgba(7,91,145,.06)}
.footer-inner{width:min(100% - 28px,1120px);margin:0 auto;display:grid;gap:8px;place-items:center}.footer-inner strong{color:var(--dark)}.footer-inner span{font-size:13px;line-height:1.5}.footer-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:4px}.footer-links a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 12px;border-radius:999px;background:#f2fbfc;border:1px solid var(--line);font-size:12px;font-weight:900;color:var(--blue)}
.payment-actions{display:grid;grid-template-columns:1fr;gap:10px;align-items:start;width:100%}
.eft-box{margin-top:10px;padding:14px;border:1px solid #dceef2;border-radius:18px;background:#f8fcfd;width:100%;overflow:hidden}
details summary{list-style:none;cursor:pointer;width:100%}
code{background:#f3f7f8;border-radius:6px;padding:2px 6px;white-space:normal;overflow-wrap:anywhere}
.card[style*="grid-column"]{grid-column:auto!important}

/* Tables become clean cards on mobile */
.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:22px}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:20px;overflow:hidden;border:1px solid var(--line)}
th,td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}
th{background:#edfafa;color:var(--dark)}
tr:last-child td{border-bottom:0}
.badge.Pending{background:#fff3db;color:#9b6206}.badge.Confirmed{background:#e6f5ff;color:#075b91}.badge.Completed{background:#e5faef;color:#137b4c}.badge.Cancelled{background:#ffe9e9;color:#a32020}.badge.Paid,.badge.Approved{background:#dff8ea;color:#137444}.badge.Awaiting{background:#fff4d6;color:#8a5a00}.badge.Failed,.badge.Rejected{background:#ffe4e4;color:#9b1c1c}

/* Client drawer + bottom app nav */
.client-drawer{background:#fff;padding:0!important}
.client-drawer-hero{position:relative;padding:20px 18px 18px;color:#fff;background:radial-gradient(circle at top right,rgba(105,215,165,.42),transparent 35%),linear-gradient(135deg,#063f79 0%,#0a7f9b 52%,#10a7a0 100%)}
.client-drawer-hero img{height:68px;width:auto;max-width:220px;object-fit:contain;background:#fff;border-radius:18px;padding:6px;box-shadow:0 16px 34px rgba(0,0,0,.16)}
.client-close{position:absolute;right:16px;top:18px;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.24);color:#fff}
.client-profile-card{margin-top:18px;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:14px;backdrop-filter:blur(12px)}
.client-avatar-large{flex:0 0 54px;width:54px;height:54px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#fff,#dffcef);color:#075b91;font-size:24px;font-weight:950}
.client-profile-card strong{display:block;color:#fff;font-size:17px}.client-profile-card small{display:block;color:rgba(255,255,255,.78);font-size:12px;font-weight:800}
.client-drawer-links{padding:18px 14px 8px}
.client-drawer-links a{display:flex!important;align-items:center!important;gap:12px!important;margin:9px 0!important;padding:13px!important;border-radius:22px!important;background:#fff!important;color:var(--dark)!important;border:1px solid rgba(217,234,238,.9)!important;box-shadow:0 10px 26px rgba(7,91,145,.06)!important}
.client-drawer-links a:before{display:none!important}
.client-drawer-links a>span{flex:0 0 40px;width:40px;height:40px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#effaff,#e5fff5);color:var(--teal);font-size:21px;font-weight:900}
.client-drawer-links a div{overflow:hidden}.client-drawer-links strong{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-drawer-links small{display:block;margin-top:2px;color:var(--muted);font-size:12px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.client-drawer-links a.active{background:linear-gradient(135deg,#ffffff,#f0fffb)!important;border-color:rgba(16,167,160,.36)!important;box-shadow:0 16px 38px rgba(16,167,160,.13)!important}.client-drawer-links a.active>span{background:linear-gradient(135deg,#063f79,#10a7a0,#69d7a5);color:#fff}
.client-logout{display:block;margin:10px 14px 22px;padding:14px!important;text-align:center;border-radius:20px!important;background:#f4f8fa!important;color:#506474!important;border:1px solid #e1edf1!important;font-weight:900}
.client-bottom-nav{position:fixed;left:50%;right:auto;bottom:max(10px,env(safe-area-inset-bottom));z-index:58;width:min(calc(100% - 24px),430px);height:74px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;align-items:center;padding:7px;background:#fff;border:1px solid rgba(205,231,236,.9);border-radius:28px;box-shadow:0 20px 60px rgba(7,91,145,.20);overflow:visible}
.client-bottom-nav a,.client-bottom-nav button{width:100%;height:58px;min-height:58px;padding:5px 2px!important;border-radius:22px!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#667889!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-weight:900;overflow:hidden;transform:none!important}
.client-bottom-nav span{font-size:19px;line-height:1;color:inherit}.client-bottom-nav small{font-size:9px;font-weight:900;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:inherit}
.client-bottom-nav a.active{background:linear-gradient(135deg,#eefaff,#e9fff6)!important;color:var(--blue)!important}.client-bottom-nav a.active span{color:var(--teal)}
.client-bottom-nav .bottom-menu-button{background:linear-gradient(135deg,var(--blue-deep),var(--teal),var(--mint))!important;color:#fff!important;box-shadow:0 12px 28px rgba(16,167,160,.28)!important;position:relative;z-index:2}
.client-bottom-nav .bottom-menu-button span,.client-bottom-nav .bottom-menu-button small{color:#fff!important}

@media(max-width:700px){
  table.mobile-cards,table.mobile-cards tbody,table.mobile-cards tr,table.mobile-cards td{display:block;width:100%;max-width:100%}
  table.mobile-cards{border:0;background:transparent;border-radius:0;overflow:visible}
  table.mobile-cards thead,table.mobile-cards tr:first-child{display:none!important}
  table.mobile-cards tr{background:#fff;border:1px solid var(--line);border-radius:20px;margin:0 0 12px;padding:10px;box-shadow:var(--soft);overflow:hidden}
  table.mobile-cards td{border-bottom:1px solid #eef5f6;padding:10px 6px;word-break:break-word;overflow-wrap:anywhere}
  table.mobile-cards td:last-child{border-bottom:0}
  table.mobile-cards td:before{content:attr(data-label);display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:900;margin-bottom:4px}
  table.mobile-cards form[style*="display:flex"]{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;width:100%}
  table.mobile-cards form[style*="display:flex"] button{width:100%}
  .portal-menu-toggle{display:inline-flex}
}

@media(min-width:701px){
  .topbar{height:86px;padding:10px 24px}.brand img{height:70px}.brand{max-width:300px}
  .actions{display:flex;flex-wrap:wrap}.actions .btn{min-width:190px}
  .grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .hero{grid-template-columns:1.1fr .9fr;padding:54px 0 38px}.section{padding:38px 0}
  .mobile-nav-toggle,.nav-drawer-head,.nav-backdrop{display:none!important}
  .main-nav{position:static;transform:none;width:auto;height:auto;max-width:none;background:transparent;box-shadow:none;padding:0;display:flex;flex-direction:row;align-items:center;gap:8px;overflow:visible;z-index:auto}
  .main-nav a{width:auto;background:transparent;border:0;box-shadow:none;padding:10px 12px}.main-nav .nav-login{background:#eef9ff;border:1px solid #cfeaf7}.main-nav .nav-register{padding:11px 18px}
  .content{padding:30px 26px 40px}.footer{padding:22px 16px}.footer-inner{grid-template-columns:auto 1fr auto;place-items:center;text-align:left}.footer-links{margin-top:0}
  .client-bottom-nav{display:none!important}
}

@media(min-width:901px){
  .topbar{height:92px}.brand img{height:76px}.brand{max-width:340px}
  .dashboard{display:grid;grid-template-columns:292px minmax(0,1fr);min-height:calc(100dvh - 92px)}
  .sidebar{position:sticky;top:92px;align-self:start;width:auto;max-width:none;height:calc(100dvh - 92px);transform:none!important;box-shadow:none;border-right:1px solid var(--line);border-radius:0;background:rgba(255,255,255,.74);backdrop-filter:blur(12px);padding:24px!important;z-index:1}
  .sidebar-backdrop,.portal-menu-toggle{display:none!important}
  .content{padding:38px;max-width:100%;overflow:visible}
  .client-drawer{background:rgba(255,255,255,.74)!important}.client-drawer-hero{background:transparent;color:var(--dark);padding:0 0 18px}.client-drawer-hero img{height:72px;background:transparent;box-shadow:none;padding:0}.client-close{display:none}.client-profile-card{background:#fff;border:1px solid var(--line);box-shadow:0 10px 28px rgba(7,91,145,.06)}.client-profile-card strong{color:var(--dark)}.client-profile-card small{color:var(--muted)}.client-avatar-large{background:linear-gradient(135deg,#effaff,#e5fff5)}.client-drawer-links{padding:0}.client-logout{display:none}
}

/* Clinic workflow upgrade */
.clinic-hero h1{max-width:780px}.clinic-hero-card{border:1px solid rgba(16,167,160,.18)}
.workflow-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px}
.workflow-strip span{display:grid;place-items:center;min-height:42px;border-radius:16px;background:linear-gradient(135deg,#effaff,#e8fff6);font-weight:950;color:var(--blue);font-size:12px;text-align:center}
.card.mini{padding:14px;border-radius:18px;box-shadow:none}.card.mini p{font-size:12px;margin-bottom:0}.service-card{position:relative}.service-card .pill{margin-bottom:12px}
.pill{display:inline-flex;align-items:center;gap:6px;background:#eef9ff;color:#075b91;border:1px solid #cfeaf7;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.03em}
.consent-box{margin:16px 0;padding:14px;border:1px solid rgba(16,167,160,.24);background:#f2fffb;border-radius:18px}.consent-box label{display:flex;align-items:flex-start;gap:10px;margin:8px 0;font-size:14px;line-height:1.5}.consent-box input[type="checkbox"]{width:18px;min-width:18px;height:18px;min-height:18px;margin-top:2px}
.form-grid .grid{margin-top:0}.grid.cols-4{display:grid;grid-template-columns:1fr;gap:14px}.task-item{border:1px solid var(--line);border-radius:18px;padding:12px;margin:10px 0;background:#fbfeff}.service-mix{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:#fbfeff;border-radius:16px;padding:12px;margin:10px 0}.service-mix span{background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;border-radius:999px;min-width:34px;height:34px;display:grid;place-items:center;font-weight:950}.report-card{display:flex;flex-direction:column;gap:8px}
.badge.IntakePending,.badge.IntakeSubmitted,.badge.Triage,.badge.InConsultation,.badge.AwaitingResults,.badge.ReportReady,.badge.Follow-upNeeded,.badge.Closed,.badge.Ready,.badge.Sent,.badge.Draft{background:#e6f5ff;color:#075b91}.badge.Triage,.badge.InConsultation{background:#fff3db;color:#9b6206}.badge.ReportReady,.badge.Ready,.badge.Sent{background:#e5faef;color:#137b4c}.badge.Closed{background:#eef2f4;color:#42515f}.badge.Draft{background:#f4f8fa;color:#536474}
@media(min-width:701px){.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-3 .card[style*="grid-column:span 3"]{grid-column:span 3!important}.grid.cols-3 .card[style*="grid-column:span 2"]{grid-column:span 2!important}}
@media(max-width:700px){.workflow-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding-bottom:118px}.card[style*="grid-column"]{grid-column:auto!important}.grid.cols-3 .card[style*="grid-column"]{grid-column:auto!important}.main-nav a,.sidebar a{min-width:0}.topbar{overflow:hidden;background:#fff}.brand{max-width:205px}.brand img{height:48px;max-width:205px;background:#fff!important}.nav-drawer-head img,.sidebar-head img{height:48px;max-width:210px}}

/* Clinic admin functionality patch */
.auth-premium{max-width:520px;background:linear-gradient(180deg,#fff,#f8fdff);border:1px solid rgba(16,167,160,.18);box-shadow:0 24px 70px rgba(7,91,145,.14)}
.auth-badge{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#063f79,#10a7a0);color:#fff;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px}
.auth-note{margin-top:16px;text-align:center}.auth-note a{font-weight:900;color:var(--teal)}
.staff-auth .auth-badge{background:linear-gradient(135deg,#0f766e,#10a7a0)}.admin-auth .auth-badge{background:linear-gradient(135deg,#102a56,#063f79)}
.search-row{display:grid;grid-template-columns:1fr;gap:10px}.search-row input{min-width:0}.compact-form{display:grid;gap:8px;min-width:220px}.compact-form label{font-size:11px;margin:0}.compact-form input,.compact-form select{min-height:38px;padding:9px 10px;border-radius:12px}.btn.danger-soft{background:#fff2f2!important;color:#a32020!important;border-color:#ffcaca!important;box-shadow:none!important}.btn.success-soft{background:#effcf4!important;color:#137444!important;border-color:#bdeece!important;box-shadow:none!important}.badge.admin{background:#e6f5ff;color:#075b91}.badge.staff{background:#e5faef;color:#137b4c}.portal-cards .actions{display:flex;flex-wrap:wrap;gap:10px}.portal-cards .actions .btn{min-width:160px}
@media(min-width:701px){.search-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:end}.compact-form{min-width:260px}}
@media(max-width:700px){.auth-premium{margin:22px 12px}.portal-cards .actions .btn{width:100%}.compact-form{min-width:0;width:100%}}

/* V3 full clinic platform additions */
.kanban-board{display:grid;grid-template-columns:1fr;gap:14px;align-items:start;overflow-x:hidden}
.kanban-col{background:rgba(255,255,255,.74);border:1px solid var(--line);border-radius:24px;padding:14px;min-height:160px;box-shadow:var(--soft)}
.kanban-col h3{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px}.kanban-col h3 span{background:#eef9ff;color:var(--blue);border-radius:999px;padding:4px 9px;font-size:12px}.kanban-card{background:#fff;border:1px solid rgba(217,234,238,.94);border-radius:20px;padding:14px;margin:0 0 12px;box-shadow:0 10px 26px rgba(7,91,145,.07)}.kanban-card form{display:grid;gap:8px;margin:10px 0}.kanban-card select{min-height:40px;padding:9px;border-radius:12px}.timeline{position:relative}.timeline-item{position:relative;margin:0 0 12px;padding:14px 14px 14px 18px;border:1px solid var(--line);border-radius:18px;background:#fbfeff}.timeline-item:before{content:"";position:absolute;left:0;top:18px;width:6px;height:28px;border-radius:999px;background:linear-gradient(135deg,var(--blue),var(--teal),var(--mint))}.verify-card{max-width:720px;margin:30px auto}.verify-status{border-radius:24px;padding:18px;margin:16px 0;font-size:26px}.verify-status.valid{background:#e5faef;color:#137b4c}.verify-status.invalid{background:#ffe9e9;color:#a32020}.code-sample{white-space:pre-wrap;background:#102b3f;color:#e9fff6;border-radius:18px;padding:16px;overflow-x:auto}.badge.Issued,.badge.Valid,.badge.Sent,.badge.Paid,.badge.Approved{background:#e5faef;color:#137b4c}.badge.Revoked,.badge.Failed,.badge.Rejected,.badge.Cancelled{background:#ffe9e9;color:#a32020}.badge.Pending,.badge.Draft,.badge.Open{background:#fff3db;color:#9b6206}.badge.Completed,.badge.Closed{background:#eef2f4;color:#42515f}
@media(min-width:901px){.kanban-board{grid-template-columns:repeat(4,minmax(230px,1fr));overflow-x:auto;padding-bottom:8px}.kanban-col{min-width:240px}}
@media(min-width:1200px){.kanban-board{grid-template-columns:repeat(7,minmax(180px,1fr));overflow:visible}.kanban-col{min-width:0}}
@media(max-width:700px){.kanban-card .btn{width:100%}.verify-status{font-size:20px}.grid.cols-2{grid-template-columns:1fr!important}}


/* V3.1 unified login and footer polish */
.unified-login{position:relative;overflow:hidden}.unified-login:after{content:"";position:absolute;right:-70px;top:-70px;width:180px;height:180px;border-radius:50%;background:linear-gradient(135deg,rgba(105,215,165,.22),rgba(7,91,145,.10));z-index:0}.unified-login>*{position:relative;z-index:1}.login-role-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:18px}.login-role-grid a{display:grid;gap:3px;padding:13px 14px;border:1px solid rgba(217,234,238,.95);border-radius:18px;background:linear-gradient(135deg,#fff,#f6fffd);box-shadow:0 8px 22px rgba(7,91,145,.05);color:var(--dark)}.login-role-grid a:hover{border-color:#bde9e9;transform:translateY(-1px)}.login-role-grid small{color:var(--muted);font-size:12px}.demo-logins{margin-top:18px;border-radius:20px;background:#f7fcfd;border:1px dashed #bfe7ed;padding:14px;display:grid;gap:5px;font-size:13px}.demo-logins strong{color:var(--blue)}.demo-logins span,.demo-logins small{color:var(--muted)}.portal-cards-highlight{background:radial-gradient(circle at top left,rgba(105,215,165,.18),transparent 38%),linear-gradient(145deg,#fff,#f5fdff)}
@media(min-width:701px){.login-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.footer-inner{width:min(100% - 22px,1120px)}.footer-links a{min-height:32px;padding:7px 10px}.main-nav .nav-employer:after{margin-left:auto}}

/* V3.2 smooth client + employer registration */
.register-hub{max-width:760px}
.register-switch{display:grid;grid-template-columns:1fr;gap:10px;margin:18px 0 20px}
.register-switch a{display:grid;gap:4px;padding:14px 15px;border:1px solid rgba(217,234,238,.95);border-radius:20px;background:#fff;color:var(--dark);box-shadow:0 8px 22px rgba(7,91,145,.05)}
.register-switch a strong{font-size:15px}.register-switch a small{color:var(--muted);font-weight:800}
.register-switch a.active{background:linear-gradient(135deg,var(--blue-deep),var(--teal) 72%,var(--mint));border-color:transparent;color:#fff;box-shadow:0 16px 38px rgba(7,147,184,.22)}
.register-switch a.active small{color:rgba(255,255,255,.86)}
.smooth-form{display:grid;gap:2px}.smooth-form .form-two{margin:0;gap:12px}.smooth-form label{font-size:13px}.smooth-form textarea{min-height:92px}
.form-section-title{margin:18px 0 6px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;color:var(--blue)}
.form-section-title:before{content:"";width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--teal),var(--mint));box-shadow:0 0 0 5px rgba(16,167,160,.10)}
.compact-consent{margin-top:12px}.compact-consent label{font-size:13px;font-weight:800;margin:0}
.main-nav .nav-employer + .nav-employer{background:#fff;color:#075b91;border-color:#cfeaf7}.main-nav .nav-employer + .nav-employer:after{content:'Login'}
@media(min-width:701px){.register-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.smooth-form .grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.register-hub{width:min(100% - 20px,760px);padding:20px;border-radius:26px}.register-switch a{padding:13px}.smooth-form .form-two{grid-template-columns:1fr!important}}

/* V3.3 secure registration, duplicate protection and onboarding */
.registration-notice{display:grid;gap:4px;margin:0 0 18px;padding:13px 14px;border-radius:18px;background:linear-gradient(135deg,#f5fffb,#eef9ff);border:1px solid rgba(16,167,160,.20);font-size:13px;color:var(--dark)}
.registration-notice strong{color:var(--blue)}.registration-notice span{color:var(--muted);line-height:1.45}
.password-panel{margin:8px 0 14px;padding:14px;border-radius:20px;background:#f8fcfd;border:1px solid rgba(217,234,238,.95);display:grid;gap:10px}
.password-panel strong{font-size:12px;color:var(--blue);text-transform:uppercase;letter-spacing:.05em}
.password-panel ul{display:grid;grid-template-columns:1fr;gap:7px;margin:0;padding:0;list-style:none}
.password-panel li{display:flex;align-items:center;gap:8px;font-size:13px;color:#7a8994;font-weight:800}
.password-panel li:before{content:'×';width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#fff1f1;color:#b32727;font-size:12px;font-weight:950}
.password-panel li.pass{color:#137b4c}.password-panel li.pass:before{content:'✓';background:#e5faef;color:#137b4c}
.password-meter{height:9px;border-radius:999px;background:#e8f1f3;overflow:hidden}.password-meter span{display:block;height:100%;width:0;border-radius:999px;transition:.2s ease;background:#d23d3d}.password-meter span.medium{background:#f0a12a}.password-meter span.strong{background:linear-gradient(135deg,var(--teal),var(--mint))}
.flash-pop{position:fixed;left:50%;top:18px;transform:translate(-50%,-18px);z-index:99999;width:min(94vw,560px);opacity:0;pointer-events:auto;box-shadow:0 22px 50px rgba(9,31,52,.18);border-radius:18px;transition:.22s ease;cursor:pointer}.flash-pop.show{opacity:1;transform:translate(-50%,0)}.client-error-pop{padding:14px 18px}
.onboarding-wrap{width:min(100% - 28px,1120px);margin:28px auto 46px}.onboarding-hero{position:relative;overflow:hidden;padding:26px;background:radial-gradient(circle at top right,rgba(105,215,165,.20),transparent 36%),linear-gradient(145deg,#fff,#f4fdff)}.onboarding-hero h1{font-size:clamp(28px,5vw,52px);line-height:1.02;margin:6px 0 10px}.onboarding-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.onboarding-steps{display:grid;grid-template-columns:1fr;gap:14px;margin-top:18px}.onboarding-step{position:relative;overflow:hidden}.onboarding-step>span{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--teal),var(--mint));color:#fff;font-weight:950;box-shadow:0 12px 28px rgba(7,147,184,.18);margin-bottom:12px}.onboarding-step h3{margin-bottom:7px}.guidance-card{margin-top:18px;background:#fbfeff}
@media(min-width:760px){.password-panel ul{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.onboarding-step{min-height:230px;display:flex;flex-direction:column}.onboarding-step .btn{margin-top:auto;width:fit-content}}
@media(max-width:700px){.flash-pop{top:10px;width:calc(100vw - 20px)}.onboarding-wrap{width:min(100% - 20px,1120px);margin-top:20px}.onboarding-actions .btn{width:100%}.registration-notice{font-size:12px}}

/* V3.4 registration tabs + desktop polish */
.register-pro{width:min(100% - 28px,1120px)!important;max-width:1120px!important;padding:0!important;border-radius:34px;overflow:hidden;background:#fff!important}
.register-pro:before{display:none!important}.register-pro-grid{display:grid;grid-template-columns:1fr}.register-side{position:relative;overflow:hidden;padding:24px;background:radial-gradient(circle at 12% 0,rgba(105,215,165,.28),transparent 34%),linear-gradient(145deg,#073f68,#0d7f91 62%,#19b89c);color:#fff}.register-side h2{font-size:clamp(28px,4.4vw,48px);line-height:1.02;margin:10px 0}.register-side .muted{color:rgba(255,255,255,.84)}.register-side .auth-badge{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(8px)}.register-benefits{display:grid;gap:10px;margin:22px 0}.register-benefits div{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid rgba(255,255,255,.20);border-radius:18px;background:rgba(255,255,255,.11)}.register-benefits strong{width:34px;height:34px;border-radius:13px;display:grid;place-items:center;background:#fff;color:var(--blue);font-weight:950;box-shadow:0 12px 28px rgba(0,0,0,.12)}.register-benefits span{font-weight:850}.register-main-panel{padding:22px}.register-main-panel h2{font-size:clamp(25px,3vw,36px);line-height:1.07;margin:0 0 8px}.register-switch{display:grid;grid-template-columns:1fr;gap:10px;margin:18px 0 20px}.register-switch .register-tab{display:grid!important;place-items:start!important;text-align:left!important;gap:4px;width:100%;min-height:auto!important;padding:15px!important;border:1px solid rgba(217,234,238,.95)!important;border-radius:20px!important;background:#fff!important;color:var(--dark)!important;box-shadow:0 8px 22px rgba(7,91,145,.05)!important;transform:none!important}.register-switch .register-tab strong{font-size:15px}.register-switch .register-tab small{color:var(--muted);font-weight:800}.register-switch .register-tab.active{background:linear-gradient(135deg,var(--blue-deep),var(--teal) 72%,var(--mint))!important;border-color:transparent!important;color:#fff!important;box-shadow:0 16px 38px rgba(7,147,184,.22)!important}.register-switch .register-tab.active small{color:rgba(255,255,255,.86)}.register-panel[hidden]{display:none!important}.register-panel.active{animation:panelIn .18s ease both}@keyframes panelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.desktop-demo-box{display:none}.mobile-demo-box{display:grid}.smooth-form input:disabled,.smooth-form select:disabled,.smooth-form textarea:disabled,.smooth-form button:disabled{opacity:.55;cursor:not-allowed}
@media(min-width:701px){.register-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.register-main-panel{padding:30px}.desktop-demo-box{display:grid}.mobile-demo-box{display:none}.auth.register-pro{margin-top:34px;margin-bottom:42px}}
@media(min-width:980px){.register-pro-grid{grid-template-columns:minmax(320px,.84fr) minmax(0,1.35fr);min-height:720px}.register-side{padding:38px;display:flex;flex-direction:column}.register-main-panel{padding:38px 42px}.register-side .desktop-demo-box{margin-top:auto;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.26)}.register-side .desktop-demo-box strong,.register-side .desktop-demo-box span,.register-side .desktop-demo-box small{color:#fff}.register-side .desktop-demo-box small{opacity:.78}.smooth-form .grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-note{text-align:left}}
@media(max-width:700px){.register-pro{width:min(100% - 18px,1120px)!important;border-radius:28px}.register-side{padding:20px}.register-main-panel{padding:20px}.register-benefits{grid-template-columns:1fr}.register-switch .register-tab{padding:13px!important}.register-side .desktop-demo-box{display:none!important}}

/* V3.4 wider desktop portal polish */
@media(min-width:1100px){.content{padding:42px 48px}.section,.hero{width:min(100% - 56px,1240px)}.container{width:min(100% - 56px,980px)}.narrow{width:min(100% - 56px,820px)}.card{padding:22px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.topbar{padding-left:36px;padding-right:36px}.main-nav a{padding-left:14px;padding-right:14px}.grid.cols-3{gap:18px}.grid.cols-4{gap:18px}}
@media(min-width:1280px){.dashboard{grid-template-columns:318px minmax(0,1fr)}.content{padding-left:56px;padding-right:56px}.sidebar{padding:28px!important}.hero h1{font-size:64px}.hero-card>img{max-height:300px}}
@media(min-width:701px){table{font-size:14px}th,td{vertical-align:top}.form-two>div{min-width:0}.main-nav{flex-wrap:wrap;justify-content:flex-end}.footer-inner{max-width:1240px}.footer-links{justify-content:flex-end}}

/* V3.5 account email + password reset polish */
.forgot-row{display:flex;justify-content:flex-end;margin:8px 0 2px;font-size:13px}.forgot-row a{font-weight:900;color:var(--teal)}
.password-auth{max-width:560px}.password-auth .auth-badge{background:linear-gradient(135deg,#063f79,#10a7a0)}
.email-preview-card{border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#fff,#f6fffd);padding:16px;box-shadow:0 10px 26px rgba(7,91,145,.06)}
@media(min-width:701px){.forgot-row{margin-top:10px}.password-auth{margin-top:42px;margin-bottom:52px}}
