/* H2MS — structural Universal Theme base (layout only; colours come from the --ut-* variables
   that the H2MS gem themes set, with Vita-like defaults). */
:root{
  --ut-body-background-color:#f8f8f8; --ut-body-text-color:#262626;
  --ut-component-background-color:#fff; --ut-component-text-default-color:#262626;
  --ut-component-border-color:rgba(0,0,0,.1); --ut-component-highlight-background-color:#f3f3f3;
  --ut-header-background-color:#0572ce; --ut-header-text-color:#fff;
  --ut-nav-background-color:#fff; --ut-nav-text-color:#262626;
  --ut-palette-primary:#0572ce; --ut-palette-primary-contrast:#fff; --ut-link-text-color:#0572ce;
  --a-field-input-background-color:#fff; --a-field-input-text-color:#262626; --a-field-input-border-color:rgba(0,0,0,.18);
  --h2ms-header-h:48px; --h2ms-nav-w:240px; --h2ms-nav-w-c:48px;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--gx-font,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif);font-size:14px;line-height:1.43;
  background:var(--ut-body-background-color);color:var(--ut-body-text-color);-webkit-font-smoothing:antialiased}
a{color:var(--ut-link-text-color)}
img{max-width:100%}
#wwvFlowForm{margin:0}

/* ---------------- header ---------------- */
.t-Header{position:fixed;top:0;left:0;right:0;height:var(--h2ms-header-h);z-index:900;background:var(--ut-header-background-color);color:var(--ut-header-text-color);
  box-shadow:0 1px 0 var(--ut-component-border-color)}
.t-Header-branding{display:flex;align-items:center;height:100%;padding:0 8px 0 0}
.t-Header-controls{width:var(--h2ms-nav-w-c);display:flex;justify-content:center}
.t-Header-logo{flex:1 1 auto;min-width:0;display:flex;align-items:center}
.t-Header-logo-link{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none;font-weight:700;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-Header-logo-link img{height:30px;width:auto}
.t-Header-navBar{flex:0 0 auto}
.t-NavigationBar{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.t-NavigationBar-item{position:relative}
.t-Button--header,.t-Button--navBar{background:transparent!important;border:0!important;box-shadow:none!important;color:inherit!important;height:40px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;border-radius:6px;cursor:pointer;font:inherit;text-decoration:none}
.t-Button--header:hover,.t-Button--navBar:hover{background:rgba(255,255,255,.08)!important}
.t-Button--headerTree{width:40px;justify-content:center;padding:0}
.t-NavigationBar .t-Button-label{font-size:13px;font-weight:600}
.t-NavigationBar-menu{display:none;position:absolute;right:0;top:calc(100% + 6px);min-width:190px;background:var(--ut-component-background-color);color:var(--ut-component-text-default-color);
  border:1px solid var(--ut-component-border-color);border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.25);padding:6px;z-index:1000;list-style:none;margin:0}
.t-NavigationBar-item.is-open > .t-NavigationBar-menu{display:block}
.t-NavigationBar-menu a{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:7px;color:inherit;text-decoration:none;font-size:13px}
.t-NavigationBar-menu a:hover{background:var(--ut-component-highlight-background-color)}
.a-Icon.icon-down-arrow::before{content:"\f107";font-family:FontAwesome}

/* ---------------- body / nav ---------------- */
.t-Body{display:flex;min-height:100vh;padding-top:var(--h2ms-header-h)}
.t-Body-nav{position:fixed;top:var(--h2ms-header-h);bottom:0;left:0;width:var(--h2ms-nav-w);background:var(--ut-nav-background-color);color:var(--ut-nav-text-color);
  border-right:1px solid var(--ut-component-border-color);overflow-y:auto;overflow-x:hidden;z-index:800;transition:width .2s ease, transform .2s ease}
.t-Body-main{flex:1 1 auto;min-width:0;margin-left:var(--h2ms-nav-w);transition:margin-left .2s ease;display:flex;flex-direction:column}
.js-navCollapsed .t-Body-nav{width:var(--h2ms-nav-w-c)}
.js-navCollapsed .t-Body-main{margin-left:var(--h2ms-nav-w-c)}
.js-navCollapsed .t-TreeNav-label,.js-navCollapsed .t-TreeNav-toggle,.js-navCollapsed .t-TreeNav-children{display:none!important}
.t-TreeNav-list,.t-TreeNav-children{list-style:none;margin:0;padding:0}
.t-TreeNav{padding:8px 0}
.t-TreeNav-row{display:flex;align-items:center;gap:10px;padding:10px 14px;color:inherit;text-decoration:none;cursor:pointer;font-size:13.5px;font-weight:600;border-left:3px solid transparent}
.t-TreeNav-row:hover{background:var(--ut-component-highlight-background-color)}
.t-TreeNav-icon{width:20px;text-align:center;flex:0 0 20px;opacity:.85}
.t-TreeNav-label{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-TreeNav-toggle{font-size:11px;opacity:.6;transition:transform .2s}
.t-TreeNav-children{display:none}
.t-TreeNav-children .t-TreeNav-row{padding-left:44px;font-weight:500;font-size:13px}
.t-TreeNav-children .t-TreeNav-children .t-TreeNav-row{padding-left:64px}
.t-TreeNav-item.is-expanded > .t-TreeNav-children{display:block}
.t-TreeNav-item.is-expanded > .t-TreeNav-row .t-TreeNav-toggle{transform:rotate(180deg)}
.t-TreeNav-item.is-current > .t-TreeNav-row{border-left-color:var(--ut-palette-primary);background:var(--ut-component-highlight-background-color)}
@media (max-width:991px){
  .t-Body-nav{transform:translateX(-100%);width:var(--h2ms-nav-w)!important}
  .js-navExpanded .t-Body-nav{transform:none}
  .t-Body-main,.js-navCollapsed .t-Body-main{margin-left:0}
  .js-navCollapsed .t-TreeNav-label,.js-navCollapsed .t-TreeNav-toggle{display:inline!important}
  .t-NavigationBar .t-Button-label{display:none}
}
.t-Body-content{flex:1 1 auto;display:flex;flex-direction:column;min-height:calc(100vh - var(--h2ms-header-h))}
.t-Body-contentInner{flex:1 1 auto;padding:16px;max-width:100%}
.t-Body-title{padding:12px 16px}
.t-Footer{padding:12px 16px;font-size:11px;opacity:.6}
.t-Footer-body{display:flex;justify-content:space-between}

/* ---------------- regions ---------------- */
.t-Region{background:var(--ut-component-background-color);color:var(--ut-component-text-default-color);border:1px solid var(--ut-component-border-color);
  border-radius:var(--gx-radius-sm,4px);margin-bottom:16px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.t-Region-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--ut-component-border-color)}
.t-Region-title{margin:0;font-size:16px;font-weight:700}
.t-Region-headerItems--buttons{display:flex;gap:8px;flex-wrap:wrap}
.t-Region-headerItems--buttons:empty{display:none}
.t-Region-body{padding:16px}
.t-Region--removeHeader > .t-Region-header{display:none}
.t-Region--noBorder{border:0;box-shadow:none;background:transparent}
.t-Region--noUI{border:0;box-shadow:none;background:transparent}
.t-Region--noUI > .t-Region-header{display:none}
.t-Region--noUI > .t-Region-bodyWrap > .t-Region-body{padding:0}
.t-ButtonRegion{display:flex;justify-content:space-between;gap:8px;padding:12px 0}

/* ---------------- buttons ---------------- */
.t-Button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:6px 12px;border-radius:6px;border:1px solid var(--ut-component-border-color);
  background:var(--ut-component-background-color);color:var(--ut-component-text-default-color);font:inherit;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;line-height:1.2;white-space:nowrap}
.t-Button:hover{filter:brightness(1.06)}
.t-Button--hot{background:var(--ut-palette-primary);color:var(--ut-palette-primary-contrast);border-color:transparent}
.t-Button--danger{background:#c73028;color:#fff;border-color:transparent}
.t-Button--success{background:#278701;color:#fff;border-color:transparent}
.t-Button--noUI,.t-Button--link{background:transparent;border-color:transparent;box-shadow:none}
.t-Button:disabled{opacity:.55;cursor:not-allowed}

/* ---------------- forms ---------------- */
.t-Form-fieldContainer{margin-bottom:12px}
.t-Form-label{display:block;font-size:12px;font-weight:600;margin-bottom:4px;opacity:.85}
.apex-item-text,.apex-item-textarea,.apex-item-select,.apex-item-password,.apex-item-number,.apex-item-datepicker,
input.text_field,select.selectlist,textarea.textarea{width:100%;padding:8px 10px;border-radius:6px;border:1px solid var(--a-field-input-border-color);
  background:var(--a-field-input-background-color);color:var(--a-field-input-text-color);font:inherit;font-size:14px}
textarea.apex-item-textarea{min-height:80px;resize:vertical}
.apex-item-display-only{display:block;padding:6px 0}
.t-Form-error,.a-Form-error{color:#e5484d;font-size:12px;margin-top:3px}
.t-Form-help{font-size:12px;opacity:.7}

/* ---------------- reports ---------------- */
.t-Report-tableWrap{overflow-x:auto}
.t-Report-report{width:100%;border-collapse:collapse}
.t-Report-colHead{text-align:left;font-size:12px;font-weight:700;padding:10px 12px;border-bottom:1px solid var(--ut-component-border-color);white-space:nowrap}
.t-Report-cell{padding:9px 12px;border-bottom:1px solid var(--ut-component-border-color);vertical-align:top}
.t-Report--rowHighlight tr:hover .t-Report-cell{background:var(--ut-component-highlight-background-color)}
.nodatafound,.t-Report-noDataMsg{display:block;padding:24px;text-align:center;opacity:.7}

/* ---------------- alerts ---------------- */
.apex-page-success,.apex-page-error{display:block;position:fixed;top:calc(var(--h2ms-header-h) + 12px);right:16px;z-index:1200;max-width:min(520px,calc(100vw - 32px))}
.t-Alert{border-radius:10px;margin-bottom:8px;box-shadow:0 10px 30px rgba(0,0,0,.25);background:var(--ut-component-background-color);color:var(--ut-component-text-default-color);border:1px solid var(--ut-component-border-color)}
.t-Alert-wrap{display:flex;align-items:center;gap:10px;padding:12px 14px}
.t-Alert--success .t-Alert-icon{color:#2ec27e}.t-Alert--danger .t-Alert-icon{color:#e5484d}
.t-Alert-title{margin:0;font-size:14px;font-weight:600}
.t-Alert-content{flex:1 1 auto}
.t-Alert-buttons .t-Button{min-height:auto;padding:4px}

/* ---------------- login ---------------- */
.t-PageBody--login .t-Body{padding-top:0;min-height:100vh;display:flex;align-items:center;justify-content:center}
.t-Login-container{width:100%;max-width:420px;margin:40px auto;padding:0 16px}
.t-Login-region{background:var(--ut-component-background-color);border:1px solid var(--ut-component-border-color);border-radius:16px;padding:28px;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.t-Login-header{text-align:center;margin-bottom:18px}
.t-Login-logo img{max-height:64px}
.t-Login-title{margin:10px 0 0;font-size:20px;font-weight:800}
.t-Login-buttons .t-Button{width:100%;min-height:40px}

/* ---------------- dialogs / spinner ---------------- */
.ui-widget-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:2000}
.ui-dialog.h2ms-shim-dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2001;width:min(460px,calc(100vw - 32px));background:var(--ut-component-background-color);color:var(--ut-component-text-default-color);
  border:1px solid var(--ut-component-border-color);border-radius:14px;box-shadow:0 25px 60px rgba(0,0,0,.4);padding:20px}
.ui-dialog-content{font-size:14px;line-height:1.55;margin-bottom:16px;white-space:normal}
.ui-dialog-buttonpane{display:flex;justify-content:flex-end;gap:8px}
.h2ms-modal-frame{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2001;width:min(900px,calc(100vw - 24px));height:min(85vh,800px);border:0;border-radius:14px;background:var(--ut-component-background-color);box-shadow:0 25px 60px rgba(0,0,0,.45)}
.h2ms-modal-close{position:fixed;z-index:2002;right:calc(50% - min(450px,calc(50vw - 12px)) + 10px);top:calc(50% - min(42.5vh,400px) + 10px);background:rgba(0,0,0,.4);color:#fff;border:0;border-radius:50%;width:32px;height:32px;cursor:pointer}
.u-Processing{position:fixed;left:50%;top:50%;z-index:3000;transform:translate(-50%,-50%)}
.u-Processing-spinner{display:block;width:42px;height:42px;border-radius:50%;border:4px solid rgba(255,255,255,.25);border-top-color:var(--ut-palette-primary);animation:h2ms-spin .8s linear infinite}
@keyframes h2ms-spin{to{transform:rotate(360deg)}}
body.h2ms-modal-page .t-Header,body.h2ms-modal-page .t-Body-nav,body.h2ms-modal-page .t-Footer{display:none}
body.h2ms-modal-page .t-Body{padding-top:0}
body.h2ms-modal-page .t-Body-main{margin-left:0!important}

/* ---------------- utilities used by APEX pages ---------------- */
.u-hidden{display:none!important}
.u-textCenter{text-align:center}.u-textRight{text-align:right}
.u-success-text{color:#2ec27e}.u-danger-text{color:#e5484d}.u-warning-text{color:#f0b429}
.t-Badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;background:var(--ut-component-highlight-background-color)}
.row{display:flex;flex-wrap:wrap;margin:0 -8px}
.col{padding:0 8px;flex:1 1 0}
.col-12{flex:0 0 100%;max-width:100%}.col-6{flex:0 0 50%;max-width:50%}.col-4{flex:0 0 33.333%;max-width:33.333%}.col-3{flex:0 0 25%;max-width:25%}.col-8{flex:0 0 66.666%;max-width:66.666%}
@media (max-width:768px){.col-6,.col-4,.col-3,.col-8{flex:0 0 100%;max-width:100%}}
