.activity-attendance-page header{margin:1rem 0}.attendance-actions,.attendance-session-grid{display:flex;gap:1rem;flex-wrap:wrap;margin:1rem 0}.attendance-actions form,.attendance-session-grid form{flex:1;min-width:180px}.attendance-big{width:100%;min-height:64px;font-size:1.05rem}.excel-attendance{font-size:.9rem;border-collapse:collapse}.excel-attendance th,.excel-attendance td{padding:.45rem .6rem;border:1px solid #d9e2dc}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.settings-grid>form{padding:1rem;border:1px solid #d9e2dc;border-radius:12px}.settings-grid label{display:block;margin:.6rem 0}.settings-grid input,.settings-grid select{width:100%}.nav-subfeature{font-size:.82rem;padding-left:1.6rem!important;opacity:.88}
.attendance-select-wrap{position:relative;display:block;width:100%;margin:.35rem 0}.attendance-select-wrap:after{content:"\25BC";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:14px;color:#174f2a;pointer-events:none}.attendance-type-select{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;min-height:48px!important;padding:10px 44px 10px 12px!important;border:2px solid #2f7d44!important;border-radius:8px!important;background-color:#fff!important;color:#17251b!important;font-size:16px!important;line-height:1.35!important;-webkit-appearance:menulist!important;-moz-appearance:menulist!important;appearance:auto!important;cursor:pointer!important}.attendance-type-select:focus{outline:3px solid rgba(47,125,68,.22)!important;border-color:#195d30!important}.field-help{display:block;margin:-.1rem 0 .65rem;color:#53665a}
.attendance-master{margin:1rem 0;padding:1rem;border:1px solid #d9e2dc;border-radius:12px}.type-master-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem;align-items:end}.type-master-form label{margin:0}.type-master-form input,.type-master-form select{width:100%;min-height:44px}.type-master-list{display:grid;gap:.5rem;margin-top:1rem}.type-master-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem;border:1px solid #d9e2dc;border-radius:9px}.type-master-row small,.type-option small{display:block;color:#53665a}.type-master-row.is-inactive{opacity:.55}.attendance-type-options{display:grid;gap:.5rem;margin:.6rem 0 1rem;padding:.7rem;border:1px solid #c8d8cd;border-radius:10px}.type-option{display:flex!important;align-items:center;gap:.7rem;margin:0!important;padding:.65rem;border:1px solid #d9e2dc;border-radius:8px;cursor:pointer}.type-option input{width:22px!important;height:22px!important;flex:0 0 22px}.type-option span{min-width:0}@media(max-width:640px){.type-master-row{align-items:flex-start;flex-direction:column}}
.full{grid-column:1/-1}.weekday-picker{display:grid;grid-template-columns:repeat(7,minmax(70px,1fr));gap:.45rem;padding:.7rem;border:1px solid #c8d8cd;border-radius:10px}.weekday-picker legend{padding:0 .35rem;font-weight:800}.weekday-picker label{position:relative}.weekday-picker input{position:absolute;opacity:0}.weekday-picker span{display:block;padding:.7rem .35rem;border:1px solid #cfdcd5;border-radius:9px;background:#f6f9f7;text-align:center;cursor:pointer}.weekday-picker input:checked+span{border-color:#147b58;background:#147b58;color:#fff;font-weight:800}.weekday-picker.is-required{border-color:#147b58}.weekly-attendance-note{display:flex;justify-content:space-between;gap:1rem;margin:.8rem 0;padding:.8rem 1rem;border-radius:12px;background:#edf8f3;color:#145d44}.weekly-session-card{display:grid;gap:.5rem;padding:.8rem;border:1px solid #d6e3dc;border-radius:13px;background:#fff}.weekly-session-card>small,.weekly-session-card>em{color:#62746c;font-size:.76rem}.weekly-session-card.is-closed{background:#f4f6f5;opacity:.82}.weekly-session-card button:disabled{cursor:not-allowed;background:#aab7b1}.weekly-empty{width:100%;padding:1rem;border:1px dashed #b8c9c0;border-radius:12px;text-align:center}.weekly-empty p{margin:.35rem 0 0;color:#62746c}.weekly-schedule-list{margin:1rem 0;padding:.8rem;border:1px solid #d6e3dc;border-radius:12px}.weekly-schedule-list summary{cursor:pointer;font-weight:800}.weekly-schedule-list article{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid #edf1ef}.weekly-schedule-list article:last-child{border-bottom:0}.is-inactive{opacity:.55}@media(max-width:760px){.weekday-picker{grid-template-columns:repeat(4,1fr)}.weekly-attendance-note,.weekly-schedule-list article{align-items:flex-start;flex-direction:column;gap:.25rem}.activity-attendance-page{padding:.8rem}.attendance-session-grid{display:grid;grid-template-columns:1fr}.attendance-session-grid form{min-width:0}}
.inline-actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:.4rem}.inline-actions form{margin:0}.inline-actions details{position:relative}.inline-actions details>summary{list-style:none;cursor:pointer}.inline-actions details>summary::-webkit-details-marker{display:none}.inline-actions details[open]>.compact-edit-form{position:absolute;z-index:12;right:0;top:calc(100% + .35rem);width:min(420px,85vw);padding:.75rem;border:1px solid #bed2c7;border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(6,67,48,.18)}.inline-actions .badge{display:inline-block;padding:.25rem .55rem;border-radius:999px;font-size:.72rem;font-weight:800}.inline-actions .badge.success{background:#d9f7e7;color:#08633f}.inline-actions .badge.muted{background:#e7ebe9;color:#53615b}@media(max-width:640px){.inline-actions details[open]>.compact-edit-form{position:fixed;left:5vw;right:5vw;top:15vh;width:90vw;max-height:70vh;overflow:auto}}

/* Pusat Pengaturan Absensi terpadu */
.attendance-settings-page{max-width:1280px;margin:0 auto;display:grid;gap:1rem}.attendance-settings-hero{padding:1.4rem;border-radius:18px;background:linear-gradient(135deg,#0d523d,#17835e);color:#fff}.attendance-settings-hero span,.attendance-settings-block>header span{font-size:.72rem;font-weight:900;letter-spacing:.12em}.attendance-settings-hero h1{margin:.2rem 0}.attendance-settings-hero p{margin:0;opacity:.9}.attendance-settings-nav{position:sticky;top:0;z-index:4;display:flex;gap:.5rem;overflow:auto;padding:.65rem;border:1px solid #d7e2dc;border-radius:14px;background:rgba(255,255,255,.96)}.attendance-settings-nav a{white-space:nowrap;padding:.6rem .85rem;border-radius:9px;background:#edf5f1;color:#174f3c;font-weight:800;text-decoration:none}.attendance-settings-block{border:1px solid #dbe4df;border-left:7px solid var(--tone);border-radius:18px;background:var(--soft);padding:1rem;scroll-margin-top:5rem}.attendance-settings-block>header{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:1rem}.attendance-settings-block>header>b{display:grid;place-items:center;min-width:2.2rem;height:2.2rem;border-radius:50%;background:var(--tone);color:#fff}.attendance-settings-block>header h2{margin:.1rem 0}.attendance-settings-block>header p{margin:.25rem 0 0;color:#52655d}.tone-blue{--tone:#2877b8;--soft:#f3f8fd}.tone-green{--tone:#16845e;--soft:#f1faf6}.tone-orange{--tone:#c56a19;--soft:#fff8ef}.tone-gray{--tone:#67736d;--soft:#f6f7f6}.attendance-settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:1rem;border:1px solid color-mix(in srgb,var(--tone) 25%,#ddd);border-radius:14px;background:#fff}.attendance-settings-form label{display:grid;gap:.3rem;font-weight:750}.attendance-settings-form input,.attendance-settings-form select{width:100%}.attendance-settings-form small{font-weight:400;color:#68766f}.attendance-settings-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.attendance-flow{display:flex;align-items:center;justify-content:center;gap:.8rem;flex-wrap:wrap;margin-top:1rem}.attendance-flow span{padding:.75rem 1rem;border:1px solid #cfded7;border-radius:12px;background:#fff;text-align:center}.attendance-flow i{font-style:normal;font-weight:900;color:#60736a}.attendance-settings-block table small,.type-master-row small{display:block;color:#68766f}.attendance-settings-block details>summary{cursor:pointer;font-weight:850;padding:.8rem}.attendance-settings-block .type-master-list{display:grid;gap:.5rem;margin-top:.8rem}.attendance-settings-block .type-master-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem;border:1px solid #dbe4df;border-radius:10px;background:#fff}
@media(max-width:760px){.attendance-settings-form,.attendance-settings-columns{grid-template-columns:1fr}.attendance-settings-form .full{grid-column:1}.attendance-settings-nav{top:.2rem}.attendance-settings-block{padding:.75rem}.attendance-settings-block>header h2{font-size:1.15rem}.attendance-flow{align-items:stretch;flex-direction:column}.attendance-flow i{text-align:center}.attendance-settings-block .type-master-row{align-items:flex-start}}
.weekly-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem}.weekly-summary-grid article{display:grid;gap:.2rem;padding:.8rem;border:1px solid #d7e2dc;border-left:5px solid #d28b24;border-radius:10px;background:#fff}.weekly-summary-grid article.is-complete{border-left-color:#16815b;background:#f1faf6}.weekly-summary-grid article>span{color:#64756e;font-size:.7rem;font-weight:800;text-transform:uppercase}.weekly-summary-grid article>small{color:#64756e}.weekly-summary-grid article>b{margin-top:.35rem;color:#164f3b}
.activity-journal-link{display:flex;align-items:center;justify-content:center;text-decoration:none}.activity-session-journal textarea{min-height:90px}.activity-session-journal .kbm-student-table select,.activity-session-journal .kbm-student-table input{width:100%}@media(max-width:760px){.activity-session-journal{padding:10px}.activity-session-journal .table-wrap{overflow-x:auto}.activity-session-journal .kbm-student-table{min-width:680px}}
.activity-journal-history{margin:1rem 0;padding:1rem;border:1px solid #d6e3dc;border-radius:13px}.activity-journal-history>p{color:#62746c}.activity-journal-history>div{display:grid;gap:.5rem}.activity-journal-history a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;border:1px solid #dce6e1;border-left:5px solid #c8791b;border-radius:10px;color:#173d31;text-decoration:none}.activity-journal-history a.is-complete{border-left-color:#16815b;background:#f2faf6}.activity-journal-history a span{display:grid}.activity-journal-history a small{color:#667870}.activity-journal-history a b{white-space:nowrap}@media(max-width:600px){.activity-journal-history a{align-items:flex-start;flex-direction:column;gap:.35rem}}
.special-check-picker{display:grid;gap:8px}.special-check-picker label{display:flex;align-items:center;gap:8px}.special-attendance-checklist{display:grid;gap:8px;margin:10px 0;padding:12px;border:1px solid #d8e4dc;border-radius:12px;background:#f8fbf9}.special-attendance-checklist legend{font-weight:800;color:#174f3b}.special-attendance-checklist label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px;border-radius:8px;background:#fff}.special-attendance-checklist .checklist-confirm{grid-template-columns:auto 1fr;background:#fff5d9}.special-attendance-checklist p{margin:0;font-size:.82rem;color:#64748b}.special-attendance-selfie{display:grid;gap:6px;padding:10px;border:1px dashed #d59124;border-radius:10px;background:#fffaf0;font-weight:700}.special-attendance-selfie input{width:100%}@media(max-width:560px){.special-attendance-checklist label{grid-template-columns:auto 1fr}.special-attendance-checklist label small{grid-column:2}.special-attendance-selfie{font-size:.9rem}}
