:root{--color-primary: #2563eb;--color-primary-dark: #1d4ed8;--color-primary-soft: #dbeafe;--color-accent-green: #16a34a;--color-accent-purple: #7c3aed;--color-accent-red: #dc2626;--color-accent-orange: #ea580c;--color-text: #111827;--color-text-strong: #172033;--color-text-body: #334155;--color-text-muted: #64748b;--color-surface: #ffffff;--color-surface-muted: #f8fafc;--color-surface-subtle: #f1f5f9;--color-surface-page: #f3f4f6;--color-surface-dark: #0f172a;--color-surface-dark-hover: #1f2937;--color-overlay-dark: rgba(15, 23, 42, .45);--color-border: #cbd5e1;--color-border-subtle: #e2e8f0;--color-border-dark: #374151;--color-focus-outline: #bfdbfe;--color-success: #166534;--color-success-bg: #f0fdf4;--color-success-border: #bbf7d0;--color-warning: #9a3412;--color-warning-bg: #fff7ed;--color-warning-border: #fed7aa;--color-error: #991b1b;--color-error-bg: #fef2f2;--color-error-border: #fecaca;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--font-family-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-sm: .82rem;--font-size-alert: .9rem;--font-size-md: 1rem;--font-size-lg: 1.15rem;--font-size-card: 1.25rem;--font-size-xl: 2rem;--button-width-md: 160px;--icon-size-md: 18px;--icon-size-lg: 24px;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-heavy: 800;--font-size-filter-label: .68rem;--letter-spacing-filter-label: .06em;--filter-card-padding: 15px;--filter-field-gap: 6px;--filter-control-padding: 10px 11px;--filter-search-input-padding-start: 38px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-dashboard-panel: 18px;--radius-pill: 999px;--shadow-card: 0 3px 12px rgba(15, 23, 42, .04);--shadow-dashboard-panel: 0 8px 22px rgba(15, 23, 42, .05);--shadow-floating: 0 12px 28px rgba(15, 23, 42, .15);--shadow-alert: 0 0 18px rgba(15, 23, 42, .16);--shadow-modal: 0 25px 70px rgba(0, 0, 0, .25)}html{--mat-dialog-actions-alignment: flex-end;--mat-dialog-actions-padding: 16px 24px;--mat-dialog-container-elevation-shadow: none;--mat-dialog-container-max-width: 560px;--mat-dialog-container-min-width: 280px;--mat-dialog-container-shape: 28px;--mat-dialog-container-small-max-width: calc(100vw - 32px) ;--mat-dialog-content-padding: 20px 24px;--mat-dialog-headline-padding: 6px 24px 13px;--mat-dialog-with-actions-content-padding: 20px 24px 0;--mat-dialog-container-color: #fef8fc;--mat-dialog-subhead-color: #1d1b1e;--mat-dialog-supporting-text-color: #49454e;--mat-dialog-subhead-line-height: 2rem;--mat-dialog-subhead-size: 1.5rem;--mat-dialog-subhead-tracking: 0;--mat-dialog-subhead-weight: 400;--mat-dialog-supporting-text-line-height: 1.25rem;--mat-dialog-supporting-text-size: .875rem;--mat-dialog-supporting-text-tracking: .016rem;--mat-dialog-supporting-text-weight: 400;--mat-snack-bar-container-shape: 4px;--mat-snack-bar-button-color: #d5baff;--mat-snack-bar-container-color: #323033;--mat-snack-bar-supporting-text-color: #f5eff4;--mat-snack-bar-supporting-text-font: var(--font-family-sans);--mat-snack-bar-supporting-text-line-height: 1.25rem;--mat-snack-bar-supporting-text-size: .875rem;--mat-snack-bar-supporting-text-weight: 400;--mat-dialog-container-color: var(--color-surface);--mat-dialog-container-elevation-shadow: var(--shadow-modal);--mat-dialog-container-shape: var(--radius-lg);--mat-dialog-subhead-color: var(--color-text-strong);--mat-dialog-subhead-font: var(--font-family-sans);--mat-dialog-subhead-size: var(--font-size-card);--mat-dialog-subhead-weight: var(--font-weight-heavy);--mat-dialog-supporting-text-color: var(--color-text-body);--mat-dialog-supporting-text-font: var(--font-family-sans);--mat-dialog-supporting-text-size: var(--font-size-sm);--mat-dialog-supporting-text-weight: 500;--mat-dialog-content-padding: var(--space-5) var(--space-6);--mat-dialog-headline-padding: var(--space-2) var(--space-6) var(--space-3);--mat-dialog-with-actions-content-padding: var(--space-5) var(--space-6) 0;--mat-dialog-actions-padding: var(--space-4) var(--space-6)}html,body{margin:0;padding:0;min-height:100%;background:#f3f4f6;color:#111827;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*,*:before,*:after{box-sizing:border-box}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,summary,[role=button]{-webkit-tap-highlight-color:transparent}button:active:not(:disabled),.button:active,[role=button]:active{transform:translateY(1px) scale(.985)}button:disabled,[aria-disabled=true]{cursor:not-allowed}:where(button,a,input,select,textarea,summary,[role=button]):focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}input,select,textarea{transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,background-color var(--motion-fast) ease}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px #2563eb1a}.sadact-icon{--icon-size: 18px;display:inline-block;width:var(--icon-size);height:var(--icon-size);flex:0 0 var(--icon-size);background:currentColor;-webkit-mask:var(--sadact-icon) center / contain no-repeat;mask:var(--sadact-icon) center / contain no-repeat}.icon-dashboard{--sadact-icon: url(/icons/dashboard.svg)}.icon-users{--sadact-icon: url(/icons/users.svg)}.icon-user{--sadact-icon: url(/icons/user.svg)}.icon-message{--sadact-icon: url(/icons/message.svg)}.icon-timeline{--sadact-icon: url(/icons/timeline.svg)}.icon-calendar{--sadact-icon: url(/icons/calendar.svg)}.icon-chart{--sadact-icon: url(/icons/chart.svg)}.icon-team{--sadact-icon: url(/icons/team.svg)}.icon-menu{--sadact-icon: url(/icons/menu.svg)}.icon-close{--sadact-icon: url(/icons/close.svg)}.icon-percent{--sadact-icon: url(/icons/percent.svg)}.icon-clock{--sadact-icon: url(/icons/clock.svg)}.icon-pause{--sadact-icon: url(/icons/pause.svg)}.icon-flag{--sadact-icon: url(/icons/flag.svg)}.icon-tag{--sadact-icon: url(/icons/tag.svg)}.icon-phone{--sadact-icon: url(/icons/phone.svg)}.icon-mail{--sadact-icon: url(/icons/mail.svg)}.icon-refresh{--sadact-icon: url(/icons/refresh.svg)}.icon-alert{--sadact-icon: url(/icons/alert.svg)}.icon-search{--sadact-icon: url(/icons/search.svg)}.icon-check{--sadact-icon: url(/icons/check.svg)}:root{--motion-fast: .15s;--motion-normal: .26s;--motion-slow: .38s;--motion-ease: cubic-bezier(.22, 1, .36, 1);--motion-ease-standard: cubic-bezier(.2, 0, 0, 1);--hover-lift: -2px;--hover-shadow: 0 10px 24px rgba(15, 23, 42, .09)}router-outlet+*{display:block;min-width:0;animation:sadact-page-enter var(--motion-slow) var(--motion-ease) both}.dashboard-hero .hero-button,.page-notification-enter{animation:sadact-item-enter var(--motion-normal) var(--motion-ease) both}button,.button,.btn-primary,.btn-secondary,.btn-outline,.btn-atualizar,.btn-limpar,.btn-secundario,.hero-button,.pagination-button,.actions-trigger,.menu-trigger,.action-menu-item,.action-menu-link,.calendar-link,.acao-abrir,.acao-ler{transition:transform var(--motion-fast) var(--motion-ease-standard),box-shadow var(--motion-normal) var(--motion-ease-standard),background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,color var(--motion-fast) ease,opacity var(--motion-fast) ease}:is(.form-card,.table-card,.modern-card,.panel,.kpi-card,.card,.metrica-card,.filtros-card,.timeline-card,.evento-card,.atividade-card,.cliente-card,.resumo-card,.login-card,.senha-card){transition:transform var(--motion-normal) var(--motion-ease),box-shadow var(--motion-normal) var(--motion-ease),border-color var(--motion-fast) ease}:is(.timeline-item,.action-item,.agenda-item,.notification-smart,.notificacao-item,.evento-item,.cidade-opcao,.sugestoes button,.funnel-row){transition:transform var(--motion-fast) var(--motion-ease-standard),background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,opacity var(--motion-fast) ease}.actions-menu[open] .actions-menu-content,details[open]>:is(.actions-menu-content,.menu-content,.dropdown-menu){transform-origin:top right;animation:sadact-menu-enter .18s var(--motion-ease) both}:is(.notificacao-panel,.config-panel,.sugestoes,.cidade-opcoes){transform-origin:top right;animation:sadact-pop-enter .22s var(--motion-ease) both}:is(.kpi-grid,.cards-resumo,.metricas-grid,.clientes-grid,.dashboard-grid,.funnel-list,.action-list,.notification-list,.agenda-list)>*{animation:sadact-item-enter var(--motion-normal) var(--motion-ease) both}:is(.kpi-grid,.cards-resumo,.metricas-grid,.clientes-grid,.dashboard-grid)>*:nth-child(2){animation-delay:35ms}:is(.kpi-grid,.cards-resumo,.metricas-grid,.clientes-grid,.dashboard-grid)>*:nth-child(3){animation-delay:70ms}:is(.kpi-grid,.cards-resumo,.metricas-grid,.clientes-grid,.dashboard-grid)>*:nth-child(4){animation-delay:105ms}:is(.kpi-grid,.cards-resumo,.metricas-grid,.clientes-grid,.dashboard-grid)>*:nth-child(n+5){animation-delay:135ms}@media(hover:hover)and (pointer:fine){button:not(:disabled):hover,.button:hover,.btn-primary:hover,.btn-secondary:hover,.btn-outline:hover,.btn-atualizar:hover,.btn-limpar:hover,.btn-secundario:hover,.acao-abrir:hover{transform:translateY(-1px)}:is(.form-card,.table-card,.modern-card,.panel,.kpi-card,.card,.metrica-card,.timeline-card,.evento-card,.atividade-card,.cliente-card,.resumo-card):hover{transform:translateY(var(--hover-lift));box-shadow:var(--hover-shadow)}:is(.timeline-item,.action-item,.agenda-item,.notification-smart,.notificacao-item,.evento-item,.cidade-opcao,.sugestoes button,.funnel-row):hover{transform:translate(2px)}.sadact-icon{transition:transform var(--motion-fast) var(--motion-ease-standard)}button:hover .sadact-icon,a:hover .sadact-icon,[role=button]:hover .sadact-icon{transform:scale(1.08)}}@keyframes sadact-page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes sadact-item-enter{0%{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sadact-menu-enter{0%{opacity:0;transform:translateY(-5px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sadact-pop-enter{0%{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.auth-page--login{width:100%;min-height:100dvh;grid-template-columns:minmax(0,1fr) minmax(420px,1fr);place-items:stretch;overflow-x:hidden}.auth-showcase{position:relative;isolation:isolate;width:100%;min-width:0;min-height:100%;overflow:hidden;display:flex;flex-direction:column;padding:clamp(34px,5vw,70px);color:var(--color-surface);background:radial-gradient(circle at 84% 72%,rgba(37,99,235,.2),transparent 30%),radial-gradient(circle at 18% 10%,rgba(59,130,246,.1),transparent 22%),#0f1a31}.auth-showcase:before,.auth-showcase:after{position:absolute;z-index:-1;border:2px solid rgba(59,130,246,.18);border-radius:50%;content:""}.auth-showcase:before{right:-115px;bottom:-195px;width:430px;height:430px}.auth-showcase:after{right:28px;bottom:-72px;width:230px;height:230px;border-color:#3b82f64d}.auth-brand{display:flex;align-items:center;gap:10px;letter-spacing:-.02em}.auth-brand strong{font-size:clamp(1.45rem,2vw,1.9rem);font-weight:850}.auth-brand>span:last-child{color:#60a5fa;font-size:1.05rem;font-weight:var(--font-weight-heavy)}.auth-brand-mark{position:relative;display:grid;width:42px;height:42px;place-items:center;border:2px solid #60a5fa;border-right-color:transparent;border-radius:50%;transform:rotate(-24deg)}.auth-brand-mark:before,.auth-brand-mark:after,.auth-brand-mark i{position:absolute;border-radius:50%;background:var(--color-surface);content:""}.auth-brand-mark:before{width:14px;height:14px}.auth-brand-mark:after{top:1px;right:2px;width:7px;height:7px;box-shadow:0 0 0 3px #0f1a31}.auth-brand-mark i{bottom:2px;left:2px;width:6px;height:6px;background:#93c5fd}.auth-showcase-content{width:min(100%,690px);margin:auto 0}.auth-showcase-eyebrow,.auth-page--login .auth-eyebrow{margin:0 0 var(--space-3);color:#3b82f6;font-size:.72rem;font-weight:850;letter-spacing:.16em}.auth-showcase h2{margin:0;color:var(--color-surface);font-size:clamp(2.65rem,5vw,5.25rem);font-weight:850;letter-spacing:-.055em;line-height:.98}.auth-showcase h2 span{color:#3b82f6}.auth-showcase-description{max-width:590px;margin:var(--space-6) 0 0;color:#b8c7df;font-size:clamp(1rem,1.7vw,1.35rem);line-height:1.55}.auth-pipeline{position:relative;display:grid;grid-template-columns:repeat(5,minmax(78px,1fr));align-items:end;gap:10px;margin-top:clamp(40px,6vh,72px);padding-top:var(--space-6)}.auth-pipeline-line{position:absolute;top:13px;left:7%;width:86%;height:1px;background:linear-gradient(90deg,#64748b,#3b82f6,#8b5cf6,#22c55e,#f59e0b);transform:rotate(-5deg);transform-origin:left;opacity:.8}.auth-stage{--stage-color: var(--color-text-muted);position:relative;min-width:0;height:112px;display:flex;flex-direction:column;justify-content:center;padding:15px 13px 12px 17px;overflow:hidden;border:1px solid rgba(148,163,184,.2);border-radius:10px;background:#152644db;box-shadow:0 14px 35px #02081738;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-stage:before{position:absolute;inset:0 auto 0 0;width:5px;background:var(--stage-color);content:""}.auth-stage i{position:absolute;top:-29px;left:50%;width:10px;height:10px;border:2px solid #0f1a31;border-radius:50%;background:var(--stage-color);box-shadow:0 0 0 2px var(--stage-color)}.auth-stage span{color:#c8d6eb;font-size:.64rem;line-height:1.2}.auth-stage strong{margin-top:var(--space-2);font-size:1.22rem}.auth-stage small,.auth-stage small:after{display:block;height:5px;border-radius:var(--radius-pill);background:#304665;content:""}.auth-stage small{width:78%;margin-top:11px}.auth-stage small:after{width:65%;margin-top:7px}.auth-stage--contato{--stage-color: #3b82f6;transform:translateY(-12px)}.auth-stage--proposta{--stage-color: #8b5cf6;transform:translateY(-24px)}.auth-stage--negociacao{--stage-color: #22c55e;transform:translateY(-36px)}.auth-stage--fechados{--stage-color: #f59e0b;transform:translateY(-48px)}.auth-showcase-result{max-width:205px;margin:var(--space-3) 0 0;color:#9fb0c9;font-size:var(--font-size-sm);line-height:1.55}.auth-showcase-result span{display:block;width:28px;height:2px;margin-bottom:11px;background:#93c5fd}.auth-showcase footer{display:flex;gap:var(--space-4);color:#5275a8;font-size:.62rem;font-weight:var(--font-weight-heavy);letter-spacing:.2em}.auth-page--login .auth-form-shell{width:100%;min-width:0;min-height:100%;padding:clamp(24px,6vw,72px);background:radial-gradient(circle at 70% 28%,rgba(219,234,254,.55),transparent 34%),#f4f7fb}.auth-page--login .auth-card{max-width:480px;padding:clamp(30px,4vw,48px);border:1px solid var(--color-border-subtle);border-radius:18px;background:var(--color-surface);box-shadow:0 24px 70px #0f172a1a}.auth-page--login .auth-heading{margin-bottom:30px;text-align:center}.auth-page--login .auth-card h1{margin:0 0 9px;font-size:clamp(1.8rem,3vw,2.25rem);letter-spacing:-.035em}.auth-page--login .auth-heading p{margin:0;font-size:.95rem}.auth-page--login .auth-field{gap:var(--space-2);margin-bottom:18px;color:#27364e;font-size:.86rem;font-weight:750}.auth-input-wrap{position:relative;display:block}.auth-page--login .auth-input{width:100%;min-height:52px;border-radius:11px;padding:13px 15px 13px 47px;color:var(--color-surface-dark);background:var(--color-surface);font:inherit;font-weight:500;outline:none}.auth-page--login .auth-input::placeholder{color:#94a3b8}.auth-page--login .auth-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px #2563eb1c}.auth-page--login .auth-input--password{padding-right:48px}.auth-input-icon,.auth-lock-icon{position:absolute;z-index:1;top:50%;left:var(--space-4);color:var(--color-text-muted);transform:translateY(-50%);pointer-events:none}.auth-lock-icon{width:15px;height:14px;border:2px solid currentColor;border-radius:3px}.auth-lock-icon:before{position:absolute;bottom:9px;left:2px;width:7px;height:7px;border:2px solid currentColor;border-bottom:0;border-radius:7px 7px 0 0;content:""}.auth-password-toggle{position:absolute;top:50%;right:7px;width:39px;height:39px;display:grid;place-items:center;border:0;border-radius:var(--radius-md);color:var(--color-text-muted);background:transparent;transform:translateY(-50%);cursor:pointer}.auth-input-wrap>.auth-password-toggle:hover,.auth-input-wrap>.auth-password-toggle:active:not(:disabled){color:var(--color-primary);background:transparent;transform:translateY(-50%)}.auth-password-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.auth-password-toggle span{position:relative;width:19px;height:12px;border:2px solid currentColor;border-radius:70% 30%;transform:rotate(45deg)}.auth-password-toggle span:after{position:absolute;top:50%;left:50%;width:4px;height:4px;border-radius:50%;background:currentColor;content:"";transform:translate(-50%,-50%)}.auth-page--login .auth-submit{min-height:52px;display:flex;align-items:center;justify-content:center;gap:9px;margin-top:25px;border-radius:11px;padding:13px;box-shadow:0 10px 22px #2563eb38;font-weight:var(--font-weight-heavy)}.auth-page--login .auth-submit:hover:not(:disabled){background:var(--color-primary-dark);box-shadow:0 12px 26px #2563eb47;transform:translateY(-1px)}.auth-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:var(--color-surface);border-radius:50%;animation:auth-spin .7s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-page--login .auth-error{border:1px solid var(--color-error-border);background:var(--color-error-bg)}.auth-page--login .auth-link{margin:-3px 0 0;font-size:.84rem;font-weight:750;text-align:right}.auth-card-footer{margin-top:28px;padding-top:22px;border-top:1px solid var(--color-border-subtle);color:#94a3b8;font-size:.7rem;text-align:center}.auth-card-footer span{margin:0 var(--space-1);color:var(--color-border)}@media(max-width:1050px){.auth-pipeline{grid-template-columns:repeat(5,minmax(64px,1fr));gap:7px}.auth-stage{padding-right:var(--space-2);padding-left:var(--space-3)}}@media(max-width:900px){.auth-page--login{grid-template-columns:1fr}.auth-showcase{min-height:auto;padding:26px clamp(22px,7vw,54px) 30px}.auth-showcase-content{margin:38px 0 0}.auth-showcase-eyebrow,.auth-pipeline,.auth-showcase-result,.auth-showcase footer{display:none}.auth-showcase h2{font-size:clamp(2rem,8vw,3.25rem);line-height:1.02}.auth-showcase-description{max-width:520px;margin-top:14px;font-size:.95rem}.auth-page--login .auth-form-shell{min-height:auto;padding:36px 20px}}@media(max-width:520px){.auth-page--login{background:var(--color-surface)}.auth-showcase{padding:21px 20px 26px}.auth-showcase-content{margin-top:30px}.auth-brand-mark{width:35px;height:35px}.auth-page--login .auth-form-shell{padding:28px 16px 36px;background:var(--color-surface)}.auth-page--login .auth-card{padding:8px 0;border:0;box-shadow:none}.auth-page--login .auth-heading{margin-bottom:25px;text-align:left}.auth-page--login .auth-heading h1{font-size:1.75rem}}@media(prefers-reduced-motion:reduce){.auth-page--login .auth-submit,.auth-page--login .auth-input{transition:none}.auth-spinner{animation-duration:1.4s}}.page-header h1{margin:6px 0 8px;font-size:32px;letter-spacing:-.035em;font-weight:var(--font-weight-heavy)}.auth-page{min-height:100vh;display:grid;place-items:center;background:var(--color-surface-muted)}.auth-form-shell{width:100%;display:grid;place-items:center}.auth-card{width:100%;background:var(--color-surface);border:1px solid #e5e7eb;border-radius:20px;padding:28px;box-shadow:0 20px 60px #0f172a1a}.auth-card--login{max-width:380px}.auth-card--password{max-width:420px}.auth-card h1{margin:0 0 var(--space-2);color:var(--color-surface-dark)}.auth-card p{margin:0 0 22px;color:var(--color-text-muted)}.auth-field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-4);color:var(--color-text-body);font-weight:600}.auth-input{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3)}.auth-submit{width:100%;border:none;border-radius:var(--radius-lg);padding:var(--space-3);background:var(--color-primary);color:var(--color-surface);font-weight:var(--font-weight-bold);cursor:pointer}.auth-submit:disabled{opacity:.7;cursor:not-allowed}.auth-error,.auth-success{padding:var(--space-3);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.auth-error{background:#fee2e2;color:var(--color-error)}.auth-success{background:#dcfce7;color:var(--color-success)}.auth-link{display:block;margin-top:var(--space-4);text-align:center;color:var(--color-primary);font-weight:var(--font-weight-bold);text-decoration:none}.auth-link:hover{text-decoration:underline}.primary-action,.secondary-action{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius-md);font-weight:var(--font-weight-heavy);cursor:pointer;text-decoration:none;transition:background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,color var(--motion-fast) ease}.primary-action{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-surface)}.primary-action:hover:not(:disabled),.primary-action:focus-visible{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.secondary-action{border:1px solid var(--color-primary);padding:10px 15px;background:var(--color-surface);color:var(--color-primary-dark);font-weight:var(--font-weight-bold)}button.secondary-button.secondary-action{border:1px solid var(--color-primary);background:var(--color-surface);color:var(--color-primary-dark);font-weight:var(--font-weight-bold)}.secondary-action:hover:not(:disabled),.secondary-action:focus-visible{background:var(--color-primary-soft);border-color:var(--color-primary-dark);color:var(--color-primary-dark)}.primary-action:hover:not(:disabled),.secondary-action:hover:not(:disabled),.primary-action:active:not(:disabled),.secondary-action:active:not(:disabled){transform:none}.page-alert{display:flex;justify-content:space-between;padding:var(--space-3) 15px;margin:10px 0;border-radius:var(--radius-md)}.page-alert button{border:0;background:none}.page-alert--error{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border)}.page-alert--success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.sadact-alert-panel{--mat-snack-bar-container-shape: var(--radius-lg);--mat-snack-bar-supporting-text-font: var(--font-family-sans);--mat-snack-bar-supporting-text-size: var(--font-size-alert);--mat-snack-bar-supporting-text-weight: var(--font-weight-semibold);--mat-snack-bar-supporting-text-line-height: 1.5}.sadact-alert-panel .mat-mdc-snackbar-surface{border:1px solid var(--mat-snack-bar-supporting-text-color);box-shadow:var(--shadow-alert)}.sadact-alert-panel.sadact-alert-success{--mat-snack-bar-container-color: var(--color-success-bg);--mat-snack-bar-supporting-text-color: var(--color-success)}.sadact-alert-panel.sadact-alert-error{--mat-snack-bar-container-color: var(--color-error-bg);--mat-snack-bar-supporting-text-color: var(--color-error)}.sadact-alert-panel.sadact-alert-warning{--mat-snack-bar-container-color: var(--color-warning-bg);--mat-snack-bar-supporting-text-color: var(--color-warning)}.sadact-alert-panel.sadact-alert-info{--mat-snack-bar-container-color: var(--color-primary-soft);--mat-snack-bar-supporting-text-color: var(--color-primary-dark)}.page-loading,.page-empty-state{padding:30px;text-align:center;color:var(--color-text-muted)}.page-pagination{display:flex;justify-content:center;gap:var(--space-1);margin-top:18px}.page-pagination-button{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm);padding:var(--space-2) 11px}.page-pagination-button.active{background:var(--color-primary);color:var(--color-surface);border-color:var(--color-primary)}.modal-dialog[open] .confirm-modal{width:min(560px,calc(100vw - 48px));max-height:calc(100dvh - 48px);overflow:auto;border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal)}.modal-dialog[open] .confirm-modal h2{color:var(--color-text-strong);font-size:var(--font-size-card);font-weight:var(--font-weight-heavy);letter-spacing:-.025em}.modal-dialog[open] .confirm-modal label{font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:normal}.modal-dialog[open] .confirm-modal input::placeholder,.modal-dialog[open] .confirm-modal textarea::placeholder{color:var(--color-text-muted);font:inherit;font-size:var(--font-size-sm);font-weight:400;letter-spacing:normal;opacity:1}.modal-dialog[open] .event-form{width:min(980px,calc(100vw - 48px));max-height:calc(100dvh - 48px);overflow:auto;margin:0;padding:var(--space-6);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-modal)}.modal-dialog[open] .event-form .form-heading h2{color:var(--color-text-strong);font-size:var(--font-size-card);font-weight:var(--font-weight-heavy);letter-spacing:-.025em}.modal-dialog[open] .event-form label{font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:normal}.modal-dialog[open] .event-form input:not([type=checkbox]),.modal-dialog[open] .event-form select{box-sizing:border-box;height:44px;min-height:44px}.modal-dialog[open] .event-form textarea{box-sizing:border-box;min-height:112px}.modal-dialog[open] .event-form input::placeholder,.modal-dialog[open] .event-form textarea::placeholder{color:var(--color-text-muted);font:inherit;font-size:var(--font-size-sm);font-weight:400;letter-spacing:normal;opacity:1}.modal-dialog[open] .event-form .form-error{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-error-border);border-radius:var(--radius-md);background:var(--color-error-bg);color:var(--color-error);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}@media(max-width:560px){.modal-dialog[open] .confirm-modal{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.modal-dialog[open] .event-form{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:18px}}.sadact-filter-card{gap:var(--space-3);padding:var(--filter-card-padding);margin-bottom:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}@media(min-width:1001px){.sadact-filter-card{gap:var(--space-2);padding:var(--space-3)}}.sadact-filter-card .sadact-filter-field{display:grid;gap:var(--filter-field-gap);color:var(--color-text-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.sadact-filter-card .sadact-filter-label{color:var(--color-text-muted);text-transform:uppercase;font-size:var(--font-size-filter-label);letter-spacing:var(--letter-spacing-filter-label)}.sadact-filter-card .sadact-filter-control{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--filter-control-padding);background:var(--color-surface);color:var(--color-text-strong);font:inherit}.sadact-filter-card .sadact-filter-select,.sadact-filter-card input.sadact-filter-control[type=date]{font-weight:500}.sadact-filter-card .sadact-filter-search{position:relative;display:block;color:var(--color-text-muted);text-transform:uppercase;font-size:var(--font-size-filter-label);letter-spacing:var(--letter-spacing-filter-label)}.sadact-filter-card .sadact-filter-search-input{padding-left:var(--filter-search-input-padding-start)}.sadact-filter-card .sadact-filter-search-icon{position:absolute;top:50%;left:var(--space-3);z-index:1;--icon-size: var(--icon-size-md);color:var(--color-text-muted);transform:translateY(-50%);pointer-events:none}.sadact-filter-card .sadact-filter-control:focus{outline:2px solid var(--color-focus-outline);border-color:var(--color-primary)}
