:root{--bg:#f4f7fb;--surface:#fff;--surface-soft:#f8fafc;--text:#0f172a;--text-secondary:#64748b;--border:#e2e8f0;--border-strong:#cfd8e3;--primary:#082b54;--primary-hover:#061f3d;--primary-soft:#eef4fb;--success:#15803d;--success-bg:#dcfce7;--danger:#b42318;--danger-bg:#fee4e2;--warning:#b54708;--warning-bg:#fef0c7;--info:#082b54;--info-bg:#e8f1ff;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:16px;--shadow-sm:0 4px 12px #0f172a0d;--shadow-md:0 10px 30px #0f172a12;--shadow-modal:0 24px 80px #0f172a40}html,body{overflow-x:hidden}.auth-modal{z-index:1000;background:#0f172a8a;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0;overflow:auto}.auth-modal.aberto{display:flex}.auth-modal-card{background:var(--surface);border-radius:var(--radius-xl);width:min(420px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-modal);padding:28px;position:relative;overflow:auto}.auth-modal-card h3{color:var(--text);letter-spacing:0;margin:0 0 6px;font-size:20px;font-weight:700}.auth-modal-card p{color:var(--text-secondary);margin:0 0 20px;font-size:13px;line-height:1.5}.auth-fechar{background:var(--surface-soft);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;font-size:14px;font-weight:700;transition:background .15s,color .15s;display:inline-flex;position:absolute;top:14px;right:14px}.auth-fechar:hover{background:var(--border);color:var(--text)}.auth-campo{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.auth-campo label{color:#475569;font-size:12px;font-weight:600}.auth-campo input,.auth-campo select{border-radius:var(--radius-md);border:1px solid var(--border-strong);height:40px;color:var(--text);background:var(--surface);box-shadow:none;outline:none;padding:0 11px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.auth-campo input:hover:not(:disabled),.auth-campo select:hover:not(:disabled){border-color:#b6c2d2}.auth-campo input:focus,.auth-campo select:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa2b}.auth-campo input:disabled,.auth-campo select:disabled{opacity:.7;cursor:not-allowed}.auth-campo input::placeholder{color:#94a3b8}.senha-campo{align-items:center;width:100%;display:flex;position:relative}.senha-campo .senha-input,.senha-campo>input{box-sizing:border-box;border-radius:var(--radius-md);border:1px solid var(--border-strong);width:100%;height:44px;color:var(--text);background:var(--surface);box-shadow:none;outline:none;padding:0 50px 0 11px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.senha-campo .senha-input:hover:not(:disabled),.senha-campo>input:hover:not(:disabled){border-color:#b6c2d2}.senha-campo .senha-input:focus,.senha-campo>input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa2b}.senha-campo .senha-input:disabled,.senha-campo>input:disabled{opacity:.7;cursor:not-allowed}.senha-campo .senha-toggle{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.senha-campo .senha-toggle:hover:not(:disabled){background:var(--surface-soft);color:var(--text)}.senha-campo .senha-toggle:disabled{opacity:.5;cursor:not-allowed}.senha-campo .senha-toggle svg{pointer-events:none;flex-shrink:0;display:block}.auth-submit{border-radius:var(--radius-md);background:var(--primary);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;width:100%;height:40px;margin-top:6px;padding:0 16px;font-family:inherit;font-size:13px;font-weight:700;transition:background .2s,transform .2s;display:inline-flex;box-shadow:0 6px 14px #082b5433}.auth-submit:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.auth-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-error{background:var(--danger-bg);border-radius:var(--radius-md);width:100%;color:var(--danger);border:1px solid #fecaca;align-items:flex-start;gap:10px;margin-top:12px;padding:12px 14px;display:flex}.login-error-icon{color:#dc2626;flex-shrink:0;margin-top:2px}.login-error-content{flex-direction:column;gap:2px;min-width:0;display:flex}.login-error-title{color:#991b1b;margin:0;font-size:14px;font-weight:700;line-height:1.4}.login-error-message{color:var(--danger);margin:0;font-size:13px;font-weight:400;line-height:1.45}.sessao-painel{align-items:center;min-width:0;display:flex}.sessao-card{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:12px;min-width:0;padding:8px 10px 8px 12px;display:flex}.sessao-info{min-width:0}.sessao-card strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:13px;font-weight:700;line-height:1.25;display:block;overflow:hidden}.sessao-card span{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:12px;font-weight:500;line-height:1.3;display:block;overflow:hidden}.sessao-acao,.sessao-sair{border-radius:var(--radius-sm);cursor:pointer;border:none;flex-shrink:0;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:700;transition:background .15s,border-color .15s}.sessao-acao{background:var(--primary-soft);color:var(--primary);border:1px solid #c8d6e5}.sessao-acao:hover{background:#dfeaf5}.sessao-sair{background:var(--danger-bg);color:var(--danger);border:1px solid #fecaca}.sessao-sair:hover{background:#fbdcdb}@media (width<=768px){.sessao-card{justify-content:space-between;width:100%}.sessao-painel{width:100%}.sessao-card strong,.sessao-card span{white-space:normal;max-width:none}}@media (width<=520px){.auth-modal{align-items:flex-start;padding:12px}.auth-modal-card{border-radius:var(--radius-lg);width:100%;max-height:calc(100dvh - 24px);padding:22px 18px}.auth-modal-card h3{padding-right:34px;font-size:18px}.login-error{gap:8px;padding:10px 12px}.sessao-card{flex-wrap:wrap;gap:10px}.sessao-info{flex:100%}.sessao-acao,.sessao-sair{flex:120px}}@media (width<=360px){.auth-modal-card{padding:20px 14px}.auth-fechar{top:10px;right:10px}}
