:root{--osp-navy:#071b31;--osp-blue:#0b4f8a;--osp-orange:#f58220;--osp-bg:#f3f7fb;--osp-text:#172033;--osp-muted:#697386;--osp-line:#dfe7f0}*{box-sizing:border-box}.osp-login-shell,.osp-portal-shell,.osp-app-shell{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--osp-text)}body:has(.osp-login-shell){margin:0;background:#fff}.osp-login-shell{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:#fff}.osp-login-visual{position:relative;overflow:hidden;background:linear-gradient(145deg,#06172a,#0c3f6a 75%,#0b548d);padding:54px;color:#fff;display:flex;flex-direction:column}.osp-brand-mark{display:flex;align-items:center;justify-content:center;width:68px;height:68px;background:var(--osp-orange);border-radius:18px;font-size:27px;font-weight:900;box-shadow:0 14px 36px #0004;z-index:2}.osp-brand-mark b{color:#111}.osp-visual-content{margin:auto 0;max-width:650px;position:relative;z-index:2}.osp-secure-pill{display:inline-block;padding:8px 13px;border:1px solid #ffffff38;border-radius:999px;background:#ffffff12;font-size:12px;letter-spacing:1.2px}.osp-visual-content h1{font-size:clamp(34px,4vw,64px);line-height:1.04;margin:24px 0 16px;letter-spacing:-2px;color:#fff}.osp-visual-content>p{font-size:21px;color:#d8e8f7;margin:0}.osp-feature-list{display:flex;gap:22px;flex-wrap:wrap;margin-top:42px;color:#d8e8f7;font-size:14px}.osp-orbit{position:absolute;border:1px solid #fff1;border-radius:50%}.osp-orbit-one{width:650px;height:650px;right:-260px;top:-180px}.osp-orbit-two{width:430px;height:430px;right:-130px;bottom:-180px}.osp-login-panel{display:flex;align-items:center;justify-content:center;padding:38px;background:linear-gradient(180deg,#fff,#f7fafc)}.osp-login-box{width:min(440px,100%)}.osp-mobile-brand{display:none}.osp-eyebrow{color:var(--osp-orange)!important;font-size:12px!important;font-weight:800;letter-spacing:1.5px;margin:0 0 9px!important}.osp-login-box h2{font-size:36px;letter-spacing:-1px;margin:0 0 12px;color:var(--osp-navy)}.osp-muted{color:var(--osp-muted);line-height:1.65;margin-bottom:28px}.osp-login-form label{display:block;font-size:13px;font-weight:700;color:#344054;margin:18px 0 7px}.osp-login-form input[type=text],.osp-login-form input[type=password]{width:100%;height:52px;border:1px solid #ced8e5;border-radius:12px;padding:0 15px;font-size:15px;background:#fff;outline:none;transition:.2s}.osp-login-form input:focus{border-color:#2e79b8;box-shadow:0 0 0 4px #2e79b819}.osp-password-wrap{position:relative}.osp-password-wrap input{padding-right:70px!important}.osp-eye{position:absolute;right:8px;top:8px;height:36px;border:0;background:#edf4fa;border-radius:8px;color:#24577f;font-weight:700;cursor:pointer}.osp-login-options{display:flex;align-items:center;justify-content:space-between;margin:17px 0 21px;font-size:13px}.osp-login-options label{margin:0;font-weight:500}.osp-login-options a{color:#0b5b99;text-decoration:none}.osp-primary-button{width:100%;height:54px;border:0;border-radius:12px;background:linear-gradient(135deg,#f58220,#ef6500);color:#fff;font-size:16px;font-weight:800;box-shadow:0 12px 24px #f5822038;cursor:pointer}.osp-primary-button span{float:right;margin-right:7px}.osp-support{text-align:center;margin-top:28px;padding-top:24px;border-top:1px solid var(--osp-line);color:var(--osp-muted);font-size:12px;line-height:1.7}.osp-alert{background:#fff1f1;border:1px solid #ffc9c9;color:#a61b1b;padding:12px 14px;border-radius:10px;font-size:13px}.osp-portal-shell{min-height:100vh;background:var(--osp-bg)}.osp-topbar{height:78px;background:#fff;border-bottom:1px solid var(--osp-line);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:sticky;top:0;z-index:50}.osp-wordmark{display:flex;align-items:center;gap:12px}.osp-mini-logo{width:43px;height:43px;border-radius:11px;background:var(--osp-orange);display:grid;place-items:center;font-weight:900;color:#15202b}.osp-wordmark strong{display:block;font-size:20px;letter-spacing:1px;color:var(--osp-navy)}.osp-wordmark small{display:block;font-size:9px;letter-spacing:2px;color:#7b8797}.osp-user-menu{display:flex;align-items:center;gap:10px}.osp-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#e4f0fa;color:#0b4f8a;font-weight:900}.osp-user-menu strong,.osp-user-menu small{display:block}.osp-user-menu small{font-size:11px;color:var(--osp-muted)}.osp-logout{display:inline-flex;align-items:center;padding:9px 14px;border:1px solid var(--osp-line);border-radius:9px;text-decoration:none;color:#344054;font-size:13px;margin-left:12px;background:#fff}.osp-main{width:min(1220px,90vw);margin:0 auto;padding:48px 0 70px}.osp-welcome{display:flex;align-items:flex-end;justify-content:space-between;padding:35px 38px;border-radius:22px;background:linear-gradient(130deg,#071b31,#0c4f85);color:#fff;box-shadow:0 20px 45px #0a315426;margin-bottom:38px;position:relative;overflow:hidden}.osp-welcome:after{content:"";position:absolute;width:280px;height:280px;border:50px solid #ffffff08;border-radius:50%;right:-90px;top:-100px}.osp-welcome h1{font-size:36px;margin:5px 0 7px;color:#fff}.osp-welcome p{margin:0;color:#d6e7f6}.osp-welcome .osp-eyebrow{color:#ffa95f!important}.osp-date{padding:10px 14px;border:1px solid #ffffff24;border-radius:10px;background:#ffffff10;position:relative;z-index:2}.osp-section-heading h2{font-size:25px;margin:0}.osp-section-heading p{color:var(--osp-muted);margin:5px 0 20px}.osp-app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.osp-app-card{position:relative;display:flex;gap:17px;padding:24px;background:#fff;border:1px solid var(--osp-line);border-radius:18px;text-decoration:none;color:inherit;box-shadow:0 8px 22px #0a31540b;transition:.22s}.osp-app-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px #0a315418;border-color:#b8d2e8}.osp-app-icon{width:58px;height:58px;flex:0 0 58px;border-radius:15px;background:#e8f3fc;display:grid;place-items:center}.osp-app-icon svg{width:29px;height:29px;fill:none;stroke:#0b5b99;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.osp-app-info h3{margin:2px 0 7px;font-size:18px}.osp-app-info p{margin:0 0 17px;color:var(--osp-muted);font-size:13px;line-height:1.5}.osp-app-info span{color:#e86b00;font-weight:800;font-size:13px}.osp-active-dot{position:absolute;right:17px;top:17px;color:#18794e;background:#e8f7ef;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:800;text-transform:uppercase}.osp-empty{grid-column:1/-1;text-align:center;padding:65px;background:#fff;border:1px dashed #c9d6e3;border-radius:18px}.osp-empty>div{font-size:40px}.osp-empty h3{font-size:22px;margin:13px 0 6px}.osp-empty p{color:var(--osp-muted)}.osp-footer{text-align:center;padding:20px;color:#7a8595;font-size:12px}.osp-app-shell{min-height:100vh;background:#f5f7fa}.osp-app-header{min-height:88px;background:#071b31;color:#fff;display:grid;grid-template-columns:190px 1fr 100px;align-items:center;padding:15px 25px;gap:20px}.osp-app-header h1{margin:0;color:#fff;font-size:24px}.osp-app-header p{margin:4px 0 0;color:#bcd0e2;font-size:12px}.osp-back{color:#fff;text-decoration:none}.osp-app-header .osp-logout{color:#fff;background:#ffffff10;border-color:#ffffff20}.osp-software-frame{width:100%;min-height:calc(100vh - 88px);background:#fff}.osp-denied{max-width:520px;margin:80px auto;padding:45px;text-align:center;background:#fff;border:1px solid var(--osp-line);border-radius:18px}.osp-denied>div{font-size:45px}.osp-denied a{display:inline-block;margin-top:15px;padding:10px 15px;background:#0b4f8a;color:#fff;border-radius:8px;text-decoration:none}@media(max-width:900px){.osp-login-shell{grid-template-columns:1fr}.osp-login-visual{min-height:280px;padding:30px}.osp-visual-content{margin:40px 0 10px}.osp-visual-content h1{font-size:38px}.osp-login-panel{padding:40px 20px}.osp-app-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.osp-login-visual{display:none}.osp-login-panel{min-height:100vh;display:block;padding-top:35px}.osp-mobile-brand{display:block;font-weight:900;font-size:22px;color:var(--osp-navy);margin-bottom:60px}.osp-mobile-brand small{display:block;font-size:10px;letter-spacing:1px;color:#7b8797}.osp-login-box h2{font-size:30px}.osp-topbar{padding:0 14px}.osp-user-menu>div:nth-child(2){display:none}.osp-wordmark small{display:none}.osp-main{width:92vw;padding-top:25px}.osp-welcome{display:block;padding:25px}.osp-welcome h1{font-size:28px}.osp-date{display:inline-block;margin-top:20px}.osp-app-grid{grid-template-columns:1fr}.osp-app-header{grid-template-columns:1fr auto}.osp-app-header>div{grid-column:1/-1;grid-row:2}.osp-app-header .osp-logout{grid-column:2;grid-row:1}.osp-back{grid-column:1;grid-row:1}}

/* Frontend administrator module v4 */
.osp-admin-layout{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 72px);background:#f4f7fb}.osp-admin-sidebar{background:#102b46;padding:24px 14px;display:flex;flex-direction:column;gap:7px}.osp-admin-sidebar a{color:#dce8f5;text-decoration:none;padding:12px 14px;border-radius:9px;font-weight:600}.osp-admin-sidebar a:hover,.osp-admin-sidebar a.active{background:#fff;color:#123b61}.osp-admin-content{padding:28px;min-width:0}.osp-front-notice{padding:12px 15px;background:#dcfce7;color:#166534;border-radius:9px;margin-bottom:18px}.osp-admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.osp-admin-stats>div{background:#fff;border:1px solid #e1e8f0;border-radius:14px;padding:22px}.osp-admin-stats strong{display:block;font-size:32px}.osp-admin-stats span{color:#64748b}.osp-admin-columns{display:grid;grid-template-columns:minmax(330px,520px) 1fr;gap:20px}.osp-admin-card{background:#fff;border:1px solid #e1e8f0;border-radius:14px;padding:22px;box-shadow:0 4px 14px rgba(15,23,42,.04)}.osp-admin-card form>label{display:block;font-weight:600;margin:0 0 14px}.osp-admin-card input[type=text],.osp-admin-card input[type=email],.osp-admin-card input[type=password],.osp-admin-card input:not([type]),.osp-admin-card textarea,.osp-admin-card select{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.osp-admin-card textarea{min-height:90px}.osp-inline{display:flex!important;gap:8px;align-items:center}.osp-inline input{width:auto!important;margin:0!important}.osp-check-list{max-height:240px;overflow:auto;border:1px solid #dce3eb;border-radius:9px;padding:12px;margin-bottom:15px}.osp-check-list label{display:block;margin:8px 0;font-weight:400}.osp-admin-table{display:flex;flex-direction:column;gap:10px}.osp-admin-row{border:1px solid #e2e8f0;border-radius:10px;padding:12px;display:grid;grid-template-columns:1fr auto;gap:10px}.osp-admin-row small{display:block;color:#64748b;margin-top:4px}.osp-row-actions{display:flex;gap:6px;align-items:start}.osp-row-actions a,.osp-row-actions button,.osp-reset-form button{border:0;background:#e8eef5;color:#123b61;padding:7px 10px;border-radius:7px;text-decoration:none;cursor:pointer}.osp-row-actions form{margin:0}.osp-reset-form{grid-column:1/-1;display:flex;gap:8px}.osp-reset-form input{margin:0!important;max-width:260px}.osp-settings-card{max-width:760px}@media(max-width:900px){.osp-admin-layout{grid-template-columns:1fr}.osp-admin-sidebar{flex-direction:row;overflow:auto}.osp-admin-sidebar a{white-space:nowrap}.osp-admin-columns,.osp-admin-stats{grid-template-columns:1fr}.osp-admin-content{padding:14px}}

/* v4.1 full-width portal and permanent app switching */
.osp-login-shell,.osp-portal-shell,.osp-app-shell{
  position:relative!important;left:50%!important;right:50%!important;
  width:100vw!important;max-width:none!important;margin-left:-50vw!important;margin-right:-50vw!important;
  box-sizing:border-box!important;clear:both!important;
}
.osp-admin-portal{overflow-x:hidden!important}
.osp-admin-layout{display:grid!important;grid-template-columns:250px minmax(0,1fr)!important;width:100%!important;max-width:none!important;align-items:stretch!important}
.osp-admin-sidebar{width:auto!important;min-width:0!important;min-height:calc(100vh - 78px)!important;position:sticky!important;top:78px!important;align-self:start!important}
.osp-admin-content{width:100%!important;max-width:none!important;min-width:0!important;padding:32px clamp(18px,3vw,48px)!important;box-sizing:border-box!important;overflow:hidden!important}
.osp-admin-content>.osp-welcome{width:100%!important;max-width:none!important;box-sizing:border-box!important}
.osp-admin-stats{width:100%!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.osp-admin-content .osp-app-grid{width:100%!important;grid-template-columns:repeat(3,minmax(240px,1fr))!important}
.osp-admin-columns{width:100%!important;grid-template-columns:minmax(340px,500px) minmax(0,1fr)!important}
.osp-top-apps,.osp-admin-return{display:inline-flex;align-items:center;padding:9px 13px;border-radius:9px;text-decoration:none;font-size:13px;font-weight:750}
.osp-top-apps{background:#eef5fb;color:#0b4f8a;margin-right:4px}.osp-top-apps:hover{background:#dcecf8}
.osp-app-header{grid-template-columns:auto minmax(220px,1fr) auto!important;padding:14px clamp(16px,2.5vw,34px)!important}
.osp-app-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}
.osp-switch-label{display:flex;align-items:center;gap:8px;color:#c9dbea;font-size:11px;font-weight:700;white-space:nowrap}
.osp-app-switch{min-width:190px;max-width:290px;height:40px;border:1px solid #ffffff2e;border-radius:9px;padding:0 34px 0 11px;background:#ffffff12;color:#fff;font:inherit;outline:none}
.osp-app-switch option{color:#111;background:#fff}
.osp-admin-return{background:#ffffff12;color:#fff;border:1px solid #ffffff24;white-space:nowrap}
.osp-current-app{min-width:0}.osp-current-app h1,.osp-current-app p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1100px){
 .osp-admin-content .osp-app-grid{grid-template-columns:repeat(2,minmax(220px,1fr))!important}
 .osp-admin-columns{grid-template-columns:1fr!important}
 .osp-app-header{grid-template-columns:auto 1fr!important}
 .osp-app-tools{grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap}
}
@media(max-width:780px){
 .osp-admin-layout{grid-template-columns:1fr!important}
 .osp-admin-sidebar{position:sticky!important;top:78px!important;z-index:40!important;min-height:0!important;flex-direction:row!important;width:100%!important;overflow-x:auto!important;padding:10px!important}
 .osp-admin-sidebar a{white-space:nowrap!important}
 .osp-admin-content{padding:18px 14px!important}
 .osp-admin-stats,.osp-admin-content .osp-app-grid{grid-template-columns:1fr!important}
 .osp-top-apps{display:none}
 .osp-app-switch{min-width:160px;max-width:100%}
}

/* v4.3 mobile software header overlap fix */
@media (max-width: 640px){
  .osp-app-header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:
      "back back"
      "title tools"!important;
    align-items:center!important;
    row-gap:16px!important;
    column-gap:12px!important;
    min-height:0!important;
    padding:18px 16px 20px!important;
  }
  .osp-app-header .osp-back{
    grid-area:back!important;
    display:inline-flex!important;
    align-items:center!important;
    width:max-content!important;
    min-height:34px!important;
    font-size:16px!important;
    line-height:1.2!important;
  }
  .osp-app-header .osp-current-app{
    grid-area:title!important;
    min-width:0!important;
  }
  .osp-app-header .osp-current-app h1{
    margin:0!important;
    font-size:clamp(25px,7vw,34px)!important;
    line-height:1.08!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
  }
  .osp-app-header .osp-current-app p{display:none!important}
  .osp-app-header .osp-app-tools{
    grid-area:tools!important;
    grid-column:auto!important;
    grid-row:auto!important;
    width:auto!important;
    justify-self:end!important;
    justify-content:flex-end!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
  }
  .osp-app-header .osp-logout,
  .osp-app-header .osp-admin-return{
    margin:0!important;
    min-height:44px!important;
    padding:10px 15px!important;
    white-space:nowrap!important;
    border-radius:10px!important;
    line-height:1!important;
  }
}

@media (max-width: 390px){
  .osp-app-header{
    grid-template-columns:minmax(0,1fr) auto!important;
    padding-left:13px!important;
    padding-right:13px!important;
  }
  .osp-app-header .osp-current-app h1{font-size:24px!important}
  .osp-app-header .osp-logout{padding:10px 12px!important;font-size:13px!important}
}

/* v4.4 original Omicron logo + clean portal canvas */
.osp-brand-logo{
  position:relative;z-index:2;width:112px;height:112px;border-radius:24px;
  background:#fff;padding:10px;display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 28px rgba(0,0,0,.18);overflow:hidden;
}
.osp-brand-logo img{width:100%;height:100%;object-fit:contain;display:block}
.osp-wordmark-logo{
  width:46px;height:46px;object-fit:contain;background:#fff;border-radius:10px;padding:3px;
  box-shadow:0 2px 8px rgba(15,23,42,.12);flex:0 0 auto;
}
.osp-mobile-brand{display:none}
.osp-mobile-brand img{width:76px;height:76px;object-fit:contain;background:#fff;border-radius:14px;padding:4px;display:block;margin-bottom:10px}
.osp-mobile-brand span{display:block;font-size:12px;letter-spacing:.8px;line-height:1.35;color:var(--osp-navy)}
.osp-footer{display:none!important}

/* Hide the WordPress theme header/footer/banner only on the Omicron portal page */
body.osp-portal-page #masthead,
body.osp-portal-page #colophon,
body.osp-portal-page .site-header,
body.osp-portal-page .site-footer,
body.osp-portal-page .elementor-location-header,
body.osp-portal-page .elementor-location-footer,
body.osp-portal-page header.wp-block-template-part,
body.osp-portal-page footer.wp-block-template-part,
body.osp-portal-page .wp-site-blocks > header,
body.osp-portal-page .wp-site-blocks > footer{
  display:none!important;
}
body.osp-portal-page{margin:0!important;padding:0!important;background:#f4f7fb!important}
body.osp-portal-page .site,
body.osp-portal-page .site-content,
body.osp-portal-page .content-area,
body.osp-portal-page .entry-content,
body.osp-portal-page main.site-main,
body.osp-portal-page .wp-site-blocks{
  margin:0!important;padding:0!important;max-width:none!important;width:100%!important;
}
body.osp-portal-page .entry-header,
body.osp-portal-page .page-header,
body.osp-portal-page .entry-title{display:none!important}

@media(max-width:640px){
  .osp-mobile-brand{display:flex!important;align-items:center;gap:14px;margin-bottom:38px!important}
  .osp-mobile-brand img{margin:0;width:66px;height:66px}
  .osp-mobile-brand span{max-width:220px;font-weight:800}
}
