@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app-card{position:relative;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);animation:fadeInUp .5s ease-out backwards}.card-glow{position:absolute;inset:0;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));opacity:0;transition:opacity .4s ease;z-index:0}.app-card:hover .card-glow{opacity:.08}.app-card:hover{transform:translateY(-6px);border-color:var(--gradient-start);box-shadow:0 20px 40px #0000004d,0 0 30px #6366f11a}.card-content{position:relative;z-index:1;padding:24px}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-icon{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 4px 12px #0003;transition:transform .3s ease}.app-card:hover .card-icon{transform:scale(1.08) rotate(-3deg)}.card-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--gradient-start);background:#ffffff0f;border:1px solid rgba(255,255,255,.08);padding:4px 10px;border-radius:20px}.card-name{font-size:18px;font-weight:700;color:var(--text);margin-bottom:8px}.card-desc{font-size:13px;color:var(--text-sec);line-height:1.6;margin-bottom:20px}.card-action{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:var(--text-sec);transition:all .3s ease}.app-card:hover .card-action{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));border-color:transparent;color:#fff;box-shadow:0 4px 15px #0003}.app-card.inactive{opacity:.4;cursor:not-allowed}.app-card.inactive:hover{transform:none;box-shadow:none;border-color:var(--glass-border)}.card-status{padding:10px 16px;text-align:center;font-size:12px;font-style:italic;color:var(--text-muted);background:#ffffff08;border-radius:var(--radius-sm)}@media(max-width:480px){.card-content{padding:18px}.card-icon{width:48px;height:48px;font-size:24px}.card-name{font-size:16px}}.portal{min-height:100vh;display:flex;flex-direction:column;position:relative}.bg-orbs{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4}.orb-1{width:500px;height:500px;background:radial-gradient(circle,rgba(99,102,241,.4) 0%,transparent 70%);top:-10%;left:-5%;animation:orbFloat1 20s ease-in-out infinite}.orb-2{width:400px;height:400px;background:radial-gradient(circle,rgba(139,92,246,.3) 0%,transparent 70%);bottom:-10%;right:-5%;animation:orbFloat2 25s ease-in-out infinite}.orb-3{width:300px;height:300px;background:radial-gradient(circle,rgba(6,182,212,.2) 0%,transparent 70%);top:40%;left:50%;animation:orbFloat1 18s ease-in-out infinite reverse}.portal-header{position:sticky;top:0;z-index:100;background:#0a0e27b3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border)}.header-inner{max-width:1200px;margin:0 auto;padding:14px 24px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:12px}.brand-logo{width:42px;height:42px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px;color:#fff;box-shadow:0 4px 15px var(--primary-glow);animation:glow 4s ease-in-out infinite}.brand-name{font-size:18px;font-weight:800;letter-spacing:2px;background:linear-gradient(135deg,#e2e8f0,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.brand-tagline{font-size:10px;color:var(--text-muted);letter-spacing:.5px}.header-right{display:flex;align-items:center;gap:12px}.header-clock{display:flex;align-items:center;gap:6px;padding:6px 14px;background:var(--glass);border:1px solid var(--glass-border);border-radius:20px;font-size:13px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.user-pill{display:flex;align-items:center;gap:10px;padding:5px 14px 5px 5px;background:var(--glass);border:1px solid var(--glass-border);border-radius:25px;cursor:default}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;color:#fff}.user-details{display:flex;flex-direction:column}.user-name-text{font-size:12px;font-weight:600;color:var(--text)}.user-email-text{font-size:10px;color:var(--text-muted)}.logout-btn{width:36px;height:36px;border-radius:10px;background:var(--glass);border:1px solid var(--glass-border);color:var(--text-sec);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.logout-btn:hover{background:#ef444426;border-color:#ef44444d;color:#ef4444}.settings-btn{width:36px;height:36px;border-radius:10px;background:var(--glass);border:1px solid var(--glass-border);color:var(--text-sec);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.settings-btn:hover{background:#6366f126;border-color:#6366f14d;color:var(--primary);transform:rotate(90deg)}.brand-logo-img{width:42px;height:42px;border-radius:12px;object-fit:cover;box-shadow:0 4px 15px #0000004d}.portal-main{flex:1;max-width:1200px;margin:0 auto;padding:40px 24px;width:100%;position:relative;z-index:1}.welcome-hero{margin-bottom:32px;animation:fadeInUp .6s ease-out}.welcome-title{font-size:2.5rem;font-weight:800;line-height:1.2;margin-bottom:8px}.greeting-icon{font-size:2.2rem;margin-right:8px;display:inline-block;animation:float 3s ease-in-out infinite}.highlight{background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-subtitle{font-size:1.1rem;color:var(--text-sec);text-transform:capitalize}.quick-stats{display:flex;gap:12px;margin-bottom:28px;animation:fadeInUp .6s ease-out .1s backwards;flex-wrap:wrap}.stat-pill{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--glass);border:1px solid var(--glass-border);border-radius:20px;font-size:13px;color:var(--text-sec);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat-pill strong{color:var(--text)}.search-section{margin-bottom:32px;animation:fadeInUp .6s ease-out .2s backwards}.search-bar{position:relative;max-width:500px}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.search-bar input{width:100%;padding:14px 16px 14px 48px;background:var(--glass);border:1px solid var(--glass-border);border-radius:14px;color:var(--text);font-size:14px;font-family:inherit;outline:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.search-bar input::placeholder{color:var(--text-muted)}.search-bar input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.apps-section{animation:fadeInUp .6s ease-out .3s backwards}.apps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.no-results{text-align:center;padding:60px 20px;color:var(--text-sec)}.no-results span{font-size:48px;display:block;margin-bottom:12px}.portal-footer{text-align:center;padding:28px 24px;border-top:1px solid var(--glass-border);background:#0a0e2780;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;z-index:1}.portal-footer p{font-size:13px;color:var(--text-sec)}.portal-footer strong{color:var(--text)}.footer-sub{font-size:11px!important;color:var(--text-muted)!important;margin-top:4px}@media(max-width:768px){.header-inner{flex-direction:column;gap:12px;padding:12px 16px}.header-right{width:100%;justify-content:flex-end}.user-details{display:none}.welcome-title{font-size:1.8rem}.portal-main{padding:24px 16px}.apps-grid{grid-template-columns:1fr}.header-clock{display:none}}@media(max-width:480px){.brand-tagline{display:none}.welcome-title{font-size:1.4rem}.search-bar input{padding:12px 12px 12px 42px;font-size:13px}}.branding-page{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:24px;animation:fadeInUp .5s ease-out}.branding-header{display:flex;align-items:center;gap:16px;margin-bottom:32px;flex-wrap:wrap}.branding-header h2{flex:1;font-size:22px;font-weight:800;color:var(--text, #e2e8f0);display:flex;align-items:center;gap:8px}.branding-back{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--glass, rgba(255, 255, 255, .07));border:1px solid var(--glass-border, rgba(255, 255, 255, .12));border-radius:10px;color:var(--text-sec, #94a3b8);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.branding-back:hover{background:#ffffff1a;color:#e2e8f0}.branding-actions{display:flex;gap:8px}.branding-btn-reset,.branding-btn-save{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.branding-btn-reset{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#94a3b8}.branding-btn-reset:hover{background:#ef44441a;border-color:#ef44444d;color:#ef4444}.branding-btn-save{background:linear-gradient(135deg,var(--primary, #6366f1),var(--accent, #8b5cf6));border:none;color:#fff;box-shadow:0 4px 15px #6366f14d}.branding-btn-save:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f166}.branding-btn-save.saved{background:linear-gradient(135deg,#059669,#10b981);box-shadow:0 4px 15px #10b9814d}.branding-content{display:grid;grid-template-columns:1fr 360px;gap:24px;align-items:start}.branding-settings{display:flex;flex-direction:column;gap:24px}.branding-section{background:var(--glass, rgba(255, 255, 255, .05));border:1px solid var(--glass-border, rgba(255, 255, 255, .1));border-radius:16px;padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.branding-section h3{font-size:14px;font-weight:700;color:#e2e8f0;display:flex;align-items:center;gap:8px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06)}.brand-field{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04)}.brand-field:last-child{border-bottom:none}.brand-field-info label{font-size:13px;font-weight:600;color:#e2e8f0;display:block}.brand-field-desc{font-size:11px;color:#64748b;display:block;margin-top:2px}.brand-text-input{flex:1;max-width:280px;padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e2e8f0;font-size:13px;font-family:inherit;outline:none;transition:all .2s}.brand-text-input:focus{border-color:var(--primary, #6366f1);box-shadow:0 0 0 3px #6366f121}.brand-color-input{display:flex;align-items:center;gap:8px}.brand-color-input input[type=color]{width:36px;height:36px;border:2px solid rgba(255,255,255,.15);border-radius:8px;cursor:pointer;background:none;padding:2px}.brand-hex-input{width:90px;padding:6px 10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#94a3b8;font-size:12px;font-family:monospace;outline:none}.brand-hex-input:focus{border-color:var(--primary, #6366f1)}.logo-upload-area{display:flex;gap:20px;align-items:center}.logo-preview-box{width:80px;height:80px;border-radius:16px;overflow:hidden;flex-shrink:0;border:2px solid rgba(255,255,255,.1)}.logo-preview-img{width:100%;height:100%;object-fit:cover}.logo-preview-letter{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:900;color:#fff}.logo-upload-controls{display:flex;flex-direction:column;gap:6px}.logo-upload-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e2e8f0;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.logo-upload-btn:hover{background:#ffffff1a}.logo-remove-btn{background:none;border:none;color:#ef4444;font-size:12px;cursor:pointer;text-align:left;padding:0;font-family:inherit}.logo-hint{font-size:10px;color:#475569}.branding-preview{position:sticky;top:24px}.branding-preview h3{font-size:13px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.preview-card{border-radius:16px;padding:20px;border:1px solid rgba(255,255,255,.1);overflow:hidden}.preview-header{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08)}.preview-logo{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;color:#fff;flex-shrink:0}.preview-name{font-size:12px;font-weight:800;color:#e2e8f0;letter-spacing:1px}.preview-tagline{font-size:8px;color:#64748b}.preview-grid{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.preview-app-card{display:flex;align-items:center;gap:10px;padding:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:10px}.preview-app-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.preview-app-lines{flex:1;display:flex;flex-direction:column;gap:4px}.preview-line{height:6px;background:#ffffff14;border-radius:3px}.preview-footer{text-align:center;font-size:8px;color:#475569;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}@media(max-width:900px){.branding-content{grid-template-columns:1fr}.branding-preview{position:static}}@media(max-width:600px){.branding-header{flex-direction:column;align-items:stretch}.branding-actions{justify-content:flex-end}.brand-field{flex-direction:column;align-items:stretch}.brand-text-input{max-width:100%}.logo-upload-area{flex-direction:column}}:root{--bg-start: #0a0e27;--bg-end: #1a1f3a;--surface: rgba(255, 255, 255, .05);--surface-hover: rgba(255, 255, 255, .08);--glass: rgba(255, 255, 255, .07);--glass-border: rgba(255, 255, 255, .12);--text: #e2e8f0;--text-sec: #94a3b8;--text-muted: #64748b;--primary: #6366f1;--primary-glow: rgba(99, 102, 241, .3);--accent: #8b5cf6;--success: #10b981;--warning: #f59e0b;--radius: 16px;--radius-sm: 10px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;background:linear-gradient(135deg,var(--bg-start) 0%,var(--bg-end) 50%,#0d1130 100%);color:var(--text);min-height:100vh;overflow-x:hidden}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1.5rem;background:linear-gradient(135deg,var(--bg-start),var(--bg-end))}.loading-spinner{width:48px;height:48px;border:3px solid rgba(99,102,241,.2);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.loading-container p{color:var(--text-sec);font-size:14px;letter-spacing:2px;text-transform:uppercase}@keyframes spin{to{transform:rotate(360deg)}}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow{0%,to{box-shadow:0 0 20px #6366f11a}50%{box-shadow:0 0 40px #6366f133}}@keyframes orbFloat1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.95)}}@keyframes orbFloat2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-40px,20px) scale(.95)}66%{transform:translate(25px,-35px) scale(1.05)}}
