
:root{--green:#063b2f;--green2:#0b5a47;--gold:#d6b45c;--bg:#f3f6f5;--text:#1d2b27;--muted:#6b7773;--border:#d7dfdc;--danger:#8a1c1c}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
.app-header{background:white;border-bottom:4px solid var(--green);position:sticky;top:0;z-index:10}
.brand-strip{max-width:1500px;margin:auto;display:flex;align-items:center;gap:18px;padding:12px 18px}
.brand-strip img{height:64px;max-width:36%;object-fit:contain}.brand-strip h1{font-size:18px;margin:0;color:var(--green)}.brand-strip p{margin:6px 0 0;color:var(--muted)}
.view.hidden,.hidden{display:none!important}.centered{min-height:70vh;display:grid;place-items:center;padding:24px}.card{background:white;border:1px solid var(--border);border-radius:12px;padding:18px;box-shadow:0 3px 12px rgba(0,0,0,.05)}
.auth-card{width:min(440px,100%)}label{display:block;font-weight:700;font-size:14px;margin:12px 0}input,select,textarea{width:100%;padding:11px;border:1px solid var(--border);border-radius:8px;margin-top:6px;font:inherit;background:white}
button{border:0;border-radius:8px;padding:11px 15px;font-weight:700;cursor:pointer}.primary{background:var(--green);color:white}.secondary{background:#e9efed;color:var(--green)}.danger{background:#f7eaea;color:var(--danger)}
#mainView{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 110px)}.sidebar{background:var(--green);padding:18px;display:flex;flex-direction:column;gap:8px}.nav-btn{background:transparent;color:white;text-align:left}.nav-btn.active{background:rgba(255,255,255,.18)}.workspace{min-width:0}.topbar{background:white;border-bottom:1px solid var(--border);padding:12px 20px;display:flex;align-items:center;gap:12px}.topbar>div{flex:1}.topbar small{display:block;color:var(--muted);margin-top:3px}.icon-btn{display:none;background:#edf2f0}.workspace>div:last-child{padding:22px}
.page-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.page-title h2{margin:0;color:var(--green)}.page-title p{margin:5px 0;color:var(--muted)}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metric{background:white;border:1px solid var(--border);border-left:5px solid var(--green);border-radius:10px;padding:16px}.metric strong{display:block;font-size:26px;color:var(--green)}.metric span{font-size:13px;color:var(--muted)}
.grid{display:grid;gap:16px}.grid.two{grid-template-columns:1fr 1fr}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th,td{padding:11px;border-bottom:1px solid var(--border);text-align:left;font-size:13px}th{background:#edf3f1;color:var(--green);position:sticky;top:0}.filters{display:flex;gap:12px;margin-bottom:14px}.filters input{flex:1}.filters select{width:220px}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#e9f2ef;color:var(--green);font-size:12px;font-weight:700}.actions{display:flex;gap:6px}.actions button{padding:7px 9px;font-size:12px}
.list-item{padding:11px 0;border-bottom:1px solid var(--border)}.list-item:last-child{border-bottom:0}.hint{color:var(--muted);font-size:13px}
dialog{width:min(680px,95vw);border:0;border-radius:14px;padding:0}dialog::backdrop{background:rgba(0,0,0,.5)}dialog form{padding:20px}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h3{margin:0}.dialog-head button{font-size:22px;background:transparent}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
footer{background:white;border-top:1px solid var(--border);padding:14px;text-align:center;font-size:12px;line-height:1.5;color:#4e5c57}
@media(max-width:900px){#mainView{grid-template-columns:1fr}.sidebar{position:fixed;z-index:20;top:0;bottom:0;left:-260px;width:240px;transition:.2s}.sidebar.open{left:0}.icon-btn{display:inline-block}.metrics{grid-template-columns:1fr 1fr}.grid.two{grid-template-columns:1fr}.brand-strip img{height:50px}.brand-strip h1{font-size:14px}}
@media(max-width:560px){.metrics{grid-template-columns:1fr}.workspace>div:last-child{padding:14px}.page-title{align-items:flex-start;flex-direction:column}.page-title button{width:100%}.filters{flex-direction:column}.filters select{width:100%}.brand-strip{gap:10px}.brand-strip img{max-width:38%}.brand-strip p{font-size:12px}}

.wide-dialog{width:min(1100px,96vw);max-height:92vh;padding:0;overflow:auto}
.sticky-head{position:sticky;top:0;background:white;z-index:3;padding:18px;border-bottom:1px solid var(--border)}
.detail-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--border);background:#f8faf9}
.detail-tab.active{background:var(--green);color:white}
.detail-content{padding:18px}
.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.summary-box{border:1px solid var(--border);border-radius:10px;padding:12px;background:white}
.summary-box small{display:block;color:var(--muted);margin-bottom:5px}
.timeline{border-left:3px solid var(--green);margin-left:8px;padding-left:18px}
.timeline-entry{position:relative;padding:0 0 18px}
.timeline-entry:before{content:"";position:absolute;left:-25px;top:3px;width:11px;height:11px;background:var(--gold);border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px var(--green)}
.doc-card{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--border);border-radius:10px;margin-bottom:10px}
.report-view{background:white;border:1px solid var(--border);padding:22px}
.report-view h1{font-size:20px;color:var(--green)}
@media(max-width:700px){.summary-grid{grid-template-columns:1fr}.wide-dialog{width:100vw;max-height:100vh;border-radius:0}.detail-tabs{overflow:auto;flex-wrap:nowrap}}
@media print{body *{visibility:hidden}.report-view,.report-view *{visibility:visible}.report-view{position:absolute;left:0;top:0;width:100%;border:0}.no-print{display:none!important}}

.planning-toolbar{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.planning-card{border:1px solid var(--border);border-radius:10px;padding:14px;background:white}
.planning-card h4{margin:0 0 6px;color:var(--green)}
.planning-card p{font-size:13px;color:var(--muted);min-height:34px}
.status-ok{color:#146c43;font-weight:700}.status-pending{color:#8a5a00;font-weight:700}
@media(max-width:800px){.planning-toolbar{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.planning-toolbar{grid-template-columns:1fr}}

.procurement-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.procurement-card{border:1px solid var(--border);border-radius:10px;padding:14px;background:white}
.procurement-card h4{margin:0 0 6px;color:var(--green)}
.procurement-card p{font-size:13px;color:var(--muted);min-height:34px}
@media(max-width:900px){.procurement-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.procurement-grid{grid-template-columns:1fr}}

.lifecycle-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.lifecycle-card{border:1px solid var(--border);border-radius:10px;padding:14px;background:#fff}
.lifecycle-card h4{margin:0 0 6px;color:var(--green)}
.lifecycle-card p{font-size:13px;color:var(--muted);min-height:34px}
.lifecycle-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}
.lifecycle-summary .metric{min-height:90px}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#edf4ef;font-size:12px;font-weight:700}
.badge.warning{background:#fff3cd}.badge.danger{background:#f8d7da}.badge.success{background:#d1e7dd}
.row-actions{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:950px){.lifecycle-actions,.lifecycle-summary{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.lifecycle-actions,.lifecycle-summary{grid-template-columns:1fr}}

.indicator-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:18px}
.indicator-box{border:1px solid var(--border);border-radius:12px;padding:14px;background:#fff;min-height:95px}
.indicator-box strong{display:block;font-size:21px;color:var(--green);margin-bottom:6px}
.indicator-box span{font-size:12px;color:var(--muted)}
.progress-row{display:grid;grid-template-columns:minmax(150px,1fr) 3fr 70px;gap:10px;align-items:center;margin:8px 0}
.progress-track{height:12px;background:#edf0ed;border-radius:999px;overflow:hidden}
.progress-fill{height:100%;background:var(--green)}
.file-button{display:inline-flex;align-items:center;padding:9px 12px;border:1px solid var(--border);border-radius:8px;cursor:pointer;background:#fff;font-weight:700}
.permission-box{border:1px solid var(--border);border-radius:10px;padding:12px;display:grid;gap:8px}
.permission-box label{display:flex;gap:8px;align-items:center}
.toolbar.wrap{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
@media(max-width:1100px){.indicator-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.indicator-grid{grid-template-columns:1fr 1fr}.progress-row{grid-template-columns:1fr}.progress-track{width:100%}}
@media print{
  body.print-management header,body.print-management nav,body.print-management dialog,
  body.print-management #managementTools .toolbar,body.print-management #managementTools .grid{display:none!important}
  body.print-management #managementTools,body.print-management #managementIndicators{display:block!important;border:none!important;box-shadow:none!important}
}

.connection-badge{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}
.connection-badge.offline{background:#fff3cd;color:#664d03}
.connection-badge.online{background:#d1e7dd;color:#0f5132}
.connection-badge.syncing{background:#cff4fc;color:#055160}
.connection-badge.error{background:#f8d7da;color:#842029}
.sync-status-panel{border:1px solid var(--border);border-radius:10px;padding:12px;background:#f8faf8;margin-top:12px;line-height:1.5}
.sync-status-panel.success{border-color:#75b798;background:#d1e7dd}
.sync-status-panel.error{border-color:#ea868f;background:#f8d7da}
.sync-status-panel.warning{border-color:#ffda6a;background:#fff3cd}

.doc-storage-badge{display:inline-block;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:800;margin-left:6px}
.doc-storage-badge.central{background:#d1e7dd;color:#0f5132}
.doc-storage-badge.local{background:#fff3cd;color:#664d03}
.doc-progress{margin:8px 0;padding:10px;border:1px solid var(--border);border-radius:8px;background:#f8faf8}

.server-user-table{width:100%;border-collapse:collapse;margin-top:10px}
.server-user-table th,.server-user-table td{border-bottom:1px solid var(--border);padding:8px;text-align:left;font-size:12px}
.audit-central-list{max-height:320px;overflow:auto}
.audit-central-item{padding:8px 0;border-bottom:1px solid var(--border);font-size:12px}
.auth-dialog-grid{display:grid;gap:10px}

.contract-finance-fields{display:block}
.contract-kpis{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;margin:14px 0}
.contract-kpi{border:1px solid var(--border);border-radius:12px;padding:12px;background:#fff}
.contract-kpi strong{display:block;font-size:18px;color:var(--green);margin-bottom:4px}
.contract-kpi span{font-size:11px;color:var(--muted)}
.contract-warning{background:#fff3cd;color:#664d03;padding:8px;border-radius:8px}
.contract-danger{background:#f8d7da;color:#842029;padding:8px;border-radius:8px}
@media(max-width:1100px){.contract-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.contract-kpis{grid-template-columns:1fr 1fr}}

.compliance-fields{display:block}
.checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:10px;margin:12px 0}
.checklist-grid label{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:8px;padding:10px;background:#fff}
.performance-score{font-size:18px;font-weight:800}
.performance-excellent{color:#146c43}
.performance-good{color:#0a58ca}
.performance-regular{color:#997404}
.performance-bad{color:#b02a37}
@media(max-width:650px){.checklist-grid{grid-template-columns:1fr}}

.strategic-fields{display:block}.bi-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.bi-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:14px}.bi-card strong{display:block;font-size:20px;margin-bottom:4px}
.risk-low{background:#d1e7dd;color:#0f5132}.risk-medium{background:#fff3cd;color:#664d03}.risk-high{background:#f8d7da;color:#842029}.risk-critical{background:#842029;color:#fff}
@media(max-width:1000px){.bi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.bi-grid{grid-template-columns:1fr}}

.governance-fields{display:block}
.status-ok{background:#d1e7dd;color:#0f5132}
.status-warning{background:#fff3cd;color:#664d03}
.status-danger{background:#f8d7da;color:#842029}
.status-neutral{background:#e2e3e5;color:#41464b}
.timeline{display:grid;gap:10px}
.timeline-item{border-left:4px solid var(--primary);padding:10px 12px;background:#fff;border-radius:8px;border-top:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
.portal-card{border:1px solid var(--border);border-radius:12px;background:#fff;padding:14px;margin-bottom:12px}
.portal-card h3{margin:0 0 6px}
.kpi-progress{height:12px;background:#e9ecef;border-radius:999px;overflow:hidden;margin-top:8px}
.kpi-progress span{display:block;height:100%;background:var(--primary)}

.financial-fields{display:block}
.money-positive{color:#146c43;font-weight:700}
.money-negative{color:#b02a37;font-weight:700}
.financial-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.financial-summary .card strong{font-size:1.35rem;display:block;margin-top:5px}
.compliance-list{display:grid;gap:10px}
.compliance-item{border:1px solid var(--border);border-radius:10px;padding:12px;background:#fff}
.compliance-item strong{display:block;margin-bottom:4px}

.integration-fields{display:block}
.integration-status{display:flex;align-items:center;gap:8px}
.integration-dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#6c757d}
.integration-dot.active{background:#198754}
.integration-dot.warning{background:#ffc107}
.integration-dot.error{background:#dc3545}
.integration-card{border:1px solid var(--border);border-radius:12px;padding:14px;background:#fff}
.integration-card h3{margin:0 0 6px}
.queue-critical{border-left:5px solid #dc3545}
.queue-high{border-left:5px solid #fd7e14}
.queue-normal{border-left:5px solid #0d6efd}
.metric-small{font-size:.85rem;color:#6c757d}

.ai-fields{display:block}
.ai-score{font-size:2rem;font-weight:800;line-height:1}
.ai-panel{border:1px solid var(--border);border-radius:12px;background:#fff;padding:14px}
.ai-result{display:grid;gap:10px}
.ai-result-item{border-left:4px solid #6c757d;background:#f8f9fa;padding:10px 12px;border-radius:8px}
.ai-result-item.critical{border-left-color:#dc3545}
.ai-result-item.high{border-left-color:#fd7e14}
.ai-result-item.medium{border-left-color:#ffc107}
.ai-result-item.low{border-left-color:#198754}
.ai-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#6c757d}
.recommendation-card{border:1px solid var(--border);border-radius:10px;padding:12px;background:#fff}
.recommendation-card h4{margin:0 0 6px}

.workflow-fields{display:block}
.workflow-stage{border-left:4px solid #0d6efd;padding:10px 12px;background:#f8f9fa;border-radius:8px;margin-bottom:8px}
.workflow-stage.done{border-left-color:#198754}
.workflow-stage.late{border-left-color:#dc3545}
.workflow-stage.pending{border-left-color:#ffc107}
.timeline{position:relative;padding-left:24px}
.timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:#dee2e6}
.timeline-item{position:relative;margin-bottom:16px;padding:10px 12px;background:#fff;border:1px solid var(--border);border-radius:10px}
.timeline-item:before{content:"";position:absolute;left:-22px;top:16px;width:10px;height:10px;border-radius:50%;background:#0d6efd}
.task-overdue{border-left:5px solid #dc3545}
.task-critical{border-left:5px solid #fd7e14}
.task-normal{border-left:5px solid #0d6efd}
.workflow-progress{height:12px;background:#e9ecef;border-radius:999px;overflow:hidden}
.workflow-progress>span{display:block;height:100%;background:#198754}

.bi-kpi{padding:16px;border:1px solid var(--border);border-radius:12px;background:#fff;display:flex;flex-direction:column;gap:4px}
.bi-kpi strong{font-size:1.8rem}
.bi-kpi span{color:var(--muted)}
.bi-bar{display:grid;grid-template-columns:minmax(120px,1fr) 3fr auto;gap:10px;align-items:center;margin:9px 0}
.bi-bar-track{height:12px;background:#e9ecef;border-radius:999px;overflow:hidden}
.bi-bar-fill{height:100%;background:#0d6efd}
.bi-filter-summary{padding:10px 12px;border:1px dashed var(--border);border-radius:10px;background:#f8f9fa;margin-bottom:14px}
.bi-section{margin-bottom:18px}
.bi-grid-responsive{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
@media print{
  nav,.sidebar,.page-head .row-actions,.no-print{display:none!important}
  main{padding:0!important}
  .card,.bi-kpi{break-inside:avoid}
}
.mobile-status-bar{position:fixed;left:0;right:0;bottom:0;z-index:999;display:flex;gap:10px;align-items:center;justify-content:center;padding:8px 12px;background:#0f2742;color:#fff}.mobile-status-bar span{font-size:.85rem}.mobile-status-bar button{padding:6px 10px}body{padding-bottom:52px}.mobile-card{border:1px solid var(--border);border-radius:14px;padding:14px;background:#fff}.mobile-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mobile-shortcuts button{min-height:72px;text-align:left}.sync-item{border-left:5px solid #0d6efd;padding:12px;border-radius:10px;background:#fff;border-top:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:10px}.sync-item.failed{border-left-color:#dc3545}.sync-item.done{border-left-color:#198754}.notification-unread{font-weight:700;background:#f8fbff}@media(max-width:780px){.sidebar{position:fixed;z-index:1000;left:-320px;top:0;bottom:0;transition:.2s;width:290px}.sidebar.mobile-open{left:0}.content{margin-left:0!important}.topbar{position:sticky;top:0;z-index:900}.grid.two,.grid.three,.bi-grid,.bi-grid-responsive{grid-template-columns:1fr!important}.page-head,.page-head .row-actions{flex-direction:column;align-items:flex-start}.page-head .row-actions,.row-actions{width:100%}.page-head .row-actions button,.row-actions button{flex:1}table{min-width:760px}.table-wrap{overflow-x:auto}dialog{width:96vw;max-width:96vw}.mobile-status-bar{justify-content:space-between}}
.security-score{font-size:2.5rem;font-weight:800}
.security-good{color:#198754}.security-warning{color:#b26a00}.security-critical{color:#b02a37}
.security-event{border-left:5px solid #6c757d;padding:12px;border-radius:10px;background:#fff;border-top:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:10px}
.security-event.high{border-left-color:#dc3545}.security-event.medium{border-left-color:#fd7e14}.security-event.low{border-left-color:#198754}
.hash-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;word-break:break-all;background:#f6f8fa;padding:6px;border-radius:6px}
.permission-matrix{overflow:auto}.permission-matrix table{min-width:820px}
.backup-drop{border:2px dashed var(--border);border-radius:12px;padding:20px;text-align:center;background:#f8f9fa}

.input-preview{display:block;padding:11px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;margin-top:6px;min-height:20px}


/* v35 — inteligência gerencial */
.management-search input{font-size:1rem}.search-results{margin-top:12px;max-height:360px;overflow:auto}.mg-bar{display:grid;grid-template-columns:minmax(120px,1fr) 3fr 40px;gap:10px;align-items:center;margin:10px 0}.mg-bar>div{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden}.mg-bar i{display:block;height:100%;background:currentColor;border-radius:999px}.mg-bar strong{text-align:right}@media(max-width:720px){.mg-bar{grid-template-columns:1fr 2fr 34px}.management-search .grid{grid-template-columns:1fr}}

.enterprise-link{display:block;text-decoration:none;text-align:left;background:linear-gradient(135deg,#12375f,#1f6f8b);color:#fff!important;font-weight:700;border-radius:10px;padding:11px 14px;margin:4px 0}
