:root{--ink:#260103;--muted:#686868;--brand:#90181e;--navy:#183b68;--gold:#ffb52f;--brand-soft:#fff2f5;--line:#e9e9e9;--bg:#f7f7f9;--green:#247752;--red:#aa3d35;--radius:20px;font-family:Montserrat,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:4px}button{cursor:pointer}a{color:var(--brand);text-decoration:none}button:disabled{opacity:.6;cursor:wait}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#fffdfd;color:white;padding:32px 22px;display:flex;flex-direction:column;z-index:2}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-weight:800;letter-spacing:.025em}.brand small,.sidebar-bottom small{display:block;font-size:.875rem;font-weight:400;color:#686868;margin-top:4px}.brand-mark{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:#90181e;border-radius:12px;font-size:1rem;font-weight:800;flex-shrink:0}.brand-mark.small{width:34px;height:34px;font-size:.875rem;background:#fff2f5}.nav-label{font-size:.75rem;letter-spacing:.09em;color:#686868;margin:36px 12px 10px}nav{display:grid;gap:6px}nav a{color:#333333;padding:13px 12px;border-radius:10px;font-size:.875rem}nav a.active{background:#90181e;color:white;font-weight:650}nav a:hover{background:#fff2f5}.sidebar-bottom{border-top:1px solid #e9e9e9;padding-top:22px;display:flex;gap:10px;align-items:center;margin-top:auto;font-size:.875rem}.shell{margin-left:248px}.topbar{height:74px;display:flex;justify-content:space-between;align-items:center;padding:0 40px;border-bottom:1px solid var(--line);background:white;color:var(--muted);font-size:.875rem}.local-label{padding:6px 10px;border:1px solid var(--line);border-radius:100px;font-size:.75rem}.mobile-brand{display:none}main{padding:32px 40px;max-width:1550px;margin:auto}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}h1{font-size:1.75rem;letter-spacing:-.035em;line-height:1.2;margin:0 0 8px}h2{font-size:1.125rem;letter-spacing:-.015em;margin:0 0 6px}h3{font-size:1rem;margin:0 0 8px}p{line-height:1.55;margin:0 0 16px}.sub,.muted{color:var(--muted);font-size:.875rem}.sub{margin:0}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.button{background:white;color:var(--ink);border:1px solid var(--line);padding:10px 15px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.875rem;font-weight:600;white-space:normal}.button:hover{border-color:#b05d62}.button.primary{background:var(--brand);border-color:var(--brand);color:white}.button.ghost{border-color:transparent;background:transparent;color:var(--brand)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat,.card{background:white;border:1px solid var(--line);border-radius:var(--radius)}.stat{padding:22px}.stat-label{font-size:.875rem;color:var(--muted);margin-bottom:12px}.stat-value{font-size:2rem;font-weight:750;letter-spacing:-.04em;line-height:1.2}.stat-footer{font-size:.875rem;margin-top:12px;color:var(--muted);line-height:1.4}.negative{color:var(--red)}.positive{color:var(--green)}.card{padding:24px;margin-bottom:22px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.two-col{display:grid;grid-template-columns:1.15fr 1fr;gap:22px}.pill{display:inline-block;border-radius:100px;font-size:.75rem;padding:5px 9px;background:var(--brand-soft);color:var(--brand);white-space:nowrap}.pill.warning{background:#fff0db;color:#966218}.pill.error{background:#fbe9e7;color:var(--red)}.pill.success{background:#e7f3ec;color:var(--green)}.trend{width:100%;height:185px;display:block}.trend text{font-family:inherit;font-size:14px;fill:var(--muted)}.trend .value{fill:var(--ink);font-weight:700;font-size:18px}.notice{background:#fff2f5;border-radius:10px;padding:14px 16px;font-size:.875rem;line-height:1.55;color:#7e3036}.notice.neutral{background:#f4f5f8;color:var(--muted)}.area-row{display:grid;grid-template-columns:1fr 70px;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.area-row:last-child{border:0}.area-title{font-size:.875rem;font-weight:550}.bar{height:6px;border-radius:8px;background:#f2eded;margin-top:9px;overflow:hidden}.bar span{display:block;height:100%;background:var(--brand);border-radius:8px}.area-score{text-align:right;font-size:1.125rem;font-weight:750}.area-score small{display:block;margin-top:4px;font-size:.75rem;color:var(--muted);font-weight:400}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-weight:550;color:var(--muted);font-size:.75rem;padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:16px 10px;border-bottom:1px solid var(--line);font-size:.875rem;vertical-align:middle;line-height:1.45}tbody tr:last-child td{border:0}.issue-name{max-width:490px;font-weight:600;color:var(--ink);background:none;border:0;padding:0;text-align:left;font-size:.875rem;line-height:1.45}.issue-name:hover{color:var(--brand)}.tiny{font-size:.75rem;color:var(--muted);line-height:1.5}.filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px;align-items:end}.field{display:grid;gap:7px;min-width:0}.field label,.field>span{font-size:.875rem;font-weight:550}.field input,.field select,.field textarea,.filters input,.filters select{width:100%;border:1px solid #d8d8dc;border-radius:9px;padding:11px 12px;background:white;color:var(--ink);min-width:0}.field textarea{min-height:90px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full{grid-column:1/-1}.stack{display:grid;gap:18px}.empty{padding:30px;text-align:center;color:var(--muted);line-height:1.6}.error-message{background:#fdece9;color:#97372f;padding:14px;border-radius:10px;margin-bottom:16px;font-size:.875rem}.question{padding:22px 0;border-bottom:1px solid var(--line)}.question:last-child{border:0}.question .field{margin-top:12px}.answer-choice{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.answer-choice label{padding:10px 14px;border:1px solid var(--line);border-radius:10px;font-size:.875rem;cursor:pointer}.answer-choice label:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}.question-area{font-size:.75rem;color:var(--brand);margin-bottom:8px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.photo-grid img{width:100%;height:145px;object-fit:cover;background:#eee;border-radius:10px}.photo-error{display:block;height:145px;background:#f5f5f5;border-radius:10px;padding:22px;font-size:.875rem}.photo-grid a{font-size:.75rem}.history-event{border-left:2px solid #e4b5b8;padding:0 0 18px 14px;font-size:.875rem}.history-event p{margin:7px 0}dialog{border:0;box-shadow:0 28px 90px #26010330;border-radius:20px;max-width:860px;width:calc(100% - 40px);padding:30px;max-height:90vh;overflow-y:auto}dialog::backdrop{background:#2601035c}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.close{border:1px solid var(--line);background:white;min-width:40px;height:40px;border-radius:10px;font-size:1.25rem}.section-title{padding:13px 0;margin-top:22px;border-top:1px solid var(--line)}#toast{position:fixed;bottom:24px;right:24px;background:#fffdfd;color:white;max-width:calc(100vw - 40px);padding:14px 20px;border-radius:12px;box-shadow:0 8px 30px #0002;display:none;z-index:10;font-size:.875rem}.audit-summary{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0}.audit-summary span{background:#f7f7f9;padding:10px 14px;border-radius:10px;font-size:.875rem}.draft-row{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:16px 0}.template-row{border-bottom:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}.template-row:last-child{border:0}.native-form-question{display:grid;grid-template-columns:1fr 1.8fr 80px 40px;gap:12px;margin:14px 0;align-items:end}.native-form-question input{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px}.inline-link{border:0;background:none;color:var(--brand);padding:0;font:inherit;cursor:pointer}.recurrence{margin:12px 0;padding:15px;border:1px solid var(--line);border-radius:12px}.recurrence strong{display:block;margin-bottom:6px}@media(max-width:1180px){.sidebar{width:218px;padding:28px 16px}.shell{margin-left:218px}main{padding:28px}.topbar{padding:0 28px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}.trend{height:190px}}@media(max-width:700px){.sidebar{position:static;width:100%;padding:20px 18px 12px;display:block}.brand small{display:none}.brand-mark{width:34px;height:34px}.nav-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:4px;margin-top:14px;scrollbar-width:thin}.sidebar nav a{white-space:nowrap;padding:10px;font-size:.875rem}.shell{margin:0}.topbar{height:46px;padding:0 18px}.top-context{font-size:.75rem}main{padding:22px 16px}.page-heading{display:block;margin-bottom:22px}.page-heading .actions{margin-top:16px}h1{font-size:1.5rem}.stats{gap:10px;margin-bottom:18px}.stat{padding:16px}.stat-value{font-size:1.65rem}.stat-label,.stat-footer{font-size:.875rem}.card{padding:18px;margin-bottom:18px}.card-head{gap:12px;flex-wrap:wrap}.two-col{gap:0}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}dialog{padding:20px;width:calc(100% - 24px)}.native-form-question{grid-template-columns:1fr 70px 36px}.native-form-question .field:first-child{grid-column:1/-1}.template-row{align-items:flex-start;flex-direction:column}td{min-width:100px}td:first-child{min-width:220px}.filters .field{width:100%}.draft-row{flex-wrap:wrap}}

/* Identidade compartilhada com os apps Gym Chef. */
.sidebar{color:var(--ink);border-right:1px solid var(--line);padding-top:14px}
.brand{display:flex;flex-direction:column;gap:0;color:var(--brand);text-align:center;padding:0 0 18px;border-bottom:1px solid var(--line);letter-spacing:0}
.brand-logo{display:block;width:180px;height:128px;object-fit:contain}
.brand-caption{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin-top:-15px}
.brand-mark.small{color:var(--brand);background:var(--brand-soft);border:1px solid #f0d7da}
.nav-label{font-weight:700;letter-spacing:.08em;margin-top:28px;color:var(--navy)}
nav a{font-weight:500;border-radius:100px;transition:background .15s,color .15s}
nav a.active{background:var(--brand);color:white;box-shadow:0 3px 10px #90181e18}
nav a.active:hover{background:#7b1419;color:white}
nav a:hover{color:var(--brand)}
.topbar{height:64px;background:var(--navy);color:white;border:0}
.top-context{font-weight:600;letter-spacing:.015em}
.local-label{border-color:#ffffff50;color:white;background:#ffffff0d}
.button{border-radius:100px;padding:11px 18px;min-height:42px}
.button.primary:hover{background:#7b1419;border-color:#7b1419}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--navy)}
input[type=radio]{accent-color:var(--brand)}
.field input,.field select,.field textarea,.filters input,.filters select{border-radius:12px}
.stat-value{color:var(--navy)}
.stat,.card{box-shadow:0 3px 16px #26010303}
.pill{background:#edf2f8;color:var(--navy)}
.question-area{font-weight:650;color:var(--navy)}
.notice{border-left:3px solid var(--brand)}
.notice.neutral{border-left:3px solid #d9e1eb;background:#f4f6f9}
#toast{background:var(--navy);color:white}
.answer-choice label{border-radius:100px;min-height:44px;display:flex;align-items:center;gap:6px}
@media(max-width:700px){
.sidebar{padding:10px 16px 14px;border-bottom:1px solid var(--line);border-right:0}
.brand{flex-direction:row;justify-content:space-between;padding:0 0 8px;gap:12px}
.brand-logo{width:112px;height:80px}
.brand-caption{margin:0;font-size:.7rem;letter-spacing:.08em}
.sidebar nav{margin-top:10px}
.sidebar nav a{padding:10px 14px}
.topbar{height:46px}
}

.camera-button{border-color:#e4b5b8;color:var(--brand);background:var(--brand-soft)}
.camera-dialog{max-width:760px}
.camera-view{background:#17202a;border-radius:16px;overflow:hidden;margin-bottom:12px}
.camera-view video,.camera-view img{display:block;width:100%;height:min(50vh,460px);object-fit:contain}
.camera-view [hidden],[hidden]{display:none!important}
#camera-error:not(:empty){color:var(--red);background:#fdece9;border-radius:12px;padding:14px;margin-bottom:14px;line-height:1.5;font-size:.875rem}
.camera-actions{justify-content:center;margin-top:18px}
@media(max-width:700px){.camera-dialog{width:calc(100% - 20px);padding:18px}.camera-view video,.camera-view img{height:38vh}.camera-actions .button{min-height:48px}}

.nutri-flow{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 24px;font-size:.875rem;color:var(--navy)}
.nutri-flow span{display:flex;align-items:center;gap:8px}.nutri-flow b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--navy);color:white}
.visit-progress{display:grid;gap:8px;font-size:.875rem;margin-bottom:20px}.visit-progress>span{color:var(--muted)}
.section-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.section-nav .button{border-radius:12px;text-align:left}.section-nav .active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}
.item-plan{padding:20px;background:#f7f8fb;border:1px solid #e4e9ef;border-radius:16px;margin-top:18px}.area-controls{justify-content:space-between;margin-top:20px}
.review-item{padding:16px 0;border-bottom:1px solid var(--line)}.review-item p{margin:8px 0;overflow-wrap:anywhere}.visit-footer{position:sticky;bottom:12px;box-shadow:0 4px 30px #26010312;z-index:1}
@media(max-width:700px){.nutri-flow{gap:12px}.nutri-flow span{font-size:.75rem}.section-nav .button{width:100%;justify-content:space-between}.item-plan{padding:16px}.visit-footer{position:static}.visit-footer .actions .button{flex:1}.review-item strong{overflow-wrap:anywhere}}
@media print{body{background:white}.sidebar,.topbar,.shell,#toast,.camera-dialog{display:none!important}dialog[open]{display:block;position:static;max-height:none;width:100%;max-width:none;margin:0;padding:0;box-shadow:none;overflow:visible}dialog::backdrop{display:none}dialog .close,dialog .button,dialog .report-controls{display:none!important}dialog details>*{display:block!important}dialog details summary{display:block!important}dialog .photo-grid{break-inside:avoid}dialog img{max-height:180px}dialog a{color:inherit}dialog h2{color:#90181e}}

.report-brand{display:flex;align-items:center;gap:16px;font-size:.875rem;font-weight:600;color:var(--navy);margin:16px 0}.report-brand img{object-fit:contain}.report-controls{margin-bottom:16px}

.model-dialog{max-width:1080px}.model-area-controls{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin-bottom:16px}.model-question{padding:20px;border:1px solid var(--line);border-radius:16px;margin:20px 0}.model-question .card-head{margin-bottom:16px}.model-save{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.band-row{display:grid;grid-template-columns:1fr 130px 40px;gap:12px;align-items:end;margin:14px 0}.question-bank{margin-top:24px;padding:18px;background:#f4f6f9;border-radius:14px}.question-bank summary{font-weight:600;cursor:pointer}.question-bank p{margin-top:12px}.criterion{padding:14px 16px;background:#f4f6f9;border-radius:12px;font-size:.875rem;line-height:1.5;margin:12px 0}.criterion p{margin:6px 0}.model-question .field textarea{min-height:76px}@media(max-width:700px){.model-area-controls{grid-template-columns:1fr}.model-question{padding:16px}.band-row{grid-template-columns:1fr 80px 40px}.model-save .button{width:100%}.model-dialog{padding:18px}}

/* Fluxo da nutricionista: visita > checklist > relatório > correções. */
.visit-welcome{border-top:4px solid var(--brand)}.visit-welcome h2{font-size:1.4rem;margin:10px 0}.visit-welcome p{max-width:780px}.visit-steps{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.visit-steps li{display:flex;align-items:center;gap:10px;font-size:.875rem;color:var(--muted)}.visit-steps b{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;background:#eef1f6;color:var(--navy);border-radius:50%}.visit-steps .current{color:var(--brand);font-weight:600}.visit-steps .current b{background:var(--brand);color:white}.checklist-card{padding:22px 0;border-bottom:1px solid var(--line)}.checklist-card:last-child{border:0;padding-bottom:0}.checklist-card h3{margin:12px 0 8px}.checklist-card p{margin-bottom:12px}.checklist-preview{margin:20px 0}.checklist-preview>details{border:1px solid var(--line);border-radius:12px;padding:16px;margin:10px 0}.checklist-preview summary{cursor:pointer;font-weight:600;line-height:1.6}.checklist-preview summary .pill{margin-left:8px}.checklist-release{padding-top:18px;border-top:1px solid var(--line)}.visit-info summary{font-weight:600;cursor:pointer;line-height:1.6}.visit-info[open] summary{margin-bottom:20px}.mobile-area-picker{display:none}
@media(max-width:700px){.visit-steps{grid-template-columns:1fr 1fr;gap:14px}.visit-steps li{font-size:.75rem}.visit-welcome h2{font-size:1.25rem}.visit-workspace .section-nav{display:none}.mobile-area-picker{display:grid;margin:0 0 20px}.checklist-release .button,.checklist-card>.actions .primary{width:100%}.visit-info summary{font-size:.875rem}.checklist-preview summary{overflow-wrap:anywhere}}

.camera-icon{display:inline-block;flex:0 0 20px;vertical-align:middle;pointer-events:none}.camera-button{gap:8px}

.signature-section{margin:24px 0;padding-top:24px;border-top:1px solid var(--line)}.signature-section .form-grid{margin:18px 0}.signature-review-items{margin:24px 0}.signature-review-items summary{font-weight:600;cursor:pointer}.signature-ack{display:flex;align-items:flex-start;gap:10px;margin:20px 0;font-size:.875rem;line-height:1.6}.signature-ack input{width:20px;height:20px;flex-shrink:0;accent-color:var(--brand)}#responsible-signature{display:block;width:100%;height:auto;aspect-ratio:3;border:2px dashed #aebed2;border-radius:14px;background:#fff;touch-action:none;margin:12px 0}.signature-picture{max-width:540px;border:1px solid var(--line);border-radius:14px}.signature-picture svg{display:block;width:100%;height:auto}.signature-section p{overflow-wrap:anywhere}@media print{.signature-section,.signature-picture{break-inside:avoid}}
