/* Scoped existing-day editor: the surrounding modules keep their own layout. */
.attendance-editor {font-size:16px;line-height:1.55;border-top:4px solid var(--p,#72243b);scroll-margin-top:90px;min-width:0}
.attendance-editor[hidden],.attendance-editor [hidden] {display:none!important}
.attendance-editor .ae-heading {display:flex;gap:18px;justify-content:space-between;align-items:flex-start}
.attendance-editor h3 {font-size:23px;line-height:1.3;margin:5px 0 10px}
.attendance-editor h4 {font-size:19px;margin:0 0 10px}
.attendance-editor p {font-size:16px;line-height:1.55;margin:0 0 12px;color:var(--muted,#5e626d)}
.attendance-editor .ae-eyebrow,.attendance-editor .ae-badge {font-size:13px;font-weight:800;letter-spacing:.035em}
.attendance-editor .ae-eyebrow {color:var(--p,#72243b)}
.attendance-editor .ae-badge {border:1px solid var(--line,#ddd);border-radius:20px;padding:7px 11px;white-space:nowrap;background:#faf8f9}
.attendance-editor .ae-policy {background:#f7f2f4;border-left:4px solid var(--p,#72243b);padding:14px 16px;margin:12px 0 20px;border-radius:6px;font-size:15px}
.attendance-editor .ae-filters {display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(170px,1fr) auto auto;gap:14px;align-items:end;margin-bottom:16px}
.attendance-editor label {font-size:16px;line-height:1.5;font-weight:700;display:block;min-width:0;margin:0}
.attendance-editor input,.attendance-editor select,.attendance-editor textarea,.attendance-editor button {font-family:inherit;font-size:16px;line-height:1.45;min-height:44px;box-sizing:border-box}
.attendance-editor input:not([type=checkbox]),.attendance-editor select,.attendance-editor textarea {display:block;width:100%;padding:10px 12px;margin:7px 0 0;border:1px solid #b9b7bd;border-radius:8px;background:#fff;color:var(--ink,#26242b)}
.attendance-editor textarea {resize:vertical}
.attendance-editor button {padding:10px 16px;border-radius:8px;cursor:pointer}
.attendance-editor .ghost {border:1px solid #a9a4ac;background:#fff;color:var(--p,#72243b)}
.attendance-editor button:disabled {opacity:.55;cursor:not-allowed}
.attendance-editor :is(input,select,textarea,button):focus-visible {outline:3px solid #246db2;outline-offset:3px}
.attendance-editor .ae-summary {padding:13px 0;font-size:16px;font-weight:800;overflow-wrap:anywhere}
.attendance-editor .ae-message {padding:12px 15px;margin:12px 0;border:1px solid #d0d4db;border-radius:8px;background:#f5f7fa;overflow-wrap:anywhere}
.attendance-editor .ae-message.error {background:#fff4f4;border-color:#e1a3a3;color:#872929}
.attendance-editor .ae-message.success {background:#eff9f3;border-color:#abd1ba;color:#225c38}
.attendance-editor .ae-message.warning {background:#fff9eb;border-color:#d8bc76;color:#715617}
.attendance-editor .ae-message ul {margin:8px 0 0;padding-left:22px}
.attendance-editor .ae-details {border:2px solid var(--p,#72243b);border-radius:12px;background:#fdfbfc;padding:22px;margin:16px 0 24px}
.attendance-editor .ae-fixed {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 20px;padding:16px;background:#f1edf0;border-radius:8px}
.attendance-editor .ae-fixed div {min-width:0}
.attendance-editor dt {font-size:13px;color:#645e68}
.attendance-editor dd {font-size:16px;font-weight:700;margin:3px 0 0;overflow-wrap:anywhere}
.attendance-editor form {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.attendance-editor .ae-full {grid-column:1/-1}
.attendance-editor .ae-hint {display:block;font-size:14px;font-weight:400;color:var(--muted,#5e626d)}
.attendance-editor .ae-confirm {display:flex;align-items:flex-start;gap:12px;background:#fff7e7;border:1px solid #dfc999;border-radius:8px;padding:14px;font-size:16px;font-weight:500}
.attendance-editor .ae-confirm input {flex:0 0 24px;width:24px;height:24px;min-height:24px;margin:2px 0 0;accent-color:var(--p,#72243b)}
.attendance-editor .ae-actions {display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-start}
.attendance-editor .ae-days {overflow:auto;border:1px solid var(--line,#ddd);border-radius:10px}
.attendance-editor .ae-days:empty {display:none}
.attendance-editor table {width:100%;min-width:0;border-collapse:collapse;table-layout:fixed}
.attendance-editor caption {text-align:left;padding:14px;font-size:16px;font-weight:700;background:#faf8f9}
.attendance-editor th,.attendance-editor td {font-size:15px;line-height:1.5;padding:14px 12px;text-align:left;vertical-align:top;white-space:normal;overflow-wrap:anywhere;border-bottom:1px solid var(--line,#ddd)}
.attendance-editor thead th {background:#eee8ec;color:var(--ink,#26242b);font-size:14px}
.attendance-editor thead th:nth-child(1) {width:15%}
.attendance-editor thead th:nth-child(5) {width:23%}
.attendance-editor thead th:last-child {width:17%}
.attendance-editor td span,.attendance-editor tbody th span {display:block;margin-top:4px;font-size:14px;color:#68616b;font-weight:400}
.attendance-editor .ae-missing {background:#f8f8f9;color:#69666c}
.attendance-editor .ae-readonly {font-size:14px;color:#655e68}
@media(max-width:1200px) {.attendance-editor .ae-filters {grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-editor .ae-fixed {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px) {.attendance-editor .ae-heading {display:block}.attendance-editor .ae-badge {display:inline-block;margin-bottom:8px}.attendance-editor .ae-days {border:0;overflow:visible}.attendance-editor table,.attendance-editor tbody {display:block}.attendance-editor caption {display:block;border-radius:8px;margin-bottom:12px}.attendance-editor thead {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.attendance-editor tr {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line,#ddd);border-radius:10px;margin:0 0 12px;padding:8px;background:#fff}.attendance-editor .ae-missing {background:#f8f8f9}.attendance-editor th,.attendance-editor td {display:block;border:0;padding:8px}.attendance-editor tbody th::before,.attendance-editor td::before {content:attr(data-label);display:block;font-size:13px;font-weight:400;color:#6a646e;margin-bottom:4px}.attendance-editor td:nth-child(5),.attendance-editor td:last-child {grid-column:1/-1}.attendance-editor td:last-child {border-top:1px solid #eee}.attendance-editor .ae-details {padding:16px}}
@media(max-width:520px) {.attendance-editor .ae-filters,.attendance-editor form,.attendance-editor .ae-fixed {grid-template-columns:minmax(0,1fr)}.attendance-editor .ae-actions button {width:100%}.attendance-editor h3 {font-size:21px}.attendance-editor .ae-badge {white-space:normal}.attendance-editor .ae-full {grid-column:1}.attendance-editor .ae-details {padding:12px}}
