.phonebook-note{display:flex;align-items:flex-start;gap:11px;padding:12px 14px;margin:0 0 17px;border:1px solid #d8e7f4;border-radius:10px;background:#f1f7fc;color:#345e80}
.phonebook-note>b{font-size:19px;color:#2364aa}
.phonebook-note strong,.phonebook-note small{display:block}
.phonebook-note strong{font-size:11px;margin-bottom:3px}
.phonebook-note small{font-size:10px;line-height:1.7;color:#688199}
.phonebook-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.phonebook-search{display:flex;align-items:center;gap:8px;flex:1;max-width:450px;padding:0 12px;border:1px solid #dce5ee;border-radius:9px;background:#fff;color:#718398}
.phonebook-search>span{font-size:22px}
.phonebook-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;padding:11px 0;color:#172b4d;font-size:11px}
.phonebook-add{flex:0 0 auto;border:0;border-radius:9px;background:#2364aa;color:white;padding:11px 14px;font-size:11px;font-weight:750}
.phonebook-dept-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:19px}
.phonebook-dept{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;border:1px solid #b7dfc6;border-radius:10px;background:#eaf7ee;padding:11px 12px;text-align:left;color:#176b3a;box-shadow:0 2px 5px #176b3a0a;transition:background .15s,border-color .15s,transform .15s}
.phonebook-dept strong{font-size:10px;line-height:1.5;font-weight:750}
.phonebook-dept span{flex:0 0 auto;min-width:22px;height:22px;display:grid;place-items:center;border-radius:20px;background:#d3eedc;color:#176b3a;font-size:9px;font-weight:800}
.phonebook-dept:hover{background:#d9f1e1;border-color:#72bd8b;transform:translateY(-1px)}
.phonebook-dept.active{border-color:#168044;background:#168044;color:#fff;box-shadow:0 3px 9px #16804426}
.phonebook-dept.active span{background:#e0f4e7;color:#126b37}
.phonebook-form-panel{margin:0 0 20px;border:1px solid #dce6ef;border-radius:12px;background:#fbfdff;padding:17px}
.phonebook-form-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:13px}
.phonebook-form-heading strong,.phonebook-form-heading small{display:block}
.phonebook-form-heading strong{font-size:13px}
.phonebook-form-heading small{font-size:10px;color:#7e8fa0;margin-top:4px}
.phonebook-form-heading>button{border:0;background:transparent;color:#73869a;font-size:22px}
.phonebook-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.phonebook-form-grid>div{min-width:0}
.phonebook-form-grid .full{grid-column:1/-1}
.phonebook-form-grid label{display:block;margin:4px 0 5px;color:#52677d;font-size:10px;font-weight:700}
.phonebook-form-grid input,.phonebook-form-grid select{width:100%;min-width:0;border:1px solid #d8e2ec;border-radius:8px;padding:10px 11px;background:white;color:#172b4d;font-size:11px;outline:none}
.phonebook-form-grid input:focus,.phonebook-form-grid select:focus{border-color:#78a4ce;box-shadow:0 0 0 3px #2364aa12}
.phonebook-form-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:13px}
.phonebook-form-footer>span{font-size:10px;color:#bd3e46}
.phonebook-form-footer>div{display:flex;gap:8px}
.phonebook-cancel,.phonebook-save{border-radius:8px;padding:9px 13px;font-size:10px;font-weight:750}
.phonebook-cancel{border:1px solid #dce5ed;background:white;color:#64798d}
.phonebook-save{border:1px solid #2364aa;background:#2364aa;color:white}
.phonebook-results-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:22px 0 11px}
.phonebook-results-head h3{font-size:15px;margin:0 0 4px}
.phonebook-results-head small{font-size:10px;color:#8090a0}
.phonebook-results-head>span{font-size:8px;font-weight:800;letter-spacing:1.2px;color:#9aa7b4}
.phonebook-results{display:grid;gap:17px}
.phonebook-department-group{min-width:0}
.phonebook-group-title{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e6edf3;padding:0 0 8px;margin-bottom:9px}
.phonebook-group-title h4{font-size:12px;margin:0;color:#244d70}
.phonebook-group-title span{font-size:9px;color:#8494a3}
.phonebook-person-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.phonebook-person{display:flex;align-items:flex-start;gap:10px;min-width:0;border:1px solid #e3eaf0;border-radius:10px;background:#fff;padding:11px}
.phonebook-person-avatar{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:#e7f0f9;color:#245d91;font-size:13px;font-weight:800}
.phonebook-person-info{display:grid;gap:3px;flex:1;min-width:0}
.phonebook-person-info strong{font-size:11px;line-height:1.6;overflow-wrap:anywhere}
.phonebook-person-info>span{font-size:9px;color:#6d8093;line-height:1.5}
.phonebook-person-info>small{font-size:9px;color:#8998a7}
.phonebook-number{font-size:10px;font-weight:750;color:#2364aa;text-decoration:none;margin-top:2px}
.phonebook-person-actions{display:flex;gap:3px;flex:0 0 auto}
.phonebook-person-actions a,.phonebook-person-actions button{width:25px;height:25px;display:grid;place-items:center;border:0;border-radius:6px;background:#f2f6fa;color:#356489;text-decoration:none;font-size:12px}
.phonebook-person-actions button{cursor:pointer}
.phonebook-person-actions a:hover,.phonebook-person-actions button:hover{background:#e2edf7}
.phonebook-empty{display:grid;justify-items:center;gap:8px;padding:36px 15px;border:1px dashed #d4e0ea;border-radius:11px;background:#fff;color:#72869a;text-align:center}
.phonebook-empty>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#e8f1fa;color:#2364aa;font-size:20px}
.phonebook-empty strong{font-size:12px;color:#425a72}
.phonebook-empty small{max-width:480px;font-size:10px;line-height:1.7}
.phonebook-footer{margin-top:17px;border-top:1px solid #edf1f5;padding-top:12px;color:#94a0ac;font-size:9px;line-height:1.6}
@media(max-width:900px){.phonebook-dept-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.phonebook-person-grid{grid-template-columns:1fr}}
@media(max-width:580px){.phonebook-toolbar{align-items:stretch;flex-direction:column}.phonebook-search{max-width:none}.phonebook-add{width:100%}.phonebook-dept-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.phonebook-dept{padding:8px}.phonebook-dept strong{font-size:9px}.phonebook-form-grid{grid-template-columns:1fr}.phonebook-form-grid .full{grid-column:auto}.phonebook-form-footer{align-items:flex-start;flex-direction:column}.phonebook-form-footer>div{width:100%}.phonebook-form-footer button{flex:1}.phonebook-person{padding:9px}.phonebook-person-actions{flex-direction:column}}


/* Larger, clearer typography across the Phone Book */
.phonebook-note strong{font-size:14px}.phonebook-note small{font-size:13px;line-height:1.8}
.phonebook-search input{font-size:15px;padding:13px 0}.phonebook-add{font-size:14px;padding:13px 17px}
.phonebook-dept{padding:13px 14px}.phonebook-dept strong{font-size:14px;line-height:1.65}.phonebook-dept span{min-width:26px;height:26px;font-size:12px}
.phonebook-form-heading strong{font-size:16px}.phonebook-form-heading small{font-size:13px}
.phonebook-form-grid label{font-size:13px}.phonebook-form-grid input,.phonebook-form-grid select{font-size:15px;padding:12px}
.phonebook-form-footer>span{font-size:13px}.phonebook-cancel,.phonebook-save{font-size:14px;padding:11px 16px}
.phonebook-results-head h3{font-size:19px}.phonebook-results-head small{font-size:13px}.phonebook-results-head>span{font-size:10px}
.phonebook-group-title h4{font-size:15px}.phonebook-group-title span{font-size:12px}
.phonebook-person{padding:14px;gap:12px}.phonebook-person-avatar{width:40px;height:40px;font-size:16px}
.phonebook-person-info strong{font-size:14px;line-height:1.7}.phonebook-person-info>span,.phonebook-person-info>small{font-size:12px;line-height:1.7}
.phonebook-number{font-size:14px}.phonebook-person-actions a,.phonebook-person-actions button{width:31px;height:31px;font-size:15px}
.phonebook-empty strong{font-size:15px}.phonebook-empty small{font-size:13px;line-height:1.8}.phonebook-footer{font-size:12px}
@media(max-width:580px){
 .phonebook-dept{padding:11px 9px}.phonebook-dept strong{font-size:12px}
 .phonebook-person{padding:12px}.phonebook-person-info strong{font-size:14px}
 .phonebook-person-actions{flex-direction:row}
}

/* Admin-only Finance Vote assignment controls */
.pb-finance-assignment-section{grid-column:1/-1;border:1px solid #d8e1eb;border-radius:12px;padding:15px;background:#f8fafc;margin-top:4px}
.pb-finance-assignment-heading{display:grid;gap:5px;margin-bottom:12px}
.pb-finance-assignment-heading strong{color:#173f63}
.pb-finance-assignment-heading small,.pb-finance-no-programs{color:#64748b;font-size:12px}
.pb-finance-assignment-list{display:grid;gap:10px;max-height:420px;overflow:auto}
.pb-finance-ministry{border:1px solid #dce4ed;border-radius:10px;background:#fff;padding:10px}
.pb-finance-ministry-choice{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.pb-finance-ministry-choice small{margin-left:auto;color:#176b58;font-weight:700}
.pb-finance-programs{display:grid;gap:7px;margin:10px 0 0 25px;padding-left:12px;border-left:2px solid #dbe4ee}
.pb-finance-programs label{display:flex;align-items:flex-start;gap:8px;font-size:12px;font-weight:400}
.pb-finance-programs input,.pb-finance-ministry-choice input{margin-top:3px;accent-color:#176b58}
.pb-finance-programs b{color:#173f63}
