:root{--green-950:#033b2d;--green-900:#064b38;--green-800:#09633d;--green-700:#13733f;--green-100:#e8f4e7;--green-50:#f3f8f1;--ink:#101814;--muted:#667169;--line:#d9dfda;--surface:#fff;--danger:#b42318;--danger-soft:#fff1f0;--warning:#b65c00;--warning-soft:#fff7e7}
#app-sidebar{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}#app-sidebar .sidebar-link>span{white-space:nowrap}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:#f6f7f6}button,select,input{font:inherit}.content{width:auto;min-width:0;min-height:100vh;padding:22px 28px 36px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:16px}.eyebrow{margin:0 0 5px;color:var(--green-700);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.page-header h1{font-size:30px;letter-spacing:-.04em;margin:0}.page-subtitle{margin:5px 0 0;color:var(--muted);font-size:13px}.header-actions{display:flex;align-items:center;gap:8px}.button{min-height:42px;padding:0 15px;border:1px solid var(--green-700);border-radius:7px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;white-space:nowrap}.button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.button.primary{background:#086237;color:#fff}.button.primary:hover{background:#064d2c}.button.secondary{background:#fff;color:#155d37}.button.danger{background:#b42318;border-color:#b42318;color:#fff}.button.compact{min-height:36px;padding:0 12px;font-size:12px}.button:disabled{opacity:.6;cursor:not-allowed}.filter-bar{padding:12px;background:#fff;border:1px solid var(--line);border-radius:9px;display:grid;grid-template-columns:190px 160px 160px minmax(220px,1fr) auto;gap:10px;align-items:end}.filter-bar label,.form-grid label,.landfill-form label{min-width:0}.filter-bar label>span,.form-grid label>span,.landfill-form label>span,.block-label>span{display:block;margin:0 0 5px;color:#526158;font-size:11px;font-weight:700}.filter-bar select,.filter-bar input,.form-grid select,.form-grid input,.landfill-form select,.landfill-form input,.block-label input,.catalog-search input,.landfill-filters input{width:100%;height:39px;border:1px solid #c7d0ca;border-radius:6px;background:#fff;padding:0 11px;color:#1c2820;outline:0}.filter-bar input:focus,.filter-bar select:focus,.form-grid input:focus,.form-grid select:focus,.landfill-form input:focus,.landfill-form select:focus,.block-label input:focus,.catalog-search input:focus{border-color:#167341;box-shadow:0 0 0 3px #16734118}.status-banner{margin:12px 0 0;padding:10px 14px;border-radius:7px;border:1px solid #a8cab1;background:#eff8f0;color:#205c34;font-size:13px}.status-banner.error{border-color:#edaaa5;background:#fff1f0;color:#9b1c15}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.kpi{min-height:100px;background:#fff;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;gap:15px;padding:15px 17px;box-shadow:0 1px 2px #14221808}.kpi-icon{width:52px;height:52px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--green-100);color:var(--green-800);font-size:25px}.kpi span{display:block;font-size:12px;margin-bottom:7px}.kpi strong{display:block;color:var(--green-800);font-size:21px;white-space:nowrap}.kpi.warning .kpi-icon{background:var(--warning-soft);color:var(--warning)}.kpi.warning strong{color:var(--warning)}.movements-card{margin-top:15px;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.movements-card>header{padding:14px 17px 11px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.movements-card h2{margin:0;color:#174a2a;font-size:20px}.movements-card>header>span{padding:5px 9px;border-radius:99px;background:#eef5ef;color:#315e3d;font-size:11px;font-weight:700}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{padding:10px 11px;background:#f6f8f6;color:#58645d;text-align:left;font-size:10px;letter-spacing:.035em;text-transform:uppercase;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:10px 11px;border-bottom:1px solid #e7ebe8;vertical-align:middle}tbody tr:hover{background:#fbfdfb}td.number,th.number{text-align:right;white-space:nowrap}th.actions,td.actions{text-align:center}.cell-title{display:block;font-weight:700;color:#17231b}.cell-subtitle{display:block;margin-top:3px;color:#6c766f;font-size:10px;max-width:420px}.residue-code{display:inline-flex;margin-right:6px;padding:2px 5px;border-radius:4px;background:#eaf4eb;color:#176139;font-size:10px;font-weight:800}.status-pill{display:inline-flex;padding:4px 7px;border-radius:99px;background:#edf7ef;color:#1d6a37;font-size:10px;font-weight:800}.status-pill.pending{background:#fff4df;color:#a25300}.action-group{display:flex;justify-content:center;gap:5px}.icon-button{width:31px;height:29px;border:1px solid #b9c5bd;border-radius:6px;background:#fff;color:#17643b;display:grid;place-items:center;cursor:pointer}.icon-button:hover{background:#eef7f0}.icon-button.delete{border-color:#e4aaa6;color:#b42318}.icon-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.empty{padding:34px;text-align:center;color:#78827b}
.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:2147482000;padding:24px;background:#07170f99;display:flex;align-items:flex-start;justify-content:center;overflow:auto}.modal-card{width:min(860px,100%);margin:auto;background:#fff;border-radius:12px;box-shadow:0 24px 80px #0005;overflow:hidden}.modal-wide{width:min(1220px,100%)}.modal-card.small-card{width:min(480px,100%)}.modal-header{padding:18px 21px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px}.modal-header h2{margin:0;color:#173f29;font-size:22px}.modal-header p:not(.eyebrow){margin:5px 0 0;color:#68736b;font-size:12px}.icon-close{width:34px;height:34px;border:0;border-radius:6px;background:#f0f3f1;color:#445148;font-size:25px;line-height:1;cursor:pointer}.form-section{margin:14px 18px 0;border:1px solid var(--line);border-radius:9px;padding:14px}.form-section h3{margin:0 0 11px;color:#164c2c;font-size:15px}.form-grid{display:grid;gap:11px}.form-grid.main-data{grid-template-columns:repeat(4,minmax(0,1fr))}.span-2{grid-column:span 2}.section-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-row h3{margin-bottom:3px}.section-row p{margin:0;color:var(--muted);font-size:11px}.residue-row{margin-top:10px;border:1px solid #d5ddd7;border-radius:8px;background:#fbfcfb;padding:10px;display:grid;grid-template-columns:100px minmax(300px,1.7fr) 120px 120px 135px 88px 34px;gap:8px;align-items:end}.residue-row label>span{display:block;margin:0 0 5px;color:#58645d;font-size:10px;font-weight:700}.residue-row input,.residue-row select,.catalog-picker{width:100%;height:38px;border:1px solid #c5cec8;border-radius:6px;background:#fff;padding:0 9px;outline:0}.catalog-picker{height:auto;min-height:38px;text-align:left;cursor:pointer;padding:7px 9px}.catalog-picker strong{display:block;font-size:11px;color:#1d4f30}.catalog-picker small{display:block;margin-top:2px;color:#657169;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-picker.empty-picker{color:#7d867f}.rate-box{height:38px;border:1px solid #d8ded9;border-radius:6px;background:#f1f4f2;padding:0 7px;display:flex;align-items:center;justify-content:flex-end;color:#4f5b53;font-size:11px;white-space:nowrap}.remove-residue{width:34px;height:38px;border:1px solid #e4aaa6;border-radius:6px;background:#fff5f4;color:#b42318;font-size:17px;cursor:pointer}.form-totals{margin:13px 18px 0;padding:11px 14px;border-radius:7px;background:#eef6ef;display:flex;justify-content:flex-end;gap:28px;color:#4e5d53;font-size:12px}.form-totals strong{margin-left:6px;color:#135a32;font-size:14px}.modal-footer{padding:14px 18px;display:flex;justify-content:flex-end;gap:9px}.catalog-card{width:min(900px,100%)}.catalog-search{padding:13px 18px 7px}.catalog-list{padding:6px 18px 18px;max-height:55vh;overflow:auto}.catalog-option{width:100%;margin-top:7px;padding:10px 12px;border:1px solid #d6ddd8;border-radius:7px;background:#fff;text-align:left;cursor:pointer}.catalog-option:hover{border-color:#29804c;background:#f4faf5}.catalog-option strong{display:inline-block;margin-right:7px;color:#155f37}.catalog-option span{font-size:12px;color:#27342c}.catalog-option small{display:block;margin-top:5px;color:#6b756e}.summary-table{padding:15px 18px}.summary-row{display:grid;grid-template-columns:minmax(180px,1fr) 140px 140px;gap:10px;padding:11px 8px;border-bottom:1px solid #e5e9e6;align-items:center}.summary-row.header{background:#f4f7f5;color:#59645d;font-size:10px;font-weight:800;text-transform:uppercase}.summary-row strong:nth-child(n+2),.summary-row span:nth-child(n+2){text-align:right}.summary-row.total{background:#eef6ef;color:#145d34;font-weight:800}.landfill-form{padding:14px 18px;display:grid;grid-template-columns:minmax(220px,1.4fr) 180px 180px 38px auto auto auto;gap:9px;align-items:end;border-bottom:1px solid var(--line)}.square-button{width:38px;height:39px;border:1px solid #167341;border-radius:6px;background:#fff;color:#126138;font-size:20px;cursor:pointer}.landfill-form .check{height:39px;display:flex;align-items:center;gap:6px;white-space:nowrap}.landfill-form .check input{width:16px;height:16px}.landfill-filters{padding:11px 18px}.compact-table{max-height:47vh}.compact-table .inactive-row{opacity:.63}.block-label{display:block;margin:15px 18px}.confirm-card{text-align:center;padding-top:22px}.confirm-card h2{margin:8px 18px}.confirm-card p{margin:0 22px;color:#647068;font-size:13px}.confirm-icon{width:48px;height:48px;margin:0 auto;border-radius:50%;background:#fee4e2;color:#b42318;display:grid;place-items:center;font-size:25px;font-weight:800}.modal-open{overflow:hidden}
@media(max-width:1450px){.page-header{align-items:flex-start}.header-actions{flex-wrap:wrap;justify-content:flex-end}.filter-bar{grid-template-columns:180px 150px 150px minmax(180px,1fr) auto}.residue-row{grid-template-columns:90px minmax(260px,1.5fr) 110px 110px 125px 80px 34px}.landfill-form{grid-template-columns:1.4fr 1fr 1fr 38px}.landfill-form .check,.landfill-form .button{grid-row:2}}
@media(max-width:1050px){.page-header{display:block}.header-actions{margin-top:14px;justify-content:flex-start}.filter-bar{grid-template-columns:1fr 1fr 1fr}.search-field{grid-column:span 2}.kpi-grid{grid-template-columns:1fr 1fr}.form-grid.main-data{grid-template-columns:1fr 1fr}.residue-row{grid-template-columns:90px minmax(230px,1fr) 1fr 1fr}.residue-row .value-field,.residue-row .rate-field,.residue-row .remove-field{grid-row:2}.residue-row .value-field{grid-column:2}.residue-row .rate-field{grid-column:3}.residue-row .remove-field{grid-column:4}.landfill-form{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.content{padding:16px 11px 28px}.header-actions{display:grid;grid-template-columns:1fr}.filter-bar{grid-template-columns:1fr 1fr}.filter-bar label:first-child,.search-field,.filter-bar .button{grid-column:span 2}.kpi-grid{grid-template-columns:1fr}.modal{padding:8px}.form-grid.main-data{grid-template-columns:1fr}.span-2{grid-column:auto}.section-row{align-items:flex-start;flex-direction:column}.residue-row{grid-template-columns:1fr 1fr}.residue-row .catalog-field{grid-column:span 2}.residue-row .value-field,.residue-row .rate-field,.residue-row .remove-field{grid-row:auto;grid-column:auto}.form-totals{align-items:flex-end;flex-direction:column;gap:6px}.summary-row{grid-template-columns:1fr 95px 110px}.landfill-form{grid-template-columns:1fr}.landfill-form .check,.landfill-form .button{grid-row:auto}}

/* Destinações usa a mesma anatomia visual das linhas de Movimentações. */
.movements-card .table-wrap{padding:0 10px 10px}.movements-card .table-wrap>table{border-collapse:collapse}.movements-card .table-wrap>table>thead{display:none}.destination-table-row,.destination-table-row:hover{background:transparent}.destination-table-row>td{padding:0;border:0}.destination-row{display:grid;grid-template-columns:150px minmax(0,1.55fr) minmax(390px,1fr) 106px;align-items:stretch;min-height:84px;margin-top:7px;border:1px solid #e0d9e8;border-left:4px solid #7652a8;border-radius:8px;background:#fff;overflow:hidden;transition:box-shadow .15s}.destination-row:hover{box-shadow:0 3px 12px #3f1d6914}.destination-row.pending{background:#fdfbff}.destination-date,.destination-group,.destination-action-cell{min-width:0;padding:8px 10px}.destination-date{display:flex;flex-direction:column;justify-content:flex-start;border-right:1px solid #ece8f1}.destination-date strong{font-size:13px}.destination-date span{margin-top:5px;color:#7652a8;font-size:10px;font-weight:700}.destination-group{border-right:1px solid #ece8f1}.destination-group h3{margin:0 0 7px;color:#654092;font-size:11px}.destination-values{display:grid;align-items:start;gap:18px}.destination-values.main{grid-template-columns:minmax(130px,.9fr) minmax(110px,.7fr) minmax(230px,1.8fr)}.destination-values.totals{grid-template-columns:repeat(4,minmax(76px,1fr));gap:12px}.destination-values>div{min-width:0}.destination-values span:not(.status-pill){display:block;color:#617068;font-size:10px}.destination-values strong{display:block;margin-top:3px;color:#111a15;font-size:12px;line-height:1.25;white-space:nowrap}.destination-values small{display:block;margin-top:2px;color:#6c766f;font-size:9px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.destination-residue strong{overflow:hidden;text-overflow:ellipsis}.destination-row .residue-code{display:inline-flex;margin-right:5px;padding:2px 5px;border-radius:4px;background:#f0eafb;color:#654092;font-size:9px;font-style:normal;font-weight:800;vertical-align:1px}.destination-action-cell{display:grid;place-items:center}.destination-actions{display:flex;justify-content:center;gap:7px}.destination-action{width:40px;height:36px;padding:0;border:2px solid #16905a;border-radius:7px;background:#fff;color:#087344;display:grid;place-items:center;cursor:pointer}.destination-action:hover{background:#eef8f1}.destination-action.delete{border-color:#dc7870;background:#fff;color:#b42318}.destination-action.delete:hover{background:#fff1f0}.destination-action svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.destination-row .status-pill{display:inline-flex;margin:0;padding:4px 7px;line-height:1}.destination-row .status-pill.pending{background:#fff4df;color:#a25300}
@media(max-width:1250px){.destination-row{grid-template-columns:132px minmax(560px,1.5fr) minmax(390px,1fr) 98px}}
@media(max-width:900px){.movements-card .table-wrap{padding-left:6px;padding-right:6px}.destination-row{min-width:1120px}}

/* Escala tipográfica alinhada à referência de Movimentações do mês. */
.destination-group h3{margin-bottom:4px;font-size:12px;font-weight:800;line-height:18px}
.destination-values.main{grid-template-columns:minmax(142px,.95fr) minmax(118px,.72fr) minmax(230px,1.8fr)}
.destination-values.main>div:nth-child(2){padding-left:12px}
.destination-values span:not(.status-pill){color:#586d60;font-size:11px;font-weight:600;line-height:16.5px}
.destination-values strong{color:#102b1c;font-size:13px;font-weight:800;line-height:19.5px}

/* Cabeçalho e indicadores seguem a matriz de Lançamentos Operacionais. */
.content{padding:24px 28px 42px}
.page-header.filters-header{align-items:flex-end;justify-content:space-between;margin-bottom:18px}
.filter-context{display:grid;justify-items:start}
.filters-header .eyebrow{margin-bottom:8px}
.header-filters{display:flex;align-items:flex-end;gap:10px}
.header-filters label{display:grid;gap:6px;color:#53665a;font-size:11px;font-weight:700}
.header-filters select,.header-filters input{width:180px;min-width:180px;height:42px;border:1px solid #cbd7ce;border-radius:8px;background:#fff;padding:0 12px;color:#17271c;font-weight:600}
.header-filters select{width:190px;min-width:190px}
.header-filters .button{width:180px;min-width:180px;height:42px;padding:0 12px;border:1px solid #cbd7ce;border-radius:8px;font-size:13px;font-weight:600}
.kpi-grid{gap:12px;margin-top:0;margin-bottom:16px}
.kpi{min-height:82px;padding:13px 16px;gap:14px;border-radius:10px}
.kpi-icon{width:48px;height:48px;font-size:22px}
.kpi span{font-size:12px;margin-bottom:4px}
.kpi strong{font-size:21px}
.destination-search{margin:0 0 15px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fff}
.destination-search label{display:grid;grid-template-columns:auto minmax(260px,1fr);align-items:center;gap:12px;color:#526158;font-size:11px;font-weight:700}
.destination-search input{width:100%;height:39px;border:1px solid #c7d0ca;border-radius:6px;background:#fff;padding:0 11px;color:#1c2820;outline:0}
.destination-search input:focus{border-color:#167341;box-shadow:0 0 0 3px #16734118}
@media(max-width:1150px){.page-header.filters-header{align-items:flex-start;flex-direction:column}.header-actions{justify-content:flex-start}.header-filters{flex-wrap:wrap}}
@media(max-width:680px){.content{padding:14px}.destination-search label{grid-template-columns:1fr}.header-filters{width:100%}.header-filters label,.header-filters select,.header-filters input{width:100%}}

/* Ações da página ocupam uma faixa própria para permanecerem inteiras e estáveis. */
.page-header.destination-header{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:10px}
.destination-header .header-actions{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:wrap}
.destination-header .header-actions .button{height:42px;min-height:42px;padding:0 14px;border-radius:8px;font-size:13px;font-weight:600;line-height:1;white-space:nowrap}
.destination-header #open-summary{width:190px}
.destination-header #open-landfills{width:190px}
.destination-header #new-destination{width:190px}
.manual-package-rows{margin-top:8px}.manual-package-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) 110px 38px;gap:9px;align-items:end;padding:9px 0;border-bottom:1px solid #e5ebe7}.manual-package-row label>span{display:block;margin-bottom:5px;color:#526158;font-size:11px;font-weight:700}.manual-package-row select,.manual-package-row input{width:100%;height:39px;border:1px solid #c7d0ca;border-radius:6px;background:#fff;padding:0 10px;color:#173425;font:600 12px Inter,sans-serif}.manual-package-row button{height:39px;border:1px solid #e2a7a3;border-radius:7px;background:#fff7f6;color:#b42318;font-size:18px}.manual-package-note{margin:9px 0 0;color:#6a776f;font-size:10px}.manual-package-note.warning{color:#a15b0a}.manual-package-empty{margin:12px 0 2px;color:#718079;font-size:12px;text-align:center}@media(max-width:760px){.manual-package-row{grid-template-columns:1fr 1fr}.manual-package-row label:nth-child(3){grid-column:1}.manual-package-row button{grid-column:2;justify-self:end;width:39px}}
.source-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.source-mode>label{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border:1px solid #cdd7d0;border-radius:8px;background:#fff;cursor:pointer}.source-mode>label:has(input:checked){border-color:#16814a;background:#f1faf4;box-shadow:0 0 0 2px #16814a18}.source-mode input{margin-top:3px;accent-color:#08713f}.source-mode strong,.source-mode small{display:block}.source-mode strong{font-size:12px;color:#173f29}.source-mode small,.source-fields small{margin-top:3px;color:#69756d;font-size:10px}.source-fields{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);gap:10px;margin-top:11px}.source-fields label>span,.recipient-row label>span{display:block;margin:0 0 5px;color:#526158;font-size:11px;font-weight:700}.source-fields select,.recipient-row select,.recipient-row input{width:100%;height:39px;border:1px solid #c7d0ca;border-radius:6px;background:#fff;padding:0 11px}.recipient-row{margin-top:10px;display:grid;grid-template-columns:minmax(280px,1fr) 130px 34px;gap:8px;align-items:end}.recipient-origin{display:block;margin-top:3px;color:#6b766f;font-size:10px}.source-badge{display:inline-flex;margin-top:5px;padding:3px 7px;border-radius:99px;background:#eaf4eb;color:#176139;font-size:10px;font-weight:800}
@media(max-width:760px){.source-mode,.source-fields{grid-template-columns:1fr}.recipient-row{grid-template-columns:1fr 100px 34px}}
.load-package-summary{margin-top:11px;padding:10px 12px;border:1px solid #cfe3d5;border-radius:8px;background:#f5fbf7;display:flex;align-items:center;justify-content:space-between;gap:14px}.load-package-summary>div:first-child strong,.load-package-summary>div:first-child small{display:block}.load-package-summary>div:first-child strong{font-size:12px;color:#145c36}.load-package-summary>div:first-child small{margin-top:2px;color:#6b766f;font-size:10px}.load-package-chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.load-package-chips>span{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;background:#e4f3e8;color:#174a30;font-size:11px}.load-package-chips .empty-package{background:#eef1ef;color:#66716a}.load-package-chips small{color:#68756d}@media(max-width:760px){.load-package-summary{align-items:flex-start;flex-direction:column}.load-package-chips{justify-content:flex-start}}
