body.portal{background:#f5f5f5;font-family:'Open Sans',Arial,sans-serif}.portal .app-sidebar{width:250px!important;position:fixed;left:0;top:0;bottom:0;overflow:auto}.portal .app-content.app-sidebar-left{margin-left:250px!important;width:calc(100% - 250px)!important}.portal .app-navigation-logo{display:block;height:100px;width:100%;background-size:72px auto!important}.portal-name{text-align:center;color:#fff;font-size:11px;letter-spacing:1.5px;padding:12px 0 20px}.portal nav ul{list-style:none;padding:0;margin:0}.portal nav li a{display:flex;align-items:center;gap:12px;padding:16px 18px;color:#c5d1cd;font-size:13px}.portal nav li a:hover{background:#272c40;color:#fff}.nav-icon{background:#3b435d;border-radius:5px;width:30px;min-width:30px;height:30px;line-height:30px;text-align:center;color:#fff;font-size:11px}.portal .app-header{height:72px;display:flex;justify-content:flex-end;align-items:center;padding:12px 24px}.account{display:flex;align-items:center;gap:15px;font-size:12px}.account small{color:#8c929b}.account form{margin:0}.mobile-home{display:none}.portal main{padding:22px 30px;min-height:80vh}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.page-heading h2{font-size:23px;font-weight:400;margin:10px 0}.dev-label{font-size:9px;color:#888;letter-spacing:1px}.portal .block{background:#fff;padding:20px;margin-bottom:20px;border:1px solid #e1e5e9;border-radius:2px}.portal .table-head-custom th{text-transform:uppercase;font-size:11px;font-weight:600}.portal .table td{font-size:13px;vertical-align:middle}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.toolbar form{display:flex;align-items:center;gap:10px}.toolbar input,.toolbar select{height:34px;max-width:200px}.toolbar h2{margin:0;font-size:23px}.form-panel{max-width:850px}.form-panel form p,.form-group{margin-bottom:18px}.form-panel label,.login-box label{display:block;margin-bottom:6px;font-weight:600;font-size:12px}.form-panel input:not([type=checkbox]):not([type=hidden]),.form-panel select,.form-panel textarea,.login-box input{width:100%;border:1px solid #dbe0e4;padding:9px;border-radius:3px}.form-panel input[type=checkbox]{width:18px;height:18px}.form-panel .helptext,.form-panel small{display:block;font-size:11px;color:#777}.errorlist{color:#b83737;padding-left:20px}.inline-form{display:inline-block;margin-left:8px}.calendar{width:100%;table-layout:fixed;background:white}.calendar th{text-align:center;background:#f5f5f5;padding:10px;border:1px solid #ddd}.calendar td{height:110px;vertical-align:top;border:1px solid #ddd;padding:6px;font-size:12px}.calendar td>span{display:block;text-align:right;color:#777}.calendar .muted-day{background:#fafafa;color:#ccc}.calendar-event{display:block;background:#388fc2;color:#fff;border-radius:2px;margin-top:5px;padding:5px;font-size:11px;overflow-wrap:anywhere}.calendar-event:hover{background:#277ba9;color:white}.portal footer{padding:20px 30px;font-size:11px;color:#999}.portal dt{color:#777;font-size:11px;margin-top:12px}.portal dd{font-size:14px}.empty{text-align:center;padding:35px!important;color:#999}.login-page{background:#2D3349;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px;font-family:Arial,sans-serif}.login-box{background:white;width:380px;max-width:100%;padding:35px;border-radius:4px}.login-box>img{display:block;width:80px;margin:0 auto 20px;background:#2D3349;padding:8px}.login-box h1{font-size:22px;text-align:center}.login-box>p{text-align:center;font-size:12px;color:#777}.login-box form{margin-top:24px}.login-box .help-block{margin-top:20px;font-size:11px;line-height:1.6}.login-box ul{font-size:11px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #4d9dca;outline-offset:2px}@media(max-width:900px){.portal .app-sidebar{width:190px!important}.portal .app-content.app-sidebar-left{margin-left:190px!important;width:calc(100% - 190px)!important}.portal main{padding:20px 15px}.toolbar{flex-wrap:wrap}.calendar{min-width:650px}.account small{display:none}}@media(max-width:600px){.portal .app-sidebar{position:static;width:100%!important;height:auto}.portal .app-navigation-logo,.portal-name{display:none}.portal nav ul{display:flex;overflow:auto}.portal nav li a{white-space:nowrap;padding:12px}.nav-icon{display:none}.portal .app-content.app-sidebar-left{margin:0!important;width:100%!important}.portal .app-header{height:auto;padding:15px}.account{flex-wrap:wrap;gap:9px}.page-heading{align-items:flex-start;flex-direction:column}.toolbar form{flex-wrap:wrap}.calendar td{height:90px}}
/* Original theme reserves sidebar space with padding; this shell uses a margin. */
.portal .app-content.app-sidebar-left{padding-left:0!important}.portal .app-header{float:none!important;width:100%}.portal .block{display:flow-root}.portal .page-heading{width:100%;clear:both}.portal .toolbar{width:100%;flex-wrap:wrap}.portal .toolbar h2{white-space:nowrap}.portal .nav-icon{font-size:11px!important;font-weight:400!important;line-height:30px!important}.portal .table-responsive{float:none!important;width:100%}
.portal .toolbar>*{float:none!important;width:auto!important;flex:0 1 auto}.portal .toolbar>form{display:flex!important}.portal .toolbar{display:flex!important}
/* Measured from the saved original theme and page structure (2026-11-13).
   Original desktop sidebar: 300px; header: 60px; container gutters: 15px.
   Original blocks: 20px top/side/bottom on these pages; rows: 8px;
   original form groups: 15px; controls: 5px 10px, height 40px. */
@media(min-width:901px){
 .portal .app-sidebar{width:300px!important}
 .portal .app-content.app-sidebar-left{margin-left:300px!important;width:calc(100% - 300px)!important}
}
.portal .app-navigation-logo{height:110px;padding-left:15px}
.portal .app-header{height:60px;padding:0 15px;justify-content:space-between}
.portal .mobile-home{display:block;font-size:13px}
.portal nav li a{padding:10px 30px 10px 15px;gap:0;line-height:30px}
.portal nav li a .nav-icon-hexa{flex-shrink:0}
.portal main.container{float:left;width:100%;margin:15px 0;padding:0 15px}
.portal .page-heading{padding-top:20px!important;margin-bottom:0;min-height:60px}
.portal .page-heading h2{margin-top:20px;margin-bottom:10px}
.portal .block{padding:20px;margin-bottom:15px;border-radius:5px}
.portal .table>thead>tr>th,.portal .table>tbody>tr>td{padding:8px}
.portal .form-group{margin-bottom:15px}
.portal .form-panel input:not([type=checkbox]):not([type=hidden]),.portal .form-panel select,.portal .login-box input{height:40px;padding:5px 10px}
.portal .form-panel textarea{padding:5px 10px}
.portal .toolbar{margin-bottom:15px}
.portal footer{clear:both;padding:15px}
@media(max-width:600px){
 .portal .app-header{height:auto;padding:10px 15px;gap:10px}
 .portal .app-navigation-logo{display:none}
 .portal nav li a{padding:10px 15px}
 .portal .nav-icon-hexa{display:none}
 .portal .page-heading{padding-top:20px!important}
}
