*{margin:0;padding:0;box-sizing:border-box}#app{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;min-height:100vh;background:#f5f7fa;display:flex}.sidebar{width:260px;background:#ffffff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0;z-index:1000;box-shadow:2px 0 8px #0000001a}.sidebar-brand{padding:1.5rem 1.25rem;border-bottom:1px solid #e5e7eb}.brand-logo{display:flex;align-items:center;gap:.75rem}.logo-icon{font-size:1.5rem}.brand-name{font-size:1.25rem;font-weight:700;color:#111827}.sidebar-menu{flex:1;padding:1rem 0;overflow-y:auto}.menu-list{list-style:none;padding:0 .75rem}.menu-item{margin-bottom:.25rem}.menu-link{display:flex;align-items:center;padding:.75rem 1rem;color:#6b7280;text-decoration:none;border-radius:8px;transition:all .2s ease;cursor:pointer;font-weight:500;font-size:.875rem}.menu-link:hover{background:#f3f4f6;color:#374151}.menu-link.router-link-active{background:#dbeafe;color:#1d4ed8}.menu-link.active{background:#f3f4f6;color:#374151}.menu-icon{font-size:1.125rem;margin-right:.75rem;width:20px;text-align:center}.menu-text{flex:1}.dropdown-trigger{justify-content:space-between}.dropdown-arrow{transition:transform .2s ease;color:#9ca3af}.dropdown-arrow.rotate{transform:rotate(180deg)}.dropdown-menu{list-style:none;padding:.5rem 0;margin:.25rem 0 0;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.dropdown-link{display:flex;align-items:center;padding:.625rem 1rem .625rem 2.5rem;color:#6b7280;text-decoration:none;font-size:.875rem;transition:all .2s ease}.dropdown-link:hover{background:#f3f4f6;color:#374151}.dropdown-link.router-link-active{background:#dbeafe;color:#1d4ed8}.dropdown-icon{font-size:1rem;margin-right:.75rem;width:16px;text-align:center}.sidebar-footer{padding:1rem .75rem 1.5rem;border-top:1px solid #e5e7eb}.footer-buttons{display:flex;flex-direction:column;gap:.75rem}.help-button{display:flex;align-items:center;width:100%;padding:.75rem 1rem;background:transparent;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;transition:all .2s ease;font-size:.875rem}.help-button:hover{background:#f3f4f6;color:#374151;border-color:#d1d5db}.help-icon{margin-right:.75rem;font-size:1rem}.main-wrapper{flex:1;margin-left:260px;display:flex;flex-direction:column;min-height:100vh}.top-header{background:#ffffff;border-bottom:1px solid #e5e7eb;padding:0 2rem;height:64px;display:flex;align-items:center;position:sticky;top:0;z-index:100}.header-content{display:flex;align-items:center;justify-content:space-between;width:100%}.page-title{font-size:1.5rem;font-weight:600;color:#111827}.header-actions{display:flex;align-items:center;gap:1rem}.guest-status,.user-status{display:flex;align-items:center;gap:.75rem}.role-badge{padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.role-badge.guest{background:#f3f4f6;color:#6b7280}.role-badge.user{background:#dbeafe;color:#1d4ed8}.role-badge.admin{background:#fecaca;color:#dc2626}.username{color:#374151;font-weight:500;font-size:.875rem}.login-btn,.logout-btn{padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.login-btn{background:#3b82f6;color:#fff}.login-btn:hover{background:#2563eb}.logout-btn{background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb}.logout-btn:hover{background:#e5e7eb;color:#374151}.main-content{flex:1;padding:2rem;background:#f5f7fa}@media (max-width: 1024px){.sidebar{width:240px}.main-wrapper{margin-left:240px}}@media (max-width: 768px){.sidebar{width:100%;transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}.main-wrapper{margin-left:0}.menu-text,.dropdown-text,.help-text{display:none}.sidebar{width:70px;transform:translate(0)}.brand-name,.dropdown-arrow{display:none}.dropdown-menu{position:absolute;left:100%;top:0;margin-left:.5rem;min-width:160px}.main-wrapper{margin-left:70px}}@media (max-width: 480px){.main-content{padding:1rem}.top-header{padding:0 1rem}.page-title{font-size:1.25rem}}
