/* Shared styles for the WebTrafficIQ log analysis tools.
   Extracted from common/log-analyzer.php so every analyzer renders identically.
   Class prefix stays `la-` so the original tool can adopt this file unchanged. */
.la-controls{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:12px;align-items:end}.la-controls textarea{min-height:190px}.la-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.la-dashboard{margin-top:20px}.la-dashboard .pane,.la-security,.la-prediction{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:16px 18px;margin:14px 0;box-shadow:0 3px 14px rgba(0,0,0,.12)}.la-dashboard .pane h2,.la-security h2,.la-prediction h2{margin:0 0 12px}.la-chart{display:flex;align-items:end;gap:4px;height:150px;padding:12px 8px 24px;border-bottom:1px solid var(--border);overflow-x:auto}.la-bar{position:relative;flex:1;min-width:14px;background:var(--accent);border-radius:4px 4px 0 0;opacity:.8}.la-bar:hover{opacity:1}.la-bar span{position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);font:10px var(--mono);color:var(--text-faint);white-space:nowrap}.la-tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.la-tables .pane{min-width:0}.la-tables table{table-layout:fixed}.la-tables td:first-child{max-width:260px;overflow:hidden;text-overflow:ellipsis}.la-filters{display:grid;grid-template-columns:minmax(180px,1fr) 170px;gap:10px}.la-filters input,.la-filters select{width:100%;background:var(--bg-alt);border:1px solid var(--border);color:var(--text);border-radius:9px;padding:9px}.la-table-wrap{max-height:620px;overflow:auto;border:1px solid var(--border);border-radius:8px}.la-table-wrap table{min-width:760px;margin:0}.la-table-wrap thead{position:sticky;top:0;z-index:1;background:var(--surface-2)}.la-table-wrap th{background:var(--surface-2)}.la-muted{color:var(--text-faint);font-size:12px}.la-recommendations{padding-left:20px}.la-recommendations li{margin:8px 0;color:var(--text-dim)}.la-recommendations strong{color:var(--text)}.la-security-table{max-height:360px;overflow:auto;border:1px solid var(--border);border-radius:8px}.la-security-table table{min-width:1200px;margin:0}.la-security-table thead{position:sticky;top:0;background:var(--surface-2);z-index:1}.la-security-table th{background:var(--surface-2)}.la-alert{color:#ff8c8c;font-weight:700}.la-safe{color:#70d48b;font-weight:700}@media(max-width:720px){.la-controls,.la-tables,.la-filters{grid-template-columns:1fr}}
.la-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border);margin:22px 0 0;padding:0 8px}.la-tabs [role=tab]{appearance:none;border:1px solid var(--border);border-bottom:0;border-radius:10px 10px 0 0;padding:11px 18px;background:var(--surface-2);color:var(--text-dim);font:600 14px var(--sans);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.la-tabs [role=tab]:hover{color:var(--text);border-color:var(--accent)}.la-tabs [role=tab][aria-selected=true]{background:var(--surface);color:var(--text);border-color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.la-tabs [role=tab]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;z-index:1}.la-tab-panel{border:1px solid var(--border);border-radius:0 12px 12px 12px;background:var(--bg-alt);padding:16px;margin:0 0 22px;box-shadow:0 8px 28px rgba(0,0,0,.16)}.la-tab-panel[hidden]{display:none}.la-tab-panel>.pane,.la-info-copy{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:18px;margin:0 0 16px;box-shadow:0 3px 14px rgba(0,0,0,.12)}.la-info-copy{color:var(--text-dim);font-size:14px;max-width:none}.la-info-copy h2{color:var(--text);font-size:17px;margin:18px 0 8px}.la-info-copy h2:first-child{margin-top:0}.la-empty-analysis{border:1px dashed var(--border);border-radius:12px;padding:22px;background:var(--surface);color:var(--text-dim)}.la-empty-analysis h2{color:var(--text);margin-top:0}.la-tab-panel .la-dashboard{margin-top:0}.la-table-wrap,.la-security-table,.table-scroll,.la-chart{scrollbar-width:thin;scrollbar-color:var(--accent) var(--surface-2)}.la-table-wrap::-webkit-scrollbar,.la-security-table::-webkit-scrollbar,.table-scroll::-webkit-scrollbar,.la-chart::-webkit-scrollbar{width:10px;height:10px}.la-table-wrap::-webkit-scrollbar-track,.la-security-table::-webkit-scrollbar-track,.table-scroll::-webkit-scrollbar-track,.la-chart::-webkit-scrollbar-track{background:var(--surface-2);border-radius:8px}.la-table-wrap::-webkit-scrollbar-thumb,.la-security-table::-webkit-scrollbar-thumb,.table-scroll::-webkit-scrollbar-thumb,.la-chart::-webkit-scrollbar-thumb{background:var(--accent);border:2px solid var(--surface-2);border-radius:8px}.la-table-wrap::-webkit-scrollbar-thumb:hover,.la-security-table::-webkit-scrollbar-thumb:hover,.table-scroll::-webkit-scrollbar-thumb:hover,.la-chart::-webkit-scrollbar-thumb:hover{background:var(--accent-2,var(--accent))}@media(max-width:640px){.la-tabs{gap:5px;padding:0 4px}.la-tabs [role=tab]{flex:1;padding:10px 8px;font-size:13px}.la-tab-panel{padding:10px;border-radius:0 0 10px 10px}.la-tab-panel>.pane,.la-info-copy{padding:14px}}
.la-result-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border);margin:0 0 14px;padding:0 6px}.la-result-tabs [role=tab]{appearance:none;border:1px solid var(--border);border-bottom:0;border-radius:9px 9px 0 0;padding:10px 16px;background:var(--surface-2);color:var(--text-dim);font:600 14px var(--sans);cursor:pointer}.la-result-tabs [role=tab][aria-selected=true]{background:var(--surface);color:var(--text);border-color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.la-result-tabs [role=tab]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.la-result-panel[hidden]{display:none}.la-result-panel>.pane,.la-result-panel>.la-prediction,.la-result-panel>.la-security,.la-result-panel>.la-tables{margin-top:0}.la-result-panel>.la-kpi{margin:0 0 14px}@media(max-width:640px){.la-result-tabs [role=tab]{flex:1;padding:10px 8px;font-size:13px}}
.la-dashboard .pane,.la-dashboard .la-security,.la-dashboard .la-prediction,.la-tab-panel>.pane,.la-info-copy,.la-empty-analysis,.la-table-wrap,.la-security-table,.la-result-panel{border-color:rgba(112,212,139,.55)}.la-dashboard .pane,.la-dashboard .la-security,.la-dashboard .la-prediction,.la-tab-panel>.pane,.la-info-copy{box-shadow:0 3px 16px rgba(47,130,75,.09)}.la-tabs #la-tab-analysis{min-height:48px;padding:13px 25px;background:rgba(112,212,139,.13);border-color:#70d48b;color:#b1f3c1;font-size:16px;font-weight:750;letter-spacing:.01em}.la-tabs #la-tab-analysis[aria-selected=true]{background:rgba(112,212,139,.25);color:#d2ffdc;box-shadow:inset 0 3px 0 #70d48b,0 4px 14px rgba(60,180,95,.2)}.la-tabs #la-tab-analysis:hover{background:rgba(112,212,139,.22);color:#d2ffdc}.la-mini-chart{display:grid;gap:7px;margin:0 0 10px;padding:11px 12px;border:1px solid rgba(112,212,139,.32);border-radius:9px;background:rgba(112,212,139,.035)}.la-mini-row{display:grid;grid-template-columns:minmax(90px,1.1fr) minmax(70px,2fr) minmax(42px,auto);gap:9px;align-items:center;font-size:12px}.la-mini-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim)}.la-mini-track{display:block;height:9px;overflow:hidden;border-radius:9px;background:var(--surface-2)}.la-mini-fill{display:block;min-width:2px;height:100%;border-radius:9px;background:linear-gradient(90deg,#62c982,#a5edb7)}.la-mini-row strong{text-align:right;font:600 11px var(--mono);color:var(--text)}
.la-threat-lists .la-security-table table{min-width:620px}#la-finding-summary{min-width:560px}#la-sensitive-ips{min-width:1200px}#la-sensitive-rows{min-width:850px}.la-threat-lists .pane{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.la-threat-lists .pane:hover{transform:translateY(-2px);border-color:#70d48b;box-shadow:0 8px 22px rgba(55,150,80,.14)}.la-result-tabs #la-result-tab-prediction{border-color:#70d48b;color:#b1f3c1}.la-result-tabs #la-result-tab-prediction[aria-selected=true]{background:rgba(112,212,139,.16);color:#d2ffdc;box-shadow:inset 0 3px 0 #70d48b}.la-result-tabs #la-result-tab-prediction:hover{background:rgba(112,212,139,.12)}
.la-section-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px -2px -2px;padding:12px 0 0;border-top:1px solid rgba(112,212,139,.25)}.la-section-nav .btn{padding:8px 12px;font-size:12px}.la-section-nav .btn:disabled{opacity:.38;cursor:not-allowed}.la-section-position{color:var(--text-faint);font-size:12px;text-align:center}.la-result-panel [tabindex="-1"]:focus{outline:2px solid rgba(112,212,139,.65);outline-offset:4px}@media(max-width:520px){.la-section-nav{gap:6px}.la-section-nav .btn{padding:7px 8px;font-size:11px}.la-section-position{font-size:10px}}
.la-score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:10px;margin:0 0 14px}.la-score-card{border:1px solid var(--border);border-radius:11px;background:var(--surface-2);padding:12px 13px}.la-score-card h4{margin:0;font:600 11px var(--sans);color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase}.la-score-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:7px 0 8px}.la-score-value{font:700 23px var(--sans);color:var(--text);line-height:1;font-variant-numeric:tabular-nums}.la-score-value i{font:400 12px var(--sans);color:var(--text-faint);font-style:normal}.la-score-band{font:600 11px var(--sans);border:1px solid currentColor;border-radius:999px;padding:2px 9px;white-space:nowrap}.la-meter{height:8px;border-radius:9px;background:var(--bg);border:1px solid var(--border);overflow:hidden}.la-meter>span{display:block;height:100%;border-radius:9px;background:currentColor}.la-score-note{margin:8px 0 0;font-size:11.5px;line-height:1.5;color:var(--text-faint)}.la-score-note strong{color:var(--text-dim)}
.la-score-band.v-good,.la-meter.v-good{color:#5fd07a}.la-score-band.v-warn,.la-meter.v-warn{color:var(--warn)}.la-score-band.v-bad,.la-meter.v-bad{color:#ff6a7a}.la-score-band:not(.v-good):not(.v-warn):not(.v-bad){color:var(--text-faint)}
.la-hero-score{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 14px;padding:14px 16px;border:1px solid rgba(112,212,139,.4);border-radius:12px;background:rgba(112,212,139,.05)}.la-hero-score>b{font:700 42px var(--sans);color:var(--text);line-height:1;font-variant-numeric:tabular-nums}.la-hero-meta{flex:1;min-width:210px}.la-hero-meta p{margin:5px 0 0;font-size:12.5px;color:var(--text-dim)}
.la-stack{display:flex;gap:2px;height:28px;padding:2px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.la-stack>span{display:block;min-width:3px;border-radius:5px}.la-legend{display:flex;flex-wrap:wrap;gap:7px 16px;margin:10px 0 0;font-size:12px;color:var(--text-dim)}.la-legend>span{display:inline-flex;align-items:center;gap:7px}.la-legend i{width:11px;height:11px;border-radius:3px;flex:none}
.la-code{margin:0 0 14px}.la-code-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 7px}.la-code-head h4{margin:0;font:600 13px var(--sans);color:var(--text)}.la-code-head .btn{padding:6px 11px;font-size:12px}.la-code pre{margin:0;padding:12px 13px;max-height:280px;overflow:auto;background:var(--bg);border:1px solid var(--border);border-radius:9px;font:12px/1.55 var(--mono);color:var(--text-dim);white-space:pre}
.la-prediction h3{margin:20px 0 9px;font-size:15px}.la-prediction h3:first-child{margin-top:0}.la-prediction .kpi{margin:0 0 12px}@media(max-width:620px){.la-hero-score>b{font-size:34px}}
