/* Manual WiFi dialog shared by SmartOLT and customer equipment views. */
.olt-wifi-modal { --olt-bg:var(--bg-card,#fff); --olt-light:var(--bg-light,#f8fafc); --olt-text:var(--text-primary,#1e293b); --olt-muted:var(--text-secondary,#64748b); --olt-border:var(--border-color,#e2e8f0); --olt-primary:#007474; color:var(--olt-text); }
.olt-wifi-modal .olt-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.olt-wifi-modal label { display:block; font-size:12px; color:var(--olt-text); font-weight:600; }
.olt-wifi-modal .form-control { width:100%; margin-top:6px; height:38px; color:var(--olt-text); background:var(--olt-bg); border:1px solid var(--olt-border); border-radius:6px; font-size:13px; }
.olt-wifi-modal .form-control:focus { border-color:var(--olt-primary); box-shadow:0 0 0 2px #008b8b22; }
.olt-wifi-modal .olt-wifi-password-field { position:relative; margin-top:6px; }
.olt-wifi-modal .olt-wifi-password-field .form-control { padding-right:42px; margin-top:0; }
.olt-wifi-modal .olt-wifi-password-toggle { position:absolute; right:1px; top:1px; width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; border:0; border-left:1px solid var(--olt-border); border-radius:0 5px 5px 0; color:var(--olt-primary); background:var(--olt-light); cursor:pointer; font-size:14px; }
.olt-wifi-modal .olt-wifi-password-toggle:hover:not(:disabled) { color:#fff; background:var(--olt-primary); }
.olt-wifi-modal .olt-wifi-password-toggle:focus-visible { outline:2px solid var(--olt-primary); outline-offset:2px; }
.olt-wifi-modal .olt-wifi-password-toggle:disabled { opacity:.5; cursor:not-allowed; }
.olt-wifi-modal .olt-wifi-saved-credential { margin:12px 0; padding:12px; border:1px solid #b4e0dc; border-radius:8px; background:var(--olt-light); }
.olt-wifi-modal .olt-wifi-saved-credential small { display:block; margin-top:7px; font-size:11px; line-height:1.5; color:var(--olt-muted); }
.olt-wifi-modal .olt-actions { display:flex; flex-wrap:wrap; gap:10px; }
.olt-wifi-modal .btn { font-size:12px; border-radius:6px; padding:9px 13px; }
.olt-wifi-modal .btn-primary { background:var(--olt-primary); border-color:var(--olt-primary); color:#fff; }
.olt-wifi-modal .btn-outline-primary { background:var(--olt-bg); border:1px solid var(--olt-primary); color:var(--olt-primary); }
.olt-wifi-modal .btn:disabled { opacity:.55; cursor:not-allowed; }
.olt-wifi-modal .table-responsive { border:1px solid var(--olt-border); border-radius:8px; }
.olt-wifi-modal .olt-table { width:100%; margin:0; color:var(--olt-text); border-collapse:collapse; }
.olt-wifi-modal .olt-table th { background:var(--olt-light); color:var(--olt-text); font-size:11px; text-transform:uppercase; white-space:nowrap; }
.olt-wifi-modal .olt-table td { background:var(--olt-bg); color:var(--olt-text); font-size:12px; }
.olt-wifi-modal .olt-table th, .olt-wifi-modal .olt-table td { border:0; border-bottom:1px solid var(--olt-border); }
.olt-wifi-modal .olt-empty { text-align:center; color:var(--olt-muted); padding:20px; }
.olt-wifi-modal .olt-control-notice { padding:12px; background:#fff7ed; color:#7c2d12; border:1px solid #fed7aa; border-radius:6px; }
.olt-wifi-modal fieldset { min-width:0; padding:0; margin:0; border:0; }
.olt-wifi-modal .olt-wifi-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.olt-wifi-modal .olt-wifi-stats > div { padding:12px; background:#e6f7f6; color:#075b55; border:1px solid #b4e0dc; border-radius:7px; }
.olt-wifi-modal .olt-wifi-stats span { display:block; font-size:12px; }
.olt-wifi-modal .olt-wifi-stats strong { display:block; font-size:24px; }
.olt-wifi-modal [hidden] { display:none !important; }
.olt-wifi-modal .olt-wifi-tabs { display:flex; gap:6px; border-bottom:1px solid var(--olt-border); margin-bottom:14px; }
.olt-wifi-modal .olt-wifi-tabs button { background:transparent; border:0; border-bottom:3px solid transparent; padding:9px 14px; color:var(--olt-muted); font-size:13px; font-weight:600; cursor:pointer; }
.olt-wifi-modal .olt-wifi-tabs button[aria-selected="true"] { color:var(--olt-primary); border-bottom-color:var(--olt-primary); background:#e6f7f6; border-radius:6px 6px 0 0; }
.olt-wifi-modal .olt-wifi-tabs button:disabled { cursor:wait; opacity:.65; }
.olt-wifi-modal .olt-wifi-settings { margin:0; padding:0; }
.olt-wifi-modal .olt-form-grid { gap:12px; }
.olt-wifi-modal p { margin-bottom:10px; font-size:12px; }
.olt-wifi-modal .olt-wifi-stats { gap:8px; margin-bottom:10px; }
.olt-wifi-modal .olt-wifi-stats > div { padding:8px 10px; }
.olt-wifi-modal .olt-wifi-stats strong { font-size:22px; }
.olt-wifi-modal .olt-wifi-hosts { max-height:300px; overflow:auto; }
.olt-wifi-modal .olt-wifi-hosts th { position:sticky; top:0; z-index:1; }
.olt-wifi-modal .olt-wifi-hosts td, .olt-wifi-modal .olt-wifi-hosts th { padding:8px 10px; }
.olt-wifi-modal .olt-wifi-actions { align-items:center; margin-top:14px; padding-top:12px; border-top:1px solid var(--olt-border); }

@media(max-width:440px) { .olt-wifi-modal .olt-form-grid { grid-template-columns:1fr; } }
