.lab-module{color:#263746}.lab-module .content{padding:22px}.lab-module .content-header{padding:24px 22px 0}.lab-module .content-header h1{font-size:25px}.lab-module .box{border-radius:4px;box-shadow:0 2px 5px #1b33440b;margin-bottom:22px}.lab-module .box-header{padding:17px 20px}.lab-module .box-body{padding:20px}.lab-module .box-title{font-size:19px;font-weight:600}.lab-module .form-control{border-radius:3px;height:39px}.lab-module textarea.form-control{height:auto}.lab-module label{font-weight:600}.lab-module .btn{border-radius:3px;min-height:35px}.lab-module .table>thead>tr>th{background:#f5f8fa;color:#5e7181;border-bottom:1px solid #dde5eb;white-space:nowrap}.lab-module .table>tbody>tr>td{vertical-align:middle;padding:13px 10px}.lab-module .sidebar-menu>li.header{letter-spacing:1px;font-size:10px;padding-top:20px}.lab-module .sidebar-menu>li>a{padding-top:10px;padding-bottom:10px}.lab-module .user-panel{min-height:65px}.lab-module .report-loading-overlay[hidden]{display:none!important}.lab-module .user-panel img,.lab-module .navbar img{object-fit:cover}.lab-welcome{background:#fff;border:1px solid #dce5eb;border-left:4px solid #3c8dbc;border-radius:4px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:22px}.lab-welcome h2{font-size:25px;margin:7px 0 10px;font-weight:600}.lab-welcome p{color:#64798a;margin:0}.lab-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:1.1px}.lab-welcome .btn{white-space:nowrap;padding:11px 17px}.lab-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.lab-stats .info-box{margin:0;border:1px solid #dce5eb;box-shadow:none;border-radius:4px;min-height:88px}.lab-stats .info-box-icon{width:70px;height:86px;line-height:86px;font-size:25px;background:#edf5fb!important;color:#317ba7!important}.lab-stats .info-box-content{margin-left:70px;padding:13px 15px}.lab-stats .info-box-text{font-size:12px;letter-spacing:.3px;white-space:normal}.lab-stats .info-box-number{font-size:28px;font-weight:600}.lab-hint{font-size:13px;color:#657887;margin:10px 0 0;line-height:1.55}.lab-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.lab-form-actions{margin:9px 0 16px;display:flex;gap:10px}.lab-form+.lab-form{border-top:1px solid #e2e8ed;padding-top:20px}.lab-filters{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;margin-bottom:20px}.lab-filters .form-group{flex:1 1 155px;margin:0;min-width:145px;max-width:260px}.lab-filters .lab-filter-action{max-width:none;flex:0 1 auto}.lab-filters label{font-size:12px;color:#587080}.lab-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.lab-status-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.lab-badge{display:inline-block;border-radius:4px;padding:4px 9px;font-size:12px;font-weight:600;white-space:nowrap}.lab-regular{background:#eaf3fc;color:#245d8c;border-color:#3c8dbc}.lab-approved,.lab-completed{background:#e8f5ee;color:#25674a;border-color:#399e70}.lab-pending{background:#fff4da;color:#865e14;border-color:#d7a743}.lab-rejected{background:#fbeaec;color:#9d3449;border-color:#c35c6e}.lab-cancelled{background:#edf0f3;color:#64717d;border-color:#8b97a1}.lab-block{background:#eeeaf7;color:#625383;border-color:#8c79b4}.lab-room{padding:15px 0;border-bottom:1px solid #e8edf2;display:flex;align-items:center;justify-content:space-between;gap:10px}.lab-room:first-child{padding-top:0}.lab-room:last-child{border:0;padding-bottom:0}.lab-room strong{font-size:17px;margin-right:8px}.lab-room p{margin:6px 0 2px}.lab-room small{color:#708493}.lab-room>.fa{font-size:22px}.lab-empty{text-align:center;padding:35px 20px;color:#6d8291}.lab-empty>.fa{font-size:27px;color:#9cacb9;margin-bottom:12px}.lab-empty p{margin:0}.lab-nowrap{white-space:nowrap}.lab-text-limit{max-width:420px;overflow-wrap:anywhere;margin:5px 0 0}.lab-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:25px}.lab-calendar-toolbar h2{font-size:23px;font-weight:600;margin:0}.lab-legend{display:flex;gap:12px 20px;flex-wrap:wrap;margin:12px 0}.lab-legend>span{display:flex;align-items:center;gap:7px;font-size:12px;color:#546c7e}.lab-legend-dot{display:inline-block;width:11px;height:11px;border:2px solid;border-radius:3px}.lab-calendar-scroll{overflow:auto;max-height:1000px;border:1px solid #dce5eb;margin-top:20px;border-radius:4px;position:relative}.lab-week-grid{display:grid;grid-template-columns:72px repeat(var(--lab-columns),minmax(155px,1fr));width:max-content;min-width:100%}.lab-time-heading,.lab-column-heading{position:sticky;top:0;z-index:3;background:#f5f8fb;border-bottom:1px solid #dce5eb;border-right:1px solid #dce5eb;padding:12px 8px;text-align:center;min-height:64px}.lab-column-heading strong,.lab-column-heading span{display:block}.lab-column-heading strong{font-size:13px}.lab-column-heading span{font-size:12px;margin-top:4px;color:#718391}.lab-time-heading{left:0;z-index:5;font-size:12px}.lab-time-axis{position:sticky;left:0;z-index:2;height:var(--lab-height);background:#fff;border-right:1px solid #dce5eb}.lab-time-axis span{position:absolute;left:8px;font-size:11px;color:#778998;padding:3px 0}.lab-day-column{height:var(--lab-height);position:relative;min-width:155px;border-right:1px solid #e1e8ed;background:repeating-linear-gradient(to bottom,#fff 0px,#fff 79px,#e7edf2 80px,#e7edf2 81px)}.lab-positioned-event{position:absolute;padding:0 3px}.lab-event{display:block;border-style:solid;border-width:0 0 0 3px;text-align:left;border-radius:3px;padding:8px 9px;width:100%;font-size:12px;line-height:1.35;overflow-wrap:anywhere;cursor:pointer;margin:0}.lab-event strong{display:block;font-size:13px;margin:3px 0}.lab-event>span{display:block}.lab-event-time{font-size:10px;font-weight:600}.lab-positioned-event .lab-event{height:100%;overflow:auto}.lab-event:hover{filter:brightness(.97)}.lab-event:focus{outline:2px solid #185981;outline-offset:1px}.lab-month-scroll{overflow-x:auto;margin-top:20px}.lab-month-grid{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));min-width:1000px;border-top:1px solid #dce5eb;border-left:1px solid #dce5eb}.lab-month-heading{background:#f5f8fb;font-size:12px;text-transform:uppercase;letter-spacing:.5px;text-align:center;padding:10px}.lab-month-day{min-height:170px;padding:9px;border-bottom:1px solid #dce5eb;border-right:1px solid #dce5eb}.lab-month-day .lab-event{margin:6px 0}.lab-month-blank{background:#f8fafc}.lab-date-number{display:inline-block;font-weight:600;padding:3px 7px;border-radius:4px}.lab-today{background:#eef6fc}.lab-identity{display:flex;gap:15px;background:#f4f8fb;border:1px solid #e1e9ef;border-radius:4px;padding:17px 20px;margin-bottom:24px}.lab-identity .fa{font-size:31px;color:#6c92af}.lab-identity span{display:block;color:#718493;margin-top:4px;font-size:13px}.lab-availability-result{background:#f6f9fb;border:1px solid #dce5eb;padding:16px 20px;border-radius:4px;margin:5px 0 20px}.lab-availability-room{padding:15px 0;border-bottom:1px solid #dce5eb}.lab-availability-room:last-child{border:0}.lab-availability-room>span{float:right;font-size:12px;font-weight:600}.lab-availability-room p{font-size:13px;margin:6px 0}.lab-availability-result h4{font-size:16px}.lab-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 30px}.lab-details dt{font-size:12px;color:#6a8090;font-weight:600;margin-bottom:5px}.lab-details dd{overflow-wrap:anywhere}.lab-detail-status{margin-bottom:24px}.lab-history{border-left:2px solid #b9d6e9;padding:0 18px 15px;margin-left:5px}.lab-history span{display:block;font-size:12px;color:#6d8292;margin:4px 0}.lab-history p{margin-bottom:0}.lab-import-table{min-width:1380px}.lab-import-table td{min-width:120px;max-width:300px;vertical-align:top!important}.lab-import-table td:first-child{min-width:45px}.lab-import-table input,.lab-import-table select{font-size:12px}.lab-import-table td:nth-child(2){min-width:170px}.lab-review-check{display:block;margin-bottom:18px}.lab-review-check input{margin-right:8px}.lab-status-totals{display:flex;gap:20px;flex-wrap:wrap}.lab-status-totals>div{min-width:100px}.lab-status-totals strong{display:block;font-size:28px;font-weight:600;margin-top:8px}.lab-audit-text{max-width:500px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.lab-module .modal-title{font-size:21px}.lab-module .modal-body{overflow-wrap:anywhere}.lab-module .breadcrumb{font-size:11px}.lab-module td .lab-form{display:inline-block}.lab-module .content-wrapper{min-height:calc(100vh - 102px)}
@media(min-width:1500px){.lab-stats{grid-template-columns:repeat(6,minmax(0,1fr))}.lab-stats .info-box-icon{width:50px;font-size:21px}.lab-stats .info-box-content{margin-left:50px;padding:12px 10px}.lab-week-grid{grid-template-columns:72px repeat(var(--lab-columns),minmax(155px,1fr))}}
@media(max-width:991px){.lab-welcome{align-items:flex-start;flex-direction:column}.lab-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-calendar-toolbar h2{order:-1;width:100%}.lab-details{grid-template-columns:1fr}}
@media(max-width:600px){.lab-module .content{padding:14px}.lab-module .content-header{padding:18px 14px 0}.lab-module .content-header h1{font-size:22px}.lab-module .content-header h1 small{display:none}.lab-module .box-body,.lab-module .box-header{padding:16px}.lab-welcome{padding:20px}.lab-welcome h2{font-size:22px}.lab-form-grid{grid-template-columns:1fr}.lab-stats{gap:10px}.lab-stats .info-box-icon{display:none}.lab-stats .info-box-content{margin:0}.lab-filters .form-group{max-width:none;flex:1 1 100%}.lab-module .table-responsive{margin:0}.lab-availability-room>span{float:none;display:block;margin-top:5px}.lab-calendar-toolbar{gap:10px}.lab-calendar-toolbar .btn{padding-left:10px;padding-right:10px}}
@media print{.no-print,.main-header,.main-sidebar,.main-footer,.content-header,.lab-module .btn{display:none!important}.lab-module .content-wrapper{margin:0!important}.lab-module .content{padding:0}.lab-module .box{border:0;box-shadow:none}.lab-module .lab-event{break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:landscape;margin:10mm}}

/* Public appointment pages keep the existing theme with simple top navigation. */
.lab-hours-choices{border:1px solid #dce5eb;border-radius:4px;padding:12px 16px 16px;margin:0 0 20px;min-width:0}.lab-hours-choices legend{width:auto;border:0;padding:0 6px;margin:0;font-size:15px;font-weight:600}.lab-choice-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.lab-choice-grid{display:flex;flex-wrap:wrap;gap:10px}.lab-choice-grid label{display:flex;align-items:center;gap:8px;margin:0;padding:10px 14px;background:#f5f8fa;border:1px solid #dce5eb;border-radius:4px;cursor:pointer}.lab-choice-grid input{margin:0;width:16px;height:16px}.lab-choice-grid label:has(input:checked){background:#eaf3fc;border-color:#3c8dbc}
.lab-public-header{max-height:none}
.lab-public .content-wrapper{margin-left:0!important}.lab-public .main-footer{margin-left:0!important}.lab-public .content,.lab-public .content-header{max-width:1240px;margin:0 auto}.lab-public-header .logo{width:230px}.lab-public-header .navbar{margin-left:230px!important}.lab-public-links{display:flex;align-items:center;min-height:50px;flex-wrap:wrap;padding:0 14px}.lab-public-links a{color:#fff;padding:15px 13px;display:block;font-size:14px}.lab-public-links a[aria-current="page"],.lab-public-links a:hover{background:#ffffff20}.lab-public-links .lab-admin-link{margin-left:auto;background:#27698f}.lab-honeypot{display:none!important}.lab-public .content-header .breadcrumb{display:none}.lab-public .lab-details{margin-top:20px}.lab-public .lab-form-grid{gap:0 24px}
@media(max-width:767px){.lab-public-header .logo{width:100%}.lab-public-header .navbar{margin-left:0!important}.lab-public-links{justify-content:center;padding:4px 6px}.lab-public-links a{padding:10px 9px;font-size:12px}.lab-public-links .lab-admin-link{margin-left:0}.lab-public .content-header h1{font-size:23px}}
