.app nav button.active {
  background: linear-gradient(90deg,#1d69d9,#2f7ce5);
  color: #fff;
  box-shadow: 0 7px 18px #06152b55;
}
.app nav button:not(.active):hover {
  background: #ffffff0d;
  color: #fff;
  box-shadow: none;
}
.app nav button i {
  min-width: 17px;
  height: 17px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  padding: 0 5px;
}
.app nav button i:empty,
.app nav button i[data-count="0"] { display: none; }

/* Official HTG.iCIS product identity */
.product-brand{display:flex;align-items:center;gap:24px;position:relative;z-index:1}
.product-brand img{width:104px;height:104px;flex:0 0 auto}
.product-wordmark{font-size:64px;font-weight:800;line-height:.95;letter-spacing:-3px;color:#fff}
.product-wordmark strong{color:#68c4ff}
.product-wordmark strong,.side-wordmark strong{position:relative;display:inline-block}
.product-wordmark em,.side-wordmark em{position:absolute;display:grid;place-items:center;border-radius:50%;background:#1689e8;color:#fff;font-style:normal;font-weight:900}
.product-wordmark em{width:26px;height:26px;left:7px;top:-28px;font-size:22px;line-height:1}
.product-slogan{margin-top:18px;color:#8ecaff;font-size:12px;font-weight:700;letter-spacing:6px;white-space:nowrap}
.login-brand .brand-description{position:relative;z-index:1;max-width:520px;margin-top:54px;color:#c6daf2}
.login-official-logo{display:block;width:100%;max-width:390px;height:auto;margin:0 0 34px;object-fit:contain}
.login-brand{padding:0;background:#061e4d}
.login-brand:after{display:none}
.login-visual{position:absolute;inset:0;overflow:hidden}
.login-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061e4d22,#0b3a7b05)}
.login-visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center}
.side-brand{height:88px;padding:10px 17px}
.side-brand .side-logo-full{display:block;width:216px;height:auto;max-height:66px;object-fit:contain;object-position:left center}
.side-brand .side-logo-icon{display:none}
.side-wordmark{font-size:21px;font-weight:800;line-height:1;color:#fff}
.side-wordmark strong{color:#68c4ff}
.side-wordmark em{width:10px;height:10px;left:2px;top:-10px;font-size:8px}
.side-brand span{font-size:6px;letter-spacing:1.25px;color:#8ecaff;margin-top:7px;white-space:nowrap}
@media(max-width:1200px){.product-brand img{width:82px;height:82px}.product-wordmark{font-size:50px}.product-slogan{font-size:9px;letter-spacing:4px}}
@media(max-width:720px){.side-brand{padding:0 14px}.side-brand .side-logo-full{display:none}.side-brand .side-logo-icon{display:block;width:42px;height:42px}}

/* Collapsible platform sidebar */
.app>aside{overflow:visible;transition:width .22s ease}
.app>main{transition:margin-left .22s ease,width .22s ease}
.side-brand .side-logo-full{width:218px;max-height:62px}
.sidebar-toggle{position:absolute;right:-15px;top:103px;z-index:20;width:31px;height:31px;display:grid;place-items:center;border:1px solid #d8e4f2;border-radius:50%;padding:0;background:#fff;color:#1769d2;box-shadow:0 5px 14px #061a3c40;cursor:pointer;transition:background .18s,color .18s,transform .22s}
.sidebar-toggle:hover{background:#1f79e5;color:#fff}
.sidebar-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .22s}
.app.sidebar-collapsed>aside{width:76px}
.app.sidebar-collapsed>main{margin-left:76px;width:calc(100% - 76px)}
.app.sidebar-collapsed .side-brand{height:88px;padding:14px 17px;display:grid;place-items:center}
.app.sidebar-collapsed .side-logo-full{display:none}
.app.sidebar-collapsed .side-logo-icon{display:block;width:42px;height:42px}
.app.sidebar-collapsed .org{margin:18px 10px;padding:8px 0;justify-content:center;font-size:11px}
.app.sidebar-collapsed .org>div,.app.sidebar-collapsed nav p,.app.sidebar-collapsed nav button span,.app.sidebar-collapsed .api-status>div{display:none}
.app.sidebar-collapsed nav{padding:4px 8px}
.app.sidebar-collapsed nav button{position:relative;justify-content:center;padding:0;font-size:18px}
.app.sidebar-collapsed nav button i{position:absolute;right:3px;top:3px}
.app.sidebar-collapsed .api-status{justify-content:center;padding:12px 0}
.app.sidebar-collapsed .sidebar-toggle svg{transform:rotate(180deg)}

/* Authentication screens */
.auth-page{min-height:100vh;padding:48px;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#fff 0,#f7faff 46%,#edf3fa 100%);font-family:"Segoe UI",Arial,sans-serif}
.auth-shell{width:min(1220px,100%);min-height:730px;display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid #dce5ef;border-radius:18px;overflow:hidden;box-shadow:0 18px 55px #1b3d6a1a}
.auth-side{position:relative;display:flex;flex-direction:column;padding:72px 54px 54px;overflow:hidden;color:#fff;background:linear-gradient(145deg,#0751ad,#0575e6)}
.auth-side:before{content:"";position:absolute;inset:0;background:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,#000b,transparent)}
.auth-side:after{content:"";position:absolute;inset:0;background:url('/htg-icis-digital-healthcare.webp') center 80%/88% auto no-repeat;opacity:.12;mix-blend-mode:screen}
.auth-side>*{position:relative;z-index:1}
.auth-side-logo{width:390px;max-width:92%;height:auto;object-fit:contain;object-position:left center}
.auth-side-copy{margin-top:150px;max-width:480px}
.auth-side-copy h1{font-size:43px;line-height:1.28;margin:0 0 22px;letter-spacing:-1.3px}
.auth-side-copy p{font-size:18px;line-height:1.85;color:#e7f2ff;margin:0}
.auth-features{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
.auth-features span{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700;white-space:nowrap}
.auth-features span+span{border-left:1px solid #ffffff60;padding-left:23px}
.auth-features i,.otp-warning i{width:43px;height:43px;display:grid;place-items:center;border:1px solid #ffffff80;border-radius:50%;background:#ffffff12;font-style:normal}
.auth-form-panel{width:100%;max-width:none;margin:0;padding:58px 70px;display:flex;flex-direction:column;justify-content:center;background:#fff}
.auth-main-logo{width:100%;max-width:420px;height:auto;align-self:center;margin:0 0 55px}
.auth-field{margin:0 0 27px}
.auth-field label{display:block;margin:0 0 10px;color:#354056;font-size:15px;font-weight:700}
.auth-label-row{display:flex;align-items:center;justify-content:space-between}
.auth-label-row button{border:0;background:none;color:#0876ef;font-weight:600;cursor:pointer}
.auth-input{height:62px;display:flex;align-items:center;border:1px solid #cad5e3;border-radius:7px;background:#fff;transition:.2s}
.auth-input:focus-within{border-color:#117bef;box-shadow:0 0 0 3px #117bef12}
.auth-input>span{width:56px;text-align:center;color:#73819a;font-size:24px}
.auth-input .auth-input-icon{height:100%;display:grid;place-items:center}
.auth-input-icon svg{width:23px;height:23px;fill:none;stroke:#73819a;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.auth-input input{flex:1;height:100%;min-width:0;border:0;background:transparent;outline:0;padding:0 12px 0 0;color:#18243a;font-size:16px}
.auth-input input::placeholder{color:#a7b2c5}
.auth-input>button{width:52px;height:100%;border:0;background:transparent;color:#697b98;font-size:20px;cursor:pointer}
.auth-input>button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.auth-form-panel .error{min-height:23px;margin-top:-13px}
.auth-primary{width:100%;height:62px;border:0;border-radius:7px;display:flex;align-items:center;justify-content:center;gap:24px;background:linear-gradient(110deg,#0764e8,#087cf6);color:#fff;font-size:17px;font-weight:700;cursor:pointer;box-shadow:0 12px 28px #0c73ed24}
.auth-primary span{font-size:28px;font-weight:300}
.auth-security{display:flex;align-items:flex-start;gap:14px;margin-top:25px;color:#74839b;font-size:13px;line-height:1.6}
.auth-security i{font-size:24px;font-style:normal}
.auth-form-panel .secure{margin-top:12px}
.auth-side-forgot{padding-top:48px}
.auth-side-forgot .auth-side-logo{width:320px}
.auth-side-forgot .auth-side-copy{margin-top:70px}
.auth-side-forgot .auth-side-copy h1{font-size:34px}
.recovery-steps{list-style:none;margin:40px 0 0;padding:0}
.recovery-steps li{position:relative;display:flex;align-items:center;gap:18px;min-height:67px;font-size:17px}
.recovery-steps li:not(:last-child):after{content:"";position:absolute;left:20px;top:52px;width:1px;height:30px;background:#cde4ff}
.recovery-steps b{width:42px;height:42px;display:grid;place-items:center;border:1px solid #fff;border-radius:50%;font-size:17px}
.recovery-steps .active b{border-color:#4ca5ff;background:#4ca5ff}
.otp-warning{margin-top:auto;display:flex;align-items:center;gap:18px;font-size:15px}
.recovery-form>small{color:#0873df;font-size:13px;font-weight:800;letter-spacing:1.6px}
.recovery-form>h2{font-size:40px;margin:23px 0 10px;color:#121e35}
.recovery-form>p{margin:0 0 38px;color:#7a8699;font-size:15px;line-height:1.6}
.auth-back{align-self:center;margin:27px 0 0;border:0;background:none;color:#0871e7;font-size:15px;font-weight:700;cursor:pointer}
.auth-note{margin-top:28px;color:#7c899c;font-size:13px}
@media(max-width:1050px){.auth-page{padding:24px}.auth-shell{grid-template-columns:45% 55%}.auth-side{padding:52px 35px}.auth-side-copy h1{font-size:34px}.auth-side-copy p{font-size:15px}.auth-form-panel{padding:45px}.auth-features{align-items:flex-start}.auth-features span{font-size:0}.auth-features i{font-size:16px}}
@media(max-width:760px){.auth-page{padding:0;background:#fff}.auth-shell{display:block;min-height:100vh;border:0;border-radius:0;box-shadow:none}.auth-side{display:none}.auth-form-panel{min-height:100vh;padding:35px 24px}.auth-main-logo{max-width:340px;margin-bottom:45px}.recovery-form>h2{font-size:32px}}

/* Registration review and tenant provisioning workflow */
.workflow-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.workflow-stats button{display:flex;align-items:center;gap:14px;min-height:76px;padding:14px 18px;border:1px solid #dfe8f3;border-radius:13px;background:#fff;color:#667892;text-align:left;cursor:pointer;box-shadow:0 4px 16px #173a6b08}
.workflow-stats button:hover{border-color:#7db7f5;transform:translateY(-1px)}
.workflow-stats b{min-width:38px;color:#102542;font-size:27px}.workflow-stats span{font-size:12px;font-weight:700}
.application-toolbar{display:flex;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid #e8eef5}
.search-box{height:40px;flex:1;display:flex;align-items:center;gap:10px;padding:0 13px;border:1px solid #d8e2ee;border-radius:8px;color:#68809d;background:#fff}
.search-box input{flex:1;border:0;outline:0;font:inherit;color:#24354d}.application-toolbar select,.provision-options select{height:40px;border:1px solid #d8e2ee;border-radius:8px;padding:0 34px 0 12px;background:#fff;color:#344860}
.application-toolbar>span{min-width:70px;color:#7a8ca3;font-size:11px;text-align:right}.table-scroll{overflow:auto}
.drawer.application-drawer{width:min(590px,100vw);padding-bottom:32px}.drawer-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.drawer-title h2{margin-bottom:5px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 22px}.info.full{margin-top:7px}.specialty-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}.specialty-tags em{padding:6px 9px;border-radius:7px;background:#eaf3ff;color:#1768c7;font-size:11px;font-style:normal;font-weight:700}
.capacity{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:17px 0;padding:14px;border-radius:10px;background:#f5f8fc;color:#53677f;font-size:12px}.capacity span{padding:5px}.capacity b{color:#0b68ce;font-size:16px}.review-note{display:grid;gap:5px;padding:12px 14px;border-left:3px solid #f5a623;border-radius:5px;background:#fff9ec;color:#6e5a32;font-size:12px}.review-text{width:100%;min-height:78px;margin-top:14px;padding:11px 12px;border:1px solid #d7e2ef;border-radius:8px;resize:vertical;font:inherit;outline:0}.review-text:focus{border-color:#2581eb;box-shadow:0 0 0 3px #2581eb12}.drawer-actions{display:flex;flex-wrap:wrap;gap:8px}.drawer-actions button.danger,.danger{background:#fff0f0!important;color:#c73333!important;border:1px solid #facaca!important}.provision-options{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:8px;background:#f5f8fc}.provision-options label{color:#60738c;font-size:12px;font-weight:700}
.success-mark{width:58px;height:58px;display:grid;place-items:center;margin:0 0 17px;border-radius:50%;background:#e6f8ef;color:#00a85a;font-size:28px}.provision-result>h2{margin-top:8px}.provision-card{display:grid;grid-template-columns:150px 1fr;gap:12px;margin:22px 0;padding:18px;border:1px solid #deebf7;border-radius:11px;background:#f7faff}.provision-card span{color:#75889f;font-size:11px}.provision-card b,.provision-card code{overflow-wrap:anywhere;color:#193451}.token-label{display:block;margin-bottom:7px;color:#b26a00;font-size:11px;font-weight:800}.token-box{display:flex;gap:8px}.token-box code{flex:1;max-height:90px;overflow:auto;padding:12px;border-radius:8px;background:#12233d;color:#dcecff;overflow-wrap:anywhere}.token-box button{border:0;border-radius:7px;padding:0 13px;background:#e4f0ff;color:#126bcd;font-weight:700;cursor:pointer}.security-warning{color:#9a6a19;font-size:11px}.full-button{width:100%;height:44px;border:0;border-radius:8px;color:#fff;cursor:pointer}
@media(max-width:900px){.workflow-stats{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.application-toolbar{flex-wrap:wrap}.application-toolbar>span{display:none}}

/* Clinic owner portal */
.portal-switch{align-self:center;margin-top:16px;border:0;background:none;color:#1973d2;font-size:12px;font-weight:700;cursor:pointer}.clinic-login-heading{margin:-25px 0 28px}.clinic-login-heading small{color:#0677e8;font-weight:800;letter-spacing:1.7px}.clinic-login-heading h2{margin:8px 0;font-size:27px;color:#13233b}.clinic-login-heading p{margin:0;color:#7d8ba0;font-size:13px}.clinic-auth-side .auth-side-copy{margin-top:110px}.clinic-auth-side .auth-side-copy>small{color:#8fcaff;font-weight:800;letter-spacing:2px}
.clinic-app{min-height:100vh;background:#f3f7fb;color:#17243a}.clinic-app>.clinic-sidebar{position:fixed;inset:0 auto 0 0;width:250px;display:flex;flex-direction:column;background:linear-gradient(180deg,#0b2142,#07182f);color:#d9e9ff;z-index:10}.clinic-app>main{width:calc(100% - 250px);min-height:100vh;margin-left:250px}.clinic-app>main>header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #e1e8f0;background:#fff}.clinic-app>main>header>div{color:#8a9aaf;font-size:12px}.clinic-app>main>header>section{display:flex;align-items:center;gap:10px}.clinic-app>main>header section>div:not(.avatar){display:grid}.clinic-app>main>header small{color:#8b9ab0;font-size:9px}.clinic-app>main>header button{border:0;background:none;cursor:pointer}.clinic-sidebar .side-brand{height:90px}.clinic-identity{display:flex;align-items:center;gap:10px;margin:14px;padding:12px;border:1px solid #ffffff16;border-radius:11px;background:#ffffff08}.clinic-identity>span{width:42px;height:42px;display:grid;place-items:center;border-radius:9px;background:#1682eb;color:#fff;font-size:11px;font-weight:800}.clinic-identity>div{min-width:0;display:grid}.clinic-identity b{overflow:hidden;color:#fff;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.clinic-identity small{margin-top:4px;color:#78a4d4;font-size:9px}.clinic-sidebar nav{padding:6px 13px}.clinic-sidebar nav p{margin:20px 11px 8px;color:#6387b2;font-size:9px;font-weight:800;letter-spacing:1.4px}.clinic-sidebar nav button{width:100%;height:43px;display:flex;align-items:center;gap:12px;padding:0 13px;border:0;border-radius:8px;background:transparent;color:#c8ddf6;font-size:13px;text-align:left;cursor:pointer}.clinic-sidebar nav button.active{background:#1979df;color:#fff}.clinic-sidebar nav button:disabled{opacity:.45;cursor:not-allowed}.clinic-sidebar .api-status{margin-top:auto}.soon{margin-left:auto;padding:3px 5px;border-radius:4px;background:#ffffff16;font-size:7px;font-style:normal}.clinic-hero{min-height:155px;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding:27px 32px;border-radius:15px;background:linear-gradient(110deg,#0866d6,#0791ed);color:#fff;box-shadow:0 12px 28px #096ed326}.clinic-hero small{font-size:10px;font-weight:800;letter-spacing:1.3px}.clinic-hero h1{margin:12px 0 7px;font-size:27px}.clinic-hero p{margin:0;color:#d8ebff;font-size:13px}.clinic-hero>span{padding:10px 14px;border:1px solid #ffffff50;border-radius:9px;background:#ffffff12;font-weight:800}.clinic-metrics{grid-template-columns:repeat(4,1fr)}.clinic-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-top:20px}.clinic-specialty-card{padding-bottom:20px}.clinic-specialty-card .specialty-tags{padding:0 20px}.clinic-specialty-card>code{display:block;margin:20px;padding:10px;border-radius:7px;background:#f3f7fb;color:#617791;overflow-wrap:anywhere}.staff-form{display:grid;gap:14px;margin-top:25px}.staff-form label{display:grid;gap:7px;color:#647790;font-size:11px;font-weight:700}.staff-form input,.staff-form select{height:43px;padding:0 11px;border:1px solid #d4e0ec;border-radius:7px;background:#fff;color:#213650;font:inherit;outline:0}.staff-form input:focus,.staff-form select:focus{border-color:#2180e8}.staff-form .error{min-height:18px}.status.s-locked,.status.s-disabled{background:#fff0f0;color:#c43c3c}.status.s-pending_activation{background:#fff6df;color:#9c7415}
@media(max-width:1050px){.clinic-metrics{grid-template-columns:repeat(2,1fr)}.clinic-grid{grid-template-columns:1fr}}
