:root{--dark-blue: #3e5edc;--base-blue: #8a98be;--light-blue: #c6ccf8}#storybook-root{width:100%;height:100%}.dark-template{width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:#0b0d1a}.Odontogram{--odontogram-tooltip-bg: rgba(0, 0, 0, .85);--odontogram-tooltip-fg: #fff}.Odontogram.dark-theme{--odontogram-tooltip-bg: rgba(255, 255, 255, .95);--odontogram-tooltip-fg: #000}.Odontogram.dark-theme svg{--dark-blue: #aab6ff;--base-blue: #d0d5f6;--light-blue: #5361e6;background-color:#0b0d1a;color-scheme:dark;color:#e4e6ef}.Odontogram svg{color:var(--base-blue);fill:none;transition:all ease-in 125ms}.Odontogram[data-read-only=true]{pointer-events:none}.Odontogram svg path:nth-of-type(2){opacity:0;transition:all ease-in .2s}.Odontogram svg path[data-colored=true]{opacity:1!important;transition:none}.Odontogram g.selected path:nth-of-type(2){fill:var(--light-blue);opacity:1}.Odontogram g.selected path:first-of-type{transition:stroke 1s ease}.Odontogram g.selected:hover path:first-of-type{stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-dasharray:4 4;stroke-dashoffset:0;transition:stroke 5s ease;animation:dash-move 1s linear infinite;animation-delay:1s;filter:drop-shadow(0 0 8px currentColor);-webkit-filter:drop-shadow(0 0 8px currentColor)}@keyframes dash-move{to{stroke-dashoffset:8}}.Odontogram g.selected{transition:all .3s ease;color:var(--dark-blue)}.Odontogram g.selected path{stroke-width:1.5}.Odontogram g[class^=teeth-]:hover path:nth-of-type(2){fill:var(--light-blue);opacity:1}.odontogram-tooltip{box-shadow:0 2px 8px #00000026;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.Odontogram g[role=option]:focus-visible{outline:4px solid var(--dark-blue)!important}:root{color-scheme:light;--bg: #ffffff;--surface: #ffffff;--surface-subtle: rgba(23, 137, 201, .06);--surface-strong: rgba(23, 137, 201, .1);--text: #0b4f8a;--text-soft: rgba(11, 79, 138, .82);--muted: rgba(11, 79, 138, .64);--line: rgba(23, 137, 201, .2);--line-strong: rgba(11, 79, 138, .28);--primary: #0b4f8a;--primary-dark: #0b4f8a;--primary-soft: rgba(23, 137, 201, .12);--primary-faint: rgba(23, 137, 201, .06);--blue: #1789c9;--green: #2ead5b;--green-soft: rgba(46, 173, 91, .12);--amber: #1789c9;--amber-soft: rgba(23, 137, 201, .1);--red: #0b4f8a;--red-soft: rgba(11, 79, 138, .08);--shadow-sm: 0 1px 2px rgba(11, 79, 138, .08);--shadow-md: 0 12px 30px rgba(11, 79, 138, .12);--content: 1280px;--topbar-height: 72px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html{min-width:320px;overflow-x:hidden;background:var(--bg);scroll-behavior:smooth}body{min-width:320px;height:100dvh;margin:0;overflow:hidden;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}#root{height:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}button,input,select,textarea{letter-spacing:0}:focus-visible{outline:3px solid rgba(23,137,201,.28);outline-offset:2px}h1,h2,h3,p,dl,dd{margin-top:0}h1,h2,h3{color:var(--text);letter-spacing:0}h2{margin-bottom:8px;font-size:2rem;line-height:1.16}h3{margin-bottom:8px;font-size:1.05rem;line-height:1.3}p{color:var(--muted);line-height:1.55}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.splash-screen{width:100%;height:100dvh;display:grid;place-items:center;overflow:hidden;background:#fff}.splash-logo{width:clamp(300px,62vw,860px);max-width:calc(100vw - 48px);height:auto;display:block;animation:splash-blink 3s ease-in-out both}@keyframes splash-blink{0%{opacity:0;transform:scale(.96)}12%,34%,56%,78%{opacity:1;transform:scale(1)}23%,45%,67%{opacity:.38;transform:scale(.985)}to{opacity:0;transform:scale(1.02)}}.app-shell{height:100dvh;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;padding-bottom:0}.main-area{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain}.app-shell.home-shell{height:100dvh;min-height:0;overflow:hidden;padding-bottom:0}.home-shell .main-area{height:calc(100dvh - var(--topbar-height));overflow:hidden}.home-shell .page-content{height:100%;padding-top:16px;padding-bottom:82px}.app-shell:not(.home-shell) .page-content{padding-bottom:110px}.workflow-shell .main-area{overflow:hidden}.app-shell.workflow-shell .page-content{height:100%;min-height:0;display:flex;flex-direction:column;padding-top:8px;padding-bottom:clamp(80px,12vh,98px)}.workflow-shell .app-alert{flex:0 0 auto}.topbar{position:sticky;top:0;z-index:30;min-height:var(--topbar-height);border-bottom:1px solid var(--line);background:#fff}.topbar-inner{width:min(var(--content),calc(100% - 40px));min-height:var(--topbar-height);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;margin:0 auto}.brand-button{min-height:44px;padding:0;border:0;color:inherit;background:transparent}.brand-mark{position:relative;z-index:1;display:inline-flex;align-items:center;color:inherit}.brand-logo{width:clamp(280px,36vw,520px);max-width:100%;height:auto;display:block;object-fit:contain}.brand-mark.compact .brand-logo{width:clamp(132px,14vw,190px);height:auto}.topbar-context{min-width:0;display:grid;gap:2px;padding-left:22px;border-left:1px solid var(--line)}.topbar-context span,.topbar-context strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-context span{color:var(--muted);font-size:.76rem}.topbar-context strong{color:var(--text-soft);font-size:.9rem}.user-card{min-width:0;display:flex;align-items:center;gap:10px;min-height:48px;padding:5px 8px 5px 6px;border:1px solid transparent;border-radius:8px;color:var(--text);background:transparent;text-align:left;transition:border-color .15s ease,background .15s ease}.user-card:hover{border-color:var(--line);background:var(--surface-subtle)}.avatar,.profile-avatar{display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:var(--primary-dark);background:var(--primary-soft);font-weight:800}.avatar{width:38px;height:38px;font-size:.78rem}.user-card-copy{min-width:0;display:grid;gap:1px}.user-card-copy strong,.user-card-copy small{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card-copy strong{font-size:.84rem}.user-card-copy small{color:var(--muted);font-size:.72rem}.page-content{width:min(var(--content),calc(100% - 40px));margin:0 auto;padding:32px 0 44px}.page-stack,.form-page{display:grid;gap:20px}.flow-page{min-height:0;display:grid;flex:1 1 auto;grid-template-rows:auto auto minmax(0,1fr) auto;gap:6px;overflow:hidden}.single-flow-page{grid-template-rows:auto minmax(0,1fr) auto}.flow-body{min-width:0;min-height:0;overflow:hidden;padding:2px}.flow-card{width:100%;height:max-content}.compact-flow-card{width:min(920px,100%);margin:0 auto}.compact{max-width:880px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;min-height:74px}.page-header-copy{min-width:0}.page-header-copy p{max-width:700px;margin-bottom:0}.page-header-action{flex:0 0 auto}.page-header-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.eyebrow{display:inline-block;margin-bottom:6px;color:var(--primary-dark);font-size:.74rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.bottom-nav{position:fixed;left:50%;bottom:18px;z-index:50;display:grid;grid-template-columns:repeat(5,minmax(108px,1fr));gap:4px;padding:6px;border:1px solid var(--line-strong);border-radius:18px;background:#fff;box-shadow:0 16px 40px #0b4f8a29;transform:translate(-50%)}.bottom-nav-item{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border:0;border-radius:12px;color:var(--muted);background:transparent;font-size:.82rem;font-weight:750;transition:color .15s ease,background .15s ease,transform .15s ease}.bottom-nav-item:hover{color:var(--text);background:var(--surface-strong)}.bottom-nav-item.active{color:var(--primary-dark);background:var(--primary-soft)}.bottom-nav-item:active{transform:translateY(1px)}.primary-button,.secondary-button,.ghost-button,.danger-button,.link-button,.icon-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;font-weight:750;line-height:1.2;text-decoration:none;transition:color .15s ease,background .15s ease,border-color .15s ease,transform .15s ease}.primary-button{padding:0 17px;border:1px solid var(--primary);color:#fff;background:var(--primary)}.primary-button:hover:not(:disabled){border-color:var(--primary-dark);background:var(--primary-dark)}.secondary-button{padding:0 17px;border:1px solid var(--primary);color:var(--primary);background:#fff}.secondary-button:hover:not(:disabled){color:#fff;background:var(--primary)}.ghost-button{padding:0 16px;border:1px solid var(--line-strong);color:var(--text-soft);background:#fff}.ghost-button:hover:not(:disabled){color:var(--text);border-color:var(--blue);background:var(--surface-subtle)}.danger-button{padding:0 16px;border:1px solid var(--line-strong);color:var(--red);background:var(--red-soft)}.danger-button:hover{border-color:var(--red);background:var(--primary-soft)}.link-button,.icon-button{padding:0;border:0;color:var(--primary-dark);background:transparent}.link-button:hover{color:var(--primary)}.icon-button{width:40px;flex:0 0 auto}.wide{width:100%}.large{min-height:50px;padding-right:20px;padding-left:20px}.small{min-height:38px;padding-right:12px;padding-left:12px;font-size:.86rem}.danger-text{color:var(--red)}.field{position:relative;display:grid;align-content:start;gap:7px;min-width:0}.field>span,.field-label{color:var(--text-soft);font-size:.86rem;font-weight:750}.field em{color:var(--red);font-style:normal}.field input,.field select,.field textarea{width:100%;min-height:46px;padding:11px 13px;border:1px solid var(--line-strong);border-radius:8px;outline:none;color:var(--text);background:#fff;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.field textarea{resize:vertical;line-height:1.52}.field input::placeholder,.field textarea::placeholder{color:var(--muted)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1789c929}.field input:read-only{color:var(--muted);background:var(--surface-strong)}.field-hint{color:var(--muted);font-size:.76rem;line-height:1.4}.field-label-with-status{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.cep-status,.field-error{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;font-weight:750}.cep-status.loading{color:var(--blue)}.cep-status.loading svg{animation:spin .8s linear infinite}.cep-status.success{color:var(--green)}.field-error{color:var(--red)}.character-count{text-align:right}.icon-field,.inline-icon{position:relative}.icon-field>svg,.inline-icon>svg{position:absolute;left:13px;bottom:13px;z-index:1;color:var(--muted);pointer-events:none}.icon-field input,.inline-icon input{padding-left:42px}.password-field input{padding-right:46px}.password-toggle{position:absolute;right:5px;bottom:3px;width:40px;height:40px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;color:var(--muted);background:transparent}.password-toggle:hover{color:var(--text);background:var(--surface-strong)}.form-grid{display:grid;gap:16px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .full{grid-column:1 / -1}.form-card,.photo-card,.profile-card,.data-section,.review-note{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.form-card{display:grid;gap:20px;padding:24px}.section-heading{display:flex;align-items:flex-start;gap:12px;padding-bottom:17px;border-bottom:1px solid var(--line)}.section-heading h3,.section-heading p{margin-bottom:0}.section-heading p{margin-top:2px;font-size:.86rem}.section-icon,.review-icon,.row-icon{display:grid;place-items:center;flex:0 0 auto;color:var(--primary-dark);background:var(--primary-soft)}.section-icon{width:38px;height:38px;border-radius:8px}.address-grid{grid-template-columns:1.2fr 90px repeat(2,minmax(0,1fr))}.location-name,.city-field,.street-field,.complement-field{grid-column:span 2}.footer-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:2px}.footer-actions.split{justify-content:space-between}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);background:linear-gradient(90deg,rgba(46,173,91,.08),transparent 34%),#f7fbfd}.login-visual{position:relative;min-height:100vh;display:grid;align-content:center;gap:0;overflow:hidden;padding:clamp(48px,7vw,88px);color:var(--text);background:#e8f4f7}.login-visual:before{content:"";position:absolute;inset:0 auto 0 0;width:8px;background:linear-gradient(180deg,var(--blue),var(--green))}.login-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(11,79,138,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(11,79,138,.055) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.42),transparent 78%);mask-image:linear-gradient(90deg,rgba(0,0,0,.42),transparent 78%)}.login-visual-image,.login-visual-shade{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.login-visual-image{object-fit:cover;object-position:center}.login-visual-shade{background:linear-gradient(90deg,#f7fbfdf5,#f7fbfdc2 58%,#f7fbfd5c),linear-gradient(180deg,#ffffff5c,#ffffff14)}.login-visual .brand-mark{margin-bottom:30px}.login-visual .brand-logo{width:min(660px,100%)}.login-panel{width:min(100%,500px);display:grid;align-content:center;align-self:center;justify-self:center;gap:18px;margin:32px;padding:clamp(32px,4vw,52px);border:1px solid rgba(23,137,201,.16);border-radius:8px;background:#fffffff0;box-shadow:0 22px 60px #0b4f8a1f}.login-panel>div{display:grid;gap:6px;margin-bottom:2px}.login-panel h2{margin-bottom:0;font-size:1.75rem}.epidemiology-hero{position:relative;isolation:isolate;min-height:0;height:100%;display:flex;align-items:flex-end;overflow:hidden;border-radius:8px;background:var(--primary)}.epidemiology-hero>img,.epidemiology-hero-shade{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.epidemiology-hero>img{z-index:-2;object-fit:cover;object-position:center 45%}.epidemiology-hero-shade{z-index:-1;background:#0b4f8ac7}.epidemiology-hero-copy{max-width:760px;padding:24px;color:#fff}.epidemiology-hero-copy .eyebrow,.epidemiology-hero-copy h2,.epidemiology-hero-copy p{color:#fff}.epidemiology-hero-copy h2{max-width:680px;margin-bottom:10px;font-size:1.75rem}.epidemiology-hero-copy p{max-width:650px;margin-bottom:14px;opacity:.9}.epidemiology-pillars{display:flex;flex-wrap:wrap;gap:18px}.epidemiology-pillars span{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;font-weight:800}.epidemiology-pillars svg{color:#2ead5b}.segment-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;min-height:0;align-items:stretch}.segment-card{min-width:0;height:min(100%,320px);min-height:0;grid-column:auto;display:grid;grid-template-rows:minmax(112px,52%) minmax(0,1fr);overflow:hidden;padding:0;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--surface);box-shadow:var(--shadow-sm);text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.segment-card:not(:disabled):hover{border-color:var(--blue);box-shadow:var(--shadow-md);transform:translateY(-3px)}.segment-card:not(:disabled):hover .segment-card-media img{transform:scale(1.035)}.segment-card.is-locked{cursor:not-allowed;border-color:#d8e0e8;background:#f7f9fb;box-shadow:none}.segment-card.is-locked .segment-card-media img{filter:grayscale(1);opacity:.55}.segment-card.is-locked .segment-count{display:inline-flex;align-items:center;gap:5px;color:#4b5f70;background:#fff}.segment-card.is-locked .segment-card-heading,.segment-card.is-locked .segment-card-copy small{color:#697b8a}.segment-card.is-locked .segment-card-copy{border-top-color:#aab6c0}.segment-card-media{position:relative;display:block;min-width:0;overflow:hidden;background:var(--primary-soft)}.segment-card-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .22s ease}.segment-count{position:absolute;top:12px;left:12px;padding:6px 8px;border-radius:4px;color:var(--primary);background:#fff;box-shadow:var(--shadow-sm);font-size:.72rem;font-weight:800}.segment-card-copy{min-width:0;display:grid;align-content:start;gap:8px;padding:13px;border-top:3px solid var(--primary)}.segment-card-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.segment-card-copy strong{min-width:0;font-size:.96rem}.segment-card-copy small{color:var(--muted);font-size:.74rem;line-height:1.45}.segment-page{height:100%;min-height:0;max-height:none;grid-template-rows:190px 74px minmax(0,1fr);gap:10px;overflow:hidden}.segment-page>.page-header{min-height:0}.segment-page>.page-header h2{margin-bottom:4px;font-size:1.55rem}.segment-page>.page-header p{margin-bottom:0;font-size:.84rem}.toolbar{display:grid;align-items:end;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.research-filters{grid-template-columns:minmax(280px,1fr) minmax(180px,.4fr) auto}.single-filter{grid-template-columns:minmax(280px,620px)}.search-field>svg{bottom:13px}.compact-field{gap:5px}.compact-field>span{font-size:.74rem}.clear-filter{min-width:94px}.data-table,.data-section{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.data-section{overflow:visible;padding:22px}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.section-title-row h3,.section-title-row p{margin-bottom:0}.section-title-row p{margin-top:2px;font-size:.84rem}.data-table-head,.data-table-row{display:grid;align-items:center;gap:14px}.data-table-head{min-height:42px;padding:0 16px;border-bottom:1px solid var(--line);color:var(--muted);background:var(--surface-subtle);font-size:.74rem;font-weight:800;text-transform:uppercase}.data-table-body{display:grid}.data-table-row{width:100%;min-height:72px;padding:10px 16px;border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--text-soft);background:#fff;font-size:.86rem;text-align:left;transition:background .15s ease}.data-table-row:last-child{border-bottom:0}.data-table-row:hover{background:var(--primary-faint)}.research-table-grid{grid-template-columns:minmax(180px,1.45fr) minmax(140px,1fr) minmax(140px,1fr) 100px 100px 28px}.participant-table-grid{grid-template-columns:minmax(220px,1.6fr) minmax(90px,.6fr) minmax(130px,.8fr) minmax(110px,.75fr) 28px}.participant-directory-grid{grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr) minmax(90px,.5fr) minmax(120px,.7fr) 28px}.primary-cell{min-width:0;display:grid;gap:3px}.primary-cell strong,.primary-cell small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.primary-cell strong{color:var(--text);font-size:.92rem}.primary-cell small{color:var(--muted);font-size:.75rem}.participant-identity{display:flex;align-items:center;gap:10px}.participant-identity>span:last-child{min-width:0;display:grid;gap:3px}.row-icon{width:34px;height:34px;border-radius:50%}.location-cell{min-width:0;display:flex;align-items:center;gap:6px}.location-cell svg{flex:0 0 auto;color:var(--muted)}.row-action{display:grid;place-items:center;color:var(--primary)}.status{min-height:26px;display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:0 9px;border-radius:999px;font-size:.72rem;font-weight:800;line-height:1.2;white-space:nowrap}.status.progress{color:var(--primary);background:var(--primary-soft)}.status.done{color:var(--green);background:var(--green-soft)}.status.draft{color:var(--blue);background:var(--amber-soft)}.status.cancelled{color:var(--primary);background:var(--red-soft)}.status.idle{color:var(--text-soft);background:var(--surface-strong)}.research-overview{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding:24px;border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.research-overview-copy{min-width:0}.research-title-line{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.research-title-line h2{margin-bottom:0}.research-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin-top:14px;color:var(--text-soft);font-size:.86rem}.research-meta span{display:inline-flex;align-items:center;gap:6px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat-card{min-height:112px;display:grid;align-content:space-between;gap:12px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.stat-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.82rem;font-weight:750}.stat-card strong{font-size:1.85rem;line-height:1}.stat-card.blue strong,.stat-card.blue .stat-label svg{color:var(--primary)}.stat-card.green strong,.stat-card.green .stat-label svg{color:var(--green)}.stat-card.amber strong,.stat-card.amber .stat-label svg{color:var(--amber)}.stat-card.gray strong,.stat-card.gray .stat-label svg{color:var(--muted)}.nutrition-section{overflow:hidden;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.nutrition-section-header{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.nutrition-section-header h3,.nutrition-section-header p{margin-bottom:0}.nutrition-section-header p{margin-top:2px;font-size:.8rem}.nutrition-section-header .section-icon{color:#207d43;background:var(--green-soft)}.nutrition-loading,.nutrition-empty{display:grid;place-items:center;min-height:110px;padding:20px;color:var(--muted);font-size:.82rem;text-align:center}.nutrition-overview-grid{display:grid;grid-template-columns:minmax(260px,.76fr) minmax(0,1.5fr)}.nutrition-overview-column,.nutrition-summaries{min-width:0;padding:18px}.nutrition-summaries{border-left:1px solid var(--line)}.nutrition-coverage{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px 14px}.nutrition-coverage-copy{display:grid;gap:3px}.nutrition-coverage-copy span,.nutrition-label{color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.nutrition-coverage-copy strong{color:var(--text-soft);font-size:.84rem}.nutrition-percentage{color:var(--green);font-size:1.35rem}.nutrition-progress{grid-column:1 / -1;height:7px;overflow:hidden;border-radius:4px;background:var(--surface-strong)}.nutrition-progress span{display:block;height:100%;border-radius:inherit;background:var(--green)}.nutrition-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.nutrition-facts>div{display:grid;gap:3px;padding:12px 0}.nutrition-facts>div+div{padding-left:14px;border-left:1px solid var(--line)}.nutrition-facts strong{color:var(--primary);font-size:1.1rem}.nutrition-facts span{color:var(--muted);font-size:.72rem}.frequent-foods{margin-top:15px}.frequent-foods>p{margin:9px 0 0;font-size:.76rem}.frequent-foods ol{display:grid;gap:0;margin:7px 0 0;padding:0;list-style:none}.frequent-foods li{min-height:46px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;border-top:1px solid var(--line)}.food-thumbnail{width:34px;height:34px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:var(--surface-strong)}.food-thumbnail img{width:100%;height:100%;display:block;object-fit:cover}.frequent-food-copy{min-width:0;display:grid;gap:2px}.frequent-foods li strong{overflow:hidden;color:var(--text-soft);font-size:.77rem;text-overflow:ellipsis;white-space:nowrap}.frequent-foods li small{overflow:hidden;color:var(--muted);font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.frequent-foods li b{flex:0 0 auto;color:var(--green);font-size:.74rem}.nutrition-summaries-heading{min-height:38px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.nutrition-summaries-heading>div{display:grid;gap:3px}.nutrition-summaries-heading small{color:var(--muted);font-size:.72rem}.nutrition-summaries-heading>strong{min-width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#207d43;background:var(--green-soft);font-size:.78rem}.nutrition-summary-list{display:grid;margin-top:7px}.nutrition-summary-list button{min-width:0;min-height:64px;display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,1.6fr) 20px;align-items:center;gap:14px;padding:10px 0;border:0;border-top:1px solid var(--line);border-radius:0;color:var(--text-soft);background:transparent;text-align:left}.nutrition-summary-list button:hover{color:var(--primary);background:var(--primary-faint)}.nutrition-summary-person{min-width:0;display:grid;gap:3px}.nutrition-summary-person strong,.nutrition-summary-person small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nutrition-summary-person strong{color:var(--text);font-size:.78rem}.nutrition-summary-person small{color:var(--muted);font-size:.66rem}.nutrition-summary-text{min-width:0;display:-webkit-box;overflow:hidden;font-size:.76rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.nutrition-summary-list button>svg{color:var(--primary)}.wizard-header{display:grid;gap:4px}.step-indicator ol{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none}.step-indicator ol:before{position:absolute;top:12px;right:10%;left:10%;height:2px;content:"";background:var(--line)}.step{position:relative;z-index:1;min-width:0;display:grid;justify-items:center;gap:2px;color:var(--muted);font-size:.68rem;text-align:center}.step-number{width:24px;height:24px;display:grid;place-items:center;border:2px solid var(--line);border-radius:50%;color:var(--muted);background:var(--bg);font-weight:800}.step.active,.step.done{color:var(--primary-dark)}.step.active .step-number{border-color:var(--primary);color:#fff;background:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.step.done .step-number{border-color:var(--green);color:#fff;background:var(--green)}.step-mobile-summary,.section-flow-summary{display:none}.section-flow ol{display:grid;grid-template-columns:repeat(var(--section-count),minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}.section-flow li{min-width:0;min-height:30px;display:flex;align-items:center;gap:6px;padding:2px 7px 4px;border-bottom:2px solid var(--line);color:var(--muted)}.section-flow li.active{border-bottom-color:var(--primary);color:var(--primary)}.section-flow li.done{border-bottom-color:var(--green);color:var(--green)}.section-flow-number{width:20px;height:20px;display:grid;place-items:center;flex:0 0 auto;border:1px solid currentColor;border-radius:50%;font-size:.62rem;font-weight:800}.section-flow-copy{min-width:0;display:grid;gap:1px}.section-flow-copy small{color:inherit;font-size:.52rem;font-weight:700;text-transform:uppercase}.section-flow-copy strong{overflow:hidden;color:inherit;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.wizard-context{display:flex;align-items:center;justify-content:space-between;gap:18px}.wizard-context>div{min-width:0;display:flex;align-items:baseline;gap:8px}.wizard-context .eyebrow{margin-bottom:0;font-size:.62rem}.wizard-context h2{margin-bottom:0;font-size:1.08rem}.context-code{min-height:34px;display:inline-flex;align-items:center;padding:0 12px;border:1px solid var(--line-strong);border-radius:999px;color:var(--text-soft);background:var(--surface);font-size:.82rem;font-weight:800;white-space:nowrap}.consent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.single-consent-grid{grid-template-columns:1fr}.consent-control{display:grid;gap:9px;padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--surface-subtle)}.consent-control>strong{font-size:.88rem}.segmented-control{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong)}.segmented-control.consent-options{grid-template-columns:repeat(2,minmax(0,1fr))}.participant-name-card{width:min(680px,100%)}.participant-address-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.participant-address-grid .address-cep{grid-column:span 3}.participant-address-grid .address-state{grid-column:span 1}.participant-address-grid .address-city,.participant-address-grid .address-neighborhood{grid-column:span 4}.participant-address-grid .address-street{grid-column:span 6}.participant-address-grid .address-number{grid-column:span 2}.participant-address-grid .address-complement{grid-column:span 4}.authorization-card{gap:8px;padding:15px 18px}.authorization-card .section-heading{padding-bottom:8px}.authorization-consents .consent-control{grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);align-items:center;gap:8px;padding:5px 9px 5px 11px;border:0;border-left:3px solid var(--blue);border-radius:0;background:transparent}.authorization-consents .consent-control>strong{font-size:.78rem;line-height:1.25}.authorization-consents .segmented-control button{min-height:34px;padding:5px 7px;font-size:.72rem}.signature-field{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding-top:8px;border-top:1px solid var(--line)}.signature-field-heading{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-soft);font-size:.8rem;font-weight:750}.signature-field-heading em{color:var(--red);font-style:normal}.signature-field-heading small{display:inline-flex;align-items:center;gap:5px;color:var(--green);font-size:.68rem;font-weight:750}.signature-canvas-wrap{position:relative;min-width:0;height:88px;overflow:hidden;border:1px solid var(--line-strong);border-radius:7px;background:#fff}.signature-canvas{position:relative;z-index:2;width:100%;height:100%;display:block;cursor:crosshair;touch-action:none}.signature-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:grid;place-items:center;color:var(--muted);font-size:.8rem;pointer-events:none}.signature-line{position:absolute;right:9%;bottom:21px;left:9%;z-index:1;height:1px;background:var(--line-strong);pointer-events:none}.signature-clear{align-self:end;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 10px;border:1px solid var(--line);border-radius:6px;color:var(--primary);background:#fff;font-size:.72rem;font-weight:750}.signature-clear:disabled{color:var(--muted);cursor:not-allowed;opacity:.58}.segmented-control button,.surface-list button,.condition-button{min-height:40px;padding:7px 10px;border:1px solid transparent;border-radius:7px;color:var(--text-soft);background:transparent;font-size:.8rem;font-weight:750;line-height:1.2}.segmented-control button:hover,.surface-list button:hover,.condition-button:hover{background:#fff}.segmented-control button.active,.surface-list button.active,.condition-button.active{border-color:var(--primary);color:var(--primary-dark);background:#fff;box-shadow:var(--shadow-sm)}.segmented-control button.positive.active{border-color:var(--green);color:var(--green);background:var(--green-soft)}.segmented-control button.negative.active{border-color:var(--primary);color:var(--red);background:var(--red-soft)}.segmented-control button.pending.active{border-color:var(--blue);color:var(--blue);background:var(--amber-soft)}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.photo-flow-body{display:grid;place-items:center}.photo-flow-body .photo-card{width:min(920px,100%);display:grid;grid-template-columns:minmax(320px,1.2fr) minmax(280px,.8fr)}.photo-flow-body .photo-preview{min-height:220px;border-right:1px solid var(--line);border-bottom:0}.photo-flow-body .photo-card-body{align-items:stretch;flex-direction:column;justify-content:center}.photo-flow-body .photo-actions{flex-direction:column}.photo-flow-body .photo-actions button{width:100%}.photo-card{min-width:0;overflow:hidden}.photo-preview{aspect-ratio:16 / 9;min-height:240px;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid var(--line);color:var(--muted);background:var(--surface-subtle)}.photo-preview img{width:100%;height:100%;display:block;object-fit:cover}.photo-placeholder{display:grid;justify-items:center;gap:7px;padding:24px;text-align:center}.photo-placeholder>span{width:52px;height:52px;display:grid;place-items:center;border:1px dashed var(--line-strong);border-radius:50%;color:var(--primary);background:var(--primary-faint)}.photo-placeholder strong{color:var(--text)}.photo-placeholder small{color:var(--muted)}.photo-card-body{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px}.photo-card-body h3,.photo-card-body p{margin-bottom:0}.photo-card-body p{max-width:260px;margin-top:3px;overflow:hidden;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.photo-actions{display:flex;flex:0 0 auto;gap:8px}.upload-status{display:flex;align-items:center;gap:6px;margin-top:9px;color:var(--primary);font-size:.76rem;font-weight:700}.upload-status.success{color:var(--green)}.upload-status.error{color:var(--primary)}.spin{animation:spin .8s linear infinite}.food-note-card{min-height:360px;align-content:start}.food-flow-body .food-note-card{min-height:100%}.food-flow-body .food-note-card textarea{min-height:clamp(150px,28vh,260px);resize:none}.food-analysis-status{display:flex;align-items:center;gap:10px;min-height:42px;padding:9px 12px;border:1px solid rgba(46,173,91,.34);border-radius:6px;color:var(--green);background:#2ead5b12}.food-analysis-status span{display:flex;flex-wrap:wrap;gap:4px;color:var(--muted);font-size:.8rem}.food-analysis-status strong{color:var(--green)}.research-notes-card textarea,.review-notes-step textarea{min-height:clamp(120px,24vh,220px);resize:none}.odontogram-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:18px}.odontogram-workspace{min-width:0;display:grid;gap:14px}.odontogram-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.odontogram-summary>div:first-child{min-width:0;display:grid;gap:3px}.odontogram-summary>div:first-child strong{font-size:.86rem}.odontogram-summary>div:first-child span{color:var(--muted);font-size:.76rem}.odontogram-summary-counts{display:flex;flex:0 0 auto;gap:8px}.odontogram-summary-counts span{display:inline-flex;align-items:baseline;gap:5px;padding:7px 9px;border:1px solid var(--line);border-radius:7px;color:var(--text-soft);background:var(--surface-subtle);font-size:.72rem;font-weight:700}.odontogram-summary-counts span.healthy{border-color:#2ead5b59;color:#207d43;background:var(--green-soft)}.odontogram-summary-counts strong{font-size:.9rem}.legend,.odontogram-component-card,.tooth-panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.step-progress-track{height:7px;overflow:hidden;border-radius:999px;background:var(--surface-strong)}.step-progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--primary)}.odontogram-component-card{min-width:0;display:grid;gap:10px;overflow:hidden;padding:16px}.odontogram-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.8rem;font-weight:750}.odontogram-title-row strong{color:var(--primary-dark)}.odontogram-scroll{width:100%;overflow:hidden;overscroll-behavior-inline:contain;scrollbar-color:var(--line-strong) transparent}.react-odontogram-shell{position:relative;width:100%;min-width:680px;max-width:960px;margin:0 auto;padding-bottom:17px}.odontogram-scroll.deciduous .react-odontogram-shell{min-width:560px;max-width:760px}.react-odontogram-shell .Odontogram,.react-odontogram-shell .Odontogram svg{width:100%}.react-odontogram-shell .Odontogram svg{display:block;height:auto;max-height:340px}.react-odontogram-shell .Odontogram g[role=option]{transform-box:fill-box;transform-origin:center;transition:transform .15s ease}.react-odontogram-shell .Odontogram g[role=option]:hover{transform:scale(1.08)}.react-odontogram-shell .Odontogram g[role=option].selected{transform:scale(1.12)}.tooth-number-row{position:absolute;right:0;left:0;z-index:2;height:14px;color:var(--text-soft);font-size:.62rem;font-weight:850;line-height:14px;pointer-events:none}.tooth-number-row.upper{top:calc(50% - 8px)}.tooth-number-row.lower{bottom:0}.tooth-number-row span{position:absolute;transform:translate(-50%)}.odontogram-tooltip{display:grid;gap:2px}.odontogram-tooltip span{color:var(--muted);font-size:.72rem}.tooth-panel{position:sticky;top:calc(var(--topbar-height) + 16px);display:grid;gap:18px;padding:20px}.tooth-panel h3{margin-bottom:4px;font-size:1.35rem}.tooth-panel p{margin-bottom:0;font-size:.84rem}.tooth-panel-state{min-height:120px;display:grid;place-items:center;align-content:center;gap:6px;padding:18px;border:1px dashed var(--line-strong);border-radius:8px;color:var(--muted);background:var(--surface-subtle);text-align:center}.tooth-panel-state strong{color:var(--text)}.tooth-panel-state span{font-size:.8rem}.condition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.condition-button{min-width:0;display:flex;align-items:center;justify-content:flex-start;gap:8px;border-color:var(--line);background:#fff;text-align:left}.condition-swatch{width:10px;height:10px;flex:0 0 auto;border-radius:50%}.surface-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.surface-list button{border-color:var(--line);background:#fff}.legend{display:flex;flex-wrap:wrap;gap:10px 18px;padding:13px 15px}.legend span{display:inline-flex;align-items:center;gap:7px;color:var(--text-soft);font-size:.76rem;font-weight:700}.legend-dot{width:9px;height:9px;display:inline-block;flex:0 0 auto;border-radius:50%}.review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.review-flow-body{display:grid}.review-collection-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-self:center}.review-focus,.review-finalization{width:min(820px,100%);align-self:center;justify-self:center}.review-focus .review-card{min-height:220px;align-content:center}.review-finalization{display:grid;gap:14px}.review-finalization .review-note{display:grid;gap:8px}.review-conclusion-step{min-height:190px;place-items:center;align-content:center;text-align:center}.review-conclusion-step h3,.review-conclusion-step p{margin-bottom:0}.review-conclusion-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:50%}.review-conclusion-icon.complete{color:var(--green);background:var(--green-soft)}.review-conclusion-icon.pending{color:var(--primary);background:var(--primary-soft)}.odontogram-flow-body{display:grid;align-items:center}.odontogram-flow-body>.tooth-panel{width:min(760px,100%);max-height:100%;justify-self:center;position:static}.tooth-evaluation-backdrop{padding:16px}.tooth-evaluation-dialog{position:relative;width:min(780px,100%);max-height:calc(100dvh - 32px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 24px 60px #0b4f8a3d}.tooth-dialog-header{min-width:0;display:flex;align-items:center;gap:18px;padding:18px 54px 16px 22px;border-bottom:1px solid var(--line)}.tooth-dialog-header>div{min-width:0;flex:1}.tooth-dialog-header h3,.tooth-dialog-header p{margin-bottom:0}.tooth-dialog-header h3{margin-top:2px;font-size:1.25rem}.tooth-dialog-header p{margin-top:2px;overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.tooth-dialog-condition{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:7px 10px;border:1px solid var(--line);border-radius:7px;color:var(--text-soft);background:var(--surface-subtle);font-size:.78rem;font-weight:800}.tooth-dialog-condition i{width:9px;height:9px;border-radius:50%}.tooth-dialog-body{min-height:0;overflow-y:auto;padding:18px 22px}.tooth-dialog-body .tooth-panel{position:static;gap:16px;padding:0;border:0;box-shadow:none}.tooth-dialog-body .condition-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tooth-dialog-body .tooth-panel-state{min-height:70px}.tooth-dialog-body textarea{min-height:88px;resize:none}.tooth-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:13px 22px;border-top:1px solid var(--line);background:var(--surface-subtle)}.review-card{min-height:170px;display:grid;align-content:start;gap:16px;padding:18px;border:1px solid var(--line);border-top:3px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.review-card.complete{border-top-color:var(--green)}.review-card.pending{border-top-color:var(--amber)}.review-card-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px}.review-card-heading h3{margin-bottom:0;font-size:.9rem}.review-card.complete .review-card-heading>svg{color:var(--green)}.review-card.pending .review-card-heading>svg{color:var(--amber)}.review-icon{width:32px;height:32px;border-radius:7px}.review-card-content{display:grid;align-content:start;gap:6px}.review-card-content strong{font-size:.92rem}.review-card-content span{color:var(--muted);font-size:.8rem}.review-link{width:fit-content;min-height:34px;margin-top:6px;font-size:.78rem}.review-note{padding:18px}.alert-box{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid var(--blue);border-radius:8px;color:var(--primary);background:var(--amber-soft)}.alert-box>svg{flex:0 0 auto;margin-top:1px}.alert-box>div{min-width:0;display:grid;gap:2px;flex:1}.alert-box strong,.alert-box span{display:block}.alert-box strong{font-size:.86rem}.alert-box span{font-size:.8rem;line-height:1.4}.app-alert{margin-bottom:18px}.compact-alert{font-size:.84rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:#0b4f8a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-dialog{position:relative;width:min(440px,100%);display:grid;justify-items:start;gap:12px;padding:26px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 24px 60px #0b4f8a3d}.confirm-dialog h3,.confirm-dialog p{margin-bottom:0}.confirm-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;color:var(--green);background:var(--green-soft)}.modal-close{position:absolute;top:12px;right:12px;color:var(--muted)}.dialog-warning{width:100%;display:flex;align-items:center;gap:8px;padding:10px;border-radius:7px;color:var(--primary);background:var(--amber-soft);font-size:.8rem}.dialog-actions{width:100%;display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.loading-panel,.empty-state{min-height:210px;display:grid;place-items:center;align-content:center;gap:10px;padding:28px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:var(--surface);box-shadow:var(--shadow-sm);text-align:center}.loading-panel strong{font-size:.86rem}.loading-spinner{width:30px;height:30px;border:3px solid var(--primary-soft);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;color:var(--primary-dark);background:var(--primary-soft)}.empty-state strong{color:var(--text)}.empty-state p{max-width:480px;margin-bottom:0;font-size:.86rem}.success-page{min-height:62vh;display:grid;place-items:center;align-content:center;gap:12px;padding:44px 24px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm);text-align:center}.success-mark{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--green)}.success-page h2,.success-page p{margin-bottom:0}.success-page p{display:grid;gap:3px}.success-page p strong{color:var(--text)}.success-page p span{font-size:.84rem}.success-actions{width:min(520px,100%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.success-actions .primary-button,.success-actions .link-button{grid-column:1 / -1}.profile-card{padding:24px}.profile-summary{display:flex;align-items:center;gap:14px;padding-bottom:22px;border-bottom:1px solid var(--line)}.profile-avatar{width:64px;height:64px;font-size:1.15rem}.profile-summary h3,.profile-summary p{margin-bottom:0}.profile-summary p{margin-top:3px;font-size:.84rem}.profile-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:22px 0}.profile-details>div{min-width:0;display:grid;gap:7px;padding:0 18px;border-right:1px solid var(--line)}.profile-details>div:first-child{padding-left:0}.profile-details>div:last-child{padding-right:0;border-right:0}.profile-details dt{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.78rem;font-weight:750}.profile-details dd{overflow-wrap:anywhere;color:var(--text);font-size:.9rem;font-weight:700}.profile-actions{display:flex;justify-content:flex-end;padding-top:18px;border-top:1px solid var(--line)}.research-overview-actions,.participant-panorama-actions{display:flex;align-items:center;gap:8px}.panorama-entry{width:100%;min-height:92px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 20px;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:8px;color:var(--text);background:#fff;text-align:left;box-shadow:var(--shadow-sm)}.panorama-entry:hover{border-color:var(--blue);border-left-color:var(--green);background:var(--surface-subtle)}.panorama-entry-icon{width:48px;height:48px;display:grid;place-items:center;color:var(--primary);background:var(--primary-soft);border-radius:8px}.panorama-entry>span:nth-child(2){min-width:0;display:grid;gap:4px}.panorama-entry>span:nth-child(2) strong{font-size:1rem}.panorama-entry>span:nth-child(2) small{color:var(--muted);font-size:.8rem}.panorama-entry-action{display:inline-flex;align-items:center;gap:7px;color:var(--primary);font-size:.82rem;font-weight:800}.back-link,.text-button{width:fit-content;display:inline-flex;align-items:center;gap:6px;padding:0;border:0;color:var(--primary);background:transparent;font-size:.78rem;font-weight:800}.back-link{display:flex;margin-bottom:6px}.panorama-page-header,.participant-panorama-header{align-items:center}.panorama-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.panorama-food-strip,.participant-food-history,.participant-dental-panorama{display:grid;gap:14px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.panorama-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.panorama-section-heading h3,.panorama-section-heading .eyebrow{margin-bottom:0}.panorama-section-heading>strong{color:var(--primary);font-size:.8rem}.muted-copy{color:var(--muted)}.panorama-food-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.panorama-food-item{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff}.food-thumbnail.large{width:42px;height:42px}.panorama-food-item>span:nth-child(2){min-width:0;display:grid;gap:2px}.panorama-food-item strong,.panorama-food-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panorama-food-item strong{font-size:.8rem}.panorama-food-item small{color:var(--muted);font-size:.68rem}.panorama-food-item b{min-width:25px;color:var(--primary);text-align:center}.panorama-list-heading{align-items:center}.panorama-search{width:min(340px,100%)}.panorama-participant-list,.research-participant-directory{display:grid;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.panorama-participant-list>button{min-height:72px;display:grid;grid-template-columns:auto minmax(180px,1.4fr) repeat(3,minmax(82px,.55fr)) minmax(110px,.7fr) auto;align-items:center;gap:12px;padding:10px 14px;border:0;border-bottom:1px solid var(--line);color:var(--text-soft);background:#fff;text-align:left}.panorama-participant-list>button:last-child,.research-participant-row:last-child{border-bottom:0}.panorama-participant-list>button:hover,.research-participant-row:hover{background:var(--surface-subtle)}.panorama-person-photo{width:44px;height:44px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:50%;color:var(--primary);background:var(--primary-soft)}.panorama-person-photo img,.participant-photo-panel img,.food-consumed-image img{width:100%;height:100%;object-fit:cover}.panorama-person-main,.panorama-person-metric,.panorama-person-last{min-width:0;display:grid;gap:3px}.panorama-person-main strong,.panorama-person-main small,.panorama-person-last strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panorama-person-main strong{color:var(--text);font-size:.86rem}.panorama-person-main small,.panorama-person-metric small,.panorama-person-last small{color:var(--muted);font-size:.68rem}.panorama-person-metric strong,.panorama-person-last strong{color:var(--text);font-size:.82rem}.panorama-person-metric.healthy strong{color:var(--green)}.panorama-person-metric.attention strong{color:var(--red)}.research-participant-row{min-height:70px;display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line)}.food-entry-page{min-height:calc(100dvh - var(--topbar-height) - 140px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px}.compact-page-header{min-height:0}.food-entry-form{width:min(880px,100%);align-self:center;justify-self:center}.food-entry-form textarea{min-height:clamp(180px,30vh,310px);resize:none}.food-entry-date{width:min(260px,100%)}.food-entry-date>span{display:inline-flex;align-items:center;gap:6px}.participant-clinical-overview{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);align-items:stretch;gap:18px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.participant-photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.participant-photo-panel{position:relative;min-height:132px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:8px;color:var(--primary);background:var(--surface-subtle)}.participant-photo-panel span{position:absolute;right:6px;bottom:6px;left:6px;padding:5px 7px;border-radius:6px;color:#fff;background:#0b4f8ae0;font-size:.68rem;font-weight:800;text-align:center}.participant-overview-copy{display:grid;align-content:center;gap:18px}.participant-overview-copy h3{margin-bottom:5px}.participant-overview-copy p{display:flex;align-items:center;gap:6px;margin-bottom:0;color:var(--muted)}.participant-overview-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.participant-overview-metrics>span{min-width:0;display:grid;gap:2px;padding:10px 12px;border-left:3px solid var(--primary);background:var(--surface-subtle)}.participant-overview-metrics strong{color:var(--primary);font-size:1.1rem}.participant-overview-metrics small{color:var(--muted);font-size:.7rem}.participant-overview-metrics .healthy{border-left-color:var(--green)}.participant-overview-metrics .healthy strong{color:var(--green)}.participant-overview-metrics .attention{border-left-color:var(--red)}.participant-overview-metrics .attention strong{color:var(--red)}.panorama-tabs{width:min(440px,100%);align-self:center;padding:4px;border:1px solid var(--line);background:var(--surface-subtle)}.panorama-tabs button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.food-history-record{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff}.food-history-record summary{min-height:70px;display:grid;grid-template-columns:minmax(170px,.42fr) minmax(0,1fr);align-items:center;gap:16px;padding:12px 16px;cursor:pointer;list-style:none}.food-history-record summary::-webkit-details-marker{display:none}.food-history-date{display:flex;align-items:center;gap:9px;color:var(--primary)}.food-history-date>span{display:grid;gap:2px}.food-history-date small{color:var(--muted);font-size:.68rem}.food-history-summary{overflow:hidden;color:var(--text-soft);font-size:.78rem;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.food-history-content{display:grid;gap:12px;padding:14px 16px 16px;border-top:1px solid var(--line);background:var(--surface-subtle)}.food-original-report{display:grid;gap:4px;padding-left:10px;border-left:3px solid var(--blue)}.food-original-report span{color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase}.food-original-report p{margin-bottom:0;color:var(--text-soft);font-size:.78rem}.food-consumed-list{display:grid;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.food-consumed-row{min-width:0;display:grid;grid-template-columns:auto minmax(150px,1fr) minmax(100px,.4fr) minmax(230px,1fr);align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line)}.food-consumed-row:last-child{border-bottom:0}.food-consumed-image{width:46px;height:46px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:7px;color:var(--primary);background:var(--surface-subtle)}.food-consumed-main{min-width:0;display:grid;gap:2px}.food-consumed-main strong,.food-consumed-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.food-consumed-main strong{font-size:.82rem}.food-consumed-main small,.food-consumed-main p,.food-consumed-quantity{color:var(--muted);font-size:.68rem}.food-consumed-main p{margin-bottom:0}.food-consumed-quantity{font-weight:800}.food-nutrient-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.food-nutrient-preview span{min-width:0;display:grid;gap:1px;padding:5px;background:var(--surface-subtle)}.food-nutrient-preview button{min-width:0;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:5px;border:1px solid var(--line-strong);color:var(--primary);background:#fff;font-size:.62rem;font-weight:800}.food-nutrient-preview button:hover{border-color:var(--primary);background:var(--primary-soft)}.food-nutrient-preview small,.food-nutrient-preview strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.food-nutrient-preview small{color:var(--muted);font-size:.56rem}.food-nutrient-preview strong{font-size:.62rem}.food-nutrition-dialog{position:relative;width:min(720px,100%);max-height:min(760px,calc(100dvh - 40px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 24px 60px #0b4f8a3d}.food-nutrition-dialog-header{position:relative;padding:22px 58px 16px 22px;border-bottom:1px solid var(--line)}.food-nutrition-dialog-header h3,.food-nutrition-dialog-header p{margin-bottom:0}.food-nutrition-dialog-header h3{margin-top:3px;font-size:1.15rem}.food-nutrition-dialog-header p{margin-top:3px;color:var(--muted);font-size:.75rem}.food-nutrition-list{min-height:0;overflow-y:auto;padding:5px 22px}.food-nutrition-row{min-height:38px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;border-bottom:1px solid var(--line);font-size:.76rem}.food-nutrition-row:last-child{border-bottom:0}.food-nutrition-row span{color:var(--text-soft)}.food-nutrition-row strong{color:var(--primary);white-space:nowrap}.food-nutrition-source{min-height:44px;display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;padding:10px 22px;border-top:1px solid var(--line);color:var(--primary);font-size:.74rem;font-weight:800}.participant-dental-panorama .odontogram-component-card{box-shadow:none}.dental-status-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}.dental-status-item{min-width:0;min-height:92px;display:grid;align-content:start;gap:3px;padding:8px;border:1px solid var(--line);border-top:3px solid var(--green);border-radius:7px;background:#fff}.dental-status-item.attention{border-top-color:var(--primary)}.dental-status-item>strong{color:var(--primary);font-size:.88rem}.dental-status-item>span{overflow:hidden;font-size:.68rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.dental-status-item small,.dental-status-item p{color:var(--muted);font-size:.6rem;line-height:1.35}.dental-status-item p{margin-bottom:0}@media(max-width:1120px){.research-table-grid{grid-template-columns:minmax(180px,1.35fr) minmax(130px,.9fr) minmax(130px,.9fr) 100px 28px}.research-table-grid>:nth-child(5){display:none}.odontogram-layout{grid-template-columns:1fr}.tooth-panel{position:static}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:920px){.topbar-inner,.page-content{width:calc(100% - 32px)}.research-filters{grid-template-columns:minmax(240px,1fr) minmax(150px,.55fr) auto}.segment-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.segment-card{height:100%;grid-column:span 2;grid-template-rows:minmax(92px,46%) minmax(0,1fr)}.segment-card:nth-child(4):nth-last-child(2),.segment-card:nth-child(5):last-child{grid-column:span 3}.segment-page{grid-template-rows:148px 76px minmax(0,1fr);gap:12px}.segment-card-copy small{display:none}.research-table-grid{grid-template-columns:minmax(180px,1.3fr) minmax(140px,.95fr) 100px 28px}.research-table-grid>:nth-child(3),.research-table-grid>:nth-child(5){display:none}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.address-grid{grid-template-columns:1fr 90px 1fr}.location-name,.city-field,.street-field,.complement-field{grid-column:span 2}.district-field{grid-column:span 1}.profile-details{grid-template-columns:1fr;gap:0}.profile-details>div,.profile-details>div:first-child,.profile-details>div:last-child{padding:14px 0;border-right:0;border-bottom:1px solid var(--line)}.profile-details>div:last-child{border-bottom:0}}@media(max-width:760px){:root{--topbar-height: 60px}.app-shell{padding-bottom:0}.topbar-inner{width:calc(100% - 24px);grid-template-columns:auto minmax(0,1fr) auto;gap:10px}.brand-mark.compact .brand-logo{width:clamp(112px,24vw,150px);height:auto}.topbar-context{justify-self:end;padding-left:0;border-left:0;text-align:right}.topbar-context span{display:none}.topbar-context strong{max-width:128px;font-size:.78rem}.user-card{min-height:40px;padding:2px}.user-card-copy{display:none}.avatar{width:36px;height:36px}.page-content{width:calc(100% - 24px);padding:22px 0 30px}.page-stack,.form-page{gap:16px}.flow-page{gap:12px}.flow-page .wizard-header{gap:10px}h2{font-size:1.55rem}.page-header{min-height:0;align-items:stretch;flex-direction:column;gap:16px}.page-header-copy p{font-size:.9rem}.page-header-action .primary-button{width:100%}.bottom-nav{left:0;right:0;bottom:0;width:100%;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:6px 6px calc(6px + env(safe-area-inset-bottom));border-right:0;border-bottom:0;border-left:0;border-radius:0;transform:none}.bottom-nav-item{min-width:0;min-height:58px;flex-direction:column;gap:4px;padding:5px 2px;border-radius:8px;font-size:.67rem}.bottom-nav-item svg{width:19px;height:19px}.login-page{grid-template-columns:1fr}.login-visual{min-height:270px;align-content:end;gap:0;padding:28px 24px}.login-visual .brand-mark{margin-bottom:4px}.login-visual .brand-logo{width:min(440px,100%)}.login-panel{width:100%;min-height:calc(100vh - 270px);align-content:start;margin:0;border-right:0;border-left:0;border-radius:0;box-shadow:none;padding:28px 24px 40px}.segment-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:8px}.segment-card{height:100%;min-height:0;grid-column:auto;grid-template-rows:minmax(48px,52%) minmax(0,1fr)}.segment-card:nth-child(4):nth-last-child(2){grid-column:auto}.segment-card:nth-child(5):last-child{grid-column:1 / -1}.segment-card-copy small{display:none}.segment-page{height:100%;grid-template-rows:clamp(104px,16dvh,118px) 48px minmax(0,1fr);gap:8px}.segment-page .page-header-copy p{display:none}.segment-page>.page-header h2{font-size:1.28rem}.home-shell .page-content{padding-top:10px;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.app-shell:not(.home-shell) .page-content{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.toolbar,.research-filters,.single-filter{grid-template-columns:1fr 1fr;gap:10px;padding:12px}.search-field,.clear-filter{grid-column:1 / -1}.data-table{overflow:visible;border:0;background:transparent;box-shadow:none}.data-table-head{display:none!important}.data-table-body{gap:10px}.data-table-row,.data-table-row.research-table-grid,.data-table-row.participant-table-grid,.data-table-row.participant-directory-grid{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;padding:15px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.data-table-row>*,.research-table-grid>:nth-child(3),.research-table-grid>:nth-child(5){display:flex}.primary-cell{grid-column:1 / -1;display:grid;padding-bottom:10px;border-bottom:1px solid var(--line)}.participant-identity{display:flex}.data-table-row>[data-label]{min-width:0;display:grid;align-content:start;gap:5px}.data-table-row>[data-label]:before{content:attr(data-label);color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase}.location-cell{align-content:start;grid-template-columns:auto minmax(0,1fr)}.location-cell:before{grid-column:1 / -1}.row-action{position:absolute;right:13px;top:15px}.data-table-row{position:relative;padding-right:44px}.research-overview{align-items:stretch;flex-direction:column;gap:20px;padding:18px}.research-overview .primary-button{width:100%}.research-title-line{align-items:flex-start;flex-direction:column;gap:8px}.research-meta{display:grid;grid-template-columns:1fr;gap:7px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{min-height:104px;padding:15px}.stat-label{align-items:flex-start;font-size:.76rem}.stat-card strong{font-size:1.55rem}.nutrition-overview-grid{grid-template-columns:1fr}.nutrition-summaries{border-top:1px solid var(--line);border-left:0}.data-section{padding:15px}.form-card,.profile-card{gap:17px;padding:17px}.form-grid.two,.address-grid{grid-template-columns:1fr}.form-grid.research-info-grid,.form-grid.location-step-grid,.form-grid.address-step-grid,.form-grid.participant-identity-grid,.form-grid.participant-personal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .full,.location-name,.state-field,.city-field,.district-field,.street-field,.number-field,.complement-field{grid-column:auto}.research-info-grid .full,.location-step-grid .full,.participant-identity-grid .participant-main-field{grid-column:1 / -1}.wizard-header{gap:14px}.step-indicator ol{display:none}.step-mobile-summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;padding:13px 14px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:var(--surface);box-shadow:var(--shadow-sm);font-size:.74rem}.step-mobile-summary strong{color:var(--primary-dark);font-size:.82rem}.step-progress-track{grid-column:1 / -1}.section-flow ol{display:none}.section-flow-summary{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0 8px 12px;border-left:3px solid var(--primary)}.section-flow-summary span{color:var(--muted);font-size:.72rem;font-weight:700}.section-flow-summary strong{color:var(--primary);font-size:.82rem;text-align:right}.wizard-context{align-items:flex-start}.wizard-context h2{font-size:1.35rem}.consent-grid{grid-template-columns:1fr}.footer-actions.split{display:grid;grid-template-columns:minmax(96px,.42fr) minmax(0,1fr)}.footer-actions .large{width:100%;min-width:0;padding-right:12px;padding-left:12px}.photo-grid,.photo-flow-body .photo-card{grid-template-columns:1fr}.photo-flow-body .photo-preview{min-height:180px;border-right:0;border-bottom:1px solid var(--line)}.photo-preview{min-height:220px}.photo-flow-body .photo-card{width:min(620px,100%)}.photo-flow-body .photo-preview{min-height:clamp(145px,25vh,210px)}.react-odontogram-shell,.odontogram-scroll.deciduous .react-odontogram-shell{min-width:0;max-width:100%}.photo-card-body{align-items:stretch;flex-direction:column}.photo-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.review-collection-grid{grid-template-columns:1fr}.review-collection-grid .review-card{min-height:0}.review-card{min-height:162px;padding:14px}.review-card-heading{grid-template-columns:auto minmax(0,1fr)}.review-card-heading>svg{display:none}.review-note{padding:15px}.profile-actions .danger-button{width:100%}}@media(max-width:760px){.flow-page .wizard-context{min-height:34px;display:flex;align-items:center;gap:8px}.flow-page .wizard-context .eyebrow{display:none}.flow-page .wizard-context>div{min-width:0}.flow-page .wizard-context h2{margin-bottom:0;overflow:hidden;font-size:1.05rem;text-overflow:ellipsis;white-space:nowrap}.participant-address-card,.authorization-card{padding:11px 12px}.participant-address-card .section-heading,.authorization-card .section-heading{display:none}.signature-clear{width:42px;padding-right:0;padding-left:0}.signature-clear span{display:none}.segmented-control.consent-options{grid-template-columns:repeat(2,minmax(0,1fr))}.authorization-consents{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.authorization-consents .consent-control{grid-template-columns:1fr;padding:8px}.authorization-consents .segmented-control button{min-height:40px}.signature-canvas-wrap{height:104px}}@media(max-width:600px){.participant-address-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.participant-address-grid .address-cep{grid-column:span 3}.participant-address-grid .address-state,.participant-address-grid .address-number{grid-column:span 1}.participant-address-grid .address-city,.participant-address-grid .address-neighborhood{grid-column:span 2}.participant-address-grid .address-street{grid-column:span 3}.participant-address-grid .address-complement{grid-column:span 4}}@media(max-width:460px){.topbar-context{display:none}.topbar-inner{grid-template-columns:minmax(0,1fr) auto}.page-content{width:calc(100% - 20px);padding-top:18px}.flow-card{gap:14px;padding:14px}.flow-card .section-heading{padding-bottom:12px}.login-visual{min-height:235px;padding:24px 20px}.login-visual .brand-mark{margin-bottom:2px}.login-visual .brand-logo{width:min(340px,100%)}.login-panel{width:100%;min-height:calc(100vh - 235px);padding:24px 20px 36px}.segment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.segment-card{height:100%;min-height:0;grid-template-columns:1fr;grid-template-rows:minmax(44px,52%) minmax(0,1fr)}.segment-count{top:5px;left:5px;padding:3px 5px;font-size:.58rem}.segment-card-copy{align-content:center;padding:7px 9px}.segment-card-heading{grid-template-columns:minmax(0,1fr) auto;gap:5px}.epidemiology-hero-copy{padding:12px 14px}.epidemiology-hero-copy h2{max-width:300px;margin-bottom:7px;font-size:1.08rem;line-height:1.2}.epidemiology-hero-copy p{display:none}.epidemiology-pillars{gap:9px}.epidemiology-pillars span{gap:4px;font-size:.62rem}.epidemiology-pillars svg{width:13px;height:13px}.segment-page .page-header-copy h2{margin-bottom:0;font-size:1.18rem}.toolbar,.research-filters{grid-template-columns:1fr}.search-field,.clear-filter{grid-column:auto}.clear-filter{width:100%}.status{white-space:normal}.wizard-context{display:grid;gap:9px}.context-code{min-height:30px}.segmented-control{grid-template-columns:repeat(3,minmax(0,1fr))}.segmented-control.consent-options{grid-template-columns:repeat(2,minmax(0,1fr))}.participant-address-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.participant-address-grid .address-cep{grid-column:span 3}.participant-address-grid .address-state,.participant-address-grid .address-number{grid-column:span 1}.participant-address-grid .address-city,.participant-address-grid .address-neighborhood{grid-column:span 2}.participant-address-grid .address-street{grid-column:span 3}.participant-address-grid .address-complement{grid-column:span 4}.authorization-consents{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.authorization-consents .consent-control{padding:8px}.authorization-consents .segmented-control button{min-height:40px}.signature-canvas-wrap{height:112px}.segmented-control button{min-height:48px;padding:6px 4px;font-size:.7rem;overflow-wrap:anywhere}.footer-actions.split{grid-template-columns:94px minmax(0,1fr)}.odontogram-component-card{padding:13px}.react-odontogram-shell{min-width:620px}.odontogram-scroll.deciduous .react-odontogram-shell{min-width:500px}.odontogram-title-row strong{max-width:52%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.review-grid{grid-template-columns:1fr}.review-card{min-height:0}.success-actions{grid-template-columns:1fr}.success-actions .primary-button,.success-actions .link-button{grid-column:auto}.dialog-actions{display:grid;grid-template-columns:.72fr 1.28fr}.flow-page{gap:9px}.flow-page>.page-header{min-height:48px}.flow-page>.page-header .eyebrow{margin-bottom:2px}.flow-page>.page-header h2{margin-bottom:0;font-size:1.25rem}.flow-page>.page-header .page-header-copy p{display:none}.step-mobile-summary{min-height:44px;padding:8px 10px}.flow-page .wizard-context{min-height:34px;display:flex;align-items:center;gap:8px}.flow-page .wizard-context .eyebrow{display:none}.flow-page .wizard-context>div{min-width:0}.flow-page .wizard-context h2{margin-bottom:0;overflow:hidden;font-size:1.05rem;text-overflow:ellipsis;white-space:nowrap}.flow-page .context-code{min-height:28px;padding:0 9px}.section-flow-summary{min-height:40px;padding-top:5px;padding-bottom:5px}.flow-card{gap:10px;padding:12px}.flow-card .section-heading{gap:9px;padding-bottom:9px}.flow-card .section-heading p{display:none}.flow-card .section-icon{width:34px;height:34px}.flow-card .form-grid{gap:10px}.flow-card .field{gap:4px}.flow-card .field>span,.flow-card .field-label{font-size:.76rem}.flow-card .field input,.flow-card .field select,.flow-card .field textarea{min-height:42px;padding:8px 10px}.form-grid.participant-identity-grid{grid-template-columns:1fr}.form-grid.location-step-grid,.form-grid.address-step-grid,.form-grid.participant-personal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.location-step-grid .full{grid-column:1 / -1}.research-notes-card textarea,.review-notes-step textarea,.food-flow-body .food-note-card textarea{min-height:96px;height:96px}.photo-flow-body .photo-card{max-height:100%}.photo-flow-body .photo-preview{width:100%;min-height:96px;max-height:112px;aspect-ratio:auto}.photo-flow-body .photo-card-body{gap:8px;padding:10px}.photo-flow-body .photo-card-body>div:first-child{display:none}.photo-flow-body .photo-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-flow-body .photo-actions .primary-button:only-of-type{grid-column:1 / -1}.odontogram-workspace{height:100%;grid-template-rows:auto minmax(0,1fr);gap:7px}.odontogram-summary{display:grid;gap:7px;padding:8px 9px}.odontogram-summary>div:first-child strong{font-size:.74rem}.odontogram-summary>div:first-child span{display:none}.odontogram-summary-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.odontogram-summary-counts span{justify-content:center;padding:5px 6px;font-size:.64rem}.odontogram-workspace .legend{display:none}.odontogram-component-card{height:100%;gap:5px;padding:7px}.odontogram-scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:4px;scrollbar-width:thin}.react-odontogram-shell,.odontogram-scroll.deciduous .react-odontogram-shell{min-width:600px;max-width:none;padding-bottom:14px}.odontogram-scroll.deciduous .react-odontogram-shell{min-width:470px}.react-odontogram-shell .Odontogram svg{max-height:150px}.odontogram-title-row span{display:none}.tooth-number-row{display:block;font-size:.48rem}.odontogram-flow-body>.tooth-panel{gap:9px;padding:11px}.tooth-panel>div:first-child .eyebrow,.tooth-panel>div:first-child p{display:none}.tooth-panel h3{margin-bottom:0;font-size:1rem}.condition-grid{gap:5px}.condition-button,.surface-list button{min-height:33px;padding:5px 7px;font-size:.7rem}.surface-list{gap:5px;margin-top:6px}.odontogram-flow-body .field textarea{min-height:108px;height:108px;resize:none}.tooth-panel-state{min-height:130px;padding:14px}.tooth-evaluation-backdrop{padding:6px}.tooth-evaluation-dialog{max-height:calc(100dvh - 12px)}.tooth-dialog-header{align-items:flex-start;gap:8px;padding:12px 42px 11px 14px}.tooth-dialog-header h3{font-size:1.05rem}.tooth-dialog-header p{font-size:.7rem}.tooth-dialog-condition{padding:5px 7px;font-size:.68rem}.tooth-dialog-body{padding:11px 13px}.tooth-dialog-body .tooth-panel{gap:9px}.tooth-dialog-body .condition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tooth-dialog-body .tooth-panel-state{min-height:58px;padding:8px}.tooth-dialog-body .tooth-panel-state span{font-size:.7rem}.tooth-dialog-body textarea{min-height:72px;height:72px}.tooth-dialog-actions{padding:9px 13px}.tooth-dialog-actions button{flex:1}.review-focus .review-card{min-height:170px;align-content:center}.review-conclusion-step{min-height:170px}.success-page{min-height:0;height:100%;gap:8px;padding:18px 14px}.success-mark{width:58px;height:58px}.food-flow-body .food-note-card textarea{min-height:145px;height:145px}.research-detail-normal{gap:12px}.research-detail-normal .research-overview{gap:12px;padding:14px}.research-detail-normal .research-title-line{align-items:center;flex-direction:row}.research-detail-normal .research-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px;font-size:.72rem}.research-detail-normal .research-meta span:last-child{grid-column:1 / -1}.research-detail-normal .research-overview .primary-button{min-height:42px}.research-detail-normal .stats-grid{gap:8px}.research-detail-normal .stat-card{min-height:78px;gap:8px;padding:10px}.research-detail-normal .stat-label{font-size:.68rem}.research-detail-normal .stat-card strong{font-size:1.3rem}.research-detail-normal .nutrition-section-header{padding:12px}.research-detail-normal .nutrition-section-header p{display:none}.research-detail-normal .nutrition-overview-column,.research-detail-normal .nutrition-summaries{padding:12px}.research-detail-normal .nutrition-summary-list button{grid-template-columns:minmax(0,1fr) 20px;gap:6px 10px;padding:9px 0}.research-detail-normal .nutrition-summary-text{grid-column:1 / -1;grid-row:2}.research-detail-normal .nutrition-summary-list button>svg{grid-column:2;grid-row:1}.research-detail-normal .frequent-foods li:nth-child(n+4),.research-detail-normal .nutrition-summary-list button:nth-child(n+3){display:none}.research-detail-normal .data-section{padding:10px}.research-detail-normal .section-title-row p{display:none}.research-detail-normal .participant-table-grid>:nth-child(3){display:none}.research-detail-normal .data-table-row.participant-table-grid{gap:7px 10px;padding:10px 36px 10px 10px}}@media(max-width:360px){.segment-card-copy strong{font-size:.82rem}}@media(max-width:1120px){.panorama-food-list{grid-template-columns:repeat(2,minmax(0,1fr))}.panorama-participant-list>button{grid-template-columns:auto minmax(180px,1fr) repeat(2,minmax(74px,.45fr)) minmax(100px,.62fr) auto}.panorama-participant-list>button>span:nth-child(4){display:none}.food-consumed-row{grid-template-columns:auto minmax(150px,1fr) minmax(100px,.4fr)}.food-nutrient-preview{grid-column:2 / -1}.dental-status-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:920px){.panorama-participant-list>button{grid-template-columns:auto minmax(160px,1fr) repeat(2,minmax(72px,.45fr)) auto}.panorama-participant-list>button>span:nth-child(6){display:none}.participant-clinical-overview{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:12px}.participant-photo-panel{min-height:112px}.participant-overview-metrics>span{padding:8px}.dental-status-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:760px){.panorama-page-header .primary-button,.research-participants-page>.page-header .primary-button{width:100%}.panorama-list-heading{align-items:stretch;flex-direction:column}.panorama-search{width:100%}.panorama-participant-list>button{min-height:82px;grid-template-columns:44px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:3px 10px;padding:9px 10px}.panorama-participant-list>button>.panorama-person-photo{grid-column:1;grid-row:1 / 3}.panorama-participant-list>button>.panorama-person-main{grid-column:2;grid-row:1}.panorama-participant-list>button>span:nth-child(3){grid-column:2;grid-row:2;justify-self:start}.panorama-participant-list>button>span:nth-child(5){grid-column:2;grid-row:2;justify-self:end}.panorama-participant-list>button>svg{grid-column:3;grid-row:1 / 3}.panorama-person-metric{grid-auto-flow:column;align-items:baseline;gap:4px}.research-participant-row{grid-template-columns:auto minmax(0,1fr);gap:8px 10px;padding:10px}.research-participant-row .ghost-button,.research-participant-row .primary-button{width:100%}.research-participant-row .ghost-button,.research-participant-row .primary-button{grid-column:1 / -1}.food-entry-page{height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr) auto;gap:9px}.food-entry-page .compact-page-header{gap:0}.food-entry-page .page-header-copy .eyebrow{display:none}.food-entry-page .page-header-copy h2{margin-bottom:1px;font-size:1.25rem}.food-entry-page .page-header-copy p{overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.food-entry-form{height:100%;min-height:0;align-self:stretch;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:8px;padding:11px 12px;overflow:hidden}.food-entry-form .section-heading{padding-bottom:8px}.food-entry-form .section-heading p{display:none}.food-entry-form .field:last-of-type{min-height:0;grid-template-rows:auto minmax(0,1fr) auto}.food-entry-form textarea{height:100%;min-height:0;resize:none}.food-entry-date{width:100%}.food-entry-date input{min-height:40px;padding-top:8px;padding-bottom:8px}.food-entry-actions{gap:8px}.food-entry-actions button{min-height:42px}.participant-panorama-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.participant-panorama-actions button{width:100%}.participant-clinical-overview{grid-template-columns:1fr}.participant-photo-panel{min-height:138px}.participant-overview-copy{gap:12px}.food-history-record summary{grid-template-columns:1fr;gap:7px;padding:11px 12px}.food-history-content{padding:12px}.food-consumed-row{grid-template-columns:42px minmax(0,1fr) auto;gap:8px;padding:9px}.food-consumed-image{width:42px;height:42px}.food-consumed-quantity{max-width:96px;text-align:right}.food-nutrient-preview{grid-column:2 / -1}.dental-status-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:460px){.panorama-food-list{grid-template-columns:1fr}.panorama-section-heading{align-items:flex-start}.panorama-section-heading>strong{white-space:nowrap}.participant-panorama-actions{grid-template-columns:1fr}.participant-photo-panel{min-height:112px}.participant-overview-metrics>span{padding:7px 6px}.participant-overview-metrics small{font-size:.62rem}.food-nutrient-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.food-nutrition-dialog-header{padding:18px 52px 14px 16px}.food-nutrition-list{padding:4px 16px}.food-nutrition-row{min-height:42px;gap:10px;font-size:.72rem}.food-nutrition-source{padding-right:16px;padding-left:16px}.dental-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.food-autocomplete-field{position:relative;min-height:0}.food-autocomplete-field>label{font-weight:700}.food-autocomplete-control{position:relative;min-height:0;height:100%}.food-autocomplete-control textarea{width:100%}.food-suggestions{position:absolute;right:10px;bottom:10px;left:10px;z-index:20;max-height:238px;overflow-y:auto;border:1px solid var(--line-strong);border-radius:7px;background:#fff;box-shadow:0 14px 34px #0b4f8a2e}.food-suggestion{width:100%;min-height:54px;display:flex;align-items:center;gap:11px;padding:7px 10px;border:0;border-bottom:1px solid var(--line);color:var(--text);background:#fff;text-align:left}.food-suggestion:last-child{border-bottom:0}.food-suggestion:hover,.food-suggestion:focus-visible{background:var(--primary-soft)}.food-suggestion-image,.settings-food-image{display:grid;place-items:center;flex:0 0 auto;overflow:hidden;color:var(--primary-dark);background:var(--primary-soft)}.food-suggestion-image{width:40px;height:40px;border-radius:6px}.food-suggestion-image img,.settings-food-image img{width:100%;height:100%;object-fit:cover}.food-suggestion-copy,.settings-food-copy{min-width:0;display:grid}.food-suggestion-copy strong{overflow:hidden;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.food-suggestion-copy small{overflow:hidden;color:var(--muted);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.settings-page{min-height:0;display:grid;flex:1 1 auto;grid-template-rows:auto minmax(0,1fr);gap:14px;overflow:hidden}.settings-header{align-items:center}.settings-catalog-count{display:flex;align-items:baseline;gap:8px;padding:9px 12px;border-left:3px solid var(--green);background:#2ead5b12}.settings-catalog-count strong{color:var(--primary-dark);font-size:1.25rem}.settings-catalog-count span{color:var(--muted);font-size:.76rem;font-weight:700}.settings-mobile-tabs{display:none}.settings-workspace{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(340px,.82fr) minmax(420px,1.18fr);overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow-sm)}.settings-import-panel,.settings-catalog-panel{min-width:0;min-height:0}.settings-import-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:14px;padding:20px;border-right:1px solid var(--line)}.settings-import-panel .section-heading{padding-bottom:13px}.settings-list-field{min-height:0;grid-template-rows:auto minmax(0,1fr) auto}.settings-list-field textarea{height:100%;min-height:150px;resize:none}.settings-list-count.invalid{color:var(--red)}.settings-import-result{min-height:42px;display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid rgba(46,173,91,.34);border-radius:6px;color:var(--green);background:#2ead5b12}.settings-import-result span{display:grid;color:var(--muted);font-size:.75rem}.settings-import-result strong{color:var(--green)}.settings-import-button{width:100%}.settings-catalog-panel{display:grid;grid-template-rows:auto minmax(0,1fr)}.settings-catalog-toolbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line)}.settings-catalog-toolbar h3{margin-bottom:1px}.settings-catalog-toolbar span{color:var(--muted);font-size:.72rem}.settings-search{width:min(260px,52%);min-height:40px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line-strong);border-radius:7px;color:var(--muted);background:#fff}.settings-search:focus-within{border-color:var(--support);box-shadow:0 0 0 3px #1789c91f}.settings-search input{width:100%;min-width:0;min-height:36px;padding:0;border:0;outline:0;background:transparent}.settings-food-list{min-height:0;overflow-y:auto;overscroll-behavior:contain}.settings-food-row{min-height:66px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 16px;border-bottom:1px solid var(--line)}.settings-food-row:last-child{border-bottom:0}.settings-food-image{width:46px;height:46px;border-radius:6px}.settings-food-copy strong,.settings-food-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-food-copy strong{font-size:.82rem}.settings-food-copy small{color:var(--muted);font-size:.69rem}.settings-food-source{min-width:66px;color:var(--muted);font-size:.68rem;font-weight:750;text-align:right}.settings-food-source.complete{color:var(--green)}.settings-empty-catalog{display:grid;place-items:center;min-height:160px;color:var(--muted);font-size:.82rem}@media(max-width:760px){.bottom-nav-item{font-size:.61rem}.settings-page{grid-template-rows:auto auto minmax(0,1fr);gap:8px}.settings-header .eyebrow,.settings-header .page-header-copy p{display:none}.settings-header .page-header-copy h2{margin-bottom:0;font-size:1.3rem}.settings-catalog-count{padding:6px 9px}.settings-catalog-count strong{font-size:1rem}.settings-mobile-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:3px;border:1px solid var(--line);border-radius:7px;background:var(--surface-strong)}.settings-mobile-tabs button{min-height:36px;border:0;border-radius:5px;color:var(--muted);background:transparent;font-size:.76rem;font-weight:750}.settings-mobile-tabs button.active{color:var(--primary-dark);background:#fff;box-shadow:var(--shadow-sm)}.settings-workspace{display:block}.settings-import-panel,.settings-catalog-panel{display:none;height:100%}.settings-import-panel.mobile-active{display:grid;padding:12px;border-right:0}.settings-catalog-panel.mobile-active{display:grid}.settings-import-panel .section-heading p{display:none}.settings-catalog-toolbar{min-height:62px;padding:10px 12px}.settings-search{width:min(210px,58%)}.settings-food-row{min-height:60px;grid-template-columns:40px minmax(0,1fr) auto;gap:9px;padding:7px 10px}.settings-food-image{width:40px;height:40px}.food-suggestion:nth-child(n+4){display:none}}@media(max-height:720px){.settings-header{min-height:0}.settings-import-panel{gap:9px;padding-top:12px;padding-bottom:12px}.settings-list-field textarea{min-height:104px}}.food-flow-body{height:100%}.food-days-shell{width:100%;height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;overflow:hidden}.food-days-toolbar{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.food-days-toolbar>div{min-width:0}.food-days-toolbar .eyebrow{margin-bottom:2px;font-size:.65rem}.food-days-toolbar h3{margin-bottom:1px;font-size:1rem}.food-days-toolbar p{margin:0;color:var(--muted);font-size:.75rem}.food-days-list{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px;overflow-y:auto;overscroll-behavior:contain;padding:1px 4px 8px 1px}.food-day-block{min-width:0;display:grid;grid-template-columns:minmax(190px,.38fr) minmax(0,1fr);align-content:start;gap:10px 14px;padding:13px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.food-day-header{grid-column:1 / -1;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding-bottom:9px;border-bottom:1px solid var(--line)}.food-day-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;color:var(--primary);background:var(--primary-faint)}.food-day-header>div{min-width:0;display:grid;gap:1px}.food-day-header strong{color:var(--text);font-size:.85rem}.food-day-header small{color:var(--muted);font-size:.7rem}.food-day-remove{color:var(--red)}.food-day-block .food-entry-date{width:100%;align-self:start}.food-day-block .food-autocomplete-field{min-width:0}.food-day-block textarea,.food-entry-form .food-day-block textarea{height:106px;min-height:106px;resize:vertical}.food-day-block .character-count{font-size:.68rem}.food-entry-form{width:min(1180px,100%);height:100%;min-height:0;align-self:stretch;justify-self:center;display:block;padding:0;overflow:hidden}@media(max-width:920px){.food-days-list{grid-template-columns:1fr}.food-day-block{grid-template-columns:minmax(180px,.34fr) minmax(0,1fr)}}@media(max-width:600px){.food-days-shell{gap:8px}.food-days-toolbar{min-height:52px;gap:8px;padding:7px 9px}.food-days-toolbar .eyebrow,.food-days-toolbar p{display:none}.food-days-toolbar h3{font-size:.92rem}.food-days-toolbar .secondary-button{min-height:38px;padding:7px 10px;font-size:.75rem}.food-days-list{gap:8px;padding-right:2px}.food-day-block{grid-template-columns:1fr;gap:8px;padding:9px 10px}.food-day-header{grid-column:auto;padding-bottom:7px}.food-day-icon{width:30px;height:30px}.food-day-block .food-entry-date input{min-height:38px}.food-entry-form .food-day-block .food-autocomplete-field{min-height:0;display:grid;grid-template-rows:auto auto auto}.food-day-block textarea,.food-entry-form .food-day-block textarea{height:94px;min-height:94px;resize:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
