*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0f0f1a;--bg-secondary: #1a1a2e;--bg-card: #16162a;--bg-elevated: #1e1e3a;--purple-primary: #8b5cf6;--purple-light: #a78bfa;--purple-dark: #6d28d9;--purple-glow: rgba(139, 92, 246, .15);--purple-subtle: rgba(139, 92, 246, .08);--white: #ffffff;--text-primary: #f0f0f5;--text-secondary: #a0a0b8;--text-muted: #6b6b82;--border: #2a2a45;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--danger-bg: rgba(239, 68, 68, .1)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}button{cursor:pointer;border:none;font-family:inherit;font-size:inherit}input,select,textarea{font-family:inherit;font-size:inherit}.app-container{display:flex;flex-direction:column;min-height:100vh}.header{background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:16px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.header-logo{display:flex;align-items:center;gap:10px}.header-logo svg{color:var(--purple-primary)}.header-logo-img{width:36px;height:36px;border-radius:8px;object-fit:contain}.header-logo h1{font-size:20px;font-weight:700;color:var(--white);letter-spacing:-.5px}.header-logo span{font-size:12px;color:var(--text-muted);font-weight:400}.main-content{flex:1;display:flex;flex-direction:column}.nav-tabs{display:flex;background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:0 24px;gap:4px;overflow-x:auto}.nav-tab{padding:12px 20px;background:none;color:var(--text-secondary);font-size:14px;font-weight:500;border-bottom:2px solid transparent;transition:all .2s;display:flex;align-items:center;gap:8px;white-space:nowrap}.nav-tab:hover{color:var(--text-primary)}.nav-tab.active{color:var(--purple-primary);border-bottom-color:var(--purple-primary)}.nav-tab .badge{background:var(--purple-primary);color:var(--white);font-size:11px;padding:2px 7px;border-radius:10px;font-weight:600}.page-content{padding:24px;max-width:900px;width:100%;margin:0 auto}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-title{font-size:16px;font-weight:600;color:var(--white)}.card-subtitle{font-size:13px;color:var(--text-muted);margin-top:4px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.stat-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:16px;text-align:center}.stat-value{font-size:28px;font-weight:700;color:var(--purple-primary)}.stat-label{font-size:12px;color:var(--text-muted);margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.notification-item{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;transition:all .2s;position:relative}.notification-item.unread{border-left:3px solid var(--purple-primary);background:var(--purple-subtle)}.notification-item:hover{border-color:var(--purple-dark)}.notification-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.notification-icon.normal{background:#8b5cf626;color:var(--purple-primary)}.notification-icon.high{background:#f59e0b26;color:var(--warning)}.notification-icon.urgent{background:#ef444426;color:var(--danger)}.notification-content{flex:1;min-width:0}.notification-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.notification-message{font-size:13px;color:var(--text-secondary);line-height:1.4;word-break:break-word}.notification-meta{display:flex;align-items:center;gap:12px;margin-top:6px}.notification-time{font-size:11px;color:var(--text-muted)}.priority-badge{font-size:10px;padding:2px 8px;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.priority-badge.normal{background:#8b5cf626;color:var(--purple-light)}.priority-badge.high{background:#f59e0b26;color:var(--warning)}.priority-badge.urgent{background:#ef444426;color:var(--danger)}.notification-actions{display:flex;gap:4px;flex-shrink:0}.icon-btn{width:32px;height:32px;border-radius:6px;background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all .2s}.icon-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.icon-btn.danger:hover{background:var(--danger-bg);color:var(--danger)}.btn{padding:10px 20px;border-radius:8px;font-weight:500;font-size:14px;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.btn-primary{background:var(--purple-primary);color:var(--white)}.btn-primary:hover{background:var(--purple-dark)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--purple-dark)}.btn-danger{background:var(--danger-bg);color:var(--danger)}.btn-danger:hover{background:#ef444433}.btn-sm{padding:6px 14px;font-size:13px}.form-group{margin-bottom:16px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.form-input{width:100%;padding:10px 14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:14px;transition:border-color .2s}.form-input:focus{outline:none;border-color:var(--purple-primary);box-shadow:0 0 0 3px var(--purple-glow)}.form-input::placeholder{color:var(--text-muted)}select.form-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b6b82' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.device-key-display{display:flex;align-items:center;gap:8px;background:var(--bg-primary);padding:10px 14px;border-radius:8px;border:1px solid var(--border);font-family:JetBrains Mono,monospace;font-size:13px;color:var(--purple-light);word-break:break-all}.device-key-display .copy-btn{flex-shrink:0}.device-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;margin-bottom:8px}.device-info{display:flex;align-items:center;gap:12px}.device-status{width:8px;height:8px;border-radius:50%}.device-status.active{background:var(--success)}.device-status.inactive{background:var(--text-muted)}.device-label{font-size:14px;font-weight:500;color:var(--text-primary)}.device-key-text{font-size:12px;color:var(--text-muted);font-family:monospace}.device-actions{display:flex;gap:4px}.toggle-switch{position:relative;width:44px;height:24px;background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all .3s}.toggle-switch.active{background:var(--purple-primary);border-color:var(--purple-primary)}.toggle-switch:after{content:"";position:absolute;width:18px;height:18px;background:var(--white);border-radius:50%;top:2px;left:2px;transition:transform .3s}.toggle-switch.active:after{transform:translate(20px)}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border)}.setting-row:last-child{border-bottom:none}.setting-info h4{font-size:14px;font-weight:500;color:var(--text-primary)}.setting-info p{font-size:12px;color:var(--text-muted);margin-top:2px}.empty-state{text-align:center;padding:48px 24px;color:var(--text-muted)}.empty-state svg{color:var(--text-muted);margin-bottom:16px;opacity:.5}.empty-state h3{font-size:16px;color:var(--text-secondary);margin-bottom:8px}.empty-state p{font-size:13px;max-width:320px;margin:0 auto 16px;line-height:1.5}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border);padding:12px 20px;border-radius:10px;font-size:14px;z-index:1000;display:flex;align-items:center;gap:8px;box-shadow:0 8px 32px #0006;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200;padding:24px}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:24px;width:100%;max-width:440px;max-height:80vh;overflow-y:auto}.modal-title{font-size:18px;font-weight:600;color:var(--white);margin-bottom:16px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.api-section{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;padding:16px;margin-top:16px}.api-section h4{font-size:13px;font-weight:600;color:var(--purple-light);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.code-block{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:12px 14px;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-secondary);overflow-x:auto;white-space:pre;line-height:1.6}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-title{font-size:18px;font-weight:600;color:var(--white)}.device-selector{display:flex;align-items:center;gap:8px;margin-bottom:20px}.device-selector select{flex:1}.inline-edit{display:flex;gap:8px;align-items:center}.inline-edit input{flex:1}.install-banner{background:linear-gradient(135deg,var(--purple-dark),var(--purple-primary));padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;animation:slideDown .3s ease}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.install-banner-content{display:flex;align-items:center;gap:12px;color:var(--white)}.install-banner-content strong{font-size:14px;display:block}.install-banner-content span{font-size:12px;opacity:.85;display:block}.install-banner-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.install-banner-actions .btn{background:var(--white);color:var(--purple-dark);font-weight:600}.install-banner-actions .icon-btn{color:var(--white)}.header-actions{display:flex;align-items:center;gap:8px}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:24px}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:40px 32px;width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:32px}.login-icon{width:64px;height:64px;border-radius:16px;background:var(--purple-glow);color:var(--purple-primary);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.login-header h1{font-size:24px;font-weight:700;color:var(--white);margin-bottom:8px}.login-header p{font-size:14px;color:var(--text-muted)}.login-form{display:flex;flex-direction:column}.password-input-wrapper{position:relative}.password-input-wrapper .form-input{padding-right:44px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:6px;background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:color .2s}.password-toggle:hover{color:var(--text-primary)}.login-error{color:var(--danger);font-size:13px;text-align:center;margin-bottom:12px;padding:8px 12px;background:var(--danger-bg);border-radius:8px}.login-btn{width:100%;justify-content:center;padding:12px;font-size:15px;font-weight:600}.login-loading{text-align:center;color:var(--text-muted);padding:24px}.api-key-display{display:flex;align-items:center;gap:8px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:10px 14px}.api-key-value{flex:1;font-family:JetBrains Mono,monospace;font-size:13px;color:var(--purple-light);word-break:break-all;min-width:0}.api-key-actions{display:flex;gap:2px;flex-shrink:0}@media(max-width:640px){.stats-grid{grid-template-columns:1fr}.header{padding:12px 16px}.page-content{padding:16px}.nav-tabs{padding:0 16px}.install-banner{flex-direction:column;align-items:flex-start}.install-banner-actions{align-self:flex-end}}
