:root{--color-primary:#05a;--color-primary-hover:#048;--color-primary-light:#e8f0fe;--color-primary-dark:#036;--color-secondary:#6c757d;--color-secondary-light:#f0f0f0;--color-success:#28a745;--color-success-light:#d4edda;--color-warning:#ffc107;--color-warning-light:#fff3cd;--color-danger:#dc3545;--color-danger-light:#f8d7da;--color-info:#17a2b8;--color-info-light:#d1ecf1;--color-bg:#f5f5f5;--color-bg-secondary:#fafafa;--color-surface:#fff;--color-surface-hover:#f8f9fa;--color-text:#1a1a1a;--color-text-secondary:#4d4d4d;--color-text-tertiary:#707070;--color-text-inverse:#fff;--color-border:#e0e0e0;--color-border-light:#f0f0f0;--color-overlay:#00000080;--color-danger-hover:#c82333;--color-studeo-btn:#135bec;--color-studeo-btn-border:#fff;--color-warning-text:#856404;--color-chat-bg-whatsapp:#e5ddd5;--color-chat-bubble-sent:#d9fdd3;--color-chat-bubble-sent-text:#111b21;--color-chat-meta-gray:#54656f;--color-onboarding-finish-hover:#218838;--sidebar-width:260px;--sidebar-collapsed-width:72px;--bottom-nav-height:64px;--header-height:56px;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--safe-area-right:env(safe-area-inset-right,0px);--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs:clamp(.69rem, .14vw + .65rem, .75rem);--font-size-sm:clamp(.83rem, .17vw + .79rem, .88rem);--font-size-md:clamp(1rem, .2vw + .95rem, 1.06rem);--font-size-lg:clamp(1.13rem, .23vw + 1.07rem, 1.19rem);--font-size-xl:clamp(1.25rem, .33vw + 1.17rem, 1.38rem);--font-size-2xl:clamp(1.5rem, .5vw + 1.38rem, 1.75rem);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.7;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 24px #0000001f;--shadow-xl:0 16px 48px #00000026;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.35s ease;--chat-max-width:720px;--container-max-width:1200px}[data-theme=dark]{--color-bg:#121212;--color-bg-secondary:#1a1a1a;--color-surface:#1e1e1e;--color-surface-hover:#2a2a2a;--color-text:#e0e0e0;--color-text-secondary:#aaa;--color-text-tertiary:#a0a0a0;--color-text-inverse:#000;--color-border:#333;--color-border-light:#2a2a2a;--color-overlay:#000000b3;--color-secondary-light:#2a2a2a;--color-primary-light:#1a2a3a;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 24px #00000080;--color-danger-hover:#bd2130;--color-studeo-btn:#2563eb;--color-studeo-btn-border:#1a1a1a;--color-warning-text:#d39e00;--color-chat-bg-whatsapp:#0b141a;--color-chat-bubble-sent:#005c4b;--color-chat-bubble-sent-text:#e9edef;--color-chat-meta-gray:#aebac1;--color-onboarding-finish-hover:#1e7e34}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;width:100%;font-size:16px;overflow-x:clip}body{font-family:var(--font-family);font-size:var(--font-size-md);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;width:100%;overflow-x:clip}#root{flex-direction:column;min-height:100dvh;display:flex}a{color:var(--color-primary);text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.scrollbar-thin::-webkit-scrollbar{width:6px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:var(--radius-full)}@media (width>=1024px){body{background-color:var(--color-bg)}}.aluno-layout{width:100%;min-height:100dvh;padding-top:var(--safe-area-top);max-width:100vw;display:flex;overflow-x:clip}.aluno-main{min-width:0;min-height:100dvh;padding-bottom:calc(var(--bottom-nav-height) + var(--safe-area-bottom) + 12px);flex-direction:column;flex:1;max-width:100%;margin-left:0;display:flex;overflow-x:clip}.aluno-main--no-bottom-nav{flex:1;width:100%;min-width:0;max-width:100%;height:100dvh;min-height:100dvh;padding-bottom:0;overflow:hidden}.aluno-content{min-height:0;padding:var(--space-md);max-width:var(--container-max-width);flex:1;width:100%;margin:0 auto}.aluno-content--chat{flex-direction:column;flex:1;width:100%;max-width:none;min-height:0;padding:0;display:flex;overflow:hidden}.aluno-main--no-bottom-nav .aluno-content--chat{height:100%}@media (width>=1024px){.aluno-main{margin-left:var(--sidebar-width);padding-bottom:var(--safe-area-bottom);width:calc(100vw - var(--sidebar-width));max-width:calc(100vw - var(--sidebar-width))}.aluno-content:not(.aluno-content--chat){padding:var(--space-lg)}.aluno-content--chat{max-width:none;height:100%;margin:0;padding:0}}@media (width>=768px) and (width<=1023px){.aluno-content:not(.aluno-content--chat){padding:var(--space-lg)}}.fade-in{animation:fadeIn var(--transition-normal) ease forwards}.slide-up{animation:slideUp var(--transition-normal) ease forwards}.btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);cursor:pointer;white-space:nowrap;border:none;display:inline-flex;position:relative}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{height:32px;padding:0 var(--space-md);font-size:var(--font-size-sm)}.btn-md{height:40px;padding:0 var(--space-lg);font-size:var(--font-size-md)}.btn-lg{height:48px;padding:0 var(--space-xl);font-size:var(--font-size-lg)}.btn-full{width:100%}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-secondary-light);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-border-light)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-secondary-light)}.btn-danger{background:var(--color-danger);color:var(--color-text-inverse)}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn-loading{pointer-events:none}.btn-spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn-icon{border-radius:var(--radius-full);width:40px;height:40px;color:var(--color-text-secondary);font-size:var(--font-size-lg);transition:background var(--transition-fast);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.btn-icon:hover{background:var(--color-secondary-light)}.btn-icon-inner{color:inherit;justify-content:center;align-items:center;font-size:1.15em;display:inline-flex}.input-group{gap:var(--space-xs);flex-direction:column;display:flex}.input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.input-field{height:44px;padding:0 var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-md);transition:border-color var(--transition-fast);width:100%}.input-field:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.input-field::placeholder{color:var(--color-text-tertiary)}.input-error .input-field{border-color:var(--color-danger)}.input-error-text{font-size:var(--font-size-xs);color:var(--color-danger)}.textarea-field{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-md);transition:border-color var(--transition-fast);resize:vertical;width:100%;min-height:60px;font-family:inherit}.textarea-field:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.textarea-field::placeholder{color:var(--color-text-tertiary)}.input-helper{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.form-stack{gap:var(--space-md);flex-direction:column;display:flex}.input-wrapper{align-items:center;display:flex;position:relative}.input-field--with-toggle{padding-right:44px}.input-password-toggle{border-radius:var(--radius-full);width:36px;height:36px;color:var(--color-text-tertiary);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.input-password-toggle:hover{color:var(--color-text);background:var(--color-secondary-light)}.input-group--spaced{margin-top:var(--space-lg)}.chat-input--full{width:100%;max-height:none}.text-secondary{color:var(--color-text-secondary)}.text-caption{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.modal-img{border-radius:var(--radius-md);width:100%;margin-bottom:var(--space-md)}.btn-block-spaced{margin-top:var(--space-lg)}.status-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}@media (pointer:coarse){.btn-sm{min-height:44px;padding:0 var(--space-md)}}.card{background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden}.card-elevated{box-shadow:var(--shadow-sm)}.card-outlined{border:1px solid var(--color-border);box-shadow:none}.card-flat{box-shadow:none;background:0 0}.card-padding-sm{padding:var(--space-sm)}.card-padding-md{padding:var(--space-md)}.card-padding-lg{padding:var(--space-lg)}.card-clickable{cursor:pointer;transition:box-shadow var(--transition-fast), transform var(--transition-fast)}.card-clickable:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.modal-overlay{background:var(--color-overlay);z-index:1000;padding:var(--space-md);padding-bottom:calc(var(--bottom-nav-height) + var(--safe-area-bottom) + var(--space-md));-webkit-backdrop-filter:blur(5px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content{background:var(--color-surface);border-radius:var(--radius-xl);flex-shrink:0;width:100%;margin:auto;animation:.3s cubic-bezier(.34,1.56,.64,1) modalPop;overflow:hidden}.modal-header{padding:var(--space-md);border-bottom:1px solid var(--color-border-light);background:var(--color-surface);z-index:1;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.modal-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.modal-close{background:var(--color-secondary-light);border-radius:var(--radius-full);width:36px;height:36px;font-size:var(--font-size-xl);color:var(--color-text-secondary);cursor:pointer;border:none;justify-content:center;align-items:center;display:flex}.modal-body{padding:var(--space-md)}.modal-sm{max-width:360px}.modal-md{max-width:480px}.modal-lg{max-width:640px}.modal-full{border-radius:0;max-width:100%;height:100dvh}@keyframes modalPop{0%{opacity:0;transform:scale(.96)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-actions{gap:var(--space-sm);margin-top:var(--space-lg);justify-content:flex-end;display:flex}@media (width<=767px){.modal-actions{gap:var(--space-md);width:100%}.modal-actions .btn{flex:1;min-width:0}}.badge{border-radius:var(--radius-full);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 6px;display:inline-flex}.badge-default{background:var(--color-secondary-light);color:var(--color-text-secondary)}.badge-danger{background:var(--color-danger);color:#fff}.badge-success{background:var(--color-success);color:#fff}.badge-warning{background:var(--color-warning);color:#000}.unread-badge{min-width:16px;height:16px;font-size:10px;line-height:1;position:absolute;top:-4px;right:-4px}.sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);z-index:100;padding-top:var(--safe-area-top);flex-direction:column;display:none;position:fixed;top:0;bottom:0;left:0}.sidebar-header{padding:var(--space-lg);border-bottom:1px solid var(--color-border-light)}.sidebar-logo{max-height:40px}.sidebar-logo-text{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary)}.sidebar-nav{padding:var(--space-sm);flex:1;overflow-y:auto}.sidebar-link{align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast), color var(--transition-fast);text-decoration:none;display:flex;position:relative}.sidebar-link:hover{background:var(--color-primary-light);color:var(--color-primary)}.sidebar-link-active{background:var(--color-primary-light);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.sidebar-link-icon{text-align:center;justify-content:center;align-items:center;width:24px;font-size:1.25rem;display:inline-flex}.sidebar-studeo-icon{object-fit:cover;border-radius:var(--radius-sm);width:24px;height:24px}.sidebar-link-label{flex:1}.sidebar-footer{padding:var(--space-md);border-top:1px solid var(--color-border-light)}.sidebar-user{margin-bottom:var(--space-sm);flex-direction:column;display:flex}.sidebar-user-name{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.sidebar-user-role{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.aluno-header{height:var(--header-height);padding:0 var(--space-md);background:var(--color-surface);border-bottom:1px solid var(--color-border-light);z-index:50;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:var(--space-md);display:flex}.header-menu-btn{width:36px;height:36px;font-size:var(--font-size-xl);cursor:pointer;color:var(--color-text);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.header-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.header-right{align-items:center;gap:var(--space-sm);display:flex;position:relative}.header-profile-btn{cursor:pointer;border-radius:var(--radius-full);background:0 0;border:none;padding:2px}.header-menu{margin-top:var(--space-xs);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:200;min-width:200px;position:absolute;top:100%;right:0}.header-menu-user{padding:var(--space-md)}.header-menu-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);display:block}.header-menu-email{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:2px;display:block}.header-menu-divider{border:none;border-top:1px solid var(--color-border-light);margin:0}.header-menu-item{text-align:left;width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none}.header-menu-item:hover{background:var(--color-secondary-light)}.header-menu-item:last-child{border-radius:0 0 var(--radius-md) var(--radius-md)}.chat-header{height:var(--header-height);padding:0 var(--space-md);background:var(--color-surface);border-bottom:1px solid var(--color-border-light);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.chat-back-btn{font-size:var(--font-size-xl)}.chat-header-info{margin-left:var(--space-sm);flex-direction:column;display:flex}.chat-header-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.chat-header-status{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.chat-header-btn{border-radius:var(--radius-full);width:36px;height:36px;color:var(--color-text-tertiary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.chat-header-btn:hover{background:var(--color-danger-light);color:var(--color-danger)}.bottom-nav{height:calc(var(--bottom-nav-height) + var(--safe-area-bottom));padding-bottom:var(--safe-area-bottom);background:var(--color-surface);border-top:1px solid var(--color-border);z-index:100;padding-left:var(--safe-area-left);padding-right:var(--safe-area-right);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-link{height:100%;color:var(--color-text-tertiary);font-size:var(--font-size-xs);transition:color var(--transition-fast);-webkit-tap-highlight-color:transparent;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex;position:relative}.bottom-nav-link-active{color:var(--color-primary)}.bottom-nav-link:active{opacity:.6;transform:scale(.95)}.bottom-nav-icon{font-size:var(--font-size-xl);transition:transform var(--transition-fast);position:relative}.bottom-nav-link-active .bottom-nav-icon{transform:translateY(-1px)}.bottom-nav-label{font-size:10px;font-weight:var(--font-weight-medium);transition:font-weight var(--transition-fast)}.bottom-nav-link--studeo{height:auto;color:var(--color-text-tertiary);font-size:var(--font-size-xs);flex-direction:column;flex:none;align-items:center;gap:2px;text-decoration:none;display:flex;position:relative;top:-12px}.bottom-nav-studeo-btn{border-radius:var(--radius-full);background:var(--color-studeo-btn);border:4px solid var(--color-studeo-btn-border);cursor:pointer;justify-content:center;align-items:center;width:60px;height:60px;padding:0;transition:transform .2s;display:flex;overflow:hidden;box-shadow:0 4px 12px #135bec59}.bottom-nav-studeo-btn:active{transform:scale(.92)}.bottom-nav-studeo-icon{object-fit:cover;pointer-events:none;width:100%;height:100%}.bottom-nav-link--studeo:hover .bottom-nav-studeo-btn{transform:translateY(-2px)}[data-theme=dark] .bottom-nav-studeo-btn{background:var(--color-studeo-btn);border-color:var(--color-studeo-btn-border);box-shadow:0 4px 12px #0000004d}.cadastro-banner{background:var(--color-warning-light);padding:var(--space-sm) var(--space-md);align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.cadastro-banner-text{font-size:var(--font-size-sm);color:var(--color-warning-text);flex:1}.cadastro-banner-actions{gap:var(--space-sm);display:flex}.cadastro-modal-desc{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0}.empty-state{padding:var(--space-2xl) var(--space-md);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{margin-bottom:var(--space-md);opacity:.4;font-size:3rem}.empty-state-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-sm)}.empty-state-description{font-size:var(--font-size-sm);color:var(--color-text-tertiary);max-width:300px}.empty-state-action{margin-top:var(--space-lg)}.vitrine{gap:var(--space-xl);animation:fadeIn var(--transition-normal) ease;flex-direction:column;width:100%;min-width:0;display:flex}.vitrine-chat-banner{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:#fff;border-radius:var(--radius-lg);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast);box-shadow:var(--shadow-md);display:flex}.vitrine-chat-banner:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.vitrine-chat-icon{font-size:var(--font-size-xl);display:flex}.vitrine-chat-text{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);flex:1}.vitrine-chat-arrow{transition:transform var(--transition-fast);display:flex}.vitrine-chat-banner:hover .vitrine-chat-arrow{transform:translate(4px)}.vitrine-hero-section{width:100%;min-width:0}.vitrine-hero{border-radius:var(--radius-xl);cursor:pointer;min-height:220px;transition:transform var(--transition-fast), box-shadow var(--transition-fast);position:relative;overflow:hidden}.vitrine-hero:hover{box-shadow:var(--shadow-xl);transform:translateY(-3px)}.vitrine-hero-bg{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.vitrine-hero-overlay{background:linear-gradient(#0000001a 0%,#0000004d 50%,#000000bf 100%);position:absolute;inset:0}.vitrine-hero-content{z-index:1;gap:var(--space-sm);padding:var(--space-xl);color:#fff;flex-direction:column;justify-content:flex-end;min-height:220px;display:flex;position:relative}.vitrine-hero-badge{padding:var(--space-xs) var(--space-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;background:#fff3;align-self:flex-start}.vitrine-hero-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);text-shadow:0 1px 4px #0000004d}.vitrine-hero-desc{font-size:var(--font-size-sm);opacity:.9;-webkit-line-clamp:2;text-shadow:0 1px 2px #0003;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.vitrine-hero-cta{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);opacity:.85;transition:opacity var(--transition-fast), transform var(--transition-fast);align-items:center;gap:var(--space-xs);display:inline-flex}.vitrine-hero:hover .vitrine-hero-cta{opacity:1}.vitrine-section{gap:var(--space-md);flex-direction:column;width:100%;min-width:0;max-width:100%;display:flex}.vitrine-section-header{justify-content:space-between;align-items:center;display:flex}.vitrine-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);align-items:center;gap:var(--space-sm);display:flex}.vitrine-section-count{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);background:var(--color-secondary-light);border-radius:var(--radius-full);padding:2px 8px}.vitrine-section-more{font-size:var(--font-size-sm);color:var(--color-primary);font-weight:var(--font-weight-medium);cursor:pointer;transition:opacity var(--transition-fast)}.vitrine-section-more:hover{opacity:.7}.vitrine-carrossel{gap:var(--space-md);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:var(--space-xs);scrollbar-width:none;width:100%;min-width:0;max-width:100%;display:flex;overflow-x:auto}.vitrine-carrossel::-webkit-scrollbar{display:none}.vitrine-carrossel>*{scroll-snap-align:start;flex-shrink:0}.vitrine-card{background:var(--color-surface);border-radius:var(--radius-lg);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast);box-shadow:var(--shadow-sm);width:min(260px,70vw);overflow:hidden}.vitrine-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.vitrine-card-img-wrap{width:100%;height:140px;overflow:hidden}.vitrine-card-img-wrap img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.vitrine-card:hover .vitrine-card-img-wrap img{transform:scale(1.05)}.vitrine-card-body{padding:var(--space-md);gap:var(--space-xs);flex-direction:column;display:flex}.vitrine-card-badge{padding:2px var(--space-sm);background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);align-self:flex-start}.vitrine-card-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.vitrine-card-desc{font-size:var(--font-size-xs);color:var(--color-text-tertiary);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.vitrine-card--campanha{width:min(220px,60vw)}.vitrine-avatar-card{align-items:center;gap:var(--space-xs);cursor:pointer;transition:transform var(--transition-fast);flex-direction:column;width:80px;display:flex}.vitrine-avatar-card:hover{transform:translateY(-4px)}.vitrine-avatar-wrap{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));padding:3px}.vitrine-avatar-name{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:76px;overflow:hidden}.vitrine-avatar-date{color:var(--color-text-tertiary);font-size:10px}.vitrine-foto-card{cursor:pointer;border-radius:var(--radius-lg);transition:transform var(--transition-fast), box-shadow var(--transition-fast);box-shadow:var(--shadow-sm);flex-shrink:0;width:120px;height:120px;overflow:hidden}.vitrine-foto-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)scale(1.02)}.vitrine-foto-wrap{width:100%;height:100%}.vitrine-foto-wrap img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.vitrine-foto-card:hover .vitrine-foto-wrap img{transform:scale(1.08)}.vitrine-card-meta{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:var(--space-xs)}@media (width<=380px){.vitrine-hero-content{padding:var(--space-lg);min-height:180px}.vitrine-hero-title{font-size:var(--font-size-lg)}.vitrine-card{width:min(220px,70vw)}}.vitrine-modal-img{border-radius:var(--radius-sm);width:100%;margin-bottom:var(--space-md)}.vitrine-modal-desc{margin-top:var(--space-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.vitrine-modal-center{text-align:center}.vitrine-modal-date{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-top:var(--space-xs)}.vitrine-modal-nome{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-top:var(--space-sm)}.vitrine-galeria{gap:var(--space-sm);margin-top:var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}.vitrine-galeria-item{border-radius:var(--radius-md);aspect-ratio:1;cursor:pointer;transition:transform var(--transition-fast);overflow:hidden}.vitrine-galeria-item:hover{transform:scale(1.03)}.vitrine-galeria-item img{object-fit:cover;width:100%;height:100%}@media (width>=640px){.vitrine-galeria{grid-template-columns:repeat(3,1fr)}.vitrine-hero{min-height:280px}.vitrine-hero-content{min-height:280px;padding:var(--space-2xl)}.vitrine-hero-title{font-size:var(--font-size-2xl)}.vitrine-card{width:260px}.vitrine-card--campanha{width:240px}.vitrine-foto-card{width:140px;height:140px}}@media (width>=1024px){.vitrine{gap:var(--space-2xl)}.vitrine-hero{min-height:340px}.vitrine-hero-content{min-height:340px;padding:var(--space-2xl) var(--space-2xl)}.vitrine-hero-title{font-size:2rem}.vitrine-hero-desc{font-size:var(--font-size-md)}.vitrine-card{width:280px}.vitrine-card--campanha{width:260px}.vitrine-foto-card{width:160px;height:160px}}.chat-view{background:var(--color-bg);flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow:hidden}.chat-history-sidebar,.chat-view--active .chat-history-sidebar{display:none}.messages-area{min-height:0;padding:var(--space-md);background-color:var(--color-chat-bg-whatsapp);background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23d4c5b5' fill-opacity='0.3'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");flex-direction:column;flex:1;gap:0;display:flex;overflow:hidden auto}.messages-scroll-anchor{flex-shrink:0;width:100%;height:1px}[data-theme=dark] .messages-area{background-color:var(--color-chat-bg-whatsapp);background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23182229' fill-opacity='0.4'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.msg-date-separator{margin:var(--space-md) 0;z-index:1;justify-content:center;align-items:center;display:flex;position:sticky;top:0}.msg-date-separator span{color:var(--color-chat-meta-gray);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#e1dad0e0;padding:4px 12px}[data-theme=dark] .msg-date-separator span{color:var(--color-chat-meta-gray);background:#0b141ae0}.msg-system{margin:var(--space-sm) 0 var(--space-md);padding:0 var(--space-md);justify-content:center;display:flex}.msg-system span{color:var(--color-chat-meta-gray);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);text-align:center;max-width:min(92%,22rem);box-shadow:var(--shadow-sm);background:#e1dad0eb;padding:6px 14px;line-height:1.4}[data-theme=dark] .msg-system span{color:var(--color-chat-meta-gray);background:#0b141aeb}.msg-row{align-items:flex-end;gap:var(--space-sm);width:100%;margin-top:2px;display:flex}.msg-row--first-in-group{margin-top:var(--space-sm)}.msg-row--sent{justify-content:flex-end}.msg-row--received{justify-content:flex-start}.msg-row--grouped{margin-top:1px}.msg-row-aside{flex-shrink:0;justify-content:center;align-items:flex-end;width:32px;display:flex}.msg-avatar{object-fit:cover;border-radius:50%;width:32px;height:32px}.msg-avatar--fallback{background:var(--color-primary-light);width:32px;height:32px;color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:50%;justify-content:center;align-items:center;display:flex}.msg-bubble-column{flex-direction:column;min-width:0;max-width:min(78%,520px);display:flex}.msg-row--sent .msg-bubble-column{align-items:flex-end}.msg-row--received .msg-bubble-column{align-items:flex-start}.msg-menu{z-index:2;position:absolute;top:4px;right:4px}.msg-menu-trigger{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-text-tertiary);cursor:pointer;box-shadow:var(--shadow-sm);opacity:0;transition:opacity var(--transition-fast), background var(--transition-fast);background:#ffffffe6;border:none;justify-content:center;align-items:center;display:flex}.msg-bubble:hover .msg-menu-trigger,.msg-bubble:focus-within .msg-menu-trigger,.msg-menu-trigger[aria-expanded=true]{opacity:1}@media (hover:none){.msg-menu-trigger{opacity:.85}}.msg-menu-trigger:hover{background:var(--color-surface);color:var(--color-text-secondary)}.msg-menu-dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:140px;box-shadow:var(--shadow-lg);z-index:5;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden}.msg-menu-dropdown button{width:100%;padding:var(--space-sm) var(--space-md);text-align:left;font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;background:0 0;border:none;display:block}.msg-menu-dropdown button:hover{background:var(--color-secondary-light)}.msg-menu-item--danger{color:var(--color-danger)!important}.msg-reply-quote{border-left:3px solid var(--color-primary);margin-bottom:var(--space-xs);border-radius:var(--radius-sm);background:#0000000a;padding:6px 8px}.msg-bubble--sent .msg-reply-quote{background:#0000000f}.msg-reply-author{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary);line-height:1.3;display:block}.msg-reply-text{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:2px;line-height:1.3;display:block;overflow:hidden}.msg-bubble--deleted{opacity:.8}.msg-text--deleted{color:var(--color-text-tertiary);margin:0;font-style:italic}.msg-edited{color:var(--color-text-tertiary);text-transform:lowercase;font-size:10px}.msg-bubble{width:fit-content;max-width:100%;font-size:var(--font-size-sm);word-wrap:break-word;padding:6px 10px 8px;line-height:1.45;position:relative;box-shadow:0 1px .5px #00000014}.msg-bubble:after{content:"";clear:both;display:block}.msg-bubble--sent{background:var(--color-chat-bubble-sent);color:var(--color-chat-bubble-sent-text);border-radius:12px 12px 4px}.msg-bubble--received{background:var(--color-surface);color:var(--color-text);border-radius:12px 12px 12px 4px}.msg-row--grouped.msg-row--sent .msg-bubble--sent{border-radius:12px 4px 4px 12px}.msg-row--grouped.msg-row--received .msg-bubble--received{border-radius:4px 12px 12px 4px}.msg-row--grouped+.msg-row--grouped.msg-row--sent .msg-bubble--sent{border-radius:12px 4px 4px 12px}.msg-row--grouped+.msg-row--grouped.msg-row--received .msg-bubble--received{border-radius:4px 12px 12px 4px}.msg-bubble--media{padding:4px}.msg-bubble--media .msg-meta{padding:0 6px 4px}[data-theme=dark] .msg-bubble--sent{background:var(--color-chat-bubble-sent);color:var(--color-chat-bubble-sent-text)}[data-theme=dark] .msg-bubble--received{background:var(--color-surface);color:var(--color-text)}[data-theme=dark] .msg-reply-quote{background:#ffffff0f}.msg-content{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.msg-text{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-size:var(--font-size-sm);margin:0;padding-right:52px;font-family:"Segoe UI Emoji", "Segoe UI Symbol", "Segoe UI", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "EmojiOne Color", "Android Emoji", var(--font-family,sans-serif)!important}.msg-bubble--media .msg-text{padding:4px 6px 0}.msg-meta{float:right;justify-content:flex-end;align-items:center;gap:4px;min-height:15px;margin-top:2px;margin-left:8px;display:flex;position:relative;top:4px}.msg-bubble--media .msg-meta,.msg-text--deleted+.msg-meta{float:none;margin-left:0;padding-top:2px;top:0}.msg-time{color:#667781;white-space:nowrap;font-size:11px;line-height:1}[data-theme=dark] .msg-time{color:#8696a0}.msg-check{color:#8696a0;letter-spacing:-1px;font-size:12px;line-height:1}.msg-check--read{color:#53bdeb}.msg-file{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);color:inherit;background:#0000000d;min-width:0;text-decoration:none;display:flex}.msg-file:hover{background:#00000014}.msg-file-icon{flex-shrink:0}.msg-file-name{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);overflow:hidden}.msg-media-link{border-radius:var(--radius-md);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;padding:0;line-height:0;display:block;overflow:hidden}.msg-media-link:disabled{cursor:default}.msg-image{object-fit:cover;border-radius:var(--radius-md);background:var(--bg-subtle,#f0f0f0);width:auto;max-width:min(280px,100%);height:auto;min-height:60px;max-height:320px;display:block}.msg-image-loading{background:var(--bg-subtle,#f0f0f0);border-radius:var(--radius-md);width:min(280px,100%);height:120px;animation:1.5s ease-in-out infinite skeleton-pulse}.msg-image-fallback{background:var(--bg-subtle,#f0f0f0);border-radius:var(--radius-md);width:min(280px,100%);min-height:80px;color:var(--text-secondary,#888);justify-content:center;align-items:center;font-size:.875rem;display:flex}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.msg-audio{width:min(260px,100%);min-width:200px;height:36px;display:block}@keyframes msgFadeIn{0%{opacity:0;transform:translateY(4px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.chat-landing{padding:var(--space-2xl) var(--space-lg);text-align:center;justify-content:center;align-items:center;gap:var(--space-md);flex-direction:column;flex:1;display:flex}.chat-landing-icon{margin-bottom:var(--space-sm);font-size:3.5rem}.chat-landing-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.chat-landing-desc{font-size:var(--font-size-sm);color:var(--color-text-tertiary);max-width:320px;margin:0;line-height:1.5}.chat-landing-actions{gap:var(--space-sm);width:100%;max-width:320px;margin-top:var(--space-md);flex-direction:column;display:flex}.chat-active-tabs{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface);border-bottom:1px solid var(--color-border-light);flex-shrink:0;display:flex;overflow-x:auto}.chat-active-tabs-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);white-space:nowrap;font-weight:var(--font-weight-medium)}.chat-active-tabs-list{gap:var(--space-xs);display:flex}.chat-active-tab{min-height:44px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.chat-active-tab:hover{border-color:var(--color-primary);color:var(--color-primary)}.chat-active-tab--active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.chat-historico-view{background:var(--color-bg);flex-direction:column;flex:1;display:flex}.chat-historico-header{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface);border-bottom:1px solid var(--color-border-light);flex-shrink:0;display:flex}.chat-historico-header h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.chat-historico-list{padding:var(--space-sm);flex:1;overflow-y:auto}.chat-historico-item{align-items:center;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);background:var(--color-surface);margin-bottom:var(--space-xs);box-shadow:var(--shadow-sm);display:flex}.chat-historico-item:hover{background:var(--color-surface-hover)}.chat-historico-info{flex:1;min-width:0}.chat-historico-nome{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);display:block}.chat-historico-data{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.chat-history-sidebar-header{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-md);border-bottom:1px solid var(--color-border-light);flex-shrink:0;display:flex}.chat-history-sidebar-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.chat-history-empty{padding:var(--space-lg) var(--space-md);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.chat-history-item{align-items:center;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);margin:0 var(--space-xs);display:flex}.chat-history-item:hover{background:var(--color-secondary-light)}.chat-history-item-active{background:var(--color-primary-light)}.chat-history-info{flex:1;min-width:0}.chat-history-row{justify-content:space-between;align-items:baseline;gap:var(--space-sm);min-width:0;display:flex}.chat-history-nome{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-history-time{font-size:var(--font-size-xs);color:var(--color-text-tertiary);white-space:nowrap;flex-shrink:0}.chat-history-preview{font-size:var(--font-size-xs);color:var(--color-text-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat-input-area{align-items:stretch;gap:var(--space-sm);padding:var(--space-md);padding-bottom:calc(var(--space-md) + var(--safe-area-bottom));background:var(--color-bg-secondary);border-top:1px solid var(--color-border-light);flex-direction:column;flex-shrink:0;display:flex;position:relative}.chat-input-area-row{align-items:flex-end;gap:var(--space-sm);width:100%;display:flex}.chat-input-context{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface);border-left:3px solid var(--color-primary);border-radius:var(--radius-md);display:flex}.chat-input-context-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chat-input-context-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.chat-input-context-preview{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat-input-context-close{width:32px;height:32px;color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;font-size:1.25rem;line-height:1}.chat-input-context-close:hover{background:var(--color-secondary-light)}.chat-recording-bar{align-items:center;gap:var(--space-md);width:100%;min-height:48px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);background:#fdecef;border:1px solid #f5c6cb;display:flex}.chat-recording-cancel{width:40px;height:40px;color:var(--color-danger);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-recording-cancel:hover{background:#dc35451a}.chat-recording-status{align-items:center;gap:var(--space-sm);flex:1;min-width:0;display:flex}.chat-recording-time{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);font-variant-numeric:tabular-nums}.chat-upload-bar{align-items:center;gap:var(--space-sm);width:100%;min-height:48px;padding:var(--space-sm) var(--space-md);display:flex}.chat-upload-bar-track{background:var(--color-secondary-light);border-radius:3px;flex:1;height:6px;overflow:hidden}.chat-upload-bar-fill{background:var(--color-primary);border-radius:3px;height:100%;transition:width .15s}.chat-upload-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);white-space:nowrap;text-align:right;min-width:80px}.chat-input-pill{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);flex:1;align-items:flex-end;gap:2px;min-width:0;min-height:44px;padding:6px 8px 6px 4px;display:flex}.chat-input-pill-btn{cursor:pointer;width:36px;height:36px;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-input-pill-btn:hover{background:var(--color-secondary-light)}.chat-input-pill-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.chat-input-emoji-btn,.chat-input-attach-btn{color:#5c6670}.chat-input-emoji-btn--active{color:#f5a623;background:#f5a6231f}.chat-input-attach-btn:active,.chat-input-attach-btn--active{color:var(--color-primary);background:var(--color-primary-light)}.attach-action-sheet{margin-bottom:var(--space-xs);z-index:10;gap:var(--space-sm);padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;position:absolute;bottom:100%;left:0;right:0}.attach-action-sheet-btn{align-items:center;gap:var(--space-xs);padding:var(--space-md) var(--space-sm);cursor:pointer;border-radius:var(--radius-md);transition:background var(--transition-fast);color:var(--color-text-secondary);font-size:var(--font-size-xs);background:0 0;border:none;flex-direction:column;flex:1;font-family:inherit;display:flex}.attach-action-sheet-btn:hover{background:var(--color-secondary-light);color:var(--color-text)}.attach-action-sheet-icon{border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.attach-action-sheet-icon--doc{color:#1a73e8;background:#e8f0fe}.attach-action-sheet-icon--gallery{color:#34a853;background:#e6f7e6}.attach-action-sheet-icon--camera{color:#ea4335;background:#fce8e6}.attach-action-sheet-label{font-weight:var(--font-weight-medium)}.chat-input{min-height:24px;max-height:100px;color:var(--color-text);font-size:var(--font-size-sm);resize:none;background:0 0;border:none;border-radius:0;outline:none;flex:1;padding:6px 4px;font-family:inherit;line-height:1.4}.chat-input:focus{box-shadow:none}.chat-input::placeholder{color:#a0aab4}.chat-input-external-btn{color:#5c6670;cursor:pointer;width:44px;height:44px;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-input-external-btn:hover{background:var(--color-secondary-light);color:var(--color-text-secondary)}.chat-input-external-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.chat-input-send-external{background:var(--color-primary);width:44px;height:44px;color:var(--color-text-inverse);cursor:pointer;transition:background var(--transition-fast), transform var(--transition-fast);box-shadow:var(--shadow-sm);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-input-send-external:hover{background:var(--color-primary-hover)}.chat-input-send-external:active{transform:scale(.94)}.chat-input-send-external:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.chat-input-mic-external{color:#5c6670;cursor:pointer;width:44px;height:44px;transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-input-mic-external:hover{background:var(--color-secondary-light);color:var(--color-text-secondary)}.chat-input-mic-external:active{transform:scale(.94)}.chat-input-mic-external:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.chat-recording-mic-icon{color:var(--color-danger);flex-shrink:0;animation:1.5s ease-in-out infinite recordingPulse}.chat-send-btn{background:var(--color-primary);width:44px;height:44px;color:var(--color-text-inverse);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-md);border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-send-btn:hover{background:var(--color-primary-hover)}.chat-send-btn:active{transform:scale(.92)}.chat-send-btn:disabled{opacity:.3;cursor:not-allowed;box-shadow:none}.chat-send-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.chat-input-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.chat-action-btn{width:44px;height:44px;color:var(--color-text-tertiary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.chat-action-btn:hover{background:var(--color-secondary-light);color:var(--color-text-secondary)}.chat-action-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.chat-action-btn--recording{color:var(--color-danger);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);width:auto;min-width:44px;height:44px;padding:0 var(--space-sm);border-radius:var(--radius-full);background:var(--color-danger-light);gap:4px;animation:1.5s ease-in-out infinite recordingPulse}@keyframes recordingPulse{0%,to{opacity:1}50%{opacity:.7}}.recording-dot{background:var(--color-danger);border-radius:50%;width:8px;height:8px;animation:1s step-end infinite recordingBlink}@keyframes recordingBlink{0%,to{opacity:1}50%{opacity:.3}}.chat-file-input{display:none}.chat-emoji-picker{margin-bottom:var(--space-xs);z-index:10;justify-content:center;display:flex;position:absolute;bottom:100%;left:0;right:0}.chat-emoji-picker .EmojiPickerReact{--epr-bg-color:var(--color-surface);--epr-category-label-bg-color:var(--color-surface);--epr-hover-bg-color:var(--color-secondary-light);--epr-focus-bg-color:var(--color-secondary-light);--epr-highlight-color:var(--color-primary);--epr-search-border-color:var(--color-border);--epr-text-color:var(--color-text);--epr-category-label-text-color:var(--color-text-tertiary);--epr-picker-border-color:var(--color-border);--epr-picker-inner-border-color:var(--color-border-light);box-shadow:var(--shadow-lg);border-radius:var(--radius-lg)}.chat-emoji-picker-skeleton{height:360px;color:var(--color-text-tertiary);font-size:var(--font-size-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);justify-content:center;align-items:center;display:flex}.msg-text--emoji-only{font-size:2.5rem;line-height:1.2;font-family:Segoe UI Emoji,Segoe UI Symbol,Segoe UI,Apple Color Emoji,Twemoji Mozilla,Noto Color Emoji,EmojiOne Color,Android Emoji,sans-serif!important}.msg-text--emoji-only-single{font-size:3.5rem;line-height:1.2;font-family:Segoe UI Emoji,Segoe UI Symbol,Segoe UI,Apple Color Emoji,Twemoji Mozilla,Noto Color Emoji,EmojiOne Color,Android Emoji,sans-serif!important}.msg-text--emoji-only-multi{font-size:2rem;line-height:1.3;font-family:Segoe UI Emoji,Segoe UI Symbol,Segoe UI,Apple Color Emoji,Twemoji Mozilla,Noto Color Emoji,EmojiOne Color,Android Emoji,sans-serif!important}.apple-emoji-img{vertical-align:middle;pointer-events:none;-webkit-user-select:none;user-select:none}.chat-input-area--blocked{padding:var(--space-md);background:var(--color-surface);border-top:1px solid var(--color-border-light);justify-content:center;align-items:center;display:flex}.chat-blocked-msg{font-size:var(--font-size-sm);color:var(--color-text-tertiary);text-align:center}.chat-input-area--disabled{pointer-events:none}.chat-input-area--disabled .chat-input-pill{background:var(--color-bg-secondary);border-color:var(--color-border-light);cursor:not-allowed}.chat-input-area--disabled .chat-input{color:var(--color-text-tertiary);cursor:not-allowed}.chat-input-area--disabled .chat-input-pill-btn,.chat-input-area--disabled .chat-input-external-btn,.chat-input-area--disabled .chat-input-send-external,.chat-input-area--disabled .chat-input-mic-external{opacity:.4;cursor:not-allowed;pointer-events:none;background:var(--color-bg-secondary)!important;color:var(--color-text-tertiary)!important;box-shadow:none!important}.departamento-modal-header{text-align:center;padding:var(--space-xs) 0 var(--space-lg)}.departamento-modal-icon{width:56px;height:56px;margin:0 auto var(--space-sm);border-radius:var(--radius-full);background:var(--color-primary-light);color:var(--color-primary);justify-content:center;align-items:center;display:flex}.departamento-modal-title{margin:0 0 var(--space-xs);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.departamento-modal-desc{font-size:var(--font-size-sm);color:var(--color-text-tertiary);line-height:var(--line-height-relaxed);margin:0}.departamentos-list{gap:var(--space-xs);flex-direction:column;display:flex}.departamento-card{align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);text-align:left;font-family:inherit;font-size:inherit;color:inherit;box-shadow:var(--shadow-sm);display:flex}.departamento-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.departamento-card-icon{flex-shrink:0;font-size:1.5rem}.departamento-card-nome{font-weight:var(--font-weight-medium);font-size:var(--font-size-md);flex:1}.departamento-card-arrow{color:var(--color-text-tertiary);transition:transform var(--transition-fast), color var(--transition-fast);flex-shrink:0}.departamento-card:hover .departamento-card-arrow{color:var(--color-primary);transform:translate(4px)}.departamentos-empty{text-align:center;padding:var(--space-xl) var(--space-md)}.departamentos-empty-icon{width:48px;height:48px;margin:0 auto var(--space-md);border-radius:var(--radius-full);background:var(--color-secondary-light);color:var(--color-text-tertiary);justify-content:center;align-items:center;display:flex}.departamentos-empty p{margin:0 0 var(--space-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.departamentos-empty span{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.confirmar-atendimento{flex-direction:column;display:flex}.confirmar-setor-info{gap:var(--space-xs);padding:var(--space-md);background:var(--color-primary-light);border-radius:var(--radius-md);flex-direction:column;display:flex}.confirmar-setor-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.confirmar-setor-nome{font-size:var(--font-size-lg);color:var(--color-primary)}.confirmar-setor-descricao{margin:var(--space-xs) 0 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.confirmar-servicos{margin-top:var(--space-md);padding:var(--space-md);background:var(--color-secondary-light);border-radius:var(--radius-md)}.confirmar-servicos-label{margin-bottom:var(--space-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;display:block}.confirmar-servicos-lista{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.confirmar-servicos-item{align-items:flex-start;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);display:flex}.confirmar-servicos-check{border-radius:var(--radius-full);background:var(--color-primary);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:2px;font-size:11px;font-weight:700;display:flex}.fila-modal{text-align:center;padding:var(--space-lg) var(--space-md) var(--space-md)}.fila-modal-icon{margin-bottom:var(--space-md);font-size:3rem;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fila-modal-position-wrap{margin-bottom:var(--space-lg)}.fila-modal-position-label{margin:0 0 var(--space-xs);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em}.fila-modal-position{margin:0 0 var(--space-xs);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:1}.fila-modal-total{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.fila-modal-mensagem{margin-bottom:var(--space-lg);justify-content:center;align-items:center;min-height:48px;animation:.4s fadeIn;display:flex}.fila-modal-mensagem-texto{font-size:var(--font-size-sm);color:var(--color-text-tertiary);line-height:var(--line-height-relaxed);text-wrap:balance;margin:0}.fila-modal-actions{gap:var(--space-xs);flex-direction:column;display:flex}.fila-modal-btn{justify-content:center;align-items:center;gap:var(--space-sm);width:100%;padding:14px var(--space-md);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);cursor:pointer;border:none;transition:background .15s,box-shadow .15s;display:flex}.fila-modal-btn svg{flex-shrink:0}.fila-modal-btn-historico{background:var(--color-bg-secondary);color:var(--color-text)}.fila-modal-btn-historico:hover{background:var(--color-border-light)}.fila-modal-btn-dashboard{color:var(--color-text-secondary);background:0 0}.fila-modal-btn-dashboard:hover{background:var(--color-bg-secondary)}.fila-modal-divider{background:var(--color-border-light);height:1px;margin:var(--space-sm) 0}.fila-modal-btn-sair{color:var(--color-danger);background:0 0}.fila-modal-btn-sair:hover{background:var(--color-danger-light)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.historico-modal{flex-direction:column;max-height:60vh;display:flex}.historico-modal-scroll{flex:1;min-height:0;overflow-y:auto}.historico-modal-empty{text-align:center;color:var(--color-text-tertiary);padding:var(--space-xl) var(--space-md);margin:0}.historico-modal-list{flex-direction:column;display:flex}.historico-modal-item{align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-md);border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:none;transition:background .15s;display:flex}.historico-modal-item:hover{background:var(--color-bg-secondary)}.historico-modal-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.historico-modal-nome{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.historico-modal-preview{font-size:var(--font-size-xs);color:var(--color-text-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.historico-modal-actions{gap:var(--space-xs);padding:var(--space-md) var(--space-md) 0;border-top:1px solid var(--color-border-light);margin-top:var(--space-sm);flex-direction:column;display:flex}.historico-modal-btn{justify-content:center;align-items:center;gap:var(--space-sm);width:100%;padding:14px var(--space-md);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);cursor:pointer;border:none;transition:background .15s;display:flex}.historico-modal-btn svg{flex-shrink:0}.historico-modal-btn-chat{background:var(--color-primary);color:var(--color-text-inverse)}.historico-modal-btn-chat:hover{background:var(--color-primary-hover)}.historico-modal-btn-dashboard{color:var(--color-text-secondary);background:0 0}.historico-modal-btn-dashboard:hover{background:var(--color-bg-secondary)}.avaliacao-modal{text-align:center}.avaliacao-pergunta{font-size:var(--font-size-md);margin-bottom:var(--space-lg);color:var(--color-text)}.avaliacao-estrelas{gap:var(--space-sm);margin-bottom:var(--space-lg);justify-content:center;display:flex}.avaliacao-estrela-btn{cursor:pointer;transition:transform var(--transition-fast);padding:var(--space-xs);background:0 0;border:none;font-size:2rem;line-height:1}.avaliacao-estrela-btn:hover{transform:scale(1.2)}.avaliacao-estrela-btn--active{animation:.3s starPop}@keyframes starPop{0%{transform:scale(.8)}50%{transform:scale(1.3)}to{transform:scale(1)}}.chat-input-area--blocked{padding:var(--space-md);padding-bottom:calc(var(--space-md) + var(--safe-area-bottom));background:var(--color-bg-secondary);border-top:1px dashed var(--color-border);flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-blocked-msg{font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-style:italic}.chat-finalizada-footer{align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-md);padding-bottom:calc(var(--space-lg) + var(--safe-area-bottom));background:var(--color-bg-secondary);border-top:1px solid var(--color-border-light);animation:fadeIn var(--transition-normal) ease;flex-direction:column;flex-shrink:0;display:flex}.chat-finalizada-label{align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;display:flex}.chat-finalizada-label:before,.chat-finalizada-label:after{content:"";background:var(--color-border);width:40px;height:1px;display:block}.chat-finalizada-avaliacao{align-items:center;gap:var(--space-sm);flex-direction:column;width:100%;max-width:340px;display:flex}.chat-finalizada-avaliacao-rating{align-items:center;gap:4px;display:flex}.chat-finalizada-avaliacao-star{transition:transform var(--transition-fast);font-size:1.6rem;line-height:1}.chat-finalizada-avaliacao-star--filled{filter:drop-shadow(0 0 4px #fabe1e99)}.chat-finalizada-avaliacao-star--empty{opacity:.35}.chat-finalizada-avaliacao-meta{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.chat-finalizada-avaliacao-comentario{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center;padding:var(--space-sm) var(--space-md);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border-light);width:100%;max-width:340px;font-style:italic;line-height:var(--line-height-relaxed)}.chat-finalizada-ver-detalhes-btn{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);background:var(--color-bg-primary);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;margin-top:var(--space-xs);transition:background var(--transition-fast), border-color var(--transition-fast);display:inline-flex}.chat-finalizada-ver-detalhes-btn:hover{background:var(--color-bg-secondary);border-color:var(--color-border-dark)}.avaliacao-detalhe-modal{gap:var(--space-md);color:var(--color-text);animation:fadeIn var(--transition-normal) ease;flex-direction:column;display:flex}.avaliacao-detalhe-rating{align-items:center;gap:var(--space-xs);padding:var(--space-sm) 0;flex-direction:column;display:flex}.avaliacao-detalhe-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.avaliacao-detalhe-secao{gap:var(--space-xs);text-align:left;flex-direction:column;display:flex}.avaliacao-detalhe-titulo{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.avaliacao-detalhe-conteudo{font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:var(--space-sm);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px dashed var(--color-border);font-style:italic;line-height:var(--line-height-relaxed);min-height:48px}.avaliacao-detalhe-vazio{color:var(--color-text-tertiary);font-style:normal}.avaliacao-detalhe-leitura{align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border-light);display:flex}.avaliacao-leitura-status{align-items:center;gap:var(--space-sm);display:flex}.status-timestamp{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.avaliacao-detalhe-footer{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border-light);font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-align:left;flex-direction:column;gap:2px;display:flex}.chat-finalizada-avaliar-btn{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);display:inline-flex}.chat-finalizada-avaliar-btn:hover{background:var(--color-primary);color:var(--color-text-inverse);transform:translateY(-1px)}.chat-finalizada-avaliar-btn:active{transform:scale(.97)}.avaliacao-modal-header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);flex-direction:column;display:flex}.avaliacao-modal-icon{font-size:2.5rem;line-height:1;animation:.4s starPop}.avaliacao-modal-subtitle{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.avaliacao-label-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary);min-height:1em;margin-top:calc(-1 * var(--space-sm));margin-bottom:var(--space-sm)}.chat-main{flex-direction:column;flex:1;width:100%;min-width:0;min-height:0;display:flex;overflow:hidden}.chat-conversation{background:var(--color-surface);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.chat-conversation .chat-header,.chat-conversation .chat-active-tabs{flex-shrink:0}@media (width>=1024px){.chat-view{flex-direction:row}.chat-main{flex:1;min-width:0}.chat-history-sidebar{border-left:1px solid var(--color-border);background:var(--color-surface);border-right:none;flex-direction:column;flex-shrink:0;width:320px;overflow-y:auto;display:flex!important}.msg-bubble-column{max-width:min(65%,480px)}.chat-landing{padding:var(--space-2xl)}.chat-conversation .chat-back-btn{display:none}}.typing-indicator{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);margin-top:var(--space-sm);font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-left:40px;display:flex}.typing-dots{gap:3px;display:flex}.typing-dot{background:var(--color-text-tertiary);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite typingBounce}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.kanban-board{gap:var(--space-md);padding-bottom:var(--space-md);min-height:calc(100dvh - 300px);display:flex;overflow-x:auto}.kanban-column{background:var(--color-bg-secondary);border-radius:var(--radius-lg);min-width:280px;max-width:320px;padding:var(--space-md);flex:1}.kanban-column-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.kanban-column-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.kanban-column-count{font-size:var(--font-size-xs);color:var(--color-text-tertiary);background:var(--color-secondary-light);border-radius:var(--radius-full);padding:2px 8px}.kanban-card{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-sm);box-shadow:var(--shadow-sm);cursor:pointer;min-width:0;transition:box-shadow var(--transition-fast), transform var(--transition-fast)}.kanban-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.kanban-card-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--space-xs);overflow-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.kanban-card-meta{font-size:var(--font-size-xs);color:var(--color-text-tertiary);overflow-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.kanban-card-footer{align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);display:flex}@media (width<=639px){.kanban-board{flex-direction:column}.kanban-column{min-width:0;max-width:100%}}@media (width>=640px){.kanban-board{flex-direction:row}}.catalogo-grid{gap:var(--space-md);grid-template-columns:1fr;display:grid}.catalogo-card{padding:var(--space-md);cursor:pointer}.catalogo-card img{object-fit:cover;border-radius:var(--radius-sm);width:100%;height:140px;margin-bottom:var(--space-sm)}.catalogo-card-title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);margin-bottom:var(--space-xs)}.catalogo-card-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (width>=640px){.catalogo-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.catalogo-grid{grid-template-columns:repeat(3,1fr)}}.login-page{min-height:100dvh;padding:var(--space-md);background:var(--color-bg);justify-content:center;align-items:center;display:flex}.login-card{width:100%;max-width:400px;padding:var(--space-xl)}.login-logo{text-align:center;margin-bottom:var(--space-xl)}.login-logo img{max-height:60px;margin:0 auto}.login-logo h1{font-size:var(--font-size-xl);color:var(--color-primary);margin-top:var(--space-sm)}.login-subtitle{color:var(--color-text-tertiary);font-size:var(--font-size-sm);margin-top:var(--space-xs)}.login-form{gap:var(--space-md);flex-direction:column;display:flex}.login-error{background:var(--color-danger-light);color:var(--color-danger);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.login-footer{text-align:center;margin-top:var(--space-lg);font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.pwa-modal{text-align:center;padding:var(--space-xl) var(--space-lg);flex-direction:column;align-items:center;display:flex;max-width:440px!important}.pwa-modal-illustration{margin-bottom:var(--space-lg);justify-content:center;align-items:center;animation:3s ease-in-out infinite pwaPulse;display:flex}@keyframes pwaPulse{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-4px)scale(1.02)}}.pwa-modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-xs);line-height:var(--line-height-tight)}.pwa-modal-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin-bottom:var(--space-xl)!important}.pwa-benefits-list{text-align:left;width:100%;margin-bottom:var(--space-xl);gap:var(--space-md);flex-direction:column;padding:0;display:flex}.pwa-benefit-item{align-items:flex-start;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);transition:transform var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);display:flex}.pwa-benefit-item:hover{border-color:var(--color-primary-light);background:var(--color-primary-light);transform:translateY(-2px)}[data-theme=dark] .pwa-benefit-item:hover{border-color:var(--color-primary);background:#0055aa1a}.pwa-benefit-icon{padding:var(--space-xs);background:var(--color-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);flex-shrink:0;justify-content:center;align-items:center;font-size:1.5rem;line-height:1;display:flex}.pwa-benefit-text{flex-direction:column;gap:2px;display:flex}.pwa-benefit-text strong{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.pwa-benefit-text span{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--line-height-tight)}.pwa-ios-instructions{background:var(--color-warning-light);border:1px solid var(--color-warning);border-radius:var(--radius-md);width:100%;padding:var(--space-md);margin-bottom:var(--space-lg);text-align:left;gap:var(--space-sm);display:flex}.pwa-ios-instructions-icon{flex-shrink:0;font-size:1.25rem;line-height:1}.pwa-ios-instructions-text{font-size:var(--font-size-xs);color:var(--color-warning-text);line-height:var(--line-height-normal)}.pwa-ios-instructions-text strong{margin-bottom:2px;display:block}@media (width>=1024px){.header-menu-btn{display:none}.sidebar{display:flex}.bottom-nav{display:none}.aluno-main{margin-left:var(--sidebar-width)}}@media (width<=1023px){.sidebar{display:none}.bottom-nav{display:flex}}.toast-container{bottom:calc(var(--bottom-nav-height) + var(--safe-area-bottom) + var(--space-md));z-index:9999;gap:var(--space-sm);pointer-events:none;flex-direction:column;max-width:90vw;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-lg);pointer-events:auto;white-space:normal;word-wrap:break-word;max-width:min(90vw,420px);animation:.25s toastIn;display:flex}.toast--error{background:var(--color-danger);color:#fff}.toast--success{background:var(--color-success);color:#fff}.toast--info{background:var(--color-primary);color:#fff}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width>=1024px){.toast-container{bottom:var(--space-lg)}}.skeleton{background:linear-gradient(90deg, var(--color-border-light) 25%, var(--color-surface-hover) 50%, var(--color-border-light) 75%);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton-pulse}.skeleton-stack{gap:var(--space-sm);flex-direction:column;display:flex}.skeleton-stack--chat{gap:var(--space-md);padding:var(--space-md);flex-direction:column;display:flex}.skeleton-spacer-sm{height:var(--space-sm)}.skeleton-spacer-xs{height:var(--space-xs)}.card-skeleton{padding:var(--space-md)}.chat-skeleton-row{gap:var(--space-sm);display:flex}.chat-skeleton-row--start{justify-content:flex-start}.chat-skeleton-row--end{justify-content:flex-end}.onboarding-overlay{z-index:10000;padding:var(--space-md);padding-bottom:calc(var(--bottom-nav-height) + var(--safe-area-bottom) + var(--space-md));background:var(--color-overlay);-webkit-backdrop-filter:blur(5px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.onboarding-card{width:100%;max-width:400px;padding:var(--space-lg);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);text-align:center;animation:.3s cubic-bezier(.34,1.56,.64,1) onboardingIn}.onboarding-icon{font-size:var(--font-size-2xl);margin-bottom:var(--space-sm)}.onboarding-step-label{margin:0 0 var(--space-xs);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em}.onboarding-title{margin:0 0 var(--space-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);text-wrap:balance}.onboarding-desc{margin:0 0 var(--space-lg);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);text-wrap:pretty}.onboarding-dots{justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-lg);display:flex}.onboarding-dot{border-radius:var(--radius-full);background:var(--color-border);width:8px;height:8px}.onboarding-dot--active{background:var(--color-primary)}.onboarding-actions{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.onboarding-actions .btn{flex:1;min-width:0}.onboarding-skip-btn{width:100%;margin-top:var(--space-sm);padding:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-tertiary);cursor:pointer;transition:color var(--transition-fast);text-align:center;background:0 0;border:none}.onboarding-skip-btn:hover{color:var(--color-text-secondary)}.onboarding-btn-finish{background:var(--color-success)!important}.onboarding-btn-finish:hover:not(:disabled){background:var(--color-onboarding-finish-hover)!important}@keyframes onboardingIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.onboarding-card{animation:none}}@media (width>=1024px){.onboarding-overlay{padding-bottom:var(--space-lg)}.onboarding-card{max-width:440px;padding:var(--space-xl);border:1px solid var(--color-border-light);transition:transform var(--transition-normal), box-shadow var(--transition-normal)}.onboarding-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.onboarding-title{font-size:var(--font-size-xl);margin-bottom:var(--space-md)}.onboarding-desc{margin-bottom:var(--space-xl)}.onboarding-actions{gap:var(--space-md)}}.edit-msg-modal{gap:var(--space-md);flex-direction:column;display:flex}.edit-msg-modal .chat-input{resize:vertical;min-height:100px}.image-preview-overlay{z-index:1000;touch-action:none;background:#000000eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.image-preview-close{z-index:1001;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:24px;line-height:1;display:flex;position:fixed;top:12px;right:12px}.image-preview-close:hover,.image-preview-close:focus-visible{background:#ffffff4d}.image-preview-container{box-sizing:border-box;justify-content:center;align-items:center;width:100%;height:100%;padding:48px 16px;display:flex}.image-preview-img{object-fit:contain;-webkit-user-select:none;user-select:none;border-radius:4px;max-width:100%;max-height:100%;display:block;box-shadow:0 4px 24px #00000080}.agenda-page{gap:var(--space-lg);flex-direction:column;display:flex}.agenda-header{gap:var(--space-md);flex-direction:column;display:flex}.agenda-header-left{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.agenda-header-right{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.agenda-total{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.agenda-filtros{gap:var(--space-sm);background:var(--color-bg-secondary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);flex-wrap:wrap;flex:1;display:flex}.agenda-filtros .input-field--sm{height:32px;font-size:var(--font-size-xs);padding:0 var(--space-sm);min-width:0;max-width:180px}.agenda-summary{gap:var(--space-md);flex-wrap:wrap;display:flex}.agenda-summary-item{align-items:center;gap:var(--space-sm);background:var(--color-surface);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex}.agenda-summary-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.agenda-summary-value--warning{color:var(--color-warning)}.agenda-summary-value--info{color:var(--color-info)}.agenda-summary-value--success{color:var(--color-success)}.agenda-summary-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.agenda-toggles{gap:var(--space-lg);display:flex}.agenda-toggle{align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;display:flex}.agenda-toggle input[type=checkbox]{accent-color:var(--color-primary)}.kanban-card--critica{border-top:3px solid var(--color-danger);background:var(--color-danger-light)}.kanban-card--bloqueada{opacity:.7;cursor:not-allowed}.kanban-card-ribbon{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-danger);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.5px}.kanban-column-empty{padding:var(--space-xl) 0;text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.detalhes-grid{gap:var(--space-sm);flex-direction:column;display:flex}.detalhes-row{font-size:var(--font-size-sm);justify-content:space-between;align-items:center;display:flex}.detalhes-label{color:var(--color-text-tertiary);font-weight:var(--font-weight-medium)}.aceite-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.form-error{color:var(--color-danger);font-size:var(--font-size-sm);padding:var(--space-sm) var(--space-md);background:var(--color-danger-light);border-radius:var(--radius-sm)}.agenda-loading-more{margin-top:var(--space-md)}.agenda-scroll-sentinel{height:1px}.perfil-modal-body{gap:var(--space-xl);flex-direction:column;align-items:center;display:flex}.perfil-avatar-section{position:relative}.perfil-avatar-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0;position:relative;overflow:hidden}.perfil-avatar-btn:disabled{cursor:not-allowed;opacity:.6}.perfil-avatar-overlay{color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);opacity:0;transition:opacity var(--transition-fast);background:#0000008c;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.perfil-avatar-btn:hover .perfil-avatar-overlay,.perfil-avatar-btn:focus-visible .perfil-avatar-overlay{opacity:1}.perfil-info{gap:var(--space-md);flex-direction:column;width:100%;display:flex}.perfil-info-row{flex-direction:column;gap:2px;display:flex}.perfil-info-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--font-weight-medium)}.perfil-info-value{font-size:var(--font-size-md);color:var(--color-text);word-break:break-word}.avatar-editor{gap:var(--space-md);outline:none;flex-direction:column;align-items:center;display:flex}.avatar-editor-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text);text-align:center;margin:0}.avatar-editor-viewport{aspect-ratio:1;background:var(--color-bg-secondary);border-radius:var(--radius-md);width:100%;max-width:320px;position:relative;overflow:hidden}.avatar-editor-img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.avatar-editor-crop{box-sizing:border-box;pointer-events:auto;position:absolute}.avatar-editor-handle{background:var(--color-primary);border:2px solid #fff;border-radius:2px;width:12px;height:12px;position:absolute}.avatar-editor-handle.tl{cursor:nw-resize;top:-6px;left:-6px}.avatar-editor-handle.tr{cursor:ne-resize;top:-6px;right:-6px}.avatar-editor-handle.bl{cursor:sw-resize;bottom:-6px;left:-6px}.avatar-editor-handle.br{cursor:se-resize;bottom:-6px;right:-6px}.avatar-editor-actions{gap:var(--space-md);justify-content:center;display:flex}.avatar-editor-preview{align-items:center;gap:var(--space-xs);flex-direction:column;display:flex}.avatar-editor-preview-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--font-weight-medium)}.avatar-editor-preview-img{object-fit:cover;border:2px solid var(--color-border);border-radius:50%;width:80px;height:80px}.avatar-editor-footer{gap:var(--space-md);justify-content:center;width:100%;display:flex}.avatar-editor-footer .btn{flex:1;max-width:160px}
