@import url('portal-20260911m.css?v=5');

.network-print-brand { display:none; }
.network-schedule { margin-top:20px; }
.network-title { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; margin-bottom:10px; }
.network-title h3 { margin:0; color:#153554; }
.network-title p { margin:5px 0 0; color:#667887; }
.network-title > span { color:#667887; font-size:.85rem; white-space:nowrap; }
.network-table-wrap { overflow-x:auto; }
.network-table { width:100%; border-collapse:collapse; }
.network-table th,.network-table td { padding:10px; border:1px solid #ced8e0; text-align:left; vertical-align:top; }
.network-table th { background:#eaf2ff; color:#153554; font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; }
.network-table th:first-child,.network-table td:first-child { width:14%; }
.network-table th:nth-child(2),.network-table td:nth-child(2) { width:27%; }
.network-table th:nth-child(3),.network-table td:nth-child(3) { width:39%; }
.network-table th:last-child,.network-table td:last-child { width:20%; }

@media print {
  @page { size:A4 landscape; margin:12mm; }
  body * { visibility:hidden !important; }
  .network-print-area,.network-print-area * { visibility:visible !important; }
  .network-print-area { position:absolute; inset:0; width:100%; color:#263746; }
  .network-print-brand { display:flex; justify-content:space-between; align-items:flex-start; border-bottom:3px solid #0066ff; padding-bottom:8mm; margin-bottom:8mm; }
  .network-print-brand img { max-width:72mm; max-height:22mm; object-fit:contain; }
  .network-print-brand div { text-align:right; }
  .network-print-brand strong { display:block; color:#153554; font-size:18pt; }
  .network-print-brand span { display:block; margin-top:4px; color:#667887; }
  .network-schedule { break-after:page; margin:0; }
  .network-schedule:last-child { break-after:auto; }
  .network-table-wrap { overflow:visible; }
  .network-table th,.network-table td { padding:7px; font-size:9pt; }
}

.quote-scope { margin-top:16px; }
.quote-scope > strong { color:var(--blue); font-size:.82rem; text-transform:uppercase; letter-spacing:.06em; }
.quote-scope p { margin:7px 0 0; }
.quote-lines { margin-top:18px; overflow-x:auto; }
.quote-lines table { width:100%; border-collapse:collapse; font-size:.94rem; }
.quote-lines th,.quote-lines td { padding:9px 10px; border-bottom:1px solid #d9e0e8; text-align:left; vertical-align:top; }
.quote-lines thead th { border-top:2px solid var(--blue); border-bottom:2px solid var(--blue); color:#18243a; font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; }
.quote-lines .number { text-align:right; white-space:nowrap; }
.quote-lines .quote-section th { border-top:2px solid var(--blue); color:#18243a; padding-top:13px; font-weight:800; }
.quote-totals { margin:16px 0 0 auto; width:min(290px,100%); display:grid; gap:7px; }
.quote-totals span { display:flex; justify-content:space-between; gap:18px; }
.quote-totals .grand { padding:8px 0; border-top:2px solid var(--blue); border-bottom:2px solid var(--blue); text-transform:uppercase; }
.quote-summary { display:grid; grid-template-columns:minmax(220px,1fr) auto auto; align-items:center; gap:18px; }
.quote-main-meta p { margin:5px 0 0; }
.quote-summary .amount { min-width:110px; text-align:right; }
.quote-summary-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.quote-summary-actions button { white-space:nowrap; }
.quote-summary-actions button.quote-approve { background:#198754; color:#fff; border:1px solid #198754; }
.quote-summary-actions button.quote-approve:hover { background:#146c43; border-color:#146c43; }
.quote-summary-actions button.quote-decline { background:#c62828; color:#fff; border:1px solid #c62828; }
.quote-summary-actions button.quote-decline:hover { background:#a61f1f; border-color:#a61f1f; }
.quote-toggle { background:#fff !important; color:var(--blue) !important; border:1px solid var(--blue) !important; }
.quote-detail { padding-top:18px; margin-top:18px; border-top:1px solid #d9e0e8; }
.quote-detail[hidden] { display:none; }

@media (max-width:760px) {
  .quote-summary { grid-template-columns:1fr auto; gap:12px; }
  .quote-summary-actions { grid-column:1/-1; justify-content:flex-start; }
  .quote-lines { margin-left:-8px; margin-right:-8px; }
  .quote-lines th,.quote-lines td { padding:8px 7px; }
}

/* Private quote link */
.approval-page { width:min(1060px,100%); margin:36px auto; padding:0 22px 48px; }
.approval-card { background:#fff; border:1px solid #dce3eb; border-radius:18px; padding:30px; box-shadow:0 14px 38px rgba(16,24,40,.07); }
.approval-head { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; padding-bottom:20px; border-bottom:1px solid #d9e0e8; }
.approval-head h1 { margin:0; font-size:clamp(1.9rem,4vw,2.7rem); }
.approval-head .eyebrow { margin-bottom:5px; }
.approval-head .meta { margin:7px 0 0; }
.approval-head .amount { min-width:150px; text-align:right; font-size:1.55rem; }
.approval-head .amount span { margin-top:3px; }
.approval-customer { margin:18px 0 0; color:#475467; }
.approval-note { white-space:normal; color:#344054; line-height:1.55; }
.approval-header-message { margin:22px 0 0; padding:14px 16px; background:#f7faff; border-left:4px solid var(--blue); border-radius:0 10px 10px 0; }
.approval-footer-message { clear:both; margin:30px 0 0; padding-top:20px; border-top:1px solid #d9e0e8; font-size:.92rem; }
.approval-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:26px; }
.approval-actions button.accept { background:#198754; color:#fff; border:1px solid #198754; }
.approval-actions button.accept:hover { background:#146c43; border-color:#146c43; }
.approval-actions button.decline { background:#c62828; color:#fff; border:1px solid #c62828; }
.approval-actions button.decline:hover { background:#a61f1f; border-color:#a61f1f; }
.approval-message { padding:14px 16px; border-radius:10px; margin-bottom:18px; background:#eef9ef; color:#28652d; }
.approval-error { background:#fff0f0; color:#a11; }
.approval-lines { overflow-x:auto; margin-top:22px; }
.approval-lines table { width:100%; border-collapse:collapse; }
.approval-lines th,.approval-lines td { padding:10px; border-bottom:1px solid #d9e0e8; text-align:left; vertical-align:top; }
.approval-lines thead th { border-top:2px solid var(--blue); border-bottom:2px solid var(--blue); color:#18243a; font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; }
.approval-lines .number { text-align:right; white-space:nowrap; }
.approval-lines .section th { border-top:2px solid var(--blue); color:#18243a; padding-top:14px; font-weight:800; }
.approval-totals { margin:20px 0 0 auto; width:min(300px,100%); display:grid; gap:8px; }
.approval-totals span { display:flex; justify-content:space-between; gap:18px; }
.approval-totals .total { border-top:2px solid var(--blue); border-bottom:2px solid var(--blue); padding:8px 0; text-transform:uppercase; }

@media (max-width:650px) {
  .approval-page { margin:18px auto; padding:0 12px 32px; }
  .approval-card { padding:20px 16px; }
  .approval-head { display:block; }
  .approval-head .amount { text-align:left; margin-top:14px; }
  .approval-actions { flex-wrap:wrap; justify-content:flex-end; }
  .approval-lines th,.approval-lines td { padding:8px 7px; }
}
