:root{--navy:#0D2B4D;--navy2:#123b68;--bg:#f4f7fb;--card:#fff;--ink:#182431;--muted:#6f7b88;--line:#e3e8ef;--soft:#eef4fa;--red:#b42318;--amber:#a15c00;--green:#18794e;--shadow:0 10px 30px rgba(13,43,77,.08);--radius:18px}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:Inter,Montserrat,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.shell{min-height:100vh;display:grid;grid-template-columns:270px 1fr}.side{background:linear-gradient(180deg,var(--navy),#071c32);color:#fff;padding:24px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;padding:2px 8px 28px}.mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);font-weight:900;letter-spacing:-.04em}.brand-copy{display:grid}.brand-copy strong{font-size:18px}.brand-copy small{opacity:.75}.nav{display:grid;gap:7px}.nav button{border:0;background:transparent;color:#d8e5f0;border-radius:12px;padding:12px;text-align:left;display:flex;gap:11px;align-items:center;min-height:46px}.nav-icon{width:23px;height:23px;display:grid;place-items:center;font-weight:900;font-size:16px;line-height:1}.nav button:hover,.nav button.active{background:rgba(255,255,255,.11);color:#fff}.side-foot{margin-top:auto;padding:14px 8px 2px;color:#b6c7d7;display:grid;gap:5px;font-size:12px}.side-foot strong{color:#fff}.main{padding:0 34px 54px;min-width:0}.top{display:flex;justify-content:space-between;align-items:center;padding:27px 0 20px;gap:16px}.top h1{margin:3px 0 0;font-size:30px}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:800;color:var(--muted)}.top-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.btn{border:0;border-radius:11px;padding:11px 14px;font-weight:750;min-height:42px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.compact{min-height:34px;padding:7px 10px}.primary{background:var(--navy);color:#fff;box-shadow:0 7px 17px rgba(13,43,77,.14)}.primary:hover{background:var(--navy2)}.secondary{background:#fff;border:1px solid var(--line);color:#475569}.danger{background:#fff1f0;color:var(--red);border:1px solid #ffd4d0}.text-btn{border:0;background:transparent;color:var(--navy);font-weight:800;padding:4px}.view{display:none}.view.active{display:block}.hero{background:linear-gradient(135deg,var(--navy),#1d4b79);color:#fff;border-radius:24px;padding:31px;display:flex;justify-content:space-between;align-items:center;gap:22px;box-shadow:0 18px 45px rgba(13,43,77,.18)}.hero h2{font-size:34px;margin:9px 0 7px}.hero p{margin:0;color:#dbe7f1;max-width:680px}.pill{display:inline-block;background:rgba(255,255,255,.12);padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800}.score-box{min-width:185px;padding-left:26px;border-left:1px solid rgba(255,255,255,.18);display:grid}.score-box strong{font-size:52px;line-height:1}.score-box span,.score-box small{color:#cfe0ef}.cards{display:grid;gap:16px}.cards.four{grid-template-columns:repeat(4,1fr);margin:18px 0}.cards.three{grid-template-columns:repeat(3,1fr)}.metric,.card,.panel,.row{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.metric{padding:19px;display:grid;gap:4px}.metric span,.metric small{color:var(--muted);font-size:12px}.metric strong{font-size:31px}.grid.two{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.panel{padding:21px}.panel-head,.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-head h3,.section-head h2{margin:0}.panel-head span,.section-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.section-head{margin-bottom:17px}.card{padding:19px}.card h3{margin:9px 0 4px}.card p{margin:0;color:var(--muted);font-size:13px}.tag{display:inline-block;font-size:10px;font-weight:800;border-radius:999px;padding:5px 8px;background:var(--soft);color:var(--navy)}.tag.critical{background:#fee4e2;color:var(--red)}.tag.high{background:#fff0df;color:var(--amber)}.tag.low{background:#e7f6ed;color:var(--green)}.tag.done{background:#e7f6ed;color:var(--green)}.row-list{display:grid;gap:11px}.row{padding:17px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}.row h3{margin:0 0 5px;font-size:16px}.row p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.row-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:38px;padding:8px 10px;font-size:12px;font-weight:750}.icon-btn:hover{background:#f7f9fb}.icon-btn.danger-link{color:var(--red)}.progress{height:8px;background:#edf1f5;border-radius:99px;overflow:hidden;margin-top:8px}.progress i{display:block;height:100%;background:var(--navy);border-radius:99px}.empty{padding:34px 12px;text-align:center;color:var(--muted);background:#fff;border:1px dashed #cfd8e3;border-radius:15px}.empty strong{display:block;color:var(--ink);margin-bottom:5px}.empty .btn{margin-top:12px}.filters{display:flex;gap:10px;margin-bottom:13px;flex-wrap:wrap}.filters select,.filters input{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-height:42px}.filters input{min-width:260px;flex:1}.modal{position:fixed;inset:0;background:rgba(2,12,24,.6);display:grid;place-items:center;padding:20px;z-index:50}.modal-card{width:min(720px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;padding:25px;position:relative;box-shadow:0 35px 100px rgba(0,0,0,.28)}.modal-card h2{margin-top:0}.close{position:absolute;right:15px;top:13px;width:36px;height:36px;border:0;border-radius:10px;background:#edf1f5;font-size:22px;display:grid;place-items:center}.form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:grid;gap:6px;align-content:start}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:800;color:#526070}.field input,.field select,.field textarea{border:1px solid #d9e0e7;border-radius:10px;padding:11px 12px;background:#fff;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#7f9db8;box-shadow:0 0 0 3px rgba(13,43,77,.08)}.field textarea{min-height:90px;resize:vertical}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--red);background:#fffafa}.validation{font-size:11px;color:var(--red);font-weight:700}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:19px}.toast-wrap{position:fixed;right:20px;bottom:20px;display:grid;gap:8px;z-index:80}.toast{background:#102c49;color:#fff;border-radius:12px;padding:12px 15px;box-shadow:0 12px 30px rgba(0,0,0,.2);animation:in .2s ease;max-width:360px}.toast.error{background:#8d2118}.toast.success{background:#145c3c}.toast.warn{background:#8a5a00}@keyframes in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.client-detail{display:grid;gap:12px}.detail-block{background:#f7f9fc;border:1px solid var(--line);border-radius:13px;padding:14px}.detail-block h4{margin:0 0 7px}.detail-block p{margin:0;color:var(--muted);font-size:13px}.report{max-width:980px;margin:auto}.report-header{display:flex;align-items:center;gap:13px;padding-bottom:16px;border-bottom:2px solid var(--navy)}.report-header h2{margin:3px 0}.report-header small{color:var(--muted)}.report-mark{background:var(--navy);color:#fff}.report-section{padding:18px 0;border-bottom:1px solid var(--line);break-inside:avoid}.report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.report-kpis div{background:var(--soft);border-radius:12px;padding:13px;break-inside:avoid}.report-kpis strong{display:block;font-size:24px;color:var(--navy)}.install{display:none}.install.ready{display:inline-block}.notice{background:#fff8e8;border:1px solid #f3d08a;border-radius:14px;padding:12px 14px;margin-bottom:14px;color:#654300;font-size:13px;display:flex;justify-content:space-between;gap:12px;align-items:center}.status-strip{margin-top:18px;padding:13px 16px;background:#fff;border:1px solid var(--line);border-radius:14px;color:var(--muted);font-size:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.update-bar{position:sticky;top:0;z-index:90;background:#0b2038;color:#fff;padding:9px 16px;display:flex;justify-content:center;align-items:center;gap:14px;font-size:13px}.update-bar .btn{background:#fff;color:#0b2038}.danger-zone{border:1px solid #ffd7d3;background:#fff8f7;border-radius:14px;padding:14px}.danger-zone h4{color:var(--red);margin:0 0 6px}.stats-line{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.stats-line div{padding:11px;background:#f7f9fc;border-radius:11px;text-align:center}.stats-line strong{display:block;font-size:20px}.confirm-code{font-weight:900;letter-spacing:.1em;color:var(--red)}
@media(max-width:1050px){.shell{grid-template-columns:86px 1fr}.brand-copy,.nav>button>span:last-child,.side-foot span{display:none}.brand{justify-content:center}.nav button{justify-content:center}.cards.four{grid-template-columns:repeat(2,1fr)}.cards.three{grid-template-columns:1fr 1fr}.grid.two{grid-template-columns:1fr}.top-actions .secondary:not(.install){display:none}}
@media(max-width:680px){.shell{display:block}.side{position:fixed;z-index:25;left:0;right:0;bottom:0;top:auto;width:100%;height:auto;padding:7px 8px;padding-bottom:max(7px,env(safe-area-inset-bottom))}.brand,.side-foot{display:none}.nav{grid-template-columns:repeat(6,1fr);gap:2px}.nav button{padding:9px 5px;min-height:46px}.nav-icon{font-size:17px}.main{padding:0 14px 92px}.top{align-items:flex-start}.top h1{font-size:25px}.top-actions .secondary{display:none}.hero{display:block;padding:22px}.hero h2{font-size:27px}.score-box{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding:17px 0 0;margin-top:20px}.cards.four,.cards.three,.report-kpis,.stats-line{grid-template-columns:1fr 1fr}.form{grid-template-columns:1fr}.field.full{grid-column:auto}.row{grid-template-columns:1fr}.row-actions{justify-content:flex-start}.filters{display:grid;grid-template-columns:1fr}.filters input,.filters select{width:100%;min-width:0}.modal{padding:10px}.modal-card{padding:22px 16px 18px;max-height:94vh}.modal-actions{position:sticky;bottom:-18px;background:#fff;padding:12px 0 0}.status-strip,.notice{align-items:flex-start;flex-direction:column}.toast-wrap{left:12px;right:12px;bottom:82px}.toast{max-width:none}}
@media print{@page{size:A4;margin:14mm}.update-bar,.side,.top,.section-head,.filters,.status-strip,.notice,.view:not(#reports){display:none!important}.shell{display:block}.main{padding:0}.view#reports{display:block}.report{border:0;box-shadow:none;padding:0}.report-section{break-inside:avoid}.report-kpis{grid-template-columns:repeat(4,1fr)}body{background:#fff;color:#111}.tag{border:1px solid #ddd}.progress{border:1px solid #ddd}}

/* v1.3 — Diagnóstico Guiado Inteligente */
.section-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.guided-shell{display:grid;gap:18px}
.guided-head{padding-right:42px}
.guided-head h2{margin:0 0 4px}
.guided-progress{display:grid;gap:7px}
.guided-progress-line{height:8px;background:#edf1f5;border-radius:99px;overflow:hidden}
.guided-progress-line i{display:block;height:100%;background:var(--navy);border-radius:99px;transition:width .2s ease}
.guided-steps{display:flex;justify-content:space-between;gap:6px;font-size:10px;color:var(--muted);font-weight:750}
.guided-category{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;background:var(--soft);border-radius:14px;padding:14px}
.guided-category h3{margin:0 0 4px}.guided-category p{margin:0;color:var(--muted);font-size:12px}
.question-list{display:grid;gap:13px}
.question-card{border:1px solid var(--line);border-radius:14px;padding:15px;background:#fff}
.question-card h4{margin:0 0 6px;font-size:14px;line-height:1.45}
.question-card .question-hint{margin:0 0 12px;color:var(--muted);font-size:11px}
.answer-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.answer-option{position:relative}
.answer-option input{position:absolute;opacity:0;pointer-events:none}
.answer-option label{min-height:58px;border:1px solid var(--line);border-radius:10px;padding:7px 5px;display:grid;place-items:center;text-align:center;font-size:10px;color:var(--muted);cursor:pointer;transition:.15s ease;background:#fff}
.answer-option label strong{display:block;font-size:15px;color:var(--ink);line-height:1}
.answer-option input:checked+label{border-color:var(--navy);background:#edf4fb;color:var(--navy);box-shadow:0 0 0 2px rgba(13,43,77,.07)}
.answer-option input:checked+label strong{color:var(--navy)}
.guided-summary{display:grid;gap:14px}
.maturity-hero{background:linear-gradient(135deg,var(--navy),#1d4b79);color:#fff;border-radius:18px;padding:20px;display:flex;justify-content:space-between;gap:18px;align-items:center}
.maturity-hero strong.big{font-size:46px;line-height:1}.maturity-hero p{margin:3px 0 0;color:#dce8f2}
.score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.score-tile{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}
.score-tile span{display:block;color:var(--muted);font-size:10px}.score-tile strong{font-size:22px;color:var(--navy)}
.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.insight-box{border:1px solid var(--line);border-radius:13px;padding:13px;background:#f9fbfd}
.insight-box h4{margin:0 0 8px}.insight-box ul{margin:0;padding-left:18px;color:#526070;font-size:12px;line-height:1.55}
.guided-options{display:grid;gap:9px;border:1px solid var(--line);border-radius:13px;padding:13px}
.check-row{display:flex;gap:10px;align-items:flex-start;font-size:12px}.check-row input{margin-top:2px}
.mode-badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:850;background:#e9f1fb;color:var(--navy)}
.mode-badge.manual{background:#f1f3f5;color:#59636f}
.maturity-badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:850;background:#e7f6ed;color:var(--green)}
.risk-badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:850;background:#fff0df;color:var(--amber)}
.risk-badge.critical{background:#fee4e2;color:var(--red)}
.auto-note{font-size:10px;color:var(--muted);margin-top:4px}
.report-list{margin:8px 0 0;padding-left:18px;font-size:12px;line-height:1.55;color:#49576a}
@media(max-width:680px){.section-actions{width:100%}.section-actions .btn{flex:1}.answer-scale{grid-template-columns:1fr}.answer-option label{min-height:42px;display:flex;justify-content:flex-start;gap:8px;padding:9px 12px}.answer-option label strong{display:inline}.score-grid,.insight-grid{grid-template-columns:1fr 1fr}.maturity-hero{align-items:flex-start;flex-direction:column}}
@media print{.mode-badge,.maturity-badge,.risk-badge{border:1px solid #ccc}.insight-grid{grid-template-columns:1fr 1fr}}


/* v1.4 — Evolução, Comparativos e Priorização */
.evolution-filters select{min-width:220px;flex:1}.evolution-grid{margin-top:18px}.evolution-hero{background:linear-gradient(135deg,var(--navy),#1d4b79);color:#fff;border-radius:17px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.evolution-hero h3{margin:7px 0 3px;font-size:24px}.evolution-hero p{margin:0;color:#d9e6f2}.delta-big{font-size:44px;font-weight:900;border-radius:14px;padding:8px 14px;background:rgba(255,255,255,.12)}.delta-big.up{color:#bff1d2}.delta-big.down{color:#ffd0cc}.comparison-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0}.comparison-grid>div{background:#f7f9fc;border:1px solid var(--line);border-radius:12px;padding:12px}.comparison-grid span{display:block;font-size:10px;color:var(--muted)}.comparison-grid strong{font-size:24px;color:var(--navy)}.dimension-deltas{display:grid;gap:8px}.dimension-delta{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:10px 12px}.dimension-delta div{display:grid;gap:2px}.dimension-delta span{font-size:11px;color:var(--muted)}.delta-chip{font-size:10px;padding:5px 8px;border-radius:999px;background:#edf0f4;color:#59636f}.delta-chip.up{background:#e4f5eb;color:#12653f}.delta-chip.down{background:#fee8e6;color:#9e231b}.recommendation-list{display:grid;gap:9px;margin-top:12px}.recommendation-card{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;grid-template-columns:1fr auto;gap:12px}.recommendation-card h4{margin:7px 0 4px;font-size:13px}.recommendation-card p{margin:0;color:var(--muted);font-size:10px}.recommendation-card select{border:1px solid var(--line);border-radius:9px;padding:7px;font-size:11px;background:#fff}.recommend-status{font-size:9px;font-weight:850;background:#eef3f8;color:var(--navy);padding:4px 7px;border-radius:999px}.action-intelligence{margin-bottom:16px}.impact-matrix{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.matrix-quadrant{border-radius:13px;padding:12px;border:1px solid var(--line);min-height:120px}.matrix-quadrant.quick{background:#f1faf5}.matrix-quadrant.strategic{background:#f3f5fb}.matrix-quadrant.secondaryq{background:#fbfaf2}.matrix-quadrant.lowreturn{background:#fff5f4}.matrix-title{display:flex;justify-content:space-between;gap:8px;font-size:11px;margin-bottom:8px}.matrix-title span{font-weight:900}.matrix-quadrant button{width:100%;text-align:left;border:0;background:rgba(255,255,255,.85);border-radius:9px;padding:8px;margin-top:6px;color:var(--ink)}.matrix-quadrant button b,.matrix-quadrant button small{display:block}.matrix-quadrant button b{font-size:10px}.matrix-quadrant button small{font-size:9px;color:var(--muted);margin-top:3px}.matrix-quadrant p{font-size:10px;color:var(--muted)}.quadrant-badge{font-size:9px;font-weight:850;padding:5px 7px;border-radius:999px}.quadrant-badge.quick{background:#e1f4e9;color:#14623f}.quadrant-badge.strategic{background:#e8ecfa;color:#384c92}.quadrant-badge.secondaryq{background:#f6f0d9;color:#735d14}.quadrant-badge.lowreturn{background:#fae7e5;color:#8f2a22}.roadmap-board{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.roadmap-column{background:#f7f9fc;border:1px solid var(--line);border-radius:13px;padding:11px;min-height:130px}.roadmap-title{display:flex;justify-content:space-between;font-size:11px;margin-bottom:8px}.roadmap-title span{font-weight:900}.roadmap-item{display:block;width:100%;border:1px solid var(--line);background:#fff;border-radius:9px;text-align:left;padding:8px;margin:6px 0;color:var(--ink)}.roadmap-item b,.roadmap-item small{display:block}.roadmap-item b{font-size:10px}.roadmap-item small{font-size:9px;color:var(--muted);margin-top:3px}.roadmap-column p{font-size:10px;color:var(--muted)}.report-compare-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.report-filters{margin-bottom:16px}.compact-matrix{grid-template-columns:1fr 1fr}
@media(max-width:680px){.nav{grid-template-columns:repeat(7,1fr)}.comparison-grid{grid-template-columns:1fr 1fr}.dimension-delta{align-items:flex-start;flex-direction:column}.recommendation-card{grid-template-columns:1fr}.impact-matrix,.roadmap-board{grid-template-columns:1fr}.evolution-filters select{min-width:0}.evolution-hero{align-items:flex-start}.delta-big{font-size:36px}}
@media print{.report-filters{display:none!important}.evolution-hero{background:#fff;color:#111;border:1px solid #ccc}.delta-chip,.quadrant-badge{border:1px solid #ccc}.report-compare-row{break-inside:avoid}}


/* v1.5 — Metodologia Customizável, Evidências e Governança */
.methodology-summary{margin:0 0 18px}.methodology-card{position:relative}.methodology-card .method-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.methodology-card .method-head h3{margin:8px 0 5px}.methodology-card .method-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.methodology-card .method-desc{min-height:38px}.builtin-badge,.custom-badge,.version-badge{display:inline-block;font-size:9px;font-weight:900;padding:5px 7px;border-radius:999px}.builtin-badge{background:#e9f1fb;color:var(--navy)}.custom-badge{background:#f0eafb;color:#6941a5}.version-badge{background:#edf5ed;color:#276345}.method-weight-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.method-weight-grid div{background:#f7f9fc;border:1px solid var(--line);border-radius:10px;padding:8px}.method-weight-grid span{display:block;font-size:9px;color:var(--muted)}.method-weight-grid strong{font-size:15px;color:var(--navy)}.question-admin-list{display:grid;gap:9px;margin-top:13px}.question-admin-card{border:1px solid var(--line);border-radius:12px;padding:11px;display:grid;grid-template-columns:1fr auto;gap:10px}.question-admin-card h4{margin:5px 0 3px;font-size:12px}.question-admin-card p{margin:0;font-size:10px;color:var(--muted)}.readonly-note{background:#f7f9fc;border:1px solid var(--line);border-radius:12px;padding:11px;color:var(--muted);font-size:11px}.method-select-info{margin-top:8px;background:#f7f9fc;border:1px solid var(--line);border-radius:12px;padding:11px;font-size:11px;color:var(--muted)}.question-card .evidence-details{margin-top:10px;border-top:1px dashed var(--line);padding-top:9px}.evidence-details summary{cursor:pointer;color:var(--navy);font-size:10px;font-weight:850}.evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.evidence-grid label{display:grid;gap:4px;font-size:9px;font-weight:800;color:#526070}.evidence-grid textarea{width:100%;min-height:62px;border:1px solid var(--line);border-radius:9px;padding:8px;resize:vertical}.answer-option.na label{background:#f6f7f8}.method-chip{display:inline-block;border:1px solid #cfdce8;background:#f5f9fc;color:var(--navy);font-size:9px;font-weight:850;padding:5px 7px;border-radius:999px}.trace-chain{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px;font-size:9px;color:var(--muted)}.trace-node{background:#f7f9fc;border:1px solid var(--line);border-radius:8px;padding:5px 7px;color:var(--ink)}.trace-arrow{color:#93a0ad}.evidence-report-item{break-inside:avoid;border:1px solid var(--line);border-radius:11px;padding:11px;margin:9px 0}.evidence-report-item h4{margin:0 0 6px;font-size:12px}.evidence-report-item p{margin:4px 0;font-size:10px;line-height:1.45}.na-label{display:inline-block;background:#f0f2f4;color:#5f6872;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:800}
@media(max-width:680px){.nav{grid-template-columns:repeat(8,1fr)}.method-weight-grid,.evidence-grid{grid-template-columns:1fr 1fr}.question-admin-card{grid-template-columns:1fr}.methodology-summary{grid-template-columns:1fr 1fr!important}}
@media print{.trace-chain{display:flex}.evidence-report-item{border-color:#bbb}}


/* v1.6 — Evidências, Entregáveis e Execução Assistida */
.evidence-summary,.deliverable-summary{margin:0 0 14px}.storage-note{margin:0 0 14px}
.evidence-grid-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.evidence-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:var(--shadow);display:grid;grid-template-rows:auto 1fr}
.evidence-preview{height:150px;background:#edf2f7;display:grid;place-items:center;overflow:hidden;color:var(--navy);font-weight:900;font-size:34px}
.evidence-preview img{width:100%;height:100%;object-fit:cover}
.evidence-body{padding:14px}.evidence-body h3{font-size:14px;margin:0 0 4px;word-break:break-word}
.evidence-body p{font-size:11px;color:var(--muted);line-height:1.45;margin:4px 0}
.evidence-link{display:inline-block;font-size:9px;font-weight:850;padding:5px 7px;border-radius:999px;background:#eef4fa;color:var(--navy);margin:3px 4px 0 0}
.file-icon{width:64px;height:64px;border:1px solid #cdd9e5;border-radius:16px;display:grid;place-items:center;background:#fff;font-size:13px;letter-spacing:.05em}
.attachment-mini{display:flex;gap:9px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px;margin:7px 0;background:#fff}
.attachment-mini .mini-icon{width:38px;height:38px;border-radius:9px;background:#eef4fa;display:grid;place-items:center;font-size:10px;font-weight:900;color:var(--navy);flex:0 0 auto}
.attachment-mini div{min-width:0;flex:1}.attachment-mini strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-mini small{color:var(--muted);font-size:9px}
.execution-progress{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:9px}.execution-progress .progress{margin:0}.execution-progress strong{font-size:11px;color:var(--navy)}
.subtask-list{display:grid;gap:7px;margin:10px 0}.subtask-item{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px 9px}.subtask-item.done span{text-decoration:line-through;color:var(--muted)}.subtask-item input{width:18px;height:18px}
.timeline{display:grid;gap:9px;margin-top:10px}.timeline-item{border-left:3px solid #d8e2ec;padding:3px 0 3px 10px}.timeline-item.blocked{border-left-color:#d97706}.timeline-item.decision{border-left-color:#0d2b4d}.timeline-item strong{font-size:10px}.timeline-item p{font-size:11px;color:var(--ink);margin:3px 0;white-space:pre-wrap}.timeline-item small{font-size:9px;color:var(--muted)}
.execution-add{display:grid;grid-template-columns:1fr auto;gap:8px}.execution-add input{border:1px solid var(--line);border-radius:9px;padding:9px}
.deliverable-card-status{font-weight:850}.deliverable-card-status.approved{color:var(--green)}.deliverable-card-status.delivered{color:var(--navy)}.deliverable-card-status.review{color:var(--amber)}
.package-preview{background:#f7f9fc;border:1px solid var(--line);border-radius:13px;padding:13px}.package-preview ul{margin:7px 0;padding-left:18px;color:var(--muted);font-size:11px}
.method-export{color:#255d46!important}.execution-chip{display:inline-block;font-size:9px;font-weight:850;padding:5px 7px;border-radius:999px;background:#eaf4ef;color:#226744}
.attachment-warning{background:#fff5e8;border:1px solid #f3d19a;border-radius:10px;padding:9px;color:#704700;font-size:10px;margin-top:8px}
.package-table{width:100%;border-collapse:collapse;font-size:10px}.package-table th,.package-table td{text-align:left;border-bottom:1px solid var(--line);padding:7px 5px;vertical-align:top}
@media(max-width:1050px){.evidence-grid-list{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.nav{display:flex;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav button{min-width:56px;flex:0 0 56px}.evidence-grid-list{grid-template-columns:1fr}.evidence-summary,.deliverable-summary{grid-template-columns:1fr 1fr!important}.execution-add{grid-template-columns:1fr}.evidence-preview{height:180px}}


/* v1.7 — Agenda, Pendências, Reuniões e Timeline */
.consulting-health-metrics,.agenda-summary{margin-top:16px}.agenda-grid{align-items:start}
.meeting-list,.pending-list{display:grid;gap:10px;margin-top:12px}
.meeting-card,.pending-card{border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff}
.pending-card.overdue{border-color:#efc0b8;background:#fff9f8}
.meeting-card h4,.pending-card h4{font-size:12px;margin:0 0 5px}.meeting-card p,.pending-card p{font-size:10px;color:var(--muted);line-height:1.45;margin:3px 0}
.meeting-time{display:inline-block;padding:5px 7px;border-radius:999px;background:#edf4fb;color:var(--navy);font-size:9px;font-weight:850}.meeting-time.done{background:#eaf5ef;color:#226744}.meeting-time.cancelled{background:#f1f2f4;color:#646b73}
.pending-owner{font-size:9px;font-weight:800;color:#475569}.due-badge{display:inline-block;padding:5px 7px;border-radius:999px;background:#f3f5f7;color:#4c5662;font-size:9px;font-weight:850}.due-badge.overdue{background:#fee9e6;color:#a33b30}.due-badge.soon{background:#fff2d9;color:#8c5b00}
.health-score{display:flex;align-items:center;gap:13px}.health-ring{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;border:8px solid #dce6ef;background:#fff;flex:0 0 auto}.health-ring strong{font-size:20px;color:var(--navy)}
.health-good .health-ring{border-color:#b9dec9}.health-watch .health-ring{border-color:#f2d49f}.health-risk .health-ring{border-color:#efb7b0}
.health-copy h3{margin:0 0 4px}.health-copy p{margin:0;font-size:10px;color:var(--muted)}
.health-list{display:grid;gap:8px}.health-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}.health-row:last-child{border:0}.health-row strong{font-size:11px}.health-row small{display:block;color:var(--muted);font-size:9px}
.health-pill{font-size:9px;font-weight:900;border-radius:999px;padding:5px 7px}.health-pill.good{background:#eaf5ef;color:#246743}.health-pill.watch{background:#fff2d9;color:#865600}.health-pill.risk{background:#fee9e6;color:#a33b30}
.minute-section{border:1px solid var(--line);border-radius:12px;padding:11px;margin:9px 0}.minute-section h4{margin:0 0 6px;font-size:11px}.minute-section p{font-size:10px;white-space:pre-wrap;line-height:1.5;margin:0}
.decision-list{display:grid;gap:6px}.decision-item{border-left:3px solid var(--navy);padding:5px 0 5px 9px;font-size:10px}
.client-timeline{position:relative;margin:18px 0 0 15px;padding-left:28px;border-left:2px solid #d9e2eb;display:grid;gap:14px}
.client-event{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px;box-shadow:var(--shadow)}
.client-event:before{content:"";position:absolute;left:-36px;top:18px;width:14px;height:14px;border-radius:50%;background:var(--navy);border:3px solid #f4f7fb}
.client-event.meeting:before{background:#7950a5}.client-event.decision:before{background:#273b58}.client-event.pending:before{background:#d97706}.client-event.action:before{background:#297a54}.client-event.evidence:before{background:#4a75a3}.client-event.deliverable:before{background:#9a6a25}
.client-event .event-date{font-size:9px;color:var(--muted);font-weight:800}.client-event h3{font-size:13px;margin:4px 0}.client-event p{font-size:10px;color:var(--muted);margin:3px 0;line-height:1.5}
.event-type{display:inline-block;font-size:8px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;padding:4px 6px;border-radius:999px;background:#edf2f7;color:var(--navy)}
.timeline-health{margin-top:14px}.timeline-health:empty{display:none}.followup-chip{display:inline-block;font-size:9px;font-weight:850;padding:5px 7px;border-radius:999px;background:#e9eff9;color:#315d8c}
.alert-stack{display:grid;gap:7px}.alert-item{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;padding:8px;border-radius:10px;background:#f7f9fb;border:1px solid var(--line)}.alert-dot{width:8px;height:8px;border-radius:50%;background:#d97706;margin-top:4px}.alert-item p{margin:0;font-size:10px}
@media(max-width:680px){.agenda-grid{grid-template-columns:1fr!important}.client-timeline{margin-left:5px;padding-left:22px}.client-event:before{left:-30px}.health-score{align-items:flex-start}}


/* v1.8 — Comercial, Escopo, Horas e Rentabilidade */
.commercial-dashboard-metrics,.commercial-summary,.hours-summary{margin-top:16px}
.commercial-board{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:15px 0 18px;overflow-x:auto}
.funnel-col{min-width:150px;background:#f7f9fc;border:1px solid var(--line);border-radius:13px;padding:10px}
.funnel-head{display:flex;justify-content:space-between;gap:6px;align-items:center;margin-bottom:8px}.funnel-head strong{font-size:10px}.funnel-head span{font-size:9px;color:var(--muted)}
.funnel-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px;margin:7px 0;box-shadow:0 3px 10px #00000008}
.funnel-card h4{font-size:10px;margin:0 0 3px}.funnel-card p{font-size:9px;color:var(--muted);margin:2px 0}.funnel-value{font-size:11px;font-weight:900;color:var(--navy)}
.commercial-list,.time-list,.proposal-hours-list{display:grid;gap:9px;margin-top:11px}
.commercial-item,.time-item,.proposal-hours-card{border:1px solid var(--line);border-radius:12px;padding:11px;background:#fff}
.commercial-item h4,.time-item h4,.proposal-hours-card h4{font-size:12px;margin:0 0 5px}.commercial-item p,.time-item p,.proposal-hours-card p{font-size:10px;color:var(--muted);margin:3px 0;line-height:1.45}
.stage-badge{display:inline-block;padding:5px 7px;border-radius:999px;background:#edf3f8;color:#315d82;font-size:9px;font-weight:900}
.stage-badge.won{background:#e8f5ed;color:#206740}.stage-badge.lost{background:#f2f2f3;color:#70757b}.stage-badge.neg{background:#fff2d9;color:#855800}
.proposal-status{display:inline-block;padding:5px 7px;border-radius:999px;font-size:9px;font-weight:900;background:#eef2f7;color:#41546a}.proposal-status.accepted{background:#e8f5ed;color:#206740}.proposal-status.sent{background:#e8f0fb;color:#315d82}.proposal-status.rejected{background:#fee9e6;color:#a33b30}
.money{font-weight:900;color:var(--navy)}.money.positive{color:#226744}.money.negative{color:#a33b30}
.scope-meter{margin:8px 0}.scope-meter-line{height:8px;border-radius:999px;background:#edf0f3;overflow:hidden}.scope-meter-line i{display:block;height:100%;background:#0d2b4d}.scope-meter.warn .scope-meter-line i{background:#d18a17}.scope-meter.risk .scope-meter-line i{background:#b42318}.scope-meter-copy{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-bottom:4px}
.scope-alerts{display:grid;gap:8px;margin:12px 0}.scope-alert{border:1px solid #f0d39e;background:#fff8ea;border-radius:11px;padding:10px;font-size:10px}.scope-alert.risk{border-color:#efbbb4;background:#fff4f2}.scope-alert strong{display:block;margin-bottom:3px}
.time-hours{font-size:18px;font-weight:900;color:var(--navy)}.billable-chip{display:inline-block;font-size:8px;font-weight:900;border-radius:999px;padding:4px 6px;background:#e8f5ed;color:#226744}.nonbillable-chip{display:inline-block;font-size:8px;font-weight:900;border-radius:999px;padding:4px 6px;background:#f0f1f2;color:#646b73}
.margin-pill{display:inline-block;padding:5px 7px;border-radius:999px;font-size:9px;font-weight:900}.margin-pill.good{background:#e8f5ed;color:#226744}.margin-pill.watch{background:#fff2d9;color:#855800}.margin-pill.risk{background:#fee9e6;color:#a33b30}
.scope-change{border-left:3px solid #8b6aae;padding:6px 0 6px 9px;margin:7px 0;font-size:10px}.scope-change.approved{border-color:#2c8159}.scope-change.rejected{border-color:#a5abb2}
.proposal-box{background:#f7f9fc;border:1px solid var(--line);border-radius:12px;padding:11px;margin:9px 0}.proposal-box h4{margin:0 0 6px;font-size:11px}.proposal-box p{white-space:pre-wrap}
.finance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.finance-tile{background:#f7f9fc;border:1px solid var(--line);border-radius:10px;padding:9px}.finance-tile span{display:block;font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.finance-tile strong{display:block;font-size:14px;color:var(--navy);margin-top:3px}
@media(max-width:1050px){.commercial-board{grid-template-columns:repeat(3,1fr)}.finance-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.commercial-board{display:flex}.funnel-col{flex:0 0 190px}.commercial-lists{grid-template-columns:1fr!important}.finance-grid{grid-template-columns:1fr 1fr}}


/* v1.9 — Central de Trabalho, Alertas e Automação */
.work-summary{margin-top:0}.work-tabs{display:flex;gap:6px;margin:14px 0;overflow-x:auto}.work-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-size:10px;font-weight:850;color:var(--muted);white-space:nowrap}.work-tabs button.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.work-section{display:grid;gap:10px}.work-day-head{display:flex;align-items:center;justify-content:space-between;margin:15px 0 7px}.work-day-head h3{font-size:13px;margin:0}.work-day-head span{font-size:9px;color:var(--muted)}
.work-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;border:1px solid var(--line);border-radius:13px;padding:11px;background:#fff;box-shadow:0 3px 10px #00000006}.work-item.overdue{border-color:#efbbb4;background:#fff8f7}.work-item.soon{border-color:#efd39d;background:#fffaf0}
.work-symbol{width:34px;height:34px;border-radius:10px;background:#eef3f8;color:var(--navy);display:grid;place-items:center;font-weight:900;font-size:12px}.work-item.critical .work-symbol{background:#fee9e6;color:#a33b30}.work-item.high .work-symbol{background:#fff0dc;color:#9a5c00}
.work-copy h4{margin:0 0 3px;font-size:11px}.work-copy p{margin:2px 0;font-size:9px;color:var(--muted);line-height:1.45}.work-date{font-size:9px;font-weight:850;color:#44505c;white-space:nowrap}
.priority-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px;background:#8f98a2}.priority-dot.critical{background:#b42318}.priority-dot.high{background:#d97706}.priority-dot.medium{background:#436d96}.priority-dot.low{background:#7c8792}
.alert-list{display:grid;gap:9px}.alert-card{display:grid;grid-template-columns:auto auto 1fr auto;gap:9px;align-items:start;border:1px solid var(--line);border-radius:13px;padding:11px;background:#fff}.alert-card.critical{border-color:#efb6af;background:#fff7f5}.alert-card.high{border-color:#efd09b;background:#fffaf0}.alert-card input{width:17px;height:17px;margin-top:2px}.alert-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eef3f8;color:var(--navy);font-weight:900}.alert-card.critical .alert-icon{background:#fee9e6;color:#a33b30}.alert-card.high .alert-icon{background:#fff0dc;color:#965900}.alert-copy h4{font-size:11px;margin:0 0 3px}.alert-copy p{font-size:9px;color:var(--muted);margin:2px 0;line-height:1.45}
.batch-toolbar{display:flex;align-items:center;gap:7px;border:1px solid #cdd9e5;background:#f6f9fc;border-radius:12px;padding:8px 10px;margin-bottom:10px;position:sticky;top:6px;z-index:3}.batch-toolbar span{font-size:10px;font-weight:850;margin-right:auto}
.routines-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.routine-card,.template-card{border:1px solid var(--line);border-radius:12px;padding:11px;background:#fff}.routine-card h4,.template-card h4{font-size:11px;margin:0 0 4px}.routine-card p,.template-card p{font-size:9px;color:var(--muted);margin:3px 0}
.recurrence-badge{display:inline-block;font-size:8px;font-weight:900;border-radius:999px;padding:4px 6px;background:#eaf0f8;color:#315d82}.recurrence-badge.off{background:#eee;color:#777}
.search-results{display:grid;gap:8px;margin-top:10px}.search-result{border:1px solid var(--line);border-radius:11px;padding:9px;background:#fff;cursor:pointer}.search-result:hover{border-color:#aebfce}.search-result strong{font-size:10px;display:block}.search-result span{font-size:9px;color:var(--muted)}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-choice{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;text-align:left}.quick-choice strong{display:block;font-size:11px;color:var(--navy)}.quick-choice span{font-size:9px;color:var(--muted)}
.archived-card{opacity:.72}.archive-chip{display:inline-block;font-size:8px;font-weight:900;border-radius:999px;padding:4px 6px;background:#eceff2;color:#5f6770}
@media(max-width:760px){.routines-grid{grid-template-columns:1fr}.work-item{grid-template-columns:auto 1fr}.work-date{grid-column:2}.alert-card{grid-template-columns:auto auto 1fr}.alert-card .row-actions{grid-column:2/4}.quick-grid{grid-template-columns:1fr}}

/* v2.0 — Fundação Cloud, Usuários, Sincronização e Portal */
.auth-gate{position:fixed;inset:0;z-index:9999;background:linear-gradient(145deg,#081b30,#0d2b4d 58%,#173e68);display:grid;place-items:center;padding:22px}.auth-gate.hidden{display:none}.auth-shell{width:min(520px,100%);color:#fff}.auth-brand{display:flex;align-items:center;gap:14px;margin-bottom:18px}.auth-mark{width:58px;height:58px;border:1px solid #ffffff55;border-radius:18px;display:grid;place-items:center;font-size:20px;font-weight:900;background:#ffffff12}.auth-brand span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;opacity:.72}.auth-brand h1{margin:3px 0;font-size:24px}.auth-brand p{margin:0;font-size:10px;opacity:.72}.auth-panel{background:#fff;color:#17212b;border-radius:20px;padding:24px;box-shadow:0 28px 90px #0006}.auth-panel h2{font-size:21px;margin:9px 0}.auth-panel>p{font-size:11px;color:#65717d;line-height:1.5}.auth-form{display:grid;gap:10px;margin:16px 0}.auth-form label{font-size:9px;font-weight:850;color:#44505c}.auth-form input{display:block;width:100%;margin-top:5px;border:1px solid #d6dee6;border-radius:10px;padding:11px;font:inherit}.wide{width:100%}.auth-note{font-size:9px!important;margin-top:12px!important}.workspace-btn{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cloud-dashboard-metrics{margin-top:16px}.team-summary,.sync-summary{margin-bottom:14px}.role-guide{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.role-guide div{background:#f7f9fc;border:1px solid var(--line);border-radius:10px;padding:10px}.role-guide strong{display:block;font-size:10px;color:var(--navy)}.role-guide span{display:block;font-size:8px;color:var(--muted);margin-top:3px}.role-badge{display:inline-block;padding:5px 7px;border-radius:999px;background:#edf3f8;color:#315d82;font-size:8px;font-weight:900}.role-badge.owner{background:#e8f5ed;color:#236843}.role-badge.client{background:#f4eafa;color:#74518b}.role-badge.viewer{background:#eee;color:#666}.cloud-banner{border:1px solid #cbd9e6;background:#f5f9fd;border-radius:13px;padding:12px;margin-bottom:14px;font-size:10px;line-height:1.5}.cloud-banner.remote{border-color:#b8ddc7;background:#f2fbf5}.cloud-banner.warning{border-color:#efd39d;background:#fff9ee}.sync-list,.audit-list{display:grid;gap:8px;margin-top:10px;max-height:520px;overflow:auto}.sync-item,.audit-item{border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff}.sync-item strong,.audit-item strong{font-size:10px}.sync-item p,.audit-item p{font-size:9px;color:var(--muted);margin:3px 0}.sync-status{display:inline-block;font-size:8px;font-weight:900;border-radius:999px;padding:4px 6px;background:#fff2d9;color:#845700}.sync-status.synced{background:#e8f5ed;color:#236843}.sync-status.failed{background:#fee9e6;color:#a33b30}.api-contract-card{margin-top:14px}.api-contract-card p{font-size:10px;color:var(--muted);line-height:1.5}.portal-hero{border-radius:17px;background:linear-gradient(135deg,#0d2b4d,#1c4d7d);color:#fff;padding:20px;margin-bottom:14px}.portal-hero h2{font-size:20px;margin:3px 0}.portal-hero p{font-size:10px;opacity:.8;margin:4px 0}.portal-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.portal-kpi{background:#ffffff14;border:1px solid #ffffff22;border-radius:10px;padding:9px}.portal-kpi strong{display:block;font-size:17px}.portal-kpi span{font-size:8px;opacity:.76}.portal-card{border:1px solid var(--line);border-radius:11px;padding:10px;margin:8px 0;background:#fff}.portal-card h4{font-size:11px;margin:0 0 4px}.portal-card p{font-size:9px;color:var(--muted);margin:3px 0}.portal-approved{display:inline-block;font-size:8px;font-weight:900;border-radius:999px;padding:4px 6px;background:#e8f5ed;color:#236843}.profile-line{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}.profile-avatar{width:44px;height:44px;border-radius:14px;background:#0d2b4d;color:#fff;display:grid;place-items:center;font-weight:900}.profile-line strong{display:block}.profile-line small{color:var(--muted)}.workspace-list{display:grid;gap:8px}.workspace-card{border:1px solid var(--line);border-radius:11px;padding:10px;background:#fff}.workspace-card.active{border-color:#7fa4c7;background:#f5f9fd}.workspace-card h4{font-size:11px;margin:0 0 3px}.workspace-card p{font-size:9px;color:var(--muted);margin:2px 0}.online-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#32955f;margin-right:5px}.online-dot.offline{background:#aeb4bb}.role-viewer .btn.primary,.role-viewer .danger-link,.role-viewer .write-only{display:none!important}.client-session .side .nav button:not([data-view="portal"]),.client-session .top-actions>*:not(#profileBtn),.client-session #newDiagnosisBtn{display:none!important}.client-session .side-foot{display:none}.client-session .portal-admin-only{display:none!important}@media(max-width:900px){.role-guide{grid-template-columns:1fr 1fr}.portal-kpis{grid-template-columns:1fr 1fr}}@media(max-width:680px){.auth-panel{padding:18px}.portal-grid{grid-template-columns:1fr!important}.role-guide{grid-template-columns:1fr}}

/* v2.1 collaboration */
.collaboration-dashboard-metrics,.collaboration-summary{margin-top:14px}
.share-badge,.internal-badge,.version-badge,.client-upload-badge,.approval-status{display:inline-block;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900}
.share-badge{background:#e8f2fb;color:#315f8a}.internal-badge{background:#eef0f2;color:#626a73}.version-badge{background:#edf0f5;color:#4d5a68}.client-upload-badge{background:#f2eafa;color:#74518b}
.approval-status{background:#eaf2f9;color:#315d82}.approval-status.approved{background:#e8f5ed;color:#236843}.approval-status.changes_requested{background:#fff2d9;color:#885900}.approval-status.rejected{background:#fee9e6;color:#a33b30}
.portal-approval-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px}.portal-approval-strip:empty{display:none}.portal-approval-tile{border:1px solid var(--line);border-radius:11px;padding:10px;background:#fff}.portal-approval-tile strong{display:block;font-size:16px;color:var(--navy)}.portal-approval-tile span{font-size:8px;color:var(--muted)}
.approval-list,.collaboration-feed,.comment-thread{display:grid;gap:9px;margin-top:10px}.approval-card{border:1px solid var(--line);border-radius:13px;padding:11px;background:#fff}.approval-card.requested{border-color:#b9d3ea;background:#f7fbff}.approval-card.changes_requested{border-color:#efd29c;background:#fff9ee}.approval-card.approved{border-color:#b9ddc7;background:#f6fbf7}.approval-card.rejected{border-color:#efbbb4;background:#fff7f5}.approval-card h4{font-size:11px;margin:0 0 4px}.approval-card p{font-size:9px;color:var(--muted);margin:3px 0;line-height:1.45}
.comment-bubble{border:1px solid var(--line);border-radius:12px;padding:9px 10px;background:#f8fafc}.comment-bubble.client{background:#f3effa;border-color:#ded0ec}.comment-bubble.staff{background:#f3f8fc;border-color:#d4e2ee}.comment-bubble strong{font-size:9px}.comment-bubble p{font-size:10px;margin:4px 0;white-space:pre-wrap;line-height:1.45}.comment-bubble small{font-size:8px;color:var(--muted)}
.collab-feed-item{display:grid;grid-template-columns:auto 1fr;gap:9px;border-bottom:1px solid var(--line);padding:9px 0}.collab-feed-item:last-child{border-bottom:0}.collab-symbol{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#eef3f8;color:var(--navy);font-weight:900}.collab-feed-item strong{font-size:10px}.collab-feed-item p{font-size:9px;color:var(--muted);margin:3px 0}
.portal-action-buttons{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.portal-action-buttons .btn{padding:8px 10px;font-size:9px}.share-token{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f3f5f7;border:1px solid var(--line);border-radius:9px;padding:9px;word-break:break-all;font-size:10px}.portal-file-card{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;padding:9px;margin:7px 0}.portal-file-card .file-icon{width:34px;height:34px;flex:0 0 auto}
@media(max-width:680px){#portal .section-head{align-items:flex-start}.portal-approval-strip{grid-template-columns:1fr 1fr}.portal-hero{padding:16px}.portal-action-buttons{display:grid;grid-template-columns:1fr 1fr}.portal-action-buttons .btn{min-height:42px}.approval-card .row-actions{justify-content:flex-start;flex-wrap:wrap}}


/* v2.2 — Integrações, notificações externas e automação conectada */
.integration-dashboard-metrics,.integration-summary{margin-top:14px}
.integration-tabs{display:flex;gap:6px;overflow:auto;margin:14px 0}.integration-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-size:10px;font-weight:850;color:var(--muted);white-space:nowrap}.integration-tabs button.active{background:var(--navy);border-color:var(--navy);color:#fff}
.connector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.connector-card{border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff}.connector-card h3{font-size:12px;margin:0 0 5px}.connector-card p{font-size:9px;color:var(--muted);line-height:1.5;margin:4px 0}.connector-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.connector-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#eef3f8;color:var(--navy);font-weight:900}.connector-status{display:inline-block;border-radius:999px;padding:5px 7px;font-size:8px;font-weight:900;background:#eef0f2;color:#626a73}.connector-status.on{background:#e8f5ed;color:#236843}.connector-status.warn{background:#fff2d9;color:#865900}.connector-status.fail{background:#fee9e6;color:#a33b30}
.integration-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.integration-actions .icon-btn{min-height:36px}
.automation-list,.outbound-list,.integration-log-list,.email-template-list{display:grid;gap:9px}.automation-card,.outbound-card,.integration-log,.email-template-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:11px}.automation-card h4,.outbound-card h4,.email-template-card h4{font-size:11px;margin:0 0 4px}.automation-card p,.outbound-card p,.integration-log p,.email-template-card p{font-size:9px;color:var(--muted);line-height:1.45;margin:3px 0}
.event-badge,.action-badge,.queue-badge{display:inline-block;padding:4px 6px;border-radius:999px;font-size:8px;font-weight:900}.event-badge{background:#e8f2fb;color:#315f8a}.action-badge{background:#f2eafa;color:#74518b}.queue-badge{background:#fff2d9;color:#865900}.queue-badge.sent{background:#e8f5ed;color:#236843}.queue-badge.failed{background:#fee9e6;color:#a33b30}
.integration-split{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.integration-callout{border:1px solid #cbd9e6;background:#f6f9fc;border-radius:12px;padding:11px;font-size:10px;line-height:1.5}.integration-callout.warning{border-color:#efd39d;background:#fff9ee}
.provider-row{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;border-bottom:1px solid var(--line);padding:9px 0}.provider-row:last-child{border-bottom:0}.provider-row strong{font-size:10px}.provider-row p{font-size:8px;color:var(--muted);margin:2px 0}
.run-ok{color:#236843}.run-failed{color:#a33b30}.run-skipped{color:#7a828b}
.ics-box{display:flex;gap:7px;flex-wrap:wrap}
@media(max-width:1050px){.connector-grid{grid-template-columns:1fr 1fr}.integration-split{grid-template-columns:1fr}}
@media(max-width:680px){.connector-grid{grid-template-columns:1fr}.integration-tabs button{min-height:40px}.integration-actions{display:grid;grid-template-columns:1fr 1fr}.integration-actions .icon-btn{width:100%}}

/* v2.3 — Cloudflare-only production architecture */
.cloudflare-auth-status{font-size:9px;color:#67727d;margin:6px 0 10px;padding:8px 10px;border-radius:9px;background:#f4f7fa;border:1px solid #dce4eb}.cloudflare-auth-status.ok{background:#eef9f2;border-color:#baddc7;color:#236843}.cloudflare-auth-status.warn{background:#fff8eb;border-color:#edd39f;color:#7b570d}
.cloudflare-backend-panel{margin-bottom:14px}.cloudflare-health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0 12px}.cloudflare-health-grid>div{border:1px solid var(--line);background:#f8fafc;border-radius:10px;padding:9px}.cloudflare-health-grid span{display:block;font-size:8px;color:var(--muted)}.cloudflare-health-grid strong{display:block;font-size:11px;margin-top:3px;color:var(--navy)}
.cloudflare-badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:900;background:#e8f5ed;color:#236843}.cloudflare-badge.off{background:#eef0f2;color:#626a73}.cloudflare-badge.fail{background:#fee9e6;color:#a33b30}
.cloud-conflict{border:1px solid #efc07a;background:#fff8eb;border-radius:12px;padding:11px;margin:10px 0}.cloud-conflict h4{font-size:11px;margin:0 0 4px}.cloud-conflict p{font-size:9px;color:#705424;margin:3px 0}
.public-portal-shell{position:fixed;inset:0;z-index:10050;background:#f2f5f8;overflow:auto}.public-portal-head{background:linear-gradient(135deg,#0d2b4d,#1b4b79);color:#fff;padding:28px 20px}.public-portal-head>div,.public-portal-body{max-width:980px;margin:auto}.public-portal-head small{font-size:9px;letter-spacing:.12em;text-transform:uppercase;opacity:.72}.public-portal-head h1{margin:6px 0;font-size:26px}.public-portal-head p{font-size:11px;opacity:.8}.public-portal-body{padding:18px}.public-portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.public-portal-card{border:1px solid #dce3e9;background:#fff;border-radius:14px;padding:13px;margin:8px 0}.public-portal-card h3{font-size:12px;margin:0 0 5px}.public-portal-card p{font-size:9px;color:#68737f;margin:3px 0;line-height:1.5}
.cloud-file-badge{display:inline-block;font-size:8px;font-weight:900;border-radius:999px;padding:4px 6px;background:#e8f5ed;color:#236843}
@media(max-width:760px){.cloudflare-health-grid{grid-template-columns:1fr 1fr}.public-portal-grid{grid-template-columns:1fr}.public-portal-head h1{font-size:22px}}

/* v2.4 — contratos, faturamento e rentabilidade */
.finance-dashboard-metrics,.finance-summary,.finance-forecast{margin-top:14px}
.forecast-card{border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fafc);border-radius:14px;padding:14px}.forecast-card span{display:block;font-size:9px;color:var(--muted)}.forecast-card strong{display:block;font-size:19px;color:var(--navy);margin:5px 0}.forecast-card small{font-size:8px;color:var(--muted)}
.finance-filters{grid-template-columns:1.4fr 1fr 1fr}.receivable-list,.contract-finance-list,.profitability-list,.milestone-list{display:grid;gap:9px;margin-top:9px}
.receivable-card,.contract-finance-card,.profitability-card,.milestone-card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px}
.receivable-card.overdue{border-color:#efbbb4;background:#fff7f5}.receivable-card.received{border-color:#b9ddc7;background:#f6fbf7}.receivable-card h4,.contract-finance-card h4,.profitability-card h4,.milestone-card h4{font-size:11px;margin:0 0 4px}.receivable-card p,.contract-finance-card p,.profitability-card p,.milestone-card p{font-size:9px;color:var(--muted);line-height:1.45;margin:3px 0}
.finance-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900;background:#eef0f2;color:#5f6872}.finance-status.Previsto{background:#e8f2fb;color:#315f8a}.finance-status.Faturado{background:#fff2d9;color:#805600}.finance-status.Recebido{background:#e8f5ed;color:#236843}.finance-status.Vencido{background:#fee9e6;color:#a33b30}.finance-status.Cancelado{background:#eef0f2;color:#727a82}
.contract-type-badge{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900;background:#f2eafa;color:#6f4a89}
.renewal-badge{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900;background:#fff2d9;color:#805600}.renewal-badge.safe{background:#e8f5ed;color:#236843}
.profit-bar{height:7px;border-radius:999px;background:#edf1f4;overflow:hidden;margin-top:7px}.profit-bar i{display:block;height:100%;background:currentColor;border-radius:inherit}.profit-good{color:#2d7b4e}.profit-watch{color:#b37916}.profit-risk{color:#b5473c}
.finance-line{display:flex;justify-content:space-between;gap:12px;align-items:center}.finance-line strong{font-size:13px}.finance-line span{font-size:9px;color:var(--muted)}
.contract-balance{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.contract-balance>div{border:1px solid var(--line);border-radius:9px;padding:7px}.contract-balance span{font-size:7px;color:var(--muted);display:block}.contract-balance strong{font-size:10px;color:var(--navy);display:block;margin-top:2px}
.milestone-status{display:inline-block;padding:4px 6px;border-radius:999px;font-size:8px;font-weight:900;background:#edf0f5;color:#59636d}.milestone-status.Liberado{background:#fff2d9;color:#805600}.milestone-status.Faturado{background:#e8f5ed;color:#236843}
@media(max-width:900px){.finance-filters{grid-template-columns:1fr 1fr}.contract-balance{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:680px){.finance-filters{grid-template-columns:1fr}.finance-grid{grid-template-columns:1fr}.contract-balance{grid-template-columns:1fr}.forecast-card strong{font-size:17px}}

/* v2.5 — Capacidade, alocação e staffing */
.capacity-dashboard-metrics,.capacity-summary{margin-top:14px}.capacity-filters{grid-template-columns:1fr 1fr 1fr 1fr}.capacity-board,.allocation-list,.availability-list,.timesheet-board,.allocation-margin-board,.demand-forecast-board{display:grid;gap:9px;margin-top:9px}
.capacity-card,.allocation-card,.availability-card,.timesheet-card,.allocation-margin-card,.demand-card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px}.capacity-card.overbooked{border-color:#efbbb4;background:#fff7f5}.capacity-card.underused{border-color:#ecd49d;background:#fffaf0}.capacity-card h4,.allocation-card h4,.availability-card h4,.timesheet-card h4,.allocation-margin-card h4,.demand-card h4{font-size:11px;margin:0 0 4px}.capacity-card p,.allocation-card p,.availability-card p,.timesheet-card p,.allocation-margin-card p,.demand-card p{font-size:9px;color:var(--muted);line-height:1.45;margin:3px 0}
.capacity-meter{height:9px;border-radius:999px;background:#e9eef2;overflow:hidden;margin:8px 0 4px;position:relative}.capacity-meter i{display:block;height:100%;border-radius:inherit;background:#385f82}.capacity-card.overbooked .capacity-meter i{background:#b5473c}.capacity-card.underused .capacity-meter i{background:#b37916}.capacity-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:7px}.capacity-meta>div{border:1px solid var(--line);border-radius:8px;padding:6px}.capacity-meta span{font-size:7px;color:var(--muted);display:block}.capacity-meta strong{font-size:9px;color:var(--navy);display:block;margin-top:2px}
.resource-badge,.allocation-status,.timesheet-status,.absence-badge,.skill-badge{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900}.resource-badge{background:#e8f2fb;color:#315f8a}.allocation-status{background:#e8f5ed;color:#236843}.allocation-status.Planejada{background:#e8f2fb;color:#315f8a}.allocation-status.Pausada{background:#eef0f2;color:#606a73}.timesheet-status{background:#fff2d9;color:#805600}.timesheet-status.Aprovado{background:#e8f5ed;color:#236843}.timesheet-status.Rejeitado{background:#fee9e6;color:#a33b30}.absence-badge{background:#f2eafa;color:#704e89}.skill-badge{background:#eef3f8;color:#4d6175}
.capacity-risk-strip{display:flex;gap:8px;overflow:auto;margin:10px 0 14px}.capacity-risk-pill{border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-width:180px;background:#fff}.capacity-risk-pill strong{font-size:9px;display:block}.capacity-risk-pill span{font-size:8px;color:var(--muted)}.capacity-risk-pill.risk{border-color:#efbbb4;background:#fff7f5}.capacity-risk-pill.warn{border-color:#ecd49d;background:#fffaf0}
.demand-week{display:grid;grid-template-columns:90px 1fr auto;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}.demand-week:last-child{border-bottom:0}.demand-week span{font-size:8px;color:var(--muted)}.demand-week strong{font-size:9px}.demand-bar{height:8px;background:#e9eef2;border-radius:999px;overflow:hidden}.demand-bar i{display:block;height:100%;border-radius:inherit;background:#536f89}.demand-bar.over i{background:#b5473c}
.staffing-result{display:grid;gap:8px}.staffing-candidate{border:1px solid var(--line);border-radius:10px;padding:9px}.staffing-candidate strong{font-size:10px}.staffing-candidate p{font-size:9px;color:var(--muted);margin:3px 0}.margin-positive{color:#2d7b4e}.margin-warning{color:#b37916}.margin-negative{color:#b5473c}
@media(max-width:950px){.capacity-filters{grid-template-columns:1fr 1fr}.capacity-meta{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.capacity-filters{grid-template-columns:1fr}.capacity-grid{grid-template-columns:1fr}.capacity-meta{grid-template-columns:1fr 1fr}.capacity-risk-strip{display:grid}.demand-week{grid-template-columns:75px 1fr auto}}

/* v2.6 — Governança, RAID, SLA e Qualidade */
.governance-dashboard-metrics,.governance-summary{margin-top:14px}.governance-filters{grid-template-columns:1.4fr 1fr 1fr 1fr}.project-portfolio,.project-milestones-list,.raid-log-list,.sla-cases-list,.quality-gates-list,.decision-log-list,.escalations-list,.lessons-closures-list{display:grid;gap:9px;margin-top:9px}
.project-card,.project-milestone-card,.raid-card,.sla-card,.quality-card,.decision-card,.escalation-card,.lesson-card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px}.project-card.health-red,.raid-card.critical,.sla-card.breached,.escalation-card.open{border-color:#efbbb4;background:#fff7f5}.project-card.health-yellow,.sla-card.warning{border-color:#ecd49d;background:#fffaf0}.project-card.health-green,.quality-card.passed{border-color:#b9ddc7;background:#f6fbf7}
.project-card h4,.project-milestone-card h4,.raid-card h4,.sla-card h4,.quality-card h4,.decision-card h4,.escalation-card h4,.lesson-card h4{font-size:11px;margin:0 0 4px}.project-card p,.project-milestone-card p,.raid-card p,.sla-card p,.quality-card p,.decision-card p,.escalation-card p,.lesson-card p{font-size:9px;color:var(--muted);line-height:1.45;margin:3px 0}
.health-badge,.raid-type,.sla-state,.quality-state,.milestone-state,.project-state,.escalation-state{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900}.health-badge.green{background:#e8f5ed;color:#236843}.health-badge.yellow{background:#fff2d9;color:#805600}.health-badge.red{background:#fee9e6;color:#a33b30}.raid-type{background:#f2eafa;color:#704e89}.raid-type.Issue{background:#fee9e6;color:#a33b30}.sla-state{background:#e8f2fb;color:#315f8a}.sla-state.warning{background:#fff2d9;color:#805600}.sla-state.breached{background:#fee9e6;color:#a33b30}.sla-state.resolved{background:#e8f5ed;color:#236843}.quality-state{background:#eef0f2;color:#606a73}.quality-state.Passed{background:#e8f5ed;color:#236843}.quality-state.Failed{background:#fee9e6;color:#a33b30}.milestone-state{background:#e8f2fb;color:#315f8a}.milestone-state.delayed{background:#fee9e6;color:#a33b30}.milestone-state.done{background:#e8f5ed;color:#236843}.project-state{background:#eef3f8;color:#4d6175}.escalation-state{background:#fee9e6;color:#a33b30}.escalation-state.Resolvido{background:#e8f5ed;color:#236843}
.health-meter{height:8px;background:#e9eef2;border-radius:999px;overflow:hidden;margin:8px 0}.health-meter i{display:block;height:100%;border-radius:inherit}.health-green .health-meter i{background:#2d7b4e}.health-yellow .health-meter i{background:#b37916}.health-red .health-meter i{background:#b5473c}.project-health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.project-health-grid>div{border:1px solid var(--line);border-radius:8px;padding:6px}.project-health-grid span{display:block;font-size:7px;color:var(--muted)}.project-health-grid strong{display:block;font-size:9px;color:var(--navy);margin-top:2px}
.governance-risk-strip{display:flex;gap:8px;overflow:auto;margin:10px 0 14px}.gov-risk-pill{border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-width:190px;background:#fff}.gov-risk-pill strong{font-size:9px;display:block}.gov-risk-pill span{font-size:8px;color:var(--muted)}.gov-risk-pill.risk{border-color:#efbbb4;background:#fff7f5}.gov-risk-pill.warn{border-color:#ecd49d;background:#fffaf0}
.raid-exposure{font-size:15px;font-weight:900;color:var(--navy)}.quality-checks{display:grid;gap:5px;margin-top:7px}.quality-check{display:flex;gap:7px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:6px;font-size:8px}.quality-check.done{text-decoration:line-through;opacity:.65}.sla-clock{font-size:14px;font-weight:900}.sla-clock.negative{color:#a33b30}.decision-quote{border-left:3px solid #0d2b4d;padding-left:9px;margin:7px 0;font-size:9px;color:#303b46}.project-progress-line{height:8px;background:#e9eef2;border-radius:999px;overflow:hidden;margin:7px 0}.project-progress-line i{display:block;height:100%;background:#385f82;border-radius:inherit}
@media(max-width:950px){.governance-filters{grid-template-columns:1fr 1fr}.project-health-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.governance-filters{grid-template-columns:1fr}.governance-grid{grid-template-columns:1fr}.governance-risk-strip{display:grid}.project-health-grid{grid-template-columns:1fr 1fr}}

/* v2.7 — Customer Success, valor realizado e QBR */
.success-dashboard-metrics,.success-summary{margin-top:14px}.success-filters{grid-template-columns:1.4fr 1fr 1fr 1fr}.customer-health-board,.success-plans-list,.stakeholder-list,.adoption-satisfaction-board,.value-realization-board,.qbr-list,.expansion-renewal-board,.success-handoff-board{display:grid;gap:9px;margin-top:9px}
.customer-health-card,.success-plan-card,.stakeholder-card,.adoption-card,.value-card,.qbr-card,.renewal-card,.handoff-card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px}.customer-health-card.risk,.renewal-card.risk{border-color:#efbbb4;background:#fff7f5}.customer-health-card.watch{border-color:#ecd49d;background:#fffaf0}.customer-health-card.healthy,.value-card.positive{border-color:#b9ddc7;background:#f6fbf7}
.customer-health-card h4,.success-plan-card h4,.stakeholder-card h4,.adoption-card h4,.value-card h4,.qbr-card h4,.renewal-card h4,.handoff-card h4{font-size:11px;margin:0 0 4px}.customer-health-card p,.success-plan-card p,.stakeholder-card p,.adoption-card p,.value-card p,.qbr-card p,.renewal-card p,.handoff-card p{font-size:9px;color:var(--muted);line-height:1.45;margin:3px 0}
.cs-health-badge,.stakeholder-role,.engagement-badge,.survey-badge,.value-type,.qbr-status,.handoff-status,.objective-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900}.cs-health-badge.healthy{background:#e8f5ed;color:#236843}.cs-health-badge.watch{background:#fff2d9;color:#805600}.cs-health-badge.risk{background:#fee9e6;color:#a33b30}.stakeholder-role{background:#e8f2fb;color:#315f8a}.stakeholder-role.Sponsor{background:#f2eafa;color:#704e89}.engagement-badge{background:#eef0f2;color:#606a73}.engagement-badge.Alto{background:#e8f5ed;color:#236843}.engagement-badge.Baixo{background:#fee9e6;color:#a33b30}.survey-badge{background:#eef3f8;color:#4d6175}.value-type{background:#e8f5ed;color:#236843}.qbr-status{background:#e8f2fb;color:#315f8a}.qbr-status.Concluído{background:#e8f5ed;color:#236843}.handoff-status{background:#fff2d9;color:#805600}.handoff-status.Concluído{background:#e8f5ed;color:#236843}.objective-status{background:#eef0f2;color:#606a73}.objective-status.Concluído{background:#e8f5ed;color:#236843}.objective-status.Em-risco{background:#fee9e6;color:#a33b30}
.cs-health-meter,.objective-progress{height:8px;background:#e9eef2;border-radius:999px;overflow:hidden;margin:8px 0}.cs-health-meter i,.objective-progress i{display:block;height:100%;border-radius:inherit;background:#385f82}.customer-health-card.healthy .cs-health-meter i{background:#2d7b4e}.customer-health-card.watch .cs-health-meter i{background:#b37916}.customer-health-card.risk .cs-health-meter i{background:#b5473c}
.cs-dim-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:8px}.cs-dim-grid>div{border:1px solid var(--line);border-radius:8px;padding:6px}.cs-dim-grid span{display:block;font-size:7px;color:var(--muted)}.cs-dim-grid strong{display:block;font-size:9px;color:var(--navy);margin-top:2px}
.success-risk-strip{display:flex;gap:8px;overflow:auto;margin:10px 0 14px}.success-risk-pill{border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-width:200px;background:#fff}.success-risk-pill strong{font-size:9px;display:block}.success-risk-pill span{font-size:8px;color:var(--muted)}.success-risk-pill.risk{border-color:#efbbb4;background:#fff7f5}.success-risk-pill.warn{border-color:#ecd49d;background:#fffaf0}
.objective-row{border-top:1px solid var(--line);padding:8px 0}.objective-row:first-of-type{border-top:0}.stakeholder-map{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.stakeholder-quadrant{border:1px solid var(--line);border-radius:9px;padding:7px}.stakeholder-quadrant strong{font-size:8px}.stakeholder-quadrant span{font-size:7px;color:var(--muted);display:block}.roi-number{font-size:16px;font-weight:900}.value-positive{color:#2d7b4e}.value-warning{color:#b37916}.value-negative{color:#b5473c}.pulse-score{font-size:14px;font-weight:900}.qbr-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:7px 0}.qbr-kpis>div{border:1px solid var(--line);border-radius:8px;padding:6px}.qbr-kpis span{display:block;font-size:7px;color:var(--muted)}.qbr-kpis strong{font-size:9px}
@media(max-width:950px){.success-filters{grid-template-columns:1fr 1fr}.cs-dim-grid{grid-template-columns:1fr 1fr 1fr}.qbr-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.success-filters{grid-template-columns:1fr}.success-grid{grid-template-columns:1fr}.success-risk-strip{display:grid}.cs-dim-grid{grid-template-columns:1fr 1fr}.stakeholder-map{grid-template-columns:1fr}}

/* v2.8 — Knowledge Base, Playbooks, Benchmarking e Copiloto */
.knowledge-dashboard-metrics,.knowledge-summary{margin-top:14px}.knowledge-filters{grid-template-columns:1.6fr 1fr 1fr 1fr}.knowledge-articles-list,.playbooks-list,.benchmark-board,.patterns-board,.copilot-board,.prompt-library-list,.playbook-runs-list,.global-search-results{display:grid;gap:9px;margin-top:9px}
.knowledge-card,.playbook-card,.benchmark-card,.pattern-card,.copilot-card,.prompt-card,.playbook-run-card,.search-result-card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px}.knowledge-card.published,.playbook-card.active,.copilot-card.approved{border-color:#b9ddc7;background:#f6fbf7}.knowledge-card.draft,.playbook-card.draft,.copilot-card.pending{border-color:#ecd49d;background:#fffaf0}.copilot-card.rejected{border-color:#efbbb4;background:#fff7f5}
.knowledge-card h4,.playbook-card h4,.benchmark-card h4,.pattern-card h4,.copilot-card h4,.prompt-card h4,.playbook-run-card h4,.search-result-card h4{font-size:11px;margin:0 0 4px}.knowledge-card p,.playbook-card p,.benchmark-card p,.pattern-card p,.copilot-card p,.prompt-card p,.playbook-run-card p,.search-result-card p{font-size:9px;color:var(--muted);line-height:1.45;margin:3px 0}
.kb-badge,.playbook-badge,.copilot-mode,.copilot-state,.knowledge-source,.benchmark-badge,.search-type{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900}.kb-badge{background:#e8f2fb;color:#315f8a}.playbook-badge{background:#f2eafa;color:#704e89}.copilot-mode{background:#eef0f2;color:#606a73}.copilot-mode.external{background:#e8f2fb;color:#315f8a}.copilot-state.Approved{background:#e8f5ed;color:#236843}.copilot-state.Rejected{background:#fee9e6;color:#a33b30}.copilot-state.Draft{background:#fff2d9;color:#805600}.knowledge-source{background:#eef3f8;color:#4d6175}.benchmark-badge{background:#e8f5ed;color:#236843}.search-type{background:#eef0f2;color:#606a73}
.kb-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.kb-tag{font-size:7px;border:1px solid var(--line);padding:3px 6px;border-radius:999px;color:var(--muted)}
.playbook-step{display:flex;gap:8px;align-items:flex-start;border-top:1px solid var(--line);padding:7px 0}.playbook-step:first-child{border-top:0}.playbook-step.done{opacity:.6;text-decoration:line-through}.playbook-step strong{font-size:8px}.playbook-step span{font-size:8px;color:var(--muted)}
.benchmark-row{display:grid;grid-template-columns:110px 1fr 56px;gap:8px;align-items:center}.benchmark-row>span{font-size:8px}.benchmark-range{height:10px;border-radius:999px;background:#edf0f3;position:relative;overflow:hidden}.benchmark-range i{display:block;height:100%;background:#a8b9c8}.benchmark-range b{position:absolute;top:-2px;width:4px;height:14px;background:#0D2B4D;border-radius:3px}.benchmark-row strong{font-size:8px;text-align:right}.benchmark-note{font-size:8px;color:var(--muted);margin-top:8px}
.pattern-severity{font-size:8px;font-weight:900}.pattern-severity.high{color:#a33b30}.pattern-severity.medium{color:#805600}.pattern-severity.low{color:#236843}
.copilot-output{white-space:pre-wrap;border:1px solid var(--line);border-radius:10px;padding:9px;background:#fbfcfd;font-size:8px;line-height:1.55;max-height:260px;overflow:auto}.copilot-privacy{border:1px solid #d7e3ef;background:#f6f9fc;border-radius:10px;padding:9px;font-size:8px;color:#4d6175}.copilot-config-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.copilot-config-grid label{font-size:8px;display:flex;gap:6px;align-items:flex-start}
.global-search-results:empty{display:none}.search-result-card{cursor:pointer}.search-result-card:hover{border-color:#9eb3c5}.search-result-card mark{background:#fff1a8;padding:0 2px}
.prompt-body{white-space:pre-wrap;font-size:8px;color:#4d6175;border-left:3px solid #cdd9e3;padding-left:8px}.knowledge-content{white-space:pre-wrap;font-size:9px;line-height:1.6;color:#303b46}.benchmark-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0}.benchmark-kpis>div{border:1px solid var(--line);border-radius:8px;padding:6px}.benchmark-kpis span{display:block;font-size:7px;color:var(--muted)}.benchmark-kpis strong{font-size:10px}
@media(max-width:950px){.knowledge-filters{grid-template-columns:1fr 1fr}.benchmark-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.knowledge-filters{grid-template-columns:1fr}.knowledge-grid{grid-template-columns:1fr}.benchmark-row{grid-template-columns:90px 1fr 48px}.copilot-config-grid{grid-template-columns:1fr}}

/* v2.8 — navegação mobile preparada para a quantidade atual de módulos */
@media(max-width:680px){
  .side{padding:6px 7px;padding-bottom:max(6px,env(safe-area-inset-bottom));overflow:hidden}
  .nav{display:flex;grid-template-columns:none;gap:3px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .nav::-webkit-scrollbar{display:none}
  .nav button{flex:0 0 74px;min-width:74px;min-height:56px;padding:6px 4px;display:flex;flex-direction:column;justify-content:center;gap:2px;text-align:center;scroll-snap-align:start;font-size:8px;line-height:1.15}
  .nav-icon{width:23px;height:23px;font-size:18px}
  .main{padding-bottom:82px}
  .toast-wrap{bottom:76px}
}

/* v2.9 — Operação, Data Hub e Observabilidade */
.ops-dashboard-metrics,.ops-summary{margin-top:14px}.ops-grid{margin-top:16px}.ops-list{display:grid;gap:9px;margin-top:9px}
.ops-card,.source-card,.import-card,.inbound-card,.quality-card,.restore-card,.job-card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px}
.ops-card h4,.source-card h4,.import-card h4,.inbound-card h4,.quality-card h4,.restore-card h4,.job-card h4{font-size:11px;margin:0 0 4px}
.ops-card p,.source-card p,.import-card p,.inbound-card p,.quality-card p,.restore-card p,.job-card p{font-size:9px;color:var(--muted);line-height:1.45;margin:3px 0}
.ops-state,.quality-severity,.inbound-status,.import-status,.job-status,.source-type,.restore-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900}
.ops-state.online,.job-status.success,.import-status.applied,.inbound-status.applied,.quality-severity.low,.restore-status.ready{background:#e8f5ed;color:#236843}
.ops-state.warning,.job-status.warning,.import-status.preview,.inbound-status.pending,.quality-severity.medium{background:#fff2d9;color:#805600}
.ops-state.error,.job-status.failed,.import-status.failed,.inbound-status.failed,.quality-severity.high,.quality-severity.critical{background:#fee9e6;color:#a33b30}
.source-type{background:#e8f2fb;color:#315f8a}.restore-status{background:#eef0f2;color:#606a73}
.quality-score-ring{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;border:7px solid #dce7ef;font-size:16px;font-weight:900;color:var(--navy)}
.ops-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0}.ops-kpi-grid>div{border:1px solid var(--line);border-radius:8px;padding:7px}.ops-kpi-grid span{display:block;font-size:7px;color:var(--muted)}.ops-kpi-grid strong{font-size:10px}
.import-preview{max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:10px}.import-preview table{width:100%;border-collapse:collapse;font-size:8px}.import-preview th,.import-preview td{padding:6px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.import-preview th{position:sticky;top:0;background:#f5f7f9}
.mapping-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.mapping-grid .field{min-width:0}
.quality-card .quality-fix{font-size:8px;color:#315f8a;margin-top:4px}.quality-card.critical{border-color:#efbbb4;background:#fff7f5}.quality-card.high{border-color:#f1c3bd}.quality-card.medium{border-color:#ecd49d;background:#fffaf0}
.inbound-payload{white-space:pre-wrap;max-height:150px;overflow:auto;font-size:8px;background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:7px}
.ops-endpoint{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;word-break:break-all;background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:7px;margin-top:6px}
.restore-card.cloud{border-color:#c8dceb}.restore-card.local{border-color:#dfdfdf}.ops-note{font-size:8px;color:var(--muted)}
@media(max-width:950px){.ops-kpi-grid{grid-template-columns:1fr 1fr}.mapping-grid{grid-template-columns:1fr}}
@media(max-width:680px){.ops-grid{grid-template-columns:1fr}.ops-kpi-grid{grid-template-columns:1fr 1fr}}

/* v3.0 — Production Ready */
.skip-link{position:fixed;left:12px;top:-80px;z-index:9999;background:#0D2B4D;color:#fff;padding:10px 14px;border-radius:8px;font-size:12px;font-weight:800}.skip-link:focus{top:12px}
.production-summary{margin-top:14px}.production-grid{margin-top:16px}.production-list{display:grid;gap:9px;margin-top:9px}
.cert-card,.security-card,.privacy-card,.resilience-card,.a11y-card,.deploy-card,.uat-card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px}
.cert-card.pass,.security-card.pass,.privacy-card.pass,.resilience-card.pass,.a11y-card.pass,.deploy-card.pass,.uat-card.pass{border-color:#b9ddc7;background:#f6fbf7}
.cert-card.warn,.security-card.warn,.privacy-card.warn,.resilience-card.warn,.a11y-card.warn,.deploy-card.warn,.uat-card.warn{border-color:#ecd49d;background:#fffaf0}
.cert-card.fail,.security-card.fail,.privacy-card.fail,.resilience-card.fail,.a11y-card.fail,.deploy-card.fail,.uat-card.fail{border-color:#efbbb4;background:#fff7f5}
.cert-card h4,.security-card h4,.privacy-card h4,.resilience-card h4,.a11y-card h4,.deploy-card h4,.uat-card h4{font-size:11px;margin:0 0 4px}
.cert-card p,.security-card p,.privacy-card p,.resilience-card p,.a11y-card p,.deploy-card p,.uat-card p{font-size:9px;color:var(--muted);line-height:1.45;margin:3px 0}
.check-state{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900}.check-state.pass{background:#e8f5ed;color:#236843}.check-state.warn{background:#fff2d9;color:#805600}.check-state.fail{background:#fee9e6;color:#a33b30}.check-state.manual{background:#eef0f2;color:#606a73}
.rbac-table{width:100%;border-collapse:collapse;font-size:8px}.rbac-table th,.rbac-table td{padding:6px;border-bottom:1px solid var(--line);text-align:left}.rbac-yes{color:#236843;font-weight:900}.rbac-no{color:#9aa2aa}
.command-palette{position:fixed;inset:0;z-index:10020;background:rgba(7,19,31,.58);display:grid;place-items:start center;padding-top:min(14vh,120px)}.command-palette.hidden{display:none}.command-card{width:min(680px,calc(100vw - 24px));background:#fff;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.28);overflow:hidden}.command-head{display:flex;align-items:center;gap:8px;padding:10px;border-bottom:1px solid var(--line)}.command-head input{flex:1;border:0;outline:0;font-size:14px;padding:10px}.command-results{max-height:58vh;overflow:auto;padding:6px}.command-item{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:0;background:transparent;border-radius:10px;padding:9px;cursor:pointer}.command-item:hover,.command-item.active{background:#eef4f8}.command-item .nav-icon{flex:0 0 auto}.command-item strong{display:block;font-size:10px}.command-item span:last-child{display:block;font-size:8px;color:var(--muted)}
.nav-icon svg{width:19px;height:19px;display:block;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav button.active .nav-icon svg{stroke-width:2.2}
:focus-visible{outline:3px solid #4a83b8;outline-offset:2px}.btn,.icon-btn,.nav button,.text-btn{touch-action:manipulation}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:680px){.btn,.icon-btn,.text-btn{min-height:44px}.top-actions .btn{min-height:40px}.command-card{width:calc(100vw - 16px)}}

/* v3.1 — SLOs, performance e cloud hygiene */
.slo-gauge{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center}
.slo-score{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;border:8px solid #dce7ef;font-size:18px;font-weight:900;color:var(--navy)}
.slo-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.slo-metric{border:1px solid var(--line);border-radius:9px;padding:8px}.slo-metric span{display:block;font-size:7px;color:var(--muted)}.slo-metric strong{font-size:11px}
.slo-violation{border-left:3px solid #b24b42;padding-left:8px}.slo-ok{border-left:3px solid #3c8d62;padding-left:8px}
.cloud-hygiene-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.performance-budget{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
@media(max-width:680px){.slo-gauge{grid-template-columns:1fr}.slo-metrics{grid-template-columns:1fr 1fr}}

/* v3.2 — Offline Sync, Push e Release Pipeline */
.sync-v2-panel,.push-panel{margin:16px 0}.compact-metrics{margin-top:10px}.sync-conflict-card{border:1px solid #efc3bd;background:#fff8f6;border-radius:12px;padding:10px;margin:8px 0}
.sync-conflict-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sync-conflict-compare pre{white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto;background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:7px;font-size:7px}
.push-pref-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.push-pref-grid label{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:9px;padding:9px;font-size:9px}
.release-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:8px;align-items:center}.release-stage{border:1px solid var(--line);border-radius:11px;padding:10px;text-align:center}.release-stage strong{display:block;font-size:11px}.release-stage span{font-size:8px;color:var(--muted)}.release-stage.active{border-color:#9fc5df;background:#f3f8fb}.release-arrow{font-weight:900;color:var(--muted)}
.module-health{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}.module-health>div{border:1px solid var(--line);border-radius:8px;padding:8px}.module-health span{display:block;font-size:7px;color:var(--muted)}.module-health strong{font-size:9px}
@media(max-width:680px){.sync-conflict-compare,.push-pref-grid{grid-template-columns:1fr}.release-flow{grid-template-columns:1fr}.release-arrow{transform:rotate(90deg);text-align:center}.module-health{grid-template-columns:1fr 1fr}}


/* v3.3 — CSP de estilos sem atributos style */
[data-v33-style="actions-start-mt7"]{justify-content:flex-start;margin-top:7px}
[data-v33-style="actions-start-mt8"]{justify-content:flex-start;margin-top:8px}
[data-v33-style="mt8"]{margin-top:8px}
[data-v33-style="mt9"]{margin-top:9px}
[data-v33-style="mt10"]{margin-top:10px}
[data-v33-style="mt12"]{margin-top:12px}
[data-v33-style="muted10"]{font-size:10px;color:var(--muted)}
[data-v33-style="muted9"]{font-size:9px;color:var(--muted)}
[data-v33-style="actions-start-mt10"]{justify-content:flex-start;margin-top:10px}
[data-v33-style="actions-start"]{justify-content:flex-start}
[data-v33-style="metric-hero"]{margin:8px 0 0;font-size:26px}
[data-v33-style="minh220"]{min-height:220px}
[data-v33-style="minh160"]{min-height:160px}
[data-v33-style="my12"]{margin:12px 0}
[data-v33-style="my11"]{margin:11px 0}
[data-v33-style="between12"]{display:flex;justify-content:space-between;font-size:12px}
[data-v33-style="between-gap12"]{display:flex;justify-content:space-between;gap:12px}
[data-v33-style="between-gap10-12"]{display:flex;justify-content:space-between;gap:10px;font-size:12px}
[data-v33-style="actions-start-mt13"]{justify-content:flex-start;margin-top:13px}
[data-v33-style="actions-start-mt14"]{justify-content:flex-start;margin-top:14px}
[data-v33-style="actions-start-mt6"]{justify-content:flex-start;margin-top:6px}
[data-v33-style="mt8-ml6"]{margin-top:8px;margin-left:6px}
[data-v33-style="flex1"]{flex:1}
[data-v33-style="flex-gap12-center"]{display:flex;gap:12px;align-items:center}
[data-v33-style="overflow-auto"]{overflow:auto}
[data-current="yes"]{color:var(--navy)}

[data-pct="0"]{width:0%}
[data-left="0"]{left:0%}[data-ml="0"]{margin-left:0%}
[data-pct="1"]{width:1%}
[data-left="1"]{left:1%}[data-ml="1"]{margin-left:1%}
[data-pct="2"]{width:2%}
[data-left="2"]{left:2%}[data-ml="2"]{margin-left:2%}
[data-pct="3"]{width:3%}
[data-left="3"]{left:3%}[data-ml="3"]{margin-left:3%}
[data-pct="4"]{width:4%}
[data-left="4"]{left:4%}[data-ml="4"]{margin-left:4%}
[data-pct="5"]{width:5%}
[data-left="5"]{left:5%}[data-ml="5"]{margin-left:5%}
[data-pct="6"]{width:6%}
[data-left="6"]{left:6%}[data-ml="6"]{margin-left:6%}
[data-pct="7"]{width:7%}
[data-left="7"]{left:7%}[data-ml="7"]{margin-left:7%}
[data-pct="8"]{width:8%}
[data-left="8"]{left:8%}[data-ml="8"]{margin-left:8%}
[data-pct="9"]{width:9%}
[data-left="9"]{left:9%}[data-ml="9"]{margin-left:9%}
[data-pct="10"]{width:10%}
[data-left="10"]{left:10%}[data-ml="10"]{margin-left:10%}
[data-pct="11"]{width:11%}
[data-left="11"]{left:11%}[data-ml="11"]{margin-left:11%}
[data-pct="12"]{width:12%}
[data-left="12"]{left:12%}[data-ml="12"]{margin-left:12%}
[data-pct="13"]{width:13%}
[data-left="13"]{left:13%}[data-ml="13"]{margin-left:13%}
[data-pct="14"]{width:14%}
[data-left="14"]{left:14%}[data-ml="14"]{margin-left:14%}
[data-pct="15"]{width:15%}
[data-left="15"]{left:15%}[data-ml="15"]{margin-left:15%}
[data-pct="16"]{width:16%}
[data-left="16"]{left:16%}[data-ml="16"]{margin-left:16%}
[data-pct="17"]{width:17%}
[data-left="17"]{left:17%}[data-ml="17"]{margin-left:17%}
[data-pct="18"]{width:18%}
[data-left="18"]{left:18%}[data-ml="18"]{margin-left:18%}
[data-pct="19"]{width:19%}
[data-left="19"]{left:19%}[data-ml="19"]{margin-left:19%}
[data-pct="20"]{width:20%}
[data-left="20"]{left:20%}[data-ml="20"]{margin-left:20%}
[data-pct="21"]{width:21%}
[data-left="21"]{left:21%}[data-ml="21"]{margin-left:21%}
[data-pct="22"]{width:22%}
[data-left="22"]{left:22%}[data-ml="22"]{margin-left:22%}
[data-pct="23"]{width:23%}
[data-left="23"]{left:23%}[data-ml="23"]{margin-left:23%}
[data-pct="24"]{width:24%}
[data-left="24"]{left:24%}[data-ml="24"]{margin-left:24%}
[data-pct="25"]{width:25%}
[data-left="25"]{left:25%}[data-ml="25"]{margin-left:25%}
[data-pct="26"]{width:26%}
[data-left="26"]{left:26%}[data-ml="26"]{margin-left:26%}
[data-pct="27"]{width:27%}
[data-left="27"]{left:27%}[data-ml="27"]{margin-left:27%}
[data-pct="28"]{width:28%}
[data-left="28"]{left:28%}[data-ml="28"]{margin-left:28%}
[data-pct="29"]{width:29%}
[data-left="29"]{left:29%}[data-ml="29"]{margin-left:29%}
[data-pct="30"]{width:30%}
[data-left="30"]{left:30%}[data-ml="30"]{margin-left:30%}
[data-pct="31"]{width:31%}
[data-left="31"]{left:31%}[data-ml="31"]{margin-left:31%}
[data-pct="32"]{width:32%}
[data-left="32"]{left:32%}[data-ml="32"]{margin-left:32%}
[data-pct="33"]{width:33%}
[data-left="33"]{left:33%}[data-ml="33"]{margin-left:33%}
[data-pct="34"]{width:34%}
[data-left="34"]{left:34%}[data-ml="34"]{margin-left:34%}
[data-pct="35"]{width:35%}
[data-left="35"]{left:35%}[data-ml="35"]{margin-left:35%}
[data-pct="36"]{width:36%}
[data-left="36"]{left:36%}[data-ml="36"]{margin-left:36%}
[data-pct="37"]{width:37%}
[data-left="37"]{left:37%}[data-ml="37"]{margin-left:37%}
[data-pct="38"]{width:38%}
[data-left="38"]{left:38%}[data-ml="38"]{margin-left:38%}
[data-pct="39"]{width:39%}
[data-left="39"]{left:39%}[data-ml="39"]{margin-left:39%}
[data-pct="40"]{width:40%}
[data-left="40"]{left:40%}[data-ml="40"]{margin-left:40%}
[data-pct="41"]{width:41%}
[data-left="41"]{left:41%}[data-ml="41"]{margin-left:41%}
[data-pct="42"]{width:42%}
[data-left="42"]{left:42%}[data-ml="42"]{margin-left:42%}
[data-pct="43"]{width:43%}
[data-left="43"]{left:43%}[data-ml="43"]{margin-left:43%}
[data-pct="44"]{width:44%}
[data-left="44"]{left:44%}[data-ml="44"]{margin-left:44%}
[data-pct="45"]{width:45%}
[data-left="45"]{left:45%}[data-ml="45"]{margin-left:45%}
[data-pct="46"]{width:46%}
[data-left="46"]{left:46%}[data-ml="46"]{margin-left:46%}
[data-pct="47"]{width:47%}
[data-left="47"]{left:47%}[data-ml="47"]{margin-left:47%}
[data-pct="48"]{width:48%}
[data-left="48"]{left:48%}[data-ml="48"]{margin-left:48%}
[data-pct="49"]{width:49%}
[data-left="49"]{left:49%}[data-ml="49"]{margin-left:49%}
[data-pct="50"]{width:50%}
[data-left="50"]{left:50%}[data-ml="50"]{margin-left:50%}
[data-pct="51"]{width:51%}
[data-left="51"]{left:51%}[data-ml="51"]{margin-left:51%}
[data-pct="52"]{width:52%}
[data-left="52"]{left:52%}[data-ml="52"]{margin-left:52%}
[data-pct="53"]{width:53%}
[data-left="53"]{left:53%}[data-ml="53"]{margin-left:53%}
[data-pct="54"]{width:54%}
[data-left="54"]{left:54%}[data-ml="54"]{margin-left:54%}
[data-pct="55"]{width:55%}
[data-left="55"]{left:55%}[data-ml="55"]{margin-left:55%}
[data-pct="56"]{width:56%}
[data-left="56"]{left:56%}[data-ml="56"]{margin-left:56%}
[data-pct="57"]{width:57%}
[data-left="57"]{left:57%}[data-ml="57"]{margin-left:57%}
[data-pct="58"]{width:58%}
[data-left="58"]{left:58%}[data-ml="58"]{margin-left:58%}
[data-pct="59"]{width:59%}
[data-left="59"]{left:59%}[data-ml="59"]{margin-left:59%}
[data-pct="60"]{width:60%}
[data-left="60"]{left:60%}[data-ml="60"]{margin-left:60%}
[data-pct="61"]{width:61%}
[data-left="61"]{left:61%}[data-ml="61"]{margin-left:61%}
[data-pct="62"]{width:62%}
[data-left="62"]{left:62%}[data-ml="62"]{margin-left:62%}
[data-pct="63"]{width:63%}
[data-left="63"]{left:63%}[data-ml="63"]{margin-left:63%}
[data-pct="64"]{width:64%}
[data-left="64"]{left:64%}[data-ml="64"]{margin-left:64%}
[data-pct="65"]{width:65%}
[data-left="65"]{left:65%}[data-ml="65"]{margin-left:65%}
[data-pct="66"]{width:66%}
[data-left="66"]{left:66%}[data-ml="66"]{margin-left:66%}
[data-pct="67"]{width:67%}
[data-left="67"]{left:67%}[data-ml="67"]{margin-left:67%}
[data-pct="68"]{width:68%}
[data-left="68"]{left:68%}[data-ml="68"]{margin-left:68%}
[data-pct="69"]{width:69%}
[data-left="69"]{left:69%}[data-ml="69"]{margin-left:69%}
[data-pct="70"]{width:70%}
[data-left="70"]{left:70%}[data-ml="70"]{margin-left:70%}
[data-pct="71"]{width:71%}
[data-left="71"]{left:71%}[data-ml="71"]{margin-left:71%}
[data-pct="72"]{width:72%}
[data-left="72"]{left:72%}[data-ml="72"]{margin-left:72%}
[data-pct="73"]{width:73%}
[data-left="73"]{left:73%}[data-ml="73"]{margin-left:73%}
[data-pct="74"]{width:74%}
[data-left="74"]{left:74%}[data-ml="74"]{margin-left:74%}
[data-pct="75"]{width:75%}
[data-left="75"]{left:75%}[data-ml="75"]{margin-left:75%}
[data-pct="76"]{width:76%}
[data-left="76"]{left:76%}[data-ml="76"]{margin-left:76%}
[data-pct="77"]{width:77%}
[data-left="77"]{left:77%}[data-ml="77"]{margin-left:77%}
[data-pct="78"]{width:78%}
[data-left="78"]{left:78%}[data-ml="78"]{margin-left:78%}
[data-pct="79"]{width:79%}
[data-left="79"]{left:79%}[data-ml="79"]{margin-left:79%}
[data-pct="80"]{width:80%}
[data-left="80"]{left:80%}[data-ml="80"]{margin-left:80%}
[data-pct="81"]{width:81%}
[data-left="81"]{left:81%}[data-ml="81"]{margin-left:81%}
[data-pct="82"]{width:82%}
[data-left="82"]{left:82%}[data-ml="82"]{margin-left:82%}
[data-pct="83"]{width:83%}
[data-left="83"]{left:83%}[data-ml="83"]{margin-left:83%}
[data-pct="84"]{width:84%}
[data-left="84"]{left:84%}[data-ml="84"]{margin-left:84%}
[data-pct="85"]{width:85%}
[data-left="85"]{left:85%}[data-ml="85"]{margin-left:85%}
[data-pct="86"]{width:86%}
[data-left="86"]{left:86%}[data-ml="86"]{margin-left:86%}
[data-pct="87"]{width:87%}
[data-left="87"]{left:87%}[data-ml="87"]{margin-left:87%}
[data-pct="88"]{width:88%}
[data-left="88"]{left:88%}[data-ml="88"]{margin-left:88%}
[data-pct="89"]{width:89%}
[data-left="89"]{left:89%}[data-ml="89"]{margin-left:89%}
[data-pct="90"]{width:90%}
[data-left="90"]{left:90%}[data-ml="90"]{margin-left:90%}
[data-pct="91"]{width:91%}
[data-left="91"]{left:91%}[data-ml="91"]{margin-left:91%}
[data-pct="92"]{width:92%}
[data-left="92"]{left:92%}[data-ml="92"]{margin-left:92%}
[data-pct="93"]{width:93%}
[data-left="93"]{left:93%}[data-ml="93"]{margin-left:93%}
[data-pct="94"]{width:94%}
[data-left="94"]{left:94%}[data-ml="94"]{margin-left:94%}
[data-pct="95"]{width:95%}
[data-left="95"]{left:95%}[data-ml="95"]{margin-left:95%}
[data-pct="96"]{width:96%}
[data-left="96"]{left:96%}[data-ml="96"]{margin-left:96%}
[data-pct="97"]{width:97%}
[data-left="97"]{left:97%}[data-ml="97"]{margin-left:97%}
[data-pct="98"]{width:98%}
[data-left="98"]{left:98%}[data-ml="98"]{margin-left:98%}
[data-pct="99"]{width:99%}
[data-left="99"]{left:99%}[data-ml="99"]{margin-left:99%}
[data-pct="100"]{width:100%}
[data-left="100"]{left:100%}[data-ml="100"]{margin-left:100%}

/* v3.3 — three-way merge e estado de sync por registro */
.conflict-field-table{display:grid;gap:4px;margin:10px 0;overflow:auto}
.conflict-field-head,.conflict-field-row{display:grid;grid-template-columns:minmax(100px,.8fr) repeat(3,minmax(130px,1fr)) minmax(110px,.7fr);gap:5px;align-items:stretch;min-width:760px}
.conflict-field-head{font-size:8px;color:var(--muted);padding:0 5px}
.conflict-field-row{border:1px solid var(--line);border-radius:8px;padding:5px;background:#fff}
.conflict-field-row.collision{border-color:#d99d95;background:#fff8f6}
.conflict-field-row code{white-space:pre-wrap;word-break:break-word;font-size:7px;max-height:90px;overflow:auto;background:#f7f9fb;border-radius:5px;padding:5px}
.record-sync{display:inline-flex;align-items:center;border-radius:999px;padding:2px 6px;font-size:7px;font-weight:800;border:1px solid var(--line)}
.record-sync.pending{background:#fff7df;color:#735c18}.record-sync.conflict,.record-sync.failed{background:#fff0ee;color:#9b352d}.record-sync.synced{background:#edf8f1;color:#28734c}.record-sync.local{background:#f4f6f8;color:var(--muted)}

.attachment-sync-board{margin-top:9px;border-top:1px solid var(--line);padding-top:8px}.attachment-sync-summary{display:flex;justify-content:space-between;gap:8px;font-size:8px;color:var(--muted);margin-bottom:5px}.attachment-sync-summary strong{color:var(--text)}
.attachment-sync-item{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;align-items:center;padding:5px 0;border-bottom:1px dashed var(--line);font-size:8px}.attachment-sync-item small{grid-column:2;color:var(--muted)}

.push-device{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:9px;margin:7px 0}.push-device.stale{border-color:#d7a49d;background:#fff8f6}.push-device p,.push-device small{display:block;margin:3px 0;color:var(--muted);font-size:8px}

.push-quiet-box{margin-top:10px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#f8fafc}.push-quiet-box>label{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:800}.push-quiet-times{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.push-quiet-times label{font-size:8px;color:var(--muted)}.push-quiet-times input{display:block;width:100%;margin-top:3px}.push-quiet-box small{font-size:7px;color:var(--muted)}

/* v3.5 — Cloudflare lazy runtime / cloud inbox */
.route-runtime-status{position:fixed;z-index:1000;left:50%;top:max(10px,env(safe-area-inset-top));transform:translateX(-50%);max-width:min(92vw,560px);padding:8px 12px;border-radius:999px;background:#0D2B4D;color:#fff;box-shadow:0 8px 24px #0002;font-size:8px;font-weight:800;letter-spacing:.02em}.route-runtime-status.error{background:#8f3129}.route-loading .view.active{opacity:.78}.alert-card.read{opacity:.66}.alert-card.read .alert-icon{background:#edf8f1;color:#28734c}
