html{color-scheme:light dark}html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark}html{--mat-menu-container-color: var(--ec-surface);--mat-dialog-container-color: var(--ec-surface);--mat-bottom-sheet-container-background-color: var(--ec-surface);--mat-sys-background: light-dark(#faf8ff, #11131b);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f0f0fc, #2e3039);--mat-sys-inverse-primary: light-dark(#b6c4ff, #004fe4);--mat-sys-inverse-surface: light-dark(#2e3039, #e1e1ee);--mat-sys-on-background: light-dark(#191b24, #e1e1ee);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #00287d);--mat-sys-on-primary-container: light-dark(#003baf, #dce1ff);--mat-sys-on-primary-fixed: light-dark(#00164f, #00164f);--mat-sys-on-primary-fixed-variant: light-dark(#003baf, #003baf);--mat-sys-on-secondary: light-dark(#ffffff, #162c6a);--mat-sys-on-secondary-container: light-dark(#304382, #dce1ff);--mat-sys-on-secondary-fixed: light-dark(#00164f, #00164f);--mat-sys-on-secondary-fixed-variant: light-dark(#304382, #304382);--mat-sys-on-surface: light-dark(#191b24, #e1e1ee);--mat-sys-on-surface-variant: light-dark(#434655, #dfe1f4);--mat-sys-on-tertiary: light-dark(#ffffff, #003548);--mat-sys-on-tertiary-container: light-dark(#004d66, #c0e8ff);--mat-sys-on-tertiary-fixed: light-dark(#001e2b, #001e2b);--mat-sys-on-tertiary-fixed-variant: light-dark(#004d66, #004d66);--mat-sys-outline: light-dark(#737687, #8d90a1);--mat-sys-outline-variant: light-dark(#c3c5d8, #434655);--mat-sys-primary: light-dark(#004fe4, #b6c4ff);--mat-sys-primary-container: light-dark(#dce1ff, #003baf);--mat-sys-primary-fixed: light-dark(#dce1ff, #dce1ff);--mat-sys-primary-fixed-dim: light-dark(#b6c4ff, #b6c4ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#485b9c, #b6c4ff);--mat-sys-secondary-container: light-dark(#dce1ff, #304382);--mat-sys-secondary-fixed: light-dark(#dce1ff, #dce1ff);--mat-sys-secondary-fixed-dim: light-dark(#b6c4ff, #b6c4ff);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#faf8ff, #11131b);--mat-sys-surface-bright: light-dark(#faf8ff, #373942);--mat-sys-surface-container: light-dark(#ededf9, #1d1f28);--mat-sys-surface-container-high: light-dark(#e7e7f4, #282a33);--mat-sys-surface-container-highest: light-dark(#e1e1ee, #32343e);--mat-sys-surface-container-low: light-dark(#f3f2ff, #191b24);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0c0e16);--mat-sys-surface-dim: light-dark(#d9d9e5, #11131b);--mat-sys-surface-tint: light-dark(#004fe4, #b6c4ff);--mat-sys-surface-variant: light-dark(#dfe1f4, #434655);--mat-sys-tertiary: light-dark(#006687, #71d2ff);--mat-sys-tertiary-container: light-dark(#c0e8ff, #004d66);--mat-sys-tertiary-fixed: light-dark(#c0e8ff, #c0e8ff);--mat-sys-tertiary-fixed-dim: light-dark(#71d2ff, #71d2ff);--mat-sys-neutral-variant20: #2c303e;--mat-sys-neutral10: #191b24;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Plus Jakarta Sans;--mat-sys-body-large-font: Plus Jakarta Sans;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Plus Jakarta Sans;--mat-sys-body-medium-font: Plus Jakarta Sans;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Plus Jakarta Sans;--mat-sys-body-small-font: Plus Jakarta Sans;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Plus Jakarta Sans;--mat-sys-display-large-font: Plus Jakarta Sans;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Plus Jakarta Sans;--mat-sys-display-medium-font: Plus Jakarta Sans;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Plus Jakarta Sans;--mat-sys-display-small-font: Plus Jakarta Sans;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Plus Jakarta Sans;--mat-sys-headline-large-font: Plus Jakarta Sans;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Plus Jakarta Sans;--mat-sys-headline-medium-font: Plus Jakarta Sans;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Plus Jakarta Sans;--mat-sys-headline-small-font: Plus Jakarta Sans;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Plus Jakarta Sans;--mat-sys-label-large-font: Plus Jakarta Sans;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Plus Jakarta Sans;--mat-sys-label-medium-font: Plus Jakarta Sans;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Plus Jakarta Sans;--mat-sys-label-small-font: Plus Jakarta Sans;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Plus Jakarta Sans;--mat-sys-title-large-font: Plus Jakarta Sans;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Plus Jakarta Sans;--mat-sys-title-medium-font: Plus Jakarta Sans;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Plus Jakarta Sans;--mat-sys-title-small-font: Plus Jakarta Sans;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}:root{--ec-bg: #f3f6fb;--ec-surface: #ffffff;--ec-surface-2: #f3f6fb;--ec-border: #e2e8f2;--ec-title: #0a1a3f;--ec-text: #1f2a44;--ec-muted: #5a6580;--ec-primary: #1d5bf0;--ec-primary-strong: #1546c7;--ec-primary-soft: #eaf1ff;--ec-primary-soft-border: #d6e4ff;--ec-on-primary: #ffffff;--ec-cyan: #19b6ec;--ec-success: #0f7a55;--ec-success-soft: #e5f6ee;--ec-warning: #a54b00;--ec-warning-soft: #fff2e2;--ec-danger: #c0362c;--ec-danger-soft: #fdecea;--ec-alert-dot: #e8590c;--ec-cat-aviso: #1546c7;--ec-cat-aviso-bg: #eaf1ff;--ec-cat-prova: #a54b00;--ec-cat-prova-bg: #fff2e2;--ec-cat-trabalho: #6a3fd0;--ec-cat-trabalho-bg: #f0ebfd;--ec-cat-material: #0e7067;--ec-cat-material-bg: #e3f5f2;--ec-radius-sm: 10px;--ec-radius: 14px;--ec-radius-lg: 18px;--ec-shadow: 0 1px 2px rgba(10, 26, 63, .04), 0 4px 16px rgba(10, 26, 63, .06);--ec-shadow-pop: 0 12px 32px rgba(10, 26, 63, .16);--ec-font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ec-bg: #0b1220;--ec-surface: #111a2e;--ec-surface-2: #17223a;--ec-border: #22304d;--ec-title: #ffffff;--ec-text: #e6ecf8;--ec-muted: #9aa7c2;--ec-primary: #4c82ff;--ec-primary-strong: #7fa6ff;--ec-primary-soft: #16264a;--ec-primary-soft-border: #2b3d63;--ec-success: #5fd3a5;--ec-success-soft: #0f2e24;--ec-warning: #ffb46b;--ec-warning-soft: #3a2410;--ec-danger: #ff8a80;--ec-danger-soft: #3b1714;--ec-cat-aviso: #a9c3ff;--ec-cat-aviso-bg: #16264a;--ec-cat-prova: #ffb46b;--ec-cat-prova-bg: #3a2410;--ec-cat-trabalho: #c3adff;--ec-cat-trabalho-bg: #2a1f4a;--ec-cat-material: #5fd3c4;--ec-cat-material-bg: #0e2f2b;--ec-shadow: 0 1px 2px rgba(0, 0, 0, .3);--ec-shadow-pop: 0 12px 32px rgba(0, 0, 0, .5)}}:root[data-theme=dark]{--ec-bg: #0b1220;--ec-surface: #111a2e;--ec-surface-2: #17223a;--ec-border: #22304d;--ec-title: #ffffff;--ec-text: #e6ecf8;--ec-muted: #9aa7c2;--ec-primary: #4c82ff;--ec-primary-strong: #7fa6ff;--ec-primary-soft: #16264a;--ec-primary-soft-border: #2b3d63;--ec-success: #5fd3a5;--ec-success-soft: #0f2e24;--ec-warning: #ffb46b;--ec-warning-soft: #3a2410;--ec-danger: #ff8a80;--ec-danger-soft: #3b1714;--ec-cat-aviso: #a9c3ff;--ec-cat-aviso-bg: #16264a;--ec-cat-prova: #ffb46b;--ec-cat-prova-bg: #3a2410;--ec-cat-trabalho: #c3adff;--ec-cat-trabalho-bg: #2a1f4a;--ec-cat-material: #5fd3c4;--ec-cat-material-bg: #0e2f2b;--ec-shadow: 0 1px 2px rgba(0, 0, 0, .3);--ec-shadow-pop: 0 12px 32px rgba(0, 0, 0, .5)}.ec-etiqueta.tipo{color:var(--tipo-texto-claro);background:var(--tipo-fundo-claro)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .ec-etiqueta.tipo{color:var(--tipo-texto-escuro);background:var(--tipo-fundo-escuro)}}:root[data-theme=dark] .ec-etiqueta.tipo{color:var(--tipo-texto-escuro);background:var(--tipo-fundo-escuro)}body{margin:0;font-family:var(--ec-font);background:var(--ec-bg);color:var(--ec-text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3{color:var(--ec-title);letter-spacing:-.02em}.ec-botao-primario{height:48px;padding:0 20px;border:none;border-radius:12px;background:var(--ec-primary);color:var(--ec-on-primary);font:700 15px var(--ec-font);display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none}.ec-botao-primario:hover:not(:disabled){filter:brightness(1.08)}.ec-botao-primario:disabled{opacity:.5;cursor:default}.ec-botao-suave{height:40px;padding:0 14px;border:1px solid var(--ec-primary-soft-border);border-radius:12px;background:var(--ec-primary-soft);color:var(--ec-primary-strong);font:700 13px var(--ec-font);display:inline-flex;align-items:center;gap:6px;cursor:pointer;text-decoration:none}.ec-botao-suave mat-icon{font-size:18px;width:18px;height:18px}.ec-botao-perigo{height:44px;padding:0 16px;border:none;border-radius:12px;background:var(--ec-danger-soft);color:var(--ec-danger);font:700 14px var(--ec-font);display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.ec-botao-perigo mat-icon{font-size:18px;width:18px;height:18px}input::-ms-reveal,input::-ms-clear{display:none}.ec-campo{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--ec-text)}.ec-campo input,.ec-campo textarea{width:100%;height:50px;padding:0 14px;box-sizing:border-box;border:1.5px solid var(--ec-border);border-radius:12px;background:var(--ec-surface);color:var(--ec-title);font:500 16px var(--ec-font);outline:none}.ec-campo input:focus,.ec-campo textarea:focus{border-color:var(--ec-primary);box-shadow:0 0 0 3px var(--ec-primary-soft)}.ec-campo textarea{height:auto;min-height:110px;padding:12px 14px;resize:vertical;line-height:1.55}.ec-campo.invalido input,.ec-campo.invalido textarea{border-color:var(--ec-danger)}.ec-campo .com-botao{position:relative;display:block}.ec-campo .com-botao input{padding-right:52px}.ec-campo .com-botao button{position:absolute;top:3px;right:3px;width:44px;height:44px;border:none;border-radius:10px;background:transparent;color:var(--ec-muted);display:flex;align-items:center;justify-content:center;cursor:pointer}.ec-campo .erro{font-size:12px;font-weight:500;color:var(--ec-danger)}.ec-alerta-erro{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:12px;background:var(--ec-danger-soft);color:var(--ec-danger);font-size:14px}.ec-icone-quadrado{width:40px;height:40px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--ec-primary-soft);color:var(--ec-primary-strong)}.ec-vazio{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:24px 16px}.ec-vazio img{width:150px;height:150px;object-fit:contain}.ec-vazio h3{margin:6px 0 0;font-size:18px}.ec-vazio p{margin:0;max-width:340px;font-size:14px;line-height:1.6;color:var(--ec-muted)}.ec-botao-texto{height:48px;padding:0 16px;border:none;border-radius:12px;background:transparent;color:var(--ec-muted);font:600 14px var(--ec-font);cursor:pointer}.ec-botao-texto:hover{background:var(--ec-surface-2)}.ec-esqueleto{display:block;border-radius:10px;background:linear-gradient(90deg,var(--ec-surface-2) 25%,var(--ec-border) 50%,var(--ec-surface-2) 75%);background-size:200% 100%;animation:ec-brilho 1.4s infinite}@keyframes ec-brilho{0%{background-position:200% 0}to{background-position:-200% 0}}.ec-etiqueta{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--ec-cat-aviso-bg);color:var(--ec-cat-aviso)}.ec-etiqueta.fixado,.ec-etiqueta.editado{background:var(--ec-surface-2);color:var(--ec-muted)}.ec-etiqueta mat-icon{font-size:14px;width:14px;height:14px}.ec-abas{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:14px;background:var(--ec-surface-2);border:1px solid var(--ec-border);align-self:flex-start}.ec-abas button{min-height:40px;padding:0 14px;border:none;border-radius:10px;background:transparent;color:var(--ec-muted);font:600 14px var(--ec-font);display:flex;align-items:center;gap:8px;cursor:pointer}.ec-abas button.ativa{background:var(--ec-surface);color:var(--ec-title);font-weight:700;box-shadow:var(--ec-shadow)}.ec-abas .contador{min-width:22px;padding:1px 7px;box-sizing:border-box;border-radius:999px;background:var(--ec-primary-soft);color:var(--ec-primary-strong);font-size:12px;font-weight:700;text-align:center}.ec-pilulas{display:flex;flex-wrap:wrap;gap:6px}.ec-pilulas button{min-height:36px;padding:0 14px;border:1px solid var(--ec-border);border-radius:999px;background:var(--ec-surface);color:var(--ec-text);font:600 13px var(--ec-font);cursor:pointer}.ec-pilulas button.ativa{background:var(--ec-primary);border-color:var(--ec-primary);color:var(--ec-on-primary)}.ec-sheet .mat-bottom-sheet-container{border-radius:24px 24px 0 0;background:var(--ec-surface);max-width:520px;padding:12px 20px calc(20px + env(safe-area-inset-bottom))}.ec-gaveta .mat-mdc-dialog-surface{border-radius:20px 0 0 20px!important;overflow:hidden}@media(max-width:600px){.ec-gaveta .mat-mdc-dialog-surface{border-radius:0!important}}.overlay-backdrop{position:fixed;inset:0;background:#0a1a3f80;z-index:200;display:flex;align-items:flex-end;justify-content:center}.bottom-sheet{background:var(--ec-surface);border-radius:24px 24px 0 0;padding:24px 20px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}
