:root{font-feature-settings:"liga" 1, "calt" 1;color:#172333;font-synthesis:none;--navy:#073763;--navy-dark:#052a4b;--blue:#0b63a5;--sky:#dceef8;--green:#2f7d4a;--green-bright:#69a844;--line:#dce4ea;--muted:#66788a;--white:#fff;--paper:#fff;--danger:#a33c3c;--menu-dark:#081d4c;--menu-blue:#0e2a77;background:#f3f7fa;font-family:InterVariable,Inter,sans-serif}*,:before,:after{box-sizing:border-box;font-family:InterVariable,Inter,sans-serif!important}html{background:#f3f7fa;min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{grid-template-columns:264px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:30;background:linear-gradient(165deg, var(--menu-dark) 0%, var(--menu-blue) 100%);color:#fff;flex-direction:column;width:264px;padding:26px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand-block{border-bottom:1px solid #ffffff21;align-items:center;gap:12px;padding:0 8px 28px;display:flex}.brand-mark{width:43px;height:43px;color:var(--navy);letter-spacing:-.04em;box-shadow:inset 0 0 0 3px var(--green-bright);background:#fff;border-radius:50%;flex:none;place-items:center;font-family:InterVariable,Inter,sans-serif;font-size:15px;font-weight:800;display:grid}.brand-copy{min-width:0}.brand-block strong,.brand-block span{display:block}.brand-block strong{font-size:14px;line-height:1.2}.brand-block span{color:#b9d8e9;margin-top:4px;font-size:8px;line-height:1.35}.close-drawer{color:#fff;background:0 0;border:0;margin-left:auto;padding:7px;display:none}.sidebar nav{overscroll-behavior:contain;scrollbar-width:thin;gap:8px;min-height:0;margin-top:26px;display:grid;overflow-y:auto}.nav-link,.nav-label{color:#d6e7f1;border-radius:9px;align-items:center;gap:12px;min-height:44px;padding:0 14px;font-size:13px;display:flex}.nav-link.active{color:#fff;box-shadow:inset 3px 0 var(--green-bright);background:#ffffff21}.nav-group{padding-bottom:6px}.nav-group>a{color:#b9d1df;border-left:1px solid #ffffff26;align-items:center;gap:7px;margin-left:46px;padding:8px 10px;font-size:12px;transition:color .2s,border-color .2s;display:flex}.nav-group>a.active{color:#fff;border-left-color:var(--green-bright)}.sidebar-foot{align-items:start;gap:10px;margin-top:auto;display:grid}.campus-chip{color:#cae0ec;letter-spacing:.08em;text-transform:uppercase;border:1px solid #ffffff2e;border-radius:999px;justify-self:start;padding:7px 11px;font-size:10px}.sidebar-foot small{color:#91afc1;font-size:9px}.drawer-scrim{display:none}.app-shell>main{grid-column:2;min-width:0}.topbar{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#fffffff5;justify-content:flex-end;align-items:center;min-height:76px;padding:0 34px;display:flex;position:sticky;top:0}.icon-button{color:var(--navy);background:0 0;border:0;padding:8px;display:none}.topbar-title{display:none}.account-wrap{position:relative}.user-card{color:inherit;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:5px;display:flex}.avatar{color:#fff;background:var(--blue);border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:12px;font-weight:700;display:grid}.user-copy strong,.user-copy span{display:block}.user-copy strong{font-size:12px}.user-copy span{color:var(--muted);margin-top:2px;font-size:10px}.account-menu{border:1px solid var(--line);background:#fff;border-radius:11px;width:min(280px,100vw - 36px);padding:15px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 44px #052f5524}.account-menu>span,.account-menu>strong{text-overflow:ellipsis;display:block;overflow:hidden}.account-menu>span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px}.account-menu>strong{white-space:nowrap;margin:4px 0 13px;font-size:11px}.account-menu button{width:100%;color:var(--danger);background:#fff2f2;border:0;border-radius:7px;align-items:center;gap:8px;padding:9px 10px;font-size:11px;font-weight:600;display:flex}.bottom-nav{display:none}.content{max-width:1320px;margin:0 auto;padding:38px 40px 56px}.page-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.page-heading.compact{align-items:center}.eyebrow{color:var(--blue);letter-spacing:.13em;text-transform:uppercase;font-size:10px;font-weight:700}h1,h2,p{margin:0}.page-heading h1{color:var(--navy);letter-spacing:-.02em;margin:5px 0 7px;font-family:InterVariable,Inter,sans-serif;font-size:clamp(30px,4vw,42px);font-weight:600}.page-heading.compact h1{font-size:clamp(29px,3.5vw,38px)}.page-heading p{max-width:680px;color:var(--muted);font-size:13px}.date-pill,.status-count{border:1px solid var(--line);color:#536779;white-space:nowrap;background:#fff;border-radius:999px;padding:9px 13px;font-size:11px}.status-count{align-items:center;gap:7px;font-weight:600;display:inline-flex}.status-count.pending{color:#8a5900;background:#fff9eb;border-color:#f1d792}.status-count.approved{color:#24663a;background:#f2faf5;border-color:#b9dec5}.status-count.denied{color:#923a3a;background:#fff5f5;border-color:#efc2c2}.metric-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.metric-card{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:flex-start;gap:14px;min-height:132px;padding:20px;transition:transform .18s,box-shadow .18s;display:flex;position:relative;box-shadow:0 10px 26px #052f550d}.metric-card:hover{transform:translateY(-2px);box-shadow:0 15px 31px #052f5517}.metric-icon{border-radius:9px;flex:none;place-items:center;width:40px;height:40px;display:grid}.metric-icon.amber{color:#9a6200;background:#fff0cb}.metric-icon.green{color:#277340;background:#e1f3e8}.metric-icon.red{color:#9f3b3b;background:#fde7e7}.metric-icon.blue{color:#0b63a5;background:#deeff9}.metric-copy>span,.metric-copy strong,.metric-copy small{display:block}.metric-copy>span{color:#536779;font-size:11px}.metric-copy strong{color:var(--navy);margin:3px 0;font-family:InterVariable,Inter,sans-serif;font-size:30px;line-height:1.15}.metric-copy small{color:#8795a2;font-size:9px}.metric-arrow{color:#a4b0ba;position:absolute;bottom:14px;right:14px}.activity-card,.amf-card{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden;box-shadow:0 10px 26px #052f550d}.activity-card{margin-top:20px}.section-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:22px 24px;display:flex}.section-title h2{color:var(--navy);margin-top:3px;font-family:InterVariable,Inter,sans-serif;font-size:21px}.section-title a{color:var(--blue);align-items:center;gap:5px;font-size:11px;font-weight:600;display:inline-flex}.activity-list article{border-bottom:1px solid #edf1f4;grid-template-columns:46px 1fr auto;align-items:center;gap:15px;padding:18px 24px;display:grid}.activity-list article:last-child{border-bottom:0}.date-box{text-align:center;background:#f0f5f8;border-radius:8px;width:42px;padding:5px 0}.date-box strong,.date-box span{display:block}.date-box strong{color:var(--navy);font:700 18px/1 InterVariable,Inter,sans-serif}.date-box span{color:var(--muted);margin-top:3px;font-size:8px}.activity-list article>div:nth-child(2) strong,.activity-list article>div:nth-child(2) span{display:block}.activity-list article>div:nth-child(2) strong{font-size:12px;font-weight:600}.activity-list article>div:nth-child(2) span{max-width:700px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:10px;overflow:hidden}.status{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:700}.status.pending{color:#8a5900;background:#fff0cb}.status.approved{color:#24663a;background:#e1f3e8}.status.denied{color:#923a3a;background:#fde7e7}.empty-state,.empty-panel{color:#80909d;text-align:center;place-items:center;padding:50px 24px;display:grid}.empty-state p{margin-top:9px;font-size:12px}.amf-list{gap:18px;display:grid}.amf-pagination{justify-content:center;align-items:center;gap:12px;margin-top:22px;display:flex}.amf-pagination button{min-width:92px;height:38px;color:var(--navy);cursor:pointer;background:#fff;border:1px solid #cbd7df;border-radius:8px;padding:0 14px;font-size:10px;font-weight:600}.amf-pagination button:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.amf-pagination button:disabled{opacity:.45;cursor:not-allowed}.amf-pagination span{color:var(--muted);font-size:10px;font-weight:600}.amf-card-head{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#f6fafc,#fff);justify-content:space-between;align-items:center;min-height:84px;padding:20px 24px;display:flex}.record-number{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:700}.amf-card-head h2{color:var(--navy);margin-top:4px;font-family:InterVariable,Inter,sans-serif;font-size:21px}.record-details,.validation-panel{grid-template-columns:1fr 1fr 2fr;display:grid}.detail{border-right:1px solid #edf1f4;min-width:0;padding:18px 22px}.detail:last-child{border-right:0}.detail>span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;font-size:9px;font-weight:600;display:flex}.detail>strong{color:#263747;margin-top:7px;font-size:11px;font-weight:500;line-height:1.55;display:block}.validation-panel{border-top:1px solid var(--line);background:#f8fafb}.time-table-wrap{border-top:1px solid var(--line);overflow-x:auto}.time-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:640px}.time-table th,.time-table td{text-align:center;border-bottom:1px solid #e6ecef;border-right:1px solid #e6ecef;padding:13px 16px;font-size:11px}.time-table thead th{background:var(--navy);color:#fff;letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:600}.time-table th:first-child{text-align:left;width:145px}.time-table tbody th{color:var(--navy);background:#f4f8fa;font-size:10px}.time-table tbody tr.modified td,.time-table tbody tr.modified th{color:#225e38;background:#f0f8f3;font-weight:600}.time-table tbody tr.modified td.changed-value{color:#c62828}.empty-panel{background:#ffffffb3;border:1px dashed #cbd7df;border-radius:13px;min-height:300px}.empty-panel h2{color:var(--navy);margin:11px 0 5px;font:600 22px InterVariable,Inter,sans-serif}.empty-panel p{font-size:11px}.alert{border-radius:9px;align-items:center;gap:8px;margin:0 0 18px;padding:12px 14px;font-size:11px;display:flex}.alert.error{color:#8a3333;background:#fff0f0;border:1px solid #efc3c3}.alert.success{color:#22643b;background:#edf9f1;border:1px solid #bfe2ca}.skeleton-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.skeleton-grid span,.record-loader span{background:linear-gradient(90deg,#e9eff3,#f7f9fa,#e9eff3) 0 0/200% 100%;border-radius:13px;min-height:130px;animation:1.2s infinite shimmer}.record-loader{gap:18px;display:grid}.record-loader span{min-height:300px}@keyframes shimmer{to{background-position:-200% 0}}.dtr-toolbar{border:1px solid var(--line);background:#fff;border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:20px;padding:16px;display:flex}.dtr-toolbar label{gap:5px;display:grid}.dtr-toolbar label>span{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:9px;font-weight:600}.dtr-toolbar select{color:#25384a;background:#fff;border:1px solid #cbd7df;border-radius:8px;min-width:150px;height:39px;padding:0 34px 0 11px;font-size:11px}.dtr-summary{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.record-note{height:39px;color:var(--blue);white-space:nowrap;background:#eaf4fa;border-radius:8px;align-items:center;gap:7px;padding:0 12px;font-size:10px;font-weight:600;display:inline-flex}.record-note.calculated-days{color:#24663a;background:#edf8f1}.record-note.salary-total{color:#5f3e00;background:#fff5d9}.dtr-table-card{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden;box-shadow:0 10px 26px #052f550d}.dtr-table-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;width:100%;max-height:min(64vh,620px);overflow:auto}.dtr-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:680px}.dtr-table th,.dtr-table td{text-align:center;border-bottom:1px solid #e2e9ed;border-right:1px solid #e2e9ed;height:46px;padding:9px 12px;font-size:11px}.dtr-table thead th{z-index:2;color:#fff;background:var(--navy);letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:600;position:sticky;top:0}.dtr-table th:first-child{text-align:center;width:72px}.dtr-table thead th:first-child{z-index:3}.dtr-table tbody th{z-index:1;color:var(--navy);background:#fff;font-weight:600;position:sticky;left:0}.dtr-table tr.weekend td,.dtr-table tr.weekend th{color:#71818d;background:#f4f7f8}.dtr-table .table-loading{height:46px;color:var(--muted);font-style:italic}.dtr-table td.dtr-event-cell{color:#5d4900;background:#fff6ce;padding-inline:16px;font-weight:650;line-height:1.35}.dtr-table tr.weekend td.dtr-event-cell{color:#5d4900;background:#fff3bd}.dtr-table td.credited-time{color:var(--navy);background:#f0f7fb;font-weight:700}.workflow-content{max-width:1120px}.workflow-form,.overtime-request-card,.workflow-list-section{border:1px solid var(--line);background:#fff;border-radius:14px;box-shadow:0 10px 28px #052f550d}.workflow-form{padding:24px}.workflow-form-title{color:var(--navy);align-items:center;gap:11px;margin-bottom:20px;display:flex}.workflow-form-title>svg{color:var(--blue);flex:none}.workflow-form-title h2{font-size:18px}.workflow-form-title p,.section-title.plain p{color:var(--muted);margin-top:3px;font-size:10px}.period-form-list{gap:10px;display:grid}.period-form-row{background:#f9fbfc;border:1px solid #e2e9ed;border-radius:10px;grid-template-columns:28px minmax(145px,1fr) minmax(130px,.8fr) minmax(130px,.8fr) 38px;align-items:end;gap:10px;padding:12px;display:grid}.row-number{width:25px;height:38px;color:var(--muted);place-items:center;font-size:10px;font-weight:700;display:grid}.period-form-row label,.period-date-range,.reason-field,.signatory-fields label,.academic-term-fields label,.role-details-fields label,.role-assignment-fields label,.employee-search label,.approval-remarks{color:#506477;letter-spacing:.04em;text-transform:uppercase;gap:6px;min-width:0;font-size:9px;font-weight:650;display:grid}.period-form-row input,.reason-field textarea,.signatory-fields input,.signatory-fields select,.academic-term-fields input,.academic-term-fields select,.role-details-fields input,.role-assignment-fields select,.employee-search input,.approval-remarks textarea{color:#172333;letter-spacing:normal;text-transform:none;background:#fff;border:1px solid #cfdbe3;border-radius:8px;outline:none;width:100%;min-width:0;min-height:39px;padding:8px 10px;font-size:11px}.period-form-row input:focus,.reason-field textarea:focus,.signatory-fields input:focus,.signatory-fields select:focus,.academic-term-fields input:focus,.academic-term-fields select:focus,.role-details-fields input:focus,.role-assignment-fields select:focus,.employee-search input:focus,.approval-remarks textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0b63a51a}.date-range-trigger{color:#728392;letter-spacing:normal;text-align:left;text-transform:none;background:#fff;border:1px solid #cfdbe3;border-radius:8px;align-items:center;gap:8px;width:100%;min-width:0;min-height:39px;padding:8px 10px;font-size:10px;font-weight:500;display:flex;overflow:hidden}.date-range-trigger svg{color:var(--blue);flex:none}.date-range-trigger span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.date-range-trigger.selected{color:#172333}.date-range-trigger:focus-visible{border-color:var(--blue);outline:0;box-shadow:0 0 0 3px #0b63a51a}.remove-period{width:38px;height:38px;color:var(--danger);background:#fff0f0;border:0;border-radius:8px;place-items:center;display:grid}.remove-period:disabled{opacity:.35;cursor:not-allowed}.primary-button,.secondary-button,.approve-button,.deny-button{border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 15px;font-size:10px;font-weight:700;display:inline-flex}.primary-button{border:1px solid var(--blue);color:#fff;background:var(--blue)}.secondary-button{color:var(--navy);background:#fff;border:1px solid #cbd8e1}.add-period{margin-top:12px}.reason-field{margin-top:20px}.reason-field>span strong{color:var(--danger);margin-left:5px;font-size:8px}.reason-field textarea,.approval-remarks textarea{resize:vertical;line-height:1.5}.form-actions{justify-content:flex-end;gap:9px;margin-top:18px;display:flex}.workflow-form .alert{margin:16px 0 0}.workflow-list-section{margin-top:28px;overflow:hidden}.workflow-list-section.first{margin-top:0}.section-title.plain{padding:20px 22px}.overtime-request-list{gap:14px;padding:0 18px 18px;display:grid}.overtime-request-card{box-shadow:none;overflow:hidden}.overtime-request-card>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:15px;padding:18px 20px;display:flex}.request-number{color:var(--blue);letter-spacing:.09em;text-transform:uppercase;margin-bottom:4px;font-size:8px;font-weight:750;display:block}.overtime-request-card h2{color:var(--navy);font-size:15px}.overtime-request-card header p{color:var(--muted);margin-top:4px;font-size:9px}.workflow-status{letter-spacing:.06em;border-radius:999px;flex:none;padding:6px 9px;font-size:8px;font-weight:800}.workflow-status.pending{color:#7a5700;background:#fff3c4}.workflow-status.approved{color:#21643a;background:#e5f6eb}.workflow-status.denied,.workflow-status.cancelled{color:#8b3030;background:#fde8e8}.request-reason{border-bottom:1px solid var(--line);padding:15px 20px}.request-reason>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:700}.request-reason p{color:#35495a;white-space:pre-wrap;margin-top:6px;font-size:11px;line-height:1.55}.overtime-period-scroll,.signatory-table-scroll,.academic-term-table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.overtime-period-table,.signatory-table,.academic-term-table{border-collapse:collapse;width:100%}.overtime-period-table th,.overtime-period-table td,.signatory-table th,.signatory-table td,.academic-term-table th,.academic-term-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #e7edf1;padding:10px 14px;font-size:10px}.overtime-period-table th,.signatory-table th,.academic-term-table th{color:#617485;letter-spacing:.05em;text-transform:uppercase;background:#f7f9fa;font-size:8px}.approval-timeline{grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:17px 20px;list-style:none;display:grid}.approval-timeline li{color:#81909b;grid-template-columns:24px minmax(0,1fr);gap:7px;min-width:0;display:grid;position:relative}.approval-timeline li:not(:last-child):after{content:"";z-index:0;background:#dbe4e9;width:calc(100% - 17px);height:1px;position:absolute;top:11px;left:23px}.approval-icon{z-index:1;background:#fff;border:1px solid #cbd7df;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:relative}.approval-timeline li.approved .approval-icon{color:#fff;background:var(--green);border-color:#65a97b}.approval-timeline li.pending .approval-icon{color:#765300;background:#fff2bd;border-color:#e1b94f}.approval-timeline li.denied .approval-icon{color:#fff;background:var(--danger);border-color:#d98585}.approval-timeline li>div{min-width:0;padding-right:8px}.approval-timeline strong,.approval-timeline span,.approval-timeline small{overflow-wrap:anywhere;display:block}.approval-timeline strong{color:#34495a;font-size:8px}.approval-timeline span{margin-top:3px;font-size:7px;line-height:1.35}.approval-timeline small{color:#71818e;margin-top:4px;font-size:7px;line-height:1.35}.request-action{border-top:1px solid var(--line);background:#f9fbfc;padding:16px 20px}.approval-remarks{text-transform:none}.approval-buttons{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.approve-button{border:1px solid var(--green);color:#fff;background:var(--green)}.deny-button{color:var(--danger);background:#fff;border:1px solid #e3b1b1}.approve-button:disabled,.deny-button:disabled,.primary-button:disabled{opacity:.55;cursor:wait}.signatory-form{margin-bottom:28px}.employee-search{margin-bottom:15px}.employee-search label>div{display:flex}.employee-search input{border-radius:8px 0 0 8px}.employee-search button{color:#fff;background:var(--navy);border:0;border-radius:0 8px 8px 0;justify-content:center;align-items:center;gap:6px;min-width:95px;font-size:10px;font-weight:700;display:inline-flex}.signatory-fields{grid-template-columns:1fr 2fr 1.4fr 1fr 1fr;align-items:start;gap:12px;display:grid}.signatory-fields label>small{color:var(--muted);letter-spacing:normal;text-transform:none;font-size:8px;font-weight:400}.signatory-table td:first-child{align-items:center;gap:7px;display:flex}.signatory-table td:last-child{text-align:right}.signatory-table td:last-child button{width:32px;height:32px;color:var(--blue);background:#fff;border:1px solid #d6e0e6;border-radius:7px;place-items:center;display:inline-grid}.assignment-state{text-transform:uppercase;border-radius:999px;padding:4px 6px;font-size:7px;font-weight:700}.assignment-state.active{color:#23643b;background:#e4f5e9}.assignment-state.future{color:#705304;background:#fff2c3}.assignment-state.ended{color:#6f7e89;background:#edf1f3}.date-range-dialog-backdrop{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#03192c8f;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.date-range-dialog{background:#fff;border:1px solid #ffffff59;border-radius:16px;width:min(440px,100%);overflow:hidden;box-shadow:0 24px 70px #03192c47}.date-range-dialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 22px 18px;display:flex}.date-range-dialog h2{color:var(--navy);margin-top:4px;font-size:20px}.date-range-dialog header p{color:var(--muted);margin-top:6px;font-size:10px;line-height:1.45}.date-range-dialog header button{width:34px;height:34px;color:var(--navy);background:#fff;border:1px solid #d9e2e7;border-radius:8px;flex:none;place-items:center;display:grid}.date-range-dialog-fields{grid-template-columns:1fr 1fr;gap:12px;padding:20px 22px;display:grid}.date-range-dialog-fields label{color:#506477;letter-spacing:.06em;text-transform:uppercase;gap:7px;min-width:0;font-size:9px;font-weight:700;display:grid}.date-range-dialog-fields input{color:#172333;background:#fff;border:1px solid #cfdbe3;border-radius:8px;outline:0;width:100%;min-width:0;min-height:42px;padding:8px 10px;font:500 11px InterVariable,Inter,sans-serif}.date-range-dialog-fields input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0b63a51a}.date-range-dialog .alert{margin:0 22px}.date-range-dialog-actions{justify-content:flex-end;gap:9px;padding:17px 22px 22px;display:flex}.academic-term-fields{grid-template-columns:minmax(240px,2fr) repeat(2,minmax(150px,1fr));align-items:start;gap:12px;display:grid}.academic-term-fields.manual{grid-template-columns:repeat(4,minmax(140px,1fr))}.academic-term-table td:last-child{text-align:right}.academic-term-table td:last-child button{width:32px;height:32px;color:var(--blue);background:#fff;border:1px solid #d6e0e6;border-radius:7px;place-items:center;display:inline-grid}.term-state{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;align-items:center;gap:5px;padding:5px 7px;font-size:7px;font-weight:750;display:inline-flex}.term-state.configured{color:#23643b;background:#e4f5e9}.term-state.missing{color:#765300;background:#fff2bd}.role-details-fields{grid-template-columns:minmax(180px,.7fr) minmax(260px,1.3fr);gap:12px;display:grid}.role-details-fields input:disabled{color:#6b7a87;cursor:not-allowed;background:#f1f4f6}.permission-fieldset{border:0;min-width:0;margin:20px 0 0;padding:0}.permission-fieldset legend{color:#506477;letter-spacing:.05em;text-transform:uppercase;margin-bottom:9px;font-size:9px;font-weight:700}.permission-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.permission-groups section{background:#f9fbfc;border:1px solid #e0e8ed;border-radius:10px;min-width:0;padding:12px}.permission-groups h3{color:var(--navy);margin:0 0 8px;font-size:11px}.permission-option{color:#526777;cursor:pointer;border-radius:7px;align-items:center;gap:8px;min-height:34px;padding:6px 7px;font-size:10px;line-height:1.3;display:flex}.permission-option:hover{background:#edf5f9}.permission-option input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.permission-check{color:#0000;background:#fff;border:1px solid #bdcbd4;border-radius:5px;flex:none;place-items:center;width:19px;height:19px;display:grid}.permission-option.checked{color:#24495f;background:#eef7fb;font-weight:650}.permission-option.checked .permission-check{border-color:var(--blue);color:#fff;background:var(--blue)}.role-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 18px 18px;display:grid}.role-card{background:#fbfcfd;border:1px solid #e0e8ed;border-radius:11px;min-width:0;padding:15px}.role-card header{grid-template-columns:35px minmax(0,1fr) 32px;align-items:center;gap:9px;display:grid}.role-card-icon{width:35px;height:35px;color:var(--blue);background:#eaf4fa;border-radius:9px;place-items:center;display:grid}.role-card h3{color:var(--navy);margin:0;font-size:13px}.role-card header span{color:var(--muted);margin-top:2px;font-size:8px;display:block}.role-card header button,.role-assignment-table td:last-child button{width:32px;height:32px;color:var(--blue);background:#fff;border:1px solid #d5e0e6;border-radius:7px;place-items:center;display:grid}.role-card>p{min-height:30px;color:var(--muted);margin:12px 0;font-size:9px;line-height:1.5}.permission-chip-list{flex-wrap:wrap;gap:5px;display:flex}.permission-chip-list span,.role-name-chip{color:#285775;background:#e7f2f8;border-radius:999px;padding:5px 7px;font-size:7px;font-weight:700;line-height:1.2}.permission-chip-list em{color:#8b99a3;font-size:8px}.role-assignment-form{margin-top:28px}.role-assignment-fields{grid-template-columns:minmax(250px,1.5fr) minmax(180px,1fr);gap:12px;display:grid}.role-assignment-table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.role-assignment-table{border-collapse:collapse;width:100%}.role-assignment-table th,.role-assignment-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #e7edf1;padding:10px 14px;font-size:10px}.role-assignment-table th{color:#617485;letter-spacing:.05em;text-transform:uppercase;background:#f7f9fa;font-size:8px}.role-assignment-table td:first-child{color:#354b5c;align-items:center;gap:7px;display:flex}.role-assignment-table td:last-child{text-align:right}.arrangement-count{color:#24663a;white-space:nowrap;background:#f2faf5;border:1px solid #b9dec5;border-radius:999px;align-items:center;gap:7px;padding:9px 13px;font-size:11px;font-weight:600;display:inline-flex}.arrangement-list{gap:18px;display:grid}.arrangement-card{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden;box-shadow:0 10px 26px #052f550d}.arrangement-meta{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#f5fafc,#fff);grid-template-columns:minmax(240px,1.6fr) 1fr 1fr;align-items:stretch;display:grid}.arrangement-meta.summary-only{border-bottom:0}.arrangement-meta>div{border-right:1px solid var(--line);min-width:0;padding:20px 22px}.arrangement-meta>div:last-child{border-right:0}.arrangement-meta span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:600;display:block}.arrangement-meta strong{color:#263747;margin-top:7px;font-size:11px;font-weight:600;display:block}.arrangement-type h2{color:var(--navy);margin-top:5px;font-family:InterVariable,Inter,sans-serif;font-size:21px;font-weight:600}.arrangement-table-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:min(50vh,460px);overflow:auto}.arrangement-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:650px}.arrangement-table th,.arrangement-table td{text-align:center;border-bottom:1px solid #e2e9ed;border-right:1px solid #e2e9ed;height:46px;padding:9px 13px;font-size:11px}.arrangement-table thead th{z-index:2;color:#fff;background:var(--navy);letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:600;position:sticky;top:0}.arrangement-table th:first-child{text-align:left;width:190px}.arrangement-table tbody th{color:var(--navy);background:#f7fafb;font-weight:600}.regular-schedule-note{color:var(--muted);background:#fbfcfd;text-align:center!important;height:86px!important}.regular-schedule-note svg{vertical-align:middle;margin-right:7px}.teaching-alert{margin-top:24px}.teaching-section{margin-top:28px}.teaching-section-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;display:flex}.teaching-section-heading h2{color:var(--navy);margin-top:4px;font-family:InterVariable,Inter,sans-serif;font-size:25px;font-weight:600}.teaching-term-count{color:#24663a;white-space:nowrap;background:#f2faf5;border:1px solid #b9dec5;border-radius:999px;align-items:center;gap:7px;padding:8px 12px;font-size:10px;font-weight:600;display:inline-flex}.teaching-filters{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:end;gap:10px;margin-bottom:14px;padding:11px 13px;display:flex}.teaching-filters label{gap:5px;display:grid}.teaching-filters label>span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:8px;font-weight:600}.teaching-filters select{color:#25384a;background:#fff;border:1px solid #cbd7df;border-radius:7px;min-width:180px;height:36px;padding:0 32px 0 10px;font-size:10px}.teaching-term-list{gap:16px;display:grid}.teaching-term-card{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden;box-shadow:0 10px 26px #052f550d}.teaching-term-header{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#f5fafc,#fff);justify-content:space-between;align-items:center;gap:14px;min-height:64px;padding:12px 16px;display:flex}.teaching-term-header span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:600;display:block}.teaching-term-header h2{color:var(--navy);margin-top:3px;font-family:InterVariable,Inter,sans-serif;font-size:18px;font-weight:600}.teaching-term-header>strong{color:var(--blue);background:#eaf4fa;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:700}.teaching-calendar-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow-x:auto}.teaching-timetable{--teaching-calendar-height:780px;min-width:920px}.teaching-timetable-header,.teaching-timetable-body{grid-template-columns:60px repeat(7,minmax(120px,1fr));display:grid}.teaching-timetable-header{z-index:4;color:#fff;background:var(--navy);position:relative}.teaching-timetable-header>span,.teaching-timetable-header>h3{text-align:center;text-transform:uppercase;letter-spacing:.03em;border-right:1px solid #ffffff29;min-width:0;margin:0;padding:8px 5px;font-size:8px;font-weight:600}.teaching-timetable-header>span{z-index:5;background:var(--navy);position:sticky;left:0}.teaching-timetable-body{position:relative}.teaching-time-axis,.teaching-day-grid{height:var(--teaching-calendar-height);background-color:#fff;background-image:repeating-linear-gradient(#cbd7df 0 1px,#0000 1px 52px),repeating-linear-gradient(#e7edf1 0 1px,#0000 1px 26px);position:relative}.teaching-time-axis{z-index:3;border-right:1px solid var(--line);background-color:#f7fafb;position:sticky;left:0}.teaching-time-axis span{top:var(--time-offset);color:var(--muted);white-space:nowrap;font-size:7px;font-weight:600;position:absolute;right:6px;transform:translateY(-50%)}.teaching-time-axis span.first{top:5px;transform:none}.teaching-time-axis span.last{transform:translateY(-100%)}.teaching-day-grid{border-right:1px solid var(--line);min-width:0}.teaching-day-grid:last-child{border-right:0}.teaching-class{border:1px solid #bcd5e4;border-left:3px solid var(--green-bright);color:#2a3d4e;text-align:center;background:#fff;border-radius:8px;justify-items:center;gap:4px;min-width:0;padding:11px 8px;display:grid;box-shadow:0 5px 14px #052f550f}.teaching-class.calendar-event{z-index:2;top:var(--class-start);height:max(24px, var(--class-duration));box-shadow:none;background:#e6f2f8;border:1px solid #95bdd3;border-left:0;border-right:0;border-radius:0;gap:0;padding:3px 4px;position:absolute;left:0;right:0;overflow:hidden}.teaching-class strong{max-width:100%;color:var(--navy);overflow-wrap:anywhere;font-size:12px;font-weight:700}.teaching-class span{max-width:100%;color:var(--blue);overflow-wrap:anywhere;font-size:9px;font-weight:600;line-height:1.35}.teaching-class small{max-width:100%;color:var(--muted);overflow-wrap:anywhere;font-size:8px;line-height:1.35}.teaching-class.calendar-event strong{font-size:9px;line-height:1.1}.teaching-class.calendar-event span{font-size:7px;line-height:1.1}.teaching-class.calendar-event small{font-size:6px;line-height:1.1}.teaching-unscheduled{border-top:1px solid var(--line);background:#fbfcfd;padding:15px 18px 18px}.teaching-unscheduled>h3{color:var(--muted);margin:0 0 9px;font-size:10px}.teaching-unscheduled>div{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;display:grid}.login-page{background:#fff;grid-template-columns:1.15fr .85fr;min-height:100vh;display:grid}.login-brand{background:#fff;place-items:center;padding:clamp(42px,7vw,92px);display:grid}.login-brand-banner{border:1px solid var(--line);border-radius:18px;width:min(720px,100%);height:auto;display:block;box-shadow:0 24px 60px #052f5529}.login-panel{background:#f5f8fa;place-items:center;padding:36px;display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:16px;width:min(420px,100%);padding:38px;box-shadow:0 20px 50px #052f551a}.login-card h2{color:var(--navy);margin:5px 0 10px;font-family:InterVariable,Inter,sans-serif;font-size:31px;font-weight:600}.login-card>p{color:var(--muted);font-size:11px;line-height:1.65}.google-button{justify-content:center;min-height:44px;margin:25px 0 18px;display:flex}.login-card>small{color:#8a98a3;text-align:center;margin-top:18px;font-size:9px;line-height:1.5;display:block}.config-warning{color:#7c5a18;background:#fff7df;border-radius:8px;margin:25px 0 18px;padding:12px;font-size:10px;line-height:1.55}.config-warning code{font-size:9px}.page-loader{min-height:100vh;color:var(--muted);background:#f3f7fa;place-content:center;justify-items:center;gap:12px;font-size:11px;display:grid}.page-loader span{border:3px solid #cbdce7;border-top-color:var(--blue);border-radius:50%;width:33px;height:33px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1080px){.metric-grid,.skeleton-grid{grid-template-columns:repeat(2,1fr)}.record-details,.validation-panel{grid-template-columns:1fr 1fr}.detail.wide{border-top:1px solid #edf1f4;grid-column:1/-1}}@media (width<=880px){.app-shell{display:block}.app-shell>main{grid-column:auto}.sidebar{width:min(300px,88vw);transition:transform .22s;display:flex;transform:translate(-102%);box-shadow:18px 0 50px #031c3140}.sidebar.open{transform:translate(0)}.close-drawer{display:inline-flex}.drawer-scrim{z-index:29;background:#03192c73;border:0;display:block;position:fixed;inset:0}.topbar{justify-content:space-between;min-height:66px;padding:0 18px}.icon-button{display:inline-flex}.topbar-title{text-align:center;display:grid}.topbar-title strong{color:var(--navy);letter-spacing:.06em;font:700 14px InterVariable,Inter,sans-serif}.topbar-title span{color:var(--muted);font-size:8px}.user-copy,.user-card>svg{display:none}.avatar{width:35px;height:35px}.content{padding:28px 20px 92px}.bottom-nav{z-index:20;min-height:66px;padding:6px 6px max(6px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffffff7;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -8px 30px #052f5514}.bottom-nav a{color:#7b8b98;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:8px;display:flex}.bottom-nav a.active{color:var(--blue);font-weight:700}.login-page{min-height:100dvh;padding:24px 20px max(24px, env(safe-area-inset-bottom));flex-direction:column;justify-content:center;align-items:stretch;gap:16px;display:flex;overflow-y:auto}.login-brand{flex:none;padding:0}.login-brand-banner{border-radius:13px;width:min(560px,100%);box-shadow:0 14px 34px #052f551f}.login-panel{background:0 0;flex:none;place-items:center;padding:0}}@media (width<=760px){.period-form-row{grid-template-columns:25px minmax(0,1fr) minmax(0,1fr) 38px}.period-form-row .row-number{grid-area:1/1}.period-form-row .period-date-range{grid-area:1/2/auto/4}.period-form-row .period-time-start{grid-area:2/2}.period-form-row .period-time-end{grid-area:2/3/auto/5}.period-form-row .remove-period{grid-area:1/4}.approval-timeline{grid-template-columns:1fr;gap:0}.approval-timeline li{min-height:54px}.approval-timeline li:not(:last-child):after{width:1px;height:calc(100% - 8px);top:23px;left:11px}.signatory-fields{grid-template-columns:1fr 1fr}.signatory-fields .employee-select{grid-column:1/-1}.academic-term-fields,.academic-term-fields.manual{grid-template-columns:1fr 1fr}.academic-term-fields .academic-term-select{grid-column:1/-1}.permission-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.permission-groups section:last-child{grid-column:1/-1}}@media (width<=620px){.page-heading{margin-bottom:18px;display:block}.page-heading h1,.page-heading.compact h1{margin:3px 0 0;font-size:23px;line-height:1.15}.page-heading p{display:none}.date-pill,.status-count,.arrangement-count{margin-top:18px;display:inline-flex}.metric-grid,.skeleton-grid{grid-template-columns:1fr}.metric-card{min-height:112px}.activity-list article{grid-template-columns:42px 1fr;padding:16px}.activity-list .status{grid-column:2;justify-self:start}.section-title{padding:18px 16px}.section-title h2{font-size:18px}.section-title a{font-size:0}.section-title a svg{width:20px;height:20px}.amf-card-head{padding:18px}.amf-pagination{gap:8px}.amf-pagination button{min-width:80px;padding-inline:10px}.record-details,.validation-panel{grid-template-columns:1fr}.detail,.detail.wide{border-top:1px solid #edf1f4;border-right:0;grid-column:auto;padding:15px 18px}.record-details .detail:first-child,.validation-panel .detail:first-child{border-top:0}.time-table-wrap{margin:0}.dtr-toolbar{grid-template-columns:1fr 1fr;align-items:end;display:grid}.dtr-toolbar select{width:100%;min-width:0}.dtr-summary{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin-left:0;display:grid}.record-note{text-align:center;white-space:normal;justify-content:center;min-width:0;height:auto;min-height:42px;padding:6px 5px;font-size:8px;line-height:1.25}.record-note svg{flex:none;width:14px;height:14px}.dtr-table-scroll{min-height:280px;max-height:calc(100dvh - 330px);overflow:hidden auto}.dtr-table{table-layout:fixed;width:100%;min-width:0}.dtr-table th,.dtr-table td{white-space:nowrap;height:42px;padding:6px 2px;font-size:9px}.dtr-table thead th{letter-spacing:0;padding-inline:1px;font-size:7px}.dtr-table th:first-child{width:8%;padding-inline:2px}.dtr-table thead th:nth-child(2){width:10%}.dtr-table thead th:nth-child(n+3):nth-child(-n+6){width:16%}.dtr-table thead th:nth-child(7){width:18%}.dtr-table td.credited-time{font-size:8px}.dtr-table td.dtr-event-cell{white-space:normal;padding-inline:4px}.arrangement-meta{grid-template-columns:1fr}.arrangement-meta>div{border-right:0;border-bottom:1px solid var(--line);padding:15px 18px}.arrangement-meta>div:last-child{border-bottom:0}.teaching-section-heading{align-items:flex-start}.teaching-filters{grid-template-columns:1fr 1fr;display:grid}.teaching-filters select{width:100%;min-width:0}.teaching-timetable{min-width:920px}.teaching-term-header{align-items:flex-start;padding:15px 16px}.teaching-term-header>strong{text-align:right}.login-page{padding:16px 14px max(16px, env(safe-area-inset-bottom));gap:12px}.login-brand{padding:0}.login-brand-banner{border-radius:11px}.login-panel{padding:0}.login-card{padding:24px 20px}.login-card h2{font-size:27px}.google-button{margin:20px 0 14px}.login-card>small{margin-top:14px}.workflow-form{padding:16px}.period-form-row{grid-template-columns:22px 1fr 1fr 34px;gap:7px;padding:9px}.row-number{width:22px}.remove-period{width:34px}.overtime-request-card>header{padding:15px}.request-reason,.request-action{padding:14px 15px}.overtime-request-list{padding:0 10px 10px}.overtime-period-table{min-width:480px}.approval-timeline{padding:15px}.signatory-fields{grid-template-columns:1fr}.signatory-fields .employee-select{grid-column:auto}.signatory-table{min-width:760px}.academic-term-fields,.academic-term-fields.manual{grid-template-columns:1fr}.academic-term-fields .academic-term-select{grid-column:auto}.academic-term-table{min-width:680px}.role-details-fields,.role-assignment-fields,.permission-groups,.role-card-grid{grid-template-columns:1fr}.permission-groups section:last-child{grid-column:auto}.role-card-grid{padding:0 10px 10px}.role-card>p{min-height:0}.role-assignment-table{min-width:680px}.date-range-dialog-backdrop{align-items:end;padding:14px}.date-range-dialog{border-radius:16px 16px 10px 10px}.date-range-dialog>header{padding:19px 18px 15px}.date-range-dialog-fields{gap:9px;padding:17px 18px}.date-range-dialog .alert{margin-inline:18px}.date-range-dialog-actions{padding:15px 18px max(18px, env(safe-area-inset-bottom))}.form-actions{flex-wrap:wrap}}@media print{@page{size:A4 portrait;margin:9mm}:root,html,body{background:#fff}.sidebar,.topbar,.bottom-nav,.no-print{display:none!important}.app-shell,.app-shell>main{display:block}.content.dtr-content{max-width:none;padding:0}.dtr-table th,.dtr-table td{height:18px;padding:1px 3px;font-size:7px}.dtr-table-scroll{overflow:visible}.dtr-table{min-width:0}}
