:root{--text-primary:#1a1a1a;--bg-page:#f5f5f5;--bg-card:#fff;--bg-card-hover:#f9f9f9;--text-secondary:#666;--text-muted:#555;--border-color:#e0e0e0;--border-bottom:#eee;--box-shadow:#0000001a;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text-primary:#f0f0f0;--bg-page:#121212;--bg-card:#2a2a2a;--bg-card-hover:#3a3a3a;--text-secondary:#aaa;--text-muted:#aaa;--border-color:#444;--border-bottom:#444;--box-shadow:#0000004d}*{box-sizing:border-box;margin:0;padding:0}.app{background-color:var(--bg-page);min-height:100vh;color:var(--text-primary);justify-content:center;display:flex}.app-main{width:100%;max-width:700px;margin-top:3.5rem;padding:0 1rem;transition:margin-left .25s}.sidebar{z-index:100;color:#f5f5f5;background:#1a1a1a;flex-direction:column;width:240px;height:100vh;padding:1.25rem;transition:transform .25s;display:flex;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar-open{transform:translate(0)}.sidebar-header{border-bottom:1px solid #333;justify-content:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}.sidebar-header h2{color:#0078d4;font-size:1.25rem}.sidebar-logo{object-fit:contain;max-width:180px;max-height:80px}.sidebar-user{background:#2a2a2a;border-radius:6px;margin-bottom:.75rem;padding:.75rem;font-size:.9rem}.sidebar-user-name{color:#ccc;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-user-title{color:#888;white-space:nowrap;text-overflow:ellipsis;margin-top:.15rem;font-size:.8rem;display:block;overflow:hidden}.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;display:flex}.sidebar-link{color:#ccc;border-radius:6px;align-items:center;gap:.6rem;padding:.6rem .75rem;font-size:.95rem;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar-link:hover{color:#fff;background:#2a2a2a}.sidebar-link-active{color:#fff;background:#0078d4}.sidebar-link-active:hover{color:#fff;background:#106ebe}.sidebar-link-icon{font-size:1.15rem}.sidebar-logout,.sidebar-darkmode{width:100%;margin-top:1rem}.sidebar-toggle{z-index:90;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;transition:left .25s,background .15s;display:flex;position:fixed;top:.75rem;left:.75rem;box-shadow:0 1px 3px #0000001a}.sidebar-toggle:hover{background:#f0f0f0}[data-theme=dark] .sidebar-toggle{color:#f0f0f0;background:#2a2a2a;border-color:#555}[data-theme=dark] .sidebar-toggle:hover{background:#3a3a3a}.sidebar-backdrop{z-index:95;background:#0000004d;position:fixed;inset:0}.login-page{text-align:center;padding:4rem 1rem}.login-page h1{margin-bottom:.5rem}.login-page p{color:var(--text-secondary);margin-bottom:1.5rem}.welcome{color:#0078d4;margin-top:1rem;font-weight:600}.loading{color:var(--text-secondary);margin-top:1rem;font-style:italic}.success{color:#2e7d32;margin-top:1rem;font-weight:600}.error{color:#d32f2f;margin-top:1rem}.profile-page{background:var(--bg-card);box-shadow:0 1px 3px var(--box-shadow);border-radius:8px;padding:2rem}.profile-header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.profile-header h1{font-size:1.5rem}.avatar{object-fit:cover;border-radius:50%;width:64px;height:64px}.info-table{border-collapse:collapse;width:100%;margin-bottom:1.5rem}.info-table th,.info-table td{text-align:left;border-bottom:1px solid var(--border-bottom);color:var(--text-primary);padding:.5rem .75rem}.info-table th{width:40%;color:var(--text-muted);font-weight:600}.actions{gap:.75rem;margin-bottom:1.5rem;display:flex}.btn{cursor:pointer;border:none;border-radius:4px;padding:.6rem 1.25rem;font-size:.95rem;font-weight:500;transition:background .2s}.btn-primary{color:#fff;background:#0078d4}.btn-primary:hover{background:#106ebe}.btn-secondary{color:#333;background:#e0e0e0}.btn-secondary:hover{background:#ccc}[data-theme=dark] .btn-secondary{color:#eee;background:#3a3a3a}[data-theme=dark] .btn-secondary:hover{background:#4a4a4a}.btn-danger{color:#fff;background:#d32f2f}.btn-danger:hover{background:#b71c1c}.token-display{margin-top:1.5rem}.token-display h3{margin-bottom:.5rem}.token-display pre{word-break:break-all;background:#f0f0f0;border-radius:4px;padding:1rem;font-size:.8rem;overflow-x:auto}[data-theme=dark] .token-display pre{color:#ccc;background:#1a1a1a}.apps-page{background:var(--bg-card);box-shadow:0 1px 3px var(--box-shadow);border-radius:8px;padding:2rem}.apps-page h1{margin-bottom:.5rem;font-size:1.5rem}.apps-description{color:var(--text-secondary);margin-bottom:1.5rem}.apps-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;display:grid}.app-card{text-align:center;background:var(--bg-card-hover);border:1px solid var(--border-color);color:var(--text-primary);border-radius:8px;flex-direction:column;align-items:center;padding:1.25rem 1rem;text-decoration:none;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.app-card:hover{border-color:#0078d4;box-shadow:0 2px 8px #0078d426}.app-card-icon{justify-content:center;align-items:center;margin-bottom:.5rem;font-size:2rem;display:flex}.app-card-img{object-fit:contain;max-width:80px;max-height:60px}.app-card-title{color:var(--text-primary);margin-bottom:.5rem;font-size:1.1rem}.app-card-description{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-color);opacity:0;pointer-events:none;white-space:normal;width:max-content;max-width:90vw;box-shadow:0 2px 8px var(--box-shadow);border-radius:6px;padding:.5rem .75rem;font-size:.85rem;line-height:1.4;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(8px)}.app-card:hover .app-card-description{opacity:1;transform:translate(-50%)translateY(0)}[data-theme=dark] .app-card{color:#1a1a1a;background:#f0f0f0;border-color:#ccc}[data-theme=dark] .app-card-title{color:#1a1a1a}[data-theme=dark] .app-card-description{color:#666;background:#fff;border-color:#ddd;box-shadow:0 2px 8px #0003}[data-theme=dark] .app-card:hover{border-color:#0078d4;box-shadow:0 2px 8px #0078d440}body{min-height:100vh;margin:0;padding:0}
