/* Sprint 6: mockup kalitesi + performans/güvenlik odaklı UI standardı */
:root{
  --nts-row-compact:38px;
  --nts-focus:#2da7ff;
  --nts-danger:#e55353;
  --nts-success:#17a568;
  --nts-warning:#f4a000;
}
body{ text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(45,167,255,.24);outline-offset:2px}.topbar,.sidebar,.datagrid-card,.panel-card,.filter-bar{will-change:auto}.datagrid-wrap{contain:content}.datagrid tbody tr{transition:background-color .12s ease}.datagrid td{height:var(--nts-row-compact)}
.platforms-col{width:178px;min-width:178px;max-width:178px}.platform-cell.icon-mode{display:flex;align-items:center;gap:6px;height:22px;overflow:hidden}.platform-compact{width:36px;min-width:36px;height:22px;padding:0 3px;border-radius:8px}.platform-compact img{width:18px;height:18px;max-width:18px;max-height:18px;object-fit:contain}.platform-compact b{font-size:10px}.platform-compact.no-link{filter:grayscale(1);opacity:.34}.platform-compact.has-link:hover{border-color:#ffd2ad;background:#fff9f3}.datagrid-card img:not(.brand-logo):not(.nts-loader__core):not(.nts-loader__ring){max-width:42px;max-height:42px}.datagrid td .platform-compact img{max-width:18px;max-height:18px}.datagrid td .platform-logo-box img{max-width:40px;max-height:24px}
.sidebar-quality{margin:0 14px 14px;padding:11px 12px;border-radius:16px;background:rgba(23,165,104,.08);border:1px solid rgba(23,165,104,.16);display:grid;gap:5px}.sidebar-quality strong{font-size:12px;color:#dff8ec}.sidebar-quality span{font-size:11px;color:#8fd9b5}.security-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.security-card{background:#fff;border:1px solid #e5ecf5;border-radius:18px;padding:14px;box-shadow:0 12px 28px rgba(15,23,42,.05)}.security-card small{display:block;color:#6c7f98;font-weight:800;font-size:11px}.security-card strong{display:block;font-size:18px;margin-top:6px;color:#111827}.security-card p{margin:7px 0 0;color:#718299;font-size:12px;line-height:1.45}.quality-pill{display:inline-flex;align-items:center;gap:6px;height:22px;border-radius:999px;padding:0 8px;font-size:11px;font-weight:900}.quality-pill.good{background:#e9f8f1;color:#138357}.quality-pill.warn{background:#fff5df;color:#966200}.quality-pill.bad{background:#ffecec;color:#bd3030}.quality-pill.info{background:#edf6ff;color:#2175b8}.profit-signal{display:inline-flex;align-items:center;gap:6px}.profit-signal:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--nts-success);box-shadow:0 0 0 4px rgba(23,165,104,.11)}.profit-signal.warn:before{background:var(--nts-warning);box-shadow:0 0 0 4px rgba(244,160,0,.13)}.perf-list{display:grid;gap:10px}.perf-row{display:grid;grid-template-columns:1.2fr .8fr auto;gap:10px;align-items:center;border-bottom:1px solid #edf2f7;padding:9px 0}.perf-row:last-child{border-bottom:0}.perf-row strong{font-size:12px;color:#172033}.perf-row span{font-size:12px;color:#65758c}.perf-row em{font-style:normal;font-size:11px;font-weight:900;color:#138357;background:#e9f8f1;border-radius:999px;padding:4px 8px}.report-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.report-tabs button{border:1px solid #dce5f0;background:#fff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:850;color:#33445f}.report-tabs button.is-active{background:#101a2b;color:#fff;border-color:#101a2b}.chart-placeholder{height:180px;border:1px solid #e5ecf5;border-radius:18px;background:linear-gradient(180deg,#ffffff,#f8fbff);display:flex;align-items:end;gap:10px;padding:18px}.chart-placeholder i{display:block;flex:1;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#f27a1a,#ffc08c);min-height:24px}.chart-placeholder i:nth-child(2n){background:linear-gradient(180deg,#17a568,#8ee1b9)}.chart-placeholder i:nth-child(3n){background:linear-gradient(180deg,#2da7ff,#8ccfff)}
@media(max-width:1280px){.security-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.security-grid{grid-template-columns:1fr}.perf-row{grid-template-columns:1fr}.platforms-col{width:160px;min-width:160px}.datagrid td{height:42px}}
