.director-view{padding-top:20px}
.director-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
.director-heading p{margin:0 0 5px;color:#9b7324;font-size:11px;font-weight:800;letter-spacing:1.2px}
.director-heading h1{margin:0;font:27px Georgia,serif;color:var(--navy)}
.director-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:19px 0}
.director-stats article{min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px 10px;box-shadow:0 4px 14px #0712290b}
.director-stats small{display:block;min-height:30px;color:var(--muted);font-size:11px;line-height:1.25}
.director-stats strong{display:block;margin-top:5px;font:25px Georgia,serif;color:var(--navy)}
.director-tabs{display:flex;gap:7px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}
.director-tabs::-webkit-scrollbar{display:none}
.director-tabs button{flex:0 0 auto;border:1px solid var(--line);background:#fff;color:#555f70;border-radius:12px;padding:10px 13px;font-size:13px;font-weight:700}
.director-tabs button.active{background:var(--navy);border-color:var(--navy);color:#fff}
.director-panel{display:flex;flex-direction:column;gap:13px}
.director-loading,.director-empty{background:#fff;border:1px solid var(--line);border-radius:18px;padding:23px;text-align:center;color:var(--muted);font-size:14px}
.management-card{background:#fff;border:1px solid var(--line);border-radius:19px;padding:17px;box-shadow:0 4px 18px #0712290a}
.management-card>h2,.management-card summary{margin:0;color:var(--navy);font:20px Georgia,serif}
.management-card>p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.45}
.management-card summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}
.management-card summary::-webkit-details-marker{display:none}
.management-card summary:after{content:"+";font:24px system-ui;color:#9b7324}
.management-card[open] summary:after{content:"−"}
.management-form{display:grid;gap:11px;margin-top:15px}
.management-form label{margin:0;font-size:13px}
.management-form input,.management-form select{margin-top:5px;padding:11px;font-size:15px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.small-button,.save-row-button{border:0;border-radius:11px;padding:11px 13px;background:#f5eddc;color:#765719;font-weight:400;font-size:13px}
.save-row-button{margin: 0 auto;background:#0b49c9;color:#fff}
.user-list,.record-list{display:flex;flex-direction:column;gap:9px;margin-top:14px}
.user-row,.record-row{border:1px solid var(--line);border-radius:14px;padding:13px}
.user-main,.record-main{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.user-main b,.record-main b{font-size:14px;color:var(--navy)}
.user-main small,.record-main small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.status-pill{flex:0 0 auto;border-radius:20px;padding:5px 8px;background:#edf6ef;color:#247345;font-size:10px;font-weight:800}
.status-pill.pending{background:#fff0b4;color:#c1b577}
.status-pill.cancelled{background:#ffeded;color:#cf8787}
.row-controls{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:11px}
.row-controls select{margin:0;padding:9px;font-size:13px}
.row-controls button{padding:9px 12px}
.record-row select{margin-top:9px;padding:9px;font-size:13px}
.schedule-chip{display:inline-block;margin:6px 5px 0 0;padding:5px 8px;border-radius:9px;background:#eef2f8;color:#243d69;font-size:11px}
.director-notice{border:1px solid #ead69c;background:#fff9e9;border-radius:14px;padding:12px;color:#665d4c;font-size:12px;line-height:1.45}
.inline-check{display:flex!important;align-items:center;gap:9px}
.inline-check input{width:19px;height:19px;margin:0}
.danger-text{color:#a82c2c!important}
.management-error{margin:0;color:#b42318;font-size:12px;min-height:16px}
.management-success{margin:0;color:#247345;font-size:12px}
.loading-button{opacity:.6;pointer-events:none}
.tab-section-title{margin:8px 0 0;font:21px Georgia,serif;color:var(--navy)}
@media(max-width:390px){.director-heading h1{font-size:24px}
.director-stats{grid-template-columns:1fr}
.director-stats small{min-height:0}
.director-stats article{display:flex;align-items:center;justify-content:space-between}
.form-grid{grid-template-columns:1fr}
}

/* venue-redesign-v34 */
.venue-block{position:relative}
.venue-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.venue-head h2{margin:0;color:var(--navy);font:20px Georgia,serif}
.venue-head p{margin:6px 0 0;color:var(--muted);font-size:13px}
.venue-add{position:relative;flex:0 0 auto;}
.venue-add>summary{list-style:none;cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 10px;font-size:12px !important; font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;font-weight:400;color:#765719;white-space:nowrap}
.venue-add>summary::-webkit-details-marker{display:none}
.venue-add>summary:after{content:none!important}
.venue-add[open]>summary:after{content:none!important}
.venue-add[open]{position:absolute;right:0;top:0;z-index:5;width:240px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:0 8px 24px #07122914}
.venue-list{margin-top:14px}
.venue-row{padding:14px}
.venue-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.venue-top b{font-size:14px;color:var(--navy)}
.venue-top small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.venue-editor{margin-top:6px}
.venue-editor>summary{list-style:none;cursor:pointer;text-align:right;font-size:13px !important; font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif; color:#6b7280;font-weight:500}
.venue-editor>summary::-webkit-details-marker{display:none}
.venue-editor>summary:after{content:none!important}
.venue-editor[open]>summary:after{content:none!important}
.venue-edit-actions{display:flex;align-items:center;gap:14px;margin-top:4px}
.venue-quiet-delete{background:none;border:0;padding:0;color:#9aa1ad;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

/* user-cards-v35: компактные карточки, управление — в модалке */
.user-card{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff;cursor:pointer}
.user-card:hover{border-color:var(--gold);box-shadow:0 4px 14px #07122912}
.user-card .user-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.user-role-label{font-size:12px;font-weight:800;color:var(--navy);background:#f0f2f6;border-radius:20px;padding:5px 10px}
#userModalBody .user-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 14px}
#userModalBody [data-save-user]{width:100%;max-width:300px;margin-top:12px}
#userModalBody [data-reset-password]{margin-top:16px;border-top:1px solid var(--line);padding-top:14px;max-width:300px;}
#userModalBody [data-reset-password] h3{margin:0 0 10px;font-size:15px;color:var(--navy)}
.icon-delete{border:1px solid var(--line);background:#fff;border-radius:11px;min-width:44px;height:40px;font-size:19px;line-height:1;cursor:pointer;color:#a82c2c}
.icon-delete:hover{border-color:#a82c2c;background:#fdecec}
#userModalBody h3{margin:16px 0 10px;font-size:15px;color:var(--navy)}
/* notifications-v44: календарь отправок */
#notifCal .cal-day{cursor:pointer}
/* notifications-v45: компактный календарь слева, список справа */
.notif-sent-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}
.receipt-link{border:0;background:none;color:#8b661a;font-size:12px;font-weight:700;cursor:pointer;padding:0;margin-top:8px;text-decoration:underline;text-underline-offset:3px}
#notifCal{margin-bottom:0; margin-top: 20px;}
#notifBody h2,#receiptsBody h2{margin:0 0 4px}
#notifBody>p,#receiptsBody>p{margin:0 0 10px;color:var(--muted);font-size:13px}
#notifCal .cal-head{margin:0 0 8px}
#notifCal .cal-head button{min-width:32px;height:32px;font-size:16px}
#notifCal .cal-head .cal-title{font-size:16px}
#notifCal .cal-grid{gap:4px}
#notifCal .cal-dow{font-size:9px;padding:0}
#notifCal .cal-day{aspect-ratio:auto;padding:7px 0;font-size:12px;border-radius:9px}
#notifCal .cal-day .dot{width:3px;height:3px}
@media(max-width:640px){.notif-sent-layout{grid-template-columns:1fr}}
/* applications-v42: кликабельные строки, модалка, фильтры */
.application-row{cursor:pointer}
.application-row:hover{background:#f4f6f9}
#manageApplicationBody h2{margin:0 0 4px}
#manageApplicationBody>p{margin:0 0 10px;color:var(--muted);font-size:13px}
.user-toolbar input[type="date"]{min-width:150px}
.user-toolbar #bulkGroup{width:auto;min-width:170px}
/* create-user-wizard-v41 */
#openCreateUserBtn{width:100%;margin-bottom:14px}
.role-pick{display:grid;gap:10px;margin-top:12px}
.role-pick button{text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px;cursor:pointer}
.role-pick button:hover{border-color:var(--gold);box-shadow:0 4px 14px #07122912}
.role-pick b{display:block;font-size:15px;color:var(--navy)}
.role-pick small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
#createUserBody h2{margin:0 0 4px}
#createUserBody>p{margin:0 0 4px;color:var(--muted);font-size:13px}
.quiet-link{border:0;background:none;color:#8b661a;font-size:12px;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
/* attendance-matrix-v38 */
.att-table-wrap{overflow-x:auto;margin-top:12px}
.att-table{border-collapse:collapse;min-width:100%}
.att-table th,.att-table td{border:1px solid #e2e5eb;padding:7px 6px;font-size:12px;text-align:center;white-space:nowrap}
.att-table thead th{background:#f4f6f9;color:#566071;font-size:10px;text-transform:uppercase}
.att-table td.att-name,.att-table th.att-name{position:sticky;left:0;background:#fff;text-align:left;min-width:170px;z-index:1}
.att-table td.att-name b{display:block;color:var(--navy);font-size:13px}
.att-table td.att-name small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.att-cell{min-width:40px;height:34px;border:0;border-radius:9px;background:#f0f2f6;font-size:15px;font-weight:800;color:var(--muted);cursor:pointer}
.att-cell[data-status="present"]{background:#edf6ef;color:#247345}
.att-cell[data-status="absent"]{background:#fdecec;color:#a82c2c}
.att-cell[data-status="excused"]{background:#fff4d9;color:#8b661a}
.att-none{color:var(--muted)}
.history-filter{display:block;margin-bottom:12px;font-size:13px}
.history-filter select{margin-top:6px}
/* applications-bulk-v43: выбрать-все в карточках, плавающая панель, модалка операций */
.card-head-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.card-head-row h2{margin:0}
.select-all-btn{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:10px;padding:6px 10px;font-size:12px;font-weight:700;color:var(--navy);cursor:pointer;white-space:nowrap}
.select-all-btn:hover{border-color:var(--gold)}
.bulk-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:96px;z-index:60;display:flex;align-items:center;gap:12px;background:var(--navy);color:#fff;border-radius:16px;padding:10px 10px 10px 18px;box-shadow:0 12px 32px #07122944;font-size:14px;font-weight:700}
.bulk-bar .gold-button{padding:10px 18px}
.seg-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.seg-row label{position:relative;display:block;border:1px solid var(--line);border-radius:12px;padding:11px;text-align:center;font-size:13px;font-weight:800;color:var(--navy);cursor:pointer;margin:0}
.seg-row input{position:absolute;opacity:0;pointer-events:none}
.seg-row label:has(input:checked){background:var(--navy);border-color:var(--navy);color:#fff}
#bulkBody h2{margin:0 0 4px}
#bulkBody h2 small{color:var(--muted);font-size:14px}
.app-datetime{display:block;font-size:11px;color:var(--muted);margin-bottom:2px}
/* recipient-picker-v39 + pay-actions */
.pay-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.pay-actions .gold-button{flex:1;min-width:200px}
.recipient-picker{margin:12px 0}
.pick-actions{display:flex;align-items:center;gap:8px;margin:10px 0}
.pick-actions button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 11px;font-size:12px;font-weight:700;color:var(--navy);cursor:pointer}
.pick-actions button:hover{border-color:var(--gold)}
.pick-actions span{font-size:12px;color:var(--muted)}
.pick-list{max-height:260px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;padding:6px;display:flex;flex-direction:column;gap:2px}
.pick-row{display:flex;align-items:center;gap:10px;padding:8px;border-radius:9px;cursor:pointer;margin:0;font-size:13px}
.pick-row:hover{background:#f4f6f9}
.pick-row input{width:19px;height:19px;margin:0;flex:0 0 auto;cursor:pointer}
.pick-row b{display:block;font-size:13px;color:var(--navy)}
.pick-row small{display:block;color:var(--muted);font-size:11px}
/* relatives-v37 */
#createRelatives{margin-top:12px;border:1px dashed var(--line);border-radius:12px;padding:12px}
#createRelatives>p{margin:0 0 4px;font-size:13px}
.relative-row{border-top:1px solid var(--line);padding-top:10px;margin-top:10px;margin-bottom: 20px;}
.relative-row:first-child{border-top:0;padding-top:0;margin-top:0}
.rel-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin-top:10px}
.rel-grid label{margin:0}
.rel-remove{border:0;border-radius:11px;padding:0 16px;height:46px;background:#f5eddc;color:#765719;font-weight:800;font-size:13px;cursor:pointer;white-space:nowrap}
.rel-remove:hover{filter:brightness(.96)}
@media(max-width:390px){.rel-grid{grid-template-columns:1fr 1fr}.rel-grid [data-remove-relative]{grid-column:1/-1;height:42px}}

