.validity-panel{padding:24px}.validity-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.validity-head h2{margin:0;font-size:22px;color:#1d3548}.validity-head p,.validity-hint{color:#506979;font-size:13px;line-height:1.6}.validity-actions{display:flex;gap:10px;flex-shrink:0}.validity-actions button{min-height:40px}.validity-hint{margin:20px 0 10px}#validityStatus{min-height:24px;font-size:13px;color:#1d3548}.validity-scroll{max-height:70vh;border:1px solid #c9dfe9;border-radius:8px}.validity-matrix{font-size:13px}.validity-matrix thead th{background:#183d52;color:#fff;min-width:112px;text-align:center;white-space:normal}.validity-matrix th:first-child{position:sticky;left:0;min-width:170px;max-width:210px;text-align:left;z-index:3}.validity-matrix thead th:first-child{z-index:4}.validity-matrix tbody th{background:#f0f7fb;color:#1d3548;top:auto;border-bottom:1px solid #dbe6ed;padding:16px;vertical-align:top}.validity-matrix td{overflow:visible;max-width:none;vertical-align:middle;text-align:center;padding:12px}.validity-matrix .validity-cities{min-width:360px;width:360px;white-space:normal;text-align:left}.validity-cities>div{display:grid;grid-template-columns:repeat(4,minmax(65px,1fr));gap:8px}.validity-choice{min-width:80px;min-height:36px;border-radius:6px;font-size:13px;box-shadow:none;border:1px solid #9baeb8;background:#fff;color:#3f5969;cursor:pointer}.validity-cities .validity-choice{min-width:0;width:100%}.validity-choice.is-valid{background:#e2f2e9;color:#155538;border-color:#72aa8c}.validity-choice.is-invalid{background:#f5f7f9;color:#455d6d;border-color:#adbdc6}.validity-choice.is-mixed{background:#fff4de;color:#755011;border-color:#bf9d5a}.validity-choice small{display:block;font-size:11px}.validity-choice:hover{filter:brightness(.97)}.validity-choice:focus-visible,.validity-scroll:focus-visible{outline:3px solid #087fd1;outline-offset:2px}.validity-scope{margin-top:10px;font-weight:400;white-space:normal;font-size:12px;line-height:1.7;color:#506979}.validity-scope summary{cursor:pointer}.validity-scroll::-webkit-scrollbar{height:10px;width:10px}.validity-scroll::-webkit-scrollbar-thumb{background:#8daabb;border:2px solid #edf5fa;border-radius:8px}.validity-matrix ::selection{background:#badcf5;color:#123d5a}@media(max-width:850px){.validity-panel{padding:16px}.validity-head{flex-direction:column;gap:12px}.validity-actions{width:100%;justify-content:flex-end}.validity-matrix th:first-child{min-width:130px;max-width:150px}.validity-matrix .validity-cities{min-width:310px}.validity-scroll{max-height:65vh}}@media(prefers-reduced-motion:reduce){.validity-choice{transition:none}}
.validity-actions button{font:inherit;font-size:13px;font-weight:600;padding:10px 16px;border:1px solid #087dce;border-radius:8px;background:#087dce;color:#fff;cursor:pointer}.validity-actions #validityRefresh{background:#f5fafc;color:#315d76;border-color:#b8d5e6}.validity-actions button:disabled{opacity:.5;cursor:not-allowed}.validity-actions button:focus-visible{outline:3px solid #087fd1;outline-offset:2px}.validity-choice{font-family:inherit}
.validity-filters{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0}.validity-filters label{display:flex;align-items:center;gap:8px;font-size:13px;color:#315d76}.validity-filters select{min-width:140px;min-height:40px;font:inherit;border:1px solid #b8d5e6;border-radius:6px;padding:8px;background:#fff;color:#1d3548}.validity-filters select:focus-visible{outline:3px solid #087fd1;outline-offset:2px}.validity-matrix{--validity-brand-width:170px}.validity-matrix th:first-child{width:var(--validity-brand-width);min-width:var(--validity-brand-width);max-width:var(--validity-brand-width);box-sizing:border-box}.validity-matrix .validity-store-city{position:sticky;left:var(--validity-brand-width);min-width:96px;background:#f0f7fb;color:#1d3548;z-index:2}.validity-matrix thead .validity-store-city{background:#183d52;color:#fff;z-index:4}.validity-matrix thead th span,.validity-matrix thead th small{display:block;overflow-wrap:anywhere}.validity-matrix thead th small{margin-top:6px;font-size:12px;font-weight:400;color:#d8eaf4}@media(max-width:850px){.validity-matrix{--validity-brand-width:130px}.validity-filters{gap:12px}.validity-filters label{flex:1}.validity-filters select{min-width:0;flex:1}}
