@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-color:#0b0f19;--panel-bg:#14192399;--panel-border:#ffffff14;--text-primary:#fff;--text-secondary:#94a3b8;--accent-primary:#8b5cf6;--accent-secondary:#3b82f6;--success-color:#10b981;--warning-color:#f59e0b}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 15%,#8b5cf626,#0000 25%),radial-gradient(circle at 85% 30%,#3b82f626,#0000 25%);justify-content:center;align-items:center;min-height:100vh;font-family:Inter,sans-serif;display:flex}#root{justify-content:center;align-items:center;width:100%;height:100vh;padding:0;display:flex}.app-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0f141e66;width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{border-right:1px solid var(--panel-border);background:#ffffff05;flex-direction:column;width:260px;padding:2rem 1.5rem;display:flex}.brand{align-items:center;gap:12px;margin-bottom:3rem;display:flex}.brand-icon{background:linear-gradient(135deg, var(--success-color), #059669);border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;font-weight:700;display:flex;box-shadow:0 4px 15px #10b9814d}.brand h1{letter-spacing:.5px;font-size:1.1rem;font-weight:600}.brand span{color:var(--text-secondary);font-size:.8rem;font-weight:400;display:block}.nav-menu{flex-direction:column;gap:8px;list-style:none;display:flex}.nav-item{cursor:pointer;color:var(--text-secondary);border-radius:12px;align-items:center;gap:12px;padding:12px 16px;font-weight:500;transition:all .3s;display:flex}.nav-item:hover{color:var(--text-primary);background:#ffffff0d}.nav-item.active{color:var(--text-primary);background:linear-gradient(90deg,#8b5cf626,#3b82f60d);border:1px solid #8b5cf64d;box-shadow:inset 0 0 20px #8b5cf60d}.main-content{flex-direction:column;flex:1;padding:2.5rem;display:flex;overflow-y:auto}.header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.header h2{font-size:1.8rem;font-weight:600}.user-profile{align-items:center;gap:12px;display:flex}.user-profile img{border:2px solid var(--panel-border);border-radius:50%;width:36px;height:36px}.user-info{text-align:right}.user-info .name{font-size:.9rem;font-weight:500}.user-info .role{color:var(--text-secondary);font-size:.75rem}.dashboard-grid{flex:1;grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;flex-direction:column;padding:1.5rem;display:flex}.card-title{margin-bottom:1.5rem;font-size:1.1rem;font-weight:500}.qr-container{background:#0003;border:1px dashed #ffffff1a;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex;position:relative;overflow:hidden}.qr-container:before{content:"";background:conic-gradient(#0000,#8b5cf61a,#0000 30%);width:200%;height:200%;animation:4s linear infinite rotate;position:absolute;top:-50%;left:-50%}@keyframes rotate{to{transform:rotate(360deg)}}.qr-box{z-index:1;background:#fff;border-radius:12px;justify-content:center;align-items:center;width:200px;height:200px;margin-bottom:1rem;padding:1rem;display:flex;position:relative;box-shadow:0 0 30px #8b5cf633}.qr-box img{object-fit:contain;width:100%;height:100%}.status-badge{color:var(--warning-color);z-index:1;background:#f59e0b1a;border:1px solid #f59e0b33;border-radius:20px;align-items:center;gap:8px;padding:6px 12px;font-size:.85rem;font-weight:500;display:flex}.status-badge.connected{color:var(--success-color);background:#10b9811a;border-color:#10b98133}.status-dot{background:var(--warning-color);width:8px;height:8px;box-shadow:0 0 10px var(--warning-color);border-radius:50%;animation:2s infinite pulse}.status-badge.connected .status-dot{background:var(--success-color);box-shadow:0 0 10px var(--success-color)}@keyframes pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.settings-group{background:#00000026;border:1px solid #ffffff08;border-radius:12px;margin-bottom:1.5rem;padding:1.25rem}.settings-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.settings-header h3{color:var(--text-primary);font-size:.95rem;font-weight:500}.switch{width:44px;height:24px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:#ffffff1a;border-radius:24px;transition:all .4s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .4s;position:absolute;bottom:3px;left:3px}input:checked+.slider{background-color:var(--accent-secondary)}input:checked+.slider:before{transform:translate(20px)}.range-container{flex-direction:column;gap:10px;display:flex}.range-labels{color:var(--text-secondary);justify-content:space-between;font-size:.75rem;display:flex}input[type=range]{-webkit-appearance:none;background:0 0;width:100%}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:16px;height:16px;margin-top:-6px;box-shadow:0 0 10px #3b82f680}input[type=range]::-webkit-slider-runnable-track{cursor:pointer;background:#ffffff1a;border-radius:2px;width:100%;height:4px}.textarea-container{width:100%}textarea{width:100%;color:var(--text-primary);resize:vertical;background:#0003;border:1px solid #ffffff1a;border-radius:8px;min-height:100px;padding:12px;font-family:monospace;font-size:.85rem;transition:border-color .3s}textarea:focus{border-color:var(--accent-primary);outline:none}.char-count{text-align:right;color:var(--text-secondary);margin-top:4px;font-size:.75rem}.btn-primary{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:12px 24px;font-size:.95rem;font-weight:600;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #8b5cf666}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf699}.btn-primary:active{transform:translateY(0)}
