.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 4px 18px rgba(16,61,49,.05)}
.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 19px;border-bottom:1px solid var(--line)}
.card-header h2,.card-header h3{font-size:15px}.card-header p{margin-top:4px;color:var(--muted);font-size:11px}.card-body{padding:19px}
.btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border:1px solid transparent;border-radius:11px;font-size:12px;font-weight:800;transition:.18s}
.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--primary);color:#fff}.btn-accent{background:var(--accent);color:#17372e}
.btn-secondary{border-color:var(--line);background:#fff;color:var(--text)}.btn-danger{background:#fff0f1;border-color:#f1c9cd;color:var(--danger)}.btn-sm{min-height:32px;padding:0 10px;font-size:11px}
.kpi{padding:19px;position:relative;overflow:hidden}.kpi-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#e7f4ee;color:var(--primary);font-size:19px}
.kpi-label{margin-top:16px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.kpi-value{margin-top:6px;font-size:28px;font-weight:850;letter-spacing:-.04em}.kpi-foot{margin-top:7px;color:var(--muted);font-size:11px}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;border-bottom:1px solid var(--line)}.toolbar-left,.toolbar-right{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.input,.select,.textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);outline:none}.input,.select{height:40px;padding:0 11px}.textarea{min-height:92px;padding:10px 11px;resize:vertical}
.input:focus,.select:focus,.textarea:focus{border-color:#75aa9b;box-shadow:0 0 0 3px rgba(15,93,76,.08)}
.search-box{position:relative;min-width:250px}.search-box .input{padding-left:36px}.search-box span{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted)}
.field{display:grid;gap:6px}.field label{font-size:11px;font-weight:800;color:#44534e}.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:13px}
.col-12{grid-column:span 12}.col-8{grid-column:span 8}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.col-3{grid-column:span 3}
.table-wrap{overflow:auto}.data-table{min-width:840px}.data-table th{padding:11px 13px;background:var(--surface2);border-bottom:1px solid var(--line);color:#687771;font-size:10px;text-align:left;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.data-table td{padding:13px;border-bottom:1px solid var(--line);font-size:12px;vertical-align:middle}.data-table tbody tr:hover{background:#fbfcfc}.data-table tr:last-child td{border-bottom:0}
.table-main{display:flex;align-items:center;gap:10px;min-width:185px}.table-avatar{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#edf3f1;color:var(--primary);font-size:11px;font-weight:850}
.table-main strong{display:block;font-size:12px}.table-main span{display:block;margin-top:3px;color:var(--muted);font-size:10px}
.status{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 8px;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.success{background:#eaf7f1;color:#267b5e}.warning{background:#fff5df;color:#a36b0b}.danger{background:#fff0f1;color:#b53b45}.info{background:#eaf4fc;color:#2b72aa}.neutral{background:#eef2f0;color:#65736e}
.badge{display:inline-flex;min-height:24px;align-items:center;padding:0 8px;border-radius:8px;background:#edf3f1;color:#52625c;font-size:10px;font-weight:800}
.progress{height:8px;overflow:hidden;border-radius:999px;background:#e6ece9}.progress span{display:block;height:100%;border-radius:inherit;background:var(--primary)}
.list{display:grid;gap:0}.list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border-bottom:0}
.list-main{display:flex;align-items:center;gap:11px}.list-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#edf3f1;color:var(--primary);font-size:11px;font-weight:850}
.list-main strong{display:block;font-size:12px}.list-main span{display:block;margin-top:3px;color:var(--muted);font-size:10px}
.timeline{display:grid}.timeline-item{position:relative;display:grid;grid-template-columns:27px 1fr;gap:11px;padding-bottom:18px}.timeline-item:before{content:"";position:absolute;left:12px;top:24px;bottom:0;width:2px;background:var(--line)}.timeline-item:last-child:before{display:none}
.timeline-dot{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:#fff;font-size:10px;font-weight:850}.timeline-content strong{display:block;font-size:12px}.timeline-content span{display:block;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.5}
.alert{padding:13px;border:1px solid;border-radius:12px;font-size:12px;line-height:1.5}.alert-info{background:#eef7fd;border-color:#c5e1f2;color:#245d87}.alert-warning{background:#fff9e9;border-color:#f0dca4;color:#7b5912}.alert-success{background:#eef8f3;border-color:#c8e9da;color:#21694e}
.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--line)}.metric-strip>div{padding:17px;background:#fff}.metric-strip span{display:block;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.metric-strip strong{display:block;margin-top:8px;font-size:21px}
.drawer{position:fixed;top:0;right:0;z-index:60;width:min(540px,100%);height:100vh;padding:21px;background:#fff;box-shadow:-18px 0 50px rgba(8,35,28,.18);transform:translateX(105%);transition:.25s;overflow:auto}.drawer.open{transform:none}
.drawer-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:20px}.drawer-head h2{font-size:21px}.drawer-head p{margin-top:4px;color:var(--muted);font-size:11px}.drawer-actions{position:sticky;bottom:-21px;display:flex;justify-content:flex-end;gap:9px;margin:24px -21px -21px;padding:15px 21px;border-top:1px solid var(--line);background:#fff}
.drawer-backdrop{position:fixed;inset:0;z-index:55;background:rgba(6,26,20,.45);opacity:0;pointer-events:none;transition:.2s}.drawer-backdrop.show{opacity:1;pointer-events:auto}
.toast{position:fixed;right:20px;bottom:20px;z-index:90;max-width:360px;padding:13px 15px;border-radius:12px;background:#102f27;color:#fff;box-shadow:var(--shadow);transform:translateY(30px);opacity:0;transition:.22s;pointer-events:none;font-size:12px}.toast.show{transform:none;opacity:1}
.stat-pair{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.stat-pair:last-child{border-bottom:0}.stat-pair span{color:var(--muted);font-size:11px}.stat-pair strong{font-size:12px}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}.col-12,.col-8,.col-6,.col-4,.col-3{grid-column:auto}.toolbar{align-items:stretch;flex-direction:column}.search-box{min-width:0;width:100%}.metric-strip{grid-template-columns:1fr 1fr}}

.stepper{display:grid;grid-template-columns:repeat(8,minmax(150px,1fr));gap:10px;overflow-x:auto;padding-bottom:7px}
.step{position:relative;min-width:150px;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow-sm)}
.step.complete{border-color:#b9ddce;background:#f3fbf7}.step.active{border-color:#80b8a8;box-shadow:0 0 0 3px rgba(15,93,76,.08)}
.step-number{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:var(--surface3);font-size:11px;font-weight:900;color:var(--primary)}
.step.complete .step-number{background:var(--primary);color:#fff}.step.active .step-number{background:var(--accent);color:#17372e}
.step strong{display:block;margin-top:10px;font-size:12px}.step span{display:block;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.4}
.step a{position:absolute;inset:0;border-radius:inherit}
.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.detail-item{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}
.detail-item span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.detail-item strong{display:block;margin-top:6px;font-size:13px}
.money{font-variant-numeric:tabular-nums;font-weight:800}.money.positive{color:var(--success)}.money.negative{color:var(--danger)}
.cost-box{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface2)}
.cost-box span{display:block;color:var(--muted);font-size:11px}.cost-box strong{display:block;margin-top:7px;font-size:24px;letter-spacing:-.04em}
.cost-total{background:#0d3c31;color:#fff;border-color:#0d3c31}.cost-total span{color:#aac5bc}
.inline-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.inline-form .field{min-width:140px;flex:1}
.line-actions{display:flex;gap:6px;justify-content:flex-end}
.check-card{display:flex;align-items:flex-start;gap:11px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}
.check-card input{margin-top:2px;width:17px;height:17px;accent-color:var(--primary)}.check-card strong{display:block;font-size:12px}.check-card span{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.4}
.flow-banner{padding:16px 18px;border:1px solid #c9e5da;border-radius:14px;background:#eef9f4;color:#235d49;font-size:12px;line-height:1.6}
.subnav{display:flex;gap:7px;overflow-x:auto;padding-bottom:5px}.subnav a{white-space:nowrap;display:inline-flex;align-items:center;min-height:35px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:11px;font-weight:800}.subnav a.active{background:var(--primary);border-color:var(--primary);color:#fff}
.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(380px,44%) 1fr;background:#eef3f1}
.login-panel{display:flex;align-items:center;justify-content:center;padding:38px;background:#fff}
.login-card{width:min(440px,100%)}.login-brand{width:220px;margin-bottom:42px}.login-card h1{font-size:37px;letter-spacing:-.05em}.login-card>p{margin-top:10px;color:var(--muted);font-size:13px;line-height:1.6}.login-form{display:grid;gap:15px;margin-top:30px}.login-foot{margin-top:22px;padding:13px;border-radius:12px;background:var(--surface3);font-size:11px;color:var(--muted);line-height:1.5}
.login-visual{position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:54px;background:linear-gradient(145deg,#082b24,#0f614e);color:#fff}.login-visual:before{content:"";position:absolute;width:550px;height:550px;border:80px solid rgba(201,243,106,.11);border-radius:50%;right:-210px;top:-170px}.login-visual:after{content:"";position:absolute;width:260px;height:260px;border:50px solid rgba(255,255,255,.06);border-radius:50%;left:15%;top:22%}.login-copy{position:relative;z-index:2;max-width:600px}.login-copy small{color:var(--accent);font-weight:900;letter-spacing:.13em;text-transform:uppercase}.login-copy h2{margin-top:12px;font-size:clamp(34px,5vw,66px);letter-spacing:-.06em;line-height:1}.login-copy p{margin-top:20px;max-width:520px;color:#bdd1ca;line-height:1.65}
.margin-card{padding:18px;border-radius:15px;background:linear-gradient(135deg,#0d3d31,#11614e);color:#fff}.margin-card span{color:#b5ccc4;font-size:11px}.margin-card strong{display:block;margin-top:7px;font-size:30px}.margin-card p{margin-top:8px;color:#c9dad4;font-size:11px;line-height:1.5}
.no-print{}
@media print{.sidebar,.topbar,.page-actions,.toolbar,.no-print{display:none!important}.content{margin:0!important;padding:20px!important}.card{box-shadow:none}}
@media(max-width:900px){.login-page{grid-template-columns:1fr}.login-visual{display:none}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.detail-grid{grid-template-columns:1fr}.login-panel{padding:24px}.login-card h1{font-size:31px}}


/* V3 — alinhamento estrutural dos cartões */
.grid{align-items:stretch}
.grid>.card,.grid>article.card{height:100%;min-width:0}
.card{display:flex;flex-direction:column;min-width:0}
.card-header{min-height:66px;flex:0 0 auto}
.card-body{flex:1 1 auto}
.data-table{width:100%}
.kpi-card{display:flex;flex-direction:column;min-height:146px;padding:18px}
.kpi-card .kpi-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;margin-bottom:14px}
.kpi-card .kpi-label{display:flex;align-items:flex-end;min-height:24px;margin-top:0;line-height:1.35}
.kpi-card .kpi-value{display:flex;align-items:center;min-height:38px;margin-top:5px;line-height:1.05}
.kpi-card .kpi-foot{display:flex;align-items:flex-end;min-height:18px;margin-top:auto;padding-top:6px;line-height:1.35}
.detail-grid{grid-auto-rows:1fr}.detail-item{height:100%}

/* V3 — recebimento completo por nota fiscal */
.invoice-section{margin-top:18px}
.invoice-section:first-child{margin-top:0}
.invoice-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.invoice-section-title h3{font-size:14px}.invoice-section-title p{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.5}
.invoice-editor{padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--surface2)}
.invoice-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:14px;flex-wrap:wrap}
.invoice-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.invoice-summary .cost-box{height:100%}
.invoice-summary .cost-box strong{font-size:20px}
.line-material{min-width:230px}.line-material strong{display:block;font-size:12px}.line-material span{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.4}
.line-lot{min-width:170px}.line-lot strong{display:block;font-size:11px}.line-lot span{display:block;margin-top:3px;color:var(--muted);font-size:9px}
.line-empty{padding:28px;text-align:center;color:var(--muted);font-size:12px}
.allocation-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.allocation-result{padding:13px;border:1px solid #d9e7e1;border-radius:12px;background:#f5faf8}
.allocation-result span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.allocation-result strong{display:block;margin-top:6px;font-size:14px}
.invoice-divergence{margin-top:12px;display:none}.invoice-divergence.show{display:block}
.receipt-line-check{width:18px;height:18px;accent-color:var(--primary)}
.label-sheet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.label-sheet{padding:20px;border:2px solid #17372e;border-radius:12px;background:#fff;break-inside:avoid;page-break-inside:avoid}
.label-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.label-sheet-head img{width:160px}.label-sheet h2{margin-top:18px;font-size:19px}.label-sheet p{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.45}
.label-sheet .detail-grid{margin-top:18px;grid-template-columns:repeat(2,minmax(0,1fr))}
.receipt-status-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
@media(max-width:1100px){.invoice-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.allocation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.invoice-summary,.allocation-grid,.label-sheet-grid{grid-template-columns:1fr}.invoice-section-title{flex-direction:column}.label-sheet .detail-grid{grid-template-columns:1fr}}
@media print{.sidebar,.topbar,.page-heading,.page-actions,.no-print{display:none!important}.content{margin:0!important;padding:0!important}.label-sheet-grid{grid-template-columns:repeat(2,1fr);gap:10px}.label-sheet{box-shadow:none}}
.status-success{background:#eaf7f1;color:#267b5e}.status-warning{background:#fff5df;color:#a36b0b}.status-danger{background:#fff0f1;color:#b53b45}.status-info{background:#eaf4fc;color:#2b72aa}.status-neutral{background:#eef2f0;color:#65736e}


/* V4 — formulários responsivos e campos de data sem sobreposição */
.form-grid>.field,.invoice-header-grid>.field,.allocation-grid>.field{min-width:0}
.input,.select,.textarea,input[type="date"]{min-width:0;max-width:100%;box-sizing:border-box}
input[type="date"].input{padding-right:8px}
.invoice-header-grid{display:grid;grid-template-columns:minmax(270px,2.5fr) minmax(105px,.85fr) minmax(72px,.55fr) minmax(150px,1.2fr) minmax(150px,1.2fr);gap:13px;align-items:end}
.invoice-key{grid-column:1/5}.invoice-total{grid-column:5/6}
@media(max-width:1500px){
 .invoice-header-grid{grid-template-columns:repeat(12,minmax(0,1fr))}
 .invoice-supplier{grid-column:span 6}.invoice-number{grid-column:span 3}.invoice-series{grid-column:span 3}
 .invoice-issue{grid-column:span 3}.invoice-entry{grid-column:span 3}.invoice-key{grid-column:span 6}.invoice-total{grid-column:span 6}
}
@media(max-width:760px){
 .invoice-supplier,.invoice-number,.invoice-series,.invoice-issue,.invoice-entry,.invoice-key,.invoice-total{grid-column:1/-1}
}

/* V4 — laboratório, estabilidade e controles operacionais */
.lab-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.lab-step{padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--surface2);min-width:0}
.lab-step small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}
.lab-step strong{display:block;margin-top:7px;font-size:13px}.lab-step span{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.45}
.result-grid{display:grid;grid-template-columns:minmax(210px,1.7fr) minmax(150px,1fr) minmax(180px,1.2fr) minmax(150px,1fr) minmax(110px,.7fr);gap:10px;align-items:end}
.result-row{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}
.result-row+.result-row{margin-top:10px}
.method-ref{padding:12px;border-left:4px solid var(--primary);border-radius:10px;background:#f1f8f5;color:#315a4d;font-size:11px;line-height:1.55}
.report-sheet{max-width:980px;margin:0 auto;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;overflow:hidden}
.report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:28px;border-bottom:2px solid #17372e}
.report-head img{width:190px}.report-head h1{font-size:23px;letter-spacing:-.03em}.report-head p{margin-top:5px;color:var(--muted);font-size:11px}
.report-body{padding:28px}.report-section{margin-top:22px}.report-section:first-child{margin-top:0}.report-section h2{margin-bottom:10px;padding-bottom:7px;border-bottom:1px solid var(--line);font-size:13px;text-transform:uppercase;letter-spacing:.07em}
.report-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.report-info .detail-item{min-height:68px}
.report-conclusion{padding:17px;border:1px solid #bee2d3;border-radius:12px;background:#edf9f4;color:#225d48;font-size:13px;line-height:1.55}
.signature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:42px}.signature-box{padding-top:34px;border-top:1px solid #52645e;text-align:center}.signature-box strong{display:block;font-size:11px}.signature-box span{display:block;margin-top:4px;color:var(--muted);font-size:9px}
.schedule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.schedule-card{padding:15px;border:1px solid var(--line);border-radius:13px;background:#fff}.schedule-card strong{display:block;font-size:13px}.schedule-card span{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.45}
.env-reading{display:grid;grid-template-columns:140px 1fr 120px 120px 130px;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.volume-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.volume-card h3{font-size:13px}.volume-card p{margin-top:5px;color:var(--muted);font-size:10px;line-height:1.45}
.volume-meter{height:9px;margin-top:13px;border-radius:999px;background:#e8eeeb;overflow:hidden}.volume-meter span{display:block;height:100%;background:var(--primary);border-radius:inherit}
@media(max-width:1100px){.lab-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-info{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.env-reading{grid-template-columns:110px 1fr 100px 100px}}
@media(max-width:700px){.lab-strip,.result-grid,.report-info,.signature-grid,.schedule-grid{grid-template-columns:1fr}.env-reading{grid-template-columns:1fr;gap:5px}.report-head{flex-direction:column}.report-body,.report-head{padding:18px}}
@media print{
 body{background:#fff}.report-sheet{max-width:none;border:0;box-shadow:none;border-radius:0}.report-head,.report-body{padding:18px 24px}.report-actions{display:none!important}.signature-grid{break-inside:avoid}.report-section{break-inside:avoid}
}


/* V5 — serviços transversais, XML, assinatura e visão 360 */
.signature-backdrop{position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:18px;background:rgba(4,22,17,.58);opacity:0;pointer-events:none;transition:.2s}.signature-backdrop.show{opacity:1;pointer-events:auto}.signature-modal{width:min(650px,100%);max-height:92vh;overflow:auto;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(4,22,17,.28)}
.drop-zone{display:grid;place-items:center;min-height:210px;padding:24px;border:2px dashed #a8c3ba;border-radius:16px;background:#f7fbf9;text-align:center}.drop-zone.drag{border-color:var(--primary);background:#eef9f4}.drop-zone strong{font-size:15px}.drop-zone p{max-width:500px;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.55}.drop-icon{width:64px;height:64px;display:grid;place-items:center;margin-bottom:13px;border-radius:20px;background:#e6f5ee;color:var(--primary);font-size:28px}
.xml-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.xml-item-map{min-width:250px}.xml-product strong{display:block;font-size:12px}.xml-product span{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.4}
.service-tabs{display:flex;gap:6px;padding:5px;border-radius:12px;background:var(--surface3);overflow-x:auto}.service-tab{min-height:35px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:11px;font-weight:850;white-space:nowrap}.service-tab.active{background:#fff;color:var(--text);box-shadow:var(--shadow-sm)}.service-panel{display:none}.service-panel.active{display:block}
.health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.health-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.health-card .health-dot{width:10px;height:10px;border-radius:50%;background:var(--success);box-shadow:0 0 0 5px #e8f7f0}.health-card strong{display:block;margin-top:16px;font-size:14px}.health-card span{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.45}
.sequence-input{width:94px}.workflow-flow{display:flex;align-items:stretch;gap:10px;overflow-x:auto}.workflow-step{position:relative;min-width:150px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff}.workflow-step:not(:last-child):after{content:'→';position:absolute;right:-10px;top:50%;z-index:2;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--accent);font-weight:900;transform:translateY(-50%)}.workflow-step small{color:var(--muted);font-size:9px;text-transform:uppercase;font-weight:850}.workflow-step strong{display:block;margin-top:7px;font-size:12px}
.qr-demo{width:100px;height:100px;border:7px solid #fff;border-radius:9px;background:linear-gradient(90deg,#17372e 9px,transparent 9px) 0 0/21px 21px,linear-gradient(#17372e 9px,transparent 9px) 0 0/21px 21px,#fff;box-shadow:0 0 0 1px var(--line)}.label-service-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.label-service-card strong{display:block;font-size:13px}.label-service-card span{display:block;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.5}
.invoice-header-grid .input,.invoice-header-grid .select{height:42px}.invoice-header-grid label{min-height:15px}.invoice-header-grid{align-items:end}
@media(max-width:1500px){.invoice-supplier{grid-column:span 6}.invoice-number{grid-column:span 3}.invoice-series{grid-column:span 3}.invoice-issue{grid-column:span 3}.invoice-entry{grid-column:span 3}.invoice-total{grid-column:span 3}.invoice-key{grid-column:1/-1}}
@media(max-width:1000px){.xml-summary,.health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.xml-summary,.health-grid{grid-template-columns:1fr}.label-service-card{align-items:flex-start;flex-direction:column}}

.row-actions { display:flex; align-items:center; gap:6px; flex-wrap:wrap; min-width:310px; }
.row-actions .btn { white-space:nowrap; }
@media (max-width: 720px) { .row-actions { min-width:240px; } }
/* NEXORIGYN login identity */
.login-page{background:#eef4f8}.login-panel{background:#fff}.login-brand{width:min(330px,90%);max-height:170px;object-fit:contain;object-position:left center;margin-bottom:22px}.login-card h1{color:#0b2a4a}.login-foot{border:1px solid #dbe8ef;background:#f6fafc}.login-visual{background:radial-gradient(circle at 78% 18%,rgba(0,201,170,.20),transparent 28%),linear-gradient(145deg,#071f3a,#0b2f50 62%,#0d4960);}.login-visual:before{border-color:rgba(0,201,170,.11)}.login-visual:after{border-color:rgba(255,255,255,.055)}.login-copy small{color:#20dcc0}.login-copy p{color:#bed2df}.login-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px}.login-feature-grid span{padding:11px 12px;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:rgba(255,255,255,.055);font-size:11px;font-weight:800;color:#e6f2f8}
