@keyframes gridPulse{0%,100%{opacity:.7}50%{opacity:1}}@keyframes gridShift{0%{background-position:0 0,0 0,0 0,0 0,0 0}100%{background-position:50px 30px,-50px 30px,25px -15px,-25px 15px,50px -30px}}@keyframes docFloat{0%,100%{transform:translateY(0) rotate(0deg) scale(1);opacity:.15}25%{transform:translateY(-50px) rotate(12deg) scale(1.15);opacity:.25}50%{transform:translateY(30px) rotate(-8deg) scale(0.9);opacity:.12}75%{transform:translateY(-35px) rotate(5deg) scale(1.1);opacity:.2}}@keyframes dashMove{to{stroke-dashoffset:-100}}@keyframes glowPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.7}}@keyframes glowMove{0%,100%{transform:translate(0, 0)}25%{transform:translate(40px, -30px)}50%{transform:translate(-30px, 40px)}75%{transform:translate(20px, 20px)}}@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,100%{box-shadow:0 10px 30px rgba(0,0,0,.2),0 0 0 0 hsla(0,0%,100%,.4)}50%{box-shadow:0 10px 30px rgba(0,0,0,.2),0 0 20px 10px hsla(0,0%,100%,.1)}}@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(0.9)}}@keyframes pulse-wake{0%,100%{opacity:1}50%{opacity:.7}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}@keyframes shimmer{0%{left:-100%}100%{left:100%}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #6366f1;--primary-dark: #4f46e5;--github: #24292f;--github-hover: #32383f;--authelia: #0ea5e9;--authelia-hover: #0284c7;--glass-bg: rgba(255, 255, 255, 0.1);--glass-border: rgba(255, 255, 255, 0.2);--sheets: #0f9d58;--docs: #4285f4;--photos: #e91e63;--slides: #ff5722;--files: #9c27b0;--notes: #6880ff;--photoprism: #ff9500;--immich: #4250af;--lychee: #1abc9c;--piwigo: #ff7700;--revealjs: #f2a03d;--slidev: #3ab0a2;--marp: #0288d1;--impress: #7b1fa2;--ethercalc: #0f9d58;--onlyoffice-sheets: #ff6f00;--luckysheet: #00bcd4;--nocodb: #7c4dff;--etherpad: #4285f4;--onlyoffice-docs: #2196f3;--cryptpad: #673ab7;--hedgedoc: #009688;--affine: #6880ff;--filebrowser: #9c27b0;--nextcloud: #0082c9;--seafile: #f57c00;--owncloud: #1976d2;--lgtm: #f46800;--loki: #f46800;--grafana: #f46800;--tempo: #f46800;--mimir: #f46800;--powersheets: #7c4dff;--videos: #e91e63;--kdenlive: #527eb2;--openshot: #13aec2;--shotcut: #00c853;--olive: #8bc34a}body{font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;min-height:100vh;overflow-x:hidden;position:relative;background:linear-gradient(145deg, #1a1f35 0%, #0d1220 50%, #151a2e 100%)}.iso-grid{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;background:linear-gradient(30deg, transparent 49.5%, rgba(66, 133, 244, 0.06) 49.5%, rgba(66, 133, 244, 0.06) 50.5%, transparent 50.5%),linear-gradient(150deg, transparent 49.5%, rgba(15, 157, 88, 0.06) 49.5%, rgba(15, 157, 88, 0.06) 50.5%, transparent 50.5%),linear-gradient(90deg, transparent 49.5%, rgba(233, 30, 99, 0.05) 49.5%, rgba(233, 30, 99, 0.05) 50.5%, transparent 50.5%),linear-gradient(60deg, transparent 49.5%, rgba(255, 87, 34, 0.05) 49.5%, rgba(255, 87, 34, 0.05) 50.5%, transparent 50.5%),linear-gradient(120deg, transparent 49.5%, rgba(156, 39, 176, 0.04) 49.5%, rgba(156, 39, 176, 0.04) 50.5%, transparent 50.5%);background-size:50px 30px,50px 30px,50px 30px,50px 30px,50px 30px;animation:gridPulse 3s ease-in-out infinite,gridShift 8s linear infinite}.floating-docs{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:hidden}.doc-icon{position:absolute;opacity:.2;animation:docFloat 12s infinite ease-in-out}.doc-icon svg{filter:drop-shadow(0 4px 25px currentColor)}.doc-icon.sheets{color:#0f9d58}.doc-icon.sheets:nth-child(1){width:80px;top:5%;left:8%;animation-delay:0s}.doc-icon.sheets:nth-child(2){width:50px;bottom:15%;right:12%;animation-delay:-8s}.doc-icon.docs{color:#4285f4}.doc-icon.docs:nth-child(3){width:70px;top:25%;right:5%;animation-delay:-4s}.doc-icon.docs:nth-child(4){width:45px;bottom:35%;left:5%;animation-delay:-12s}.doc-icon.photos{color:#e91e63}.doc-icon.photos:nth-child(5){width:60px;top:60%;left:12%;animation-delay:-6s}.doc-icon.photos:nth-child(6){width:55px;top:10%;right:20%;animation-delay:-18s}.doc-icon.slides{color:#ff5722}.doc-icon.slides:nth-child(7){width:65px;bottom:25%;right:15%;animation-delay:-3s}.doc-icon.slides:nth-child(8){width:50px;top:35%;left:3%;animation-delay:-9s}.doc-icon.notes{color:#6880ff}.doc-icon.notes:nth-child(11){width:55px;top:50%;right:25%;animation-delay:-11s}.doc-icon.notes:nth-child(12){width:48px;bottom:50%;left:22%;animation-delay:-16s}.doc-icon.files{color:#9c27b0}.doc-icon.files:nth-child(9){width:55px;bottom:8%;left:25%;animation-delay:-10s}.doc-icon.files:nth-child(10){width:70px;top:45%;right:8%;animation-delay:-14s}.connection-lines{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.connection-lines svg{width:100%;height:100%}.connection-line{stroke-dasharray:8,12;stroke-dashoffset:0;animation:dashMove 8s linear infinite}.paper-texture{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}.glow-spots{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.glow-spot{position:absolute;border-radius:50%;filter:blur(60px);animation:glowPulse 3s ease-in-out infinite,glowMove 12s ease-in-out infinite}.glow-spot:nth-child(1){width:550px;height:550px;background:rgba(66,133,244,.25);top:-15%;left:-10%;animation-delay:0s}.glow-spot:nth-child(2){width:500px;height:500px;background:rgba(15,157,88,.22);bottom:-10%;right:-5%;animation-delay:-1s}.glow-spot:nth-child(3){width:450px;height:450px;background:rgba(233,30,99,.18);top:40%;right:20%;animation-delay:-2s}.glow-spot:nth-child(4){width:400px;height:400px;background:rgba(255,87,34,.18);bottom:20%;left:15%;animation-delay:-3s}.glow-spot:nth-child(5){width:420px;height:420px;background:rgba(156,39,176,.15);top:60%;right:5%;animation-delay:-2.5s}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at center, transparent 0%, rgba(0, 0, 0, 0.4) 100%);z-index:2}body.theme-sheets{background:linear-gradient(145deg, #0a1f1a 0%, #0d2818 50%, #0f2a1a 100%)}body.theme-sheets .iso-grid{background:linear-gradient(30deg, transparent 49.5%, rgba(15, 157, 88, 0.12) 49.5%, rgba(15, 157, 88, 0.12) 50.5%, transparent 50.5%),linear-gradient(150deg, transparent 49.5%, rgba(46, 204, 113, 0.08) 49.5%, rgba(46, 204, 113, 0.08) 50.5%, transparent 50.5%),linear-gradient(90deg, transparent 49.5%, rgba(39, 174, 96, 0.06) 49.5%, rgba(39, 174, 96, 0.06) 50.5%, transparent 50.5%);background-size:50px 30px}body.theme-sheets .glow-spot:nth-child(1){background:rgba(15,157,88,.35)}body.theme-sheets .glow-spot:nth-child(2){background:rgba(46,204,113,.28)}body.theme-sheets .glow-spot:nth-child(3){background:rgba(39,174,96,.22)}body.theme-sheets .glow-spot:nth-child(4){background:rgba(15,157,88,.25)}body.theme-sheets .glow-spot:nth-child(5){background:rgba(46,204,113,.18)}body.theme-sheets .logo{background:linear-gradient(135deg, #81c784 0%, #66bb6a 100%)}body.theme-sheets .logo svg{stroke:#1b5e20}body.theme-docs{background:linear-gradient(145deg, #0a1525 0%, #0d1a30 50%, #0f1f35 100%)}body.theme-docs .iso-grid{background:linear-gradient(30deg, transparent 49.5%, rgba(66, 133, 244, 0.12) 49.5%, rgba(66, 133, 244, 0.12) 50.5%, transparent 50.5%),linear-gradient(150deg, transparent 49.5%, rgba(100, 181, 246, 0.08) 49.5%, rgba(100, 181, 246, 0.08) 50.5%, transparent 50.5%),linear-gradient(90deg, transparent 49.5%, rgba(33, 150, 243, 0.06) 49.5%, rgba(33, 150, 243, 0.06) 50.5%, transparent 50.5%);background-size:50px 30px}body.theme-docs .glow-spot:nth-child(1){background:rgba(66,133,244,.35)}body.theme-docs .glow-spot:nth-child(2){background:rgba(100,181,246,.28)}body.theme-docs .glow-spot:nth-child(3){background:rgba(33,150,243,.22)}body.theme-docs .glow-spot:nth-child(4){background:rgba(66,133,244,.25)}body.theme-docs .glow-spot:nth-child(5){background:rgba(100,181,246,.18)}body.theme-docs .logo{background:linear-gradient(135deg, #90caf9 0%, #64b5f6 100%)}body.theme-docs .logo svg{stroke:#1565c0}body.theme-slides{background:linear-gradient(145deg, #1f150a 0%, #2a180d 50%, #2f1a0f 100%)}body.theme-slides .iso-grid{background:linear-gradient(30deg, transparent 49.5%, rgba(255, 87, 34, 0.12) 49.5%, rgba(255, 87, 34, 0.12) 50.5%, transparent 50.5%),linear-gradient(150deg, transparent 49.5%, rgba(255, 167, 38, 0.08) 49.5%, rgba(255, 167, 38, 0.08) 50.5%, transparent 50.5%),linear-gradient(90deg, transparent 49.5%, rgba(255, 112, 67, 0.06) 49.5%, rgba(255, 112, 67, 0.06) 50.5%, transparent 50.5%);background-size:50px 30px}body.theme-slides .glow-spot:nth-child(1){background:rgba(255,87,34,.35)}body.theme-slides .glow-spot:nth-child(2){background:rgba(255,167,38,.28)}body.theme-slides .glow-spot:nth-child(3){background:rgba(255,112,67,.22)}body.theme-slides .glow-spot:nth-child(4){background:rgba(255,87,34,.25)}body.theme-slides .glow-spot:nth-child(5){background:rgba(255,167,38,.18)}body.theme-slides .logo{background:linear-gradient(135deg, #ffcc80 0%, #ffab91 100%)}body.theme-slides .logo svg{stroke:#e65100}body.theme-photos{background:linear-gradient(145deg, #1f0a1a 0%, #2a0d20 50%, #2f0f25 100%)}body.theme-photos .iso-grid{background:linear-gradient(30deg, transparent 49.5%, rgba(233, 30, 99, 0.12) 49.5%, rgba(233, 30, 99, 0.12) 50.5%, transparent 50.5%),linear-gradient(150deg, transparent 49.5%, rgba(244, 143, 177, 0.08) 49.5%, rgba(244, 143, 177, 0.08) 50.5%, transparent 50.5%),linear-gradient(90deg, transparent 49.5%, rgba(240, 98, 146, 0.06) 49.5%, rgba(240, 98, 146, 0.06) 50.5%, transparent 50.5%);background-size:50px 30px}body.theme-photos .glow-spot:nth-child(1){background:rgba(233,30,99,.35)}body.theme-photos .glow-spot:nth-child(2){background:rgba(244,143,177,.28)}body.theme-photos .glow-spot:nth-child(3){background:rgba(240,98,146,.22)}body.theme-photos .glow-spot:nth-child(4){background:rgba(233,30,99,.25)}body.theme-photos .glow-spot:nth-child(5){background:rgba(244,143,177,.18)}body.theme-photos .logo{background:linear-gradient(135deg, #f48fb1 0%, #f06292 100%)}body.theme-photos .logo svg{stroke:#ad1457}body.theme-files{background:linear-gradient(145deg, #1a0f25 0%, #1f1230 50%, #241535 100%)}body.theme-files .iso-grid{background:linear-gradient(30deg, transparent 49.5%, rgba(156, 39, 176, 0.12) 49.5%, rgba(156, 39, 176, 0.12) 50.5%, transparent 50.5%),linear-gradient(150deg, transparent 49.5%, rgba(186, 104, 200, 0.08) 49.5%, rgba(186, 104, 200, 0.08) 50.5%, transparent 50.5%),linear-gradient(90deg, transparent 49.5%, rgba(171, 71, 188, 0.06) 49.5%, rgba(171, 71, 188, 0.06) 50.5%, transparent 50.5%);background-size:50px 30px}body.theme-files .glow-spot:nth-child(1){background:rgba(156,39,176,.35)}body.theme-files .glow-spot:nth-child(2){background:rgba(186,104,200,.28)}body.theme-files .glow-spot:nth-child(3){background:rgba(171,71,188,.22)}body.theme-files .glow-spot:nth-child(4){background:rgba(156,39,176,.25)}body.theme-files .glow-spot:nth-child(5){background:rgba(186,104,200,.18)}body.theme-files .logo{background:linear-gradient(135deg, #ce93d8 0%, #ba68c8 100%)}body.theme-files .logo svg{stroke:#6a1b9a}body.theme-lgtm{background:linear-gradient(145deg, #1f1408 0%, #2a1a0a 50%, #1f150a 100%)}body.theme-lgtm .iso-grid{background:linear-gradient(30deg, transparent 49.5%, rgba(244, 104, 0, 0.12) 49.5%, rgba(244, 104, 0, 0.12) 50.5%, transparent 50.5%),linear-gradient(-30deg, transparent 49.5%, rgba(255, 171, 64, 0.08) 49.5%, rgba(255, 171, 64, 0.08) 50.5%, transparent 50.5%)}body.theme-lgtm .glow-spot:nth-child(1){background:rgba(244,104,0,.35)}body.theme-lgtm .glow-spot:nth-child(2){background:rgba(255,171,64,.28)}body.theme-lgtm .glow-spot:nth-child(3){background:rgba(255,138,101,.22)}body.theme-lgtm .glow-spot:nth-child(4){background:rgba(244,104,0,.25)}body.theme-lgtm .glow-spot:nth-child(5){background:rgba(255,171,64,.18)}body.theme-lgtm .logo{background:linear-gradient(135deg, #ffab40 0%, #ff9100 100%)}body.theme-lgtm .logo svg{stroke:#e65100}body.theme-powersheets{background:linear-gradient(145deg, #150f25 0%, #1a1230 50%, #1f1535 100%)}body.theme-powersheets .iso-grid{background:linear-gradient(30deg, transparent 49.5%, rgba(124, 77, 255, 0.12) 49.5%, rgba(124, 77, 255, 0.12) 50.5%, transparent 50.5%),linear-gradient(-30deg, transparent 49.5%, rgba(179, 136, 255, 0.08) 49.5%, rgba(179, 136, 255, 0.08) 50.5%, transparent 50.5%)}body.theme-powersheets .glow-spot:nth-child(1){background:rgba(124,77,255,.35)}body.theme-powersheets .glow-spot:nth-child(2){background:rgba(179,136,255,.28)}body.theme-powersheets .glow-spot:nth-child(3){background:rgba(149,117,205,.22)}body.theme-powersheets .glow-spot:nth-child(4){background:rgba(124,77,255,.25)}body.theme-powersheets .glow-spot:nth-child(5){background:rgba(179,136,255,.18)}body.theme-powersheets .logo{background:linear-gradient(135deg, #b388ff 0%, #7c4dff 100%)}body.theme-powersheets .logo svg{stroke:#4527a0}body.theme-videos{background:linear-gradient(145deg, #1f0a15 0%, #2a0d1a 50%, #1f0a12 100%)}body.theme-videos .iso-grid{background:linear-gradient(30deg, transparent 49.5%, rgba(233, 30, 99, 0.12) 49.5%, rgba(233, 30, 99, 0.12) 50.5%, transparent 50.5%),linear-gradient(-30deg, transparent 49.5%, rgba(244, 143, 177, 0.08) 49.5%, rgba(244, 143, 177, 0.08) 50.5%, transparent 50.5%)}body.theme-videos .glow-spot:nth-child(1){background:rgba(233,30,99,.35)}body.theme-videos .glow-spot:nth-child(2){background:rgba(244,143,177,.28)}body.theme-videos .glow-spot:nth-child(3){background:rgba(236,64,122,.22)}body.theme-videos .glow-spot:nth-child(4){background:rgba(233,30,99,.25)}body.theme-videos .glow-spot:nth-child(5){background:rgba(244,143,177,.18)}body.theme-videos .logo{background:linear-gradient(135deg, #f48fb1 0%, #e91e63 100%)}body.theme-videos .logo svg{stroke:#880e4f}body,.iso-grid,.glow-spot,.logo{transition:background .6s ease,background-color .6s ease}.container{position:relative;z-index:10;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;padding-bottom:80px;gap:16px}.login-card{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:24px;box-shadow:0 20px 40px rgba(0,0,0,.2),inset 0 1px 1px hsla(0,0%,100%,.1);padding:40px 36px;width:100%;max-width:620px;box-shadow:0 25px 50px rgba(0,0,0,.25),inset 0 1px 1px hsla(0,0%,100%,.1);animation:slideUp .8s ease-out}.header-card{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:20px;box-shadow:0 20px 40px rgba(0,0,0,.2),inset 0 1px 1px hsla(0,0%,100%,.1);padding:24px 28px;width:100%;max-width:620px;animation:slideUp .8s ease-out both;text-align:center}.header-card .logo-container{margin-bottom:16px}.header-card .action-section{margin-top:0}.apps-card{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:20px;box-shadow:0 20px 40px rgba(0,0,0,.2),inset 0 1px 1px hsla(0,0%,100%,.1);padding:24px 28px;width:100%;max-width:620px;animation:slideUp .8s ease-out .1s both}.auth-card,.info-card{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:20px;box-shadow:0 20px 40px rgba(0,0,0,.2),inset 0 1px 1px hsla(0,0%,100%,.1);padding:24px 28px;width:100%;max-width:620px}.auth-card{animation:slideUp .8s ease-out .2s both}.info-card{animation:slideUp .8s ease-out .3s both}.card-title{font-size:16px;font-weight:600;color:#fff;text-align:center;margin-bottom:16px;display:flex;align-items:center;justify-content:center;gap:8px}.card-title svg{width:18px;height:18px;stroke:currentColor}.info-card .description{color:hsla(0,0%,100%,.7);font-size:13px;text-align:center;line-height:1.6;margin-bottom:16px}.config-card{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:20px;box-shadow:0 20px 40px rgba(0,0,0,.2),inset 0 1px 1px hsla(0,0%,100%,.1);padding:24px 28px;width:100%;max-width:620px;animation:slideUp .8s ease-out .2s both}.config-card .tools-section{margin-top:0;padding-top:0;border-top:none}.config-card .tools-section+.tools-section{margin-top:16px;padding-top:16px;border-top:1px solid hsla(0,0%,100%,.1)}.config-card .server-control{margin-top:0;padding-top:0;border-top:none}.config-title{font-size:16px;font-weight:600;color:#fff;text-align:center;margin-bottom:16px;display:flex;align-items:center;justify-content:center;gap:8px}.config-title svg{width:18px;height:18px;opacity:.8}.logo-container{text-align:center;margin-bottom:24px}.logo{width:72px;height:72px;background:linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.8) 100%);border-radius:18px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px;box-shadow:0 10px 30px rgba(0,0,0,.2);animation:pulse-glow 3s infinite ease-in-out}.logo svg{width:42px;height:42px}.app-name{font-size:26px;font-weight:700;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3)}.app-tagline{font-size:13px;color:hsla(0,0%,100%,.7);margin-top:6px}.security-info{margin-top:20px;padding-top:16px;border-top:1px solid hsla(0,0%,100%,.1);text-align:center}.security-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:rgba(16,185,129,.2);border:1px solid rgba(16,185,129,.3);border-radius:20px;color:#34d399;font-size:11px;font-weight:500}.security-badge svg{width:18px;height:18px}.action-section{margin:20px 0}.action-buttons{display:flex;gap:10px}.login-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;height:40px;box-sizing:border-box;border:none;border-radius:10px;font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:all .3s ease;text-decoration:none;position:relative;overflow:hidden;color:#fff}.login-btn::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);transition:left .5s ease}.login-btn:hover::before{left:100%}.login-btn svg{width:18px;height:18px;flex-shrink:0}.action-buttons .login-btn{flex:1}.btn-app{background:linear-gradient(135deg, #10b981 0%, #059669 100%);box-shadow:0 4px 15px rgba(16,185,129,.4)}.btn-app:hover{background:linear-gradient(135deg, #059669 0%, #047857 100%);transform:translateY(-2px);box-shadow:0 8px 25px rgba(16,185,129,.5)}.btn-config{background:linear-gradient(135deg, #6b7280 0%, #4b5563 100%);box-shadow:0 4px 15px rgba(107,114,128,.4)}.btn-config:hover{background:linear-gradient(135deg, #4b5563 0%, #374151 100%);transform:translateY(-2px);box-shadow:0 8px 25px rgba(107,114,128,.5)}.category-tabs{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap;justify-content:center}.category-tabs-row2{display:flex;gap:8px;margin-bottom:16px;justify-content:center}.category-tab{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;height:40px;box-sizing:border-box;border:none;border-radius:10px;font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:all .3s ease;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.7);text-align:center}.category-tab svg{width:18px;height:18px}.category-tab:hover:not(.active){background:hsla(0,0%,100%,.1)}.category-tab[data-category=files]{color:#ce93d8;border-color:rgba(156,39,176,.4)}.category-tab[data-category=sheets]{color:#81c784;border-color:rgba(15,157,88,.4)}.category-tab[data-category=docs]{color:#64b5f6;border-color:rgba(66,133,244,.4)}.category-tab[data-category=photos]{color:#f48fb1;border-color:rgba(233,30,99,.4)}.category-tab[data-category=slides]{color:#ffab91;border-color:rgba(255,87,34,.4)}.category-tab[data-category=notes]{color:#a5b4fc;border-color:rgba(104,128,255,.4)}.category-tab[data-category=lgtm]{color:#ffab40;border-color:rgba(244,104,0,.4)}.category-tab[data-category=powersheets]{color:#b388ff;border-color:rgba(124,77,255,.4)}.category-tab[data-category=videos]{color:#f48fb1;border-color:rgba(233,30,99,.4)}.category-tab:hover:not(.active)[data-category=files]{background:rgba(156,39,176,.15)}.category-tab:hover:not(.active)[data-category=sheets]{background:rgba(15,157,88,.15)}.category-tab:hover:not(.active)[data-category=docs]{background:rgba(66,133,244,.15)}.category-tab:hover:not(.active)[data-category=photos]{background:rgba(233,30,99,.15)}.category-tab:hover:not(.active)[data-category=slides]{background:rgba(255,87,34,.15)}.category-tab:hover:not(.active)[data-category=notes]{background:rgba(104,128,255,.15)}.category-tab:hover:not(.active)[data-category=lgtm]{background:rgba(244,104,0,.15)}.category-tab:hover:not(.active)[data-category=powersheets]{background:rgba(124,77,255,.15)}.category-tab:hover:not(.active)[data-category=videos]{background:rgba(233,30,99,.15)}.category-tab.active[data-category=sheets]{background:rgba(15,157,88,.25);border-color:var(--sheets);color:#34d399}.category-tab.active[data-category=docs]{background:rgba(66,133,244,.25);border-color:var(--docs);color:#60a5fa}.category-tab.active[data-category=photos]{background:rgba(233,30,99,.25);border-color:var(--photos);color:#f472b6}.category-tab.active[data-category=slides]{background:rgba(255,87,34,.25);border-color:var(--slides);color:#ff8a65}.category-tab.active[data-category=files]{background:rgba(156,39,176,.25);border-color:var(--files);color:#ce93d8}.category-tab.active[data-category=notes]{background:rgba(104,128,255,.25);border-color:var(--notes);color:#a5b4fc}.category-tab.active[data-category=lgtm]{background:rgba(244,104,0,.25);border-color:var(--lgtm);color:#ffab40}.category-tab.active[data-category=powersheets]{background:rgba(124,77,255,.25);border-color:var(--powersheets);color:#b388ff}.category-tab.active[data-category=videos]{background:rgba(233,30,99,.25);border-color:var(--videos);color:#f48fb1}.auth-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:8px}.auth-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;height:40px;box-sizing:border-box;border:none;border-radius:10px;font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:all .3s ease;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.7);text-align:center}.auth-btn:hover:not(:disabled){background:hsla(0,0%,100%,.1);color:#fff}.auth-btn svg{width:18px;height:18px}.auth-btn.active[data-auth=authelia-sso],.auth-btn.active[data-auth=authelia-2fa]{background:rgba(14,165,233,.2);border-color:var(--authelia);color:var(--authelia)}.auth-btn.active[data-auth=github]{background:rgba(36,41,47,.4);border-color:#57606a;color:#fff}.footer-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;justify-content:center;align-items:center;gap:16px;padding:16px;background:linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent)}.footer-link{color:hsla(0,0%,100%,.7);text-decoration:none;font-size:12px;font-weight:500;padding:8px 16px;border-radius:10px;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.15);transition:all .3s ease;display:flex;align-items:center;gap:6px}.footer-link:hover{color:#fff;background:hsla(0,0%,100%,.2);transform:translateY(-2px)}.footer-link svg{width:18px;height:18px}.shimmer-btn{position:relative;padding:10px 20px;border-radius:10px;font-size:13px;font-weight:600;color:#fff;text-decoration:none;background:linear-gradient(135deg, #4285f4 0%, #0f9d58 50%, #fbbc04 100%);background-size:200% 200%;animation:gradient-shift 3s ease infinite;overflow:hidden;display:flex;align-items:center;gap:6px;box-shadow:0 4px 20px rgba(66,133,244,.4);transition:all .3s ease}.shimmer-btn::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);animation:shimmer 2s infinite}.shimmer-btn:hover{transform:translateY(-3px) scale(1.02)}.shimmer-btn svg{width:18px;height:18px}.tools-section{margin-top:16px;padding-top:16px;border-top:1px solid hsla(0,0%,100%,.1)}.tools-title{font-size:10px;color:hsla(0,0%,100%,.5);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:10px;text-align:center}.service-table{display:none;flex-direction:row;flex-wrap:wrap;gap:8px;justify-content:center}.service-table.active{display:flex}.service-option{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;height:40px;box-sizing:border-box;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:10px;cursor:pointer;transition:all .3s ease;text-align:center;flex:none}.service-option:hover{background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.2)}.service-option.active{background:rgba(99,102,241,.2);border-color:var(--primary)}.service-option .radio{display:none;width:18px;height:18px;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;align-items:center;justify-content:center;flex-shrink:0}.service-option.active .radio{border-color:var(--primary)}.service-option.active .radio::after{content:"";width:8px;height:8px;background:var(--primary);border-radius:50%}.service-info{flex:none}.service-name{font-size:12px;font-weight:500;color:#fff}.service-desc{display:none}.service-icon{width:18px;height:18px;background:none;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:hsla(0,0%,100%,.8)}.service-icon svg{width:18px;height:18px;stroke:currentColor}[data-category=sheets] .service-option.active{background:rgba(15,157,88,.2);border-color:var(--sheets)}[data-category=sheets] .service-option.active .radio{border-color:var(--sheets)}[data-category=sheets] .service-option.active .radio::after{background:var(--sheets)}[data-category=docs] .service-option.active{background:rgba(66,133,244,.2);border-color:var(--docs)}[data-category=docs] .service-option.active .radio{border-color:var(--docs)}[data-category=docs] .service-option.active .radio::after{background:var(--docs)}[data-category=photos] .service-option.active{background:rgba(233,30,99,.2);border-color:var(--photos)}[data-category=photos] .service-option.active .radio{border-color:var(--photos)}[data-category=photos] .service-option.active .radio::after{background:var(--photos)}[data-category=slides] .service-option.active{background:rgba(255,87,34,.2);border-color:var(--slides)}[data-category=slides] .service-option.active .radio{border-color:var(--slides)}[data-category=slides] .service-option.active .radio::after{background:var(--slides)}[data-category=files] .service-option.active{background:rgba(156,39,176,.2);border-color:var(--files)}[data-category=files] .service-option.active .radio{border-color:var(--files)}[data-category=files] .service-option.active .radio::after{background:var(--files)}[data-category=lgtm] .service-option.active{background:rgba(244,104,0,.2);border-color:var(--lgtm)}[data-category=lgtm] .service-option.active .radio{border-color:var(--lgtm)}[data-category=lgtm] .service-option.active .radio::after{background:var(--lgtm)}[data-category=powersheets] .service-option.active{background:rgba(124,77,255,.2);border-color:var(--powersheets)}[data-category=powersheets] .service-option.active .radio{border-color:var(--powersheets)}[data-category=powersheets] .service-option.active .radio::after{background:var(--powersheets)}[data-category=videos] .service-option.active{background:rgba(233,30,99,.2);border-color:var(--videos)}[data-category=videos] .service-option.active .radio{border-color:var(--videos)}[data-category=videos] .service-option.active .radio::after{background:var(--videos)}.service-option.coming-soon{opacity:.5;cursor:not-allowed}.service-option.not-deployed{opacity:.35;cursor:not-allowed;filter:grayscale(1);pointer-events:none}.not-deployed-badge{font-size:9px;padding:2px 6px;background:hsla(0,0%,100%,.08);border-radius:4px;color:hsla(0,0%,100%,.4);text-transform:uppercase;letter-spacing:.5px}.coming-soon-badge{font-size:9px;padding:2px 6px;background:hsla(0,0%,100%,.1);border-radius:4px;color:hsla(0,0%,100%,.5);text-transform:uppercase;letter-spacing:.5px}.server-control{margin-top:20px;padding-top:16px;border-top:1px solid hsla(0,0%,100%,.1)}.server-status{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px;padding:8px 14px;background:rgba(0,0,0,.2);border-radius:20px;font-size:12px;color:hsla(0,0%,100%,.8)}.status-dot{width:10px;height:10px;border-radius:50%;background:#6b7280}.status-dot.status-green{background:#10b981;box-shadow:0 0 8px rgba(16,185,129,.6)}.status-dot.status-red{background:#ef4444;box-shadow:0 0 8px rgba(239,68,68,.6)}.status-dot.status-yellow{background:#f59e0b;box-shadow:0 0 6px rgba(245,158,11,.5);animation:pulse-dot 1s infinite}.status-dot.status-blue{background:#3b82f6;box-shadow:0 0 8px rgba(59,130,246,.6)}.vm-controls{display:flex;gap:8px;margin-top:10px}.vm-controls button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border:none;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease;color:#fff}.vm-controls button:hover{transform:translateY(-2px)}.vm-controls button:active{transform:translateY(0)}.vm-controls button svg{width:16px;height:16px}.btn-vm-start{background:linear-gradient(135deg, #10b981 0%, #059669 100%);box-shadow:0 4px 15px rgba(16,185,129,.3)}.btn-vm-start:hover{box-shadow:0 8px 25px rgba(16,185,129,.4)}.btn-vm-stop{background:linear-gradient(135deg, #ef4444 0%, #dc2626 100%);box-shadow:0 4px 15px rgba(239,68,68,.3)}.btn-vm-stop:hover{box-shadow:0 8px 25px rgba(239,68,68,.4)}.btn-vm-reset{background:linear-gradient(135deg, #f59e0b 0%, #d97706 100%);box-shadow:0 4px 15px rgba(245,158,11,.3)}.btn-vm-reset:hover{box-shadow:0 8px 25px rgba(245,158,11,.4)}.btn-vm-refresh{background:linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);box-shadow:0 4px 15px rgba(59,130,246,.3)}.btn-vm-refresh:hover{box-shadow:0 8px 25px rgba(59,130,246,.4)}.wake-status{font-size:11px;color:hsla(0,0%,100%,.7);margin-top:6px;text-align:center;min-height:16px}@media(max-width: 480px){.login-card{padding:28px 20px;border-radius:20px}.app-name{font-size:22px}.logo{width:60px;height:60px}.logo svg{width:34px;height:34px}.category-tabs{gap:6px}.category-tab{padding:8px 10px;font-size:11px}.auth-grid{grid-template-columns:1fr}}
