.app-page{--sidebar:270px;padding-left:var(--sidebar);padding-top:72px;background:#f4f7fb;color:#172033;background-image:none}.app-page .admin-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);z-index:30;background:#111827;color:#cbd5e1;padding:24px 18px;display:flex;flex-direction:column;border-right:1px solid #243044}.admin-sidebar .brand{height:38px;margin:0 10px 34px;color:#fff}.admin-sidebar .side-label{font-size:10px;letter-spacing:.18em;color:#64748b;margin:20px 12px 8px}.admin-sidebar nav{display:grid;gap:4px}.admin-sidebar nav a{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:7px;color:#94a3b8}.admin-sidebar nav a:hover,.admin-sidebar nav a[href="/control"]{background:#1f2937;color:#fff}.admin-sidebar nav a i{display:grid;place-items:center;width:22px;color:#5eead4;font-style:normal}.sidebar-foot{margin-top:auto;display:flex;align-items:center;gap:10px;border-top:1px solid #263245;padding:20px 10px 0}.sidebar-foot>i{width:9px;height:9px;border-radius:50%;background:#2dd4bf;box-shadow:0 0 12px #2dd4bf}.sidebar-foot div{display:grid}.sidebar-foot span{font-size:10px;color:#64748b}.app-page .admin-top{position:fixed;z-index:25;left:var(--sidebar);right:0;top:0;height:72px;background:#fff;border-bottom:1px solid #e5eaf0;padding:0 28px;display:flex;color:#475569}.sidebar-toggle{display:none}.top-search{display:flex;align-items:center;gap:10px;color:#94a3b8}.top-search kbd{margin-left:90px;border:1px solid #dfe5ec;padding:3px 7px;border-radius:4px;background:#f8fafc}.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.top-actions>button{border:1px solid #e2e8f0;background:#f8fafc;border-radius:50%;width:38px;height:38px}.top-actions>div{display:grid;text-align:right}.top-actions span{font-size:10px;color:#94a3b8}.top-actions form{margin:0}.top-actions .avatar{border:0;width:38px;height:38px;border-radius:50%;background:#14b8a6;color:#fff;font-weight:800}.app-page .dashboard{padding:30px;max-width:1600px}.app-page .dash-title h1,.app-page .section-title h2{color:#172033}.app-page .online,.app-page .section-title>span{color:#64748b}.app-page .stats article,.app-page .panel{background:#fff;border-color:#e4e9f0;box-shadow:0 1px 2px #0f172a08;border-radius:9px}.app-page .stats span,.app-page .stats small,.app-page .node-head span,.app-page .node-foot{color:#64748b}.app-page .node{background:#fbfcfe;border-color:#e4e9f0;color:#172033;border-radius:7px}.app-page .node.offline{background:#f8fafc}.app-page .address{color:#64748b}.app-page .metric i{background:#e7edf3}.app-page .task,.app-page .capabilities button,.app-page .no-tasks{background:#f8fafc;border-color:#e2e8f0;color:#172033}.app-page .task-form input,.app-page .task-form select{background:#fff;color:#172033;border-color:#dbe3eb}.app-page.chat-page{background:#f4f7fb}.app-page .chat-shell{height:calc(100vh - 72px)}.app-page .chat-side{background:#fff;border-color:#e2e8f0;color:#172033}.app-page .chat-main{background:#f7f9fc}.app-page .chat-toolbar{background:#fff;border-color:#e2e8f0}.app-page .chat-toolbar select,.app-page .chat-welcome button{background:#fff;border-color:#dfe5ec;color:#475569}.app-page .chat-message section b,.app-page .chat-message p{color:#253247}.app-page .composer textarea{background:#fff;color:#172033;border-color:#cfd8e3;box-shadow:0 8px 30px #0f172a0c}.app-page .approval-drawer{background:#fff;color:#172033}.app-page .approval-item,.app-page .approval-form{border-color:#dfe5ec}.app-page .approval-form input,.app-page .approval-form textarea{background:#f8fafc;color:#172033;border-color:#dfe5ec}@media(max-width:900px){.app-page{--sidebar:0;padding-left:0}.app-page .admin-sidebar{display:none}.app-page .admin-top{left:0}.sidebar-toggle{display:block;border:0;background:transparent;font-size:20px}.top-search{display:none}.app-page .dashboard{padding:18px}}

@media (max-width: 900px) {
  .app-page .admin-sidebar {
    display: flex;
    width: min(82vw, 290px);
    transform: translateX(-105%);
    transition: transform 0.24s ease;
    box-shadow: 18px 0 45px #02061759;
  }
  .app-page.mobile-menu-open .admin-sidebar { transform: translateX(0); }
  .sidebar-toggle { cursor: pointer; padding: 10px; margin-left: -10px; }
  .mobile-menu-backdrop {
    position: fixed; z-index: 29; inset: 0; border: 0; background: #02061799;
    opacity: 0; pointer-events: none; transition: opacity 0.24s ease;
  }
  .app-page.mobile-menu-open .mobile-menu-backdrop { opacity: 1; pointer-events: auto; }
  .app-page.mobile-menu-open { overflow: hidden; }
}
