:root{font-family:system-ui,-apple-system,sans-serif;color:#1b2335;background:#f3f4f7;font-size:15px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,.button{border:0;border-radius:9px;background:#1b2335;color:white;padding:12px 17px;font:inherit;cursor:pointer;font-weight:600;display:inline-block}button:hover,.button:hover{background:#303c56}.secondary{background:#e9edf3;color:#26334d}.secondary:hover{background:#dce2ed}header{padding:22px 4%;background:white;border-bottom:1px solid #dce1ea;display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:center;gap:12px;font-size:28px;font-weight:750;letter-spacing:-1px}.brand small{display:block;font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;margin-top:3px}nav{display:flex;gap:26px;font-size:14px}.local{margin-left:auto;background:#edf3ef;padding:7px 12px;border-radius:30px;font-size:12px;color:#547368}main{max-width:1440px;margin:auto;padding:36px 4% 60px}.page-title{margin:24px 0 30px}.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:700;color:#68748a}h1{font-size:36px;letter-spacing:-1.2px;margin:12px 0}h2{font-size:21px;margin:10px 0}h3{font-size:17px;margin:0}p{line-height:1.65}.page-title p{color:#647087;margin:8px 0}small,.muted{color:#6b768a}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:30px 0}.summary>div{padding:22px;background:white;border:1px solid #e0e7e2;border-radius:12px;color:#6b768a}.summary strong{display:block;font-size:36px;color:#1b2335;margin-bottom:7px}.event-card,.panel{background:white;border:1px solid #dce1ea;border-radius:13px;padding:24px;margin:20px 0}.event-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}.event-card p{max-width:800px;color:#647087}.section-title{display:flex;justify-content:space-between;align-items:center;margin:24px 0 14px;gap:15px}.section-title span{font-size:12px;color:#6b768a}.controls{display:flex;gap:16px}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;flex:1}input,select,textarea{font:inherit;color:#1b2335;border:1px solid #cfd7e5;border-radius:8px;background:#fbfcfe;padding:11px;max-width:100%;width:100%}textarea{min-height:110px;resize:vertical;margin:10px 0}input:focus,select:focus,textarea:focus{outline:2px solid #8192b4;outline-offset:1px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.notice{background:#eaf0f6;padding:14px;border-radius:9px;margin:12px 0;line-height:1.5}.notice:empty{display:none}.error{background:#fff0eb;color:#a04328}.form-grid,.item{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:20px 0}.item{grid-template-columns:2fr 1fr 1fr 1.5fr 1.5fr;padding:15px;background:#f3f5f8;border-radius:10px}details summary{cursor:pointer;font-weight:650;color:#1b2335;padding:5px 0}.table-wrap{overflow:auto;border-radius:12px;border:1px solid #dae4dc;background:white}table{border-collapse:collapse;width:100%;font-size:12px;min-width:1500px}th{text-align:left;background:#eaf0f6;padding:15px 10px;font-weight:600}td{padding:18px 10px;border-top:1px solid #e3e9e4}td small{display:block;margin-top:4px}.orange{color:#ba6530}.green{color:#20866a}.need-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:20px}.need{background:white;border:1px solid #dce1ea;border-radius:12px;padding:21px}.need-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:20px}.badge{border-radius:30px;padding:5px 9px;font-size:11px;white-space:nowrap;height:fit-content}.warn{background:#fcf0dc;color:#956320}.good{background:#e8f4ed;color:#24735b}.numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:22px}.numbers div{font-size:11px;color:#6b768a}.numbers strong{display:block;font-size:25px;color:#1b2335;margin-top:5px}.numbers small{font-size:11px;font-weight:500}.claim{border-top:1px solid #e6ece6;padding:13px 0;font-size:12px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px}.claim small{width:100%;line-height:1.6}.overview-needs{width:100%}.overview-needs div{border-top:1px solid #e3eae4;padding:13px 0;display:flex;justify-content:space-between;gap:18px;font-size:13px}.back{color:#647087;font-size:13px}footer{border-top:1px solid #dce1ea;text-align:center;font-size:12px;color:#6b768a;padding:25px}@media(max-width:800px){header{flex-wrap:wrap;padding:18px;gap:20px}.brand{font-size:24px}.local{display:none}nav{gap:18px;font-size:12px}main{padding:20px 16px}h1{font-size:28px}.summary{grid-template-columns:repeat(2,1fr);gap:10px}.summary>div{padding:17px}.summary strong{font-size:28px}.need-grid{grid-template-columns:1fr}.table-wrap{display:none}.controls,.section-title{align-items:stretch;flex-direction:column}.panel{padding:18px}.item,.form-grid{grid-template-columns:1fr 1fr}.item label:first-child{grid-column:1/-1}.overview-needs div{flex-direction:column}.event-card{padding:20px}.event-card .button{width:100%;text-align:center}}
/* Спрощена стартова сторінка: тільки довідники та події. */
.directory-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:28px 0}
.directory{background:#fff;border:1px solid #dce1ea;border-radius:13px;padding:25px}
.directory-heading{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.directory-heading strong{font-size:38px;line-height:1;color:#1b2335}
.directory-heading h2{font-size:22px;margin:0}
.directory label{font-weight:500;color:#647087;margin-bottom:9px}
.directory select{background:white;min-height:49px;font-size:16px}
.events-section{margin:32px 0}.events-section>h2{font-size:23px;margin-bottom:16px}
.event-card h3{font-size:21px;margin:10px 0}.event-card p{margin:9px 0}
.create-panel summary{font-size:18px;padding:5px 0}.create-panel{margin:26px 0 34px}
.empty{background:#eaf0f6;color:#647087;padding:20px;border-radius:11px;margin:15px 0}
.record-history{width:100%;border-top:1px solid #e1e9e3;padding-top:15px}
.history{list-style:none;padding:0;margin:18px 0}.history li{border-left:2px solid #d5ddeb;padding:2px 0 8px 16px;margin:15px 0}.history p{margin:4px 0}
.partner-history{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}
.partner-history>div{background:#f3f5f8;padding:16px;border-radius:9px}.partner-history p{font-size:14px}
.manual-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin:20px 0}
.form-submit{align-self:end}.page-title .actions{margin-top:17px}.composer h2{margin:0 0 22px}
@media(max-width:800px){.directory-grid{grid-template-columns:1fr;gap:14px}.directory{padding:21px}.directory-heading{margin-bottom:16px}.manual-fields,.partner-history{grid-template-columns:1fr}.directory-heading strong{font-size:32px}.form-submit{grid-column:1/-1}.form-submit button{width:100%}}
.add-directory{margin-top:16px;font-size:14px}.directory-form{border-top:1px solid #e0e8e2;margin-top:18px;padding-top:18px}.directory-form[hidden]{display:none}.directory-form label{margin-bottom:14px}.directory-form .actions{margin:16px 0 0}.directory-error{color:#a04328;font-size:13px}.directory-error:empty{display:none}

/* Кольори з наданого логотипа RCC. */
header{background:#1b2335;color:#fff;border-bottom-color:#1b2335;gap:24px}.brand small{color:#d7deeb}.rcc-logo{display:block;margin-left:auto;width:240px;height:auto;max-width:38%;object-fit:contain}header nav a{color:#fff}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #8192b4;outline-offset:4px}@media(max-width:800px){header{gap:14px}.brand{font-size:23px}.brand small{font-size:9px}.rcc-logo{width:150px;max-width:35%}header nav{order:3;width:100%}}

.brand{font-size:25px}.brand small{text-transform:none;letter-spacing:.4px;font-size:13px}@media(max-width:800px){.brand{font-size:21px}.brand small{font-size:12px}}

/* Єдина таблиця потреб для комп’ютера та телефона. */
.response-table{display:block;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
.response-table table{min-width:1100px;font-size:16px}
.response-table th,.response-table td{padding:18px 16px;vertical-align:top;line-height:1.5}
.response-table thead th{font-size:15px;background:#eaf0f6}
.response-table tbody th{background:#fff;min-width:210px;border-top:1px solid #e3e9e4}
.response-table th:first-child{position:sticky;left:0;z-index:1;box-shadow:1px 0 0 #dce1ea}
.response-table thead th:first-child{z-index:2}
.response-table td{font-variant-numeric:tabular-nums}
.table-unit,.table-partners span{display:block;font-size:15px;font-weight:400;color:#647087;margin-top:4px}
.table-partners{min-width:230px}.table-partners div+div{margin-top:14px}
.reserve-partner{font-size:15px;margin-top:8px}.response-table button{margin-top:12px;font-size:15px;min-height:44px}
@media(max-width:800px){.response-table{display:block}.response-table th,.response-table td{padding:14px 12px}.response-table tbody th{min-width:150px;max-width:170px}.section-title span{font-size:14px}}

.coordination-table table{min-width:1900px;font-size:16px}.coordination-table thead th{background:#203b60;color:#fff;text-align:center;font-size:15px;min-width:100px}.coordination-table td{text-align:center;min-width:95px}.coordination-table tbody th{text-align:left;min-width:230px;font-weight:500}.coordination-table .timing-row th,.coordination-table .timing-row td{background:#f0f2f6;font-size:15px;font-weight:600}.coordination-table .resource-cell{background:#fff4d5}.coordination-table .total-cell,.coordination-table .result-allocated{background:#e9eff7;font-weight:700}.coordination-table .reserve-cell{background:#eee8fc;color:#6632bb;font-weight:700}.coordination-table .confirmed-cell{background:#e8f5e9;color:#216e39;font-weight:700}.coordination-table .total-value{font-weight:700}.coordination-table .result-confirmed{background:#dcf8e3;color:#216e39}.coordination-table .result-working{background:#fff0c9;color:#a24516}.coordination-table .result-cell{font-weight:700;font-size:15px;white-space:nowrap}.coordination-table .arrival-cell{min-width:170px;font-size:15px}@media(max-width:800px){.coordination-table tbody th{min-width:150px}.coordination-table .timing-row th{min-width:245px}}

#community-message{min-height:160px;font-size:17px;line-height:1.6;margin:0 0 16px}#message-submit{min-height:48px}button:disabled{opacity:.65;cursor:wait}#message-feedback:empty{display:none}

.coordination-table table{min-width:1600px}
/* Компактна таблиця: усі колонки в ширині екрана комп’ютера. */
.coordination-table table{min-width:0;width:100%;table-layout:fixed;font-size:12px}
.coordination-table th,.coordination-table td{padding:10px 4px;min-width:0;max-width:none;overflow-wrap:anywhere;line-height:1.4}
.coordination-table thead th{min-width:0;font-size:11px}
.coordination-table tbody th{min-width:0;max-width:none;font-size:12px}
.coordination-table th:first-child{width:16%}
.coordination-table .timing-row th,.coordination-table .timing-row td{min-width:0;font-size:11px}
.coordination-table .result-cell{font-size:10px;white-space:normal}
.coordination-table button{font-size:11px;padding:8px 4px;min-height:40px}
@media(max-width:600px){.coordination-table table{min-width:1000px}.coordination-table th,.coordination-table td{font-size:14px;padding:12px 8px}.coordination-table thead th,.coordination-table .timing-row th,.coordination-table .timing-row td{font-size:13px}.coordination-table tbody th{font-size:14px}.coordination-table .result-cell{font-size:12px}}

dialog{border:1px solid #dce1ea;border-radius:14px;padding:26px;width:480px;max-width:calc(100% - 32px);color:#1b2335}dialog::backdrop{background:#1b233588}dialog label{margin:16px 0}dialog .actions{margin-bottom:0}#receipt-error:empty{display:none}.coordination-table .receipt-button{display:block;width:100%;margin-top:8px;font-size:10px;padding:6px 3px;line-height:1.3;overflow-wrap:normal}.receipt-button:disabled{cursor:default;background:#e1e6ed;color:#697588}

.sender-role{border:0;padding:0;margin:0 0 18px;display:flex;gap:24px}.sender-role legend{font-size:14px;margin-bottom:10px}.sender-role label{flex:none;flex-direction:row;align-items:center;font-size:16px;cursor:pointer}.sender-role input{width:auto;accent-color:#1b2335}#proposal-partner-label{margin-bottom:18px}#proposal-partner-label[hidden]{display:none}

.proposal-quantity{display:inline-block;width:100px;margin:6px;font-size:16px}#proposal-error:empty{display:none}#proposal-error{padding:12px;border-radius:8px}

.coordination-table .confirmed-view{display:inline-block;background:transparent;color:#216e39;font-size:inherit;padding:4px;min-height:36px;margin:0;text-decoration:underline;text-underline-offset:3px}.confirmed-history article{padding:12px 0;border-bottom:1px solid #dce1ea}.confirmed-history article p{margin:5px 0}.confirmed-history h3{margin-top:20px}#confirmed-dialog{max-height:85vh;overflow-y:auto}

.coordination-table .detail-number{background:transparent;color:inherit;font:inherit;font-weight:inherit;padding:4px;min-height:36px;margin:0;text-decoration:underline;text-underline-offset:3px}#number-dialog{max-height:85vh;overflow-y:auto}#number-dialog form{margin-top:20px}

.coordination-table .deficit-cell{background:#ffe3e3;color:#b42323;font-weight:700}.coordination-table thead th:nth-last-child(4){background:#a92b32;color:#fff}

.verification-list article{padding:16px 0;border-bottom:1px solid #dce1ea}.verification-list p{margin:8px 0}.verification-list{margin-bottom:20px}

.directory-grid.with-needs{grid-template-columns:repeat(3,minmax(0,1fr))}.needs-directory .directory-heading h2{font-size:20px}.needs-directory p{color:#647087;margin:0 0 20px}.catalog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 32px;padding-left:22px;font-size:16px;line-height:1.5}.catalog-list li[hidden],.catalog-group[hidden],#needs-empty[hidden]{display:none}@media(max-width:800px){.directory-grid.with-needs,.catalog-list{grid-template-columns:1fr}}

.needs-heading h2{font-size:21px;line-height:1.3;margin:0 0 14px;max-width:320px;text-wrap:balance}.needs-count{display:flex;align-items:center;gap:12px;margin-bottom:18px}.needs-count strong{font-size:32px;line-height:1;color:#1b2335}.needs-count span{font-size:14px;color:#647087}.needs-directory{display:flex;flex-direction:column}.needs-directory>.button{align-self:flex-start;margin-top:auto}
@media(min-width:801px) and (max-width:1100px){.needs-heading h2{font-size:18px}.needs-directory>.button{font-size:13px;padding:12px;white-space:nowrap}.needs-count{gap:8px}.needs-count span{font-size:12px}}

/* RCC: стримана палітра, виразна типографіка й спокійна ієрархія. */
:root{--ink:#1b2335;--muted:#637086;--line:#e0e5ec;--surface:#fff;background:#f5f6f8;color:var(--ink);font-size:16px;-webkit-font-smoothing:antialiased}
header{padding:22px max(32px,calc((100vw - 1280px)/2));border-bottom:1px solid #30394d}
.brand{font-size:25px;letter-spacing:-.7px}.brand small{font-size:12px;font-weight:400;letter-spacing:.25px;color:#d6dce7;margin-top:5px}
main{max-width:1344px;padding:44px 32px 64px}
.page-title{margin:12px 0 34px}.page-title h1{font-size:40px;font-weight:720;line-height:1.15;letter-spacing:-1.4px;margin:0 0 15px}.page-title p{font-size:16px;line-height:1.65;color:var(--muted)}
.directory-grid{gap:20px;margin:30px 0}.directory,.panel,.event-card{border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 3px 12px #1b233504}
.directory{padding:26px;min-width:0;display:flex;flex-direction:column}
.directory-heading{flex-direction:column-reverse;align-items:flex-start;gap:14px;margin-bottom:24px}
.directory-heading h2,.needs-heading h2{font-size:21px;line-height:1.3;font-weight:680;letter-spacing:-.35px;min-height:55px;margin:0;text-wrap:balance}
.directory-heading strong,.needs-count strong{font-size:40px;letter-spacing:-1.3px;line-height:1;font-weight:650;color:var(--ink)}
.needs-heading h2{margin-bottom:14px}.needs-count{margin-bottom:24px;min-height:40px}.needs-count span{font-size:13px}
.directory label{font-size:13px;color:var(--muted);margin-bottom:10px}.directory select{min-height:48px;font-size:15px;cursor:pointer;background:#fafbfd;border-color:#dbe1ea;border-radius:9px}
button,.button{border-radius:9px;padding:13px 18px;font-size:14px;font-weight:620;min-height:44px;transition:background .15s ease,box-shadow .15s ease}
button:hover,.button:hover{background:#303c56}.secondary{background:#edf0f5;color:#28344b}.secondary:hover{background:#e2e7ef}
.directory .add-directory{align-self:flex-start;margin-top:18px}.needs-directory>.button{margin-top:18px;white-space:nowrap;font-size:14px;align-self:flex-start}.needs-directory p{font-size:14px;line-height:1.65;margin-bottom:0;min-height:48px}
.create-panel{margin:28px 0 38px;padding:22px 26px;background:#fff}.create-panel summary{font-size:17px;color:var(--ink)}
.events-section{margin:36px 0}.events-section>h2{font-size:23px;font-weight:670;letter-spacing:-.4px;margin-bottom:20px}
.event-card{padding:26px 28px;margin:16px 0;gap:24px}.event-card h3{font-size:21px;line-height:1.4;font-weight:660;letter-spacing:-.3px}.event-card p{font-size:15px;line-height:1.7;color:var(--muted);max-width:760px}.eyebrow{font-size:11px;color:#69778d;letter-spacing:1.2px}.event-card .button{white-space:nowrap}
.active-events .event-card{border-left:3px solid #405778}.closed-events .event-card{background:#fbfcfd}.closed-events .event-card .button{background:#edf0f5;color:#28344b}.closed-events .event-card .button:hover{background:#e2e7ef}
.panel{padding:26px}.composer h2{font-size:23px;letter-spacing:-.4px}.sender-role legend{color:var(--muted)}
input,select,textarea{border-color:#dbe1ea;background:#fafbfd}#community-message{background:#fafbfd;font-size:16px;border-radius:11px}
details.panel summary{font-size:17px;color:var(--ink);line-height:1.5}dialog{box-shadow:0 24px 80px #10182e33;border-color:var(--line);border-radius:16px}
.catalog-group h2{letter-spacing:-.35px}.catalog-list{row-gap:14px;color:#344157}.catalog-list li::marker{color:#8594aa}
footer{border-color:var(--line);color:#6c778a;font-size:12px;background:#f5f6f8}
@media(min-width:801px) and (max-width:1100px){.directory{padding:22px}.directory-heading h2,.needs-heading h2{font-size:18px;min-height:48px}.directory-heading strong,.needs-count strong{font-size:36px}.needs-count{gap:8px}.needs-count span{font-size:12px}.needs-directory>.button{font-size:12px;padding:12px 10px}.directory .add-directory{font-size:12px;padding:12px}.directory select{font-size:14px}}
@media(max-width:800px){header{padding:20px}.brand{font-size:23px}main{padding:30px 20px 44px}.page-title h1{font-size:32px;letter-spacing:-.9px}.page-title{margin-bottom:26px}.directory-grid{gap:14px}.directory{padding:24px}.directory-heading{flex-direction:row;align-items:center;gap:16px;margin-bottom:24px}.directory-heading h2{min-height:0;font-size:22px}.directory-heading strong{font-size:36px}.needs-heading h2{min-height:0;font-size:22px;max-width:none;margin-bottom:16px;text-wrap:initial}.needs-count{margin-bottom:18px}.needs-directory p{min-height:0}.needs-directory>.button{margin-top:20px}.panel,.event-card{padding:22px}.event-card h3{font-size:20px}.create-panel{padding:22px}.events-section>h2{font-size:22px}.event-card .button{width:100%;text-align:center}.rcc-logo{width:150px}.page-title .actions{gap:10px}.catalog-list{font-size:16px}}
@media(prefers-reduced-motion:reduce){button,.button{transition:none}}

.catalog-stat{font-size:16px;font-weight:600;color:#637086;margin:16px 0 20px}.catalog-block-links{padding:0;list-style:none;margin:0 0 6px;display:grid;gap:10px;font-size:13px;line-height:1.45}.catalog-block-links a:hover{color:#203b60;text-decoration:underline}.catalog-back{display:inline-block;color:#637086;font-size:14px;margin-bottom:24px}.catalog-back:hover{color:#1b2335}.catalog-index{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}.catalog-index a{background:#edf0f5;border-radius:8px;padding:10px 14px;font-size:14px;color:#28344b}.catalog-index a:hover{background:#e2e7ef}.catalog-group{scroll-margin-top:24px}.catalog-block-links li{border-bottom:1px solid #edf0f5;padding-bottom:7px}@media(max-width:800px){.catalog-block-links{font-size:15px;gap:12px}.catalog-stat{font-size:17px}.catalog-index{flex-direction:column}}

label:has(>#catalog-block){margin-bottom:20px}#catalog-block{margin-top:4px}.needs-directory>.button{margin-top:18px}

.needs-directory .catalog-inline,.catalog-inline{font-size:13px;line-height:1.7;color:#637086;margin:0;min-height:0}.catalog-inline-page{font-size:15px;margin:0 0 24px;max-width:1000px}.needs-directory>.button{margin-top:18px}

.needs-heading h2{margin-bottom:0}.catalog-stat{display:flex;gap:32px;margin:14px 0 24px;align-items:flex-start}.catalog-stat>div{display:flex;flex-direction:column;gap:8px}.catalog-stat strong{font-size:40px;line-height:1;font-weight:650;letter-spacing:-1.3px;color:#1b2335}.catalog-stat span{font-size:13px;font-weight:500;color:#637086}@media(min-width:801px) and (max-width:1100px){.catalog-stat strong{font-size:36px}}@media(max-width:800px){.catalog-stat strong{font-size:36px}}

.directory-hub{background:#fff;border:1px solid #e0e5ec;border-radius:16px;margin:30px 0;padding:26px 0;box-shadow:0 3px 12px #1b233504}.directory-hub>h2{font-size:13px;letter-spacing:1.7px;font-weight:650;color:#637086;margin:0 26px 24px}.directory-hub .directory-grid{margin:0;gap:0}.directory-hub .directory{border:0;border-radius:0;box-shadow:none;background:transparent;padding:0 26px}.directory-hub .directory+.directory{border-left:1px solid #e0e5ec}.directory-hub .directory-heading h2,.directory-hub .needs-heading h2{min-height:30px}.directory-hub .directory-heading{margin-bottom:24px}.directory-hub .needs-directory>.button{margin-top:auto}.directory-hub .catalog-stat{margin-bottom:28px}@media(max-width:800px){.directory-hub{padding:24px 0}.directory-hub>h2{margin:0 24px 24px}.directory-hub .directory{padding:0 24px 24px}.directory-hub .directory+.directory{border-left:0;border-top:1px solid #e0e5ec;padding-top:24px}.directory-hub .directory:last-child{padding-bottom:0}.directory-hub .directory-heading h2{min-height:0}.directory-hub .needs-directory>.button{margin-top:0}}

.directory-hub>h2{font-size:23px;line-height:1.3;letter-spacing:-.4px;font-weight:670;color:#1b2335;margin-bottom:28px}
.directory-hub>h2{margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid #e0e5ec}
.directory-hub>h2{text-align:center}
.directory-hub{padding-top:0;overflow:hidden}.directory-hub>h2{margin:0 0 26px;padding:20px 26px;background:#eaf0f7;border-bottom:1px solid #dce4ee;text-align:center}@media(max-width:800px){.directory-hub{padding-top:0}.directory-hub>h2{margin:0 0 24px;padding:18px 24px}}
/* Узгоджена сітка трьох розділів довідника. */
@media(min-width:801px){.directory-hub .directory-heading h2,.directory-hub .needs-heading h2{min-height:52px;display:flex;align-items:flex-start}.directory-hub .directory-heading strong,.directory-hub .catalog-stat strong{font-size:40px;line-height:1;font-weight:650;letter-spacing:-1.3px}.directory-hub .add-directory,.directory-hub .needs-directory>.button{font-size:14px;line-height:20px;min-height:44px;padding:12px 16px}.directory-hub .needs-directory>.button{margin-top:auto}.directory-hub .directory{padding-left:26px;padding-right:26px}}
@media(min-width:801px) and (max-width:1100px){.directory-hub .directory{padding-left:22px;padding-right:22px}.directory-hub .add-directory,.directory-hub .needs-directory>.button{font-size:12px;padding:12px 10px}.directory-hub .directory-heading strong,.directory-hub .catalog-stat strong{font-size:36px}}
@media(max-width:800px){.directory-hub .directory{padding-left:24px;padding-right:24px}.directory-hub .add-directory,.directory-hub .needs-directory>.button{font-size:14px;min-height:46px;padding:13px 16px}.directory-hub .catalog-stat{margin-top:16px;margin-bottom:24px}}
@media(min-width:801px){.directory-hub .catalog-stat>div{gap:24px}.directory-hub .catalog-stat span{font-size:13px;line-height:normal}}

.catalog-help{background:transparent;color:#405778;padding:0;margin:0 0 20px;text-align:left;font-size:14px;text-decoration:underline;text-underline-offset:4px;min-height:36px}.catalog-help:hover{background:transparent;color:#1b2335}.pending-offer{border-top:1px solid #e0e5ec;padding-top:18px;margin-top:18px}#event-catalog-dialog{width:640px;max-height:85vh;overflow:auto}.catalog-choice{flex-direction:row;align-items:center;gap:12px;font-size:15px;font-weight:400;margin:12px 0}.catalog-choice input{width:18px;height:18px;flex:none}.catalog-choice[hidden],.event-catalog-group[hidden],#partner-deficits[hidden]{display:none}.event-catalog-group{border-top:1px solid #e0e5ec;padding:14px 0}#event-catalog-dialog>.actions{position:sticky;bottom:-26px;background:white;padding:16px 0;margin:0}

.receipt-record{padding:20px 0;border-bottom:1px solid #e0e5ec}.receipt-record p{margin:8px 0}.receipt-record textarea{min-height:75px}.receipt-photos{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.receipt-photos img{width:140px;height:110px;object-fit:cover;border-radius:9px;border:1px solid #dce1ea}.verified-mark{color:#216e39;font-weight:600}.result-cell small{font-weight:400;line-height:1.5}input[type=file]{padding:12px;font-size:14px}@media(max-width:600px){.receipt-photos img{width:120px;height:100px}}

.coordination-table thead th{vertical-align:middle}.coordination-table thead th:last-child{width:12%;overflow-wrap:normal;word-break:normal;text-align:center;padding:12px 6px}.verification-title{display:block;white-space:nowrap;line-height:1.6}.coordination-table .result-cell{text-align:center;overflow-wrap:normal;word-break:normal}

.archive-link{display:inline-block;color:#637086;font-size:14px;padding:12px 0;text-decoration:underline;text-underline-offset:4px}#restore-event{margin:16px 0 24px}

.reopen-control{padding:16px 0 24px;border-bottom:1px solid #e0e5ec;margin-bottom:20px}.reopen-control label{margin-top:14px}#reopen-error:empty{display:none}

.event-description{white-space:pre-wrap}.description-editor{margin:12px 0 20px}.description-editor summary{font-size:14px;color:#405778}.description-editor form{padding:20px;margin-top:12px;background:white;border:1px solid #e0e5ec;border-radius:12px}.description-editor textarea{min-height:220px;font-size:16px;line-height:1.6}.description-editor .actions{margin:8px 0 0}#description-error:empty{display:none}

.coordination-table thead th:nth-last-child(5){width:11%;overflow-wrap:normal;word-break:normal;text-align:center;padding:12px 5px}.allocation-title{display:block;white-space:nowrap;line-height:1.6}

.kyiv-map-panel{border:1px solid #e0e5ec;background:#fff;border-radius:16px;overflow:hidden;margin:28px 0}.kyiv-map-header{display:flex;align-items:center;gap:20px;padding:20px 26px;border-bottom:1px solid #e0e5ec}.kyiv-map-header h2{font-size:22px;margin:0}.kyiv-map-header>span{font-size:13px;color:#637086;margin-left:auto}#kyiv-map-toggle{display:none}#kyiv-map-content{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);align-items:center;padding:10px 26px;gap:28px}#kyiv-district-map > svg{width:100%;height:350px;display:block}.district-shape{cursor:pointer;transition:fill .15s}.district-shape:hover,.district-shape:focus{fill:#b9cce4;stroke:#1b2335;stroke-width:3;outline:none}.district-legend>p{font-size:13px;color:#637086;margin:0 0 10px}.district-link{display:flex;align-items:center;gap:12px;background:transparent;color:#1b2335;border-radius:8px;width:100%;padding:9px 10px;text-align:left;font-size:14px;font-weight:500;min-height:40px}.district-link:hover{background:#edf2f8}.district-link>span{background:#1b2335;color:#fff;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;flex:none}.district-link small{margin-left:auto;white-space:nowrap;font-size:12px;color:#637086}.map-source{font-size:11px;color:#748196;padding:0 26px 14px;margin:0;line-height:1.6}.map-source a{text-decoration:underline}.district-communities{display:grid;gap:10px;margin:20px 0}.district-communities a{padding:12px;background:#edf2f8;border-radius:8px}#district-dialog{max-height:85vh;overflow:auto}@media(max-width:800px){.kyiv-map-header{padding:18px 22px;flex-wrap:wrap;gap:10px}.kyiv-map-header h2{font-size:21px}.kyiv-map-header>span{margin-left:0}#kyiv-map-toggle{display:block;width:100%;margin-top:5px}#kyiv-map-content,.kyiv-map-panel .map-source{display:none}.kyiv-map-panel.expanded #kyiv-map-content{display:grid;grid-template-columns:1fr;padding:12px 20px;gap:12px}.kyiv-map-panel.expanded .map-source{display:block;padding:12px 20px}#kyiv-district-map > svg{height:330px}}
/* Візуальна композиція карти Київщини. */
.kyiv-map-header{background:#eaf0f7;padding:20px 26px}.kyiv-map-header h2{font-size:23px;font-weight:670;letter-spacing:-.4px}.kyiv-map-header>span{color:#596b84}#kyiv-map-content{grid-template-columns:minmax(0,1.35fr) minmax(290px,1fr);gap:0;padding:24px 32px;background:linear-gradient(90deg,#f8fafc 0%,#fff 68%)}#kyiv-district-map > svg{height:410px}.district-shape{stroke:#405b7c;stroke-width:2.2}.district-shape:hover,.district-shape:focus,.district-shape.is-highlighted{fill:#a9c1df;stroke:#203b60;stroke-width:3.4}.district-legend{padding:8px 10px 8px 32px;border-left:1px solid #e0e5ec}.district-legend>p{font-size:14px;line-height:1.6;margin-bottom:18px;max-width:320px}.district-link{font-size:16px;padding:12px;min-height:50px;gap:14px;border-bottom:1px solid #edf0f5;border-radius:7px}.district-link:last-child{border-bottom:0}.district-link>span{width:28px;height:28px;font-size:13px}.district-link small{font-size:13px}.district-link:hover,.district-link:focus-visible{background:#eaf0f7}.map-source{padding:14px 26px;margin:0;border-top:1px solid #edf0f5;background:#fbfcfd;font-size:11px;color:#6c7a8f}@media(max-width:800px){.kyiv-map-header{padding:18px 22px}.kyiv-map-header h2{font-size:21px}.kyiv-map-panel.expanded #kyiv-map-content{padding:18px 20px;background:#fff}.district-legend{padding:16px 0 0;border-left:0;border-top:1px solid #e0e5ec}.district-link{font-size:15px;padding:12px 8px}.district-legend>p{margin-bottom:10px}#kyiv-district-map > svg{height:350px}}

.header-slogan{margin-left:auto;color:#dce3ef;font-size:16px;font-weight:500;letter-spacing:.1px;line-height:1.4}@media(max-width:800px){.header-slogan{font-size:13px;max-width:145px;text-align:right}}
/* Нейтральна спільна палітра громад і партнерів. */
:root{--ink:#252b33;--muted:#626d78;--line:#e1e4e7;background:#f7f7f4;color:var(--ink)}
header{background:#252b33;border-bottom-color:#383f48}.header-slogan{color:#eef0f3}
button,.button{background:#466a89;color:#fff}button:hover,.button:hover{background:#385873}.secondary{background:#eaf0f4;color:#344f66}.secondary:hover{background:#dce6ee}
.directory-hub,.directory,.panel,.event-card,.kyiv-map-panel{border-color:#e1e4e7}.directory-hub>h2,.kyiv-map-header{background:#eaf0f4;color:#252b33;border-bottom-color:#dae2e8}
.directory-heading strong,.catalog-stat strong,.directory-hub>h2,details.panel summary,.create-panel summary{color:#252b33}
.page-title p,.event-card p,.directory label,.catalog-stat span,.archive-link,.map-source{color:#626d78}
.directory select,input,select,textarea,#community-message{background:#fbfcfc;border-color:#d6dee5;color:#252b33}input:focus,select:focus,textarea:focus{outline-color:#819db3}
.active-events .event-card{border-left-color:#466a89}.closed-events .event-card{background:#fcfcfa}.closed-events .event-card .button{background:#eaf0f4;color:#344f66}.closed-events .event-card .button:hover{background:#dce6ee}
.empty,.notice{background:#edf2f5;color:#45596b}.error,.notice.error{background:#fff0ed;color:#a13939}.good,.confirmed-cell{background:#e8f2eb;color:#35735a}.verified-mark{color:#35735a}
.coordination-table thead th{background:#344f66;color:#fff}.coordination-table thead th:nth-last-child(4){background:#b54444}.coordination-table .deficit-cell{background:#fce8e8;color:#b54444}.coordination-table .confirmed-cell,.coordination-table .result-confirmed{background:#e8f2eb;color:#35735a}.coordination-table .confirmed-view{color:#35735a}.coordination-table .total-cell,.coordination-table .result-allocated{background:#eaf0f4}.coordination-table .timing-row th,.coordination-table .timing-row td{background:#f0f2f3}.coordination-table .detail-number,.coordination-table .confirmed-view{background:transparent}.coordination-table .detail-number:hover,.coordination-table .confirmed-view:hover{background:#252b3308}
.catalog-help,.catalog-back,.region-map-caption a{color:#466a89}.catalog-help:hover{color:#344f66;background:transparent}.district-link{background:transparent;color:#252b33}.district-link:hover,.district-link:focus-visible{background:#eaf0f4}.district-link>span{background:#344f66}.district-shape:hover,.district-shape:focus,.district-shape.is-highlighted{fill:#bfd0dd;stroke:#344f66}
#kyiv-map-content{background:linear-gradient(90deg,#f7f9fa 0%,#fff 68%)}footer{background:#f7f7f4;border-color:#e1e4e7;color:#626d78}dialog{color:#252b33}.receipt-record,.verification-list article{border-color:#e1e4e7}
@media(max-width:800px){.kyiv-map-panel.expanded #kyiv-map-content{background:#fff}}
@media(min-width:601px) and (max-width:1100px){.verification-title,.allocation-title{font-size:10px}}

.brand{font-family:Georgia,"Times New Roman",serif;font-size:34px;font-weight:500;letter-spacing:-.7px;gap:16px;line-height:1.2}.kyiv-coat{display:block;width:40px;height:50px;object-fit:contain;flex:none}.header-slogan{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:21px;font-weight:400;letter-spacing:.2px;color:#eef0f3}@media(max-width:800px){.brand{font-size:28px;gap:11px}.kyiv-coat{width:30px;height:38px}.header-slogan{font-size:16px;max-width:145px}}

#kyiv-district-map{height:430px;border-radius:10px;border:1px solid #d6dee5;position:relative;z-index:0;background:#edf2f5}#kyiv-district-map .leaflet-container{font-family:inherit}.leaflet-popup-content{font-family:system-ui;line-height:1.6}.map-popup-button{display:block;margin-top:12px;font-size:13px;padding:9px 12px;min-height:38px}.map-reset{position:absolute;bottom:28px;left:12px;z-index:500;background:#fff;color:#344f66;border:1px solid #d6dee5;box-shadow:0 2px 8px #252b3314;font-size:12px;padding:8px 12px;min-height:36px}.map-reset:hover{background:#eaf0f4}.leaflet-control-zoom a{color:#252b33}.leaflet-control-attribution{font-size:10px}@media(max-width:800px){#kyiv-district-map{height:350px}}

.map-community-list{display:grid;gap:2px;max-height:410px;overflow-y:auto;padding-right:6px}.map-community-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;font-size:14px;border-bottom:1px solid #edf0f5;border-radius:7px}.map-community-link:hover,.map-community-link.current-community{background:#eaf0f4;color:#344f66}.map-community-link.current-community{font-weight:650}.map-community-link span{color:#8195a7}@media(max-width:800px){.map-community-list{max-height:none}.map-community-link{font-size:15px}}

.proposal-unit{display:inline-block;width:210px;margin:6px;font-size:15px}.proposal-unit:placeholder-shown{border-color:#b54444}@media(max-width:600px){.proposal-unit{width:calc(100% - 12px)}}

.catalog-unit{color:#626d78;font-size:14px;font-weight:400}

/* Палітра й шапка за наданим зразком Київської ОВА. */
header{background:linear-gradient(180deg,#25476e 0%,#2e588e 100%);display:flex;flex-direction:column;justify-content:center;gap:10px;padding:18px 24px 22px;border-bottom:0;text-align:center}.brand{flex-direction:column;gap:12px;font-family:system-ui,-apple-system,sans-serif;font-size:28px;font-weight:750;letter-spacing:.5px;line-height:1.1;color:#fff}.kyiv-coat{width:62px;height:77px}.administration-title{text-transform:uppercase}.header-slogan{margin:0;font:italic 17px Georgia,serif;color:#bfd0e6;letter-spacing:.2px;max-width:none;text-align:center}header nav{order:3;margin-top:5px;width:auto}
button,.button{background:#2e588e}button:hover,.button:hover{background:#25476e}.secondary{background:#e8eff7;color:#25476e}.secondary:hover{background:#dbe6f3}.directory-hub>h2,.kyiv-map-header{background:#e8eff7;border-color:#d6e1ef}.active-events .event-card{border-left-color:#2e588e}.catalog-help,.catalog-back{color:#2e588e}.coordination-table thead th{background:#25476e}.coordination-table thead th:nth-last-child(4){background:#b54444}.coordination-table .detail-number,.coordination-table .confirmed-view,.district-link{background:transparent}.map-reset,.closed-events .event-card .button{background:#e8eff7;color:#25476e}.district-link>span{background:#25476e}.district-link:hover{background:#e8eff7}
@media(max-width:800px){header{padding:16px 20px 20px;gap:10px}.brand{font-size:20px;line-height:1.2;letter-spacing:.3px;gap:12px}.kyiv-coat{width:48px;height:60px}.header-slogan{font-size:15px;max-width:none;text-align:center}}

/* Службові елементи пілотної роботи; основна палітра незмінна. */
[hidden]{display:none!important}
.manual-entry{margin-top:20px;padding-top:16px;border-top:1px solid #dce4ed}
.manual-entry summary{font-weight:600;cursor:pointer;color:#365d85}
.manual-entry form{margin-top:16px}
.session-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;color:#526579;font-size:14px}
.login-panel{max-width:480px;margin:8vh auto}
.login-panel form{display:grid;gap:16px}
