/*
    Document   : override
    Created on : <date>
    Author     : <author>
    Description:
        This is where any of your application specific styles should be included
*/
/* @font-face {
  font-family: "Oracle Sans";
  src: url("fonts/OracleSans_Rg.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
} */

.demo-oracle-icon {
    width:137px;
    height:18px;
    content:url("images/oracle_logo.svg")
}

.redwood-wallpaper {
    min-height: 100vh;
    background-image: url("images/wos-bg-compressed.png");
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
}

html:not([dir="rtl"]) .demo-oracle-icon {
    padding-right:4px
}

html[dir="rtl"] .demo-oracle-icon {
    padding-left:4px
}

.demo-oracle-icon:before {
    display:inline
}

.demo-appheader-avatar {
    width:24px;
    height:24px
}

.demo-appheader-avatar:before {
    content:url("images/avatar_24px.png")
}
@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi), (min-resolution: 1.5dppx) {
    .demo-appheader-avatar:before {
        content:url("images/avatar_24px_2x.png");
        -webkit-transform:translate(-25%, -25%) scale(0.5);
        transform:translate(-25%, -25%) scale(0.5)
    }
}

.demo-drawer-full-height {
    max-height: 100%;
    /*calc(100vh - 25px); */
}
  
.demo-drawer-start {
    min-width: 12.5rem;
    background-color: #ffffff;
}
  
.demo-drawer-header {
    display: flex;
    padding: 0.3rem 1rem 0 1rem;
    justify-content: space-between;
    align-items: center;
}

.demo-table-container {
    width: 100%;
    padding-left: 0;
    /* height: 27rem; */
}

.page-background {
    position: relative;
    height: 100%;
}

.page-background:after {
    content: "";
    background-image: url("images/oci.png");
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.03;
    z-index: -1;
}

.no-scroll {
    overflow-y: hidden;
}

.footer {
    min-height: 30px;
    padding: 0;
}

#appContainer {
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

.full-height {
    height: 100%;
    flex: 1;
}

.full-width {
    width: 100%;
}

.half-width {
    width: 50%;
}

/* For white background in create-edit */
.oj-sp-messages-manager {
    background-color: #ffffff;
}

.card-input {
    height: 8rem;
    margin: 0.5rem;
}

#mainContent {
    height: calc(100% - 80px) !important;
    overflow-y: auto;
    flex: auto;
    display: flex;
}

#contentContainer {
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.page-banner {
    background-color: #FBF9F8;
}

#page-content {
    max-width: 100%;
    row-gap: 100px;
}

oj-sp-simple-create-edit .oj-sp-simple-create-edit-max-width {
    max-width: 100% !important;
    margin: 0 auto;
}

.card-view {
    width: 100%;
    height: 100%;
}

oj-sp-welcome-page .oj-sp-typography-display-6 {
    font-family: Oracle Sans;
    font-size: 2.5rem !important;
}

.centered-loader {
  min-height: 70vh;
  display: flex;
  flex-direction: column;   
  align-items: center;     
  gap: 12px;
  text-align: center;
  padding-top: 200px;
  padding-left: 500px;
}

.centered-error-message .error-line {
  white-space: nowrap;                 
  max-width: 90vw;                  
  overflow: hidden;                    
  text-overflow: ellipsis;
}

/* Dim and block interactions on the form area */
.is-freezing {
  pointer-events: none;
  filter: grayscale(0.3);
  opacity: 0.6;
}

/* Full-page overlay */
.freeze-overlay {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: rgba(0,0,0,0.25);
  z-index: 9999;
}

.freeze-text {
  font-size: 18px;
  font-weight: 500;
  color: #fff;
}

.serial-pill{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Courier New", monospace;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--oj-core-bg-color3, #f2f3f5);
  border: 1px solid rgba(0,0,0,.08);
  user-select: text;
}
.serial-pill:hover{ background: var(--oj-core-bg-color4, #e9eaee); text-decoration: underline dotted; }

/* Center the card on the page */
.wos-auth-wrap {
  min-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}

/* White card with depth */
.wos-auth-card{
  position:relative; 
  overflow:hidden;
  background:#fff; 
  border-radius:16px;
  box-shadow:0 16px 40px rgba(0,0,0,.12);
  padding:3.5rem 4rem; 
  max-width:640px; 
  text-align:center;
  transform: translateY(-8vh);
}

/* top stripe using a small */
.wos-auth-card--stripe-img::before{
  content:""; position:absolute; top:0; left:0; right:0; height:8px; /* thickness */
  background-image:url("images/login-stripe.png");
  background-repeat:repeat-x;
  background-size:auto 8px;   /* scale the tile to the stripe height */
  background-position:left top;
  pointer-events:none;
}

/* Title styling */
.wos-auth-title {
  margin: 0 0 1.25rem;
  font-size: clamp(1.0rem, 2vw, 2rem);
  font-weight: 600;
  color: var(--oj-core-text-color-primary, #1f1f1f);
}

/* Button spacing */
.wos-auth-btn {
  margin-top: 0.5rem;
}