.iep-page {
  min-height: 100vh;
  padding: 126px 0 80px;
  color: #eaf6fb;
  background:
    radial-gradient(circle at 9% 4%, rgba(35, 157, 195, .22), transparent 31%),
    radial-gradient(circle at 92% 13%, rgba(62, 211, 169, .12), transparent 28%),
    #06131f;
}

.iep-shell { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.iep-hero { padding: clamp(26px, 5vw, 54px); border: 1px solid rgba(91, 220, 246, .22); border-radius: 28px; background: linear-gradient(135deg, rgba(16, 59, 81, .97), rgba(7, 28, 43, .97)); box-shadow: 0 24px 65px rgba(0, 0, 0, .29); }
.iep-back { display: inline-flex; margin-bottom: 28px; color: #8eeaff; font-weight: 800; }
.iep-hero h1 { max-width: 930px; margin: 7px 0 14px; font-size: clamp(38px, 7vw, 73px); line-height: .98; }
.iep-hero > p:not(.eyebrow) { max-width: 930px; color: rgba(233, 246, 251, .79); font-size: clamp(17px, 2vw, 21px); line-height: 1.65; }
.iep-badges { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 25px; }
.iep-badges span { padding: 8px 12px; border: 1px solid rgba(104, 229, 255, .22); border-radius: 999px; color: #cdf6ff; background: rgba(19, 96, 121, .27); font-size: .78rem; font-weight: 800; }

.iep-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 22px 0; }
.iep-tabs button { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 58px; padding: 12px 16px; border: 1px solid rgba(113, 216, 238, .25); border-radius: 16px; color: #d9edf4; background: rgba(12, 43, 61, .83); font: inherit; font-weight: 850; cursor: pointer; }
.iep-tabs button span { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 9px; color: #05252e; background: #72e4c8; }
.iep-tabs button:hover, .iep-tabs button.is-active { border-color: #75e8cf; background: linear-gradient(135deg, rgba(30, 107, 119, .86), rgba(18, 65, 88, .95)); box-shadow: 0 12px 32px rgba(0, 0, 0, .18); }

.iep-panel, .iep-method, .iep-warning, .iep-sources, .iep-privacy { border: 1px solid rgba(114, 215, 238, .18); border-radius: 22px; background: rgba(13, 39, 57, .92); box-shadow: 0 18px 46px rgba(0, 0, 0, .2); }
.iep-panel { padding: clamp(21px, 4vw, 35px); }
.iep-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.iep-card-heading h2 { margin: 3px 0 0; font-size: clamp(24px, 3vw, 34px); }
.iep-step { display: grid; flex: 0 0 44px; width: 44px; height: 44px; place-items: center; border-radius: 13px; color: #05202b; background: linear-gradient(135deg, #64dfc2, #8eeaff); font-weight: 950; }
.iep-help { max-width: 930px; margin: -7px 0 22px; color: rgba(232, 244, 249, .69); line-height: 1.62; }

.iep-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.iep-span-2 { grid-column: 1 / -1; }
.iep-field { display: grid; gap: 7px; color: #cde6ef; font-size: .83rem; font-weight: 800; }
.iep-field input, .iep-field select { width: 100%; min-height: 49px; padding: 10px 12px; border: 1px solid rgba(103, 207, 231, .32); border-radius: 10px; color: #092235; background: #f7fbfd; font: inherit; }
.iep-field input:focus, .iep-field select:focus { outline: 3px solid rgba(77, 222, 199, .22); border-color: #4ddec7; }
.iep-field small { color: rgba(229, 242, 247, .62); font-weight: 500; line-height: 1.45; }
.iep-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.iep-button { min-height: 44px; padding: 10px 16px; border: 1px solid rgba(127, 221, 242, .38); border-radius: 999px; color: #e9f8fc; background: rgba(28, 78, 99, .72); font: inherit; font-weight: 820; cursor: pointer; }
.iep-button:hover:not(:disabled) { border-color: #8cecff; background: rgba(37, 98, 121, .96); }
.iep-button.is-primary { border-color: transparent; color: #06232e; background: linear-gradient(135deg, #72e4c8, #8eeeff); }
.iep-button:disabled { cursor: not-allowed; opacity: .42; }
.iep-status { min-height: 24px; margin: 17px 0 0; color: #8ee7d0; line-height: 1.5; }
.iep-status.is-error { color: #ffb7b7; }

.iep-result { margin-top: 20px; padding: 20px; border: 1px solid rgba(109, 235, 208, .26); border-radius: 18px; background: linear-gradient(145deg, rgba(44, 132, 125, .28), rgba(20, 71, 91, .25)); }
.iep-result h3 { margin: 0 0 15px; color: #8bf0d4; }
.iep-result-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid rgba(123, 210, 229, .16); border-radius: 14px; overflow: hidden; }
.iep-result-grid div { min-width: 0; padding: 14px; border-right: 1px solid rgba(123, 210, 229, .13); border-bottom: 1px solid rgba(123, 210, 229, .13); }
.iep-result-grid div:nth-child(3n) { border-right: 0; }
.iep-result-grid span { display: block; color: rgba(226, 241, 246, .62); font-size: .73rem; }
.iep-result-grid strong { display: block; margin-top: 6px; color: #fff; font-size: .98rem; overflow-wrap: anywhere; }
.iep-result-note { margin: 15px 0 0; padding: 12px 14px; border-radius: 11px; color: #d7edf4; background: rgba(4, 19, 29, .45); line-height: 1.5; }

.iep-table-wrap { margin-top: 20px; overflow: auto; border: 1px solid rgba(118, 211, 232, .18); border-radius: 15px; background: rgba(4, 21, 32, .45); }
.iep-table-wrap table { width: 100%; min-width: 920px; border-collapse: collapse; font-size: .8rem; }
.iep-table-wrap th, .iep-table-wrap td { padding: 11px 12px; border-bottom: 1px solid rgba(122, 201, 220, .13); text-align: right; white-space: nowrap; }
.iep-table-wrap th:first-child, .iep-table-wrap td:first-child { position: sticky; left: 0; text-align: left; background: #0d2a3c; }
.iep-table-wrap th { color: #8eeaff; background: #0d2a3c; }
.iep-table-wrap tbody tr:hover td { background: rgba(74, 163, 178, .11); }

.iep-dropzone { display: grid; gap: 7px; padding: 22px; border: 1px dashed rgba(115, 229, 206, .55); border-radius: 15px; color: #dff6f3; background: rgba(33, 102, 101, .16); cursor: pointer; }
.iep-dropzone span { color: rgba(230, 245, 247, .65); font-size: .82rem; }
.iep-dropzone input { margin-top: 9px; color: #dff6f3; }

.iep-method { margin-top: 23px; padding: clamp(22px, 4vw, 34px); }
.iep-method-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.iep-method-grid article { padding: 20px; border: 1px solid rgba(113, 216, 238, .14); border-radius: 16px; background: rgba(5, 24, 36, .42); }
.iep-method-grid article > span { color: #6fe1c4; font-size: .78rem; font-weight: 900; }
.iep-method-grid h3 { margin: 10px 0 8px; }
.iep-method-grid p { margin: 0; color: rgba(229, 242, 247, .67); line-height: 1.58; }
.iep-warning, .iep-sources, .iep-privacy { margin-top: 16px; padding: 17px 20px; color: rgba(229, 242, 247, .73); line-height: 1.62; }
.iep-warning { border-color: rgba(255, 195, 97, .28); background: rgba(74, 53, 25, .66); }
.iep-warning strong { color: #ffd489; }
.iep-sources strong, .iep-privacy strong { color: #8eeaff; }
.iep-sources a { color: #91f0d6; text-decoration: underline; text-underline-offset: 3px; }
.iep-print-sheet { display: none; }

@media (max-width: 900px) {
  .iep-page { padding-top: calc(var(--mobile-header-height) + 35px); }
  .iep-tabs, .iep-method-grid { grid-template-columns: 1fr; }
  .iep-result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .iep-result-grid div:nth-child(3n) { border-right: 1px solid rgba(123, 210, 229, .13); }
  .iep-result-grid div:nth-child(2n) { border-right: 0; }
}

@media (max-width: 560px) {
  .iep-shell { width: min(100% - 20px, 1180px); }
  .iep-form-grid, .iep-result-grid { grid-template-columns: 1fr; }
  .iep-span-2 { grid-column: auto; }
  .iep-result-grid div { border-right: 0 !important; }
  .iep-actions, .iep-button { width: 100%; }
}

@media print {
  body > *:not(.iep-print-sheet) { display: none !important; }
  .iep-print-sheet { display: block !important; padding: 11mm; color: #15232c; background: #fff; font-family: Arial, sans-serif; }
  .iep-print-sheet header { display: grid; grid-template-columns: 1fr 1.5fr 1fr; gap: 10mm; align-items: center; padding-bottom: 7mm; border-bottom: 2px solid #0f6094; text-align: center; }
  .iep-print-sheet header img { width: 100%; max-height: 24mm; object-fit: contain; }
  .iep-print-sheet h1 { margin: 0 0 4px; color: #0d4f80; font-size: 20pt; }
  .iep-print-sheet header p, .iep-print-sheet header a { margin: 2px 0; color: #334f61; font-size: 8.5pt; }
  .iep-print-sheet h2 { margin: 8mm 0 3mm; color: #0a715f; font-size: 15pt; }
  .iep-print-sheet table { width: 100%; border-collapse: collapse; font-size: 8.4pt; }
  .iep-print-sheet th, .iep-print-sheet td { padding: 2.2mm; border: 1px solid #d8e2e8; text-align: left; }
  .iep-print-sheet th { color: #365568; background: #f4f8fa; }
  .iep-print-sheet footer { margin-top: 7mm; padding-top: 4mm; border-top: 1px solid #b7c9d3; color: #536c7a; font-size: 8pt; line-height: 1.45; }
}
