.availability-main { max-width: 1160px; margin: 0 auto; padding: 24px 0 44px; }
.availability-intro { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 32px; margin-bottom: 26px; }
.availability-intro h1 { margin: 8px 0 12px; font-size: clamp(2.4rem,5vw,4rem); line-height: 1.08; }
.availability-intro p { color: #b0c2d9; font-size: 1rem; line-height: 1.7; }
.availability-intro img { width: 100%; height: auto; border-radius: 18px; }
.availability-form, .availability-result, .availability-watch { border: 1px solid #23456a; border-radius: 20px; background: #071227; padding: clamp(20px,3vw,32px); margin-bottom: 22px; }
.availability-fields { display: grid; grid-template-columns: minmax(0,1fr) 240px 145px; gap: 18px; align-items: end; }
.availability-fields label { display: grid; gap: 10px; font-size: 0.9rem; font-weight: 600; }
.availability-fields input, .availability-fields select { min-width: 0; width: 100%; color: #eef7ff; background: #030b1b; border: 1px solid #355579; border-radius: 10px; padding: 14px; font: inherit; }
.availability-fields button, .availability-watch a { background: #52e7ff; color: #041521; border: 0; border-radius: 10px; padding: 15px 20px; font: inherit; font-weight: 750; text-decoration: none; text-align: center; }
.availability-fields button:disabled { opacity: .6; cursor: wait; }
.availability-form :focus-visible, .availability-watch a:focus-visible { outline: 3px solid #d291ff; outline-offset: 4px; }
.availability-form .captcha-panel { margin-top: 24px; }
.availability-note, [data-availability-message] { font-size: .9rem; color: #aebed4; line-height: 1.65; }
.availability-result h2 { font-size: clamp(1.6rem,4vw,2.5rem); margin: 12px 0; }
.availability-result[data-state=up] { border-color: #34d9ae; }
.availability-result[data-state=warning] { border-color: #ffc56e; }
.availability-result[data-state=down] { border-color: #ff668d; }
.availability-result[data-state=up] h2 { color: #78f5c9; }
.availability-result[data-state=warning] h2 { color: #ffd394; }
.availability-result[data-state=down] h2 { color: #ff92b1; }
.availability-target { overflow-wrap: anywhere; color: #b7eafa; }
.availability-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 26px 0; }
.availability-stat { display: grid; gap: 10px; padding: 18px; background: #0c1c35; border-radius: 12px; }
.availability-stat span { color: #9db5cf; font-size: .9rem; }
.availability-stat strong { font-size: 1rem; }
.availability-evidence { list-style: none; padding: 0; }
.availability-evidence-row { display: grid; grid-template-columns: 180px 1fr 90px; gap: 12px; padding: 15px 0; border-bottom: 1px solid #21334b; font-size: .9rem; overflow-wrap: anywhere; }
.availability-watch { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.availability-watch h2 { font-size: 1.35rem; margin: 0 0 8px; }
.availability-watch p { max-width: 650px; margin: 0; }
.availability-watch a { flex-shrink: 0; }
@media(max-width:800px) { .availability-fields { grid-template-columns: 1fr; } .availability-intro { grid-template-columns: 1fr; } .availability-intro img { max-width: 560px; } .availability-stats { grid-template-columns: 1fr; } .availability-evidence-row { grid-template-columns: 1fr; } .availability-watch { align-items: stretch; flex-direction: column; } }
.report-options {margin:1.5rem 0;display:grid;gap:1rem}
.report-options > label:first-child {display:grid;gap:.5rem;max-width:32rem}
.report-options input[type=email] {min-width:0;width:100%;color:#eef7ff;background:#030b1b;border:1px solid #355579;border-radius:10px;padding:14px;font:inherit;box-sizing:border-box}
.report-copy {display:flex;align-items:center;gap:.7rem}
.report-copy input[type=checkbox] {width:1.15rem;height:1.15rem;flex:0 0 auto}
.report-actions {margin-top:2rem;padding-top:1.5rem;border-top:1px solid #315476}
.report-actions a {display:inline-block;padding:.85rem 1.3rem;background:#52e7ff;color:#071227;border-radius:.5rem;font-weight:700;text-decoration:none}
