:root{--surface:#fffdf6;--panel:#f1efe7;--text:#20211f;--subtle:#666960;--stroke:#deddd5;--canvas:#f6f4ec}
:root[data-appearance=dark]{color-scheme:dark;--surface:#252624;--panel:#2c2d2a;--text:#f1eee3;--subtle:#b4b5ac;--stroke:#3c3d38;--canvas:#191b19}
body{background:var(--canvas);color:var(--text)}.app,main{color:var(--text)}#sidebar,header,#mobile-nav,.auth-card,dialog{background:var(--surface);color:var(--text);border-color:var(--stroke);box-shadow:none}.brand,.breadcrumb b,.card-head h2,.form-card h2,.page-heading h1,.team-card h3{color:var(--text)}.workspace,.pro-note{background:var(--panel);border-color:var(--stroke);color:var(--text)}.workspace small,.pro-note strong,.pro-note span,.breadcrumb{color:var(--subtle)}.nav-item{color:var(--subtle)}.nav-item:hover{background:var(--panel)}.nav-item.active,.mobile-item.active{background:#c9d5c2;color:#172119;box-shadow:none}.nav-item.active svg{color:#172119}.page-heading{background:none;box-shadow:none;border:0;padding:10px 0 22px}.page-heading p,.form-card p,.auth-card p,.subheading,.detail-list p{color:var(--subtle)}.card,.form-card,.team-card,.plan{background:var(--surface);border-color:var(--stroke);box-shadow:none}.card-head,.toolbar,thead{background:var(--panel);border-color:var(--stroke)}.card-head p,td,th{color:var(--text)}td{border-color:var(--stroke)}tbody tr:hover{background:var(--panel)}.btn,.table-action{background:var(--panel);color:var(--text);border:1px solid var(--stroke);box-shadow:none}.btn.primary{background:#f2c849;border-color:#f2c849;color:#20221c}.form-card input,.form-card select,.form-card textarea,.auth-card input,.auth-card select,.toolbar input,.detail-list select{background:var(--canvas);color:var(--text);border-color:var(--stroke)}.theme-toggle{border-radius:24px;min-width:44px}.action-hub{margin-bottom:30px}.action-hub .eyebrow{color:var(--subtle);letter-spacing:2px}.action-hub h2{font-size:32px;line-height:1.08;font-weight:850;letter-spacing:-1px;margin:14px 0 24px}.action-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.action-tiles a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;min-height:168px;padding:23px 14px;background:#bcdeed;color:#20221f;border-radius:23px;text-align:center}.action-tiles a:nth-child(2){background:#f3c94d}.action-tiles a:nth-child(3){background:#cbd6c4}.action-tiles a:nth-child(4){background:#f26b50}.action-tiles a:nth-child(5){background:#9790ee}.action-tiles a:nth-child(6){background:#dc663e}.action-tiles a>span{width:57px;height:57px;border-radius:50%;background:#1e211e;color:#f4f0e4;display:grid;place-items:center}.action-tiles .ui-icon{width:27px;height:27px}.action-tiles strong{font-size:16px;font-weight:600}.stat,.stat:nth-child(n){background:var(--surface);border-color:var(--stroke);box-shadow:none}.stat strong,.stat:nth-child(n) strong{color:var(--text)}.stat-top,.stat small{color:var(--subtle)}.stat:after{display:none}.quick-grid a:nth-child(n){background:var(--panel);border-color:var(--stroke);color:var(--text)}.auth-shell{background:var(--canvas)}.team-card:before,.team-card:after{display:none}.plan.featured,.plan:last-child{background:var(--panel);border-color:var(--stroke)}.plan p,.plan li,.plan h2,.price{color:var(--text)}.detail-list{padding:20px}.detail-list .btn{margin-bottom:10px}summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}.pill{background:#cbd6c4;color:#203528}.status-note{background:#f0dca2;color:#40331b}
@media(max-width:650px){.action-hub h2{font-size:27px}.action-tiles{gap:10px}.action-tiles a{min-height:142px;border-radius:19px;padding:17px 7px;gap:14px}.action-tiles strong{font-size:13px;line-height:1.4}.action-tiles a>span{width:46px;height:46px}.action-tiles .ui-icon{width:23px;height:23px}.theme-toggle span{display:none}.page-heading h1{font-size:24px}#mobile-nav{background:var(--surface);border-color:var(--stroke)}.mobile-item{color:var(--subtle)}.table-wrap tr{background:var(--surface)!important;border-color:var(--stroke)!important}.table-wrap td:before{color:var(--subtle)}}
@media print{body,.card,main{background:white!important;color:black!important}.theme-toggle,.action-hub{display:none}}

.account-switch{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 24px}.account-switch label{font-size:13px}.account-switch select{padding:12px;border-radius:12px;background:var(--surface);color:var(--text);border:1px solid var(--stroke)}.today-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:30px 0 18px}.today-heading h2{font-size:24px}.today-heading p{color:var(--subtle);margin-top:7px;font-size:13px}.today-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.today-card{background:#bcdeed;color:#1c241f;border-radius:22px;padding:24px}.today-card:nth-child(3n+2){background:#cbd6c4}.today-card:nth-child(3n){background:#9790ee}.today-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.session-icon{display:grid;place-items:center;border-radius:50%;width:45px;height:45px;background:#222720;color:#f4f0e4}.session-status{font-size:11px;background:#ffffff65;padding:7px 10px;border-radius:18px}.today-card h3{font-size:22px;margin:22px 0 12px;overflow-wrap:anywhere}.today-card p{font-size:13px;margin:8px 0}.today-card .session-time{font-size:19px;font-weight:700}.today-card .btn{background:#232721;color:#faf6ea;border:0;margin-top:16px;width:100%}.dashboard-stats .stat:nth-child(1){border-top:4px solid #bcdeed}.dashboard-stats .stat:nth-child(2){border-top:4px solid #f3c94d}.dashboard-stats .stat:nth-child(3){border-top:4px solid #cbd6c4}.dashboard-stats .stat:nth-child(4){border-top:4px solid #9790ee}
@media(max-width:1000px){.today-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.today-grid{grid-template-columns:1fr}.today-card{padding:22px}.today-heading h2{font-size:22px}.today-heading .btn{font-size:11px}.account-switch select{width:100%;font-size:16px}}

.nav-group{margin:8px 0}.nav-group>summary{cursor:pointer;padding:10px 14px;font-size:.78rem;font-weight:700;letter-spacing:.03em;opacity:.8;border-radius:10px}.nav-group>summary:focus-visible{outline:2px solid currentColor;outline-offset:2px}.nav-group[open]>summary{opacity:1}.nav-group .nav-item{margin-left:4px}

/* Separate dashboard sections and keep card headings compact. */
body[data-page="dashboard"] .today-section{margin-bottom:24px}body[data-page="dashboard"] .card.detail-list>.today-heading{margin:0 0 18px}body[data-page="dashboard"] .card.detail-list>.today-heading h2{margin:0}body[data-page="dashboard"] .card.detail-list>.today-heading+.muted,body[data-page="dashboard"] .card.detail-list>.today-heading+p{margin-top:16px}
