:root{--sidebar-width:220px;--topbar-height:64px;--green-primary:#4AB44C;--green-light:#e8f5e9;--green-border:#c8e6c9;--green-hover:#f1f8f1;--green-active-text:#4AB44C}.dashboard-container{display:flex;min-height:100vh;position:relative}.mobile-topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-height);display:none;padding:10px 14px;align-items:center;justify-content:space-between;background:#ffffff;border-bottom:1px solid #e9e9e9;z-index:1000;box-shadow:0 1px 6px rgba(0,0,0,.04)}.menu-icon-btn{background:none;border:none;padding:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.mobile-logo{height:36px;object-fit:contain}.sidebar{width:var(--sidebar-width);background:#f5f7fa;padding:20px;position:fixed;top:0;left:0;height:100vh;overflow-y:hidden;z-index:800;transition:transform .35s ease-in-out,box-shadow .2s;transform:translateX(0)}.sidebar-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}.sidebar-logo img{width:120px}.close-sidebar{margin-left:auto;background:none;border:none;padding:6px;display:none;cursor:pointer}.menu-section{margin-bottom:26px}.menu-title{font-size:12px;text-transform:uppercase;color:#9aa0a6;margin-bottom:8px}.menu-item{display:flex;align-items:center;gap:12px;padding:8px 15px;border-radius:8px;cursor:pointer;width:100%;background:none;border:none;font-size:14px;color:#333;transition:background .15s ease,transform .15s ease}.menu-item:hover{background:#f0f2f5;transform:translateX(4px)}.menu-item span{font-size:15px;font-weight:500;color:#333}.menu-item:hover span{color:#4AB44C}.about-toggle{justify-content:flex-start;position:relative}.about-chevron{margin-left:auto;color:#9aa0a6;transition:transform .25s ease;flex-shrink:0}.about-chevron.rotated{transform:rotate(180deg)}.about-toggle.about-active{background:var(--green-light)}.about-toggle.about-active span,.about-toggle.about-active svg{color:var(--green-active-text)}.about-submenu{max-height:0;overflow:hidden;transition:max-height .28s ease}.about-submenu.expanded{max-height:140px}.submenu-item{padding:7px 12px 7px 20px;margin-left:10px;width:calc(100% - 10px);border-left:2px solid var(--green-border);border-radius:0 8px 8px 0;margin-top:2px}.submenu-item span{font-size:13px!important;color:#555}.submenu-item svg{color:#4AB44C;flex-shrink:0}.submenu-item:hover{background:var(--green-hover);transform:translateX(3px)}.submenu-item:hover span,.submenu-item:hover svg{color:var(--green-active-text)}.main{margin-left:var(--sidebar-width);padding:30px;width:calc(100% - var(--sidebar-width));transition:margin-left .35s ease;box-sizing:border-box}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:700;backdrop-filter:blur(1px)}.sidebar-user{display:flex;align-items:center;gap:12px;padding:14px 16px;margin:10px;border-radius:10px;background:#f6f6f6}.user-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover}.user-info{display:flex;flex-direction:column}.user-name{font-size:14px;font-weight:600}.user-role{font-size:12px;color:#666}.menu-item.logout,.menu-item.logout span{color:#d32f2f}@media (max-width:1024px){.main{padding:24px}}@media (max-width:768px){.mobile-topbar{display:flex}.sidebar{transform:translateX(-100%);width:78%;max-width:320px;box-shadow:0 10px 30px rgba(0,0,0,.08);z-index:900}.sidebar.open{transform:translateX(0)}.close-sidebar{display:inline-flex}.main{margin-left:0;width:100%;padding-left:16px;padding-right:16px}.main,.sidebar{padding-top:calc(var(--topbar-height) + 16px)}}@media (max-width:420px){:root{--topbar-height:60px}.sidebar{width:84%}.mobile-logo{height:30px}}.main-wrapper{display:flex;flex-direction:column;flex:1;min-height:100vh;overflow:hidden}.main{flex:1}.app-footer{border-top:1px solid var(--border,#e5e7eb);padding:16px 24px;flex-direction:column;gap:6px;background:var(--background,#fff)}.app-footer,.footer-links{display:flex;align-items:center}.footer-links{gap:12px}.footer-links button{background:none;border:none;cursor:pointer;font-size:13px;color:var(--foreground,#374151);padding:0;text-decoration:underline;text-underline-offset:3px}.footer-links button:hover{color:#000}.footer-dot{color:#9ca3af;font-size:13px}.footer-copy{font-size:12px;color:#9ca3af;margin:0}