/* assets/css/pump_calc.css */
:root { --main-bg: #f8fafc; --card-bg: #1e293b; --accent: #f59e0b; --text: #ffffff; --report-text: #1e293b; }
.calculator-card { background: var(--card-bg); width: 100%; border-radius: 24px; box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1); border-top: 6px solid var(--accent); box-sizing: border-box; }
.main-title { text-align: center; color: var(--accent); font-size: 20px; font-weight: 800; margin-bottom: 25px; }
.saas-label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 700; color: #cbd5e1; }
html[dir="rtl"] .saas-label { text-align: right; }
html[dir="ltr"] .saas-label { text-align: left; }

.saas-input, .saas-select { width: 100%; padding: 12px 16px; border-radius: 12px; border: 1px solid #475569; background: #334155; color: white; font-size: 15px; outline: none; margin-bottom: 16px; box-sizing: border-box; font-weight: 700; transition: all 0.3s; }
html[dir="rtl"] .saas-input, html[dir="rtl"] .saas-select { text-align: right; }
html[dir="ltr"] .saas-input, html[dir="ltr"] .saas-select { text-align: left; }
.saas-input:focus, .saas-select:focus { border-color: var(--accent); background: #1e293b; }

.row { display: flex; gap: 16px; flex-wrap: wrap; }
.row div { flex: 1; min-width: 160px; }
#reportArea { margin-top: 15px; display: none; background: white; color: var(--report-text); padding: 10px; border-radius: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05); }
.report-header { text-align: center; border-bottom: 4px solid var(--accent); margin-bottom: 25px; padding-bottom: 15px; }
.report-header h2 { font-size: 26px; color: #0f172a; margin: 0; font-weight: 900; }
.report-table { width: 100%; border-collapse: collapse; margin-bottom: 25px; font-size: 14px; font-weight: 600; }
.report-table th, .report-table td { border: 1px solid #cbd5e1; padding: 12px; text-align: center; }
.report-table th { background-color: #f1f5f9; color: #0f172a; font-weight: 800; }
.category-row { background-color: #f0fdf4 !important; font-weight: 800; color: #166534; }
html[dir="rtl"] .category-row { text-align: right !important; padding-right: 15px !important; }
html[dir="ltr"] .category-row { text-align: left !important; padding-left: 15px !important; }

.specs-section { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 24px; margin-bottom: 20px; }
.specs-section h3 { color: #0f172a; border-bottom: 2px solid #3b82f6; padding-bottom: 10px; margin-top: 0; margin-bottom: 20px; font-weight: 900; }
.spec-item { margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px dashed #e2e8f0; line-height: 1.6; font-size: 14px; }
html[dir="rtl"] .spec-item { text-align: justify; }
.spec-num { font-weight: 800; color: #b45309; }
.tips-section { background: #fffbeb; padding: 20px; border-radius: 12px; font-size: 14px; margin-bottom: 20px; }
html[dir="rtl"] .tips-section { border-right: 6px solid var(--accent); }
html[dir="ltr"] .tips-section { border-left: 6px solid var(--accent); }

.safety-box { background-color: #fef2f2; padding: 15px; margin-top: 20px; border-radius: 8px; }
html[dir="rtl"] .safety-box { border-right: 5px solid #ef4444; }
html[dir="ltr"] .safety-box { border-left: 5px solid #ef4444; }

.marketing-section { background: #f8fafc; padding: 24px; border-radius: 16px; margin-top: 30px; border: 1px solid #e2e8f0; text-align: center; }
html[dir="rtl"] .marketing-section { border-right: 5px solid #0284c7; }
html[dir="ltr"] .marketing-section { border-left: 5px solid #0284c7; }

.btn-toggle-boq { width: 100%; padding: 14px; background: #10b981; color: white; border-radius: 12px; cursor: pointer; border: none; font-weight: 800; font-size: 15px; margin-top: 15px; }
.btn-toggle-boq:hover { background: #059669; }
.action-btns { display: flex; gap: 12px; margin-top: 20px; flex-wrap: wrap; }
.btn-action { flex: 1; min-width: 140px; padding: 12px; background: #475569; color: white; border-radius: 12px; cursor: pointer; border: none; font-weight: 700; text-align: center; transition: 0.3s; }
.btn-action:hover { background: #334155; }
.btn-share { background: #0284c7; }
.btn-generate { width: 100%; margin-top: 24px; font-size: 17px; padding: 14px; font-weight: 800; border-radius: 12px; background: #d97706; }
.btn-generate:hover { background: #b45309; }
.btn-back { background: #64748b; margin-bottom: 15px; width: auto; display: inline-block; }
.auth-section { background: #1e293b; padding: 20px; border-radius: 16px; margin-bottom: 25px; border: 1px solid #334155; box-sizing: border-box; }
.projects-list { background: #0f172a; padding: 10px; border-radius: 12px; margin-top: 10px; margin-bottom: 15px; max-height: 160px; overflow-y: auto; border: 1px solid #1e293b; }
.project-item { display: flex; justify-content: space-between; align-items: center; background: #1e293b; padding: 10px 14px; margin-bottom: 8px; border-radius: 8px; font-size: 13.5px; cursor: pointer; transition: 0.2s; border: 1px solid #334155; }
.project-item:hover { border-color: var(--accent); color: var(--accent); }
.project-name { flex-grow: 1; font-weight: 700; }
html[dir="rtl"] .project-name { text-align: right; }
html[dir="ltr"] .project-name { text-align: left; }
.project-date { font-size: 11px; color: #64748b; margin-left: 12px; margin-right: 12px; font-family: monospace; }
.btn-delete { background: #ef4444; color: white; border: none; border-radius: 6px; padding: 4px 10px; cursor: pointer; font-size: 11px; font-weight: 700; }
.save-project-zone { display: flex; gap: 12px; margin-top: 15px; flex-wrap: wrap; }

@media print {
    @page { size: A4; margin: 0; }
    html, body { background: white; color: #000; padding: 0; margin: 0 !important; font-size: 11pt; }
    html[dir="rtl"], body[dir="rtl"] { direction: rtl; }
    html[dir="ltr"], body[dir="ltr"] { direction: ltr; }
    .no-print, header, footer, .action-btns, .btn-toggle-boq, .btn-back, .auth-section, #calcInputView { display: none !important; }
    #mainApp { display: block !important; margin: 0; max-width: 100%; }
    .calculator-card { box-shadow: none; border: none; padding: 0; background: white;}
    #reportArea { display: block !important; border: none; padding: 0; margin: 0; }
    #boqSection { display: block !important; }
    .print-page { padding: 20mm 15mm; box-sizing: border-box; page-break-inside: avoid; width: 100%; }
    table { page-break-inside: auto; }
    tr { page-break-inside: avoid; page-break-after: auto; }
    thead { display: table-header-group; }
    .safety-box, .tips-section, .specs-section { page-break-inside: avoid; }
    .page-break { page-break-before: always !important; break-before: page !important; }
    * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
}