.company-logo { display:inline-block; width:32px; height:32px; flex:none; vertical-align:middle; }
.topbar .org-avatar.company-logo-trigger { display:block; width:42px; height:42px; padding:0; border:1px solid #5d7580; border-radius:8px; background:#142c3d; overflow:hidden; cursor:pointer; flex:none; }
.company-logo-trigger .company-logo { width:100%; height:100%; }
.company-logo-trigger:hover { border-color:#dabd7d; box-shadow:0 0 0 3px #dabd7d20; }
.company-logo-trigger:focus-visible,.logo-option:focus-visible,.logo-filters button:focus-visible { outline:3px solid #87b1c2; outline-offset:3px; }
.headquarters-brand { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.headquarters-brand .company-logo { width:38px; height:38px; border-radius:7px; border:1px solid #526d7b; }
.company-inline { width:25px; height:25px; margin-right:8px; }
.rival-label strong { display:flex; align-items:center; }
.logo-setup { margin:4px 0 22px; border:1px solid #b5b9aa; background:#f7f5ec; }
.logo-setup summary { padding:14px 16px; font-weight:700; cursor:pointer; }
.logo-setup summary span { font-size:11px; color:#63726f; font-weight:400; margin-left:9px; }
.logo-setup .company-logo-picker { padding:0 16px 12px; }
.logo-preview { display:flex; align-items:center; gap:15px; padding:16px; border:1px solid #385363; background:#162e3e; color:#efe4cd; margin-bottom:16px; min-height:100px; }
.logo-preview>.company-logo { width:64px; height:64px; }
.logo-preview>div { display:flex; flex-direction:column; gap:5px; }
.logo-preview small { color:#a6bcc2; font-size:10px; }
.logo-preview strong { font-size:20px; font-weight:600; }
.logo-preview span { color:#b6c4c5; font-size:11px; }
.logo-download { margin-left:auto; padding:9px 10px; border:1px solid #65797b; color:#e3d4ac; font-size:11px; white-space:nowrap; text-decoration:none; }
.logo-download:hover { background:#314958; }
.logo-tools { display:flex; align-items:flex-end; gap:12px; margin-bottom:13px; }
.logo-tools label { flex:1; display:flex; flex-direction:column; gap:5px; font-size:11px; color:#53635e; }
.logo-tools input { width:100%; padding:10px 12px; border:1px solid #a4aca0; background:#fffef7; color:#273b37; border-radius:2px; font:inherit; font-size:12px; }
.logo-filters { display:flex; gap:5px; flex-wrap:wrap; margin-bottom:10px; }
.logo-filters button { padding:7px 9px; border:1px solid #b7bdaf; background:#eceee3; color:#53635e; font:inherit; font-size:11px; cursor:pointer; }
.logo-filters button small { font-size:10px; opacity:.65; margin-left:2px; }
.logo-filters button[aria-pressed=true] { background:#2e4b53; border-color:#2e4b53; color:#fff8df; }
.logo-results { font-size:10px; color:#69756c; margin:10px 0; }
.logo-grid { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); align-content:start; gap:8px; max-height:326px; overflow:auto; padding:5px 7px 5px 3px; scrollbar-color:#7c948f #e8ecdf; scrollbar-width:thin; overscroll-behavior:contain; }
.logo-option { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-height:94px; padding:9px 2px 6px; background:#e8ece3; border:1px solid #c9cebf; color:#304b50; border-radius:3px; cursor:pointer; font:inherit; }
.logo-option .company-logo { width:46px; height:46px; transition:transform .13s ease-out; }
.logo-option>span { font-size:10px; white-space:nowrap; }
.logo-option>small { font-family:monospace; font-size:10px; color:#7a897e; }
.logo-option:hover { border-color:#607d7f; background:#dee5dc; }
.logo-option:hover .company-logo { transform:translateY(-2px); }
.logo-option[aria-pressed=true] { border:2px solid #526c57; background:#d7e0cd; padding:8px 1px 5px; }
.logo-selected { display:none; position:absolute; top:3px; right:4px; width:16px; height:16px; border-radius:50%; background:#526c57; color:#fffbe5; font-size:11px; text-align:center; line-height:16px; }
.logo-option[aria-pressed=true] .logo-selected { display:block; }
.logo-help { font-size:10px; color:#6b786d; line-height:1.7; margin:12px 0 0; }
.logo-empty { grid-column:1/-1; font-size:12px; padding:20px; }
@media(max-width:760px) { .logo-grid { grid-template-columns:repeat(6,minmax(0,1fr)); } }
@media(max-width:500px) { .logo-grid { grid-template-columns:repeat(4,minmax(0,1fr)); max-height:300px; } .logo-preview { padding:12px; gap:10px; flex-wrap:wrap; } .logo-preview>.company-logo { width:48px; height:48px; } .logo-preview strong { font-size:17px; } .logo-setup summary span { display:block; margin:5px 0 0 14px; } .logo-tools { gap:6px; } .logo-tools .btn { font-size:10px; padding-inline:8px; } }
@media(prefers-reduced-motion:reduce) { .logo-option .company-logo { transition:none; } }
