/* G-SMART additional modules: same foundation as master-santri. */
:root{--core-tint:#f0f9f6;--core-line:#e4eeef}
.core-grid-detail{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(315px,.85fr);gap:15px;align-items:start}
.core-primary,.core-secondary{min-width:0}.core-bottom-duo{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:15px 0}
.core-sticky{position:sticky;top:76px}.core-staff-filters{grid-template-columns:minmax(200px,1.7fr) repeat(3,minmax(110px,1fr))}
.core-link-card{display:flex;align-items:start;gap:15px;padding:4px 0}.core-link-icon{width:45px;height:45px;border-radius:13px;background:#e7f9f1;color:#0a9073;flex:none;display:grid;place-items:center;font-size:25px}.core-link-card b{color:#19354e;font-size:13px}.core-link-card p{color:#7b8fa0;font-size:11px;line-height:1.8;margin:6px 0 13px}
.core-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.core-facts div{border-bottom:1px solid #edf3f2;padding-bottom:10px;min-width:0}.core-facts small{display:block;font-size:10px;color:#8294a5;margin-bottom:5px}.core-facts strong{display:block;font-size:11px;overflow-wrap:anywhere;color:#1f3e54;line-height:1.5}
.core-profile{display:flex;gap:14px;align-items:center;border-bottom:1px solid var(--core-line);padding-bottom:17px}.core-photo{width:73px;height:82px;display:grid;place-items:center;background:linear-gradient(140deg,#cff0e4,#eef8f5);color:#007960;font-size:28px;font-weight:850;border-radius:14px;flex:none}.core-profile h2{font-size:19px;letter-spacing:-.6px;margin:0 0 5px;line-height:1.25}.core-profile p{font-size:11px;color:#71879a;margin:5px 0;line-height:1.5}.core-pillset{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}.core-pill{font-size:9px;border-radius:9px;background:#e9f8f2;border:1px solid #d2eee1;padding:5px 8px;color:#0d826b;font-weight:800}.core-pill.blue{background:#e8f4ff;border-color:#d9eaff;color:#2675bb}.core-small-muted{font-size:10px;color:#7e94a2;line-height:1.7}.core-staff-detailhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.core-staff-detailhead h3{font-size:17px;margin:0}
.core-empty-table{padding:33px 15px!important;text-align:center;color:#768c9b;line-height:1.7;font-size:12px}
.core-modal{position:fixed;inset:0;z-index:120;padding:15px;display:grid;place-items:center}.core-modal[hidden]{display:none!important}.core-modal-shade{position:absolute;inset:0;background:#011d21a8;backdrop-filter:blur(4px)}.core-dialog{position:relative;z-index:1;width:min(780px,100%);max-height:min(92vh,960px);overflow-y:auto;border-radius:18px;background:white;box-shadow:0 30px 88px #031b2040}.core-dialog>header{padding:20px 25px;display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid var(--core-line)}.core-dialog>header h2{font-size:20px;margin:5px 0 0;letter-spacing:-.6px}.core-dialog form{padding:21px 25px 24px}.core-form-note{font-size:11px;background:#fff9e9;border:1px solid #f2e2b0;padding:12px;border-radius:10px;color:#896822;margin:0 0 18px;line-height:1.65}.core-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.core-form-grid label{min-width:0}.core-form-grid label>span{display:block;font-size:10px;color:#6f8291;font-weight:850;margin-bottom:7px}.core-form-grid input,.core-form-grid select,.core-form-grid textarea{width:100%;min-height:42px;padding:10px 11px;border:1px solid #dfe8ea;border-radius:9px;background:white;color:#1c324c;font-size:12px;outline-color:#008d72}.core-form-grid label.core-wide,.core-form-grid fieldset.core-wide{grid-column:1/-1}.role-fields{border:1px solid #e2edeb;border-radius:11px;padding:13px}.role-fields legend{padding:0 8px;color:#476676;font-size:10px;font-weight:900}.role-fields>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.role-fields label{display:flex;align-items:center;gap:8px;font-size:11px;color:#355066;cursor:pointer}.role-fields input{width:15px;height:15px;min-height:0;accent-color:#078568}.core-form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:18px;margin-top:20px;border-top:1px solid var(--core-line)}
.core-academy-panel{margin-top:15px}.core-tabs{display:flex;gap:3px;overflow-x:auto;border-bottom:1px solid #e4eeec;margin:0 0 20px}.core-tabs button{font-weight:850;font-size:11px;color:#78909f;background:transparent;border:0;border-bottom:3px solid transparent;padding:13px 18px;white-space:nowrap;cursor:pointer}.core-tabs button.active{color:#047a61;background:#edfaf5;border-bottom-color:#008b6e}.core-tab-panel[hidden]{display:none}.core-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:14px}.core-toolbar label{display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:850;color:#6a8392;min-width:145px}.core-toolbar label:first-child{min-width:165px}.core-toolbar input,.core-toolbar select{border:1px solid #e0eaeb;border-radius:8px;padding:11px 10px;min-height:40px;background:white;color:#3c5770;min-width:0;font-size:11px}.core-toolbar-grow{flex:1}.core-help{background:#effaf7;border:1px solid #d6ede6;border-radius:9px;font-size:10px;padding:11px 14px;color:#497c70;line-height:1.6;margin-bottom:14px}.core-help strong{color:#057a60}
.core-calendar-scroll{overflow-x:auto}.core-calendar{display:grid;grid-template-columns:92px repeat(5,minmax(155px,1fr));min-width:890px;border:1px solid #dfeaed;border-radius:13px;overflow:hidden;background:#fff}.core-calendar .cal-head{background:#f1f7f8;font-size:11px;color:#39526a;font-weight:850;text-align:center;padding:15px 8px;border-right:1px solid #e2eced;border-bottom:1px solid #e2eced}.core-calendar .cal-time{font-size:10px;color:#7c8fa0;font-weight:750;text-align:center;padding:18px 6px;background:#f8fbfb;border-bottom:1px solid #edf3f3;border-right:1px solid #e2eced}.core-calendar .cal-cell{position:relative;min-height:73px;padding:5px;border-bottom:1px solid #edf3f3;border-right:1px solid #edf3f3}.core-calendar .cal-cell:last-child{border-right:0}.core-calendar .cal-event{display:block;border:1px solid #d0e8e8;border-radius:8px;padding:7px 7px 8px;text-align:left;width:100%;height:100%;min-height:58px;cursor:pointer;color:#22465c;background:#eaf6fc;transition:transform .1s}.core-calendar .cal-event:hover{transform:translateY(-2px)}.core-calendar .cal-event b{font-size:10px;display:block;line-height:1.3}.core-calendar .cal-event span{display:block;font-size:9px;margin-top:5px;color:#58758a}.core-calendar .cal-event.c1{background:#e6f5ff;border-color:#cce6fc}.core-calendar .cal-event.c2{background:#f9e9fa;border-color:#f0d4f2}.core-calendar .cal-event.c3{background:#e6f9ee;border-color:#d0efd9}.core-calendar .cal-event.c4{background:#fff1dd;border-color:#f8e0b9}.core-calendar .cal-event.c5{background:#f0e9ff;border-color:#dfd1fa}.core-calendar .cal-empty{height:100%;min-height:57px;display:grid;place-items:center;border:1px dashed #edf3f3;color:#ccd8dd;background:transparent;border-radius:8px;width:100%;cursor:pointer}.core-calendar .cal-empty:hover{color:#047963;background:#f2faf7}.core-cal-nodata{padding:50px 20px;text-align:center;background:#f9fcfb;border:1px dashed #d9e9e7;border-radius:12px;color:#78909b;font-size:12px}
.core-list-lesson{display:grid;gap:8px}.core-lesson-row{display:grid;grid-template-columns:130px minmax(130px,1.5fr) minmax(140px,1fr) minmax(130px,1fr) auto;align-items:center;gap:12px;padding:13px;border:1px solid #e4efed;border-radius:10px;font-size:11px}.core-lesson-row strong{color:#203954}.core-lesson-row small{color:#8a9aa6;display:block;margin-top:4px}.core-fineprint{font-size:10px;color:#8799a4;line-height:1.65;margin-top:13px}.core-class-table{min-width:850px}.core-teacher-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.core-teacher-card{border:1px solid #e4efed;border-radius:12px;padding:15px;display:flex;gap:11px;align-items:start}.core-teacher-circle{border-radius:11px;background:#e7f7f1;width:42px;height:42px;display:grid;place-items:center;color:#077b62;font-weight:850;font-size:17px;flex:none}.core-teacher-card strong{color:#1e3d52;font-size:12px}.core-teacher-card p{font-size:10px;color:#8094a2;margin:5px 0 0;line-height:1.6}.core-teacher-card small{display:block;color:#078468;margin-top:7px;font-size:9px}.core-catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.core-catalog-grid section{min-width:0}.core-catalog-list{display:grid;gap:7px}.core-catalog-item{border:1px solid #e4eeed;border-radius:9px;display:flex;justify-content:space-between;align-items:center;padding:11px 13px;gap:12px;font-size:11px}.core-catalog-item strong{color:#2c465d}.core-catalog-item small{display:block;color:#8799a7;font-size:9px;margin-top:4px}.core-catalog-item button{background:#f4f8fa;border:1px solid #dfeced;border-radius:7px;padding:7px 9px;color:#3b7069;cursor:pointer}.core-info-list p{color:#60798a;font-size:11px;line-height:1.6;border-bottom:1px solid #edf2f2;padding-bottom:9px}.core-conflict{background:#fff0e9;border:1px solid #f4c4b6;border-radius:9px;padding:12px;font-size:11px;color:#a74727;margin-top:15px}.core-empty{font-size:12px;color:#8799a5;line-height:1.7;text-align:center;padding:30px 16px;border:1px dashed #d9e9e5;border-radius:12px}.core-lesson-card{display:flex;justify-content:space-between;align-items:center;gap:15px}
@media(max-width:1440px){.core-grid-detail{grid-template-columns:minmax(0,1.3fr) minmax(310px,.9fr)}.core-staff-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.core-teacher-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1030px){.core-grid-detail{grid-template-columns:1fr}.core-sticky{position:static}.core-staff-filters{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:780px){.core-bottom-duo,.core-catalog-grid{grid-template-columns:1fr}.core-staff-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.core-teacher-grid{grid-template-columns:1fr 1fr}.core-toolbar label{min-width:120px}.core-dialog{max-height:94vh}}
@media(max-width:550px){.core-form-grid{grid-template-columns:1fr}.core-form-grid label.core-wide,.core-form-grid fieldset.core-wide{grid-column:auto}.role-fields>div{grid-template-columns:1fr 1fr}.core-dialog form{padding:15px}.core-dialog>header{padding:15px}.core-staff-filters{grid-template-columns:1fr 1fr}.core-staff-filters label:first-child{grid-column:1/-1}.core-teacher-grid{grid-template-columns:1fr}.core-toolbar label{flex:1;min-width:100px}.core-toolbar-grow{display:none}.core-toolbar>.ms-btn{flex:1}.core-lesson-row{grid-template-columns:1fr auto;gap:8px}.core-lesson-row>*:nth-child(n+3){grid-column:1/-1}.core-lesson-row button{grid-column:auto!important}.core-form-actions .ms-btn{flex:1}}
