@import url("https://fonts.googleapis.com/css2?family=Sora:wght@100..800&family=Manrope:wght@200..800&display=swap");

/* MAM — componentes. Cores só por tokens semânticos app-* (mudam com o tema: Claro, Escuro, Alto contraste); classes com prefixo mam- */

.mam-page{margin:0;font-family:var(--font-sans);font-size:var(--ui-size);line-height:1.5;color:var(--app-text);background:var(--app-bg);-webkit-font-smoothing:antialiased;text-wrap:pretty}
.mam-page *{box-sizing:border-box}
.mam-page a{color:var(--app-accent);text-decoration:none;border-bottom:1px solid currentColor}
.mam-page a:hover{color:var(--app-text)}
.mam-preview{min-height:100vh;padding:var(--space-6);background:var(--app-preview-bg);color:var(--app-text);font-family:var(--font-sans);font-size:var(--ui-size);line-height:1.5}
.mam-preview.flush{padding:0}
.mam-page h1,.mam-page h2,.mam-page h3{font-family:var(--font-display);font-weight:500;margin:0;letter-spacing:-.01em}

.mam-lbl{font-size:var(--ui-size-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--app-text-faint);font-weight:700;margin-bottom:var(--space-2)}
.mam-ic{width:var(--icon-md);height:var(--icon-md);flex:none;display:block}
.mam-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0;white-space:nowrap}

/* Botão: altura mínima, estado pressionado e ocupado */
.mam-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:500;font-size:var(--ui-size);line-height:1.2;min-height:var(--control-h);padding:10px 24px;border-radius:var(--radius-button);border:.5px solid transparent;cursor:pointer;transition:background var(--dur-base),color var(--dur-base),border-color var(--dur-base),filter var(--dur-fast)}
.mam-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--app-bg),0 0 0 4px var(--app-focus)}
.mam-btn:active:not(:disabled){filter:brightness(.86)}
.mam-btn.sm{min-height:var(--control-h-sm);padding:8px 18px;font-size:var(--ui-size-sm)}
.mam-btn.solid{background:var(--app-accent);color:var(--app-on-accent);border-color:var(--app-accent)}
.mam-btn.solid:hover{background:var(--app-inverse);color:var(--app-on-inverse);border-color:var(--app-inverse)}
.mam-btn.ink{background:var(--app-inverse);color:var(--app-on-inverse);border-color:var(--app-inverse)}
.mam-btn.ink:hover{background:var(--app-accent);color:var(--app-on-accent);border-color:var(--app-accent)}
.mam-btn.outline{background:transparent;color:var(--app-accent);border-color:var(--app-accent)}
.mam-btn.outline:hover{background:var(--app-accent);color:var(--app-on-accent)}
.mam-btn.quiet{background:var(--app-highlight);color:var(--app-quiet-text);border-color:var(--app-highlight-border)}
.mam-btn.quiet:hover{filter:brightness(.96)}
.mam-btn.danger{background:transparent;color:var(--app-danger);border-color:var(--app-danger)}
.mam-btn.danger:hover{background:var(--app-danger);color:var(--app-on-accent)}
.mam-btn:disabled{opacity:.4;cursor:default}
.mam-btn[aria-busy="true"]{cursor:progress}
.mam-btn[aria-busy="true"]::before{content:"";width:14px;height:14px;flex:none;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:mam-spin .8s linear infinite}
@keyframes mam-spin{to{transform:rotate(360deg)}}

/* Campo */
.mam-field{display:grid;gap:6px;max-width:360px}
.mam-field label{font-size:var(--ui-size-sm);font-weight:500}
.mam-field input{min-height:var(--control-h);padding:10px 14px;font:400 var(--ui-size) var(--font-sans);color:var(--app-text);background:var(--app-surface);border:.5px solid var(--app-border);border-radius:var(--radius-field);outline:none;transition:border-color var(--dur-base),box-shadow var(--dur-base)}
.mam-field input:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-quiet)}
.mam-field input.bad{border-color:var(--app-danger)}
.mam-field small{display:block;font-size:var(--ui-size-xs);line-height:16px;color:var(--app-danger);min-height:16px;overflow-wrap:anywhere}
.mam-help{display:block;font-size:var(--ui-size-xs);line-height:16px;color:var(--app-text-muted)}
.mam-req{color:var(--app-danger);margin-inline-start:2px}
.mam-field input[readonly]{background:var(--app-surface-2);border-style:dashed;color:var(--app-text)}
.mam-field input[readonly]:focus{box-shadow:none;border-color:var(--app-border-strong)}
.mam-pw{position:relative;display:flex}
.mam-pw input{flex:1;min-width:0;padding-inline-end:96px}
.mam-pw-toggle{position:absolute;inset-inline-end:4px;top:50%;transform:translateY(-50%);min-height:36px;padding:0 12px;border:0;border-radius:var(--radius-button);background:transparent;color:var(--app-accent);font:600 var(--ui-size-sm) var(--font-sans);cursor:pointer}
.mam-pw-toggle:hover{background:var(--app-hover)}
.mam-pw-toggle:focus-visible{outline:2px solid var(--app-focus);outline-offset:0}
.mam-errsum{padding:16px 20px;border-radius:var(--radius-card);background:var(--app-danger-bg);color:var(--app-danger-text);box-shadow:inset 0 0 0 1px var(--app-danger)}
.mam-errsum:focus{outline:2px solid var(--app-focus);outline-offset:2px}
.mam-errsum h2{font-family:var(--font-display);font-size:var(--ui-size-md);font-weight:600;margin:0 0 6px}
.mam-errsum ul{margin:0;padding-inline-start:20px;font-size:var(--ui-size-sm)}
.mam-page .mam-errsum a{color:inherit;border-bottom:1px solid currentColor}
.mam-form{display:grid;gap:20px;max-width:440px}
.mam-form .mam-field{max-width:none}
.mam-field input::placeholder{color:var(--app-text-faint)}

/* Seleção, checkbox, radio */
.mam-select{position:relative;display:inline-flex;width:100%;max-width:360px}
.mam-select select{appearance:none;-webkit-appearance:none;width:100%;min-height:var(--control-h);padding-block:10px;padding-inline:14px 40px;font:400 var(--ui-size)/1.3 var(--font-sans);color:var(--app-text);background:var(--app-surface);border:.5px solid var(--app-border);border-radius:var(--radius-field);cursor:pointer;transition:border-color var(--dur-base),box-shadow var(--dur-base),filter var(--dur-fast)}
.mam-select .mam-ic{position:absolute;inset-inline-end:14px;top:50%;transform:translateY(-50%);width:var(--icon-sm);height:var(--icon-sm);color:var(--app-text-muted);pointer-events:none}
.mam-select select:hover{border-color:var(--app-border-strong)}
.mam-select select:focus-visible{outline:none;border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-quiet)}
.mam-select select:active:not(:disabled){filter:brightness(.94)}
.mam-select select:disabled{opacity:.4;cursor:default}
.mam-select.sm{width:auto;min-width:168px}
.mam-select.sm select{min-height:var(--control-h-sm);padding-block:6px;padding-inline:12px 36px;font-size:var(--ui-size-sm)}
.mam-select.sm .mam-ic{inset-inline-end:12px}
.mam-opts{display:flex;flex-wrap:wrap;gap:4px 28px}
.mam-opt{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:44px;font-family:var(--font-sans);font-size:var(--ui-size-sm);font-weight:500;color:var(--app-text);cursor:pointer}
.mam-opt input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.mam-cb,.mam-rd{width:18px;height:18px;border:1.5px solid var(--app-accent);display:inline-flex;align-items:center;justify-content:center;flex:none;background:var(--app-surface);color:var(--app-on-accent)}
.mam-cb{border-radius:0}.mam-rd{border-radius:50%}
.mam-cb .mam-ic{width:var(--icon-xs);height:var(--icon-xs);display:none}
.mam-cb.on,.mam-opt input:checked+.mam-cb,.mam-cb.mixed,.mam-opt input:indeterminate+.mam-cb{background:var(--app-accent)}
.mam-cb.on .mam-ic-check,.mam-opt input:checked+.mam-cb .mam-ic-check{display:block}
.mam-cb.mixed .mam-ic-mixed,.mam-opt input:indeterminate+.mam-cb .mam-ic-mixed{display:block}
.mam-opt input:indeterminate+.mam-cb .mam-ic-check{display:none}
.mam-rd.on,.mam-opt input:checked+.mam-rd{background:var(--app-accent);box-shadow:inset 0 0 0 3px var(--app-surface)}
.mam-opt input:focus-visible+.mam-cb,.mam-opt input:focus-visible+.mam-rd{outline:2px solid var(--app-focus);outline-offset:2px}

/* Controle segmentado: um grupo de pílulas, uma seleção. Radio nativo: Tab entra no grupo na opção marcada, setas trocam */
.mam-seg{display:inline-flex;flex-wrap:wrap;max-width:100%;background:var(--app-surface-2);border:.5px solid var(--app-border-strong);border-radius:var(--radius-pill)}
.mam-seg-opt{position:relative;flex:1 1 auto;display:flex;min-height:var(--control-h-sm);padding:3px;cursor:pointer}
.mam-seg-opt:has(input:disabled){cursor:default}
.mam-seg-opt input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.mam-seg-opt span{display:flex;flex:1;align-items:center;justify-content:center;padding:4px 16px;border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:var(--ui-size-sm);font-weight:500;line-height:1.25;text-align:center;color:var(--app-text-muted);transition:background var(--dur-base),color var(--dur-base),filter var(--dur-fast)}
.mam-seg-opt:hover span{background:var(--app-hover);color:var(--app-text)}
.mam-seg-opt:active span{filter:brightness(.94)}
.mam-seg-opt input:checked+span{background:var(--app-highlight);color:var(--app-on-highlight);box-shadow:inset 0 0 0 1px var(--app-highlight-border)}
.mam-seg-opt input:focus-visible+span{outline:2px solid var(--app-focus);outline-offset:2px}
.mam-seg-opt input:disabled+span{opacity:.4}

/* Cartão */
.mam-card{border-radius:var(--radius-card);padding:var(--space-6);background:var(--app-surface)}
.mam-card.plain{border:.5px solid var(--app-border-strong)}
.mam-card.raised{box-shadow:var(--app-shadow-card)}
.mam-card.sunken{background:var(--app-surface-2);border:.5px solid var(--app-border)}
.mam-card.accent{background:var(--app-accent-quiet)}
.mam-card h3{font-family:var(--font-display);font-weight:500;font-size:var(--ui-size-lg);margin:0 0 8px;letter-spacing:-.01em}
.mam-card p{margin:0;color:var(--app-text-muted);font-size:var(--ui-size-sm)}
.mam-kpi{font-family:var(--font-display);font-weight:800;font-size:2.75rem;line-height:1;letter-spacing:-.03em;color:var(--app-text)}

/* Chip */
.mam-chips{display:flex;gap:var(--space-2);flex-wrap:wrap}
.mam-chip{min-height:28px;padding:4px 12px;border-radius:var(--radius-pill);font-size:var(--ui-size-xs);font-weight:500;display:inline-flex;align-items:center;gap:6px}
.mam-chip.ok{background:var(--app-success-bg);color:var(--app-success-text)}
.mam-chip.info{background:var(--app-info-bg);color:var(--app-info-text)}
.mam-chip.warn{background:var(--app-warning-bg);color:var(--app-warning-text)}
.mam-chip.danger{background:var(--app-danger-bg);color:var(--app-danger-text);box-shadow:inset 0 0 0 .5px var(--app-danger)}
.mam-chip-x{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;margin-block:-4px;margin-inline:-4px -10px;border:0;border-radius:var(--radius-pill);background:transparent;color:inherit;cursor:pointer}
.mam-chip-x .mam-ic{width:var(--icon-xs);height:var(--icon-xs)}
.mam-chip-x:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--app-focus)}

/* Dado: barras com valor e categoria rotulados */
.mam-bars{display:flex;gap:var(--space-2);align-items:stretch;height:220px;background:var(--app-surface);border-radius:var(--radius-card);padding:16px 24px;border:.5px solid var(--app-border)}
.mam-bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:var(--space-1);min-width:0}
.mam-bar b{font-size:var(--ui-size-xs);font-weight:700;font-variant-numeric:tabular-nums;text-align:center;color:var(--app-text)}
.mam-bar i{display:block;min-height:8px;border-radius:0}
.mam-bar span{font-size:var(--ui-size-xs);line-height:1.25;text-align:center;color:var(--app-text-muted);overflow-wrap:anywhere;hyphens:auto}
.mam-bar i.mam-s2,.mam-legend i.mam-s2{box-shadow:inset 0 0 0 1.5px var(--data-2-edge)}
.mam-bar i.mam-s3,.mam-legend i.mam-s3{box-shadow:inset 0 0 0 1.5px var(--data-3-edge)}
.mam-legend{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-3);font-size:var(--ui-size-xs);color:var(--app-text-muted)}
.mam-legend span{display:inline-flex;align-items:center;gap:6px}.mam-legend i{width:10px;height:10px;display:inline-block}
.mam-s1{background:var(--data-1)}.mam-s2{background:var(--data-2)}.mam-s3{background:var(--data-3)}.mam-s4{background:var(--data-4)}.mam-s5{background:var(--data-5)}

/* Progresso */
.mam-prog{display:flex;align-items:center;gap:var(--space-3);min-width:160px}
.mam-prog-track{flex:1;height:8px;background:var(--app-surface-2);border:.5px solid var(--app-border-strong);overflow:hidden}
.mam-prog-fill{height:100%;background:var(--data-1)}
.mam-prog-val{font-size:var(--ui-size-xs);font-variant-numeric:tabular-nums;color:var(--app-text-muted);min-width:36px;text-align:end}

/* Tabela */
.mam-table-wrap{width:100%;overflow-x:auto}
.mam-table{width:100%;border-collapse:collapse;background:var(--app-surface);border-radius:var(--radius-card);overflow:hidden;font-size:var(--ui-size-sm);border:.5px solid var(--app-border-strong)}
.mam-table td{overflow-wrap:anywhere}
.mam-table th,.mam-table td{text-align:start;padding:14px 20px;border-bottom:.5px solid var(--app-border)}
.mam-table th{font-size:var(--ui-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--app-text-faint);background:var(--app-surface-2)}
.mam-table .n{font-variant-numeric:tabular-nums;text-align:end}
.mam-table tr:last-child td{border-bottom:0}
.mam-sort{display:inline-flex;align-items:center;gap:var(--space-1);min-height:28px;background:none;border:0;padding:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer}
.mam-sort .mam-ic{width:var(--icon-xs);height:var(--icon-xs);opacity:.35}
.mam-sort:focus-visible{outline:2px solid var(--app-focus);outline-offset:2px}
th[aria-sort] .mam-sort{color:var(--app-text)}
th[aria-sort] .mam-sort .mam-ic{opacity:1}
th[aria-sort="ascending"] .mam-sort .mam-ic{transform:rotate(180deg)}

/* Faixa de marca (cores da marca, iguais nos temas; coral troca no alto contraste) */
.mam-sec{position:relative;overflow:hidden;border-radius:0;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:56px 48px;isolation:isolate}
.mam-sec .in{position:relative;z-index:1;max-width:520px}
.mam-sec .pet{position:absolute;top:-36px;width:200px;height:auto;max-width:none}
.mam-sec.right{padding-inline-end:240px}.mam-sec.left{padding-inline-start:240px}
.mam-sec.right .pet{inset-inline-end:-80px}
.mam-sec.left .pet{inset-inline-start:-80px;transform:scaleX(-1)}
.mam-sec h2{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;letter-spacing:-.03em;line-height:1;margin:0}
.mam-sec p{margin:14px 0 0;font-size:var(--ui-size-md);max-width:40ch}
.mam-sec::after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .6 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");opacity:.25;pointer-events:none;z-index:0}
.mam-t-blush{background:var(--mam-blush);color:var(--mam-navy)}
.mam-t-navy{background:var(--mam-navy);color:var(--mam-cream)}
.mam-t-red{background:var(--block-red);color:var(--mam-cream)}
.mam-t-cream{background:var(--mam-cream);color:var(--mam-navy)}
@media(max-width:720px){.mam-sec{padding:40px 24px}.mam-sec.right{padding-inline-end:24px;padding-bottom:150px}.mam-sec.left{padding-inline-start:24px;padding-top:150px}.mam-sec .pet{width:130px;top:auto}.mam-sec.right .pet{inset-inline-end:-40px;bottom:-60px}.mam-sec.left .pet{inset-inline-start:-40px;top:-60px}}

/* Fotografia */
.mam-photo{border-radius:var(--radius-photo);overflow:hidden;background:var(--mam-navy);color:var(--mam-cream);aspect-ratio:4/5;max-width:320px;display:flex;align-items:end;padding:var(--space-6);box-shadow:var(--app-shadow-card);font-family:var(--font-display);font-weight:800;font-size:2rem;line-height:1;letter-spacing:-.03em}

/* Grade de painel: 1 coluna até 720px, 2 entre 721 e 1023px, 12 colunas a partir de 1024px (breakpoints copiados de tokens.json) */
.mam-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}
.mam-grid>*{min-width:0}
@media (min-width:721px){.mam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mam-cell-kpi{grid-column:span 1}.mam-cell-half,.mam-cell-wide,.mam-cell-narrow,.mam-cell-full{grid-column:1/-1}}
@media (min-width:1024px){.mam-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.mam-cell-kpi{grid-column:span 3}.mam-cell-half{grid-column:span 6}.mam-cell-wide{grid-column:span 8}.mam-cell-narrow{grid-column:span 4}.mam-cell-full{grid-column:1/-1}}

/* Página de apresentação (landing): largura máxima 1040px, margem lateral 24px, 64px entre seções */
.mam-wrap{width:100%;max-width:1040px;margin-inline:auto;padding-inline:var(--space-6)}
.mam-section+.mam-section{margin-top:var(--space-16)}
.mam-feat{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}
.mam-feat>*{min-width:0}
@media (min-width:721px){.mam-feat{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.mam-feat{grid-template-columns:repeat(3,minmax(0,1fr))}.mam-feat.four{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Navegação: app, barra lateral, cabeçalho */
.mam-app{display:grid;grid-template-columns:minmax(200px,max-content) 1fr;border-radius:var(--radius-card);overflow:hidden;border:.5px solid var(--app-border-strong);background:var(--app-surface);min-height:320px}
.mam-side{background:var(--app-sidebar);color:var(--app-on-sidebar);padding:24px 16px;display:flex;flex-direction:column;gap:var(--space-2)}
.mam-brand-s{font-family:var(--font-display);font-weight:800;letter-spacing:-.03em;font-size:1.25rem;margin:0 8px 20px}
.mam-nv{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 12px;border:0;background:none;border-radius:var(--radius-pill);font-family:inherit;font-size:var(--ui-size-sm);font-weight:500;text-align:start;color:var(--app-on-sidebar-muted);align-self:flex-start;cursor:pointer}
.mam-nv .mam-ic{width:var(--icon-md);height:var(--icon-md)}
.mam-nv.on{background:var(--app-highlight);color:var(--app-on-highlight);box-shadow:inset 0 0 0 1px var(--app-highlight-border)}
.mam-nv:focus-visible{outline:none;box-shadow:0 0 0 2px var(--app-sidebar),0 0 0 4px var(--app-focus-sidebar)}
.mam-nav-list{display:flex;flex-direction:column;gap:var(--space-2)}
.mam-sidebar{width:max-content;min-width:220px;max-width:20rem;min-height:360px;border-radius:var(--radius-card);overflow:hidden}
.mam-side-foot{margin-top:auto;padding-top:12px;border-top:.5px solid var(--app-on-sidebar-muted)}
.mam-main{padding:20px 28px}
.mam-top2{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap}
.mam-crumb{font-size:var(--ui-size-xs);color:var(--app-text-muted)}
.mam-tools{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}
.mam-search{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-h-sm);padding:6px 12px;border:.5px solid var(--app-border);border-radius:var(--radius-field);color:var(--app-text-faint);font-size:var(--ui-size-sm);min-width:180px}
.mam-search .mam-ic{width:var(--icon-sm);height:var(--icon-sm)}
.mam-bell{position:relative;width:36px;height:36px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--app-highlight);color:var(--app-on-highlight)}
button.mam-bell{border:0;padding:0;cursor:pointer}
.mam-bell:focus-visible{outline:none;box-shadow:0 0 0 2px var(--app-surface),0 0 0 4px var(--app-focus)}
.mam-bell .mam-ic{width:var(--icon-md);height:var(--icon-md)}
.mam-head2{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:28px;flex-wrap:wrap}
.mam-head2 h3{font-family:var(--font-display);font-size:var(--ui-size-title);font-weight:600;letter-spacing:-.02em;margin:0}
.mam-muted{color:var(--app-text-muted);font-size:var(--ui-size-sm);margin:4px 0 0}
.mam-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;min-height:64px;padding:12px 24px;background:var(--app-surface);border:.5px solid var(--app-border);border-radius:var(--radius-card)}
.mam-header-title{font-family:var(--font-display);font-weight:600;font-size:var(--ui-size-title);letter-spacing:-.02em;line-height:1.2;margin:0}
.mam-header .mam-search-field{flex:0 1 260px;min-width:200px}
.mam-avatar{width:36px;height:36px;border-radius:var(--radius-pill);background:var(--app-info-bg);color:var(--app-info-text);display:inline-flex;align-items:center;justify-content:center;font-size:var(--ui-size-xs);font-weight:700}

/* TabBar: navegação principal em tela compacta (até 5 áreas) */
.mam-tabbar{display:flex;justify-content:space-around;gap:var(--space-2);position:relative;z-index:var(--z-nav);padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));background:var(--app-surface);border-top:.5px solid var(--app-border-strong)}
.mam-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:44px;min-height:48px;padding:4px 0;border:0;background:none;border-radius:var(--radius-button);color:var(--app-text-muted);font:500 var(--ui-size-xs)/1.2 var(--font-sans);cursor:pointer}
.mam-tab-ic{position:relative;display:flex;align-items:center;justify-content:center;width:56px;height:28px;border-radius:var(--radius-pill)}
.mam-tab .mam-ic{width:var(--icon-lg);height:var(--icon-lg)}
.mam-tab.on{color:var(--app-text)}
.mam-tab.on .mam-tab-ic{background:var(--app-highlight);color:var(--app-on-highlight);box-shadow:inset 0 0 0 1px var(--app-highlight-border)}
.mam-tab:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--app-focus)}
.mam-app .mam-tabbar{display:none}
@media(max-width:720px){.mam-app{grid-template-columns:1fr}.mam-app .mam-side{display:none}.mam-app .mam-tabbar{display:flex;order:2}}

/* Filtros e busca */
.mam-filters{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;padding:var(--space-4);background:var(--app-surface);border:.5px solid var(--app-border);border-radius:var(--radius-card)}
.mam-search-field{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-h-sm);padding-block:2px;padding-inline:12px 4px;flex:1 1 220px;min-width:200px;background:var(--app-surface);border:.5px solid var(--app-border);border-radius:var(--radius-field);color:var(--app-text-faint);transition:border-color var(--dur-base),box-shadow var(--dur-base)}
.mam-search-field:focus-within{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-quiet)}
.mam-search-field .mam-ic{width:var(--icon-sm);height:var(--icon-sm)}
.mam-search-field input{flex:1;min-width:0;min-height:28px;border:0;outline:none;background:transparent;font:400 var(--ui-size-sm) var(--font-sans);color:var(--app-text)}
.mam-search-field input::placeholder{color:var(--app-text-faint)}
.mam-search-field input::-webkit-search-cancel-button{display:none}
.mam-clear{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:none;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--app-text-muted);cursor:pointer}
.mam-clear:hover{background:var(--app-hover)}
.mam-clear .mam-ic{width:var(--icon-sm);height:var(--icon-sm)}
.mam-clear:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--app-focus)}
.mam-search-field input:placeholder-shown+.mam-clear{visibility:hidden}

/* Feedback: diálogo, alerta, toast */
.mam-dlg{max-width:360px}
.mam-dlg h3{font-family:var(--font-display);font-size:var(--ui-size-lg);font-weight:600;margin:0 0 8px}
.mam-dlg p{margin:0 0 20px;color:var(--app-text-muted);font-size:var(--ui-size-sm)}
.mam-dlg-b{display:flex;gap:var(--space-2);justify-content:flex-end;flex-wrap:wrap}
.mam-alert{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-4);border-radius:var(--radius-card);font-size:var(--ui-size-sm);color:var(--app-text)}
.mam-alert .mam-ic{width:var(--icon-md);height:var(--icon-md);margin-top:2px}
.mam-alert b{display:block;font-weight:700;margin-bottom:2px}
.mam-alert.warn{background:var(--app-warning-bg);color:var(--app-warning-text)}
.mam-alert.info{background:var(--app-info-bg)}
.mam-alert.info .mam-ic{color:var(--app-info-text)}
.mam-alert.ok{background:var(--app-success-bg)}
.mam-alert.ok .mam-ic{color:var(--app-success)}
.mam-alert.danger{background:var(--app-danger-bg);color:var(--app-danger-text);box-shadow:inset 0 0 0 .5px var(--app-danger)}
.mam-alert.danger .mam-ic{color:var(--app-danger)}
.mam-alert-body{flex:1;min-width:0}
.mam-alert-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-3)}
.mam-alert.danger .mam-btn.outline{color:var(--app-danger-text);border-color:var(--app-danger-text)}
.mam-alert.danger .mam-btn.outline:hover{background:var(--app-danger-text);color:var(--app-danger-bg)}
.mam-toast{display:flex;align-items:center;gap:var(--space-3);background:var(--app-inverse);color:var(--app-on-inverse);padding-block:10px;padding-inline:16px 8px;border-radius:var(--radius-card);font-size:var(--ui-size-sm)}
.mam-toast>.mam-ic{color:var(--app-inverse-accent)}
.mam-toast span{flex:1}
.mam-toast .mam-tb{margin-inline-end:12px}
.mam-tb{min-height:28px;background:none;border:0;color:var(--app-inverse-accent);font:700 var(--ui-size-sm) var(--font-sans);padding:0 4px;cursor:pointer;text-decoration:underline;border-radius:4px}
.mam-toast-x{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:none;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--app-on-inverse);cursor:pointer}
.mam-toast-x .mam-ic{width:var(--icon-sm);height:var(--icon-sm)}
.mam-tb:focus-visible,.mam-toast-x:focus-visible{outline:none;box-shadow:0 0 0 2px var(--app-focus-inverse)}

/* Movimento reduzido */
@media (prefers-reduced-motion:reduce){
.mam-page *,.mam-page *::before,.mam-page *::after{transition:none!important}
.mam-btn[aria-busy="true"]::before,.mam-spinner{animation-duration:2.4s}
.mam-skel::after{animation:none}
}

/* Tabela: seleção de linhas e linhas alternadas */
.mam-table .sel{width:44px;padding-inline:16px 0}
.mam-table .sel .mam-opt{min-width:28px;min-height:28px;justify-content:center}
.mam-table tbody tr:hover td{background:var(--app-hover)}
.mam-table tbody tr.selected td{background:var(--app-highlight);color:var(--app-on-highlight)}
.mam-table tr.selected .mam-prog-val{color:inherit}
.mam-table.striped tbody tr:nth-child(even) td{background:var(--app-surface-2)}
.mam-table.striped tbody tr.selected td{background:var(--app-highlight)}

/* Selo (badge): novidade crítica, número ou "!" */
.mam-badge{position:absolute;top:-4px;inset-inline-end:-6px;min-width:18px;height:18px;padding-inline:5px;border-radius:var(--radius-pill);background:var(--app-accent);color:var(--app-on-accent);font:700 .6875rem/18px var(--font-sans);text-align:center;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--app-surface)}
.mam-tab-ic .mam-badge{top:-2px;inset-inline-end:8px}

/* Carregando: Placeholder e spinner */
.mam-skel{display:block;position:relative;overflow:hidden;background:var(--app-placeholder);border-radius:6px}
.mam-skel.line{height:.75rem}
.mam-skel.title{height:1.25rem;width:60%}
.mam-skel.block{height:120px;border-radius:var(--radius-card)}
.mam-skel::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:translateX(-100%);animation:mam-shimmer 1.6s ease-in-out infinite}
@keyframes mam-shimmer{to{transform:translateX(100%)}}
.mam-loading{display:flex;align-items:center;gap:10px;font-size:var(--ui-size-sm);color:var(--app-text-muted)}
.mam-spinner{width:18px;height:18px;flex:none;border-radius:50%;border:2px solid var(--app-border-strong);border-top-color:var(--app-accent);animation:mam-spin .8s linear infinite}

/* Tela vazia */
.mam-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:48px 24px;background:var(--app-surface);border:.5px dashed var(--app-border-strong);border-radius:var(--radius-card)}
.mam-empty-ic{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:var(--space-2);border-radius:var(--radius-pill);background:var(--app-highlight);color:var(--app-on-highlight)}
.mam-empty-ic .mam-ic{width:var(--icon-xl);height:var(--icon-xl)}
.mam-empty h3{font-family:var(--font-display);font-weight:600;font-size:var(--ui-size-lg);letter-spacing:-.01em;margin:0}
.mam-empty p{margin:0 0 12px;max-width:40ch;color:var(--app-text-muted);font-size:var(--ui-size-sm)}
.mam-empty-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}

/* Toque (ponteiro grosso): alvos de 44px e área de toque estendida */
@media (pointer:coarse){
:root{--control-h-sm:44px}
.mam-bell{width:44px;height:44px}
.mam-sort{min-height:44px}
.mam-tb{min-height:44px}
.mam-chip-x::after,.mam-clear::after,.mam-toast-x::after{content:"";position:absolute;inset:-8px}
.mam-nv{min-height:44px}
.mam-table .sel .mam-opt{min-width:44px;min-height:44px}
.mam-pw-toggle{top:0;bottom:0;transform:none;min-height:44px}
.mam-page .mam-crumb a{min-height:44px}
}

/* Navegação com links reais: sem sublinhado, cor do item, hover */
.mam-page .mam-nv{border-bottom:0;color:var(--app-on-sidebar-muted);text-decoration:none}
.mam-page .mam-nv:hover:not(.on){color:var(--app-on-sidebar);background:color-mix(in srgb,var(--app-on-sidebar) 10%,transparent)}
.mam-page .mam-nv.on{color:var(--app-on-highlight)}
.mam-page .mam-tab{border-bottom:0;text-decoration:none;color:var(--app-text-muted)}
.mam-page .mam-tab.on{color:var(--app-text)}
.mam-page .mam-tab:hover:not(.on){color:var(--app-text)}
.mam-page .mam-tab:hover:not(.on) .mam-tab-ic{background:var(--app-hover)}

/* Pular para o conteúdo */
.mam-app{position:relative}
.mam-page .mam-skip{display:inline-flex;align-items:center;min-height:44px;position:absolute;inset-inline-start:16px;top:-64px;z-index:var(--z-dialog);padding:10px 16px;border:0;border-radius:var(--radius-button);background:var(--app-inverse);color:var(--app-on-inverse);font-weight:600;font-size:var(--ui-size-sm);text-decoration:none;transition:top var(--dur-fast) var(--ease-enter)}
.mam-page .mam-skip:focus{top:16px;outline:2px solid var(--app-focus);outline-offset:2px}
.mam-main:focus{outline:none}

/* Trilha (breadcrumb) */
.mam-crumb ol{display:flex;flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none;font-size:var(--ui-size-xs);color:var(--app-text-muted)}
.mam-crumb li+li::before{content:"/";margin-inline:8px;color:var(--app-text-faint)}
.mam-page .mam-crumb a{display:inline-flex;align-items:center;min-height:24px;color:var(--app-text-muted);border-bottom:0;text-decoration:underline;text-decoration-thickness:.5px;text-underline-offset:3px}
.mam-page .mam-crumb a:hover{color:var(--app-text)}
.mam-crumb [aria-current="page"]{color:var(--app-text);font-weight:600}
.mam-head2 h1{font-family:var(--font-display);font-size:var(--ui-size-title);font-weight:600;letter-spacing:-.02em;margin:0}

/* Diálogo: fundo escurecido e entrada */
.mam-dlg-layer{position:relative;display:flex;align-items:center;justify-content:center;padding:32px 16px;background:var(--app-scrim);border-radius:var(--radius-card)}
.mam-scrim{position:fixed;inset:0;background:var(--app-scrim);z-index:var(--z-scrim)}
.mam-dlg.mam-card.raised{box-shadow:var(--app-shadow-card),0 0 0 1px var(--app-dialog-edge)}
.mam-dlg{position:relative;z-index:var(--z-dialog);width:100%;animation:mam-dlg-in var(--dur-enter) var(--ease-enter)}
@keyframes mam-dlg-in{from{opacity:0;transform:translateY(8px) scale(.98)}}
.mam-dlg.closing{animation:mam-dlg-out var(--dur-exit) var(--ease-exit) forwards}
@keyframes mam-dlg-out{to{opacity:0;transform:translateY(4px) scale(.98)}}

/* Gaveta: painel que desliza da borda inicial sobre o fundo escurecido. Modal: MAM.modal (bundle.js) prende o foco e fecha com Esc */
.mam-drawer{--mam-drawer-from:-100%;position:fixed;inset-block:0;inset-inline-start:0;z-index:var(--z-dialog);display:flex;flex-direction:column;width:min(320px,88vw);background:var(--app-surface);color:var(--app-text);border-start-end-radius:var(--radius-card);border-end-end-radius:var(--radius-card);box-shadow:var(--app-shadow-card),0 0 0 1px var(--app-dialog-edge);padding-block:calc(var(--space-4) + env(safe-area-inset-top,0px)) calc(var(--space-4) + env(safe-area-inset-bottom,0px));animation:mam-drawer-in var(--dur-enter) var(--ease-enter)}
[dir="rtl"] .mam-drawer{--mam-drawer-from:100%}
.mam-drawer[hidden]{display:none}
.mam-drawer.closing{animation:mam-drawer-out var(--dur-exit) var(--ease-exit) forwards}
@keyframes mam-drawer-in{from{transform:translateX(var(--mam-drawer-from))}}
@keyframes mam-drawer-out{to{transform:translateX(var(--mam-drawer-from))}}
.mam-scrim.closing{animation:mam-fade-out var(--dur-exit) var(--ease-exit) forwards}
.mam-scrim:not([hidden]){animation:mam-fade-in var(--dur-enter) var(--ease-enter)}
@keyframes mam-fade-in{from{opacity:0}}
@keyframes mam-fade-out{to{opacity:0}}
.mam-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-inline:var(--space-6) var(--space-3)}
.mam-drawer-head h2{font-family:var(--font-display);font-size:var(--ui-size-lg);font-weight:600;letter-spacing:-.01em;line-height:1.2;margin:0}
.mam-drawer-x{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--control-h-sm);height:var(--control-h-sm);flex:none;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--app-text-muted);cursor:pointer}
.mam-drawer-x:hover{background:var(--app-hover);color:var(--app-text)}
.mam-drawer-x .mam-ic{width:var(--icon-md);height:var(--icon-md)}
.mam-drawer-x:focus-visible{outline:2px solid var(--app-focus);outline-offset:2px}
.mam-drawer-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:grid;align-content:start;gap:var(--space-4);padding:var(--space-4) var(--space-6)}
.mam-drawer .mam-field{max-width:none}
.mam-drawer-foot{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-4) var(--space-6) 0;border-top:.5px solid var(--app-border)}
.mam-drawer-stage{position:relative;overflow:hidden;min-height:340px;border-radius:var(--radius-card);background:var(--app-scrim)}
.mam-drawer-stage .mam-drawer{position:absolute}
.mam-toast-region{position:fixed;inset-inline:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:var(--z-toast);display:grid;justify-items:center;gap:var(--space-2);pointer-events:none}
.mam-toast-region>*{pointer-events:auto;width:min(480px,100%)}

/* Etapas */
.mam-steps{display:flex;margin:0;padding:0;list-style:none;counter-reset:step}
.mam-steps li{flex:1;min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;font-size:var(--ui-size-sm);color:var(--app-text-muted)}
.mam-steps li::after{content:"";position:absolute;top:15px;inset-inline-start:calc(50% + 22px);inset-inline-end:calc(-50% + 22px);height:2px;background:var(--app-border-strong)}
.mam-steps li:last-child::after{display:none}
.mam-steps li.done::after{background:var(--app-accent)}
.mam-step-dot{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;border-radius:var(--radius-pill);border:1.5px solid var(--app-border-strong);background:var(--app-surface);color:var(--app-text-muted);font:700 var(--ui-size-xs) var(--font-sans);font-variant-numeric:tabular-nums}
.mam-step-dot .mam-ic{width:var(--icon-sm);height:var(--icon-sm)}
.mam-steps li.done .mam-step-dot{background:var(--app-accent);border-color:var(--app-accent);color:var(--app-on-accent)}
.mam-steps li[aria-current="step"]{color:var(--app-text);font-weight:700}
.mam-steps li[aria-current="step"] .mam-step-dot{border-color:var(--app-accent);color:var(--app-accent);box-shadow:0 0 0 4px var(--app-accent-quiet)}
.mam-page .mam-steps a{color:inherit;border-bottom:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);min-height:44px;min-width:44px}
.mam-page .mam-steps a:hover span:last-child{text-decoration:underline}
.mam-page .mam-steps a:focus-visible{outline:2px solid var(--app-focus);outline-offset:4px;border-radius:8px}
@media(max-width:720px){.mam-steps{flex-direction:column;gap:var(--space-3)}.mam-steps li{flex-direction:row;text-align:start}.mam-page .mam-steps a{flex-direction:row}.mam-steps li::after{display:none}}

/* Toque: sem atraso de toque duplo; texto e campos a 16px (sem zoom automático no iPhone) */
.mam-page :where(a,button,select,input,label,summary){touch-action:manipulation}
@media (pointer:coarse){
:root{--ui-size:1rem}
.mam-page .mam-search-field input,.mam-select.sm select,.mam-field input,.mam-pw input{font-size:1rem}
}
@media (prefers-reduced-motion:reduce){.mam-dlg,.mam-dlg.closing,.mam-drawer,.mam-drawer.closing,.mam-scrim,.mam-scrim.closing{animation:none}}

/* Texto corrido: medida confortável */
.mam-prose{max-width:65ch}
.mam-prose p{margin:0 0 1em}

/* TabBar fixa: o conteúdo reserva espaço para não ficar atrás dela */
.mam-tabbar.fixed{position:fixed;inset-inline:0;bottom:0}
.mam-page.has-tabbar{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
@media (pointer:coarse){.mam-page .mam-crumb a{min-height:44px}}

/* Logotipo (assinatura inline em currentColor) */
.mam-logo{display:block;height:auto;max-width:100%;color:inherit}
.mam-page .mam-brand-s{display:block;margin:0 8px 20px;border-bottom:0;color:var(--app-on-sidebar);text-decoration:none;border-radius:6px}
.mam-brand-s .mam-logo{width:7.5rem}
.mam-page .mam-brand-s:focus-visible{outline:none;box-shadow:0 0 0 2px var(--app-sidebar),0 0 0 4px var(--app-focus-sidebar)}
.mam-photo .mam-logo{width:70%;color:var(--mam-cream)}
.mam-sec .mam-logo.sign{width:9rem;margin-top:var(--space-6)}

/* Símbolo (duas pétalas): navy nos temas claros, blush nos escuros; em fundo fixo, segue o fundo */
.mam-symbol{display:block;width:3rem;height:auto;flex:none;fill:currentColor;color:var(--app-symbol)}
.mam-symbol.lg{width:4rem}
.mam-side .mam-symbol{width:3.5rem;color:var(--mam-blush)}
.mam-sec .mam-symbol.mark{width:4rem;margin-bottom:var(--space-6)}
.mam-t-blush .mam-symbol,.mam-t-cream .mam-symbol{color:var(--mam-navy)}
.mam-t-navy .mam-symbol{color:var(--mam-blush)}
.mam-t-red .mam-symbol{color:var(--mam-cream)}
.mam-header-lead{display:flex;align-items:center;gap:var(--space-4)}
.mam-page .mam-header-brand{display:flex;align-items:center;min-height:44px;border-bottom:0;color:var(--app-symbol);border-radius:6px}
.mam-header-brand .mam-symbol{width:2.75rem}
.mam-page .mam-header-brand:focus-visible{outline:2px solid var(--app-focus);outline-offset:4px}
.mam-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-6);padding:var(--space-8) var(--space-6);background:var(--app-surface);border-top:.5px solid var(--app-border-strong);border-radius:var(--radius-card);color:var(--app-text-muted);font-size:var(--ui-size-sm)}
.mam-footer-brand{display:flex;align-items:center;gap:var(--space-4)}
.mam-footer-brand p{margin:0;line-height:1.4;color:var(--app-text)}
.mam-footer-nav ul{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6);margin:0;padding:0;list-style:none}
.mam-page .mam-footer-nav a{display:inline-flex;align-items:center;min-height:24px;color:var(--app-text);border-bottom:0;text-decoration:underline;text-decoration-thickness:.5px;text-underline-offset:3px}
.mam-page .mam-footer-nav a:hover{color:var(--app-accent)}
.mam-footer-legal{margin:0;color:var(--app-text-muted);font-size:var(--ui-size-xs)}
@media(max-width:720px){.mam-footer{grid-template-columns:1fr;gap:var(--space-4)}}
@media (pointer:coarse){.mam-page .mam-footer-nav a{min-height:44px}}

/* Landing (site público): títulos de marca, faixas de página, topo do site, card de projeto, foto em outros formatos, lista de contato */
.mam-display{font-family:var(--font-display);font-weight:800;font-size:clamp(3rem,9vw,4.5rem);line-height:1;letter-spacing:-.03em;margin:0}
.mam-headline{font-family:var(--font-display);font-weight:800;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1;letter-spacing:-.03em;margin:0}
.mam-section-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-6);margin-bottom:var(--space-12)}
.mam-section-head>div{flex:1 1 20rem;min-width:0}
.mam-section-head p{margin:var(--space-4) 0 0;max-width:52ch;color:var(--app-text-muted);font-size:var(--ui-size-md)}
.mam-section-pad{padding-block:var(--space-16)}
/* Faixa alternada da landing: sem linha entre seções, só a troca de fundo (app-bg ↔ app-surface-2) */
.mam-section-pad.tint{background:var(--app-surface-2)}
/* Respiro da landing: 96px entre seções (referência de 90px, arredondada para a escala de 4px); 64px no celular. A interface segue em 64px */
.mam-landing{--mam-section-pad:96px}
.mam-landing .mam-section-pad{padding-block:var(--mam-section-pad)}
@media (max-width:720px){.mam-landing{--mam-section-pad:64px}}

.mam-sec.band{min-height:0;padding:96px 0;justify-content:flex-start}
.mam-sec.band .in{max-width:none}
.mam-sec.band p{max-width:52ch}
.mam-sec.band.right,.mam-sec.band.left{padding-inline:0}
.mam-sec.band .mam-section-head p{color:inherit}
.mam-sec.hero{min-height:640px;padding:0 0 96px;justify-content:flex-start}
.mam-sec.hero .in{max-width:none}
.mam-sec.hero .pet{width:26rem;top:-48px}
.mam-sec.hero.right .pet{inset-inline-end:-6rem}
.mam-sec.hero .mam-display{margin-top:var(--space-16)}
.mam-sec.hero p{font-size:var(--ui-size-md);max-width:40ch;margin-top:var(--space-6)}
.mam-sec.hero.right,.mam-sec.hero.left{padding-inline:0}
@media(max-width:720px){.mam-sec.band{padding:64px 0}.mam-sec.hero{min-height:0;padding-bottom:180px}.mam-sec.hero .pet{width:13rem;top:auto;bottom:-80px}}

.mam-t-navy .mam-btn.ink,.mam-t-red .mam-btn.ink{background:var(--mam-cream);color:var(--mam-navy);border-color:var(--mam-cream)}
.mam-t-navy .mam-btn.ink:hover,.mam-t-red .mam-btn.ink:hover{background:var(--mam-blush);border-color:var(--mam-blush);color:var(--mam-navy)}
.mam-t-navy .mam-btn.outline,.mam-t-red .mam-btn.outline{color:var(--mam-cream);border-color:var(--mam-cream);background:transparent}
.mam-t-navy .mam-btn.outline:hover,.mam-t-red .mam-btn.outline:hover{background:var(--mam-cream);color:var(--mam-navy)}
.mam-t-navy .mam-btn:focus-visible{box-shadow:0 0 0 2px var(--mam-navy),0 0 0 4px var(--app-focus-sidebar)}
.mam-t-navy .mam-lbl{color:var(--mam-blush)}
.mam-t-blush .mam-lbl,.mam-t-cream .mam-lbl{color:var(--mam-navy)}
.mam-t-red .mam-lbl{color:var(--mam-cream)}

.mam-sitenav{position:relative;z-index:var(--z-nav);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-8);min-height:84px}
.mam-sitenav ul{display:flex;flex-wrap:wrap;gap:0 var(--space-6);margin:0 0 0 auto;padding:0;list-style:none}
.mam-page .mam-sitenav a{color:inherit;border-bottom:0}
.mam-sitenav ul a{display:inline-flex;align-items:center;min-height:44px;font-size:var(--ui-size);font-weight:500;text-decoration:none}
.mam-sitenav ul a:hover,.mam-sitenav ul a[aria-current]{text-decoration:underline;text-decoration-thickness:.5px;text-underline-offset:5px}
.mam-sitenav .mam-sitenav-brand{display:inline-flex;align-items:center;min-height:44px}
.mam-sitenav .mam-symbol{color:inherit}
.mam-sitenav a:focus-visible{outline:2px solid var(--app-focus);outline-offset:4px;border-radius:4px}
.mam-t-navy .mam-sitenav a:focus-visible{outline-color:var(--app-focus-sidebar)}
.mam-t-navy .mam-sitenav .mam-symbol{color:var(--mam-blush)}
@media(max-width:720px){.mam-sitenav ul{margin:0;order:3;width:100%}}

.mam-photo{position:relative}
.mam-photo.fluid,.mam-photo.land,.mam-photo.square{max-width:none}
.mam-photo.land{aspect-ratio:4/3}
.mam-photo.square{aspect-ratio:1}
.mam-photo.flat{box-shadow:none}
.mam-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mam-photo .note{position:relative;font:700 var(--ui-size-xs)/1.5 var(--font-sans);letter-spacing:.06em;text-transform:uppercase}

.mam-proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));gap:var(--space-8) var(--space-6)}
.mam-page a.mam-proj,.mam-proj{display:block;color:var(--app-text);border-bottom:0;text-decoration:none}
.mam-proj .mam-photo{transition:transform var(--dur-base) var(--ease-standard)}
.mam-proj:hover .mam-photo{transform:translateY(-4px)}
.mam-proj-t{display:flex;align-items:baseline;gap:var(--space-3);margin-top:var(--space-4);font-family:var(--font-display);font-weight:500;font-size:var(--ui-size-lg);line-height:1.3;letter-spacing:-.01em}
.mam-proj-t span{margin-inline-start:auto;font-family:var(--font-sans);font-weight:500;font-size:var(--ui-size-sm);color:var(--app-text-muted);font-variant-numeric:tabular-nums;letter-spacing:0}
.mam-proj:hover .mam-proj-t b{text-decoration:underline;text-decoration-thickness:.5px;text-underline-offset:4px}
.mam-proj-t b{font-weight:500}
.mam-proj-meta{display:block;margin-top:var(--space-1);font-size:var(--ui-size-sm);color:var(--app-text-muted)}
.mam-page a.mam-proj:focus-visible,.mam-proj:focus-visible{outline:2px solid var(--app-focus);outline-offset:6px;border-radius:var(--radius-card)}

.mam-links{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-1)}
.mam-page .mam-links a,.mam-links a{display:inline-flex;align-items:center;gap:var(--space-3);min-height:44px;color:var(--app-text);border-bottom:0;font-weight:600;font-size:var(--ui-size-md);text-decoration:none}
.mam-links a:hover{text-decoration:underline;text-decoration-thickness:.5px;text-underline-offset:4px}
.mam-links .mam-ic{color:var(--app-text-muted)}
.mam-t-navy .mam-links a{color:var(--mam-cream)}
.mam-t-navy .mam-links .mam-ic{color:var(--mam-blush)}

@media (prefers-reduced-motion:reduce){.mam-proj .mam-photo{transition:none}.mam-proj:hover .mam-photo{transform:none}}

/* Field: texto longo */
.mam-field textarea{min-height:calc(var(--control-h) * 2.5);padding:10px 14px;font:400 var(--ui-size)/1.5 var(--font-sans);color:var(--app-text);background:var(--app-surface);border:.5px solid var(--app-border);border-radius:var(--radius-field);outline:none;resize:vertical;transition:border-color var(--dur-base),box-shadow var(--dur-base)}
.mam-field textarea:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-quiet)}
.mam-field textarea.bad{border-color:var(--app-danger)}
.mam-field textarea::placeholder{color:var(--app-text-faint)}
.mam-field .mam-select{max-width:none}

/* Botão: largura total (formulário estreito, tela de acesso) e botão como link */
.mam-btn.block{display:flex;width:100%}
.mam-page a.mam-btn{border-bottom-width:.5px;text-decoration:none}

/* Campo: cabeçalho com link ao lado do rótulo; código de uso único */
.mam-field-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}
.mam-page .mam-field-head a{font-size:var(--ui-size-sm);font-weight:600}
.mam-page .mam-field input.mam-code{font-family:var(--font-display);font-size:var(--ui-size-lg);font-weight:600;letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;padding-inline-start:calc(14px + .4em)}


/* Acesso (Auth): faixa de marca + formulário de entrada e verificação */
.mam-auth{display:flex;flex-wrap:wrap;min-height:100vh;min-height:100dvh;background:var(--app-bg)}
.mam-auth-brand{flex:1 1 42%;min-width:min(100%,360px)}
.mam-auth .mam-sec.right.mam-auth-brand{padding-inline-end:120px}
.mam-auth-main{flex:1 1 480px;min-width:0;display:flex;align-items:center;justify-content:center;padding:var(--space-16) var(--space-6)}
.mam-form.mam-auth-form{width:100%;max-width:400px;gap:var(--space-6)}
.mam-auth-head{display:grid;gap:var(--space-2)}
.mam-auth-head .mam-lbl{margin:0}
.mam-page .mam-auth-title{font-family:var(--font-display);font-size:1.875rem;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.mam-auth-head p{margin:0;color:var(--app-text-muted)}
.mam-auth-actions{display:grid;gap:var(--space-3)}
.mam-auth-note{margin:0;font-size:var(--ui-size-sm);color:var(--app-text-muted)}
@media(max-width:720px){.mam-auth-main{padding:var(--space-12) var(--space-6)}}

/* Painel (out/2026): moldura de página inteira, indicador clicável, barras agrupadas e horizontais, dispersão, mapa de calor, agenda e área recolhível */

/* Navigation: moldura de tela inteira, sem a borda do preview */
.mam-app.full{border:0;border-radius:0;min-height:100vh;background:var(--app-bg);grid-template-columns:minmax(220px,max-content) minmax(0,1fr)}
.mam-app.full .mam-main{width:100%;max-width:1320px;padding:var(--space-6) var(--space-8) var(--space-16)}
@media(max-width:720px){.mam-app.full{grid-template-columns:minmax(0,1fr)}.mam-app.full .mam-main{padding:var(--space-4) var(--space-4) var(--space-12)}.mam-app.full .mam-tabbar{position:sticky;bottom:0}}

/* Stat: indicador que leva à tela do dado */
.mam-stat{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;transition:background var(--dur-base)}
.mam-page a.mam-stat{color:var(--app-text);border:.5px solid var(--app-border-strong)}
.mam-page a.mam-stat:hover{background:var(--app-hover);color:var(--app-text)}
.mam-stat:focus-visible{outline:none;box-shadow:0 0 0 2px var(--app-bg),0 0 0 4px var(--app-focus)}
.mam-stat.raised:focus-visible{box-shadow:0 0 0 2px var(--app-bg),0 0 0 4px var(--app-focus),var(--app-shadow-card)}
.mam-stat .mam-lbl{margin:0}
.mam-stat-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:auto;font-size:var(--ui-size-sm);color:var(--app-text-muted)}
.mam-stat-foot .mam-ic{width:var(--icon-sm);height:var(--icon-sm);color:var(--app-text-muted)}
.mam-delta{font-weight:600;font-variant-numeric:tabular-nums;color:var(--app-text)}
.mam-delta.up{color:var(--app-success-text)}
.mam-metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,12rem),1fr));gap:var(--space-4);margin:0}
.mam-metrics>div{padding:var(--space-4);background:var(--app-surface-2);border:.5px solid var(--app-border);border-radius:var(--radius-card)}
.mam-metrics dt{font-size:var(--ui-size-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-text-faint)}
.mam-metrics dd{margin:var(--space-1) 0 0;font-family:var(--font-display);font-weight:600;font-size:var(--ui-size-lg);letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--app-text)}
.mam-metrics dd small{display:block;margin-top:2px;font-family:var(--font-sans);font-weight:400;font-size:var(--ui-size-xs);letter-spacing:0;color:var(--app-text-muted)}

/* DataSeries: dentro de cartão, agrupadas (duas séries) e horizontais */
.mam-bars.bare,.mam-hbars.bare{background:none;border:0;padding:0}
.mam-bars.grouped .mam-bar{gap:var(--space-2)}
.mam-bar-pair{flex:1;min-height:0;display:flex;align-items:stretch;justify-content:center;gap:4px}
.mam-bar-pair>div{flex:1;max-width:40px;display:flex;flex-direction:column;justify-content:flex-end;gap:var(--space-1)}
.mam-hbars{display:flex;flex-direction:column;gap:var(--space-3);padding:16px 24px;background:var(--app-surface);border:.5px solid var(--app-border);border-radius:var(--radius-card)}
.mam-hbar{display:grid;grid-template-columns:minmax(6rem,32%) minmax(0,1fr) minmax(3rem,auto);align-items:center;gap:var(--space-3);font-size:var(--ui-size-xs)}
.mam-hbar>span{color:var(--app-text-muted);line-height:1.25;overflow-wrap:anywhere}
.mam-hbar>b{font-weight:700;font-variant-numeric:tabular-nums;text-align:end;color:var(--app-text)}
.mam-hbar-track{height:12px;background:var(--app-surface-2)}
.mam-hbar-track i{display:block;height:100%;min-width:4px}
.mam-hbar-track i.mam-s2{box-shadow:inset 0 0 0 1.5px var(--data-2-edge)}
.mam-hbar-track i.mam-s3{box-shadow:inset 0 0 0 1.5px var(--data-3-edge)}
.mam-hbar-track.plan{position:relative}
.mam-hbar-mark{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--data-5)}

/* Scatter: dispersão de itens por dois eixos, com zona de atenção */
.mam-scatter{position:relative;height:280px;margin:8px 8px 32px 36px;border-inline-start:.5px solid var(--app-border-strong);border-bottom:.5px solid var(--app-border-strong)}
.mam-scatter-zone{position:absolute;inset-inline-start:0;bottom:0;width:50%;height:50%;background:var(--app-surface-2);display:flex;align-items:flex-end;padding:8px;font-size:var(--ui-size-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-text-faint)}
.mam-scatter-mid{position:absolute;inset-inline-start:50%;top:0;bottom:0;border-inline-start:.5px dashed var(--app-border-strong)}
.mam-scatter-mid.y{inset-inline-start:0;inset-inline-end:0;top:50%;bottom:auto;border-inline-start:0;border-top:.5px dashed var(--app-border-strong)}
.mam-scatter-tick{position:absolute;font-size:var(--ui-size-xs);font-variant-numeric:tabular-nums;color:var(--app-text-faint)}
.mam-scatter-tick.x{bottom:-24px;transform:translateX(-50%)}
.mam-scatter-tick.y{inset-inline-start:-36px;transform:translateY(50%)}
.mam-pt{position:absolute;display:inline-flex;align-items:center;gap:6px;min-height:28px;padding-inline-end:6px;transform:translate(-7px,50%);font-size:var(--ui-size-xs);font-weight:600;line-height:1.2;white-space:nowrap;border-radius:var(--radius-pill)}
.mam-page a.mam-pt{color:var(--app-text);border-bottom:0}
.mam-page a.mam-pt:hover{background:var(--app-hover)}
.mam-pt:focus-visible{outline:none;box-shadow:0 0 0 2px var(--app-focus)}
.mam-pt i{width:14px;height:14px;flex:none;border-radius:50%;box-shadow:0 0 0 2px var(--app-surface)}
.mam-pt i.sq,.mam-legend i.sq{border-radius:0}
.mam-pt i.mam-s3{box-shadow:0 0 0 2px var(--app-surface),inset 0 0 0 1.5px var(--data-3-edge)}
.mam-pt.end{flex-direction:row-reverse;padding-inline:6px 0;transform:translate(calc(-100% + 7px),50%)}
.mam-legend i.dot{border-radius:50%}
.mam-pt i.dia,.mam-legend i.dia{border-radius:0;transform:rotate(45deg) scale(.86)}
.mam-scatter-zone{box-sizing:border-box}

/* Heatmap: valor por linha e coluna em quatro faixas da série Odyssey */
.mam-heat{display:grid;grid-template-columns:minmax(9rem,1.5fr) repeat(var(--cols,6),minmax(2.75rem,1fr));gap:4px;min-width:min(100%,36rem);font-size:var(--ui-size-xs)}
.mam-heat .h{padding:4px;text-align:center;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--app-text-faint)}
.mam-heat .h:first-child{text-align:start}
.mam-heat .r{align-self:center;padding:8px 8px 8px 0;font-size:var(--ui-size-sm);color:var(--app-text);overflow-wrap:anywhere}
.mam-heat .c{min-height:40px;display:flex;align-items:center;justify-content:center;font-weight:700;font-variant-numeric:tabular-nums;background:var(--app-surface-2);color:var(--app-text-muted)}
.mam-h1{background:var(--data-heat-1)}.mam-h2{background:var(--data-heat-2)}.mam-h3{background:var(--data-heat-3)}.mam-h4{background:var(--data-heat-4)}
.mam-heat .c.mam-h1,.mam-heat .c.mam-h2,.mam-heat .c.mam-h3{color:var(--app-text)}
.mam-heat .c.mam-h4{color:var(--app-on-inverse)}
.mam-legend i.mam-h1{box-shadow:inset 0 0 0 .5px var(--app-border-strong)}

/* Agenda: próximos eventos com data em bloco */
.mam-agenda{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.mam-agenda li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:.5px solid var(--app-border)}
.mam-agenda li:last-child{border-bottom:0}
.mam-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:52px;padding:6px 8px;line-height:1.1;background:var(--app-surface-2);border:.5px solid var(--app-border);border-radius:var(--radius-field)}
.mam-date b{font-family:var(--font-display);font-weight:600;font-size:var(--ui-size-lg);font-variant-numeric:tabular-nums}
.mam-date span{font-size:var(--ui-size-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-text-faint)}
.mam-agenda-t{display:block;font-size:var(--ui-size-sm);font-weight:600;color:var(--app-text);overflow-wrap:anywhere}
.mam-agenda-s{display:block;font-size:var(--ui-size-xs);color:var(--app-text-muted);overflow-wrap:anywhere}
@media(max-width:480px){.mam-agenda li{grid-template-columns:auto minmax(0,1fr)}.mam-agenda li .mam-chip{grid-column:2;justify-self:start}}

/* Disclosure: área recolhível */
.mam-disclosure{background:var(--app-surface);border:.5px solid var(--app-border-strong);border-radius:var(--radius-card)}
.mam-disclosure>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--control-h);padding:var(--space-4) var(--space-6);border-radius:var(--radius-card);cursor:pointer;font-family:var(--font-display);font-weight:500;font-size:var(--ui-size-lg);letter-spacing:-.01em;transition:background var(--dur-base)}
.mam-disclosure>summary::-webkit-details-marker{display:none}
.mam-disclosure>summary:hover{background:var(--app-hover)}
.mam-disclosure>summary:focus-visible{outline:none;box-shadow:0 0 0 2px var(--app-bg),0 0 0 4px var(--app-focus)}
.mam-disclosure>summary small{display:block;font-family:var(--font-sans);font-weight:400;font-size:var(--ui-size-sm);letter-spacing:0;color:var(--app-text-muted)}
.mam-disclosure>summary .mam-ic{transition:transform var(--dur-base) var(--ease-standard)}
.mam-disclosure[open]>summary .mam-ic{transform:rotate(180deg)}
.mam-disclosure-body{padding:0 var(--space-6) var(--space-6)}
@media (prefers-reduced-motion:reduce){.mam-disclosure>summary,.mam-disclosure>summary .mam-ic,.mam-stat{transition:none}}

/* Telas do admin (out/2026): abas de seção, paginação, botão só ícone, cronômetro, Stat que filtra, lista de definição e barra de seleção */

/* Button: só ícone, quadrado, para ação de linha de tabela e de cartão */
.mam-btn.icon{width:var(--control-h);padding:0;flex:none}
.mam-btn.icon.sm{width:var(--control-h-sm);padding:0}
.mam-btn.icon .mam-ic{width:var(--icon-sm);height:var(--icon-sm)}
.mam-btn.plain{background:transparent;color:var(--app-text-muted);border-color:transparent}
.mam-btn.plain:hover{background:var(--app-hover);color:var(--app-text)}
.mam-row-actions{display:inline-flex;align-items:center;gap:var(--space-1);justify-content:flex-end}

/* Tabs: navegação entre seções da MESMA tela (cada seção com endereço) */
.mam-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}
.mam-tabs a{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-h-sm);padding:6px 16px;border-radius:var(--radius-pill);font-size:var(--ui-size-sm);font-weight:500;color:var(--app-text-muted);text-decoration:none;transition:background var(--dur-base),color var(--dur-base)}
.mam-page .mam-tabs a{border-bottom:0;color:var(--app-text-muted)}
.mam-page .mam-tabs a:hover{background:var(--app-hover);color:var(--app-text)}
.mam-page .mam-tabs a[aria-current="page"]{background:var(--app-highlight);color:var(--app-on-highlight);box-shadow:inset 0 0 0 1px var(--app-highlight-border);font-weight:600}
.mam-tabs a:focus-visible{outline:none;box-shadow:0 0 0 2px var(--app-bg),0 0 0 4px var(--app-focus)}
.mam-tabs.line{gap:var(--space-6);border-bottom:.5px solid var(--app-border-strong)}
.mam-tabs.line a{min-height:var(--control-h);padding:0 2px;border-radius:0;font-size:var(--ui-size);margin-bottom:-.5px}
.mam-page .mam-tabs.line a:hover{background:transparent;color:var(--app-text)}
.mam-page .mam-tabs.line a[aria-current="page"]{background:transparent;box-shadow:inset 0 -2px 0 var(--app-text);color:var(--app-text)}
.mam-tabs .mam-count{min-width:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--app-surface-2);font-size:var(--ui-size-xs);font-weight:700;font-variant-numeric:tabular-nums;text-align:center}
@media (pointer:coarse){.mam-tabs a{min-height:44px}}

/* Pagination */
.mam-pager{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;font-size:var(--ui-size-sm);color:var(--app-text-muted)}
.mam-pager ol{display:flex;align-items:center;gap:var(--space-1);margin:0;padding:0;list-style:none}
.mam-pager a{display:inline-flex;align-items:center;justify-content:center;min-width:var(--control-h-sm);min-height:var(--control-h-sm);border-radius:var(--radius-pill);font-variant-numeric:tabular-nums}
.mam-page .mam-pager a{border-bottom:0;color:var(--app-text)}
.mam-page .mam-pager a:hover{background:var(--app-hover)}
.mam-page .mam-pager a[aria-current="page"]{background:var(--app-highlight);color:var(--app-on-highlight);box-shadow:inset 0 0 0 1px var(--app-highlight-border);font-weight:700}
.mam-pager a:focus-visible{outline:none;box-shadow:0 0 0 2px var(--app-bg),0 0 0 4px var(--app-focus)}
.mam-pager .mam-pager-nav{display:flex;align-items:center;gap:var(--space-2)}
@media (pointer:coarse){.mam-pager a{min-width:44px;min-height:44px}}

/* Timer: cronômetro de lançamento de horas */
.mam-timer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-4) var(--space-6)}
.mam-timer-time{font-family:var(--font-display);font-weight:800;font-size:2.75rem;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--app-text)}
.mam-timer-state{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--ui-size-sm);color:var(--app-text-muted)}
.mam-timer-state i{width:8px;height:8px;border-radius:50%;background:var(--app-text-faint)}
.mam-timer.running .mam-timer-state i{background:var(--app-success);animation:mam-timer-pulse 1.6s var(--ease-standard) infinite}
.mam-timer-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:var(--space-3)}
.mam-timer-controls{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}
@keyframes mam-timer-pulse{0%,100%{opacity:1}50%{opacity:.35}}
@media (max-width:720px){.mam-timer{grid-template-columns:minmax(0,1fr)}.mam-timer-controls{justify-content:flex-start}}
@media (prefers-reduced-motion:reduce){.mam-timer.running .mam-timer-state i{animation:none}}

/* Stat que filtra a lista (botão, não link) */
.mam-page button.mam-stat{width:100%;text-align:start;font:inherit;color:var(--app-text);border:.5px solid var(--app-border-strong);cursor:pointer}
.mam-page button.mam-stat:hover{background:var(--app-hover)}
.mam-page button.mam-stat[aria-pressed="true"]{background:var(--app-highlight);color:var(--app-on-highlight);box-shadow:inset 0 0 0 1px var(--app-highlight-border)}
.mam-page button.mam-stat[aria-pressed="true"] .mam-lbl,.mam-page button.mam-stat[aria-pressed="true"] .mam-stat-foot{color:var(--app-on-highlight)}
.mam-stat .mam-kpi.sm{font-size:1.875rem}

/* Lista de definição: pares rótulo/valor de cadastro */
.mam-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:var(--space-4) var(--space-6);margin:0}
.mam-dl>div{display:flex;flex-direction:column;gap:2px;min-width:0;padding-bottom:var(--space-3);border-bottom:.5px solid var(--app-border)}
.mam-dl dt{font-size:var(--ui-size-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-text-faint)}
.mam-dl dd{margin:0;font-size:var(--ui-size);color:var(--app-text);overflow-wrap:anywhere}
.mam-dl dd.n{font-variant-numeric:tabular-nums}

/* Barra de seleção da Table: aparece com linhas marcadas */
.mam-selbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);background:var(--app-highlight);color:var(--app-on-highlight);border:.5px solid var(--app-highlight-border);border-radius:var(--radius-card);font-size:var(--ui-size-sm);font-weight:600}
.mam-selbar .mam-tools{gap:var(--space-2)}

/* Configurações e telas de estado (out/2026): abas empilhadas, layout de ajustes, formulário largo com grupos e ações, página de estado */

/* Tabs empilhadas: menu de seções em coluna, com grupos */
.mam-tabs.stack{flex-direction:column;flex-wrap:nowrap;gap:2px}
.mam-tabs.stack a{display:flex;width:100%}
.mam-tabs-group{display:flex;flex-direction:column;gap:var(--space-1)}
.mam-tabs-group+.mam-tabs-group{margin-top:var(--space-4)}
.mam-tabs-group>.mam-lbl{margin:0;padding-inline:16px}

/* Settings: menu de seções ao lado do conteúdo; empilha em tela compacta */
.mam-settings{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-8)}
.mam-settings-nav{flex:1 1 15rem;max-width:18rem;display:flex;flex-direction:column;gap:var(--space-4)}
.mam-settings-body{flex:999 1 32rem;min-width:0;display:flex;flex-direction:column;gap:var(--space-6)}
@media(max-width:720px){.mam-settings-nav{max-width:none}}

/* Form: largo, grupos de campos e barra de ações */
.mam-form.wide{max-width:none}
.mam-fieldset{margin:0;padding:0;border:0;min-width:0}
.mam-fieldset>legend{padding:0;margin-bottom:var(--space-2);font-family:var(--font-display);font-weight:500;font-size:var(--ui-size-lg);letter-spacing:-.01em;color:var(--app-text)}
.mam-fieldset>.mam-help{display:block;margin:0 0 var(--space-4)}
.mam-fieldset+.mam-fieldset{padding-top:var(--space-6);border-top:.5px solid var(--app-border)}
.mam-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:20px var(--space-6)}
.mam-fields>.full{grid-column:1/-1}
.mam-form-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:.5px solid var(--app-border)}
.mam-form-actions>.mam-help{margin-inline-end:auto}

/* StatusPage: tela inteira de estado (404, sem acesso, manutenção) */
.mam-status{display:flex;flex-wrap:wrap;min-height:100vh;min-height:100dvh;background:var(--app-bg)}
.mam-status-brand{flex:1 1 420px}
.mam-status-brand .mam-display{margin-top:var(--space-6);color:inherit}
.mam-status-main{flex:999 1 480px;min-width:0;display:flex;align-items:center;justify-content:center;padding:var(--space-16) var(--space-6)}
.mam-status-body{width:100%;max-width:440px;display:grid;gap:var(--space-4)}
.mam-status-body .mam-lbl{margin:0}
.mam-status-title{margin:0;font-family:var(--font-display);font-size:1.875rem;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.mam-status-body p{margin:0;color:var(--app-text-muted);font-size:var(--ui-size-md)}
.mam-status-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}
@media(max-width:720px){.mam-status-main{padding:var(--space-12) var(--space-6)}}


/* Bloco editorial: texto de um lado, fotografia grande do outro. A foto sangra até a borda da tela no lado de fora; o texto segue o alinhamento de 1040px da página */
.mam-editorial{--mam-edge:max(var(--space-6),calc((100vw - 1040px) / 2 + var(--space-6)));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center}
.mam-editorial-text{min-width:0;display:grid;gap:var(--space-4);justify-items:start;padding-inline:var(--mam-edge) var(--space-12)}
.mam-editorial-media{min-width:0;margin:0}
.mam-editorial-media .mam-photo{max-width:none;width:100%;border-start-end-radius:0;border-end-end-radius:0}
.mam-editorial-media .mam-help{margin-top:var(--space-3)}
.mam-editorial.flip{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.mam-editorial.flip .mam-editorial-text{order:2;padding-inline:var(--space-12) var(--mam-edge)}
.mam-editorial.flip .mam-editorial-media{order:1}
.mam-editorial.flip .mam-editorial-media .mam-photo{border-start-start-radius:0;border-end-start-radius:0;border-start-end-radius:var(--radius-photo);border-end-end-radius:var(--radius-photo)}
@media (max-width:720px){
.mam-editorial,.mam-editorial.flip{grid-template-columns:minmax(0,1fr);gap:var(--space-8)}
.mam-editorial .mam-editorial-text,.mam-editorial.flip .mam-editorial-text{order:0;padding-inline:var(--space-6)}
.mam-editorial .mam-editorial-media,.mam-editorial.flip .mam-editorial-media{order:1}
.mam-editorial-media .mam-photo,.mam-editorial.flip .mam-editorial-media .mam-photo{border-radius:0}
.mam-editorial-media .mam-help{padding-inline:var(--space-6)}
}

/* Carrossel: faixa com rolagem por encaixe (scroll-snap). Controles numa pílula translúcida de 36px sob a faixa; MAM.carousel (bundle.js) cuida de anterior, próximo, pausa e pontos */
.mam-carousel{position:relative;min-width:0}
.mam-carousel-track{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:min(100%,26rem);gap:var(--space-4);overflow-x:auto;padding-inline-end:calc(100% - min(100%,26rem));scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;border-radius:var(--radius-card)}
.mam-carousel-track::-webkit-scrollbar{display:none}
.mam-carousel-track:focus-visible{outline:2px solid var(--app-focus);outline-offset:4px}
.mam-carousel-slide{scroll-snap-align:start;min-width:0;margin:0}
.mam-carousel-slide blockquote{margin:0}
.mam-carousel-slide blockquote p{margin:0 0 var(--space-4);color:var(--app-text);font-size:var(--ui-size-md)}
.mam-carousel-ctrl{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--control-h-sm);margin-top:var(--space-4);padding:0 var(--space-1);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--app-surface) 72%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.mam-cc-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--control-h-sm);height:var(--control-h-sm);padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--app-text);cursor:pointer}
.mam-cc-btn .mam-ic{width:var(--icon-sm);height:var(--icon-sm)}
.mam-cc-btn:hover:not(:disabled){background:var(--app-hover)}
.mam-cc-btn:disabled{opacity:.4;cursor:default}
.mam-cc-btn:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--app-focus)}
.mam-cc-pause .mam-ic-play{display:none}
.mam-cc-pause[data-paused="true"] .mam-ic-play{display:block}
.mam-cc-pause[data-paused="true"] .mam-ic-pause{display:none}
.mam-cc-dots{display:inline-flex;align-items:center;gap:var(--space-2);padding-inline:var(--space-2)}
.mam-cc-dot{position:relative;width:8px;height:8px;padding:0;border:0;border-radius:var(--radius-pill);background:var(--app-text-muted);cursor:pointer;transition:width var(--dur-base) var(--ease-standard),background var(--dur-base)}
.mam-cc-dot::after{content:"";position:absolute;inset:-12px -4px}
.mam-cc-dot[aria-current="true"]{width:20px;background:var(--app-text)}
.mam-cc-dot:focus-visible{outline:2px solid var(--app-focus);outline-offset:3px}
@media (pointer:coarse){.mam-cc-dot::after{inset:-18px -4px}}
@media (prefers-reduced-motion:reduce){.mam-cc-dot{transition:none}}

/* Botão link: ação em texto dentro de um campo ou frase ("Esqueci minha senha"); age, não navega */
.mam-btn.link{min-height:24px;padding:0;border:0;background:transparent;color:var(--app-accent);font-size:var(--ui-size-sm);font-weight:600;text-decoration:underline;text-decoration-thickness:.5px;text-underline-offset:3px}
.mam-btn.link:hover:not(:disabled){color:var(--app-text)}
.mam-btn.link:active:not(:disabled){filter:none}
.mam-btn.link:focus-visible{box-shadow:none;outline:2px solid var(--app-focus);outline-offset:2px;border-radius:4px}
@media (pointer:coarse){.mam-btn.link{min-height:44px}}

/* Acesso: QR code do cadastro do autenticador; fundo branco em todos os temas para a câmera ler */
.mam-auth-qr{display:flex;justify-content:center;padding:var(--space-4);background:var(--mam-white);border:.5px solid var(--app-border-strong);border-radius:var(--radius-card)}
.mam-auth-qr img,.mam-auth-qr .mam-skel{display:block;width:12rem;height:12rem}

/* Acesso: a faixa ocupa ~42% da largura (mínimo 360px) e reserva 120px para a pétala;
   abaixo de ~830px vai para cima. No celular vira cabeçalho curto (símbolo, rótulo,
   manchete), para o formulário aparecer na primeira tela. */
@media(max-width:1024px){.mam-auth .mam-sec.right.mam-auth-brand{padding-inline-end:96px}.mam-auth .mam-auth-brand .pet{width:150px;inset-inline-end:-70px}}
@media(max-width:720px){.mam-auth .mam-sec.right.mam-auth-brand{min-height:0;padding:var(--space-8) 96px var(--space-8) var(--space-6)}.mam-auth .mam-auth-brand .pet{width:110px;top:-24px;bottom:auto;inset-inline-end:-50px}.mam-auth .mam-auth-brand .mam-symbol.mark{width:3rem;margin-bottom:var(--space-4)}.mam-auth .mam-auth-brand h2{font-size:1.875rem}.mam-auth .mam-auth-brand p:not(.mam-lbl),.mam-auth .mam-auth-brand .mam-logo.sign{display:none}}
