.dashboard-layout{display:flex;flex-direction:column;gap:1.5rem;padding:2rem clamp(1rem,3vw,2.5rem)}.brand-bar{width:100%;background:var(--card-bg);border:1px solid var(--border);border-radius:24px;padding:1rem 1.5rem;box-shadow:0 20px 45px #2c3e5012;display:flex;align-items:center;justify-content:space-between}.dashboard-shell{display:grid;grid-template-columns:minmax(300px,350px) minmax(0,1fr);min-height:100vh;gap:2rem;padding:0}.menu-toggle{display:none;flex-direction:column;gap:.3rem;background:transparent;border:none;padding:.3rem;cursor:pointer}.menu-toggle span{display:block;width:24px;height:3px;background:var(--dark);border-radius:2px}.sidebar-close{display:none;flex-direction:column;gap:.3rem;background:#fffc;border:1px solid var(--border);cursor:pointer;padding:.3rem;border-radius:12px;width:fit-content;position:absolute;top:1rem;right:1rem}.sidebar-close span{display:block;width:24px;height:3px;background:var(--dark);border-radius:2px}.mobile-logo{display:none;margin-bottom:1rem}.dashboard-sidebar{background:var(--card-bg);border:1px solid var(--border);border-radius:24px;padding:2rem 1.75rem;display:flex;flex-direction:column;gap:2rem;box-shadow:0 30px 60px #2c3e5014;position:sticky;top:2rem;height:fit-content;width:100%;max-width:350px;position:relative}.dashboard-sidebar h1{margin:0;font-size:1.5rem;color:var(--dark)}.user-panel{background:#26b47f0f;border:1px solid rgba(38,180,127,.2);border-radius:18px;padding:1rem}.dashboard-sidebar .user-block{display:flex;gap:.75rem;align-items:center}.dashboard-sidebar .user-meta{display:flex;flex-direction:column;min-width:0}.dashboard-sidebar .user-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gray);font-size:.9rem}.dashboard-sidebar .user-block img{border:2px solid rgba(38,180,127,.25)}.sidebar-nav{display:flex;flex-direction:column;gap:1.5rem}.sidebar-heading{margin:0 0 .25rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gray)}.sidebar-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.nav-link{display:block;padding:.55rem .75rem;border-radius:12px;color:var(--dark);border:1px solid transparent;transition:background .2s ease,border .2s ease}.nav-link:hover{background:#26b47f14;border-color:#26b47f40}.nav-link.active{background:#26b47f26;border-color:#26b47f66;color:var(--primary-dark);font-weight:600}.dashboard-sidebar button{background:linear-gradient(120deg,#26b47f26,#1e936626);color:var(--primary-dark);border:none;padding:.65rem 1rem;border-radius:14px;width:100%}.dashboard-content{display:flex;flex-direction:column;gap:1.5rem}.dashboard-content h2{color:var(--dark)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.section{display:flex;flex-direction:column;gap:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.section-header p{margin:.4rem 0 0;color:var(--gray)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;color:var(--gray)}.badge{padding:.3rem .9rem;border-radius:999px;background:#26b47f1f;color:var(--primary-dark);font-weight:600;font-size:.85rem}.hero-card{background:linear-gradient(120deg,#26b47f26,#1e93661a);border:1px solid rgba(38,180,127,.2);box-shadow:0 25px 45px #26b47f26}@media (max-width: 1024px){.dashboard-shell{grid-template-columns:1fr;position:relative;overflow:hidden}.dashboard-sidebar{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;max-width:none;border-radius:0;padding:1.5rem;transform:translate(-100%);transition:transform .3s ease;background:var(--card-bg);z-index:50}.dashboard-shell.sidebar-open .dashboard-sidebar{transform:translate(0)}.dashboard-shell.sidebar-open .dashboard-content{pointer-events:none;filter:blur(2px)}.menu-toggle{display:flex}.sidebar-close{display:flex;margin-left:auto}.mobile-logo{display:block}.dashboard-sidebar button{width:100%}}:root{--primary: #26b47f;--primary-dark: #1e9366;--success: #26b47f;--danger: #e74c3c;--light: #f5f7fa;--dark: #2c3e50;--gray: #6b7c93;--border: #e0e6ed;--card-bg: #ffffff;font-family:Space Grotesk,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--dark);background-color:var(--light)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#fefefe,#f5f7fa 60%,#edf1f5);color:var(--dark)}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}input::placeholder,textarea::placeholder{color:var(--gray);opacity:.9}#root{min-height:100vh}button{border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--dark);padding:.65rem 1.25rem;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #26b47f26}button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.full-centre{min-height:100vh;display:flex;align-items:center;justify-content:center;font-size:1.2rem;padding:2rem}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:20px;padding:1.75rem;box-shadow:0 25px 60px #2c3e5014}.input-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.input-group label{font-size:.85rem;color:var(--gray)}.input-group input,.input-group select,.input-group textarea{padding:.75rem 1rem;border-radius:14px;border:1px solid var(--border);background:#fff;color:inherit}.primary-button{width:100%;padding:.85rem 1rem;border-radius:999px;border:none;background:linear-gradient(120deg,var(--primary),var(--primary-dark));color:#fff;font-weight:600;cursor:pointer;box-shadow:0 15px 30px #26b47f4d}.primary-button:disabled{opacity:.6;cursor:not-allowed}.link-button{background:none;border:none;color:var(--primary);cursor:pointer;padding:0}.brand-logo{display:flex;align-items:center;gap:.75rem;color:var(--dark)}.brand-logo.stacked{flex-direction:column;align-items:flex-start}.brand-logo strong{font-size:1.2rem;text-transform:lowercase}.brand-logo span{font-size:.85rem;color:var(--gray)}.status-chip{padding:.75rem 1rem;border-radius:16px;border:1px solid var(--border);background:#fff;min-width:160px}.status-chip strong{display:block;margin-top:.2rem;color:var(--dark)}.status-chip.success{border-color:#26b47f66;background:#26b47f1a}.status-chip.danger{border-color:#e74c3c4d;background:#e74c3c1a}.status-chip.neutral{border-color:#95a5a64d;background:#95a5a61a}.auth-form{width:min(500px,90vw)}
