/* Product measurements: chart above a compact, independently scoped table. */
#productDetailContent .product-measurements-panel{max-width:1180px;margin-left:auto;margin-right:auto}
.product-measurement-legend{display:flex;justify-content:flex-end;gap:20px;padding:18px 24px 0;font-size:11px;color:var(--muted)}
.product-measurement-legend span{display:inline-flex;align-items:center;gap:7px}
.product-measurement-legend i{width:9px;height:9px;border-radius:2px;background:#162A46}
.product-measurement-legend i.draft{background:#C9A15A}
.product-measurement-plot{padding:8px 18px 0;overflow-x:auto}
.product-measurement-plot svg{display:block;width:100%;min-width:640px;height:auto}
.measurement-axis{font:11px Inter,Segoe UI,Arial,sans-serif;fill:#617181}
.measurement-gridline{stroke:#e5ebf0;stroke-width:1;stroke-dasharray:3 4}
.measurement-bar:hover rect,.measurement-bar:focus rect{fill:#416481;stroke:#0D1B2E;stroke-width:2}
.measurement-bar:focus{outline:none}
.product-measurements-panel .measurement-table-title{border-top:1px solid var(--line);margin-top:16px}
#productDetailContent .product-measurements-table{table-layout:fixed;width:100%;min-width:760px;font-variant-numeric:tabular-nums}
#productDetailContent .product-measurements-table th,#productDetailContent .product-measurements-table td{min-width:0;padding:10px 12px;vertical-align:middle;text-align:right;white-space:nowrap}
#productDetailContent .product-measurements-table th{font-size:9px;white-space:normal;line-height:1.4}
#productDetailContent .product-measurements-table th:nth-child(-n+3),#productDetailContent .product-measurements-table td:nth-child(-n+3){text-align:center}
#productDetailContent .product-measurements-table th:nth-child(1){width:8%}
#productDetailContent .product-measurements-table th:nth-child(2){width:26%}
#productDetailContent .product-measurements-table th:nth-child(3){width:12%}
#productDetailContent .product-measurements-table th:nth-child(4){width:10%}
#productDetailContent .product-measurements-table th:nth-child(5){width:15%}
#productDetailContent .product-measurements-table th:nth-child(6){width:16%}
#productDetailContent .product-measurements-table th:nth-child(7){width:13%}
:root{
  --nav:#0D1B2E;--nav2:#162A46;--accent:#C9A15A;--bg:#F4F6F8;--card:#FFFFFF;
  --text:#2B2F36;--muted:#6B7177;--line:#D9DDE1;--red:#C9353B;--amber:#C9A15A;
  --green:#1C9B60;--blue:#0D1B2E;--shadow:0 6px 22px rgba(13,27,46,.10)
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg)}
body{min-width:0}.app-shell{display:flex;min-height:100vh}
.sidebar{width:238px;background:linear-gradient(180deg,#0D1B2E 0%,#10233D 58%,#162A46 100%);color:#fff;padding:20px 14px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;margin:2px 8px 24px}
.brand-logo{width:52px;height:52px;object-fit:contain;display:block;filter:drop-shadow(0 0 1px rgba(255,255,255,.45)) drop-shadow(0 4px 10px rgba(0,0,0,.28))}
.brand-copy{display:flex;flex-direction:column;line-height:1.06}.brand-copy strong{font-size:18px;letter-spacing:.02em}.brand-copy span{font-size:11px;color:var(--accent);font-weight:700;letter-spacing:.08em;margin-top:3px}.brand-copy small{font-size:10px;color:#D9DDE1;opacity:.8;margin-top:4px;line-height:1.25}
nav{display:flex;flex-direction:column;gap:3px}.navtitle{font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:var(--accent);font-weight:700;margin:18px 10px 8px}nav a{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:9px;color:#D9DDE1;font-size:14px;text-decoration:none;border-left:3px solid transparent;transition:.15s}nav a:hover{background:rgba(255,255,255,.06)}nav a.active{background:rgba(255,255,255,.10);color:#fff;font-weight:700;border-left-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
.institutional{margin-top:18px;border-top:1px solid rgba(201,161,90,.45);padding:14px 0 8px;text-align:center;flex:0 0 auto}.institutional img{display:block;width:150px;max-width:100%;height:auto;object-fit:contain;opacity:.98;margin:0 auto}
.main{margin-left:238px;min-height:100vh;width:calc(100% - 238px);display:flex;flex-direction:column;min-width:0}
.topbar{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}
.top-brand{border-left:3px solid var(--accent);padding-left:12px;display:flex;flex-direction:column}.top-brand strong{font-size:15px;color:var(--nav);letter-spacing:.02em}.top-brand span{font-size:11px;color:var(--muted);margin-top:2px;font-weight:700;letter-spacing:.08em}
.top-actions{display:flex;align-items:center;gap:12px;font-size:12px}.top-actions>span{border:1px solid var(--line);padding:9px 11px;border-radius:8px;background:#fff;color:var(--muted)}.top-actions div:not(.avatar){display:flex;flex-direction:column}.top-actions small{color:var(--muted);margin-top:2px}.avatar{width:34px;height:34px;border-radius:50%;background:var(--nav);display:grid;place-items:center;color:#fff;font-weight:800;border:2px solid rgba(201,161,90,.45)}.logout{border:1px solid var(--line);background:#fff;color:#425463;border-radius:8px;padding:7px 10px;font-size:10px;font-weight:800;cursor:pointer}.logout:hover{background:#f3f7f9}
.content{padding:24px 28px 40px;max-width:1600px;width:100%;margin:auto}.page-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.page-head h1{margin:0;font-size:25px;letter-spacing:-.02em}.page-head p{color:var(--muted);font-size:13px;margin:5px 0 0}.page-head select{min-width:320px;padding:10px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font-size:12px}
.cards{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:13px;margin-bottom:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:15px 16px;min-height:104px;border-bottom:3px solid var(--accent);display:flex;align-items:flex-start;gap:14px}.card .icon{width:40px;height:40px;border-radius:9px;background:#f1f4f7;color:var(--nav);display:grid;place-items:center;font-weight:800;font-size:16px;flex:none}.card .icon.green{background:#eaf5ef;color:var(--green);font-size:13px}.card>div:last-child{display:flex;flex-direction:column;min-width:0}.card span{font-size:11px;text-transform:uppercase;letter-spacing:.055em;color:var(--muted)}.card strong{font-size:25px;font-weight:800;margin-top:8px;letter-spacing:-.03em;white-space:nowrap}.card small{font-size:11px;color:var(--muted);margin-top:5px}.progress{height:7px;background:#D9DDE1;border-radius:8px;margin-top:8px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,#0D1B2E 0%,#163A63 72%,#C9A15A 100%);border-radius:8px;width:0}.progress i.greenbar{background:var(--green)}
.panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.panel-title{padding:15px 16px;border-bottom:1px solid var(--line)}.panel h2{font-size:15px;margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px}th{background:#f6f9fb;color:#617181;text-transform:uppercase;font-size:9px;letter-spacing:.05em;text-align:right;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}th:first-child,th:nth-child(2){text-align:left}td{padding:9px 10px;border-bottom:1px solid #edf1f4;text-align:right;white-space:nowrap;vertical-align:middle}td:first-child,td:nth-child(2){text-align:left}tr:hover td{background:#fbfdfe}.panel-foot{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;color:var(--muted);font-size:11px}.panel-foot a,.chart-card a{color:var(--nav);text-decoration:none;font-weight:700}
.charts{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:16px}.chart-card{padding:16px;min-width:0;display:flex;flex-direction:column}.chart-card h2{margin:0 0 14px;font-size:15px}.chart-area{position:relative;width:100%;height:360px;min-width:0}.chart-area-products{max-width:760px;height:420px;margin:0 auto}.chart-card canvas{display:block}.chart-card a{align-self:flex-end;margin-top:14px;font-size:11px}.chart-note{font-size:11px;line-height:1.5;color:var(--muted);margin:12px 0 0}
footer{margin-top:auto;border-top:1px solid var(--line);background:#fff;min-height:46px;display:flex;align-items:center;gap:10px;padding:0 26px;color:var(--muted);font-size:9px;border-left:3px solid var(--accent)}footer strong{color:var(--nav);font-weight:800}footer em{font-style:normal;margin-left:auto}
.login-overlay{position:fixed;inset:0;z-index:50;overflow:hidden;background:radial-gradient(circle at 73% 44%,#fff 0,#f8fafb 33%,#eef2f5 100%)}.login-overlay.hidden{display:none}
.login-institutional{position:absolute;z-index:1;inset:0 auto 0 0;width:100%;overflow:hidden;color:#fff;background:radial-gradient(circle at 29% 38%,#16385b 0,#0c2239 34%,#071a2d 72%,#061627 100%);clip-path:polygon(0 0,57.2% 0,36% 100%,0 100%)}
.login-institutional::before{content:"";position:absolute;inset:-20%;pointer-events:none;background:linear-gradient(39deg,transparent 30%,rgba(59,124,184,.13) 30.2%,transparent 30.45%),linear-gradient(141deg,transparent 58%,rgba(201,161,90,.2) 58.15%,transparent 58.35%)}
.login-institutional::after{content:"";position:absolute;left:-82px;top:230px;width:220px;height:220px;border:1px solid rgba(201,161,90,.58);border-radius:24px;transform:rotate(40deg);pointer-events:none}
.login-diagonal{position:absolute;z-index:3;top:-5%;left:57.15%;width:3px;height:112%;background:#C9A15A;transform:rotate(18.1deg);transform-origin:top center;pointer-events:none}
.login-copy{position:relative;z-index:2;width:57.2%;height:100vh;min-height:680px;padding:5.2vh 5.15vw 5.1vh}
.login-identity strong{display:block;font-size:18px;font-weight:600;letter-spacing:.34em}.login-identity span{display:block;margin-top:12px;color:#f1f4f7;font-size:11px;font-weight:500;line-height:1.45;letter-spacing:.12em;text-transform:uppercase}.login-identity::after{content:"";display:block;width:50px;height:3px;margin-top:18px;background:#e3bb62}
.login-message{position:absolute;left:5.75vw;top:15.7vh}.login-hero-mark{display:block;width:min(24vw,405px);height:min(44vh,430px);margin-left:8.2vw;object-fit:contain;filter:drop-shadow(0 20px 30px rgba(0,0,0,.38))}
.login-copy h1{margin:2.7vh 0 0;color:#fff;font-size:clamp(29px,2.45vw,41px);font-weight:500;line-height:1.12;letter-spacing:-.025em;white-space:nowrap}.login-copy h1 span{display:block;color:#C9A15A}.login-title-rule{width:50px;height:3px;margin:22px 0 18px;background:#e3b557}.login-message>p{max-width:430px;margin:0;color:#f1f3f5;font-size:14px;line-height:1.5}
.login-indicators{position:absolute;left:5.2vw;bottom:5.2vh;display:flex;align-items:center;color:#fff;font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.login-indicator{display:flex;align-items:center;gap:11px}.login-indicator-icon{display:block;width:32px;height:32px;color:#efb63e}.login-indicator-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.login-indicator-divider{width:1px;height:30px;margin:0 20px;background:rgba(217,221,225,.38)}
.login-panel{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;padding:6vh 6.8vw 4vh 53vw}
.login-card{position:relative;width:min(35vw,590px);min-width:480px;min-height:min(75.2vh,710px);padding:4.7vh 34px 3.6vh;border:1px solid #e0e5e9;border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 16px 36px rgba(13,27,46,.12)}
.login-card-brand{text-align:center;margin-bottom:3.7vh}.login-card-logo{width:min(10vw,150px);height:min(14vh,135px);object-fit:contain}.login-card-brand strong{display:block;margin-top:4px;color:#071a2d;font-size:clamp(38px,3.1vw,52px);font-weight:650;line-height:1;letter-spacing:.14em}.login-card-brand span{display:flex;align-items:center;justify-content:center;gap:13px;margin-top:10px;color:#0D1B2E;font-size:13px;font-weight:700;letter-spacing:.1em}.login-card-brand span::before,.login-card-brand span::after{content:"";width:43px;height:2px;background:#C9A15A}.login-card-brand small{display:block;margin-top:8px;color:var(--muted);font-size:11px;letter-spacing:.04em}
.login-card h2{margin:0 0 18px;color:#071a2d;font-size:24px;text-align:center}.login-field{display:block;margin-top:20px;color:#071a2d;font-size:13px;font-weight:700}.login-input-wrap{position:relative;display:block;margin-top:9px}.login-input-icon{position:absolute;z-index:1;top:50%;left:15px;width:21px;height:21px;color:#0D2848;transform:translateY(-50%);pointer-events:none}.login-input-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.login-card input{width:100%;height:54px;margin:0;padding:0 48px;border:1px solid #cfd7df;border-radius:8px;background:#fff;color:#2B2F36;font:inherit;font-size:14px;font-weight:400;outline:none}.login-card input::placeholder{color:#8793a5}.login-card input:focus{border-color:#C9A15A;box-shadow:0 0 0 3px rgba(201,161,90,.16)}
.login-card button{position:relative;width:100%;height:57px;margin-top:22px;border:0;border-bottom:2px solid #C9A15A;border-radius:8px;background:#071a2d;color:#fff;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 7px 15px rgba(13,27,46,.12)}.login-card button:hover{background:#102a45}.login-submit-arrow{position:absolute;right:40%;margin-right:-55px;font-size:24px;font-weight:300;line-height:.7}.message{min-height:20px;margin:13px 0 5px;color:#b33137;font-size:12px;line-height:1.45}
@media(max-width:900px){.login-overlay{overflow:auto}.login-institutional{position:relative;width:100%;min-height:620px;clip-path:none}.login-diagonal{display:none}.login-copy{width:100%;height:620px;min-height:0;padding:28px 34px}.login-message{top:105px;left:34px}.login-hero-mark{width:210px;height:250px;margin:0 auto}.login-copy h1{margin-top:0;font-size:31px}.login-indicators{left:34px;bottom:28px}.login-panel{position:relative;min-height:650px;padding:42px 24px 75px;justify-content:center}.login-card{width:min(590px,100%);min-width:0;min-height:0}}
[hidden]{display:none!important}.action-link,.product-code{color:var(--nav);font-weight:700;text-decoration:none}.action-link{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#425463;cursor:pointer;font-size:10px;font-weight:800;white-space:nowrap}.action-link:hover{background:#f3f7f9}.product-search{display:block;font-size:12px;font-weight:700;max-width:520px}.product-search input{display:block;width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:8px;margin-top:8px;font:inherit}.product-search input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(201,161,90,.14)}.products-table td:nth-child(2){white-space:normal;min-width:240px}.products-table th{white-space:normal;min-width:100px}.products-table td{vertical-align:top}.empty-state{text-align:center!important;padding:30px!important;color:var(--muted)}.data-note{font-size:11px;line-height:1.5;color:var(--muted);padding:0 16px}.product-panel{margin-top:18px}.product-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px;margin:0}.product-facts>div{border:1px solid var(--line);border-radius:9px;padding:11px;background:#fff;min-height:63px}.product-facts dt{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:5px}.product-facts dd{margin:0;font-weight:600;font-size:12px;line-height:1.4;overflow-wrap:anywhere}#productStatus,#productCount,#collaboratorCount,#vehicleCount{color:var(--muted);font-size:11px}#productsHeading:focus{outline:none}.product-code:focus-visible,.action-link:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
@media(max-width:1280px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1050px){.sidebar{width:76px;padding:18px 9px}.brand{justify-content:center;margin-left:0;margin-right:0}.brand-copy,.navtitle,nav a span{display:none}.brand-logo{width:52px;height:52px}.sidebar nav{display:flex}.sidebar nav a{justify-content:center;padding:10px 8px}.institutional{display:none}.main{margin-left:76px;width:calc(100% - 76px)}.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.login-overlay{overflow:auto}.login-institutional{position:relative;width:100%;min-height:620px;clip-path:none}.login-diagonal{display:none}.login-copy{width:100%;height:620px;min-height:0;padding:28px 34px}.login-message{top:105px;left:34px}.login-hero-mark{width:210px;height:250px;margin:0 auto}.login-copy h1{margin-top:0;font-size:31px}.login-indicators{left:34px;bottom:28px}.login-panel{position:relative;min-height:650px;padding:42px 24px 75px;justify-content:center}.login-card{width:min(590px,100%);min-width:0;min-height:0}}
@media(max-width:720px){.sidebar{display:none}.main{margin:0;width:100%}.topbar{padding:10px 14px;height:auto;gap:10px;flex-wrap:wrap}.top-actions{gap:8px;flex-wrap:wrap}.content{padding:16px}.page-head{align-items:flex-start;gap:12px;flex-direction:column}.page-head select{min-width:0;width:100%}.cards{grid-template-columns:1fr 1fr}.product-facts{grid-template-columns:1fr}.chart-card{padding:16px}.chart-area{height:320px}.chart-area-products{height:360px}footer{flex-wrap:wrap;padding:12px}.login-institutional{min-height:570px}.login-copy{height:570px;padding:22px}.login-identity strong{font-size:16px}.login-message{top:90px;left:22px}.login-hero-mark{width:175px;height:215px}.login-copy h1{font-size:25px;white-space:normal}.login-message>p{font-size:12px}.login-indicators{left:22px;bottom:24px;font-size:7px}.login-indicator-icon{width:25px;height:25px}.login-indicator-divider{margin:0 9px}.login-panel{min-height:610px;padding:28px 15px 66px}.login-card{padding:28px 22px}.login-card-brand img{width:100px;height:100px}.login-card-brand strong{font-size:36px}.login-card-brand span{font-size:10px}.login-card-brand span::before,.login-card-brand span::after{width:20px}}
@media(max-width:520px){.cards{grid-template-columns:1fr}.top-actions>span{display:none}.top-actions div:not(.avatar){display:none}}

.status-badge{display:inline-block;font-size:9px;font-weight:800;text-transform:uppercase;padding:3px 6px;border-radius:999px;background:#eef3f6;color:#576875;white-space:nowrap}.status-badge.active{background:#e8f6ef;color:#16734b}.status-badge.inactive{background:#fde7e8;color:#a7272e}

.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 15px;margin-bottom:10px}.toolbar h2{font-size:15px;margin:0}.toolbar small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.compact-search{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px;font-weight:700}.compact-search input{width:260px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font:inherit;font-size:11px}.compact-search input:focus{outline:2px solid rgba(201,161,90,.18);border-color:var(--accent)}
.measurements-table-panel{border-radius:12px}.measurements-table{min-width:1040px}.measurements-table th,.measurements-table td{text-align:left}.measurements-table td:nth-child(n+5):nth-child(-n+8),.measurements-table th:nth-child(n+5):nth-child(-n+8){text-align:right}.pending-value{color:#8c5d09;font-weight:800}.measurements-kpis .card strong{font-size:22px}
#measurementDetailStatus{color:var(--muted);font-size:11px}
@media(max-width:900px){.toolbar{align-items:flex-start;flex-direction:column}.compact-search{width:100%;align-items:flex-start;flex-direction:column}.compact-search input{width:100%}}

.schedule-notice{margin-bottom:16px}.schedule-table{min-width:900px}.schedule-table th,.schedule-table td{text-align:left}.schedule-table th:nth-child(5),.schedule-table th:nth-child(6),.schedule-table td:nth-child(5),.schedule-table td:nth-child(6){text-align:right}
.curve-page-card{padding:16px}.curve-page-area{height:460px}.curve-kpis .card strong,.schedule-kpis .card strong{font-size:22px}
.status{padding:11px 13px;border-radius:9px;background:#edf8f2;color:#176d48;font-size:12px}.status.error{background:#fff0f0;color:#8c3535}

.equipment-notice{margin-bottom:16px}.equipment-table-panel{border-radius:12px}.equipment-table{min-width:1050px}.equipment-table th,.equipment-table td{text-align:left}.equipment-table th:nth-child(3),.equipment-table td:nth-child(3){text-align:right}.equipment-kpis .card strong{font-size:22px}

.reports-grid{grid-template-columns:1fr 1fr}.reports-table{min-width:980px}.reports-table th,.reports-table td{text-align:left}.reports-table th:nth-child(n+3),.reports-table td:nth-child(n+3){text-align:right}.reports-kpis .card strong{font-size:22px}
@media(max-width:1050px){.reports-grid{grid-template-columns:1fr}}

.registries-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.registry-card{display:flex;flex-direction:column;gap:7px;padding:18px;text-decoration:none;color:var(--text)}.registry-card strong{font-size:15px;color:var(--nav)}.registry-card span{font-size:11px;color:var(--muted);line-height:1.45}.registry-card em{font-style:normal;font-size:10px;font-weight:800;color:var(--nav);margin-top:4px}.registry-card:hover{border-color:#c7d0d8;transform:translateY(-1px)}.registry-note{padding:0;margin-top:14px}.administration-notice{margin-top:16px}.registries-kpis .card strong,.administration-kpis .card strong{font-size:22px}
@media(max-width:900px){.registries-grid{grid-template-columns:1fr}}

.grid2{display:grid;gap:16px}

.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.contract-edit-panel{margin-bottom:16px;padding-bottom:16px}
.contract-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px}
.contract-edit-grid label{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.contract-edit-grid input,.contract-edit-grid select,.contract-edit-grid textarea{display:block;width:100%;margin-top:6px;padding:10px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font:inherit;font-size:12px;text-transform:none;letter-spacing:normal}
.contract-edit-grid input:focus,.contract-edit-grid select:focus,.contract-edit-grid textarea:focus{outline:2px solid rgba(201,161,90,.18);border-color:var(--accent)}
.contract-edit-wide{grid-column:1/-1}
.contract-edit-buttons{display:flex;justify-content:flex-end;gap:8px;padding:0 16px}
.contract-edit-status{min-height:18px;padding:0 16px 10px;color:var(--muted);font-size:11px}
.contract-save{background:var(--nav);color:#fff;border-color:var(--nav)}
.reports-product-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:14px 16px;margin-bottom:16px}
.reports-product-toolbar label{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.reports-product-toolbar select{display:block;min-width:360px;margin-top:6px;padding:10px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font-size:12px}
.reports-product-detail{margin-bottom:16px}
@media(max-width:900px){.contract-edit-grid{grid-template-columns:1fr 1fr}.reports-product-toolbar{align-items:stretch;flex-direction:column}.reports-product-toolbar select{min-width:0;width:100%}}
@media(max-width:600px){.contract-edit-grid{grid-template-columns:1fr}}
@media print{.sidebar,.topbar,.reports-product-toolbar,.page-head .action-link,footer{display:none!important}.main{margin:0!important;width:100%!important}.content{max-width:none!important;padding:0!important}.panel,.card{box-shadow:none!important}.reports-product-detail[hidden]{display:none!important}}

#contractPeriod{white-space:normal;overflow-wrap:anywhere;line-height:1.15;font-size:20px}
.admin-edit-panel{margin:14px 0 16px;padding-bottom:16px}
.admin-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px}
.admin-edit-grid label{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.admin-edit-grid input,.admin-edit-grid select,.admin-edit-grid textarea{display:block;width:100%;margin-top:6px;padding:10px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font:inherit;font-size:12px;text-transform:none;letter-spacing:normal}
.admin-edit-grid input:focus,.admin-edit-grid select:focus,.admin-edit-grid textarea:focus,.admin-items-table input:focus{outline:2px solid rgba(201,161,90,.18);border-color:var(--accent)}
.admin-edit-wide{grid-column:1/-1}
.admin-edit-buttons{display:flex;justify-content:flex-end;gap:8px;padding:14px 16px 0}
.admin-edit-status{min-height:18px;padding:10px 16px 0;color:var(--muted);font-size:11px}
.admin-items-table{min-width:960px}.admin-items-table th,.admin-items-table td{text-align:left}
.admin-items-table input{width:100%;min-width:110px;padding:8px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:11px}
.admin-action-col{text-align:center!important}
.sidebar::-webkit-scrollbar{width:7px}.sidebar::-webkit-scrollbar-thumb{background:rgba(201,161,90,.38);border-radius:999px}.sidebar::-webkit-scrollbar-track{background:transparent}
@media(max-width:900px){.admin-edit-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.admin-edit-grid{grid-template-columns:1fr}}

.resources-table{table-layout:fixed;width:100%;min-width:1080px}
.resources-table th,.resources-table td{text-align:left!important;vertical-align:middle;white-space:normal;overflow-wrap:anywhere;padding:8px 10px;line-height:1.25}
.resources-table .admin-action-col{text-align:center!important}
.collaborators-table th:nth-child(1),.collaborators-table td:nth-child(1){width:20%}
.collaborators-table th:nth-child(2),.collaborators-table td:nth-child(2){width:17%}
.collaborators-table th:nth-child(3),.collaborators-table td:nth-child(3){width:6%}
.collaborators-table th:nth-child(4),.collaborators-table td:nth-child(4){width:8%}
.collaborators-table th:nth-child(5),.collaborators-table td:nth-child(5){width:15%}
.collaborators-table th:nth-child(6),.collaborators-table td:nth-child(6){width:9%}
.collaborators-table th:nth-child(7),.collaborators-table td:nth-child(7){width:8%}
.collaborators-table th:nth-child(8),.collaborators-table td:nth-child(8){width:8%}
.collaborators-table th:nth-child(9),.collaborators-table td:nth-child(9){width:9%}
.vehicles-table th:nth-child(1),.vehicles-table td:nth-child(1){width:8%}
.vehicles-table th:nth-child(2),.vehicles-table td:nth-child(2){width:12%}
.vehicles-table th:nth-child(3),.vehicles-table td:nth-child(3){width:8%}
.vehicles-table th:nth-child(4),.vehicles-table td:nth-child(4){width:18%}
.vehicles-table th:nth-child(5),.vehicles-table td:nth-child(5){width:13%}
.vehicles-table th:nth-child(6),.vehicles-table td:nth-child(6){width:15%}
.vehicles-table th:nth-child(7),.vehicles-table td:nth-child(7){width:8%}
.vehicles-table th:nth-child(8),.vehicles-table td:nth-child(8){width:6%}
.vehicles-table th:nth-child(9),.vehicles-table td:nth-child(9){width:6%}
.vehicles-table th:nth-child(10),.vehicles-table td:nth-child(10){width:6%}
.collaborators-table th:nth-child(4),.collaborators-table td:nth-child(4),
.vehicles-table th:nth-child(3),.vehicles-table td:nth-child(3){font-weight:800;color:var(--nav);text-align:center!important;white-space:nowrap}
.resource-help{display:block;margin-top:5px;color:var(--muted);font-size:10px;text-transform:none;letter-spacing:normal}
.admin-edit-grid select[multiple]{min-height:132px}
.collaborators-table th:nth-child(4),.collaborators-table td:nth-child(4),
.vehicles-table th:nth-child(3),.vehicles-table td:nth-child(3){font-weight:800;color:var(--nav);text-align:center!important;white-space:nowrap}

/* Ajuste fino: centralizar visualmente a coluna Produto em Veículos */
.vehicles-table th:nth-child(3),.vehicles-table td:nth-child(3){
  width:10%;
  text-align:center!important;
  padding-left:18px;
  padding-right:18px;
}
.vehicles-table th:nth-child(2),.vehicles-table td:nth-child(2){width:14%}
.vehicles-table th:nth-child(4),.vehicles-table td:nth-child(4){width:17%}

/* Ajuste visual fino da coluna Produto em Veículos */
.vehicles-table th:nth-child(3),.vehicles-table td:nth-child(3){
  position:relative;
  left:-34px;
}

/* Refino visual das tabelas de vínculos na ficha de Produtos */
#productDetailContent .product-links-table{
  table-layout:fixed;
  width:100%;
  min-width:980px;
}
#productDetailContent .product-links-table th,
#productDetailContent .product-links-table td{
  padding:10px 14px;
  vertical-align:middle;
  line-height:1.28;
  white-space:normal;
  overflow-wrap:anywhere;
}
#productDetailContent .product-links-table th{
  text-align:center!important;
}
#productDetailContent .product-links-table td{
  text-align:center!important;
}
#productDetailContent .product-links-table td:first-child,
#productDetailContent .product-links-table td:nth-child(2){
  text-align:left!important;
}
#productDetailContent .product-links-table td:last-child{
  text-align:left!important;
}
#productDetailContent .collaborators-links-table th:nth-child(1),
#productDetailContent .collaborators-links-table td:nth-child(1){width:19%}
#productDetailContent .collaborators-links-table th:nth-child(2),
#productDetailContent .collaborators-links-table td:nth-child(2){width:19%}
#productDetailContent .collaborators-links-table th:nth-child(3),
#productDetailContent .collaborators-links-table td:nth-child(3){width:10%}
#productDetailContent .collaborators-links-table th:nth-child(4),
#productDetailContent .collaborators-links-table td:nth-child(4){width:13%}
#productDetailContent .collaborators-links-table th:nth-child(5),
#productDetailContent .collaborators-links-table td:nth-child(5){width:12%}
#productDetailContent .collaborators-links-table th:nth-child(6),
#productDetailContent .collaborators-links-table td:nth-child(6){width:27%}

#productDetailContent .vehicles-links-table th:nth-child(1),
#productDetailContent .vehicles-links-table td:nth-child(1){width:11%}
#productDetailContent .vehicles-links-table th:nth-child(2),
#productDetailContent .vehicles-links-table td:nth-child(2){width:16%}
#productDetailContent .vehicles-links-table th:nth-child(3),
#productDetailContent .vehicles-links-table td:nth-child(3){width:25%}
#productDetailContent .vehicles-links-table th:nth-child(4),
#productDetailContent .vehicles-links-table td:nth-child(4){width:10%}
#productDetailContent .vehicles-links-table th:nth-child(5),
#productDetailContent .vehicles-links-table td:nth-child(5){width:13%}
#productDetailContent .vehicles-links-table th:nth-child(6),
#productDetailContent .vehicles-links-table td:nth-child(6){width:25%}

#productDetailContent .equipment-links-table th:nth-child(1),
#productDetailContent .equipment-links-table td:nth-child(1){width:24%}
#productDetailContent .equipment-links-table th:nth-child(2),
#productDetailContent .equipment-links-table td:nth-child(2){width:16%}
#productDetailContent .equipment-links-table th:nth-child(3),
#productDetailContent .equipment-links-table td:nth-child(3){width:10%}
#productDetailContent .equipment-links-table th:nth-child(4),
#productDetailContent .equipment-links-table td:nth-child(4){width:14%}
#productDetailContent .equipment-links-table th:nth-child(5),
#productDetailContent .equipment-links-table td:nth-child(5){width:13%}
#productDetailContent .equipment-links-table th:nth-child(6),
#productDetailContent .equipment-links-table td:nth-child(6){width:23%}

/* Layout final conforme modelo aprovado em Excel */
#productDetailContent .collaborators-links-table th:nth-child(1),
#productDetailContent .collaborators-links-table td:nth-child(1){width:27%}
#productDetailContent .collaborators-links-table th:nth-child(2),
#productDetailContent .collaborators-links-table td:nth-child(2){width:24%}
#productDetailContent .collaborators-links-table th:nth-child(3),
#productDetailContent .collaborators-links-table td:nth-child(3){width:15%;text-align:center!important}
#productDetailContent .collaborators-links-table th:nth-child(4),
#productDetailContent .collaborators-links-table td:nth-child(4){width:12%;text-align:center!important}
#productDetailContent .collaborators-links-table th:nth-child(5),
#productDetailContent .collaborators-links-table td:nth-child(5){width:22%}

#productDetailContent .vehicles-links-table th:nth-child(1),
#productDetailContent .vehicles-links-table td:nth-child(1){width:27%}
#productDetailContent .vehicles-links-table th:nth-child(2),
#productDetailContent .vehicles-links-table td:nth-child(2){width:18%}
#productDetailContent .vehicles-links-table th:nth-child(3),
#productDetailContent .vehicles-links-table td:nth-child(3){width:12%;text-align:center!important}
#productDetailContent .vehicles-links-table th:nth-child(4),
#productDetailContent .vehicles-links-table td:nth-child(4){width:15%;text-align:center!important}
#productDetailContent .vehicles-links-table th:nth-child(5),
#productDetailContent .vehicles-links-table td:nth-child(5){width:10%;text-align:center!important}
#productDetailContent .vehicles-links-table th:nth-child(6),
#productDetailContent .vehicles-links-table td:nth-child(6){width:18%}

/* Ajuste final conforme modelo Excel enviado: conteúdo centralizado e proporções equilibradas */
#productDetailContent .product-links-table{
  table-layout:fixed!important;
  width:100%!important;
  min-width:0!important;
}
#productDetailContent .product-links-table th,
#productDetailContent .product-links-table td{
  text-align:center!important;
  vertical-align:middle!important;
  padding:11px 10px!important;
  line-height:1.25!important;
}
#productDetailContent .product-links-table td:first-child,
#productDetailContent .product-links-table td:nth-child(2),
#productDetailContent .product-links-table td:last-child{
  text-align:center!important;
}
#productDetailContent .collaborators-links-table th:nth-child(1),
#productDetailContent .collaborators-links-table td:nth-child(1){width:24%!important}
#productDetailContent .collaborators-links-table th:nth-child(2),
#productDetailContent .collaborators-links-table td:nth-child(2){width:22%!important}
#productDetailContent .collaborators-links-table th:nth-child(3),
#productDetailContent .collaborators-links-table td:nth-child(3){width:16%!important}
#productDetailContent .collaborators-links-table th:nth-child(4),
#productDetailContent .collaborators-links-table td:nth-child(4){width:12%!important}
#productDetailContent .collaborators-links-table th:nth-child(5),
#productDetailContent .collaborators-links-table td:nth-child(5){width:26%!important}

#productDetailContent .vehicles-links-table th:nth-child(1),
#productDetailContent .vehicles-links-table td:nth-child(1){width:24%!important}
#productDetailContent .vehicles-links-table th:nth-child(2),
#productDetailContent .vehicles-links-table td:nth-child(2){width:18%!important}
#productDetailContent .vehicles-links-table th:nth-child(3),
#productDetailContent .vehicles-links-table td:nth-child(3){width:12%!important}
#productDetailContent .vehicles-links-table th:nth-child(4),
#productDetailContent .vehicles-links-table td:nth-child(4){width:16%!important}
#productDetailContent .vehicles-links-table th:nth-child(5),
#productDetailContent .vehicles-links-table td:nth-child(5){width:12%!important}
#productDetailContent .vehicles-links-table th:nth-child(6),
#productDetailContent .vehicles-links-table td:nth-child(6){width:18%!important}

#productDetailContent .product-panel .panel-title h2{
  margin:0;
  font-size:17px;
  line-height:1.2;
}

/* Ajuste isolado aprovado para validação: Nome e Responsável à esquerda; títulos centralizados */
#productDetailContent .collaborators-links-table th:nth-child(1),
#productDetailContent .vehicles-links-table th:nth-child(1){
  text-align:center!important;
}
#productDetailContent .collaborators-links-table td:nth-child(1),
#productDetailContent .vehicles-links-table td:nth-child(1){
  text-align:left!important;
  padding-left:14px!important;
}

/* Alinhamento vertical entre Colaboradores e Veículos na ficha de Produtos */
#productDetailContent .collaborators-links-table th:nth-child(1),
#productDetailContent .collaborators-links-table td:nth-child(1){width:27%!important}
#productDetailContent .collaborators-links-table th:nth-child(2),
#productDetailContent .collaborators-links-table td:nth-child(2){width:28%!important}
#productDetailContent .collaborators-links-table th:nth-child(3),
#productDetailContent .collaborators-links-table td:nth-child(3){width:15%!important}
#productDetailContent .collaborators-links-table th:nth-child(4),
#productDetailContent .collaborators-links-table td:nth-child(4){width:12%!important}
#productDetailContent .collaborators-links-table th:nth-child(5),
#productDetailContent .collaborators-links-table td:nth-child(5){width:18%!important}

#productDetailContent .vehicles-links-table th:nth-child(1),
#productDetailContent .vehicles-links-table td:nth-child(1){width:27%!important}
#productDetailContent .vehicles-links-table th:nth-child(2),
#productDetailContent .vehicles-links-table td:nth-child(2){width:16%!important}
#productDetailContent .vehicles-links-table th:nth-child(3),
#productDetailContent .vehicles-links-table td:nth-child(3){width:12%!important}
#productDetailContent .vehicles-links-table th:nth-child(4),
#productDetailContent .vehicles-links-table td:nth-child(4){width:15%!important}
#productDetailContent .vehicles-links-table th:nth-child(5),
#productDetailContent .vehicles-links-table td:nth-child(5){width:12%!important}
#productDetailContent .vehicles-links-table th:nth-child(6),
#productDetailContent .vehicles-links-table td:nth-child(6){width:18%!important}

/* Função fica exatamente sobre o conjunto Descrição + Placa */
#productDetailContent .collaborators-links-table th:nth-child(2),
#productDetailContent .vehicles-links-table th:nth-child(2),
#productDetailContent .vehicles-links-table th:nth-child(3),
#productDetailContent .collaborators-links-table th:nth-child(3),
#productDetailContent .vehicles-links-table th:nth-child(4),
#productDetailContent .collaborators-links-table th:nth-child(4),
#productDetailContent .vehicles-links-table th:nth-child(5),
#productDetailContent .collaborators-links-table th:nth-child(5),
#productDetailContent .vehicles-links-table th:nth-child(6){
  text-align:center!important;
}

/* Conteúdo: Nome/Responsável à esquerda; demais campos alinhados e limpos */
#productDetailContent .collaborators-links-table td:nth-child(1),
#productDetailContent .vehicles-links-table td:nth-child(1){
  text-align:left!important;
  padding-left:14px!important;
}
#productDetailContent .collaborators-links-table td:nth-child(2),
#productDetailContent .vehicles-links-table td:nth-child(2),
#productDetailContent .vehicles-links-table td:nth-child(3),
#productDetailContent .collaborators-links-table td:nth-child(3),
#productDetailContent .vehicles-links-table td:nth-child(4),
#productDetailContent .collaborators-links-table td:nth-child(4),
#productDetailContent .vehicles-links-table td:nth-child(5),
#productDetailContent .collaborators-links-table td:nth-child(5),
#productDetailContent .vehicles-links-table td:nth-child(6){
  text-align:center!important;
}

/* Resumo de recursos na aba Contrato */
.contract-resources-summary{margin-top:18px}
.contract-resources-heading{padding:0 2px 9px;border:0}
.contract-resources-heading h2{margin:0;color:var(--nav);font-size:16px}
.contract-resources-heading p{margin:4px 0 0;color:var(--muted);font-size:10px}
.contract-resource-cards{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px;gap:12px}
.contract-resource-cards .card{min-height:86px;padding:14px}
.contract-resource-cards .card .icon{width:38px;height:38px;font-size:15px}
.contract-resource-cards .card strong{font-size:22px}
.contract-resource-cards .card small{display:block;margin-top:3px;color:var(--muted);font-size:10px}
.contract-role-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:12px;align-items:stretch}
.contract-role-summary,.contract-role-chart-panel{margin:0}
.contract-role-summary .panel-title,.contract-role-chart-panel .panel-title{padding:11px 14px}
.contract-role-summary .panel-title h2,.contract-role-chart-panel .panel-title h2{font-size:13px}
.contract-role-table{width:100%;table-layout:fixed}
.contract-role-table th,.contract-role-table td{padding:7px 12px;vertical-align:middle}
.contract-role-table th:nth-child(1),.contract-role-table td:nth-child(1){width:82%;text-align:left}
.contract-role-table th:nth-child(2),.contract-role-table td:nth-child(2){width:18%;text-align:center}
.contract-role-chart-content{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:center;padding:16px 18px}
.contract-role-pie{width:210px;aspect-ratio:1;border-radius:50%;margin:auto;box-shadow:inset 0 0 0 1px rgba(13,27,46,.06)}
.contract-role-legend{display:grid;gap:7px;align-content:center;min-width:0}
.contract-role-legend>div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:10px;line-height:1.2;color:var(--text)}
.contract-role-legend i{display:block;width:10px;height:10px;border-radius:2px}
.contract-role-legend span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.contract-role-legend strong{color:var(--nav);font-size:10px}
@media(max-width:1100px){.contract-role-layout{grid-template-columns:1fr}.contract-role-chart-content{grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:900px){.contract-resource-cards{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.contract-resource-cards{grid-template-columns:1fr}.contract-role-chart-content{grid-template-columns:1fr}.contract-role-pie{width:190px}.contract-role-legend{grid-template-columns:1fr 1fr}}

/* Ajuste visual do gráfico de participação por função */
.contract-role-chart-content{
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
  min-height:430px;
  padding:20px 24px!important;
}
.contract-role-pie{
  width:min(340px,78%)!important;
  aspect-ratio:1!important;
  margin:0 auto!important;
  flex:0 0 auto;
}
.contract-role-legend{
  width:min(520px,100%);
  margin:0 auto;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:18px;
  row-gap:7px;
}
@media(max-width:1100px){
  .contract-role-chart-content{min-height:400px}
  .contract-role-pie{width:min(320px,76%)!important}
}
@media(max-width:600px){
  .contract-role-chart-content{min-height:0;padding:18px!important}
  .contract-role-pie{width:min(280px,88%)!important}
  .contract-role-legend{grid-template-columns:1fr}
}

/* Correção do canvas do gráfico de funções */
.contract-role-pie{position:relative!important}
.contract-role-pie canvas{display:block!important;width:100%!important;height:100%!important}

/* Refino final do gráfico Participação por função */
.contract-role-chart-content{
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:18px;
  min-height:560px!important;
  padding:18px 22px 22px!important;
}
.contract-role-pie{
  width:min(430px,92%)!important;
  aspect-ratio:1!important;
  margin:0 auto!important;
  flex:0 0 auto;
}
.contract-role-pie canvas{
  display:block!important;
  width:100%!important;
  height:100%!important;
}
.contract-role-legend{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  column-gap:14px!important;
  row-gap:8px!important;
  margin:0!important;
  padding:0 4px 2px!important;
}
.contract-role-legend-item{
  display:grid;
  grid-template-columns:10px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:5px 7px;
  border-radius:6px;
  background:#f8fafb;
}
.contract-role-legend-item i{
  display:block;
  width:10px;
  height:10px;
  border-radius:2px;
}
.contract-role-legend-item span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:10px;
  color:var(--text);
}
.contract-role-legend-item strong{
  font-size:10px;
  color:var(--nav);
}
@media(max-width:1200px){
  .contract-role-pie{width:min(390px,90%)!important}
  .contract-role-legend{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .contract-role-chart-content{min-height:0!important;padding:16px!important}
  .contract-role-pie{width:min(330px,92%)!important}
  .contract-role-legend{grid-template-columns:1fr!important}
}

/* Refino da tabela de distribuição por função: ocupar o painel com leitura confortável */
.contract-role-summary{
  display:flex!important;
  flex-direction:column;
  min-height:100%;
}
.contract-role-summary .table-wrap{
  flex:1;
  display:flex;
  overflow:hidden;
}
.contract-role-table{
  height:100%;
  min-height:0;
  table-layout:fixed;
}
.contract-role-table thead tr{
  height:38px;
}
.contract-role-table th{
  padding:9px 14px!important;
  font-size:10px!important;
  line-height:1.2;
}
.contract-role-table tbody tr{
  height:auto;
}
.contract-role-table td{
  padding:10px 14px!important;
  font-size:12.5px!important;
  line-height:1.25;
  vertical-align:middle!important;
}
.contract-role-table td:first-child{
  font-weight:500;
  color:var(--text);
}
.contract-role-table td:nth-child(2){
  font-weight:800;
  font-size:13px!important;
  color:var(--nav);
}
.contract-role-table tbody tr:last-child td{
  border-bottom:0;
}

/* Cronograma Físico-Financeiro */
.schedule-table{min-width:900px;table-layout:auto}
.schedule-table th,.schedule-table td{vertical-align:middle}
.schedule-table td.schedule-source{white-space:normal;min-width:320px;line-height:1.4;color:var(--muted)}
.schedule-table th:nth-child(2),.schedule-table th:nth-child(3),.schedule-table th:nth-child(4),
.schedule-table td:nth-child(2),.schedule-table td:nth-child(3),.schedule-table td:nth-child(4){text-align:right}
.schedule-table th:first-child,.schedule-table td:first-child{text-align:left}

/* Cronograma Físico-Financeiro — modelo de acompanhamento financeiro */
.financial-schedule-sheet{overflow:hidden}
.financial-schedule-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr);border-bottom:1px solid var(--line);background:#fff}
.financial-schedule-title{display:flex;flex-direction:column;justify-content:center;min-height:118px;padding:14px 18px;text-align:center;border-right:1px solid var(--line)}
.financial-schedule-title strong{font-size:14px;color:var(--nav);letter-spacing:.025em}
.financial-schedule-title span{margin-top:16px;font-size:11px;line-height:1.45;color:var(--text);font-weight:600}
.financial-schedule-meta{display:grid;grid-template-columns:1fr 1fr;align-content:start}
.financial-schedule-meta>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:29px;padding:6px 9px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-size:10px}
.financial-schedule-meta>div:nth-child(n+3){grid-column:1/-1}
.financial-schedule-meta span{font-weight:800;color:#617181;text-transform:uppercase;letter-spacing:.035em}
.financial-schedule-meta strong{color:var(--nav);font-size:11px;text-align:right}
.financial-schedule-groups{display:grid;grid-template-columns:28% 72%;background:#eef2f4;border-bottom:1px solid var(--line)}
.financial-schedule-groups span{padding:6px 10px;text-align:center;font-size:10px;font-weight:800;color:#5f6d78;text-transform:uppercase;letter-spacing:.04em}
.financial-schedule-groups span:first-child{border-right:1px solid var(--line)}
.financial-schedule-table{min-width:1420px;table-layout:auto;font-size:10.5px}
.financial-schedule-table th{background:#f3f5f7;color:#526371;text-align:center!important;font-size:9px;padding:7px 8px;white-space:nowrap;border-right:1px solid #e1e6ea}
.financial-schedule-table td{padding:8px 9px;text-align:right;border-right:1px solid #edf1f4;font-weight:600}
.financial-schedule-table td:nth-child(1){text-align:center;font-weight:800;color:var(--nav)}
.financial-schedule-table td:nth-child(2),.financial-schedule-table td:nth-child(3){text-align:left}
.financial-schedule-table td:nth-child(2){min-width:165px}
.financial-schedule-table td:nth-child(3){min-width:170px;white-space:nowrap}
.financial-schedule-table td:nth-child(11){min-width:190px}
.financial-schedule-table tr:nth-child(15) td{border-top:3px solid var(--accent)}
.financial-schedule-table tr:hover td{background:#fffdf8}
.schedule-notice{margin-top:12px}
.schedule-edit-table{min-width:1750px;table-layout:auto}
.schedule-edit-table th{font-size:9px;text-align:center!important}
.schedule-edit-table td{padding:6px}
.schedule-edit-table td:first-child{text-align:center;font-weight:800}
.schedule-edit-table input{width:100%;min-width:120px;padding:8px 9px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);font-size:11px}
.schedule-edit-table td:nth-child(2) input{min-width:170px}
.schedule-edit-table td:nth-child(3) input{min-width:180px}
.schedule-edit-table input:focus{outline:2px solid rgba(201,161,90,.18);border-color:var(--accent)}
@media(max-width:1000px){
  .financial-schedule-top{grid-template-columns:1fr}
  .financial-schedule-title{border-right:0;border-bottom:1px solid var(--line)}
}

/* Usuários */
.users-kpis{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}
.users-table-panel{overflow:hidden!important;padding:0}
.users-table{width:100%!important;min-width:0!important;table-layout:fixed}
.users-table th,.users-table td{vertical-align:middle;padding:16px 12px}
.users-table th{font-size:10px;letter-spacing:.035em}
.users-table th:nth-child(1),.users-table td:nth-child(1){width:31%;text-align:left;padding-left:18px}
.users-table th:nth-child(2),.users-table td:nth-child(2){width:13%;text-align:center}
.users-table th:nth-child(3),.users-table td:nth-child(3){width:10%;text-align:center}
.users-table th:nth-child(4),.users-table td:nth-child(4){width:16%;text-align:center}
.users-table th:nth-child(5),.users-table td:nth-child(5){width:11%;text-align:center}
.users-table th:nth-child(6),.users-table td:nth-child(6){width:19%;text-align:center;padding-left:16px;padding-right:24px}
.users-table td:first-child strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.users-table .admin-action-col{white-space:normal}
.user-row-actions{display:flex!important;flex-direction:column;align-items:stretch;gap:8px;width:100%;max-width:190px;margin:0 auto}
.user-row-actions .action-link{display:flex;align-items:center;justify-content:center;width:100%;min-height:38px;padding:8px 12px;white-space:nowrap;box-sizing:border-box}
.users-invite-note{margin:10px 0 0}
.users-edit-grid input:disabled{background:#f1f3f5;color:var(--muted)}
@media(max-width:1180px){
  .users-table th,.users-table td{padding:13px 8px;font-size:11px}
  .users-table th:nth-child(1),.users-table td:nth-child(1){width:29%}
  .users-table th:nth-child(2),.users-table td:nth-child(2){width:12%}
  .users-table th:nth-child(3),.users-table td:nth-child(3){width:10%}
  .users-table th:nth-child(4),.users-table td:nth-child(4){width:16%}
  .users-table th:nth-child(5),.users-table td:nth-child(5){width:12%}
  .users-table th:nth-child(6),.users-table td:nth-child(6){width:21%;padding-right:16px}
  .user-row-actions .action-link{font-size:11px;padding:7px 8px}
}
@media(max-width:800px){.users-kpis{grid-template-columns:1fr}}

/* Convite individual / primeiro acesso */
.user-row-actions{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.invite-link-result{display:grid;gap:9px;padding:12px 0}
.invite-link-result>strong{color:var(--nav);font-size:14px}
.invite-link-result>span,.invite-link-result>small{color:var(--muted)}
.invite-link-copy{display:flex;gap:8px;align-items:center}
.invite-link-value{flex:1;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:#f7f8f9;color:var(--text);font-size:11px}
@media(max-width:700px){.invite-link-copy{flex-direction:column;align-items:stretch}}

/* Ajustes de consistência e leitura gerencial */
.days-balance{display:inline-flex!important;width:max-content;margin-top:6px;padding:4px 8px;border-radius:999px;background:#eef3f6;color:var(--nav)!important;font-size:10px!important;font-weight:800}
.days-balance.ok{background:#edf8f2;color:#176d48!important}.days-balance.warning{background:#fff6df;color:#8c5d09!important}.days-balance.expired{background:#fff0f0;color:#8c3535!important}

/* Cronograma em uma única visão, sem rolagem horizontal */
.financial-schedule-sheet>.table-wrap{overflow:hidden!important}
.financial-schedule-table{width:100%!important;min-width:0!important;table-layout:fixed!important;font-size:8.2px!important}
.financial-schedule-table th{font-size:7.5px!important;line-height:1.15!important;white-space:normal!important;padding:6px 3px!important}
.financial-schedule-table td{padding:6px 3px!important;line-height:1.15!important;white-space:normal!important;overflow-wrap:anywhere}
.financial-schedule-table td:nth-child(1),.financial-schedule-table th:nth-child(1){width:3.5%}
.financial-schedule-table td:nth-child(2),.financial-schedule-table th:nth-child(2){width:10%}
.financial-schedule-table td:nth-child(3),.financial-schedule-table th:nth-child(3){width:11%}
.financial-schedule-table td:nth-child(4),.financial-schedule-table th:nth-child(4){width:9%}
.financial-schedule-table td:nth-child(5),.financial-schedule-table th:nth-child(5){width:8.5%}
.financial-schedule-table td:nth-child(6),.financial-schedule-table th:nth-child(6){width:9%}
.financial-schedule-table td:nth-child(7),.financial-schedule-table th:nth-child(7){width:6%}
.financial-schedule-table td:nth-child(8),.financial-schedule-table th:nth-child(8){width:6.5%}
.financial-schedule-table td:nth-child(9),.financial-schedule-table th:nth-child(9){width:10.5%}
.financial-schedule-table td:nth-child(10),.financial-schedule-table th:nth-child(10){width:10.5%}
.financial-schedule-table td:nth-child(11),.financial-schedule-table th:nth-child(11){width:15.5%;min-width:0!important}
.schedule-edit-compact{min-width:0!important;width:100%!important;table-layout:fixed!important}
.schedule-edit-compact th:first-child,.schedule-edit-compact td:first-child{width:8%}
.schedule-edit-compact th:nth-child(2),.schedule-edit-compact td:nth-child(2){width:42%}
.schedule-edit-compact th:nth-child(3),.schedule-edit-compact td:nth-child(3){width:50%}
.schedule-editor-note{padding:0 16px}

/* Relatórios: execução por produto integralmente visível */
.reportsView .table-wrap,.reports-table-wrap{overflow:hidden!important}
.reports-table{width:100%!important;min-width:0!important;table-layout:fixed!important}
.reports-table th,.reports-table td{padding:9px 7px!important;font-size:10px!important;white-space:normal!important;overflow-wrap:anywhere}
.reports-table th:nth-child(1),.reports-table td:nth-child(1){width:7%;text-align:center}
.reports-table th:nth-child(2),.reports-table td:nth-child(2){width:31%;text-align:left}
.reports-table th:nth-child(3),.reports-table td:nth-child(3){width:13%}
.reports-table th:nth-child(4),.reports-table td:nth-child(4){width:12%}
.reports-table th:nth-child(5),.reports-table td:nth-child(5){width:12%}
.reports-table th:nth-child(6),.reports-table td:nth-child(6){width:14%}
.reports-table th:nth-child(7),.reports-table td:nth-child(7){width:11%}
.report-product-resources{display:grid;grid-template-columns:1fr;gap:12px;padding:0 16px 16px}
.report-resource-block{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}
.report-resource-block .panel-title{padding:10px 12px}.report-resource-block h3{margin:0;font-size:12px;color:var(--nav)}
.report-resource-grid{display:grid}
.report-resource-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0;border-top:1px solid var(--line)}
.report-resource-row>div{padding:9px 11px;border-right:1px solid var(--line);min-width:0}
.report-resource-row>div:last-child{border-right:0}
.report-resource-row span{display:block;color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}
.report-resource-row strong{display:block;color:var(--text);font-size:10.5px;overflow-wrap:anywhere}
