:root { --dash-green:#055948; --dash-teal:#079c8d; --dash-bg:#f4f8f7; --dash-muted:#66736f; }
.dashboard-body { min-height:100vh; background:var(--dash-bg); color:#18312a; }
.dashboard-skip { position:absolute; left:-999px; top:8px; z-index:5000; padding:10px 14px; background:#fff; color:var(--dash-green); }
.dashboard-skip:focus { left:8px; }
.dashboard-layout { display:grid; grid-template-columns:260px minmax(0,1fr); min-height:calc(100vh - 101px); }
.dashboard-sidebar { padding:24px 18px; background:#064d40; color:#fff; }
.dashboard-user { display:flex; gap:12px; align-items:center; padding:8px 8px 24px; border-bottom:1px solid rgba(255,255,255,.16); }
.dashboard-avatar { width:52px; height:52px; border-radius:50%; object-fit:cover; background:#d8eee8; border:2px solid #fff; }
.dashboard-user strong,.dashboard-user span { display:block; overflow:hidden; text-overflow:ellipsis; }
.dashboard-user span { color:#cce7df; font-size:.86rem; }
.dashboard-nav { display:grid; gap:7px; margin-top:22px; }
.dashboard-nav button { display:flex; gap:10px; align-items:center; width:100%; padding:12px 14px; border:0; border-radius:9px; background:transparent; color:#eaf7f3; font:inherit; text-align:left; cursor:pointer; }
.dashboard-nav button:hover,.dashboard-nav button[aria-current="page"] { background:#fff; color:var(--dash-green); }
.dashboard-content { min-width:0; padding:clamp(22px,4vw,46px); }
.dashboard-heading { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:26px; }
.dashboard-heading h1 { margin:0; color:var(--dash-green); }
.dashboard-heading p { margin:4px 0 0; color:var(--dash-muted); }
.dashboard-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.dashboard-stat { padding:20px; border:1px solid #dae7e3; border-radius:15px; background:#fff; }
.dashboard-stat span,.dashboard-stat strong { display:block; }
.dashboard-stat span { color:var(--dash-muted); }
.dashboard-stat strong { margin-top:5px; color:var(--dash-green); font-size:1.65rem; }
.dashboard-grid { display:grid; grid-template-columns:1.35fr .65fr; gap:18px; margin-top:20px; }
.dashboard-panel { padding:22px; border:1px solid #dae7e3; border-radius:15px; background:#fff; }
.dashboard-panel h2 { margin:0 0 16px; color:var(--dash-green); font-size:1.25rem; }
.dashboard-section[hidden] { display:none; }
.dashboard-list { display:grid; gap:12px; }
.dashboard-item { padding:15px; border:1px solid #e1ebe8; border-radius:11px; }
.dashboard-item strong,.dashboard-item span { display:block; }
.dashboard-item span { margin-top:3px; color:var(--dash-muted); }
.dashboard-item a { display:inline-block; margin-top:10px; color:var(--dash-green); font-weight:700; }
.progress-track { height:8px; margin-top:10px; overflow:hidden; border-radius:99px; background:#e3ece9; }
.progress-track i { display:block; height:100%; border-radius:inherit; background:var(--dash-teal); }
.dashboard-form { display:grid; grid-template-columns:1fr 1fr; gap:16px; max-width:780px; }
.dashboard-form label { display:grid; gap:7px; color:#29433c; font-weight:600; }
.dashboard-form .full { grid-column:1/-1; }
.dashboard-form input,.dashboard-form textarea,.dashboard-form select { width:100%; padding:12px; border:1px solid #cbd9d5; border-radius:9px; font:inherit; }
.dashboard-form textarea { min-height:100px; resize:vertical; }
.dashboard-primary { width:max-content; padding:11px 18px; border:0; border-radius:9px; background:var(--dash-green); color:#fff; font:inherit; font-weight:700; cursor:pointer; }
.profile-photo-row { display:flex; gap:18px; align-items:center; margin-bottom:22px; }
.profile-photo-row img { width:90px; height:90px; border-radius:50%; object-fit:cover; background:#e0eeea; }
.dashboard-notice { min-height:1.4em; margin-top:12px; color:var(--dash-green); }
.wallet-hero { padding:26px; border-radius:16px; background:linear-gradient(135deg,#033e32,#079c8d); color:#fff; }
.wallet-hero strong { display:block; margin:5px 0 15px; font-size:2.2rem; }
.wallet-hero label { display:block; margin:8px 0 5px; font-weight:600; }
.wallet-hero input { width:min(100%,260px); padding:11px 12px; border:1px solid rgba(255,255,255,.75); border-radius:8px; background:#fff; color:#173f37; font:inherit; }
#walletNotice { color:#fff; font-weight:600; }
.certificate-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.certificate-actions .dashboard-primary { padding:8px 12px; font-size:.9rem; }
.dashboard-mobile-toggle { display:none; }
@media(max-width:950px){.dashboard-cards{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:720px){.dashboard-layout{grid-template-columns:1fr}.dashboard-sidebar{padding:14px}.dashboard-mobile-toggle{display:block;width:100%;padding:11px;border:1px solid rgba(255,255,255,.5);border-radius:8px;background:transparent;color:#fff;font:inherit}.dashboard-nav{display:none}.dashboard-nav.open{display:grid}.dashboard-user{padding-bottom:14px}.dashboard-content{padding:22px 14px}.dashboard-heading{align-items:flex-start;flex-direction:column}.dashboard-form{grid-template-columns:1fr}.dashboard-form .full{grid-column:auto}}
@media(max-width:460px){.dashboard-cards{grid-template-columns:1fr}}
