@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/branchpond/manrope-400.ttf') format('truetype')}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/branchpond/manrope-500.ttf') format('truetype')}
@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/branchpond/manrope-700.ttf') format('truetype')}
@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/branchpond/manrope-800.ttf') format('truetype')}
:root { --bpc-bg:#e7f3fb; --bpc-surface:#fff; --bpc-text:#262626; --bpc-muted:#5f5f5f; --bpc-brand:#1f92d4; --bpc-brand-dark:#186fa2; --bpc-border:#bdbdbd; --bpc-radius:12px; --bpc-radius-lg:16px; }
body, button, input, optgroup, select, textarea, .popover { font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body.task-login { color:var(--bpc-text); background:radial-gradient(900px 420px at 5% -5%,#b8e2f8,transparent 60%),radial-gradient(620px 320px at 95% 12%,#8fd2f4,transparent 58%),linear-gradient(180deg,#e9f5fc 0%,#dff0fb 45%,#eef8fe 100%),var(--bpc-bg); }
body.task-login #layout-content { min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:3rem 1rem; text-align:center; }
.login-eyebrow { color:#186fa2; font-weight:800; letter-spacing:.04em; text-transform:uppercase; font-size:.86rem; margin:0 0 .85rem; }
body.task-login #layout-content:before, body.task-login #layout-content:after { content:none; display:none; }
.task-login #logo { position:static; top:auto; max-height:92px; max-width:min(440px,86vw); margin:0 0 .75rem; cursor:default !important; }
#login-form { position:static; top:auto; width:min(100%,390px); max-width:390px; margin:0; padding:1.25rem; background:rgba(255,255,255,.9); border:1px solid rgba(18,63,91,.16); border-radius:var(--bpc-radius-lg); box-shadow:0 22px 55px rgba(18,63,91,.16); backdrop-filter:blur(6px); overflow:hidden; }
#login-form table, #login-form tbody { width:100%; border-collapse:separate; border-spacing:0 .72rem; }
#login-form tr, #login-form .row { margin:0; }
#login-form td, #login-form .col-sm-9, #login-form .col-form-label { padding:0; }
#login-form label { margin:0 0 .28rem; color:#355164; font-weight:700; font-size:.9rem; text-align:left; display:block; }
#login-form .form-control { width:100%; border-radius:var(--bpc-radius); border:1px solid rgba(18,63,91,.24); min-height:46px; padding:.68rem .8rem; color:#172b38; background:#fff; box-shadow:none; }
#login-form .form-control:focus { border-color:var(--bpc-brand); box-shadow:0 0 0 3px rgba(31,146,212,.18); }
#login-form .formbuttons { margin-top:.85rem; }
#rcmloginsubmit, .btn-primary { width:100%; min-height:46px; background:var(--bpc-brand-dark); border-color:var(--bpc-brand-dark); border-radius:var(--bpc-radius); font-weight:800; box-shadow:none; }
#rcmloginsubmit:hover, #rcmloginsubmit:focus, .btn-primary:hover, .btn-primary:focus { background:#135d89; border-color:#135d89; }
#login-footer { color:var(--bpc-muted); font-size:.9rem; }
#login-footer > div { background:transparent; padding:.45rem 0 0; margin-top:.7rem; }
#layout-menu { background-color:#262626; }
#layout-menu .popover-header { background-color:#262626 !important; }
#layout-menu .popover-header img#logo { display:block; width:34px; height:34px; max-width:34px; max-height:34px; object-fit:contain; padding:0; margin:auto; cursor:default; }
@media screen and (min-width:1025px) { #layout-menu .popover-header img#logo { width:38px; height:38px; max-width:38px; max-height:38px; } }
#taskmenu a.selected, .menu.toolbar a.selected { background-color:#186fa2; color:#fff; }
#taskmenu .action-buttons a, .menu.toolbar a:not(.disabled):focus, .menu.toolbar a:not(.disabled):hover { color:#fff; background-color:#1f92d4; }
#layout > div > .header { border-bottom-color:rgba(31,146,212,.24); background-color:#f7fbfe; }
.form-control, .btn, .custom-select, .input-group-text, .popupmenu, .popover, .ui-dialog, .attachmentslist, .listing-info { border-radius:var(--bpc-radius); }
.input-group > .form-control:not(:last-child), .input-group > .custom-select:not(:last-child) { border-top-right-radius:0; border-bottom-right-radius:0; }
.input-group > .form-control:not(:first-child), .input-group > .custom-select:not(:first-child) { border-top-left-radius:0; border-bottom-left-radius:0; }
.input-group > .input-group-prepend > .input-group-text { border-top-left-radius:var(--bpc-radius); border-bottom-left-radius:var(--bpc-radius); }
.input-group > .input-group-append > .input-group-text, .input-group > .input-group-append > .btn { border-top-right-radius:var(--bpc-radius); border-bottom-right-radius:var(--bpc-radius); }
a { color:#186fa2; }
a:hover { color:#135d89; }
html.dark-mode body.task-login { color:#eaf6fc; background:radial-gradient(780px 360px at 8% -5%,rgba(31,146,212,.36),transparent 62%),linear-gradient(180deg,#17252d 0%,#10191f 100%); }
html.dark-mode .login-eyebrow { color:#8fd2f4; }
html.dark-mode #login-form { background:rgba(255,255,255,.94); border-color:rgba(143,210,244,.18); box-shadow:0 24px 60px rgba(0,0,0,.38); }
html.dark-mode #login-form label { color:#29475a; }
html.dark-mode #login-form .form-control { color:#172b38; background:#fff; border-color:rgba(18,63,91,.24); }
html.dark-mode #login-footer { color:#b7cbd7; }
html.dark-mode #layout-menu, html.dark-mode.layout-phone #layout-menu { background:#262626; }
html.dark-mode #taskmenu a.selected { background-color:#186fa2; color:#fff; }

/* Login input-group alignment fix: keep icon and field on one line. */
#login-form tr.form-group { height:auto; }
#login-form td.input.input-group {
  display:flex;
  flex-wrap:nowrap;
  align-items:stretch;
  width:100%;
  height:46px;
  margin-bottom:.72rem;
}
#login-form .input-group-prepend {
  display:flex;
  flex:0 0 48px;
  width:48px;
}
#login-form .input-group-prepend .input-group-text {
  width:48px;
  height:46px;
  justify-content:center;
  border-radius:var(--bpc-radius) 0 0 var(--bpc-radius);
  border-right:0;
  background:#f4f9fc;
}
#login-form td.input.input-group > .form-control {
  flex:1 1 auto;
  width:1%;
  min-width:0;
  border-left:0;
  border-radius:0 var(--bpc-radius) var(--bpc-radius) 0;
}
#login-form table { border-spacing:0 .72rem; }
#login-form .formbuttons { margin-top:.1rem; }

/* Give the authenticated menu logomark breathing room. */
#layout-menu .popover-header {
  display:flex;
  align-items:center;
  justify-content:center;
  padding-top:8px !important;
  height:58px;
  min-height:58px;
  box-sizing:border-box;
}
#layout-menu .popover-header img#logo {
  margin:0 auto auto;
}
