:root{--blue:#0b5a46;--blue2:#084c3c;--ink:#172824;--muted:#6f7d78;--bg:#f4f8f6;--line:#e2ebe7;--card:#fff;--green:#0da66e;--amber:#e59b24;--red:#db4d58;--shadow:0 12px 34px rgba(21,61,50,.08);--radius:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}button,input,select{font:inherit}a{text-decoration:none;color:inherit}.muted{color:var(--muted)}
.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:50}.brand img{height:42px;max-width:220px;object-fit:contain}.top-actions{display:flex;align-items:center;gap:12px}.avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;border:3px solid #e9f3ef}.icon-btn{width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:13px;display:grid;place-items:center;cursor:pointer}.icon-btn img{width:21px;height:21px}.pill{border-radius:999px;padding:8px 12px;background:#eaf4f0;color:var(--blue2);font-weight:750;font-size:13px;display:inline-flex;align-items:center;gap:6px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}
.page{max-width:1420px;margin:0 auto;padding:28px 34px 60px}.hero{background:linear-gradient(135deg,#0a5845 0%,#0e6b54 55%,#188064 100%);color:#fff;border-radius:28px;padding:36px;display:grid;grid-template-columns:1.5fr .8fr;gap:28px;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:390px;height:390px;border-radius:50%;background:rgba(255,255,255,.09);right:-130px;top:-170px}.hero h1{font-size:40px;line-height:1.1;margin:8px 0 14px;max-width:730px}.hero p{opacity:.9;font-size:16px;max-width:680px;line-height:1.65}.hero-stat{align-self:center;justify-self:end;background:rgba(255,255,255,.13);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:24px;padding:22px;width:100%;max-width:310px}.hero-stat strong{font-size:30px;display:block}.hero-stat span{opacity:.85;font-size:13px}
.searchbar{margin-top:-1px;background:#fff;border-radius:18px;padding:9px 10px 9px 18px;display:flex;align-items:center;gap:10px;box-shadow:0 12px 28px rgba(0,0,0,.10);max-width:690px}.searchbar img{width:20px}.searchbar input{border:0;outline:0;flex:1;font-size:15px;min-width:0}.searchbar button,.primary{border:0;background:var(--blue);color:#fff;padding:13px 18px;border-radius:13px;font-weight:760;cursor:pointer}.secondary{border:1px solid var(--line);background:#fff;color:var(--ink);padding:12px 16px;border-radius:13px;font-weight:700;cursor:pointer}.danger{background:#fff0f1;color:var(--red);border:1px solid #ffdadd}.section-title{display:flex;align-items:end;justify-content:space-between;margin:32px 0 16px}.section-title h2{margin:0;font-size:23px}.section-title p{margin:5px 0 0;color:var(--muted);font-size:14px}.view-link{color:var(--blue);font-weight:750;font-size:14px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 6px 20px rgba(21,61,50,.045)}.grid{display:grid;gap:18px}.professional-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pro-card{overflow:hidden;transition:.2s}.pro-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.pro-photo{height:220px;width:100%;object-fit:cover;background:#edf4f1}.pro-body{padding:18px}.pro-name-row{display:flex;align-items:center;gap:7px}.pro-name{font-size:17px;font-weight:820;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.verify{width:17px;height:17px}.pro-specialty{font-size:13px;color:var(--blue2);font-weight:750;margin-top:4px}.meta{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--muted);margin-top:10px;flex-wrap:wrap}.meta img{width:14px;height:14px}.rating{display:flex;align-items:center;gap:5px;font-weight:750;color:#3d4d48}.rating img{width:15px}.service-chips{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.service-chip{font-size:13px;font-weight:720;border:1px solid #dce9e4;background:#f7faf8;padding:7px 9px;border-radius:999px}.pro-actions{display:flex;gap:8px}.pro-actions button,.pro-actions a{flex:1;text-align:center;padding:10px;border-radius:11px;font-size:13px;font-weight:750}.pro-actions .view{border:1px solid var(--line);background:#fff}.pro-actions .book{background:var(--blue);color:#fff}
.filters{display:flex;gap:10px;margin:20px 0;overflow:auto;padding-bottom:4px}.filter-chip{white-space:nowrap;border:1px solid var(--line);background:#fff;padding:10px 14px;border-radius:999px;color:#536660;font-weight:650;font-size:13px;cursor:pointer}.filter-chip.active{background:#e4f1ec;border-color:#b8d7ca;color:var(--blue2)}
.dashboard-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:24px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.sidebar .brand{padding:0 10px 24px}.nav{display:flex;flex-direction:column;gap:5px}.nav a{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:13px;color:#5d706a;font-size:14px;font-weight:680}.nav a img{width:20px;height:20px;opacity:.78}.nav a.active{background:#e4f1ec;color:var(--blue2)}.nav a.active img{opacity:1}.sidebar-footer{margin-top:auto}.mini-user{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:15px}.mini-user img{width:40px;height:40px;border-radius:50%;object-fit:cover}.mini-user strong{display:block;font-size:13px}.mini-user span{font-size:13px;color:var(--muted)}.main{min-width:0}.dash-top{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:30}.dash-top h1{font-size:20px;margin:0}.dash-content{padding:26px 30px 60px;max-width:1280px}.mobile-menu{display:none}
.welcome{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(125deg,#0a5845,#137159);color:#fff;border-radius:24px;padding:25px 28px;overflow:hidden;position:relative}.welcome:after{content:"";width:260px;height:260px;position:absolute;right:-50px;bottom:-170px;border-radius:50%;background:rgba(255,255,255,.12)}.welcome h2{margin:0 0 7px;font-size:26px}.welcome p{margin:0;opacity:.88}.wallet-badge{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.22);border-radius:18px;padding:15px 18px;min-width:170px;z-index:1}.wallet-badge small{opacity:.8}.wallet-badge strong{font-size:24px;display:block;margin-top:4px}
.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px}.stat-card{padding:18px}.stat-top{display:flex;justify-content:space-between;align-items:center}.stat-icon{width:42px;height:42px;border-radius:13px;background:#eaf4f0;display:grid;place-items:center}.stat-icon img{width:21px}.stat-card small{color:var(--muted);font-weight:650}.stat-card strong{font-size:25px;display:block;margin-top:7px}.trend{font-size:13px;color:var(--green);font-weight:700;margin-top:7px}.two-col{display:grid;grid-template-columns:1.6fr .9fr;gap:18px;margin-top:18px}.panel{padding:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.panel-head h3{margin:0;font-size:17px}.booking-row{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.booking-row:first-of-type{border-top:0}.booking-row .person{width:48px;height:48px;border-radius:14px;object-fit:cover}.booking-row strong{font-size:13px}.booking-row .detail{font-size:13px;color:var(--muted);margin-top:4px}.tag{font-size:13px;font-weight:750;padding:6px 9px;border-radius:999px}.tag.blue{background:#e4f1ec;color:var(--blue2)}.tag.green{background:#e8f8f1;color:#08784f}.tag.amber{background:#fff5df;color:#9c6500}.tag.red{background:#fff0f1;color:#bc3340}.appointment-card{padding:16px;border:1px solid var(--line);border-radius:16px;margin-top:10px}.appointment-card .time{font-weight:820;color:var(--blue2)}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-action{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff}.quick-action img{width:24px;margin-bottom:10px}.quick-action strong{font-size:13px;display:block}.quick-action span{font-size:13px;color:var(--muted)}
.table-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.table-head,.table-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr .7fr;align-items:center;gap:12px;padding:14px 18px}.table-head{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:780;background:#fafcfb}.table-row{border-top:1px solid var(--line);font-size:13px}.table-person{display:flex;align-items:center;gap:10px}.table-person img{width:42px;height:42px;border-radius:12px;object-fit:cover}.table-person strong{display:block}.table-person span{font-size:13px;color:var(--muted)}
.wallet-hero{background:#0b332a;color:#fff;border-radius:24px;padding:26px;display:flex;justify-content:space-between;align-items:center}.wallet-hero strong{display:block;font-size:36px;margin:6px 0}.wallet-actions{display:flex;gap:9px}.wallet-actions button{border:0;border-radius:12px;padding:11px 15px;font-weight:750}.wallet-actions .light{background:#fff;color:#0b332a}.wallet-actions .ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.2)}
.rate-grid{grid-template-columns:repeat(3,1fr)}.rate-card{padding:19px}.rate-card .rate-icon{width:46px;height:46px;border-radius:14px;background:#eaf4f0;display:grid;place-items:center}.rate-card .rate-icon img{width:23px}.rate-card h4{margin:14px 0 5px}.rate-card .price{font-size:22px;font-weight:850}.toggle{width:44px;height:25px;background:#dce7e3;border-radius:999px;padding:3px}.toggle.on{background:#29b478}.toggle:after{content:"";width:19px;height:19px;display:block;background:#fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.toggle.on:after{margin-left:19px}
.chart{height:220px;display:flex;align-items:end;gap:11px;padding-top:20px}.bar-wrap{flex:1;text-align:center}.bar{background:linear-gradient(#0f654f,#0a5845);border-radius:8px 8px 3px 3px;min-height:18px}.bar-wrap span{font-size:13px;color:var(--muted);display:block;margin-top:8px}
.profile-hero{display:grid;grid-template-columns:340px 1fr;gap:26px}.profile-photo{height:390px;width:100%;border-radius:25px;object-fit:cover}.profile-info{padding:6px 0}.profile-info h1{font-size:34px;margin:8px 0}.profile-info .lead{font-size:16px;color:var(--blue2);font-weight:760}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.profile-stat{border:1px solid var(--line);padding:14px;border-radius:15px}.profile-stat strong{display:block;font-size:19px}.profile-stat span{font-size:13px;color:var(--muted)}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.service-option{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:16px;padding:14px}.service-option img{width:25px}.service-option strong{display:block;font-size:13px}.service-option span{font-size:13px;color:var(--muted)}
@media(max-width:1100px){.professional-grid{grid-template-columns:repeat(3,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.rate-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.dashboard-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-280px;width:260px;z-index:100;transition:.25s;box-shadow:20px 0 40px rgba(0,0,0,.12)}.sidebar.open{left:0}.mobile-menu{display:grid}.dash-content{padding:20px}.dash-top{padding:0 20px}.professional-grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr;padding:26px}.hero-stat{display:none}.profile-hero{grid-template-columns:1fr}.profile-photo{height:430px}.table-card{overflow:auto}.table-head,.table-row{min-width:760px}.page{padding:22px}.topbar{padding:0 22px}.welcome{align-items:flex-start;gap:18px;flex-direction:column}.wallet-badge{width:100%}}
@media(max-width:560px){.professional-grid{grid-template-columns:1fr}.stats-grid,.rate-grid{grid-template-columns:1fr}.hero h1{font-size:31px}.page{padding:16px}.topbar{padding:0 16px;height:68px}.brand img{height:36px}.pro-photo{height:270px}.profile-stats{grid-template-columns:repeat(2,1fr)}.service-list{grid-template-columns:1fr}.wallet-hero{align-items:flex-start;gap:20px;flex-direction:column}.searchbar button{padding:12px}.dash-content{padding:16px}.dash-top{height:68px}}

.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:30px;background:#f4f8f6}.auth-card{width:min(650px,100%);background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:var(--shadow)}.auth-card .brand-logo{height:46px;margin-bottom:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:750;color:#536660}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:12px;padding:12px;outline:0}.field textarea{min-height:95px}.form-note{font-size:13px;color:var(--muted)}@media(max-width:600px){.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
/* Expanded HealthAfrrik navigation */
.sidebar{overflow-y:auto;overscroll-behavior:contain;}
