@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--color-primary:#63419b;--color-primary-light:#7553ac;--color-secondary:#769b6f;--color-secondary-light:#8db186;--bg-color:#f4f6f8;--text-main:#333;--sidebar-bg:var(--color-primary);--sidebar-text:#e0e0e0;--sidebar-hover:var(--color-primary-light)}body,html{background-color:var(--bg-color);color:var(--text-main);height:100%;margin:0;padding:0;font-family:system-ui,-apple-system,sans-serif}#root{flex-direction:column;height:100%;display:flex}*{box-sizing:border-box}h1,h2,h3,h4,h5,h6{margin-top:0}.whatsapp-container{background-color:var(--bg-surface);border-radius:var(--border-radius-lg);height:calc(100vh - 150px);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);display:flex;position:relative;overflow:hidden}.whatsapp-sidebar{border-right:1px solid var(--border-color);background-color:var(--bg-body);flex-direction:column;width:35%;display:flex}.whatsapp-sidebar-header{border-bottom:1px solid var(--border-color);background-color:var(--bg-surface);justify-content:space-between;align-items:center;padding:16px;display:flex}.whatsapp-sidebar-header h2{color:var(--text-main);align-items:center;margin:0;font-size:1.1rem;display:flex}.status-dot{border-radius:50%;width:8px;height:8px;margin-left:8px;display:inline-block}.status-dot.connected{background-color:var(--color-success)}.status-dot.disconnected{background-color:var(--color-danger)}.whatsapp-chat-list{flex:1;overflow-y:auto}.whatsapp-chat-item{border-bottom:1px solid var(--border-color-light);cursor:pointer;align-items:center;gap:12px;padding:16px;transition:background-color .2s;display:flex}.whatsapp-chat-item:hover{background-color:var(--bg-body-hover,#f5f5f5)}.whatsapp-chat-item.active{background-color:var(--color-primary-light,#e3f2fd);border-left:4px solid var(--color-primary)}.chat-avatar{background-color:var(--border-color-strong);width:40px;height:40px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;display:flex}.chat-info{flex:1;min-width:0}.chat-phone{color:var(--text-main);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.92rem;font-weight:600;line-height:1.25;overflow:hidden}.chat-last-msg{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.8rem;overflow:hidden}.whatsapp-main{background-color:var(--bg-body);flex-direction:column;flex:1;display:flex}.whatsapp-main-header{background-color:var(--bg-surface);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);z-index:10;justify-content:space-between;align-items:center;padding:16px;display:flex}.whatsapp-main-header h3{color:var(--text-main);margin:0}.btn-resolve{background-color:var(--color-success-light,#e8f5e9);color:var(--color-success,#2e7d32);border-radius:var(--border-radius-sm);cursor:pointer;border:1px solid #0000;padding:6px 12px;font-size:.85rem;font-weight:600;transition:all .2s}.btn-resolve:hover{background-color:var(--color-success,#2e7d32);color:#fff}.whatsapp-messages{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex;overflow-y:auto}.message-row{width:100%;display:flex}.message-row.mine{justify-content:flex-end}.message-row.theirs{justify-content:flex-start}.message-bubble{max-width:70%;box-shadow:var(--shadow-sm);border-radius:12px;padding:10px 14px;font-size:.95rem;position:relative}.message-bubble.mine{background-color:var(--color-primary);color:#fff;border-top-right-radius:2px}.message-bubble.theirs{background-color:var(--bg-surface);color:var(--text-main);border:1px solid var(--border-color);border-top-left-radius:2px}.message-bubble p{white-space:pre-wrap;word-break:break-word;margin:0}.message-time{text-align:right;opacity:.8;margin-top:4px;font-size:.7rem}.whatsapp-input-area{background-color:var(--bg-surface);border-top:1px solid var(--border-color);padding:16px}.whatsapp-input-form{gap:12px;display:flex}.whatsapp-input-form input{border:1px solid var(--border-color-strong);border-radius:24px;outline:none;flex:1;padding:10px 16px;font-size:.95rem;transition:border-color .2s}.whatsapp-input-form input:focus{border-color:var(--color-primary)}.whatsapp-input-form button{background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;transition:opacity .2s;display:flex}.whatsapp-input-form button:disabled{opacity:.5;cursor:not-allowed}.whatsapp-empty-state{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.whatsapp-fab{background-color:var(--color-primary);color:#fff;cursor:pointer;z-index:1000;border:none;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;transition:transform .2s,background-color .2s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 12px #0003}.whatsapp-fab:hover{background-color:var(--color-primary-dark,#1565c0);transform:scale(1.05)}.whatsapp-badge{background-color:var(--color-danger,#ef4444);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:0;right:0;box-shadow:0 2px 4px #0003}.whatsapp-drawer-overlay{z-index:1001;opacity:0;visibility:hidden;pointer-events:none;background-color:#0000001f;transition:opacity .3s;position:fixed;inset:0}.whatsapp-drawer-overlay.open{opacity:1;visibility:visible}.whatsapp-drawer{background-color:var(--bg-surface);z-index:1002;flex-direction:column;width:400px;max-width:90vw;height:100vh;transition:right .3s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;top:0;right:-450px;box-shadow:-4px 0 24px #00000026}.whatsapp-drawer.full-page{width:100%;max-width:100%;height:calc(100vh - 220px);min-height:560px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);z-index:1;position:relative;right:0;overflow:hidden}.whatsapp-container.full-layout{height:100%}.whatsapp-container.full-layout .whatsapp-sidebar{width:380px;min-width:380px}.whatsapp-container.full-layout .whatsapp-main{min-width:0}.whatsapp-drawer.drawer-mode .whatsapp-sidebar.hidden,.whatsapp-drawer.drawer-mode .whatsapp-main.hidden{display:none}.whatsapp-drawer.open{right:0}.whatsapp-drawer-topbar{background-color:var(--color-primary);color:#fff;justify-content:space-between;align-items:center;padding:16px;display:flex}.whatsapp-drawer-topbar .btn-icon{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;display:flex}.whatsapp-drawer-topbar .btn-icon:hover{background:#fff3}.whatsapp-connection-banner{color:#8a6116;background:#fff4db;border-bottom:1px solid #f1d494;padding:10px 16px;font-size:.86rem;font-weight:600}.whatsapp-connection-banner.is-error{color:#9b1c1c;background:#fde8e8;border-bottom-color:#f4b4b4}.whatsapp-drawer.drawer-mode .whatsapp-container{height:calc(100vh - 60px);box-shadow:none;border:none;border-radius:0}@media (width<=768px){.whatsapp-drawer-overlay{pointer-events:auto;background-color:#00000059}.whatsapp-drawer{width:100vw;right:-100vw}.whatsapp-drawer.full-page{border-radius:var(--border-radius-md);height:calc(100vh - 190px);min-height:460px}.whatsapp-container.full-layout .whatsapp-sidebar{width:100%;min-width:0}.whatsapp-drawer.drawer-mode .whatsapp-sidebar{width:100%}.whatsapp-drawer.drawer-mode .whatsapp-main{z-index:20;position:absolute;inset:0}.whatsapp-drawer.drawer-mode .whatsapp-main.hidden,.whatsapp-drawer.drawer-mode .whatsapp-sidebar.hidden{display:none}}.public-layout{background-color:var(--bg-body);background-image:radial-gradient(circle at top right, var(--color-primary-light), transparent 30%), radial-gradient(circle at bottom left, var(--color-secondary-light), transparent 30%);flex-direction:column;height:100vh;display:flex;position:relative;overflow-y:auto}.public-layout-content{flex:1;padding:40px 24px;display:flex}.public-layout-card{background:var(--bg-surface);border-radius:12px;flex-direction:column;width:100%;max-width:520px;margin:auto;padding:40px;animation:.4s ease-out forwards slideUpFade;display:flex;box-shadow:0 10px 30px #0000000d}.public-layout-header{text-align:center;margin-bottom:32px}.public-layout-logo{object-fit:contain;max-width:100%;height:auto;max-height:80px;margin-bottom:24px}.public-layout-title{color:var(--text-main);margin:0 0 8px;font-size:24px;font-weight:700}.public-layout-subtitle{color:var(--text-muted);margin:0;font-size:14px}.public-layout-footer{text-align:center;color:var(--text-muted);width:100%;padding:20px;font-size:14px}.public-layout-footer a{color:var(--color-primary);font-weight:700;text-decoration:none}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=600px){.public-layout-content{padding:20px 16px}.public-layout-card{border-radius:8px;margin-top:40px;padding:24px 20px}}.login-page{height:100vh;font-family:var(--font-sans);background-color:var(--bg-body);grid-template-columns:1fr 1fr;display:grid}.login-branding{background:linear-gradient(145deg, var(--color-primary) 0%, #3f256a 50%, #311b55 100%);color:var(--text-inverse);text-align:center;justify-content:center;align-items:center;padding:40px;display:flex;position:relative;overflow:hidden}.login-branding:before{content:"";pointer-events:none;background:#ffffff0a;border-radius:50%;width:400px;height:400px;position:absolute;top:-80px;right:-80px}.login-branding:after{content:"";pointer-events:none;background:#ffffff0a;border-radius:50%;width:300px;height:300px;position:absolute;bottom:-60px;left:-60px}.login-logo{z-index:1;position:relative}.login-logo-icon{background:#ffffff1f;border:2px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 24px;display:flex}.login-logo h2{letter-spacing:-.5px;margin:0 0 12px;font-size:2.2rem;font-weight:800}.login-logo p{opacity:.75;max-width:280px;margin:0;font-size:1rem;line-height:1.6}.login-features{flex-direction:column;gap:12px;margin-top:36px;display:flex}.login-feature-item{opacity:.8;align-items:center;gap:10px;font-size:.875rem;display:flex}.login-form-container{background-color:var(--bg-surface);justify-content:center;align-items:center;padding:40px;display:flex}.login-form-wrapper{width:100%;max-width:400px;animation:.4s cubic-bezier(.16,1,.3,1) both slideUpFade}.login-form-wrapper h1,.login-form-wrapper h2{text-align:center;color:var(--text-main);letter-spacing:-.5px;margin:0 0 8px;font-size:1.75rem;font-weight:800}.login-subtitle{text-align:center;color:var(--text-muted);font-size:var(--font-size-sm);margin:0 0 28px}.login-form{flex-direction:column;gap:18px;display:flex}.input-group{flex-direction:column;gap:6px;display:flex}.input-group label{color:var(--text-main);font-weight:600;font-size:var(--font-size-sm)}.input-group input{border:1.5px solid var(--border-color);border-radius:var(--border-radius-md);width:100%;font-size:var(--font-size-md);font-family:var(--font-sans);background-color:var(--bg-surface-2);color:var(--text-main);transition:border-color var(--transition-base), box-shadow var(--transition-base);box-sizing:border-box;outline:none;padding:12px 14px}.input-group input::placeholder{color:var(--text-subtle)}.input-group input:focus{border-color:var(--color-primary);background-color:var(--bg-surface);box-shadow:0 0 0 3px var(--color-primary-subtle)}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{padding-right:40px}.password-toggle-button{color:var(--text-subtle);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;right:12px}.password-toggle-button:hover{color:var(--text-main)}.login-button{background-color:var(--color-secondary);color:var(--text-inverse);border-radius:var(--border-radius-md);cursor:pointer;font-size:var(--font-size-md);font-weight:700;font-family:var(--font-sans);transition:background-color var(--transition-base), transform var(--transition-fast);border:none;margin-top:4px;padding:13px;position:relative}.login-button:hover:not(:disabled){background-color:var(--color-secondary-light);transform:translateY(-1px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.65;cursor:not-allowed;transform:none}.login-error{background-color:var(--bg-error);color:var(--text-error);border:1px solid var(--border-error);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);margin-bottom:16px;padding:12px 14px;font-weight:500}.login-success{background-color:var(--bg-success);color:var(--text-success);border:1px solid var(--border-success);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);margin-bottom:16px;padding:12px 14px;font-weight:500}.forgot-password-link,.back-to-login{text-align:center;margin-top:16px}.forgot-password-link a,.back-to-login a{color:var(--color-primary);font-weight:500;font-size:var(--font-size-sm);transition:color var(--transition-base);text-decoration:none}.forgot-password-link a:hover,.back-to-login a:hover{color:var(--color-primary-light);text-decoration:underline}@media (width<=768px){.login-page{grid-template-columns:1fr}.login-branding{display:none}.login-form-container{padding:24px 20px}}.global-search-container{border:1px solid var(--border-color,#e2e8f0);background-color:#fff;border-radius:9999px;align-items:center;width:100%;max-width:400px;padding:6px 12px;transition:all .3s;display:flex;box-shadow:0 1px 2px #0000000d}.global-search-container:focus-within{border-color:var(--color-primary,#3b82f6);box-shadow:0 0 0 3px #3b82f626}.global-search-icon{color:#94a3b8;flex-shrink:0;margin-right:10px}.global-search-input{color:var(--text-main,#334155);flex-grow:1;font-size:.95rem;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important;margin:0!important;padding:0!important}.global-search-input::placeholder{color:#94a3b8}.global-search-clear{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:8px;padding:4px;transition:all .2s;display:flex}.global-search-clear:hover{color:#ef4444;background-color:#fee2e2}:root{--color-primary:#57358d;--color-primary-light:#744fb0;--color-primary-subtle:#f3effb;--color-secondary:#378156;--color-secondary-light:#4c9e6e;--color-secondary-subtle:#e8f7ee;--color-accent:#f98c10;--color-accent-subtle:#fff1e0;--bg-body:#f3f4f7;--bg-surface:#fff;--bg-surface-2:#f9fafb;--bg-hover:#eeeff2;--bg-sidebar:var(--color-primary);--text-main:#1d212b;--text-muted:#677183;--text-subtle:#9aa0ac;--text-inverse:#fff;--text-on-primary:#fff;--color-success:#298e53;--bg-success:#e7f8ee;--border-success:#b0ddc3;--text-success:#206f41;--color-error:#db2424;--bg-error:#fceded;--border-error:#edb6b6;--text-error:#af1d1d;--color-warning:#db7706;--bg-warning:#fff1e0;--border-warning:#f6c58e;--text-warning:#955104;--color-info:#127ae2;--bg-info:#e7f2fd;--border-info:#a0c7ee;--text-info:#0d59a5;--border-color:#dcdfe5;--border-color-strong:#acb4c3;--border-radius-xs:3px;--border-radius-sm:6px;--border-radius-md:10px;--border-radius-lg:14px;--border-radius-xl:20px;--border-radius-full:9999px;--shadow-xs:0 1px 2px 0 #14181f0d;--shadow-sm:0 1px 3px 0 #14181f14, 0 1px 2px -1px #14181f0f;--shadow-md:0 4px 8px -2px #14181f1a, 0 2px 4px -2px #14181f0f;--shadow-lg:0 12px 24px -6px #14181f1f, 0 4px 8px -4px #14181f14;--shadow-xl:0 24px 48px -12px #14181f2e;--box-shadow-sm:var(--shadow-sm);--box-shadow-md:var(--shadow-md);--box-shadow-lg:var(--shadow-lg);--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--transition-fast:.12s ease;--transition-base:.2s ease;--transition-slow:.35s ease;--sidebar-width:260px;--header-height:64px}html.dark{--bg-body:#14181f;--bg-surface:#1f242d;--bg-surface-2:#272b35;--bg-hover:#2f3541;--text-main:#e8eaee;--text-muted:#8790a1;--text-subtle:#5c6370;--border-color:#353a46;--border-color-strong:#4f5869;--shadow-sm:0 1px 3px 0 #00000040;--shadow-md:0 4px 8px -2px #00000059;--shadow-lg:0 12px 24px -6px #00000073;--bg-success:#174f2e4d;--bg-error:#8415154d;--bg-warning:#6336034d;--bg-info:#08335e4d}*,:before,:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--text-main);background-color:var(--bg-body);margin:0;line-height:1.6}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color-strong);border-radius:var(--border-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-light)}*{scrollbar-width:thin;scrollbar-color:var(--border-color-strong) transparent}.app-layout{background-color:var(--bg-body);width:100vw;height:100vh;display:flex;overflow:hidden}.content-wrapper{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.main-content{background-color:var(--bg-body);flex:1;padding:28px 32px;overflow-y:auto}.app-header{height:var(--header-height);background-color:var(--bg-surface);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 28px;display:flex}.header-breadcrumb{font-size:var(--font-size-sm);color:var(--text-muted);align-items:center;gap:6px;display:flex}.header-breadcrumb .current{color:var(--text-main);font-weight:600}.welcome-text{color:var(--text-muted);font-size:var(--font-size-sm);white-space:nowrap;text-overflow:ellipsis;max-width:150px;overflow:hidden}.welcome-text strong{color:var(--text-main);font-weight:600}.header-user-info{align-items:center;gap:12px;display:flex}.header-avatar{background-color:var(--color-primary-subtle);width:32px;height:32px;color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.language-selector{border-radius:var(--border-radius-sm);border:1px solid var(--border-color);background-color:var(--bg-surface-2);color:var(--text-main);font-size:var(--font-size-sm);font-family:var(--font-sans);cursor:pointer;transition:border-color var(--transition-base);outline:none;padding:6px 10px}.language-selector:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}.mobile-lang{display:none}.sidebar{width:var(--sidebar-width);background:linear-gradient(180deg, var(--color-primary) 0%, #3f256a 100%);color:var(--text-inverse);transition:transform var(--transition-slow);z-index:100;flex-direction:column;flex-shrink:0;display:flex;box-shadow:2px 0 16px #170e2533}.bottom-nav{background-color:var(--bg-surface);border-top:1px solid var(--border-color);z-index:50;padding-bottom:env(safe-area-inset-bottom);display:none;box-shadow:0 -2px 10px #0000000d}.bottom-nav-item{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 0;text-decoration:none;transition:color .2s;display:flex}.bottom-nav-item.active{color:var(--color-primary)}.bottom-nav-icon{margin-bottom:2px}.bottom-nav-label{text-align:center;font-size:.65rem;font-weight:600}.sidebar-branding{text-align:center;border-bottom:1px solid #ffffff1a;flex-direction:column;align-items:center;gap:10px;padding:28px 16px 20px;display:flex}.sidebar-logo-container{border-radius:var(--border-radius-full);background:#ffffff1f;border:2px solid #fff3;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.sidebar-logo{object-fit:contain;border-radius:50%;width:70px;height:70px;display:block}.sidebar-branding-text{flex-direction:column;align-items:center;gap:4px;display:flex}.sidebar-branding span{font-weight:700;font-size:var(--font-size-md);letter-spacing:.5px;color:var(--text-inverse);line-height:1.2}.sidebar-role{font-size:var(--font-size-xs);color:#ffffffb3;text-transform:uppercase;letter-spacing:1.2px;font-weight:600}.sidebar-avatar{border-radius:var(--border-radius-full);width:56px;height:56px;font-size:var(--font-size-lg);color:var(--text-inverse);letter-spacing:.5px;background:#ffffff26;border:2px solid #ffffff40;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.sidebar-user-email{font-size:var(--font-size-xs);color:#ffffff8c;text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 0;display:flex;overflow-y:auto}.sidebar-section-label{font-size:var(--font-size-xs);letter-spacing:1px;text-transform:uppercase;color:#ffffff73;margin-top:4px;padding:16px 20px 6px;font-weight:600}.nav-item{color:#fffc;font-weight:500;font-size:var(--font-size-sm);transition:all var(--transition-base);border-radius:var(--border-radius-md);align-items:center;gap:12px;margin:0 8px;padding:10px 16px;text-decoration:none;display:flex;position:relative}.nav-item:hover{color:var(--text-inverse);background:#ffffff1a}.nav-item.active{color:var(--text-inverse);background:#ffffff26;font-weight:600}.nav-item.active:before{content:"";background:#70db9d;border-radius:0 2px 2px 0;width:4px;height:60%;position:absolute;top:50%;left:-8px;transform:translateY(-50%)}.nav-item-icon{opacity:.85;flex-shrink:0;width:18px;height:18px}.nav-item.active .nav-item-icon,.nav-item:hover .nav-item-icon{opacity:1}.icon-svg{flex-shrink:0;width:18px;height:18px;margin-right:0}.accordion-header{text-align:left;cursor:pointer;background:0 0;border:none;outline:none;width:calc(100% - 16px);font-family:inherit}.accordion-header span{flex:1}.accordion-icon{opacity:.6;margin-left:auto;transition:transform .2s}.accordion-body{flex-direction:column;gap:2px;margin-top:2px;padding-left:12px;display:flex}.sidebar-footer{border-top:1px solid #ffffff1a;padding:12px}.btn-logout{color:#fffc;border-radius:var(--border-radius-md);cursor:pointer;width:100%;font-weight:500;font-size:var(--font-size-sm);font-family:var(--font-sans);transition:all var(--transition-base);background:#ffffff14;border:1px solid #ffffff1f;justify-content:center;align-items:center;gap:8px;padding:10px 14px;display:flex}.btn-logout:hover{color:var(--text-inverse);background:#db242440;border-color:#db242459}.btn-logout .icon-svg{margin-right:0}.page-container{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-md);padding:20px}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.page-header h2{color:var(--text-main);margin:0}.header-actions{flex-direction:column;align-items:flex-end;gap:12px;display:flex}@media (width<=768px){.page-header{flex-direction:column;align-items:stretch}.header-actions{flex-direction:column;align-items:stretch;margin-top:16px}}.subtitle{color:var(--text-muted);margin-top:5px;font-size:.9rem}.btn-primary{background-color:var(--color-secondary);color:var(--text-inverse);border-radius:var(--border-radius-sm);cursor:pointer;border:none;padding:10px 16px;font-weight:600;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:var(--color-secondary-light)}.btn-primary:disabled,.btn-secondary:disabled,.btn-icon:disabled,button:disabled{opacity:.5;cursor:not-allowed;pointer-events:auto}.btn-secondary{background-color:var(--border-color);color:var(--text-main);border-radius:var(--border-radius-sm);cursor:pointer;border:none;padding:10px 16px;font-weight:600;transition:background-color .2s}.btn-secondary:hover{background-color:#d1d5db}.btn-icon{cursor:pointer;border-radius:var(--border-radius-sm);color:var(--color-primary);background:0 0;border:1px solid #0000;padding:6px 10px;font-weight:500;transition:all .2s}.btn-icon:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--border-color)}.btn-icon.delete{color:var(--color-error)}.btn-icon.delete:hover{background-color:var(--bg-error);border-color:var(--border-error)}.alert{border-radius:var(--border-radius-sm);border:1px solid #0000;margin-bottom:15px;padding:12px;font-size:.9rem}.alert.error,.alert-error{background-color:var(--bg-error);color:var(--color-error);border-color:var(--border-error)}.alert.success,.alert-success{background-color:var(--bg-success);color:var(--color-success);border-color:var(--border-success)}.table-container{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;border:1px solid var(--border-color);border-radius:var(--border-radius-md);width:100%;overflow:hidden}.data-table th,.data-table td{border-bottom:1px solid var(--border-color);padding:12px 15px}.data-table th{background-color:var(--color-secondary-light);color:var(--text-main);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:.85rem;font-weight:700}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background-color:var(--bg-hover)}@keyframes spin{to{transform:rotate(360deg)}}.loader,.loading-state{color:var(--text-muted);font-size:var(--font-size-sm);justify-content:center;align-items:center;gap:12px;padding:40px;display:flex}.loader:before,.loading-state:before{content:"";border:2px solid var(--border-color);border-top-color:var(--color-primary);border-radius:50%;flex-shrink:0;width:20px;height:20px;animation:.7s linear infinite spin}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg, var(--bg-hover) 25%, var(--border-color) 50%, var(--bg-hover) 75%);border-radius:var(--border-radius-sm);background-size:800px 100%;animation:1.4s linear infinite shimmer}.skeleton-text{border-radius:var(--border-radius-full);height:14px;margin-bottom:8px}.skeleton-text.wide{width:80%}.skeleton-text.medium{width:55%}.skeleton-text.short{width:30%}.empty-state{text-align:center;color:var(--text-muted);padding:56px 20px}.empty-state-icon{opacity:.4;width:48px;height:48px;margin:0 auto 16px}.empty-state p{font-size:var(--font-size-sm);margin:0}.app-loading{height:100vh;font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--text-muted);background:var(--bg-body);justify-content:center;align-items:center;gap:12px;display:flex}.app-loading:before{content:"";border:2px solid var(--border-color);border-top-color:var(--color-primary);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite spin}.actions-cell{gap:8px;display:flex}.badge-status{border-radius:var(--border-radius-full);font-size:var(--font-size-xs);white-space:nowrap;align-items:center;gap:4px;padding:3px 10px;font-weight:600;line-height:1.4;display:inline-flex}.badge-status.active{background:var(--bg-success);color:var(--text-success)}.badge-status.inactive{background:var(--bg-hover);color:var(--text-muted)}.badge-status.completed{background:var(--bg-success);color:var(--text-success)}.badge-status.half{background:var(--bg-warning);color:var(--text-warning)}.badge-status.error{background:var(--bg-error);color:var(--text-error)}.badge-status.info,.badge-status.scheduled{background:var(--bg-info);color:var(--text-info)}.badge-status.in-progress{background:var(--bg-warning);color:var(--text-warning)}.badge-status.done{background:var(--bg-success);color:var(--text-success)}.badge-status.cancelled{background:var(--bg-error);color:var(--text-error)}.badge-role,.badge-info{border-radius:var(--border-radius-full);font-size:var(--font-size-xs);background:var(--color-primary-subtle);color:var(--color-primary);align-items:center;padding:3px 10px;font-weight:600;display:inline-flex}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1050;background-color:#00000080;padding:40px 20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:var(--bg-surface);border-radius:var(--border-radius-md);width:100%;max-width:600px;box-shadow:var(--box-shadow-md);flex-direction:column;margin:auto;display:flex}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.modal-header h3{color:var(--color-primary);margin:0;font-size:1.25rem}.close-btn-modal{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:1.25rem}.close-btn-modal:hover{color:var(--text-main)}.modal-body{padding:20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-color);background-color:var(--bg-hover);border-bottom-left-radius:var(--border-radius-md);border-bottom-right-radius:var(--border-radius-md);justify-content:flex-end;gap:10px;margin-top:0;padding:15px 20px;display:flex}.dashboard-container{flex-direction:column;gap:20px;display:flex}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:30px;display:grid}.dashboard-section{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-md);margin-bottom:20px;padding:24px;transition:transform .2s,box-shadow .2s}.dashboard-section:hover{box-shadow:var(--box-shadow-lg);transform:translateY(-2px)}.dashboard-section h3{color:var(--color-primary);border-bottom:2px solid var(--bg-body);margin-top:0;margin-bottom:20px;padding-bottom:12px;font-size:1.15rem}.chart-container{width:100%;min-width:0;height:300px;position:relative}.quick-actions{flex-wrap:wrap;gap:15px;display:flex}.quick-actions a{text-decoration:none}.board-columns-container{gap:20px;min-height:65vh;padding-bottom:10px;display:flex}.board-column{background-color:var(--bg-surface);border-radius:var(--border-radius-lg);min-width:320px;box-shadow:var(--box-shadow-md);flex-direction:column;flex:1;gap:15px;padding:20px;display:flex}.agenda-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.agenda-item{background-color:var(--bg-body);border-radius:var(--border-radius-md);border-left:4px solid var(--color-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.agenda-item:hover{box-shadow:var(--box-shadow-md);background-color:var(--bg-hover);transform:translate(4px)}.agenda-item .time{color:var(--text-main);min-width:80px;font-size:1.1rem;font-weight:700}.agenda-item-info{flex-direction:column;flex:1;gap:4px;min-width:120px;display:flex}.agenda-item .actions-cell{justify-content:center;width:100%;display:flex}.agenda-item .patient-name{color:var(--color-primary);font-size:1.05rem;font-weight:600}.agenda-item .visit-type{color:var(--text-muted);font-size:.85rem}.agenda-item a,.agenda-item button{background-color:var(--color-primary);color:var(--text-inverse);border-radius:var(--border-radius-sm);padding:8px 16px;font-size:.9rem;font-weight:500;text-decoration:none;transition:background-color .2s}.agenda-item a:hover,.agenda-item button:hover{background-color:var(--color-primary-light)}.btn-card-action{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.btn-card-action .icon{transition:transform .2s}.btn-card-action.start{background:var(--color-primary);color:#fff}.btn-card-action.resume{color:#fff;background:#f59e0b}.btn-card-action.outline{border:1px solid var(--border-color);color:var(--text-muted);background:0 0}.btn-card-action:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 15px #0000001a}.btn-card-action.outline:hover:not(:disabled){background:var(--bg-hover);color:var(--text-main)}.btn-card-action:disabled{opacity:.7;cursor:not-allowed;box-shadow:none;transform:none}.section-title{color:var(--color-primary);border-bottom:2px solid var(--bg-body);margin-top:10px;margin-bottom:15px;padding-bottom:8px;font-size:1.1rem;font-weight:600}.form-group{margin-bottom:18px}.form-group label{color:var(--text-main);margin-bottom:6px;font-size:.9rem;font-weight:600;display:block}.form-group input,.form-group select{border:1px solid var(--border-color);border-radius:var(--border-radius-md);background-color:var(--bg-surface);width:100%;color:var(--text-main);padding:12px 14px;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-group input::placeholder{color:var(--text-muted);opacity:.7}.form-group input:focus,.form-group select:focus{border-color:var(--color-secondary);box-shadow:0 0 0 3px var(--border-success);outline:none}.form-group input:disabled,.form-group select:disabled{background-color:var(--bg-body);color:var(--text-muted);cursor:not-allowed}.form-group input.input-error,.form-group select.input-error{border-color:var(--color-error)}.checkbox-group{background-color:var(--bg-body);border-radius:var(--border-radius-md);align-items:center;gap:10px;padding:10px 14px;transition:background-color .2s;display:flex}.checkbox-group:hover{background-color:var(--border-color)}.checkbox-group label{cursor:pointer;color:var(--text-main);-webkit-user-select:none;user-select:none;margin-bottom:0;font-weight:500}.checkbox-group input{cursor:pointer;width:18px;height:18px;accent-color:var(--color-primary)}.form-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.with-tooltip{cursor:help;align-items:center;display:inline-flex;position:relative}.with-tooltip:after{content:attr(data-tooltip);background-color:var(--text-main);color:var(--bg-surface);border-radius:var(--border-radius-sm);white-space:normal;text-align:center;z-index:9999;opacity:0;visibility:hidden;pointer-events:none;width:max-content;max-width:250px;box-shadow:var(--box-shadow-sm);margin-bottom:8px;padding:8px 12px;font-size:.75rem;font-weight:500;transition:all .2s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(0)}.with-tooltip:before{content:"";border-style:solid;border-width:5px;border-color:var(--text-main) transparent transparent transparent;opacity:0;visibility:hidden;z-index:100;pointer-events:none;margin-bottom:-2px;transition:all .2s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.with-tooltip:hover:after,.with-tooltip:hover:before{opacity:1;visibility:visible;transform:translate(-50%)translateY(-4px)}.help-icon{background-color:var(--border-color);width:16px;height:16px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;margin-left:6px;font-size:.7rem;font-weight:700;transition:background-color .2s,color .2s;display:inline-flex}.with-tooltip:hover .help-icon{background-color:var(--color-primary);color:var(--text-inverse)}@media (width<=768px){.sidebar{display:none!important}.bottom-nav{flex-shrink:0;justify-content:space-around;width:100%;display:flex}.main-content{padding:16px 16px 24px}.app-header{padding:0 16px}.app-header .welcome-text{display:none}.desktop-only,.desktop-lang{display:none!important}.mobile-lang{padding:6px 4px;font-size:1.2rem;display:inline-block}.btn-primary,.btn-secondary,.btn-icon,.btn-card-action,input,select{min-height:44px}.page-header{flex-direction:column;gap:15px}.btn-primary{width:100%}.form-row{grid-template-columns:1fr}.board-columns-container{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding-bottom:20px;overflow-x:auto}.board-column{scroll-snap-align:center;min-width:85vw}.modal-overlay{align-items:flex-end;padding:0}.data-table,.data-table tbody,.data-table tr,.data-table td{width:100%;display:block}.data-table thead{display:none}.data-table tr{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:var(--box-shadow-sm);margin-bottom:16px;padding:12px}.data-table td{border:none;border-bottom:1px solid var(--bg-hover);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.data-table td:last-child{border-bottom:none}.data-table td:before{content:attr(data-label);color:var(--text-muted);text-transform:uppercase;flex-shrink:0;padding-right:12px;font-size:.8rem;font-weight:600}.data-table td>*{text-align:right}.data-table td .actions-cell{justify-content:flex-end;width:100%}.modal-content{border-radius:24px 24px 0 0;max-height:95vh;margin:0;animation:.3s cubic-bezier(.16,1,.3,1) forwards slideUp}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.menu-tree-node-wrapper{flex-direction:column;gap:4px;display:flex}.menu-tree-node{background-color:var(--bg-body);border:1px solid var(--border-color);border-radius:var(--border-radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:flex}.menu-tree-node:hover{border-color:var(--color-primary)}.menu-tree-node.inactive{opacity:.6;background-color:var(--bg-surface)}.menu-node-info{flex:1;align-items:center;gap:12px;min-width:200px;display:flex}.menu-node-info .node-icon{color:var(--text-muted)}.menu-node-info .node-details{flex-direction:column;display:flex}.menu-node-info .node-title{color:var(--text-main);font-weight:600}.menu-node-info .node-meta{color:var(--text-muted);font-size:.8rem}.menu-node-actions{flex-wrap:wrap;gap:8px;display:flex}.menu-tree-children{flex-direction:column;gap:4px;display:flex}.tabs{border-bottom:2px solid var(--border-color);gap:8px;margin-bottom:24px;display:flex}.tab-btn{font-size:var(--font-size-md);color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;margin-bottom:-2px;padding:12px 24px;font-weight:600;transition:all .2s}.tab-btn:hover{color:var(--color-primary);background-color:var(--bg-hover)}.tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}
