.attendance-icon{width:23px;height:23px;flex:0 0 23px;display:inline-block;vertical-align:middle}
#session-select{max-width:none;flex:1 1 420px;min-width:240px}#attendance-location{max-width:none;width:auto;min-width:240px}#cancellation-demo-preview{margin-top:20px;background:#e4effb;color:#25435f}
.cancellation-filters{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:22px}.cancellation-filters select{width:auto;min-width:240px}.cancellation-filters .selected{background:#d9f3fc;border-color:#99cadb;color:#173c60}
.cancellation-list{display:grid;gap:18px}.cancellation-card{display:flex;align-items:flex-start;gap:20px;background:#fff;border:1px solid #e4d6b9;border-left:4px solid #dea03b;border-radius:6px;padding:24px}.cancellation-card:first-child{background:#fff4df}.cancellation-card>.attendance-icon{width:32px;height:32px;flex-basis:32px;color:#b6750c}.cancellation-content{flex:1;min-width:0}.cancellation-content h3{color:#173c60;margin-bottom:8px}.cancellation-content p{margin:5px 0;color:#526477}.cancellation-content .cancellation-date{font-size:17px;font-weight:700;color:#173c60}.cancellation-content small{display:block;margin-top:14px}.cancellation-actions{display:flex;flex-direction:column;align-items:flex-end;gap:28px}.cancellation-actions .badge{background:#ffe2a3;color:#754809;font-size:13px}.cancellation-actions button{display:flex;align-items:center;gap:9px;color:#173c60}.cancellation-actions svg{width:20px;height:20px}
.attendance-session-head{display:flex;align-items:center;flex-wrap:wrap;gap:18px;padding:20px;background:#e4f0fc;border:1px solid #c3d8eb;border-radius:6px;margin-bottom:18px}.attendance-session-head h2{font-size:20px}.attendance-session-head h2,.attendance-session-head>span{display:flex;align-items:center;gap:9px}.attendance-session-head svg{width:23px;height:23px;color:#245d9c;flex:0 0 23px}.attendance-counters{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.attendance-counters>span{display:flex;align-items:center;gap:10px;padding:15px;background:#edf1f6;border-radius:6px;color:#526477;font-weight:600}.attendance-counters .count-present{background:#e2f3eb;color:#216337}.attendance-counters .count-absent{background:#f9e8e8;color:#9b3836}.attendance-search{margin-bottom:18px}.attendance-search input{max-width:440px}.attendance-table-head{display:flex;justify-content:space-between;padding:14px 18px;background:#eaf0f7;border-radius:6px;color:#25435f;font-weight:600}.attendance-table-head>span:last-child{width:330px}.attendance-row{padding:18px;gap:20px}.attendance-row[hidden]{display:none}.attendance-choice{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;width:330px;flex:0 0 330px}.attendance-choice .attendance-status{display:flex;align-items:center;justify-content:center;gap:10px;width:160px;min-height:44px;padding:9px 12px;background:#edf0f4;color:#69788b;border:1px solid #d5dde7;border-radius:5px;font-size:14px;font-weight:600}.attendance-choice .selected.present{background:#2b7751;color:#fff;border-color:#216337}.attendance-choice .selected.absent{background:#b9544c;color:#fff;border-color:#a12a24}.attendance-choice small{width:100%;text-align:right;font-size:12px}.attendance-save-hint{display:flex;align-items:center;gap:9px;margin-top:20px;color:#526477;font-size:13px}.attendance-row>.badge{display:flex;align-items:center;gap:8px}
@media(max-width:760px){.cancellation-card{flex-wrap:wrap;padding:18px}.cancellation-actions{width:100%;flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.attendance-counters{grid-template-columns:1fr}.attendance-table-head{display:none}.attendance-choice{width:100%;flex:1 1 100%;justify-content:flex-start}.attendance-choice .attendance-status{flex:1;min-width:110px}.attendance-choice small{text-align:left}.attendance-row{padding:16px 0}.attendance-session-head{padding:16px;gap:12px}}
