:root{font-family:Inter,"Segoe UI",Arial,system-ui,sans-serif;color:#172b45;background:#f5f7fa;font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;min-height:100%}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a4d697;outline-offset:2px}[hidden]{display:none!important}
.app{min-height:100vh}.topbar{background:#152a47;border-bottom:1px solid #1f3b5d;color:#fff}.topbar-inner{height:76px;max-width:1530px;margin:auto;padding:0 38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px}.brand-symbol{width:40px;height:40px;border:1.5px solid #90cc81;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#d9f6d2;font-weight:800;letter-spacing:-1.5px;font-size:19px}.brand-words{display:flex;flex-direction:column;gap:3px}.brand-words strong{font-size:14px;letter-spacing:.01em}.brand-words span{font-size:11px;color:#b2c1d3}.top-actions{display:flex;align-items:center;gap:19px}.local-mark{color:#c8d5e0;font-size:12px;display:flex;align-items:center;gap:8px}.online-dot{width:7px;height:7px;border-radius:99px;background:#90da70;display:inline-block;box-shadow:0 0 0 4px rgba(144,218,112,.10)}
.button{min-height:46px;padding:0 20px;border-radius:10px;border:1px solid transparent;font-weight:700;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap}.button-primary{background:#37892e;color:#fff;border-color:#37892e}.button-primary:hover{background:#2e7626}.button-outline{color:#1b314b;border-color:#d6dee8;background:#fff}.button-outline:hover{background:#f0f4f8}.button-quiet{background:transparent;color:#d1dbea;border-color:#496079}.button-quiet:hover{background:rgba(255,255,255,.08)}.button-small{min-height:34px;padding:0 13px;font-size:12px}.button:disabled{opacity:.48;cursor:not-allowed}
.demo-banner{background:#fff5df;color:#785219;padding:13px 34px;border-bottom:1px solid #f1dda8;text-align:center;font-size:12px;line-height:1.6}.demo-banner code{background:#fff0c6;padding:2px 5px;border-radius:3px}.layout{display:grid;grid-template-columns:283px minmax(0,1fr);max-width:1530px;margin:auto;min-height:calc(100vh - 76px)}.sidebar{border-right:1px solid #e2e8f0;background:#fff;display:flex;flex-direction:column;max-height:calc(100vh - 76px);position:sticky;top:0;overflow:hidden}.sidebar-head{padding:31px 25px 23px;border-bottom:1px solid #edf0f4}.sidebar-overline{color:#37892e;font-weight:800;letter-spacing:.13em;font-size:10px;margin-bottom:9px}.sidebar-title{font-weight:850;font-size:22px;letter-spacing:-.8px;margin-bottom:5px}.sidebar-meta{font-size:12px;color:#8291a2}.progress-track{height:6px;background:#e9eff0;border-radius:99px;overflow:hidden;margin-top:22px}.progress-fill{width:0;height:100%;background:#37892e}.progress-description{margin-top:10px;font-size:11px;color:#718397}.step-list{overflow:auto;padding:16px 13px 20px;flex:1;scrollbar-width:thin}.step-divider{padding:22px 12px 9px;color:#8a98a8;font-weight:800;font-size:10px;letter-spacing:.085em;text-transform:uppercase}.step-divider:first-child{padding-top:4px}.step-btn{border:0;background:transparent;display:flex;width:100%;text-align:left;padding:10px 11px;gap:12px;border-radius:9px;color:#536479;align-items:flex-start;margin-bottom:2px}.step-btn:hover{background:#f5f7f9}.step-btn.active{background:#eaf5e7;color:#225f1e}.step-btn.active .step-number{background:#37892e;color:#fff;border-color:#37892e}.step-number{flex:none;display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;font-size:10px;border:1px solid #dce3eb;background:#fff;border-radius:8px;color:#718498;font-weight:800}.step-number.done{background:#e6f5e2;color:#37892e;border-color:#cde9c7}.step-copy{min-width:0;flex:1}.step-name{display:block;font-weight:700;line-height:1.36;font-size:12px;overflow-wrap:anywhere}.step-meta{display:block;margin-top:4px;font-size:10px;color:#92a0ac}.sidebar-bottom{font-size:11px;line-height:1.6;color:#8393a5;border-top:1px solid #eef1f5;padding:18px 24px;background:#fbfcfd}.privacy-icon{color:#37892e;font-weight:bold;margin-right:4px}
.main-content{min-width:0;max-width:1230px;width:100%;margin:0 auto;padding:28px clamp(24px,4.5vw,72px) 24px}.content-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:29px}.breadcrumbs{font-size:12px;color:#7d8a98}.step-counter{background:#eaf0f6;border:1px solid #e3e9f0;border-radius:30px;font-weight:800;font-size:10px;color:#58708b;padding:7px 12px;letter-spacing:.03em}.eyebrow{font-weight:800;font-size:10px;color:#37892e;letter-spacing:.14em;margin-bottom:12px}.page-heading h1{font-size:clamp(26px,3vw,36px);letter-spacing:-1.4px;line-height:1.18;margin:0 0 9px;color:#152a47}.page-heading p{margin:0;color:#7a889a;font-size:13px;line-height:1.6}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:28px 0 22px}.metric{padding:18px 19px;min-height:100px;background:#fff;border:1px solid #e7ecf1;border-radius:12px;display:flex;flex-direction:column;justify-content:space-between}.metric-label{font-size:11px;color:#8493a3;font-weight:700}.metric strong{font-size:27px;color:#19304b;font-weight:800;line-height:1}.metric-alert strong{color:#d15a47}.panel{border:1px solid #e5ebf2;background:#fff;border-radius:14px;overflow:hidden;min-height:280px;box-shadow:0 3px 18px rgba(23,42,63,.025)}.panel-head{padding:25px 29px 19px;border-bottom:1px solid #edf1f4;display:flex;align-items:center;justify-content:space-between;gap:18px}.panel-head h2{font-size:17px;letter-spacing:-.4px;margin:0 0 4px}.panel-head p{font-size:12px;margin:0;color:#8794a2;line-height:1.5}.mini-tag{border:1px solid #d9e9d7;background:#f0f8ee;color:#397b33;border-radius:50px;font-size:10px;font-weight:800;padding:7px 11px;white-space:nowrap}.fields{padding:27px 29px 32px}.fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:800;color:#3b5066}.field .optional{color:#9ca7b4;font-weight:500}.field input,.field textarea{width:100%;color:#21374e;background:#fff;border:1px solid #dce4ed;border-radius:9px;padding:0 13px;height:44px;font-size:13px;min-width:0}.field textarea{height:auto;padding:12px 13px;min-height:89px;resize:vertical;line-height:1.5}.field input::placeholder,.field textarea::placeholder{color:#aab6c2}.intro-hint{margin-top:25px;background:#f4f8f2;border:1px solid #e0eedb;border-radius:10px;padding:15px 17px;display:flex;gap:12px;align-items:flex-start;font-size:12px;color:#567050;line-height:1.5}.intro-hint strong{display:block;color:#326f2e;margin-bottom:3px}.intro-icon{background:#e4f2dd;width:29px;height:29px;border-radius:8px;color:#37892e;display:flex;align-items:center;justify-content:center;flex:none;font-size:14px;font-weight:900}
.group-progress{padding:14px 29px;background:#fbfcfd;border-bottom:1px solid #edf1f4;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#80909f;font-size:11px}.group-progress strong{color:#326a2b}.question-list{padding:9px 29px 20px}.question-card{padding:23px 0 22px;border-bottom:1px solid #ebeff3}.question-card:last-child{border-bottom:0}.question-top{display:flex;align-items:flex-start;gap:13px}.question-index{border-radius:7px;background:#edf2f7;color:#536783;font-size:11px;font-weight:800;min-width:29px;height:27px;display:flex;align-items:center;justify-content:center;margin-top:1px}.question-main{flex:1;min-width:0}.question-title{margin:0;color:#1c304b;line-height:1.52;font-size:14px;font-weight:800}.required{color:#e06248;font-size:10px;font-weight:800;margin-top:5px;display:block}.optional-label{font-size:10px;color:#93a1af;margin-top:5px;display:block}.answer-choices{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0 0 42px}.choice{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:1px solid #dfe5ec;background:#fff;color:#697b8d;border-radius:8px;padding:9px 15px;font-size:11px;font-weight:800;gap:8px;cursor:pointer;user-select:none}.choice:hover{background:#f7f9fb}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice:focus-within{outline:3px solid #9bd292;outline-offset:2px}.choice .dot{width:12px;height:12px;border:2px solid #b7c2cd;border-radius:50%}.choice.selected[data-status="conforme"]{background:#edf8e9;border-color:#a5d39a;color:#2e7c2a}.choice.selected[data-status="conforme"] .dot{background:#37892e;border-color:#37892e;box-shadow:inset 0 0 0 2px #edf8e9}.choice.selected[data-status="nao_conforme"]{background:#fff1ef;border-color:#edb3a9;color:#b63c2d}.choice.selected[data-status="nao_conforme"] .dot{background:#d45b45;border-color:#d45b45;box-shadow:inset 0 0 0 2px #fff1ef}.choice.selected[data-status="nao_aplicavel"]{background:#eef3f8;border-color:#b7c6d5;color:#526d89}.choice.selected[data-status="nao_aplicavel"] .dot{background:#59728b;border-color:#59728b;box-shadow:inset 0 0 0 2px #eef3f8}.comment-area{margin:14px 0 0 42px}.comment-area textarea{width:100%;min-height:73px;resize:vertical;border-radius:9px;border:1px solid #dce4ed;padding:12px 13px;color:#25405e;font-size:12px;line-height:1.5}.comment-area label{display:block;font-weight:800;color:#6f8292;font-size:10px;margin-bottom:8px}.add-note{display:block;margin:12px 0 0 42px;background:none;border:0;color:#54728b;font-size:11px;font-weight:700;padding:0}.add-note:hover{color:#37892e}.page-nav{display:flex;justify-content:space-between;align-items:center;margin:22px 0 32px;gap:14px}.nav-right{display:flex;gap:15px;align-items:center}.nav-hint{font-size:11px;color:#8191a2}.app-footer{text-align:center;border-top:1px solid #e5ebf2;padding-top:18px;font-size:10px;color:#96a3b0}
.review-wrap{padding:26px 29px 30px}.review-status{padding:17px;border:1px solid #e1e9ed;border-radius:11px;background:#f6f9fb;display:flex;gap:14px;align-items:flex-start}.review-status.good{background:#f0f8ed;border-color:#d8ebd2}.review-status.warn{background:#fff8ec;border-color:#f3e3c0}.review-status .status-glyph{font-size:21px}.review-status strong{display:block;font-size:13px;margin-bottom:5px}.review-status p{font-size:11px;line-height:1.5;color:#718298;margin:0}.review-heading{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#8191a2;font-weight:800;margin:26px 0 12px}.review-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.detail-item{background:#f9fafc;border:1px solid #edf1f4;border-radius:9px;padding:13px 15px;min-width:0}.detail-item span{display:block;font-size:10px;color:#8899a9;margin-bottom:6px}.detail-item strong{display:block;overflow-wrap:anywhere;font-size:12px;color:#253c53}.issue-list{list-style:none;margin:0;padding:0}.issue-list li{padding:14px 15px;border:1px solid #eedfdc;border-radius:9px;margin-bottom:8px;background:#fff9f8}.issue-list strong{font-size:12px;color:#8a4031;display:block;margin-bottom:5px}.issue-list p{margin:0;font-size:11px;color:#765f59;line-height:1.5;white-space:pre-wrap}.empty-issues{font-size:12px;color:#8291a1;margin:0}.review-actions{margin-top:25px;padding-top:23px;border-top:1px solid #e8edf2;display:flex;justify-content:space-between;gap:15px;align-items:center}.review-actions p{font-size:11px;line-height:1.55;color:#7b8ca0;max-width:300px;margin:0}.loading-state,.error-state{text-align:center;margin:12vh auto;padding:50px 24px;max-width:510px}.loading-state h2,.error-state strong{font-size:21px;display:block;color:#1b304b}.loading-state p,.error-state p{color:#7e8c9b;font-size:13px;line-height:1.7}.loading-pulse{display:block;width:34px;height:34px;background:#37892e;border-radius:10px;margin:0 auto 25px}.toast{position:fixed;right:22px;bottom:22px;background:#152a47;color:#fff;border-radius:10px;padding:15px 19px;font-size:12px;font-weight:700;box-shadow:0 14px 40px #1c30452f;max-width:min(380px,calc(100vw - 35px));z-index:30}
@media(max-width:1080px){.layout{grid-template-columns:245px minmax(0,1fr)}.main-content{padding-left:30px;padding-right:30px}.sidebar-head{padding-left:19px;padding-right:19px}.metrics{gap:8px}.metric{padding:14px}.metric strong{font-size:24px}}
@media(max-width:770px){.topbar-inner{padding:0 18px;height:67px}.local-mark{display:none}.top-actions .button{font-size:11px;padding:0 9px}.layout{display:block}.sidebar{position:static;max-height:none;border-right:0;border-bottom:1px solid #e2e8f0}.sidebar-head{padding:15px 19px;display:grid;grid-template-columns:1fr 125px;align-items:center}.sidebar-overline,.sidebar-meta,.sidebar-bottom{display:none}.sidebar-title{font-size:17px;margin:0}.progress-track{margin:0;grid-column:2;grid-row:1 / span 2}.progress-description{grid-column:2;grid-row:2;text-align:right;margin:8px 0 0}.step-list{display:flex;gap:6px;white-space:nowrap;overflow-x:auto;padding:7px 12px 12px;scrollbar-width:thin}.step-divider{display:none}.step-btn{width:auto;flex:none;align-items:center;border:1px solid #e9eef3;padding:7px 10px}.step-btn.active{border-color:#b8dfae}.step-name{font-size:11px;max-width:200px;overflow:hidden;text-overflow:ellipsis}.step-meta{display:none}.step-number{width:21px;height:21px}.main-content{padding:21px 17px 26px}.content-topline{margin-bottom:20px}.metrics{margin:21px 0 15px;grid-template-columns:repeat(4,minmax(0,1fr))}.metric{padding:12px;min-height:85px}.metric strong{font-size:22px}.metric-label{font-size:10px}.panel-head{padding:20px}.fields,.review-wrap{padding:21px 20px}.question-list{padding:5px 20px 15px}.group-progress{padding:12px 20px}.page-heading h1{font-size:27px}}
@media(max-width:480px){.brand-words strong{font-size:12px}.brand-words span{font-size:10px}.brand-symbol{width:35px;height:35px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{min-height:78px}.fields-grid,.review-detail{grid-template-columns:1fr}.panel-head{align-items:flex-start;flex-direction:column}.answer-choices{margin-left:0}.choice{flex:1;min-width:120px}.comment-area,.add-note{margin-left:0}.page-nav{align-items:stretch}.page-nav .button{min-height:43px;padding:0 14px}.nav-hint{display:none}.review-actions{align-items:stretch;flex-direction:column}.review-actions .button{width:100%}}

/* Evidências fotográficas — v1.4 */
.evidence-area{margin:18px 0 0 42px;border:1px solid #e2eaf0;background:#fbfcfd;border-radius:12px;padding:15px 17px}
.evidence-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.evidence-head strong{font-size:12px;color:#29425c}.evidence-head span{font-size:10px;color:#8394a5;font-weight:700}
.evidence-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.evidence-actions input[type=file]{position:absolute;left:-99999px;width:1px;height:1px;opacity:0}
.evidence-button{display:inline-flex;align-items:center;justify-content:center;min-height:37px;cursor:pointer;border-radius:8px;background:#eaf5e7;border:1px solid #cce7c4;color:#31752b;font-size:11px;font-weight:800;padding:0 13px}
.evidence-camera{color:#425f7b;background:#f2f5f9;border-color:#d9e3ec}.evidence-button:hover{filter:brightness(.96)}
.evidence-tip{font-size:10px;margin:10px 0 0;color:#8798a7;line-height:1.5}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:15px}.photo-card{margin:0;background:white;border:1px solid #e2e9f0;border-radius:9px;padding:7px;min-width:0}
.photo-card img{display:block;width:100%;height:135px;object-fit:cover;border-radius:6px;background:#edf2f5}.photo-card figcaption{display:flex;flex-direction:column;gap:5px;margin-top:8px}.photo-card figcaption label{font-size:10px;font-weight:800;color:#697f91}
.photo-card input{min-width:0;width:100%;height:33px;padding:6px 8px;border:1px solid #dce5ed;border-radius:6px;font-size:11px}.photo-remove{align-self:flex-start;background:transparent;border:0;color:#ad4a3b;font-weight:700;font-size:10px;padding:5px 0}
.photo-review-count{font-size:12px;color:#617287}
@media(max-width:770px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.evidence-area{margin-left:0;padding:12px}.photo-grid{grid-template-columns:1fr 1fr;gap:8px}.photo-card img{height:110px}}

/* Versão online — login e histórico de vistorias */
.user-chip,.save-pill{font-size:11px;font-weight:700;color:#d7e5ef;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.save-pill{color:#acd897}.login-wrap{min-height:calc(100vh - 68px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);max-width:1260px;margin:auto;gap:64px;align-items:center;padding:8vh 32px}.login-cover{padding:36px 32px;color:#152e4b}.login-kicker,.login-eyebrow{font-size:12px;letter-spacing:.12em;font-weight:800;color:#37892e}.login-cover h1{font-size:clamp(45px,5.6vw,76px);line-height:1.02;letter-spacing:-.05em;margin:20px 0;white-space:pre-line}.login-cover p{font-size:18px;color:#61768c;max-width:440px;line-height:1.65;margin-bottom:34px}.login-feature{padding:10px 0;font-weight:700;color:#2d5067}.login-card{background:#fff;border:1px solid #e3eaf1;border-radius:16px;box-shadow:0 22px 80px rgba(20,42,69,.08);padding:46px}.login-card h2{font-size:30px;letter-spacing:-.035em;margin:12px 0}.login-card>p{font-size:14px;color:#7c8da0;margin-bottom:28px}.login-card form{display:flex;flex-direction:column}.login-card label{font-size:12px;font-weight:800;margin:11px 0 7px;color:#294157}.login-card input{width:100%;font:inherit;padding:14px 13px;border:1px solid #cdd8e2;border-radius:8px;background:#fbfdff}.login-card input:focus{outline:2px solid #9bd285;border-color:#37892e}.login-card form button{margin:22px 0 10px;min-height:48px}.login-error{font-size:12px;color:#a53c2f;background:#fff0ed;padding:12px;border-radius:7px}.login-note{font-size:11px;color:#8698a8;margin-top:20px;line-height:1.6}.history-overlay{position:fixed;z-index:90;inset:0;background:rgba(13,31,51,.65);display:grid;place-items:center;padding:24px}.history-overlay[hidden]{display:none}.history-box{width:min(720px,100%);max-height:85vh;overflow:auto;padding:28px;border-radius:14px;background:white;box-shadow:0 20px 60px #142a4530}.history-top{display:flex;justify-content:space-between;align-items:start;gap:18px;margin-bottom:20px}.history-top h2{margin:8px 0}.history-top p{font-size:13px;color:#778a9a}.history-item{display:flex;flex-direction:column;width:100%;gap:5px;text-align:left;background:#f7f9fb;border:1px solid #e4eaf0;border-radius:8px;padding:14px;margin:10px 0;cursor:pointer;color:#1a3652}.history-item:hover{border-color:#37892e}.history-item span{color:#65798b;font-size:12px}.history-item small{color:#879aad}.login-wrap[hidden]{display:none}
@media(max-width:880px){.login-wrap{grid-template-columns:1fr;gap:20px;padding:24px 16px}.login-cover{padding:15px}.login-cover h1{font-size:43px}.login-cover p{font-size:14px;margin-bottom:10px}.login-feature{font-size:12px;padding:5px 0}.login-card{padding:25px}.topbar .user-chip,.topbar .save-pill{display:none}}
[hidden] {display:none!important}
