:root{font-family:Inter,system-ui,Segoe UI,Arial,sans-serif;color:#172033;background:#f4f6f8}*{box-sizing:border-box}body{margin:0}header{background:#111827;color:white;padding:22px 32px}header h1{margin:0;font-size:28px}header p{margin:4px 0 0;color:#aeb8c8}main{max-width:1600px;margin:0 auto;padding:24px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px;box-shadow:0 2px 10px rgba(0,0,0,.03)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.forms{margin:18px 0}.stack{display:grid;gap:10px}input,select,button{font:inherit;border-radius:9px;border:1px solid #cfd5dd;padding:11px 12px;background:#fff}input:focus,select:focus{outline:2px solid #1570ef;outline-offset:0;border-color:#1570ef}button{border:0;background:#111827;color:#fff;cursor:pointer;font-weight:600}button:hover{opacity:.9}.ghost{background:#eef2f7;color:#172033}.danger{background:#b42318}.toolbar{display:flex}.search{display:flex;gap:8px;width:100%}.search input{flex:1}.search a{align-self:center;color:#344054}.table-card{margin-top:18px;padding:0;overflow:hidden}.section-title{display:flex;align-items:center;gap:10px;padding:18px}.section-title h2{margin:0}.section-title span{background:#eef2f7;border-radius:999px;padding:3px 9px;font-size:13px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:1150px}th,td{text-align:left;padding:12px 14px;border-top:1px solid #edf0f3;vertical-align:top}th{font-size:12px;text-transform:uppercase;color:#667085;background:#fafbfc}.actions{display:flex;gap:7px;white-space:nowrap}.actions form{margin:0}.actions button{padding:7px 10px;font-size:12px}.edit-row td{background:#f8fafc}.edit-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr auto;gap:8px}.org-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:8px}.org-edit-grid button{grid-column:span 3}.hidden{display:none!important}.filtered-out{display:none!important}.empty{text-align:center;color:#667085;padding:30px}a{color:#175cd3;text-decoration:none}.address-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.address-grid select,.address-grid input{min-width:0}.autocomplete-wrap{position:relative}.autocomplete-wrap>input:not([type=hidden]){width:100%}.suggestions{position:absolute;z-index:40;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid #d0d5dd;border-radius:12px;box-shadow:0 14px 35px rgba(16,24,40,.13);max-height:320px;overflow:auto;padding:6px}.suggestions-title{padding:8px 10px 5px;color:#667085;font-size:12px;font-weight:700;text-transform:uppercase}.suggestion-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:#fff;color:#172033;border-radius:8px;padding:10px}.suggestion-item:hover{background:#f2f4f7;opacity:1}.suggestion-item span{display:grid;gap:2px;min-width:0}.suggestion-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-item small{font-weight:400;color:#667085;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-item em{font-style:normal;color:#175cd3;font-size:12px;white-space:nowrap}.no-suggestions{padding:12px;color:#667085;text-align:center}.field-hint{display:block;margin:6px 2px 0;color:#667085;font-size:12px}.field-hint.selected{color:#067647;font-weight:600}.row-highlight{animation:rowflash 1.8s ease}.legacy-address{margin-top:10px;padding:10px 12px;border-radius:8px;background:#fffaeb;color:#7a2e0e;font-size:13px}@keyframes rowflash{0%,100%{background:transparent}20%,70%{background:#ecfdf3}}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-box{display:flex;align-items:center;gap:12px}.admin-box span{font-size:14px;color:#d0d5dd}.admin-box form{margin:0}.logout-btn{background:#344054;border:1px solid #475467;padding:8px 12px}.login-body{min-height:100vh;background:#f4f6f8}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,420px);background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:28px;box-shadow:0 16px 50px rgba(16,24,40,.08)}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:24px}.login-logo{width:54px;height:54px;border-radius:14px;background:#111827;color:#fff;display:grid;place-items:center;font-size:20px;font-weight:800}.login-brand h1{margin:0;font-size:22px}.login-brand p{margin:4px 0 0;color:#667085}.login-form label{display:grid;gap:7px;color:#344054;font-size:14px;font-weight:600}.login-form button{margin-top:4px;padding:12px}.alert{padding:11px 12px;border-radius:9px;margin-bottom:16px;font-size:14px}.alert.error{background:#fef3f2;color:#b42318;border:1px solid #fecdca}@media(max-width:1100px){.org-edit-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}.org-edit-grid button{grid-column:span 2}}@media(max-width:900px){main{padding:12px}.grid{grid-template-columns:1fr}.search{flex-wrap:wrap}.search input{min-width:100%}.edit-grid,.org-edit-grid{grid-template-columns:1fr}.org-edit-grid button{grid-column:auto}.card{border-radius:10px}header{padding:18px}}@media(max-width:600px){.topbar{padding:15px}.admin-box span{display:none}.login-card{padding:22px}.address-grid{grid-template-columns:1fr}.suggestion-item em{display:none}}

/* OV v3 — юридична/фактична адреси та структуроване ПІБ */
.address-section-title{margin-top:4px;padding:10px 0 2px;font-size:14px;font-weight:800;color:#344054;text-transform:uppercase;letter-spacing:.03em}
.address-grid-wide{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.field-group{display:grid;gap:6px;min-width:0;color:#475467;font-size:12px;font-weight:700}
.field-group>span{padding-left:2px}
.field-group input,.field-group select{width:100%;font-weight:400;color:#172033}
.field-span-2{grid-column:span 2}
.same-address-check{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #d0d5dd;border-radius:10px;background:#f8fafc;color:#344054;font-weight:600;cursor:pointer}
.same-address-check input{width:18px;height:18px;margin:0;accent-color:#111827}
.same-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#ecfdf3;color:#067647;font-size:12px;font-weight:700;white-space:nowrap}
.person-name-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.contact-edit-grid{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(145px,1fr)) minmax(140px,1fr) minmax(180px,1.2fr) auto;gap:8px;align-items:center}
.org-meta-edit-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}
.contacts-table{min-width:1700px}.organizations-table{min-width:1300px}
.organization-edit-form{padding:6px 2px}
@media(max-width:1100px){.address-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.field-span-2{grid-column:span 2}.person-name-grid{grid-template-columns:1fr 1fr}.person-name-grid input:last-child{grid-column:span 2}.contact-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-edit-grid button{grid-column:span 2}.org-meta-edit-grid{grid-template-columns:1fr 1fr}.org-meta-edit-grid button{grid-column:span 2}}
@media(max-width:700px){.address-grid-wide,.person-name-grid,.contact-edit-grid,.org-meta-edit-grid{grid-template-columns:1fr}.field-span-2,.person-name-grid input:last-child,.contact-edit-grid button,.org-meta-edit-grid button{grid-column:auto}.same-address-check{align-items:flex-start}}

/* OV v4 — окремі розділи «Фірми» та «Особи» */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 28px;background:#111827;color:#fff;position:sticky;top:0;z-index:60;box-shadow:0 1px 0 rgba(255,255,255,.08)}
.topbar-left{display:flex;align-items:center;gap:26px;min-width:0}
.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;white-space:nowrap}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#fff;color:#111827;font-weight:900;letter-spacing:-.03em}
.brand-text{display:grid;gap:2px}.brand-text strong{font-size:14px}.brand-text small{font-size:11px;color:#98a2b3;font-weight:500}
.main-nav{display:flex;align-items:center;gap:6px;padding:4px;border-radius:11px;background:#1f2937}
.main-nav a{display:block;padding:9px 16px;border-radius:8px;color:#d0d5dd;font-weight:700;font-size:14px}
.main-nav a:hover{background:#344054;color:#fff}.main-nav a.active{background:#fff;color:#111827}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:4px 0 18px}
.page-heading h1{margin:0;font-size:30px;letter-spacing:-.02em}.page-heading p{margin:5px 0 0;color:#667085}
.count-badge{display:inline-flex;gap:6px;align-items:center;background:#eef2f7;border-radius:999px;padding:7px 11px;font-size:13px;color:#475467;white-space:nowrap}.count-badge span{font-weight:800;color:#172033}
.compact-card{padding:12px;margin-bottom:18px}.form-card{margin-bottom:18px}.form-title{padding:0 0 14px}.form-title h2{font-size:21px}
.org-create-meta-grid,.person-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.primary-wide{width:100%;padding:13px}
.person-form-card{max-width:1000px}.persons-table{min-width:1050px}.people-count-link{display:inline-flex;min-width:30px;justify-content:center;padding:4px 8px;background:#eef2f7;border-radius:999px;font-weight:800}.org-link strong{color:#172033}.org-link:hover strong{color:#175cd3}
@media(max-width:900px){.topbar{position:static;align-items:flex-start;padding:14px}.topbar-left{align-items:flex-start;flex-direction:column;gap:11px}.main-nav{width:100%}.main-nav a{flex:1;text-align:center}.brand-text{display:none}.page-heading{align-items:flex-start}.org-create-meta-grid,.person-contact-grid{grid-template-columns:1fr}}
@media(max-width:600px){.topbar{flex-direction:column}.topbar-left{width:100%}.admin-box{width:100%;justify-content:space-between}.page-heading{flex-direction:column;gap:10px}.count-badge{align-self:flex-start}}

/* OV v5 — месенджери */
.messenger-badge{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap;background:#f2f4f7;color:#475467}
.status-found{background:#ecfdf3;color:#067647}.status-not_found,.status-not_found_or_private{background:#fff4ed;color:#b54708}.status-error{background:#fef3f2;color:#b42318}.status-unconfigured,.status-disconnected,.status-unsupported,.status-unknown{background:#f2f4f7;color:#667085}.status-rate_limited{background:#fffaeb;color:#b54708}
.check-messengers:disabled{opacity:.55;cursor:not-allowed}.messenger-actions{align-items:flex-start}.persons-table{min-width:1380px}
.integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.integration-card{display:grid;align-content:start;gap:16px}.viber-card{grid-column:span 2}.integration-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.integration-head h2{margin:0 0 5px}.integration-head p{margin:0;color:#667085}.service-state{display:inline-flex;padding:6px 10px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:12px;font-weight:800;white-space:nowrap}.service-state.ok-state{background:#ecfdf3;color:#067647}.muted-state{background:#fffaeb;color:#b54708}.success-panel,.info-panel{padding:13px 14px;border-radius:10px;background:#ecfdf3;color:#065f46}.info-panel{background:#eff8ff;color:#1849a9}.info-panel p{margin:6px 0 0}.warning-note{margin:0;padding:11px 12px;border-radius:9px;background:#fffaeb;color:#7a2e0e;font-size:13px}.qr-panel{display:grid;gap:12px}.qr-panel p{margin:0;color:#475467}.qr-box{min-height:260px;display:grid;place-items:center;border:1px dashed #d0d5dd;border-radius:14px;background:#fafafa}.qr-box img{width:min(100%,280px);height:auto}.integration-message{min-height:20px;color:#067647;font-size:13px;font-weight:600}.error-text{color:#b42318!important}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.messenger-help{margin-top:18px}.messenger-help h2{margin-top:0}.messenger-help p{color:#475467}.messenger-help p:last-child{margin-bottom:0}
@media(max-width:900px){.integration-grid{grid-template-columns:1fr}.viber-card{grid-column:auto}.two-col{grid-template-columns:1fr}}
