*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background:#0f172a;color:#e2e8f0;min-height:100vh}.loading{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1.2rem;color:#94a3b8}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem}.login-card{background:#1e293b;border-radius:12px;padding:2.5rem;width:100%;max-width:400px;box-shadow:0 4px 24px #0000004d}.login-card h1{text-align:center;margin-bottom:2rem;font-size:1.5rem;color:#f1f5f9}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.4rem;font-size:.875rem;color:#94a3b8}.form-group input{width:100%;padding:.75rem;border-radius:8px;border:1px solid #334155;background:#0f172a;color:#e2e8f0;font-size:1rem;outline:none;transition:border-color .2s}.form-group input:focus{border-color:#6366f1}.error-msg{background:#451a2a;color:#fca5a5;padding:.75rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.divider{text-align:center;margin:1.5rem 0;position:relative}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#334155}.divider span{background:#1e293b;padding:0 1rem;position:relative;color:#64748b;font-size:.875rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:8px;border:none;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;color:#e2e8f0;background:#334155}.btn:hover{background:#475569}.btn-primary{background:#6366f1;color:#fff}.btn-primary:hover{background:#4f46e5}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover{background:#b91c1c}.btn-outline{background:transparent;border:1px solid #475569}.btn-outline:hover{background:#1e293b}.btn-full{width:100%}.btn-small{padding:.4rem .75rem;font-size:.8rem}.btn-google{background:#1e293b;border:1px solid #334155}.btn-google:hover{background:#334155}.dashboard{max-width:1200px;margin:0 auto;padding:2rem}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.dashboard-header h1{font-size:1.5rem}.header-actions{display:flex;align-items:center;gap:.75rem}.user-name{color:#94a3b8;font-size:.875rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem}.no-apps{color:#64748b;grid-column:1 / -1;text-align:center;padding:3rem}.app-button{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 1.5rem;background:#1e293b;border-radius:16px;text-decoration:none;color:#e2e8f0;transition:all .2s;border:1px solid transparent}.app-button:hover{border-color:var(--app-color);transform:translateY(-2px);box-shadow:0 8px 24px #0003}.app-icon{width:64px;height:64px;border-radius:16px;background:color-mix(in srgb,var(--app-color) 15%,transparent);color:var(--app-color);display:flex;align-items:center;justify-content:center}.app-info{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.25rem}.app-name{font-weight:600;font-size:1rem}.app-desc{font-size:.75rem;color:#94a3b8}.admin{max-width:1200px;margin:0 auto;padding:2rem}.admin-nav{display:flex;gap:.5rem;margin-bottom:2rem}.admin-content{background:#1e293b;border-radius:12px;padding:1.5rem}.admin-content h2{margin-bottom:1.5rem;font-size:1.25rem}.admin-form{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;align-items:center}.admin-form input,.admin-form select{padding:.5rem .75rem;border-radius:6px;border:1px solid #334155;background:#0f172a;color:#e2e8f0;font-size:.875rem;outline:none}.admin-form input:focus,.admin-form select:focus{border-color:#6366f1}.admin-form input[type=color]{padding:.25rem;width:40px;height:36px}.checkbox-label{display:flex;align-items:center;gap:.4rem;font-size:.875rem;color:#94a3b8}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:.75rem;text-align:left;border-bottom:1px solid #334155;font-size:.875rem}.admin-table th{color:#94a3b8;font-weight:500}.admin-table td{color:#e2e8f0}.admin-table td .btn{margin-right:.5rem}.access-selector{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.access-selector select{padding:.5rem .75rem;border-radius:6px;border:1px solid #334155;background:#0f172a;color:#e2e8f0;font-size:.875rem;outline:none}@media(max-width:640px){.dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.app-button{padding:1.5rem 1rem}.dashboard-header{flex-direction:column;align-items:flex-start}}
