:root{--brand:#168447;--brand-dark:#106b39;--brand-deep:#084e2b;--brand-soft:#eaf7ef;--blue:#1769aa;--ink:#18332a;--muted:#64766d;--surface:#f5faf6;--line:#dce9df;--white:#fff;--radius:18px;--shadow:0 12px 32px rgba(17,83,47,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.65}img{max-width:100%;height:auto}a{color:var(--brand-dark);text-decoration:none}a:hover{text-decoration:underline;color:var(--brand-deep)}button,input,select,textarea{font:inherit}.container{width:min(1160px,92%);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);position:sticky;top:0;z-index:50;box-shadow:0 3px 16px rgba(14,70,40,.035)}.nav{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;min-height:82px;padding:10px 0}.brand{display:inline-flex;align-items:center;gap:10px;font-size:1.45rem;line-height:1.05;font-weight:850;letter-spacing:-.04em;color:var(--brand-deep);text-decoration:none!important}.brand img{width:48px;height:48px;object-fit:contain}.brand small{display:block;font-size:.64rem;letter-spacing:.02em;font-weight:600;color:var(--muted);margin-top:5px}.brand-24{color:var(--blue)}.nav-links{display:flex;gap:1.15rem;align-items:center;flex-wrap:wrap}.nav-links>a:not(.btn){font-size:.94rem;font-weight:650;color:#314c3d}.inline-form{display:inline-flex;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid transparent;border-radius:11px;background:var(--brand);color:#fff!important;padding:.76rem 1.15rem;font-weight:750;cursor:pointer;transition:background .18s,transform .18s;box-shadow:0 5px 12px rgba(22,132,71,.12)}.btn:hover{background:var(--brand-dark);text-decoration:none;transform:translateY(-1px)}.btn-outline{background:#fff;color:var(--brand-dark)!important;border-color:#b9d9c4;box-shadow:none}.btn-outline:hover{background:var(--brand-soft)}.btn-blue{background:var(--blue)}.hero{background:radial-gradient(circle at 80% 20%,#dff4e6 0,transparent 32%),linear-gradient(115deg,#f0faf3,#fff 60%,#edf7ff);padding:76px 0}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:3rem;align-items:center}.hero h1{font-size:clamp(2.35rem,5vw,4.25rem);line-height:1.07;letter-spacing:-.055em;margin:.75rem 0 1rem;color:#123d28}.hero h1 span{color:var(--brand)}.eyebrow{font-weight:850;color:var(--brand);text-transform:uppercase;letter-spacing:.11em;font-size:.77rem}.lead{font-size:1.12rem;color:#526a5b;max-width:650px}.hero-panel,.card,.panel{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:#fff;box-shadow:var(--shadow)}.hero-panel{box-shadow:0 22px 55px rgba(19,94,49,.12)}.section{padding:60px 0}.section-alt{background:var(--surface)}.section-head{max-width:720px;margin-bottom:28px}.section h2{font-size:clamp(1.65rem,3vw,2.4rem);line-height:1.2;letter-spacing:-.035em;margin:.4rem 0 .8rem}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.muted{color:var(--muted)}.tag{display:inline-block;padding:.24rem .65rem;border-radius:999px;background:var(--brand-soft);color:var(--brand-deep);font-size:.78rem;font-weight:750}.site-footer{background:#0c3825;color:#e0f1e6;padding:42px 0 20px;margin-top:48px}.site-footer a{color:#e0f1e6}.site-footer a:hover{color:#fff}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:32px}.footer-brand{color:#fff;margin-bottom:12px}.footer-brand small{color:#b5d5c0}.footer-bottom{margin-top:25px;border-top:1px solid #2b5b41;padding-top:16px;color:#b5d5c0}.form-wrap{max-width:580px;margin:48px auto}.form-control{display:block;width:100%;padding:.8rem .9rem;border:1px solid #c7d9cc;border-radius:11px;background:#fff;font:inherit;margin:.35rem 0 1rem;color:var(--ink)}.form-control:focus{outline:3px solid #c9ecd5;border-color:var(--brand)}.form-label{font-weight:750;font-size:.93rem}.alert{padding:13px 16px;border-radius:11px;margin:14px 0;background:#eff6ff;color:#1e40af}.alert.error{background:#fff1f2;color:#9f1239}.alert.success{background:#eaf8ef;color:#126336}.dashboard{display:grid;grid-template-columns:250px minmax(0,1fr);gap:26px;padding:28px 0}.sidebar{border:1px solid var(--line);border-radius:var(--radius);padding:18px;height:max-content;background:#fff;box-shadow:var(--shadow)}.sidebar strong{display:block;padding:8px 10px;color:var(--brand-deep)}.sidebar a{display:block;padding:10px 11px;border-radius:9px;color:#3e5c4b;font-weight:620;margin:2px 0}.sidebar a:hover,.sidebar a.active{background:var(--brand-soft);color:var(--brand-deep);text-decoration:none}.stat{padding:22px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 5px 20px rgba(17,83,47,.035)}.stat strong{display:block;font-size:1.8rem;line-height:1.2;color:var(--brand-deep);margin-top:6px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px;background:#fff}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#f0f8f2;font-size:.86rem;color:#355542}tr:last-child td{border-bottom:0}.status{display:inline-block;background:#edf3f0;color:#456253;border-radius:999px;padding:3px 9px;font-size:.78rem;font-weight:750}.status.success{background:#dcfce7;color:#166534}.status.warning{background:#fef3c7;color:#92400e}.status.danger{background:#ffe4e6;color:#9f1239}.empty{padding:28px;text-align:center;background:var(--surface);border:1px dashed #c9ddce;border-radius:13px;color:var(--muted)}.small{font-size:.88rem}.actions{display:flex;gap:10px;flex-wrap:wrap}.mobile-menu{display:none;border:1px solid var(--line);border-radius:9px;padding:8px 12px;background:#fff;color:var(--brand-deep);font-size:1.1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.service-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--brand-soft);color:var(--brand);font-size:1.4rem}.card h3{margin:.7rem 0 .35rem}.card p{color:var(--muted)}.card:hover{border-color:#b8d9c3}.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:22px 0}.trust-item{display:flex;gap:10px;align-items:center;color:#42604e;font-weight:700}.trust-item span{font-size:1.4rem;color:var(--brand)}hr{border:0;border-top:1px solid var(--line);margin:15px 0}code{background:#f0f6f1;padding:.15rem .35rem;border-radius:5px}
@media(max-width:900px){.hero-grid{gap:1.5rem}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav{min-height:72px}.nav-links{gap:.7rem}.dashboard{grid-template-columns:210px minmax(0,1fr)}}
@media(max-width:700px){.nav{position:relative;flex-wrap:wrap}.mobile-menu{display:block;margin-left:auto}.nav-links{display:none;flex-direction:column;align-items:stretch;width:100%;padding:12px 0 18px}.nav-links.is-open{display:flex}.nav-links>a,.nav-links .btn,.inline-form,.inline-form button{width:100%}.inline-form{display:flex}.hero{padding:46px 0}.hero-grid,.grid,.grid-2,.footer-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(2.2rem,10vw,3.3rem)}.section{padding:42px 0}.dashboard{grid-template-columns:1fr;gap:18px}.sidebar{display:flex;overflow-x:auto;gap:6px;padding:10px}.sidebar strong{display:none}.sidebar a{white-space:nowrap}.trust-strip{grid-template-columns:repeat(2,1fr)}.footer-grid{gap:18px}.brand img{width:42px;height:42px}}
.hero-visual{position:relative;min-width:0}.hero-visual>img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:24px;box-shadow:0 24px 60px rgba(18,76,42,.16);border:1px solid rgba(22,132,71,.14)}.hero-visual-caption{display:flex;align-items:center;gap:12px;position:relative;margin:-26px 18px 0;padding:15px 18px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.hero-visual-caption strong{color:var(--brand-deep)}

/* Role-based dashboard workspaces */
.workspace-section{background:#f7fbf8;min-height:72vh;padding:34px 0 64px}.workspace-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border:1px solid #dcebe0;border-radius:22px;background:linear-gradient(115deg,#fff 0%,#f0faf3 100%);box-shadow:0 12px 32px rgba(17,83,47,.055)}.workspace-welcome h1{font-size:clamp(1.8rem,3vw,2.55rem);line-height:1.13;letter-spacing:-.045em;margin:.45rem 0}.workspace-welcome p{margin:.45rem 0 0}.workspace-welcome-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.workspace-user-chip{display:flex;align-items:center;gap:10px;padding:9px 13px;border:1px solid #dce9df;border-radius:14px;background:#fff;max-width:350px}.workspace-user-chip strong,.workspace-user-chip small{display:block}.workspace-user-chip strong{font-size:.87rem}.workspace-user-chip small{font-size:.74rem;color:#64766d;overflow-wrap:anywhere}.avatar-dot{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:13px;background:#168447;color:white;font-weight:850}.workspace-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0 28px}.workspace-stat{border:1px solid #dce9df;border-radius:16px;padding:18px 20px;background:#fff;box-shadow:0 5px 18px rgba(17,83,47,.035);min-width:0}.workspace-stat>span{display:block;color:#5c7264;font-size:.83rem;font-weight:700}.workspace-stat strong{display:block;font-size:2rem;line-height:1.2;letter-spacing:-.04em;color:#0c5d32;margin:8px 0}.workspace-stat small{font-size:.75rem;color:#7b8c81}.workspace-module-heading{display:flex;justify-content:space-between;align-items:end;margin:32px 0 16px}.workspace-module-heading h2{margin:.35rem 0;font-size:1.65rem;letter-spacing:-.035em}.workspace-module-heading p{margin:.3rem 0}.workspace-modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.workspace-module{background:#fff;border:1px solid #dce9df;border-radius:17px;padding:20px;min-width:0;box-shadow:0 5px 18px rgba(17,83,47,.025);display:flex;flex-direction:column;transition:transform .18s,border-color .18s}.workspace-module:hover{border-color:#a8d4b7;transform:translateY(-2px)}.module-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.module-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#eaf7ef;color:#168447;font-size:1.35rem;font-weight:800}.module-index{font-size:.75rem;font-weight:800;letter-spacing:.08em;color:#9aaca0}.workspace-module h3{font-size:1.03rem;line-height:1.3;margin:0 0 7px;color:#163d29}.workspace-module p{font-size:.87rem;color:#64766d;line-height:1.55;margin:0 0 17px}.module-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:12px;border-top:1px solid #edf3ee;font-size:.86rem;font-weight:800;color:#116b39}.module-link span{font-size:1.15rem}.module-pending{background:#fbfdfb;border-style:dashed}.module-note{margin-top:auto;padding-top:12px;border-top:1px solid #edf3ee;font-size:.76rem;color:#8a6a21;font-weight:750}.workspace-lower{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr);gap:18px;margin-top:22px}.workspace-panel{background:#fff;border:1px solid #dce9df;border-radius:18px;padding:22px;min-width:0;box-shadow:0 5px 18px rgba(17,83,47,.025)}.panel-heading{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:16px}.panel-heading h2{font-size:1.1rem;margin:0 0 4px}.panel-heading p{font-size:.82rem;margin:0}.panel-heading>a{font-size:.82rem;font-weight:800;white-space:nowrap}.workspace-panel .table-wrap{border-radius:12px}.workspace-panel th,.workspace-panel td{font-size:.83rem;padding:11px 12px}.ticket-list{display:grid;gap:4px}.ticket-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #edf3ee}.ticket-row:last-child{border-bottom:0}.ticket-mark{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:10px;background:#eaf7ef;color:#168447;font-weight:850}.ticket-row strong,.ticket-row small{display:block}.ticket-row strong{font-size:.86rem}.ticket-row small{font-size:.74rem;color:#718277}.verification-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;background:#fff;border:1px solid #e8e0c4;border-radius:16px}.verification-banner p{margin:5px 0}.verification-banner small{color:#718277}.admin-module-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.integration-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #edf3ee}.integration-row:last-child{border-bottom:0}.integration-row span:first-child{font-weight:750;font-size:.88rem}.integration-row small{display:block;color:#718277;font-weight:400;font-size:.75rem}.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){.workspace-modules{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-stats,.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-lower{grid-template-columns:1fr}}
@media(max-width:650px){.workspace-section{padding:18px 0 42px}.workspace-welcome{padding:21px;align-items:flex-start;flex-direction:column}.workspace-welcome-actions{align-items:stretch;width:100%}.workspace-user-chip{max-width:none}.workspace-stats,.workspace-modules,.admin-module-grid,.admin-stats{grid-template-columns:1fr 1fr;gap:10px}.workspace-stat{padding:15px}.workspace-stat strong{font-size:1.65rem}.workspace-module{padding:15px}.workspace-module h3{font-size:.95rem}.workspace-module p{font-size:.8rem}.workspace-panel{padding:15px}.panel-heading{flex-direction:column}.workspace-lower{gap:12px}}
@media(max-width:420px){.workspace-stats,.workspace-modules,.admin-module-grid,.admin-stats{grid-template-columns:1fr}}

/* Doctora24 application shell: persistent role-aware sidebar and compact workspace */
.app-topbar .nav{min-height:70px;padding-block:8px}.app-topbar .brand img{width:42px;height:42px}.topbar-label{font-size:.82rem;font-weight:800;color:#285941;background:#edf7f0;border-radius:999px;padding:8px 12px}.app-shell{display:grid;grid-template-columns:258px minmax(0,1fr);min-height:calc(100vh - 70px);background:#f5f8f6}.app-sidebar{background:#fff;border-right:1px solid #e1eae4;padding:18px 13px 22px;display:flex;flex-direction:column;gap:16px;position:sticky;top:70px;height:calc(100vh - 70px);overflow-y:auto}.sidebar-profile{display:flex;align-items:center;gap:10px;padding:9px 10px 17px;border-bottom:1px solid #edf2ee;min-width:0}.sidebar-profile strong,.sidebar-profile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:170px}.sidebar-profile strong{font-size:.86rem;color:#173d2b}.sidebar-profile small{font-size:.72rem;color:#78877e;margin-top:3px}.sidebar-group{display:grid;gap:3px}.sidebar-label{font-size:.65rem;letter-spacing:.12em;font-weight:850;color:#8a9a90;padding:0 11px 6px}.sidebar-link{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:10px;color:#52675b;font-weight:650;font-size:.83rem;line-height:1.25;transition:background .15s,color .15s}.sidebar-link:hover,.sidebar-link.active{background:#eaf6ee;color:#116b39;text-decoration:none}.sidebar-link.active{box-shadow:inset 3px 0 #168447;font-weight:800}.sidebar-glyph{width:27px;height:27px;display:grid;place-items:center;flex:0 0 27px;border-radius:8px;background:#f0f5f1;color:#377452;font-size:.76rem;font-weight:850}.sidebar-link.active .sidebar-glyph{background:#168447;color:#fff}.sidebar-bottom{margin-top:auto;padding-top:12px;border-top:1px solid #edf2ee}.sidebar-help{font-size:.72rem;color:#849188;padding:0 11px 5px}.app-content{min-width:0;overflow:hidden}.app-content .workspace-section{padding:26px clamp(16px,2.6vw,38px) 48px;background:#f5f8f6;min-height:calc(100vh - 70px)}.app-content .container{width:100%;max-width:1500px}.app-content .workspace-welcome{padding:23px 26px;border-radius:16px;box-shadow:0 4px 16px rgba(17,83,47,.035)}.app-content .workspace-stats{gap:12px;margin:16px 0 22px}.app-content .workspace-stat{padding:15px 17px;border-radius:13px}.app-content .workspace-stat strong{font-size:1.8rem;margin:5px 0}.app-content .workspace-module-heading{margin:24px 0 13px}.app-content .workspace-modules{gap:12px}.app-content .workspace-module{padding:17px;border-radius:14px;box-shadow:0 2px 9px rgba(17,83,47,.025)}.app-content .module-icon{width:38px;height:38px;border-radius:11px}.app-content .workspace-lower{margin-top:17px}.app-content .workspace-panel{padding:18px;border-radius:14px}.app-footer{display:none}.app-content .workspace-module p{line-height:1.45}.hero{padding:42px 0 36px}.hero-grid{gap:2rem;grid-template-columns:1fr 0.9fr}.hero h1{font-size:clamp(2.25rem,4.2vw,3.55rem);max-width:610px}.hero .lead{font-size:1.02rem;line-height:1.6;max-width:580px}.hero-visual>img{aspect-ratio:1.25/1;max-height:420px;object-fit:cover}.hero-visual-caption{margin:-20px 14px 0;padding:12px 14px}.section{padding:44px 0}.section-head{margin-bottom:22px}.trust-strip{padding:16px 0 22px}.hero .small{margin-top:13px}.workspace-module .module-note{color:#8a6a21}
@media(max-width:900px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.app-sidebar{padding-inline:9px}.app-content .workspace-modules,.app-content .admin-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{padding:34px 0}.hero-grid{gap:1.3rem}}
@media(max-width:700px){.app-topbar .nav{flex-wrap:wrap}.app-topbar .nav-links{display:none}.app-topbar .nav-links.is-open{display:flex}.app-shell{grid-template-columns:minmax(0,1fr)}.app-sidebar{position:static;height:auto;max-height:none;border-right:0;border-bottom:1px solid #e1eae4;padding:10px;gap:10px;display:none}.app-sidebar.mobile-open{display:flex}.app-sidebar .sidebar-profile,.app-sidebar .sidebar-bottom{display:none}.app-sidebar .sidebar-group{display:flex;overflow-x:auto;gap:5px}.app-sidebar .sidebar-label{display:none}.app-sidebar .sidebar-link{white-space:nowrap;flex:0 0 auto;padding:8px 10px}.app-sidebar .sidebar-glyph{display:none}.app-content .workspace-section{padding:17px 12px 32px}.app-content .workspace-welcome{padding:18px}.hero-grid{grid-template-columns:1fr}.hero{padding:28px 0 24px}.hero-visual{max-width:580px}.hero-visual>img{max-height:320px}.section{padding:34px 0}}

/* Final mobile workspace navigation and account shortcut */
.sidebar-profile-link{color:inherit;text-decoration:none!important;border-radius:12px;transition:background .15s}.sidebar-profile-link:hover{background:#f3f8f4}.profile-chevron{margin-left:auto;color:#43815b;font-size:1rem}.app-sidebar-toggle{gap:8px;font-size:.9rem;font-weight:750}.app-sidebar-toggle span{font-size:.82rem}
@media(max-width:700px){.app-topbar .nav{display:flex;flex-wrap:nowrap;gap:10px}.app-topbar .brand{min-width:0}.app-topbar .brand span{font-size:1.15rem}.app-topbar .app-sidebar-toggle{display:inline-flex;margin-left:auto;align-items:center}.app-topbar .nav-links{order:3;flex-basis:100%;width:100%}.app-shell{display:block;position:relative}.app-sidebar{display:flex;position:fixed;z-index:100;left:0;top:0;bottom:0;width:min(86vw,310px);height:100dvh;max-height:100dvh;overflow-y:auto;transform:translateX(-105%);transition:transform .22s ease;box-shadow:12px 0 36px rgba(13,48,29,.18);border-right:1px solid #dce8df;border-bottom:0;padding:18px 13px calc(20px + env(safe-area-inset-bottom));gap:16px}.app-sidebar.mobile-open{display:flex;transform:translateX(0)}.app-sidebar .sidebar-profile,.app-sidebar .sidebar-bottom{display:flex}.app-sidebar .sidebar-profile{flex:0 0 auto}.app-sidebar .sidebar-group{display:grid;overflow:visible;gap:3px}.app-sidebar .sidebar-label{display:block}.app-sidebar .sidebar-link{white-space:normal;flex:initial;padding:10px 11px}.app-sidebar .sidebar-glyph{display:grid}.app-sidebar-backdrop{position:fixed;inset:0;background:rgba(9,28,17,.45);z-index:99;display:none}.app-sidebar-backdrop.is-visible{display:block}.app-content .workspace-section{padding:17px 12px 32px}.hero{padding:30px 0 24px}.hero-grid{grid-template-columns:minmax(0,1fr);gap:20px}.hero h1{max-width:13ch;font-size:clamp(2.25rem,9vw,3.15rem)}.hero-visual{width:100%;max-width:520px;margin-inline:auto}.hero-visual>img{width:100%;aspect-ratio:1.45/1;max-height:300px;object-fit:cover}.hero-visual-caption{margin:-14px 10px 0}.site-header:not(.app-topbar) .nav{flex-wrap:wrap}.site-header:not(.app-topbar) .nav-links{order:3;flex-basis:100%}}

/* Patient dashboard refresh — role-specific, responsive and data-backed */
.patient-dashboard{width:100%;max-width:1500px;margin:0 auto;padding:4px 0 22px;color:#183b2a}.patient-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:27px 30px;border:1px solid #dcebe2;border-radius:18px;background:linear-gradient(112deg,#fff 0%,#f0faf4 72%,#e6f7ed 100%);box-shadow:0 5px 18px rgba(17,83,47,.035)}.patient-eyebrow{display:block;font-size:.68rem;letter-spacing:.12em;font-weight:850;color:#168447}.patient-welcome h1{font-size:clamp(1.6rem,2.5vw,2.25rem);line-height:1.18;letter-spacing:-.04em;margin:9px 0}.patient-welcome p,.patient-card-heading p{margin:0;color:#6b7e72;font-size:.88rem;line-height:1.5}.patient-primary-action,.patient-secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:11px;padding:12px 16px;background:#13834b;color:#fff;font-size:.86rem;font-weight:800;white-space:nowrap;text-decoration:none;box-shadow:0 4px 10px rgba(19,131,75,.14)}.patient-primary-action:hover,.patient-secondary-action:hover{background:#0c693b;color:#fff;text-decoration:none}.patient-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:17px 0}.patient-stat-card{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;column-gap:12px;row-gap:4px;padding:17px;border:1px solid #e0eae3;border-radius:15px;background:#fff;box-shadow:0 3px 12px rgba(24,59,42,.025);text-decoration:none;min-width:0}.patient-stat-card:hover{border-color:#a9d8b8;text-decoration:none;transform:translateY(-1px)}.patient-stat-icon{grid-row:span 3;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;font-size:1.25rem;font-weight:800}.patient-stat-icon.green,.patient-quick-icon.green{background:#e6f7ed;color:#14824a}.patient-stat-icon.blue,.patient-quick-icon.blue{background:#eaf3ff;color:#2868b2}.patient-stat-icon.purple,.patient-quick-icon.purple{background:#f0edff;color:#6a55b4}.patient-stat-icon.orange,.patient-quick-icon.orange{background:#fff3e4;color:#b96b12}.patient-stat-label{font-size:.77rem;font-weight:700;color:#66796d;line-height:1.35}.patient-stat-card strong{font-size:1.7rem;line-height:1.15;color:#173d2a;letter-spacing:-.04em}.patient-stat-card small{font-size:.72rem;color:#168447;font-weight:750}.patient-stat-card small b{float:right;font-size:1rem}.patient-content-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.85fr);gap:16px}.patient-card{background:#fff;border:1px solid #e0eae3;border-radius:16px;padding:21px;min-width:0;box-shadow:0 3px 12px rgba(24,59,42,.025)}.patient-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:15px}.patient-card-heading h2{font-size:1.13rem;letter-spacing:-.025em;margin:5px 0}.patient-card-heading>a{font-size:.8rem;font-weight:800;white-space:nowrap;color:#168447}.patient-card-heading>a span{font-size:1rem}.patient-empty{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px}.patient-empty-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:#eaf7ef;color:#168447;font-size:1.5rem;margin-bottom:12px}.patient-empty strong{font-size:.95rem}.patient-empty p{max-width:310px;font-size:.82rem;color:#738378;line-height:1.5;margin:7px 0 14px}.patient-secondary-action{font-size:.79rem;padding:10px 13px}.patient-appointment-list{display:grid}.patient-appointment-row{display:flex;align-items:center;gap:11px;padding:14px 0;border-bottom:1px solid #edf2ee;min-width:0}.patient-appointment-row:last-child{border-bottom:0}.patient-provider-avatar{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border-radius:13px;background:#e4f4ea;color:#117342;font-weight:850}.patient-appointment-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.patient-appointment-info strong{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-appointment-info span{font-size:.77rem;color:#4c6b59}.patient-appointment-info small{font-size:.72rem;color:#819087}.patient-status{font-size:.67rem;font-weight:800;border-radius:999px;padding:5px 8px;white-space:nowrap}.patient-status.is-success{background:#e7f7ed;color:#137543}.patient-status.is-pending{background:#fff5dc;color:#95690d}.patient-status.is-danger{background:#fff0ef;color:#b42318}.patient-quick-links{display:grid}.patient-quick-links>a{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid #edf2ee;text-decoration:none;min-width:0}.patient-quick-links>a:last-child{border-bottom:0}.patient-quick-links>a:hover strong{color:#168447}.patient-quick-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;font-weight:850;font-size:1.05rem}.patient-quick-icon.slate{background:#f0f3f1;color:#5c7164}.patient-quick-links>a>span:nth-child(2){display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.patient-quick-links strong{font-size:.82rem;color:#234531}.patient-quick-links small{font-size:.72rem;color:#819087;overflow:hidden;text-overflow:ellipsis}.patient-quick-links>a>b{color:#8aa193;font-size:1rem}.patient-care-note{display:flex;align-items:flex-start;gap:13px;margin-top:16px;background:#f5fbf7}.patient-note-icon{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:11px;background:#e2f5e9;color:#168447;font-size:1.2rem}.patient-care-note strong{font-size:.85rem}.patient-care-note p{margin:5px 0 0;color:#708176;font-size:.77rem;line-height:1.5}
@media(max-width:1050px){.patient-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-content-grid{grid-template-columns:1fr}.patient-quick-links{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}.patient-quick-links>a:nth-last-child(2){border-bottom:0}}
@media(max-width:650px){.patient-dashboard{padding:0}.patient-welcome{align-items:flex-start;flex-direction:column;padding:21px;border-radius:14px}.patient-primary-action{width:100%}.patient-stat-grid{gap:9px;margin:12px 0}.patient-stat-card{padding:12px;grid-template-columns:34px minmax(0,1fr);column-gap:8px}.patient-stat-icon{width:34px;height:34px;border-radius:10px;font-size:1rem}.patient-stat-label{font-size:.7rem}.patient-stat-card strong{font-size:1.45rem}.patient-stat-card small{font-size:.66rem}.patient-card{padding:15px;border-radius:14px}.patient-card-heading{gap:8px}.patient-card-heading h2{font-size:1rem}.patient-appointment-row{gap:8px}.patient-provider-avatar{flex-basis:34px;width:34px;height:34px}.patient-appointment-info strong{font-size:.78rem}.patient-appointment-info span,.patient-appointment-info small{font-size:.69rem}.patient-status{font-size:.6rem;padding:4px 6px}.patient-quick-links{grid-template-columns:1fr}.patient-quick-links>a:nth-last-child(2){border-bottom:1px solid #edf2ee}}
@media(max-width:380px){.patient-stat-grid{grid-template-columns:1fr}.patient-stat-card{grid-template-columns:42px minmax(0,1fr)}.patient-stat-icon{width:42px;height:42px}}

/* Doctora24 UI/UX Step 4 — healthcare provider dashboard */
.provider-dashboard{width:100%;max-width:1500px;margin:0 auto;padding:4px 0 22px;color:#183b2a}.provider-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:27px 30px;border:1px solid #dcebe2;border-radius:18px;background:linear-gradient(112deg,#fff 0%,#f0faf4 72%,#e6f7ed 100%);box-shadow:0 5px 18px rgba(17,83,47,.035)}.provider-eyebrow{display:block;font-size:.68rem;letter-spacing:.12em;font-weight:850;color:#168447}.provider-welcome h1{font-size:clamp(1.6rem,2.5vw,2.25rem);line-height:1.18;letter-spacing:-.04em;margin:9px 0}.provider-welcome p,.provider-card-heading p{margin:0;color:#6b7e72;font-size:.88rem;line-height:1.5}.provider-primary-action,.provider-secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:11px;padding:12px 16px;background:#13834b;color:#fff;font-size:.86rem;font-weight:800;white-space:nowrap;text-decoration:none;box-shadow:0 4px 10px rgba(19,131,75,.14)}.provider-primary-action:hover,.provider-secondary-action:hover{background:#0c693b;color:#fff;text-decoration:none}.provider-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:17px 0}.provider-stat-card{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;column-gap:12px;row-gap:4px;padding:17px;border:1px solid #e0eae3;border-radius:15px;background:#fff;box-shadow:0 3px 12px rgba(24,59,42,.025);text-decoration:none;min-width:0}.provider-stat-card:hover{border-color:#a9d8b8;text-decoration:none;transform:translateY(-1px)}.provider-stat-icon{grid-row:span 3;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;font-size:1.25rem;font-weight:800}.provider-stat-icon.green,.provider-quick-icon.green{background:#e6f7ed;color:#14824a}.provider-stat-icon.blue,.provider-quick-icon.blue{background:#eaf3ff;color:#2868b2}.provider-stat-icon.purple,.provider-quick-icon.purple{background:#f0edff;color:#6a55b4}.provider-stat-icon.orange,.provider-quick-icon.orange{background:#fff3e4;color:#b96b12}.provider-stat-label{font-size:.77rem;font-weight:700;color:#66796d;line-height:1.35}.provider-stat-card strong{font-size:1.7rem;line-height:1.15;color:#173d2a;letter-spacing:-.04em}.provider-stat-card small{font-size:.72rem;color:#168447;font-weight:750}.provider-stat-card small b{float:right;font-size:1rem}.provider-verification{display:flex;align-items:center;gap:13px;margin:0 0 16px;padding:16px 19px;border:1px solid #f1dfb7;border-radius:15px;background:#fffbf1}.provider-verification.is-approved{border-color:#cfe9d7;background:#f4fbf6}.provider-verification-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:#fff0cc;color:#946a10;font-size:1.25rem;font-weight:900}.provider-verification.is-approved .provider-verification-icon{background:#dff4e6;color:#137543}.provider-verification>div{min-width:0;flex:1}.provider-verification strong{font-size:.88rem}.provider-verification p{margin:4px 0;font-size:.8rem;color:#607266}.provider-verification small{font-size:.72rem;color:#7b897f;line-height:1.45}.provider-verification>a{font-size:.78rem;font-weight:800;color:#168447;white-space:nowrap}.provider-status{font-size:.67rem;font-weight:800;border-radius:999px;padding:5px 8px;white-space:nowrap}.provider-status.is-success{background:#e7f7ed;color:#137543}.provider-status.is-pending{background:#fff0cc;color:#95690d}.provider-status.is-danger{background:#fff0ef;color:#b42318}.provider-content-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:16px}.provider-card{background:#fff;border:1px solid #e0eae3;border-radius:16px;padding:21px;min-width:0;box-shadow:0 3px 12px rgba(24,59,42,.025)}.provider-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:15px}.provider-card-heading h2{font-size:1.13rem;letter-spacing:-.025em;margin:5px 0}.provider-card-heading>a{font-size:.8rem;font-weight:800;white-space:nowrap;color:#168447}.provider-empty{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px}.provider-empty-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:#eaf7ef;color:#168447;font-size:1.5rem;margin-bottom:12px}.provider-empty strong{font-size:.95rem}.provider-empty p{max-width:320px;font-size:.82rem;color:#738378;line-height:1.5;margin:7px 0 14px}.provider-secondary-action{font-size:.79rem;padding:10px 13px}.provider-appointment-list{display:grid}.provider-appointment-row{display:flex;align-items:center;gap:11px;padding:14px 0;border-bottom:1px solid #edf2ee;min-width:0}.provider-appointment-row:last-child{border-bottom:0}.provider-patient-avatar{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border-radius:13px;background:#e4f4ea;color:#117342;font-weight:850}.provider-appointment-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.provider-appointment-info strong{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.provider-appointment-info span{font-size:.77rem;color:#4c6b59}.provider-appointment-info small{font-size:.72rem;color:#819087}.provider-quick-links{display:grid}.provider-quick-links>a{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid #edf2ee;text-decoration:none;min-width:0}.provider-quick-links>a:last-child{border-bottom:0}.provider-quick-links>a:hover strong{color:#168447}.provider-quick-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;font-weight:850;font-size:1.05rem}.provider-quick-icon.slate{background:#f0f3f1;color:#5c7164}.provider-quick-links>a>span:nth-child(2){display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.provider-quick-links strong{font-size:.82rem;color:#234531}.provider-quick-links small{font-size:.72rem;color:#819087;overflow:hidden;text-overflow:ellipsis}.provider-quick-links>a>b{color:#8aa193;font-size:1rem}.provider-care-note{display:flex;align-items:flex-start;gap:13px;margin-top:16px;padding:18px 21px;border:1px solid #dcebe2;border-radius:16px;background:#f5fbf7}.provider-note-icon{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:11px;background:#e2f5e9;color:#168447;font-size:1.2rem}.provider-care-note strong{font-size:.85rem}.provider-care-note p{margin:5px 0 0;color:#708176;font-size:.77rem;line-height:1.5}
@media(max-width:900px){.provider-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.provider-content-grid{grid-template-columns:1fr}}
@media(max-width:650px){.provider-dashboard{padding:0}.provider-welcome{align-items:flex-start;flex-direction:column;padding:21px;border-radius:14px}.provider-primary-action{width:100%}.provider-stat-grid{gap:9px;margin:12px 0}.provider-stat-card{padding:12px;grid-template-columns:34px minmax(0,1fr);column-gap:8px}.provider-stat-icon{width:34px;height:34px;border-radius:10px;font-size:1rem}.provider-stat-label{font-size:.7rem}.provider-stat-card strong{font-size:1.45rem}.provider-stat-card small{font-size:.66rem}.provider-card{padding:15px;border-radius:14px}.provider-card-heading{gap:8px}.provider-card-heading h2{font-size:1rem}.provider-appointment-row{gap:8px}.provider-patient-avatar{flex-basis:34px;width:34px;height:34px}.provider-appointment-info strong{font-size:.78rem}.provider-appointment-info span,.provider-appointment-info small{font-size:.69rem}.provider-status{font-size:.6rem;padding:4px 6px}.provider-verification{align-items:flex-start;flex-wrap:wrap;padding:13px}.provider-verification>div{flex-basis:calc(100% - 55px)}.provider-verification>a{margin-left:53px}}

/* Doctora24 UI/UX Step 5 — Super Admin dashboard */
.admin-dashboard{width:100%;max-width:1560px;margin:0 auto;padding:4px 0 28px;color:#173b2a}.admin-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:29px 31px;border:1px solid #dcebe2;border-radius:19px;background:radial-gradient(circle at 92% 12%,rgba(210,241,222,.8),transparent 30%),linear-gradient(112deg,#fff 0%,#f5fbf7 72%,#edf6ff 100%);box-shadow:0 5px 18px rgba(17,83,47,.035)}.admin-welcome-copy{min-width:0}.admin-eyebrow{display:block;font-size:.68rem;letter-spacing:.12em;font-weight:850;color:#168447}.admin-welcome h1{font-size:clamp(1.6rem,2.5vw,2.25rem);line-height:1.18;letter-spacing:-.04em;margin:9px 0}.admin-welcome p,.admin-section-heading>p,.admin-panel-description{margin:0;color:#6b7e72;font-size:.86rem;line-height:1.55}.admin-welcome-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.admin-primary-action,.admin-secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:11px;padding:11px 15px;background:#13834b;color:#fff;font-size:.82rem;font-weight:800;white-space:nowrap;text-decoration:none;border:1px solid #13834b}.admin-primary-action:hover{background:#0c693b;color:#fff;text-decoration:none}.admin-secondary-action{background:#fff;color:#286044;border-color:#cfe1d4}.admin-secondary-action:hover{background:#f1faf4;color:#145b34;text-decoration:none}.admin-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:25px 1px 13px}.admin-section-heading h2,.admin-panel-heading h2{font-size:1.17rem;letter-spacing:-.025em;margin:5px 0 0}.admin-section-heading>p{max-width:420px;text-align:right;font-size:.77rem}.admin-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.admin-metric-card{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;column-gap:12px;row-gap:4px;padding:17px;border:1px solid #e0eae3;border-radius:15px;background:#fff;box-shadow:0 3px 12px rgba(24,59,42,.025);min-width:0}.admin-metric-icon{grid-row:span 3;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;font-size:1.15rem;font-weight:850}.admin-metric-icon.green,.admin-management-icon.green{background:#e6f7ed;color:#14824a}.admin-metric-icon.blue,.admin-management-icon.blue{background:#eaf3ff;color:#2868b2}.admin-metric-icon.purple,.admin-management-icon.purple{background:#f0edff;color:#6a55b4}.admin-metric-icon.orange,.admin-management-icon.orange{background:#fff3e4;color:#b96b12}.admin-metric-icon.slate,.admin-management-icon.slate{background:#f0f3f1;color:#5c7164}.admin-metric-label{font-size:.75rem;font-weight:750;color:#66796d;line-height:1.35}.admin-metric-card strong{font-size:1.65rem;line-height:1.15;color:#173d2a;letter-spacing:-.04em;overflow-wrap:anywhere}.admin-metric-card small{font-size:.68rem;color:#849187}.admin-management-heading{margin-top:29px}.admin-management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.admin-management-card{display:flex;align-items:center;gap:13px;min-width:0;padding:15px 16px;border:1px solid #e0eae3;border-radius:14px;background:#fff;text-decoration:none;box-shadow:0 3px 12px rgba(24,59,42,.02);transition:border-color .16s,transform .16s,box-shadow .16s}.admin-management-card:hover{border-color:#a9d8b8;box-shadow:0 7px 18px rgba(24,59,42,.06);transform:translateY(-1px);text-decoration:none}.admin-management-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;font-size:1.1rem;font-weight:850}.admin-management-content{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.admin-management-content strong{font-size:.85rem;color:#234531}.admin-management-content small{font-size:.74rem;line-height:1.4;color:#819087}.admin-management-arrow{color:#8aa193;font-size:1.1rem;font-weight:800}.admin-bottom-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:15px;margin-top:17px}.admin-panel{border:1px solid #e0eae3;border-radius:16px;padding:21px;background:#fff;min-width:0;box-shadow:0 3px 12px rgba(24,59,42,.025)}.admin-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-panel-heading>a{font-size:.76rem;font-weight:800;color:#168447;white-space:nowrap}.admin-panel-description{font-size:.77rem;margin:9px 0 12px}.admin-integration-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #edf2ee;min-width:0}.admin-integration-row:last-child{border-bottom:0}.admin-integration-mark{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;font-weight:900}.admin-integration-mark.ready{background:#e7f7ed;color:#137543}.admin-integration-mark.attention{background:#fff0cc;color:#95690d}.admin-integration-name{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.admin-integration-name strong{font-size:.8rem;color:#234531;overflow-wrap:anywhere}.admin-integration-name small{font-size:.7rem;color:#819087}.admin-integration-status{font-size:.67rem;font-weight:800;border-radius:999px;padding:5px 8px;white-space:nowrap}.admin-integration-status.ready{background:#e7f7ed;color:#137543}.admin-integration-status.attention{background:#fff0cc;color:#95690d}.admin-empty{padding:20px 0;color:#819087;font-size:.82rem}.admin-security-panel{display:flex;flex-direction:column;align-items:flex-start;background:linear-gradient(145deg,#fff 0%,#f3faf5 100%)}.admin-security-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e5f4ea;color:#168447;font-size:1.4rem;margin-bottom:15px}.admin-security-panel h2{font-size:1.15rem;line-height:1.3;letter-spacing:-.025em;margin:8px 0}.admin-security-panel p{font-size:.81rem;line-height:1.55;color:#6b7e72;margin:0 0 17px}.admin-security-panel .admin-primary-action{margin-top:auto}
@media(max-width:1050px){.admin-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-bottom-grid{grid-template-columns:1fr}.admin-security-panel{min-height:0}}
@media(max-width:650px){.admin-dashboard{padding:0}.admin-welcome{align-items:flex-start;flex-direction:column;padding:21px;border-radius:14px;gap:16px}.admin-welcome-actions{width:100%}.admin-welcome-actions>a{flex:1}.admin-section-heading{align-items:flex-start;flex-direction:column;gap:5px;margin-top:21px}.admin-section-heading>p{text-align:left;font-size:.75rem}.admin-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.admin-metric-card{padding:12px;grid-template-columns:34px minmax(0,1fr);column-gap:8px}.admin-metric-icon{width:34px;height:34px;border-radius:10px;font-size:1rem}.admin-metric-label{font-size:.69rem}.admin-metric-card strong{font-size:1.4rem}.admin-metric-card small{font-size:.63rem}.admin-management-grid{grid-template-columns:1fr;gap:8px}.admin-management-card{padding:12px}.admin-management-icon{flex-basis:36px;width:36px;height:36px}.admin-management-content strong{font-size:.81rem}.admin-management-content small{font-size:.71rem}.admin-panel{padding:15px;border-radius:14px}.admin-panel-heading h2{font-size:1rem}.admin-panel-heading>a{font-size:.7rem}.admin-integration-status{font-size:.6rem;padding:4px 6px}.admin-integration-name strong{font-size:.75rem}}
@media(max-width:360px){.admin-metric-grid{grid-template-columns:1fr}.admin-metric-card{grid-template-columns:42px minmax(0,1fr)}.admin-metric-icon{width:42px;height:42px}}
/* ==========================================
   DOCTORA24 — SHARED WORKSPACE VISUAL FIX
   File: public/assets/css/app.css
   ========================================== */

:root {
    --brand: #168447;
    --brand-dark: #106b39;
    --brand-deep: #084e2b;
    --brand-soft: #eaf7ef;
    --blue: #1769aa;
    --ink: #18332a;
    --muted: #586b60;
    --surface: #f4f8f5;
    --line: #dce6df;
}

/* Improve text readability */
body {
    color: var(--ink);
    background: #f4f8f5;
    line-height: 1.55;
}

h1, h2, h3, h4 {
    color: #153d29;
    line-height: 1.3;
}

p, small, .muted {
    color: #586b60;
}

/* Workspace background and layout */
.app-shell {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    min-height: calc(100vh - 70px);
    background: #f4f8f5;
}

.app-content {
    min-width: 0;
    overflow: hidden;
}

.app-content .workspace-section {
    min-height: calc(100vh - 70px);
    padding: 28px clamp(16px, 2.5vw, 36px) 48px;
    background: #f4f8f5;
}

.app-content .container {
    width: 100%;
    max-width: 1500px;
    margin-inline: auto;
}

/* Sidebar */
.app-sidebar {
    position: sticky;
    top: 70px;
    height: calc(100vh - 70px);
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #fff;
    border-right: 1px solid #dce6df;
    padding: 18px 12px;
    gap: 17px;
    box-shadow: 2px 0 12px rgba(17, 55, 32, 0.025);
}

.sidebar-profile {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 12px 10px 18px;
    border-bottom: 1px solid #e7eee9;
}

.sidebar-profile strong {
    color: #153d29;
    font-size: 0.88rem;
}

.sidebar-profile small {
    color: #586b60;
    font-size: 0.75rem;
}

.sidebar-label {
    color: #65796c;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.sidebar-link {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 10px 11px;
    margin: 2px 0;
    border-radius: 10px;
    color: #344f40;
    font-size: 0.84rem;
    font-weight: 650;
    transition: background 0.15s ease, color 0.15s ease;
}

.sidebar-link:hover,
.sidebar-link.active {
    background: #e7f5ec;
    color: #086735;
    text-decoration: none;
}

.sidebar-link.active {
    box-shadow: inset 3px 0 #168447;
    font-weight: 800;
}

.sidebar-glyph {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: #eff5f0;
    color: #276441;
    font-size: 0.78rem;
    font-weight: 800;
}

.sidebar-link.active .sidebar-glyph {
    color: #fff;
    background: #168447;
}

/* Welcome panels */
.app-content .workspace-welcome,
.app-content .patient-welcome {
    background: linear-gradient(115deg, #fff 0%, #f0faf3 100%);
    border: 1px solid #dce9df;
    border-radius: 17px;
    box-shadow: 0 4px 16px rgba(17, 83, 47, 0.045);
}

.app-content .workspace-welcome h1,
.app-content .patient-welcome h1 {
    color: #153d29;
}

/* Dashboard statistic cards */
.app-content .workspace-stats,
.app-content .admin-stats,
.app-content .patient-stat-grid {
    gap: 14px;
}

.app-content .workspace-stat,
.app-content .admin-stat,
.app-content .patient-stat-card {
    min-width: 0;
    background: #fff;
    border: 1px solid #dce6df;
    border-radius: 14px;
    box-shadow: 0 4px 14px rgba(17, 83, 47, 0.035);
}

.app-content .workspace-stat strong,
.app-content .admin-stat strong,
.app-content .patient-stat-card strong {
    color: #0c6335;
}

/* Dashboard content cards */
.app-content .workspace-module,
.app-content .workspace-panel,
.app-content .patient-card,
.app-content .card,
.app-content .panel {
    min-width: 0;
    background: #fff;
    border: 1px solid #dce6df;
    border-radius: 15px;
    box-shadow: 0 3px 12px rgba(17, 83, 47, 0.025);
}

.app-content .workspace-module:hover {
    border-color: #b7d9c2;
}

.app-content .workspace-module h3,
.app-content .patient-card h2 {
    color: #153d29;
}

.app-content .workspace-module p {
    color: #586b60;
    line-height: 1.55;
}

/* Buttons */
.app-content .btn,
.app-content button.btn {
    min-height: 40px;
    border-radius: 10px;
    font-weight: 750;
}

.app-content .btn:not(.btn-outline) {
    background: #168447;
}

.app-content .btn:not(.btn-outline):hover {
    background: #106b39;
}

/* Tables */
.app-content .table-wrap {
    max-width: 100%;
    overflow-x: auto;
    background: #fff;
    border: 1px solid #dce6df;
    border-radius: 12px;
}

.app-content table {
    min-width: 560px;
}

.app-content th {
    background: #edf6f0;
    color: #244b34;
}

.app-content td {
    color: #344f40;
}

/* Keep long labels from breaking the layout */
.app-content a,
.app-content button,
.sidebar-link {
    overflow-wrap: anywhere;
}

.app-content input,
.app-content select,
.app-content textarea {
    max-width: 100%;
}

/* Tablet */
@media (max-width: 900px) {
    .app-shell {
        grid-template-columns: 220px minmax(0, 1fr);
    }

    .app-content .workspace-stats,
    .app-content .admin-stats,
    .app-content .patient-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Mobile: sidebar becomes a slide-out drawer */
@media (max-width: 700px) {
    .app-shell {
        display: block;
        position: relative;
    }

    .app-sidebar {
        display: flex;
        position: fixed;
        z-index: 1000;
        top: 0;
        bottom: 0;
        left: 0;
        width: min(86vw, 310px);
        height: 100vh;
        height: 100dvh;
        max-height: 100dvh;
        overflow-y: auto;
        padding: 18px 13px 24px;
        background: #fff;
        transform: translateX(-105%);
        transition: transform 0.22s ease;
        box-shadow: 12px 0 36px rgba(13, 48, 29, 0.18);
    }

    .app-sidebar.mobile-open {
        display: flex;
        transform: translateX(0);
    }

    .app-sidebar .sidebar-profile,
    .app-sidebar .sidebar-bottom {
        display: flex;
    }

    .app-sidebar .sidebar-group {
        display: grid;
        gap: 3px;
        overflow: visible;
    }

    .app-sidebar .sidebar-label {
        display: block;
    }

    .app-sidebar .sidebar-link {
        white-space: normal;
        min-height: 42px;
    }

    .app-sidebar .sidebar-glyph {
        display: grid;
    }

    .app-content .workspace-section {
        padding: 16px 12px 32px;
    }

    .app-content .workspace-welcome {
        padding: 19px;
    }

    .app-content .workspace-stats,
    .app-content .admin-stats,
    .app-content .patient-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .app-content .workspace-stat {
        padding: 13px;
    }

    .app-content .workspace-stat strong {
        font-size: 1.5rem;
    }

    .app-content .workspace-module,
    .app-content .workspace-panel,
    .app-content .patient-card {
        padding: 15px;
    }
}

@media (max-width: 380px) {
    .app-content .workspace-stats,
    .app-content .admin-stats,
    .app-content .patient-stat-grid {
        grid-template-columns: 1fr;
    }
}
/* Doctora24 authenticated top bar */
.app-topbar {
    position: sticky;
    top: 0;
    z-index: 1100;
    background: #fff;
    border-bottom: 1px solid #dce6df;
}

.app-topbar .nav {
    min-height: 70px;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.app-topbar .brand {
    flex: 0 1 auto;
    min-width: 0;
    font-size: 1.3rem;
}

.app-topbar .brand img {
    width: 42px;
    height: 42px;
}

.workspace-top-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    margin-left: auto;
}

.top-action {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    border: 1px solid #e1eae4;
    border-radius: 11px;
    background: #fff;
    color: #087343;
    font-size: 1.15rem;
    font-weight: 800;
    text-decoration: none;
}

.top-action:hover {
    background: #eaf7ef;
    text-decoration: none;
}

.top-action-badge {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 18px;
    padding: 2px 4px;
    border-radius: 999px;
    background: #d92d20;
    color: #fff;
    font-size: 0.65rem;
    line-height: 1.3;
    text-align: center;
}

.profile-menu {
    position: relative;
    flex: 0 0 auto;
}

.profile-menu summary {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    cursor: pointer;
    list-style: none;
}

.profile-menu summary::-webkit-details-marker {
    display: none;
}

.top-avatar {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #168447;
    color: #fff;
    font-weight: 800;
}

.profile-dropdown {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    z-index: 1200;
    width: min(280px, calc(100vw - 24px));
    padding: 16px;
    border: 1px solid #dce6df;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(15, 48, 28, 0.15);
}

.profile-dropdown strong,
.profile-dropdown small {
    display: block;
    overflow-wrap: anywhere;
}

.profile-dropdown strong {
    color: #153d29;
    font-size: 0.9rem;
}

.profile-dropdown small {
    margin: 4px 0 12px;
    color: #586b60;
    font-size: 0.78rem;
}

.profile-dropdown a,
.profile-signout {
    display: block;
    width: 100%;
    padding: 10px;
    border: 0;
    border-radius: 8px;
    background: #f0f7f2;
    color: #155b35;
    text-align: left;
    font-size: 0.85rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.profile-dropdown form {
    margin-top: 8px;
}

.profile-dropdown .profile-signout {
    background: #fff0f0;
    color: #a61b1b;
}

/* Mobile header: keep every action on the same line */
@media (max-width: 700px) {
    .app-topbar .nav {
        min-height: 62px;
        padding: 8px 0;
        gap: 6px;
    }

    .app-topbar .brand {
        gap: 5px;
        font-size: 1rem;
        letter-spacing: -0.03em;
    }

    .app-topbar .brand img {
        width: 31px;
        height: 31px;
    }

    .app-topbar .brand small {
        display: none;
    }

    .workspace-top-actions {
        gap: 4px;
    }

    .top-action {
        width: 31px;
        height: 34px;
        flex-basis: 31px;
        border: 0;
        background: #f2f7f3;
        font-size: 1rem;
    }

    .profile-menu summary {
        width: 34px;
        height: 36px;
    }

    .top-avatar {
        width: 30px;
        height: 30px;
        font-size: 0.8rem;
    }

    .app-topbar .app-sidebar-toggle {
        display: inline-flex;
        flex: 0 0 34px;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 36px;
        margin: 0;
        padding: 5px;
        font-size: 1rem;
    }

    .app-topbar .app-sidebar-toggle span {
        display: none;
    }
}
.top-action:first-child {
    background: #25D366;
    color: #fff;
    border-color: #25D366;
}
/* =========================================
   DOCTORA24 HEADER BRAND AND SIDEBAR
   ========================================= */

/* Header sits directly above the workspace */
.app-topbar {
    position: sticky;
    top: 0;
    z-index: 1100;
    background: #fff;
    border-bottom: 1px solid #dce6df;
}

.app-topbar .container.nav {
    width: 100%;
    max-width: none;
    min-height: 70px;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    box-sizing: border-box;
}

/* Brand aligns with the sidebar width */
.app-topbar .brand {
    box-sizing: border-box;
    flex: 0 0 250px;
    width: 250px;
    min-width: 0;
    min-height: 70px;
    margin: 0;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: #153d29;
    font-size: 1.25rem;
    font-weight: 800;
    text-decoration: none;
}

.app-topbar .brand img {
    display: block;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.app-topbar .brand small {
    display: block;
    margin-top: 3px;
    font-size: 9px;
    letter-spacing: .04em;
    font-weight: 600;
}

/* Header actions */
.workspace-top-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-left: auto;
    padding: 0 16px;
}

.workspace-top-actions .top-action {
    position: relative;
    display: inline-flex;
    flex: 0 0 40px;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid #dce6df;
    border-radius: 10px;
    background: #fff;
    color: #176b3b;
    font-size: 20px;
    text-decoration: none;
}

.workspace-top-actions .chat-action {
    color: #25D366;
}

.workspace-top-actions .top-action:hover {
    background: #eaf7ef;
}

.top-action-badge {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 18px;
    padding: 2px 4px;
    border-radius: 20px;
    background: #d92d20;
    color: #fff;
    font-size: 10px;
    text-align: center;
}

/* Profile dropdown */
.profile-menu {
    position: relative;
    flex: 0 0 auto;
}

.profile-menu summary {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    cursor: pointer;
    list-style: none;
}

.profile-menu summary::-webkit-details-marker {
    display: none;
}

.top-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #168447;
    color: #fff;
    font-weight: 800;
}

.profile-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 1200;
    box-sizing: border-box;
    width: min(280px, calc(100vw - 24px));
    padding: 15px;
    border: 1px solid #dce6df;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(15, 48, 28, .15);
}

.profile-dropdown strong,
.profile-dropdown small {
    display: block;
    overflow-wrap: anywhere;
}

.profile-dropdown small {
    margin: 5px 0 12px;
    color: #586b60;
}

.profile-dropdown a,
.profile-dropdown button {
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 10px;
    border: 0;
    border-radius: 8px;
    background: #f0f7f2;
    color: #155b35;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.profile-dropdown form {
    margin-top: 8px;
}

.profile-dropdown button {
    background: #fff0f0;
    color: #a61b1b;
}

/* Sidebar heading and collapse button */
.app-sidebar {
    position: sticky;
}

.sidebar-top-controls {
    position: absolute;
    top: 18px;
    right: 13px;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: 0;
    margin: 0;
    border: 0;
}

.sidebar-top-controls .sidebar-collapse-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid #dce6df;
    border-radius: 9px;
    background: #f0f7f2;
    color: #176b3b;
    font-size: 21px;
    line-height: 1;
    cursor: pointer;
}

.sidebar-top-controls .sidebar-collapse-toggle:hover {
    background: #e1f2e7;
}

/* Make room for the button beside the first sidebar heading */
.app-sidebar .sidebar-group:first-of-type .sidebar-label {
    padding-right: 42px;
}
/* Desktop collapse */
@media (min-width: 701px) {
    #app-shell {
        display: grid;
        grid-template-columns: 250px minmax(0, 1fr);
        transition: grid-template-columns .2s ease;
    }

    #app-shell.sidebar-collapsed {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    #app-shell .app-sidebar {
        width: auto;
        min-width: 0;
        box-sizing: border-box;
        overflow-x: hidden;
    }

    #app-shell.sidebar-collapsed .app-sidebar {
        width: 72px;
        padding-left: 8px;
        padding-right: 8px;
    }

    #app-shell.sidebar-collapsed .sidebar-top-controls {
        justify-content: center;
        padding-left: 0;
        padding-right: 0;
    }

    #app-shell.sidebar-collapsed .sidebar-label,
    #app-shell.sidebar-collapsed .sidebar-link-label,
    #app-shell.sidebar-collapsed .sidebar-help {
        display: none !important;
    }

    #app-shell.sidebar-collapsed .sidebar-link {
        justify-content: center;
        padding-left: 5px;
        padding-right: 5px;
    }

    #app-shell.sidebar-collapsed .sidebar-glyph {
        flex: 0 0 32px;
        width: 32px;
        height: 32px;
    }

    #app-shell.sidebar-collapsed .sidebar-bottom {
        overflow: hidden;
    }
}

/* Mobile header: logo and controls stay in one row */
@media (max-width: 700px) {
    .app-topbar .container.nav {
        min-height: 60px;
        padding: 5px 8px;
        gap: 4px;
    }

    .app-topbar .brand {
        flex: 0 1 auto;
        width: auto;
        min-height: 44px;
        padding: 5px 0;
        justify-content: flex-start;
        gap: 5px;
        font-size: 1rem;
    }

    .app-topbar .brand img {
        flex-basis: 30px;
        width: 30px;
        height: 30px;
    }

    .app-topbar .brand small {
        display: none;
    }

    .workspace-top-actions {
        flex: 0 0 auto;
        gap: 3px;
        margin-left: auto;
        padding: 0;
    }

    .workspace-top-actions .top-action {
        flex-basis: 31px;
        width: 31px;
        height: 34px;
        border: 0;
        border-radius: 8px;
        background: #f0f7f2;
        font-size: 17px;
    }

    .profile-menu summary {
        width: 32px;
        height: 34px;
    }

    .top-avatar {
        width: 29px;
        height: 29px;
        font-size: 12px;
    }

    .app-topbar .app-sidebar-toggle {
        display: inline-flex;
        flex: 0 0 32px;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 34px;
        margin: 0;
        padding: 3px;
    }

    .sidebar-top-controls {
    display: none;
}
}

@media (max-width: 360px) {
    .app-topbar .brand {
        font-size: .9rem;
    }

    .app-topbar .brand img {
        flex-basis: 25px;
        width: 25px;
        height: 25px;
    }

    .workspace-top-actions {
        gap: 1px;
    }

    .workspace-top-actions .top-action {
        flex-basis: 28px;
        width: 28px;
    }

    .profile-menu summary {
        width: 29px;
    }

    .app-topbar .app-sidebar-toggle {
        flex-basis: 28px;
        width: 28px;
    }
}