*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#f9fafb;--bg-secondary:#fff;--text-primary:#111827;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--border-color:#e5e7eb;--border-hover-color:#d1d5db;--sidebar-bg:#fff;--header-bg:#fffc;--button-bg:#fff;--button-hover-bg:#f9fafb;--nav-hover-bg:#f3f4f6;--card-bg:#fff;--user-info-bg:linear-gradient(135deg,#f0f9ff,#e0f2fe);--user-info-border:#bae6fd;--accent-color:#3b82f6;--shadow:#0000000d;--bg-hover:#3b82f60d;--user-name-color:#0c4a6e;--user-role-color:#0369a1;--user-role-bg:#fff;--scrollbar-track:#f1f1f1;--scrollbar-thumb:#888;--scrollbar-thumb-hover:#555;--gradient-primary:linear-gradient(135deg,#3b82f6,#8b5cf6 50%,#06b6d4);--gradient-secondary:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#06b6d4);--badge-padding:0.25rem 0.625rem;--badge-font-size:0.8125rem;--badge-border-radius:0.5rem;--badge-font-weight:600;--error-bg:#fee2e2;--error-text:#dc2626;--error-border:#dc2626;--warning-bg:#fef3c7;--warning-text:#92400e;--warning-border:#f59e0b;--info-bg:#dbeafe;--info-text:#1e40af;--info-border:#3b82f6;--success-bg:#d1fae5;--success-text:#065f46;--success-border:#10b981}[data-theme=dark]{--bg-primary:#0f172a;--bg-secondary:#1e293b;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-tertiary:#6b7280;--border-color:#334155;--border-hover-color:#475569;--sidebar-bg:#1e293b;--header-bg:#1e293bcc;--button-bg:#334155;--button-hover-bg:#475569;--nav-hover-bg:#334155;--card-bg:#1e293b;--user-info-bg:linear-gradient(135deg,#1e3a8a,#1e40af);--user-info-border:#3b82f6;--accent-color:#60a5fa;--shadow:#0000004d;--bg-hover:#60a5fa1a;--user-name-color:#93c5fd;--user-role-color:#60a5fa;--user-role-bg:#334155;--scrollbar-track:#374151;--scrollbar-thumb:#6b7280;--scrollbar-thumb-hover:#9ca3af;--gradient-primary:linear-gradient(135deg,#60a5fa,#a78bfa 50%,#22d3ee);--gradient-secondary:linear-gradient(90deg,#60a5fa,#a78bfa 50%,#22d3ee);--error-bg:#7f1d1d;--error-text:#fca5a5;--error-border:#dc2626;--warning-bg:#78350f;--warning-text:#fcd34d;--warning-border:#f59e0b;--info-bg:#1e3a8a;--info-text:#93c5fd;--info-border:#3b82f6;--success-bg:#064e3b;--success-text:#6ee7b7;--success-border:#10b981}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9fafb;background-color:var(--bg-primary);color:#111827;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .3s,color .3s}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f1f1;background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:#888;background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555;background:var(--scrollbar-thumb-hover)}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border-color);box-shadow:0 0 15px #0000000d;color:var(--text-primary);display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transition:width .3s ease;width:280px;z-index:100}.sidebar.collapsed{width:80px}.sidebar-header{border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:1rem;padding:1.75rem 1.5rem}.sidebar.collapsed .sidebar-header{align-items:center;padding:1rem}.sidebar-logo{display:block;height:auto;margin-bottom:.5rem;object-fit:contain;transition:width .3s ease,opacity .3s ease;width:160px}.sidebar.collapsed .sidebar-logo{transition:width .3s ease,opacity .3s ease;width:40px}.user-info{background:var(--user-info-bg);border:1px solid var(--user-info-border);border-radius:.75rem;justify-content:space-between;padding:.75rem 1rem;transition:opacity .3s}.user-name{color:var(--user-name-color);font-size:.9rem;font-weight:600}.user-role{background:var(--user-role-bg);border-radius:.375rem;color:var(--user-role-color);font-size:.7rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.sidebar-nav{flex:1 1;overflow-y:auto;padding:1rem 0}.nav-section{margin-bottom:1.5rem}.nav-section-title{color:var(--text-tertiary);font-size:.7rem;font-weight:700;letter-spacing:.1em;padding:1.25rem 1.5rem .5rem;text-transform:uppercase}.nav-item{align-items:center;border-radius:.625rem;color:var(--text-secondary);display:flex;font-size:.95rem;gap:.875rem;margin:.125rem .75rem;padding:.75rem 1.5rem;position:relative;text-decoration:none;transition:all .2s;white-space:nowrap}.sidebar.collapsed .nav-item{justify-content:center;padding:.75rem}.sidebar.collapsed .nav-item span{display:none}.nav-item:hover{background:var(--nav-hover-bg);color:var(--text-primary)}.nav-item.active{background:var(--gradient-primary);box-shadow:0 4px 12px var(--shadow);color:#fff;font-weight:500}.nav-item.active:before{display:none}.nav-item svg{flex-shrink:0;font-size:1.125rem}.sidebar-footer{border-top:1px solid var(--border-color);margin-top:auto;padding:1rem .75rem}.logout-btn{align-items:center;background:var(--button-bg);border:1.5px solid var(--error-text);border-radius:.625rem;color:var(--error-text);cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:.75rem;justify-content:center;padding:.75rem;transition:all .2s;width:100%}.logout-btn:hover{background:var(--error-border);border-color:var(--error-border);box-shadow:0 4px 12px var(--shadow);color:#fff}.logout-btn svg{flex-shrink:0;font-size:1.125rem}.sidebar-overlay{animation:fadeIn .3s ease;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}@media (max-width:768px){.sidebar{height:100vh;left:0;position:fixed;top:0;transition:transform .3s ease,width .3s ease}.sidebar.collapsed{transform:translateX(-100%);width:280px}.sidebar:not(.collapsed){box-shadow:0 0 30px #0000004d;transform:translateX(0);width:280px;z-index:1000}.nav-section-title,.sidebar-logo,.user-info{display:block}.sidebar .nav-item{justify-content:flex-start;padding:.75rem 1.5rem}.sidebar .nav-item span{display:inline}.sidebar .sidebar-logo,.sidebar.collapsed .sidebar-logo{width:160px}}.language-toggle{align-items:center;background:var(--button-bg);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;gap:.375rem;padding:.5rem .75rem;transition:all .2s ease}.language-toggle:hover{background:var(--button-hover-bg);border-color:var(--accent-color)}.language-toggle svg{height:1.125rem;width:1.125rem}.current-lang{font-size:.8125rem;font-weight:500}.chevron{height:.875rem;transition:transform .2s ease;width:.875rem}.chevron.open{transform:rotate(180deg)}.language-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:10000}.language-selector{position:relative;z-index:10002}.language-dropdown{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.5rem;box-shadow:0 4px 12px var(--shadow);min-width:150px;opacity:1;overflow:hidden;position:fixed;z-index:10001}.language-option{background:var(--card-bg);border:none;color:var(--text-primary);cursor:pointer;font-size:.875rem;padding:.75rem 1rem;text-align:left;transition:background .2s ease;width:100%}.language-option.active,.language-option:hover{background:var(--nav-hover-bg)}.language-option.active{color:var(--accent-color);font-weight:500}.language-option:not(:last-child){border-bottom:1px solid var(--border-color)}.notification-center{position:relative}.notification-bell{align-items:center;background:none;border:none;border-radius:.5rem;color:var(--text-primary);cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;padding:.5rem;position:relative;transition:all .2s}.notification-bell:hover{background:var(--bg-secondary);color:var(--accent-color)}.notification-badge{background:#ef4444;border-radius:1rem;color:#fff;font-size:.65rem;font-weight:600;line-height:1;min-width:1.2rem;padding:.15rem .35rem;position:absolute;right:0;text-align:center;top:0}.notification-dropdown{animation:slideDown .2s ease-out;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.75rem;box-shadow:0 10px 40px #0000001a;display:flex;flex-direction:column;max-height:600px;position:absolute;right:0;top:calc(100% + .5rem);width:400px;z-index:1000}.notification-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1rem}.notification-header h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.notification-actions{align-items:center;display:flex;gap:.75rem}.unread-toggle{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;-webkit-user-select:none;user-select:none}.unread-toggle input[type=checkbox]{cursor:pointer}.mark-all-read{align-items:center;background:none;border:none;border-radius:.375rem;color:var(--accent-color);cursor:pointer;display:flex;font-size:1rem;justify-content:center;padding:.25rem;transition:all .2s}.mark-all-read:hover{background:var(--bg-secondary)}.notification-list{max-height:500px;overflow-y:auto;padding:.5rem}.notification-list::-webkit-scrollbar{width:6px}.notification-list::-webkit-scrollbar-track{background:#0000}.notification-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.notification-list::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.notification-item{align-items:flex-start;background:var(--bg-secondary);border-radius:.5rem;cursor:pointer;display:flex;margin-bottom:.5rem;padding:.75rem;position:relative;transition:all .2s}.notification-item:hover{background:var(--bg-hover);transform:translateX(2px)}.notification-item.unread{background:linear-gradient(135deg,#3b82f61a,#3b82f60d);border-left:3px solid var(--accent-color)}.notification-content{display:flex;flex:1 1;gap:.75rem}.notification-icon{flex-shrink:0;font-size:1.25rem;margin-top:.125rem}.notification-icon.info{color:#3b82f6}.notification-icon.success{color:#10b981}.notification-icon.warning{color:#f59e0b}.notification-icon.error{color:#ef4444}.notification-text{flex:1 1;min-width:0}.notification-text h4{color:var(--text-primary);font-size:.9375rem;font-weight:600;margin:0 0 .25rem}.notification-text p{word-wrap:break-word;color:var(--text-secondary);font-size:.875rem;line-height:1.4;margin:0 0 .5rem}.notification-time{color:var(--text-tertiary);font-size:.75rem}.notification-delete{align-items:center;background:none;border:none;border-radius:.375rem;color:var(--text-tertiary);cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;justify-content:center;opacity:0;padding:.25rem;transition:all .2s}.notification-item:hover .notification-delete{opacity:1}.notification-delete:hover{background:var(--bg-hover);color:var(--text-primary)}.notification-empty{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem;text-align:center}.notification-empty .empty-icon{color:var(--text-tertiary);font-size:3rem;margin-bottom:1rem;opacity:.5}.notification-empty p{color:var(--text-secondary);font-size:.9375rem;margin:0}@media (max-width:768px){.notification-dropdown{max-width:calc(100vw - 2rem);width:350px}}@media (max-width:480px){.notification-dropdown{left:1rem;position:fixed;right:1rem;top:4rem;width:auto}}.connection-status{align-items:center;cursor:pointer;display:flex;justify-content:center;padding:.5rem;position:relative}.connection-status .status-icon{align-items:center;display:flex;font-size:1.2rem;transition:color .3s ease}.connection-status.connected .status-icon{color:#10b981}.connection-status.disconnected .status-icon{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;color:#ef4444}.connection-status .status-tooltip{background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:8px;bottom:-100%;box-shadow:0 10px 25px #0000001a;min-width:150px;opacity:0;padding:.75rem;pointer-events:none;position:absolute;right:0;transform:translateY(100%);transition:opacity .2s ease;white-space:nowrap;z-index:1000}.connection-status:hover .status-tooltip{opacity:1;pointer-events:auto}.status-tooltip .tooltip-content{display:flex;flex-direction:column;gap:.25rem}.status-tooltip strong{color:#1f2937;color:var(--text-primary,#1f2937);font-size:.875rem;font-weight:600}.status-tooltip small{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.75rem}[data-theme=dark] .status-tooltip{background:var(--card-bg);border-color:var(--border-color)}[data-theme=dark] .status-tooltip strong{color:var(--text-primary)}[data-theme=dark] .status-tooltip small{color:var(--text-secondary)}.app-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--header-bg);border-bottom:1px solid var(--border-color);padding:.875rem;position:-webkit-sticky;position:sticky;top:0;z-index:90}.header-content{justify-content:space-between;max-width:100%}.header-content,.header-left{align-items:center;display:flex}.header-left{flex:1 1}.sidebar-toggle-btn{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1rem;height:38px;justify-content:center;transition:all .15s;width:38px}.sidebar-toggle-btn:hover{background:var(--button-hover-bg);border-color:var(--accent-color);color:var(--accent-color)}.header-right{gap:.5rem}.header-right,.theme-toggle{align-items:center;display:flex}.theme-toggle{background:#0000;border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-secondary);cursor:pointer;height:38px;justify-content:center;padding:0;transition:all .15s;width:38px}.theme-toggle:hover{background:var(--button-hover-bg);border-color:var(--accent-color);color:var(--accent-color)}.theme-toggle svg{font-size:1.1rem}@media (max-width:768px){.app-header{padding:.75rem 1rem}.sidebar-toggle-btn,.theme-toggle{height:36px;width:36px}}.layout{display:flex}.layout,.main-content{background:var(--bg-primary);min-height:100vh}.main-content{flex:1 1;margin-left:280px;padding:0;transition:margin-left .3s ease}.main-content.sidebar-collapsed{margin-left:80px}.content-wrapper{max-width:100%;padding:2rem 2.5rem;width:100%}@media (max-width:768px){.main-content,.main-content.sidebar-collapsed{margin-left:0;width:100%}.content-wrapper{padding:1rem}}.login-container{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6 50%,#06b6d4);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:1rem;position:relative}.login-container:before{background:radial-gradient(circle,#ffffff1a 0,#0000 70%);border-radius:50%;content:"";height:500px;position:absolute;right:-200px;top:-200px;width:500px}.login-container:after{background:radial-gradient(circle,#ffffff14 0,#0000 70%);border-radius:50%;bottom:-150px;content:"";height:400px;left:-150px;position:absolute;width:400px}.login-box{background:#fff;border:1px solid #fff3;border-radius:1.25rem;box-shadow:0 25px 50px #00000040;max-width:460px;padding:3rem;position:relative;width:100%;z-index:1}[data-theme=dark] .login-box{background:#1e293b;border-color:#334155}.login-header{margin-bottom:2.5rem;position:relative;text-align:center}.theme-toggle-login{align-items:center;background:#ffffffe6;border:1px solid #e5e7eb;border-radius:.5rem;color:#3b82f6;cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;padding:.5rem;position:absolute;right:-1rem;top:-1rem;transition:all .2s}.theme-toggle-login:hover{background:#f3f4f6;border-color:#3b82f6;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}[data-theme=dark] .theme-toggle-login{background:#1e293be6;border-color:#475569;color:#fbbf24}[data-theme=dark] .theme-toggle-login:hover{background:#334155;border-color:#fbbf24}.login-logo{height:auto;margin-bottom:1rem;width:220px}.login-header p{color:#64748b;font-size:.95rem}[data-theme=dark] .login-header p{color:#94a3b8}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{color:#334155}[data-theme=dark] .form-group label{color:#e2e8f0}.form-group input{background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:.75rem;color:#1e293b;font-size:1rem;padding:.875rem 1.125rem;transition:all .2s}[data-theme=dark] .form-group input{background:#0f172a;border-color:#334155;color:#e2e8f0}.form-group input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a}[data-theme=dark] .form-group input:focus{background:#1e293b;border-color:#3b82f6}.error-message{text-align:center}.login-btn{background:linear-gradient(135deg,#3b82f6,#8b5cf6 50%,#06b6d4);border:none;border-radius:.75rem;color:#fff;cursor:pointer;font-size:1.05rem;font-weight:600;margin-top:.5rem;padding:1rem;transition:transform .2s,box-shadow .2s}.login-btn:hover:not(:disabled){box-shadow:0 15px 30px #3b82f666;transform:translateY(-3px)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{cursor:not-allowed;opacity:.6}.login-footer{border-top:1px solid #e2e8f0;margin-top:1.5rem;padding-top:1.5rem;text-align:center}.login-footer p{color:#64748b;font-size:.85rem}.dashboard{width:100%}.dashboard-header{margin-bottom:1.25rem}.dashboard-header h1{color:var(--text-primary);font-size:1.875rem;font-weight:700;margin-bottom:.25rem}.dashboard-header p{color:var(--text-secondary);font-size:.9375rem}.overview-section{border-bottom:1px solid var(--border-color);margin-bottom:1.5rem;padding-bottom:1.5rem}.module-stats-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.75rem;box-shadow:0 1px 2px var(--shadow);margin-bottom:1.5rem;padding:1.5rem}.module-stats-group{border-bottom:1px solid var(--border-color);margin-bottom:1.5rem;padding-bottom:1.5rem}.module-stats-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.module-stats-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.module-stats-icon{align-items:center;border-radius:.625rem;color:var(--accent-color);display:flex;flex-shrink:0;font-size:1.125rem;height:36px;justify-content:center;width:36px}.module-stats-header h2{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,350px))}.stat-card{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:.625rem;box-shadow:0 1px 2px var(--shadow);display:flex;gap:.875rem;padding:1rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:hover{border-color:var(--border-hover-color);box-shadow:0 12px 24px var(--shadow);transform:translateY(-4px)}.stat-icon{align-items:center;border-radius:.625rem;box-shadow:0 4px 8px #0000001f;color:#fff;display:flex;flex-shrink:0;font-size:1.375rem;height:48px;justify-content:center;width:48px}.stat-content{flex:1 1}.stat-value{font-size:1.625rem;margin-bottom:.25rem}.stat-label{font-size:.8125rem}.modules-section{margin-top:2rem}.modules-section h2{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin-bottom:1rem}.modules-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.module-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.75rem;box-shadow:0 1px 2px var(--shadow);color:inherit;overflow:hidden;padding:1.25rem;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.module-card:before{background:var(--gradient-secondary);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s}.module-card:hover{border-color:var(--border-hover-color);box-shadow:0 20px 40px var(--shadow);transform:translateY(-6px)}.module-card:hover:before{transform:scaleX(1)}.module-icon{align-items:center;background:var(--gradient-primary);border-radius:.75rem;box-shadow:0 4px 12px #3b82f640;color:#fff;display:flex;font-size:1.5rem;height:48px;justify-content:center;margin-bottom:1rem;width:48px}.module-card h3{color:var(--text-primary);font-size:1.0625rem;margin-bottom:.375rem}.module-card p{color:var(--text-secondary);font-size:.8125rem;line-height:1.4;margin-bottom:.75rem}.module-version{background:var(--button-bg);border:1px solid var(--border-color);border-radius:.3125rem;color:var(--text-secondary);display:inline-block;font-size:.6875rem;font-weight:500;padding:.1875rem .625rem}.confirm-modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:10000}.confirm-modal{animation:slideUp .3s cubic-bezier(.4,0,.2,1);border:1px solid var(--border-color);border-radius:1.25rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:420px;overflow:hidden;padding:0;position:relative;width:100%}.confirm-modal,.confirm-modal.danger,.confirm-modal.info,.confirm-modal.warning{background:var(--card-bg)}.modal-close{align-items:center;background:#0000;border:none;border-radius:.5rem;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.25rem;height:32px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .2s;width:32px;z-index:10}.modal-close:hover{background:var(--button-hover-bg);color:var(--text-primary)}.modal-icon{align-items:center;background:var(--error-bg);border-radius:50%;color:var(--error-text);display:flex;font-size:2.5rem;height:80px;justify-content:center;margin:3rem auto 1.5rem;width:80px}.confirm-modal.warning .modal-icon{background:var(--warning-bg);color:var(--warning-text)}.confirm-modal.info .modal-icon{background:var(--info-bg);color:var(--info-text)}.modal-content{padding:0 2.5rem 2.5rem;text-align:center}.modal-content h3{color:var(--text-primary);font-size:1.5rem;font-weight:600;letter-spacing:-.015em;margin:0 0 .75rem}.modal-content p{color:var(--text-secondary);font-size:.9375rem;font-weight:400;line-height:1.6;margin:0}.modal-actions{border-top:1px solid var(--border-color);display:flex;gap:.75rem;padding:1.5rem 2rem 2rem}.modal-actions button{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:flex;flex:1 1;font-size:.9375rem;font-weight:500;justify-content:center;max-width:50%;min-width:0;padding:.75rem 1.5rem;transition:all .2s ease;white-space:nowrap}.btn-cancel{background:var(--button-bg);border:1px solid var(--border-color);color:var(--text-primary)!important}.btn-cancel:hover{background:var(--button-hover-bg);border-color:var(--border-hover-color)}.btn-confirm{border:none;color:#fff!important}.btn-confirm.danger{background:#dc2626}.btn-confirm.danger:hover{background:#b91c1c}.btn-confirm.danger:active{background:#991b1b}.btn-confirm.warning{background:#d97706;color:#fff!important}.btn-confirm.warning:hover{background:#b45309}.btn-confirm.warning:active{background:#92400e}.btn-confirm.info{background:#2563eb}.btn-confirm.info:hover{background:#1d4ed8}.btn-confirm.info:active{background:#1e40af}@media (max-width:640px){.confirm-modal{max-width:95%}.modal-icon{font-size:2rem;height:70px;margin:2.5rem auto 1.25rem;width:70px}.modal-content{padding:0 1.5rem 2rem}.modal-content h3{font-size:1.25rem}.modal-content p{font-size:.875rem}.modal-actions{flex-direction:column;padding:1.25rem 1.5rem 1.75rem}.modal-actions button{width:100%}}.settings{padding:20px}.settings-header{margin-bottom:30px}.settings-header h1{color:#333;color:var(--text-primary,#333);font-size:28px;font-weight:600;margin:0 0 10px}.settings-header p{color:#666;color:var(--text-secondary,#666);font-size:16px;margin:0}.alert{align-items:center;animation:slideDown .3s ease;border-radius:8px;display:flex;gap:12px;margin-bottom:20px;padding:15px 20px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert svg{flex-shrink:0;font-size:20px}.alert-error{background-color:#ffebee;border:1px solid #ef5350;color:#c62828}.alert-success{background-color:#e8f5e9;border:1px solid #66bb6a;color:#2e7d32}.settings-tabs{border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--border-color,#e0e0e0);display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px;overflow-x:visible}.tab-button{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#666;color:var(--text-secondary,#666);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;margin-bottom:-2px;padding:12px 20px;transition:all .3s ease;white-space:nowrap}.tab-button:hover{background:#667eea0d;color:#667eea}.tab-button.active{border-bottom-color:#667eea;color:#667eea}.tab-button svg{font-size:18px}.settings-content{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:30px}.settings-section h2{color:#333;color:var(--text-primary,#333);font-size:22px;font-weight:600;margin:0 0 10px}.section-description{color:#666;color:var(--text-secondary,#666);font-size:14px;margin:0 0 25px}.form-group{margin-bottom:25px}.form-group label{color:var(--text-primary,#333);font-size:14px}.form-group input[type=text],.form-group select{background:#fff;background:var(--card-bg,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:6px;color:#333;color:var(--text-primary,#333);font-family:inherit;font-size:14px;padding:12px 15px;transition:border-color .3s ease;width:100%}.form-group input[type=text]:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group small{color:#999;color:var(--text-secondary,#999);display:block;font-size:12px;margin-top:6px}.checkbox-label{font-weight:400;margin-bottom:8px}.button-group{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.btn-primary,.btn-secondary{gap:8px}.license-validation{animation:slideDown .3s ease;margin-top:20px;padding:15px 20px}.license-validation.success{background-color:#e8f5e9;border:1px solid #66bb6a;color:#2e7d32}.license-validation.error{background-color:#ffebee;border:1px solid #ef5350;color:#c62828}.license-validation.success .validation-icon{color:#4caf50}.license-validation.error .validation-icon{color:#f44336}.license-validation strong{font-size:16px;margin-bottom:8px}.license-validation p{margin:4px 0}.version-card{background:#f8f9fa;background:var(--sidebar-bg,#f8f9fa);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;margin-bottom:15px;padding:20px;transition:all .3s ease}.version-card:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.version-header{align-items:center;display:flex;gap:12px;margin-bottom:10px}.version-header svg{color:#667eea;font-size:24px}.version-header h3,.version-header h4{color:#333;color:var(--text-primary,#333);font-weight:600;margin:0}.version-header h3{font-size:18px}.version-header h4{font-size:16px}.version-info{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.version-number{background:#667eea;border-radius:4px;color:#fff;display:inline-block;font-size:14px;font-weight:600;padding:4px 12px}.module-id{color:#666;color:var(--text-secondary,#666);font-family:Courier New,monospace;font-size:13px}.modules-list{margin-top:15px}.update-available{align-items:flex-start;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;gap:15px;margin-top:20px;padding:15px 20px}.update-available svg{color:#ff9800;font-size:24px}.update-available strong{font-size:16px;margin-bottom:4px}.update-available p{margin:0}.history-list{display:flex;flex-direction:column;gap:12px}.history-item{align-items:flex-start;background:#f8f9fa;background:var(--sidebar-bg,#f8f9fa);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;display:flex;gap:15px;padding:15px 20px}.history-item.success{border-left:4px solid #4caf50}.history-item.error{border-left:4px solid #f44336}.history-icon{flex-shrink:0;font-size:20px}.history-item.success .history-icon{color:#4caf50}.history-item.error .history-icon{color:#f44336}.history-content{flex:1 1}.history-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:6px}.history-header strong{color:#333;color:var(--text-primary,#333);font-size:14px}.history-date{color:#999;color:var(--text-secondary,#999);font-size:12px}.history-details{font-size:13px}.success-text{color:#2e7d32}.error-text{color:#c62828}.empty-state{color:#999;color:var(--text-secondary,#999);padding:60px 20px}.empty-state svg{font-size:48px;margin-bottom:15px}.empty-state p{font-size:16px;margin:0}.loading{color:var(--text-secondary,#666);padding:60px 20px}@media (max-width:768px){.settings{padding:15px}.settings-content{padding:20px}.settings-header h1{font-size:24px}.settings-tabs{gap:5px}.tab-button{font-size:13px;padding:10px 15px}.tab-button svg{font-size:16px}.button-group{flex-direction:column}.btn-primary,.btn-secondary{justify-content:center;width:100%}.history-header{align-items:flex-start;flex-direction:column}}[data-theme=dark] .form-group input[type=text],[data-theme=dark] .form-group select{background-color:#1f2937;border-color:#374151;color:#e5e7eb}[data-theme=dark] .form-group input[type=text]:focus,[data-theme=dark] .form-group select:focus{background-color:#1f2937;border-color:#667eea}[data-theme=dark] .form-group small{color:#9ca3af}[data-theme=dark] .settings-header h1{color:#e5e7eb}[data-theme=dark] .settings-header p{color:#9ca3af}[data-theme=dark] .settings-content{background-color:#1f2937}[data-theme=dark] .settings-section h2{color:#e5e7eb}[data-theme=dark] .section-description,[data-theme=dark] .tab-button{color:#9ca3af}[data-theme=dark] .tab-button.active{color:#667eea}[data-theme=dark] .version-card{background-color:#111827;border-color:#374151}[data-theme=dark] .version-header h3,[data-theme=dark] .version-header h4{color:#e5e7eb}[data-theme=dark] .module-id{color:#9ca3af}[data-theme=dark] .history-item{background-color:#111827;border-color:#374151}[data-theme=dark] .history-header strong{color:#e5e7eb}[data-theme=dark] .empty-state,[data-theme=dark] .history-date{color:#9ca3af}.install-progress{align-items:center;animation:pulse 1.5s ease-in-out infinite;background-color:#e3f2fd;border:1px solid #90caf9;border-radius:8px;display:flex;gap:15px;margin:20px 0;padding:20px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.install-progress .spinner{animation:spin 1s linear infinite;border:3px solid #90caf9;border-radius:50%;border-top-color:#1976d2;height:24px;width:24px}.install-progress p{color:#1565c0;font-weight:500;margin:0}.update-available{align-items:center;background-color:#fff3e0;border:2px solid #ffb74d;border-radius:12px;box-shadow:0 2px 4px #0000001a;display:flex;gap:20px;justify-content:space-between;margin:15px 0;padding:20px}.update-available .update-info{align-items:flex-start;display:flex;flex:1 1;gap:15px}.update-available svg{color:#f57c00;flex-shrink:0;font-size:28px;margin-top:2px}.update-available strong{color:#e65100;display:block;font-size:18px;margin-bottom:5px}.update-available p{color:#5d4037;font-size:14px;margin:5px 0}.update-available .release-notes{color:#795548;font-style:italic;margin-top:8px}.update-available button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease;white-space:nowrap}.update-available button:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.update-available button:disabled{cursor:not-allowed;opacity:.6}.update-available button svg{color:#fff;font-size:18px}.modules-updates-section{margin-top:30px}.modules-updates-section h3{color:#333;color:var(--text-primary,#333);font-size:20px;font-weight:600;margin-bottom:15px}.modal-overlay{background:#00000080;padding:1rem}.modal-content{background:var(--card-bg);border-radius:1.25rem;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center}.modal-header h2{font-size:1.5rem}.close-btn{align-items:center;background:var(--button-bg);border:none;border-radius:.5rem;color:var(--text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.close-btn:hover{background:var(--button-hover-bg);color:var(--text-primary)}.task-form{display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem}.form-group input,.form-group select,.form-group textarea{background:var(--input-bg);border:1.5px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-family:inherit;font-size:1rem;padding:.75rem 1rem;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:var(--card-bg);border-color:var(--primary-color);box-shadow:0 0 0 4px var(--focus-ring);outline:none}.form-group textarea{min-height:100px}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.error-message{font-size:.9rem;padding:.75rem}.form-actions{border-top:1px solid var(--border-color);display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem}.btn-secondary{background:var(--button-bg);border:2px solid var(--border-color);border-radius:.5rem}@media (max-width:640px){.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.chat-analyzer{height:calc(100vh - 80px);overflow:hidden;padding:2rem}.analyzer-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1.5rem}.analyzer-header h2{color:var(--text-primary);font-size:1.75rem;margin-bottom:.5rem}.analyzer-header p{color:var(--text-secondary);font-size:.95rem}.btn-refresh{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;display:flex;gap:.5rem;padding:.75rem 1rem;transition:all .2s}.btn-refresh:hover:not(:disabled){background:var(--bg-secondary)}.btn-refresh:disabled{cursor:not-allowed;opacity:.6}.analyzer-layout{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:350px 1fr;height:calc(100% - 100px)}.chat-list{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:1.5rem}.chat-list h3{color:var(--text-primary);flex-shrink:0;font-size:1.1rem;margin-bottom:1rem}.chats-container{display:flex;flex:1 1;flex-direction:column;gap:.5rem;min-height:0;overflow-x:hidden;overflow-y:auto}.chats-container::-webkit-scrollbar{width:8px}.chats-container::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:4px}.chats-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.chats-container::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.chat-item{align-items:center;border:1px solid #0000;border-radius:.5rem;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all .2s}.chat-item:hover{background:var(--bg-primary)}.chat-item.selected{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.chat-avatar{flex-shrink:0}.avatar-placeholder,.chat-avatar img{border-radius:50%;height:45px;object-fit:cover;width:45px}.avatar-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:1.1rem;font-weight:600;justify-content:center}.chat-item.selected .avatar-placeholder{background:#fff3}.chat-info{flex:1 1;overflow:hidden}.chat-name{color:var(--text-primary);font-size:.95rem;font-weight:600;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-item.selected .chat-name{color:#fff}.chat-last-message{color:var(--text-secondary);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-item.selected .chat-last-message{color:#fffc}.unread-badge{background:#ef4444;border-radius:1rem;color:#fff;font-size:.75rem;font-weight:600;min-width:20px;padding:.25rem .5rem;text-align:center}.analysis-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;display:flex;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto;padding:1.5rem}.analysis-panel::-webkit-scrollbar{width:8px}.analysis-panel::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:4px}.analysis-panel::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.analysis-panel::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.empty-selection{align-items:center;color:var(--text-secondary);display:flex;flex:1 1;flex-direction:column;justify-content:center}.empty-selection svg{font-size:3rem;margin-bottom:1rem}.selected-chat-header{align-items:flex-start;border-bottom:1px solid var(--border-color);display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.5rem}.selected-chat-info{align-items:center;display:flex;gap:1rem}.selected-avatar{flex-shrink:0}.selected-avatar .avatar-placeholder,.selected-avatar img{height:50px;width:50px}.selected-chat-info h3{color:var(--text-primary);font-size:1.25rem;margin-bottom:.25rem}.selected-chat-info p{color:var(--text-secondary);font-size:.9rem}.analyze-controls{align-items:flex-end;display:flex;flex-direction:column;gap:.75rem}.message-limit-selector{display:flex;flex-direction:column;gap:.5rem}.message-limit-selector label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.message-limit-selector select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;font-size:.9rem;min-width:140px;padding:.5rem .75rem;transition:all .2s}.message-limit-selector select:hover:not(:disabled){border-color:var(--accent-color)}.message-limit-selector select:disabled{cursor:not-allowed;opacity:.6}.btn-analyze{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.btn-analyze:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-analyze:disabled{cursor:not-allowed;opacity:.6}.analyzing-indicator{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;padding:3rem}.analyzing-indicator svg{color:var(--accent-color);font-size:2rem;margin-bottom:1rem}.analysis-results{display:flex;flex-direction:column;gap:1.5rem}.summary-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.summary-section h4{font-size:1.1rem}.summary-section h4,.summary-text{color:var(--text-primary);margin-bottom:.75rem}.summary-text{line-height:1.6}.summary-section small{color:var(--text-secondary);font-size:.85rem}.tasks-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.tasks-header{align-items:center;margin-bottom:1rem}.tasks-header h4{color:var(--text-primary);font-size:1.1rem}.tasks-header-actions{align-items:center;display:flex;gap:.75rem}.btn-select-action{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.btn-select-action:hover:not(:disabled){background:var(--button-hover-bg);border-color:var(--border-hover-color)}.btn-select-action:disabled{cursor:not-allowed;opacity:.6}.btn-save-tasks{align-items:center;background:#10b981;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s}.btn-save-tasks:hover:not(:disabled){opacity:.9}.btn-save-tasks:disabled{cursor:not-allowed;opacity:.6}.tasks-list{display:flex;flex-direction:column;gap:1rem}.task-preview{align-items:flex-start;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;display:flex;gap:1rem;padding:1rem;transition:all .2s}.task-preview.selected{background:#3b82f60d;border-color:var(--accent-color)}.task-preview.is-appointment{background:linear-gradient(to right,#3b82f60d,var(--bg-secondary));border-left:4px solid #3b82f6}.task-preview.is-appointment.selected{background:linear-gradient(90deg,#3b82f61a,#3b82f60d)}.task-checkbox{accent-color:var(--accent-color);cursor:pointer;flex-shrink:0;height:20px;margin-top:.25rem;width:20px}.task-preview-content{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.task-preview-header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.5rem}.task-title-section{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.task-preview-header h5{color:var(--text-primary);font-size:1rem;margin:0}.appointment-badge{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6 50%);border-radius:.375rem;color:#fff;display:inline-flex;font-size:.75rem;font-weight:600;gap:.375rem;padding:.25rem .625rem;width:-webkit-fit-content;width:fit-content}.appointment-badge svg{font-size:.85rem}.task-priority-badge{border-radius:.5rem;box-shadow:0 2px 4px #0000001a;color:#fff;flex-shrink:0;font-size:.75rem;font-weight:600;letter-spacing:.025em;padding:.375rem .75rem;text-transform:uppercase}.task-description{margin-bottom:.75rem}.task-meta{display:flex;flex-wrap:wrap;gap:1rem}.task-meta span{align-items:center;color:var(--text-secondary);display:flex;font-size:.85rem;gap:.375rem}.task-meta span svg{font-size:.9rem}.no-tasks{padding:2rem;text-align:center}.no-tasks,.not-connected{color:var(--text-secondary)}.not-connected{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center}.not-connected svg{color:var(--accent-color);font-size:3rem;margin-bottom:1rem}.not-connected h3{color:var(--text-primary);margin-bottom:.5rem}@media (max-width:1024px){.analyzer-layout{grid-template-columns:1fr}.chat-list{max-height:400px}}@media (max-width:768px){.chat-analyzer{padding:1rem}.analyzer-header{flex-direction:column;gap:1rem}.btn-refresh{width:100%}.selected-chat-header{align-items:flex-start;flex-direction:column;gap:1rem}.btn-analyze,.btn-save-tasks{width:100%}}.settings-page{padding:2rem;width:100%}.settings-header{margin-bottom:2rem}.settings-header h2{color:var(--text-primary);font-size:1.75rem;margin-bottom:.5rem}.settings-header p{color:var(--text-secondary);font-size:.95rem}.settings-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;margin-bottom:1.5rem;padding:1.5rem}.settings-section h3{color:var(--text-primary);font-size:1.25rem;margin-bottom:.5rem}.section-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem}.settings-form{gap:1.5rem}.form-group,.settings-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{align-items:center;color:var(--text-primary);display:flex;font-size:.9rem;font-weight:600;gap:.75rem}.configured-badge{align-items:center;background:#d1fae5;border:1px solid #a7f3d0;border-radius:.375rem;color:#065f46;display:inline-flex;font-size:.8rem;font-weight:500;gap:.375rem;padding:.25rem .625rem}.configured-badge svg{font-size:.9rem}.form-group input,.form-group textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-family:inherit;font-size:.95rem;padding:.75rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent-color);outline:none}.form-group textarea{line-height:1.6;min-height:120px;resize:vertical}.criteria-display{margin-top:.5rem}.criteria-display p{color:var(--text-primary);font-size:.9rem;margin:0 0 .75rem}.criteria-box{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.5rem;font-family:Consolas,Monaco,Courier New,monospace;line-height:1.6;margin:0;overflow-x:auto;padding:1rem;white-space:pre-wrap}.criteria-box,.form-group small{color:var(--text-secondary);font-size:.85rem}.form-group small a{color:var(--accent-color);text-decoration:none}.form-group small a:hover{text-decoration:underline}.success-message{background:#d1fae5;border:1px solid #a7f3d0;border-radius:.5rem;color:#065f46}.error-message,.success-message{margin-bottom:1rem;padding:.75rem 1rem}.error-message{background:#fee2e2;border:1px solid #fecaca;border-radius:.5rem;color:#991b1b}.whatsapp-status{display:flex;flex-direction:column;gap:1.5rem}.status-row{align-items:center;display:flex;font-size:.95rem;gap:1rem}.status-row span:first-child{color:var(--text-primary);font-weight:600}.status-badge{border-radius:.375rem;color:#fff;display:inline-block;font-size:.85rem;font-weight:600;padding:.375rem .75rem}.qr-code-container{align-items:center;background:var(--bg-primary);border:2px dashed var(--border-color);border-radius:.75rem;display:flex;flex-direction:column;gap:1rem;padding:1.5rem;text-align:center}.qr-code{background:#fff;border-radius:.5rem;height:auto;max-width:300px;padding:1rem;width:100%}.qr-instructions{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin:0}.connected-message,.connecting-message{align-items:center;background:var(--bg-primary);border-radius:.5rem;color:var(--text-primary);display:flex;gap:.75rem;padding:1rem}.connected-message svg,.connecting-message svg{color:var(--accent-color);font-size:1.5rem}.spin{animation:spin 1s linear infinite}.whatsapp-actions{display:flex;gap:1rem}.btn-primary,.btn-secondary{align-items:center;border-radius:.5rem;display:flex;font-size:.95rem;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:all .2s}.btn-primary{background:var(--accent-color)}.btn-primary:hover:not(:disabled){opacity:.9}.btn-secondary{background:#0000;border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-primary)}@media (max-width:768px){.settings-page{padding:1rem}.qr-code{max-width:250px}.whatsapp-actions{flex-direction:column}.whatsapp-actions button{width:100%}}.whatsapp-tasks{width:100%}.tasks-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:2rem}.tasks-header h1{align-items:center;color:var(--text-primary);display:flex;font-size:2rem;gap:.75rem;margin-bottom:.5rem}.tasks-header h1 svg{color:#25d366}.tasks-header p{color:var(--text-secondary)}.tabs{border-bottom:2px solid var(--border-color);margin-bottom:2rem;padding-bottom:0}.tab,.tabs{display:flex;gap:.5rem}.tab{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;bottom:-2px;color:var(--text-secondary);cursor:pointer;font-weight:500;padding:.75rem 1.5rem;position:relative;transition:all .2s}.tab:hover{background:var(--nav-hover-bg);color:var(--text-primary)}.tab.active{border-bottom-color:var(--accent-color);color:var(--accent-color)}.btn-primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6 50%,#06b6d4)}.btn-delete-all{align-items:center;background:#ef4444;border:none;border-radius:.75rem;box-shadow:0 4px 12px #ef44444d;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-delete-all:hover{background:#dc2626;box-shadow:0 12px 24px #ef444466;transform:translateY(-3px)}.tasks-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.filter-btn.active{background:linear-gradient(135deg,#3b82f6,#8b5cf6 50%,#06b6d4)}.tasks-container{max-height:calc(100vh - 300px);overflow-y:auto;padding-right:.5rem}.tasks-container::-webkit-scrollbar{width:8px}.tasks-container::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.tasks-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.tasks-container::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.tasks-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.task-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:1rem;box-shadow:0 1px 2px var(--shadow);display:flex;flex-direction:column;gap:1rem;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.task-card:hover{border-color:var(--border-hover-color);box-shadow:0 20px 40px var(--shadow);transform:translateY(-6px)}.task-header{align-items:center;display:flex;justify-content:space-between}.task-priority{border-radius:50%;box-shadow:0 0 0 3px #ffffff4d;flex-shrink:0;height:12px;width:12px}.task-badges{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.task-appointment-badge,.task-status{border-radius:.375rem;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.task-appointment-badge{align-items:center;background:#ede9fe;color:#6b21a8;display:flex;gap:.375rem}.task-appointment-badge svg{font-size:.875rem}.task-title-row{align-items:flex-start;display:flex;gap:.75rem}.status-checkbox{background:none;border:none;cursor:pointer;flex-shrink:0;font-size:1.5rem;line-height:1;margin-top:.125rem;padding:0;transition:all .2s}.status-checkbox:hover{opacity:.8;transform:scale(1.15)}.status-checkbox:active{transform:scale(.95)}.task-card h3{color:var(--text-primary);flex:1 1;font-size:1.125rem;margin:0}.task-description{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0}.task-source-chat{align-items:center;color:#25d366;display:flex;font-size:.875rem;font-weight:500;gap:.5rem}.task-source-chat svg{font-size:1rem}.task-contact{color:var(--text-secondary);font-size:.875rem;padding-left:1.5rem}.task-due-date{align-items:center;color:#3b82f6;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-top:.5rem}.task-due-date svg{font-size:1rem}.task-footer{align-items:center;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;margin-top:auto;padding-top:1rem}.task-date{color:var(--text-secondary);font-size:.8rem}.task-actions{display:flex;gap:.5rem}.btn-icon:hover{background:var(--button-hover-bg);color:var(--text-primary)}.btn-icon.btn-danger:hover{background:#fee2e2;color:#dc2626}.user-management{width:100%}.users-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:2rem}.users-header h1{align-items:center;color:var(--text-primary);display:flex;font-size:2rem;gap:.75rem;margin-bottom:.5rem}.users-header p{color:var(--text-secondary)}.header-actions{gap:1rem}.header-actions,.users-filters{align-items:center;display:flex}.users-filters{flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem}.search-box{flex:1 1;max-width:400px;min-width:300px;position:relative}.search-box svg{color:var(--text-secondary);font-size:1.125rem;left:1rem;position:absolute;top:50%;transform:translateY(-50%)}.search-box input{background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-size:.95rem;padding:.75rem 1rem .75rem 3rem;transition:all .2s;width:100%}.search-box input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.role-filters{display:flex;flex-wrap:wrap;gap:.75rem}.filter-btn{background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:.625rem;color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;padding:.625rem 1.125rem;transition:all .2s}.filter-btn:hover{background:var(--button-hover-bg);border-color:var(--border-hover-color);color:var(--text-primary)}.filter-btn.active{background:var(--gradient-primary);border-color:#0000;box-shadow:0 4px 12px #3b82f64d;color:#fff}.users-table-container{-webkit-overflow-scrolling:touch;background:var(--card-bg);border:1px solid var(--border-color);border-radius:1rem;box-shadow:0 1px 3px var(--shadow);max-width:100%;overflow-x:auto;overflow-y:hidden;touch-action:pan-x pan-y}.users-table{border-collapse:collapse;min-width:800px;width:100%}.users-table thead{background:var(--bg-secondary);border-bottom:2px solid var(--border-color)}.users-table th{color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:1rem 1.5rem;text-align:left;text-transform:uppercase}.users-table tbody tr{border-bottom:1px solid var(--border-color);transition:background .2s}.users-table tbody tr:hover{background:var(--bg-secondary)}.users-table tbody tr:last-child{border-bottom:none}.users-table td{color:var(--text-primary);padding:1rem 1.5rem}.user-info{gap:.75rem}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:var(--gradient-primary);border-radius:50%;color:#fff;flex-shrink:0;font-size:1.125rem;font-weight:600;height:40px;justify-content:center;width:40px}.user-name{color:var(--text-primary);font-weight:500}.role-badge{align-items:center;border:1px solid;border-radius:var(--badge-border-radius);display:inline-flex;font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);gap:.375rem;padding:var(--badge-padding)}.role-badge-superadmin{background-color:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.role-badge-admin{background-color:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.role-badge-user{background-color:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.permission-count{color:var(--text-secondary);font-size:.875rem}.btn-primary,.table-actions{display:flex;gap:.5rem}.btn-primary{align-items:center;background:var(--gradient-primary);border:none;border-radius:.75rem;box-shadow:0 4px 12px #3b82f64d;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-primary:hover{box-shadow:0 12px 24px #3b82f666;transform:translateY(-3px)}.btn-primary:disabled{opacity:.6;transform:none}.btn-secondary{background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn-secondary:hover{background:var(--button-hover-bg);border-color:var(--border-hover-color)}.btn-secondary:disabled{opacity:.6}.btn-icon{align-items:center;background:var(--button-bg);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.btn-icon:hover:not(:disabled){background:var(--button-hover-bg);color:var(--text-primary)}.btn-icon.btn-danger:hover:not(:disabled){background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.btn-icon.btn-danger:disabled,.btn-icon:disabled{background:#0000;border-color:var(--border-color);color:var(--text-secondary);cursor:not-allowed;opacity:.4}.empty-state{background:var(--card-bg);border:1px solid var(--border-color);border-radius:1rem;box-shadow:0 1px 3px var(--shadow);padding:4rem 2rem;text-align:center}.empty-state svg{color:var(--text-secondary);font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{color:var(--text-primary);margin-bottom:.5rem}.empty-state p,.loading{color:var(--text-secondary)}.loading{font-size:1.1rem;padding:4rem 2rem}.user-form-modal .modal-overlay{align-items:center;animation:userFormFadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes userFormFadeIn{0%{opacity:0}to{opacity:1}}.user-form-modal .modal-content{animation:userFormSlideUp .3s ease-out;background:var(--card-bg);border-radius:1rem;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:90%}@keyframes userFormSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.user-form-modal .modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.user-form-modal .modal-header h2{color:var(--text-primary);font-size:1.5rem;margin:0}.user-form-modal .modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.user-form-modal .modal-footer{border-top:1px solid var(--border-color);display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.user-form-modal .form-group{margin-bottom:1.5rem}.user-form-modal .form-group label{align-items:center;color:var(--text-primary);display:flex;font-size:.95rem;font-weight:500;gap:.5rem;margin-bottom:.5rem}.user-form-modal .form-group input,.user-form-modal .form-group select,.user-form-modal .form-group textarea{background:var(--bg-primary);border:1.5px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-family:inherit;font-size:.95rem;padding:.75rem 1rem;transition:all .2s;width:100%}.user-form-modal .form-group input:focus,.user-form-modal .form-group select:focus,.user-form-modal .form-group textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.user-form-modal .form-group input.error,.user-form-modal .form-group select.error,.user-form-modal .form-group textarea.error{border-color:var(--error-border)}.user-form-modal .form-group input:disabled,.user-form-modal .form-group select:disabled,.user-form-modal .form-group textarea:disabled{cursor:not-allowed;opacity:.6}.user-form-modal .error-text{color:var(--error-text);display:block;font-size:.875rem;margin-top:.375rem}.user-form-modal .field-hint{color:var(--text-secondary);display:block;font-size:.875rem;margin-top:.375rem}.user-form-modal .error-banner{background:var(--error-bg);border:1px solid var(--error-border);border-radius:.5rem;color:var(--error-text);margin-bottom:1.5rem;padding:1rem}@media (max-width:768px){.users-header{align-items:stretch;flex-direction:column;gap:1rem}.users-header h1{font-size:1.5rem}.header-actions{width:100%}.header-actions .btn-primary{justify-content:center;width:100%}.search-box{max-width:100%;min-width:100%}.users-filters{flex-direction:column;gap:1rem}.role-filters{justify-content:flex-start;width:100%}.users-table-container::-webkit-scrollbar{height:8px}.users-table-container::-webkit-scrollbar-track{background:var(--bg-secondary)}.users-table-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.users-table-container::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}}.role-management{width:100%}.roles-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:2rem}.roles-header h1{align-items:center;color:var(--text-primary);display:flex;font-size:2rem;gap:.75rem;margin-bottom:.5rem}.roles-header p{color:var(--text-secondary)}.roles-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.role-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:1rem;box-shadow:0 1px 2px var(--shadow);display:flex;flex-direction:column;gap:1rem;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.role-card:hover{border-color:var(--border-hover-color);box-shadow:0 20px 40px var(--shadow);transform:translateY(-6px)}.role-card-header{align-items:flex-start;display:flex;justify-content:space-between}.role-info{gap:1rem}.role-icon,.role-info{align-items:center;display:flex}.role-icon{border:2px solid;border-radius:.75rem;flex-shrink:0;font-size:1.5rem;height:48px;justify-content:center;width:48px}.role-icon.role-superadmin{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.role-icon.role-admin{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.role-icon.role-user{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.role-icon.role-default{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-secondary)}.role-card h3{color:var(--text-primary);font-size:1.25rem;margin:0 0 .25rem}.system-badge{background:var(--warning-bg);border-radius:var(--badge-border-radius);color:var(--warning-text);display:inline-block;font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);padding:var(--badge-padding)}.role-description{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0}.role-stats{grid-gap:1rem;border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color);display:grid;gap:1rem;grid-template-columns:1fr 1fr;padding:1rem 0}.stat{align-items:center;display:flex;gap:.75rem}.stat svg{color:var(--accent-color);font-size:1.25rem}.stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1}.stat-label{color:var(--text-secondary);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.btn-manage-permissions,.role-actions{align-items:center;display:flex;gap:.5rem}.btn-manage-permissions{background:var(--gradient-primary);border:none;border-radius:.5rem;color:#fff;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;justify-content:center;padding:.625rem 1rem;transition:all .2s}.btn-manage-permissions:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content.large{animation:slideUp .3s ease-out;background:var(--card-bg);border-radius:1rem;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:900px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-subtitle{color:var(--text-secondary);font-size:.875rem;margin-top:.25rem}.modal-header{align-items:flex-start;background:var(--card-bg);border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem}.modal-header h2{color:var(--text-primary);margin:0}.modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.modal-body::-webkit-scrollbar{width:10px}.modal-body::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:5px}.modal-body::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:5px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.modal-footer{align-items:center;background:var(--card-bg);border-top:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem}.loading-sm{padding:2rem}.empty-state-sm,.loading-sm{color:var(--text-secondary);text-align:center}.empty-state-sm{padding:3rem 2rem}.info-banner{background:var(--info-bg);border:1px solid var(--info-border);border-radius:.5rem;color:var(--info-text);margin-bottom:1.5rem;padding:1rem}.permission-module{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;margin-bottom:2rem;padding:1.5rem}.module-title{border-bottom:2px solid var(--border-color);color:var(--text-primary);font-size:1.25rem;font-weight:700;margin:0 0 1rem;padding-bottom:.75rem}.permission-section{margin-bottom:1.5rem}.permission-section:last-child{margin-bottom:0}.section-title{color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.05em;margin:0 0 .75rem;text-transform:uppercase}.permissions-list{grid-gap:.75rem;display:grid;gap:.75rem}.permission-item{align-items:flex-start;background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:.5rem;cursor:pointer;display:flex;gap:.75rem;padding:.875rem;transition:all .2s}.permission-item:hover{background:var(--button-hover-bg);border-color:var(--accent-color)}.permission-item.active{background:var(--info-bg);border-color:var(--info-border)}.permission-checkbox{align-items:center;background:#fff;border:2px solid var(--border-color);border-radius:.375rem;color:#fff;display:flex;flex-shrink:0;height:20px;justify-content:center;margin-top:.125rem;transition:all .2s;width:20px}.permission-item.active .permission-checkbox{background:var(--accent-color);border-color:var(--accent-color)}.permission-info{flex:1 1}.permission-name{color:var(--text-primary);font-weight:600;margin-bottom:.25rem}.permission-description{color:var(--text-secondary);font-size:.875rem;line-height:1.4;margin-bottom:.375rem}.permission-details{background:var(--bg-primary);border-radius:.25rem;color:var(--text-secondary);display:inline-block;font-family:monospace;font-size:.75rem;padding:.25rem .5rem}.permission-summary{color:var(--text-primary);font-weight:600}.footer-actions{display:flex;gap:1rem}textarea{min-height:80px;resize:vertical}@media (max-width:768px){.roles-header{align-items:stretch;flex-direction:column;gap:1rem}.roles-header h1{font-size:1.5rem}.header-actions{width:100%}.header-actions .btn-primary{justify-content:center;width:100%}.roles-grid{grid-template-columns:1fr}}.installation-wizard{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.wizard-container{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:800px;overflow:hidden;width:100%}.wizard-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px}.wizard-header h1{font-size:28px;font-weight:600;margin:0 0 20px}.progress-bar{background:#ffffff4d;border-radius:3px;height:6px;margin-bottom:20px;overflow:hidden}.progress-fill{background:#fff;height:100%;transition:width .3s ease}.steps-indicator{display:flex;gap:10px;justify-content:space-between}.step-indicator{align-items:center;display:flex;flex:1 1;gap:8px;opacity:.5;transition:opacity .3s ease}.step-indicator.active{opacity:1}.step-indicator.completed{opacity:.8}.step-number{align-items:center;background:#ffffff4d;border-radius:50%;display:flex;flex-shrink:0;font-weight:600;height:32px;justify-content:center;width:32px}.step-indicator.active .step-number{background:#fff;color:#667eea}.step-indicator.completed .step-number{background:#ffffff80}.step-label{display:none;font-size:14px}@media (min-width:768px){.step-label{display:block}}.step-label small{display:block;font-size:11px;margin-top:2px;opacity:.8}.wizard-content{min-height:400px;padding:40px 30px}.wizard-step h2{color:#333;font-size:24px;margin:0 0 10px}.wizard-step>p{color:#666;font-size:16px;margin:0 0 30px}.prerequisites-check{display:flex;flex-direction:column;gap:15px}.check-item{align-items:flex-start;background:#f8f9fa;border-radius:8px;display:flex;gap:12px;padding:15px}.check-item.success{background:#e8f5e9;border-left:4px solid #4caf50}.check-item.warning{background:#fff3e0;border-left:4px solid #ff9800}.check-item.error{background:#ffebee;border-left:4px solid #f44336}.check-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-weight:700;height:24px;justify-content:center;width:24px}.check-item.success .check-icon{background:#4caf50;color:#fff}.check-item.warning .check-icon{background:#ff9800;color:#fff}.check-item.error .check-icon{background:#f44336;color:#fff}.check-item strong{color:#333;display:block;margin-bottom:4px}.check-item p{color:#666;font-size:14px;margin:0}.prerequisites-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;margin-top:10px;padding:15px}.loading{color:#666;padding:40px;text-align:center}.spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:40px;margin:0 auto 20px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.step-info ul{list-style:none;margin:20px 0;padding:0}.step-info li{border-bottom:1px solid #eee;padding:10px 0}.step-info li:last-child{border-bottom:none}.step-info li:before{color:#4caf50;content:"✓";font-weight:700;margin-right:10px}.db-credentials-form{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:20px}.form-intro{color:#333;font-size:16px;margin:0 0 5px}.form-subtitle{color:#666;font-size:14px;margin:0 0 20px}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:8px}.form-group input{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:12px;transition:border-color .3s ease;width:100%}.form-group input:focus{border-color:#667eea;outline:none}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.modules-list{display:flex;flex-direction:column;gap:12px;margin:20px 0;max-height:400px;overflow-y:auto}.module-item{border:1px solid #ddd;border-radius:8px;padding:15px;transition:all .3s ease}.module-item:hover{background:#f8f9ff;border-color:#667eea}.module-item label{align-items:flex-start;cursor:pointer;display:flex;gap:12px;margin:0}.module-item input[type=checkbox]{cursor:pointer;flex-shrink:0;height:18px;margin-top:4px;width:18px}.module-info{flex:1 1}.module-info strong{color:#333;display:block;margin-bottom:4px}.module-badge{background:#667eea;border-radius:4px;color:#fff;display:inline-block;font-size:11px;margin-left:8px;padding:2px 8px;text-transform:uppercase}.module-info p{color:#666;font-size:14px;margin:8px 0 0}.installation-wizard .warning,.wizard-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;margin-top:15px;padding:15px}.wizard-step.completion{text-align:center}.success-icon{align-items:center;background:#4caf50;border-radius:50%;color:#fff;display:flex;font-size:48px;height:80px;justify-content:center;margin:0 auto 20px;width:80px}.completion-summary{margin-top:30px;text-align:left}.completion-summary h3{color:#333;margin:20px 0 10px}.completion-summary ol,.completion-summary ul{padding-left:20px}.completion-summary li{color:#666;margin:8px 0}.next-steps{background:#f8f9fa;border-radius:8px;margin-top:20px;padding:20px}.error-message{background:#ffebee;border:1px solid #f44336;border-radius:8px;color:#c62828;margin-top:20px;padding:15px}.wizard-footer{background:#f8f9fa;border-top:1px solid #eee;display:flex;gap:10px;justify-content:space-between;padding:20px 30px}.btn-primary,.btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.btn-primary:disabled{background:#ccc;cursor:not-allowed}.btn-secondary{background:#fff;border:1px solid #667eea;color:#667eea}.btn-secondary:hover:not(:disabled){background:#f8f9ff}.btn-secondary:disabled{border-color:#ccc;color:#ccc;cursor:not-allowed}.license-validation{align-items:flex-start;animation:slideIn .3s ease;border-radius:8px;display:flex;gap:15px;margin-top:15px;padding:15px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.license-validation.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.license-validation.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.license-validation .validation-icon{flex-shrink:0;font-size:24px;font-weight:700}.license-validation.success .validation-icon{color:#28a745}.license-validation.error .validation-icon{color:#dc3545}.license-validation div{flex:1 1}.license-validation strong{display:block;margin-bottom:5px}.license-validation p{font-size:14px;margin:3px 0}.checkbox-label{align-items:center;color:#333;cursor:pointer;display:flex;font-size:14px;gap:10px}.checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}[data-theme=dark] .wizard-container,[data-theme=dark] .wizard-content{background-color:#1f2937}[data-theme=dark] .wizard-step h2{color:#e5e7eb}[data-theme=dark] .wizard-step>p{color:#9ca3af}[data-theme=dark] .check-item{background-color:#111827;border-color:#374151}[data-theme=dark] .check-item strong{color:#e5e7eb}[data-theme=dark] .check-item p{color:#9ca3af}[data-theme=dark] .step-info li{border-color:#374151;color:#9ca3af}[data-theme=dark] .db-credentials-form{background-color:#111827}[data-theme=dark] .form-intro{color:#e5e7eb}[data-theme=dark] .form-subtitle{color:#9ca3af}[data-theme=dark] .form-group label{color:#e5e7eb}[data-theme=dark] .form-group input{background-color:#1f2937;border-color:#374151;color:#e5e7eb}[data-theme=dark] .form-group input:focus{background-color:#1f2937;border-color:#667eea}[data-theme=dark] .form-group input:disabled{background-color:#111827}[data-theme=dark] .module-item{background-color:#1f2937;border-color:#374151}[data-theme=dark] .module-item:hover{background-color:#111827;border-color:#667eea}[data-theme=dark] .module-info strong{color:#e5e7eb}[data-theme=dark] .module-info p{color:#9ca3af}[data-theme=dark] .completion-summary h3{color:#e5e7eb}[data-theme=dark] .completion-summary li{color:#9ca3af}[data-theme=dark] .next-steps{background-color:#111827}[data-theme=dark] .wizard-footer{background-color:#111827;border-top-color:#374151}[data-theme=dark] .loading{color:#9ca3af}[data-theme=dark] .checkbox-label{color:#e5e7eb}
/*# sourceMappingURL=main.f596357a.css.map*/