/* 
    Document   : style.css
    Created on : 16 Aug 2011, 11:01:43 AM
    Author     : IT
    Description:
        Purpose of the stylesheet follows.
*/

/* =========================================================
   ✅ GLOBAL / LAYOUT FIXES (NEW - for your header.xhtml + menu.xhtml)
   - prevents weird "space I occupy" issues
   - enables: header on top, footer at bottom, content fills remaining space
   ========================================================= */

html, body{
    height: 100%;
    margin: 0;
    padding: 0;
}

/* Use these classes/ids from the suggested XHTML:
   body styleClass="appBody"
   wrapper: #appRoot (class appRoot)
   header wrap: #appHeaderWrap (class appHeaderWrap)
   form: .appForm
   content: #content (class appContent)
   footer wrap: #appFooterWrap (class appFooterWrap)
*/
.appBody{
    min-height: 100vh;
}

/* Root flex column for entire app */
.appRoot{
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* Header area should size to content */
.appHeaderWrap{
    flex: 0 0 auto;
}

/* Form becomes middle column so content can flex */
.appForm{
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0; /* IMPORTANT: allows internal scroll */
}

/* Main content: takes remaining height and scrolls */
.appContent{
    flex: 1 1 auto;
    overflow: auto;          /* ✅ single scroll here */
    min-height: 0;
    box-sizing: border-box;
    padding: 10px;
}

/* Footer: DO NOT use height:100% (causes stretching) */
.appFooterWrap{
    flex: 0 0 auto;
    border: 2px solid grey;
    margin: 4px auto;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
}

/* =========================================================
   LEGACY NAV MENU
   ========================================================= */

#nav,
#nav ul{
    padding: 0 0 5px 0;
    margin: 0;
    list-style: none;
    font: 30px verdana, sans-serif;
    border: 1px solid #000;
    border-color: #eca #b97 #a86 #edb;
    border-width: 1px 2px 2px 1px;
    background: #E5E5E5;
    position: relative;
    z-index: 200;
    font-size: 15px;
}

#nav{
    height: 25px;
    padding: 0;
}

#nav li{
    float: left;
}

#nav li li{
    float: none;
    background: #F9F9F9;
}

/* IE hack */
* html .nav li li{
    float: left;
}

#nav li a{
    display: block;
    float: left;
    color: #eca;
    margin: 0 25px 0 10px;
    height: 25px;
    line-height: 25px;
    text-decoration: none;
    white-space: nowrap;
}

#nav li li a{
    height: 20px;
    line-height: 20px;
    float: none;
}

#nav li:hover{
    position: relative;
    z-index: 300;
}

#nav li:hover ul{
    left: 0;
    top: 22px;
}

/* IE hack */
* html .nav li:hover ul{
    left: 10px;
}

#nav ul{
    position: absolute;
    left: -9999px;
    top: -9999px;
}

/* IE hack */
* html .nav ul{
    width: 1px;
}

#nav li:hover li:hover > ul{
    left: -15px;
    margin-left: 100%;
    top: -1px;
}

#nav li:hover > ul ul{
    position: absolute;
    left: -9999px;
    top: -9999px;
    width: auto;
}

#nav li:hover > a{
    text-decoration: underline;
    color: #b75;
}

/* IE path styling */
#nav li:hover li:hover ul,
#nav li:hover li:hover li:hover ul,
#nav li:hover li:hover li:hover li:hover ul,
#nav li:hover li:hover li:hover li:hover li:hover ul{
    left: -15px;
    margin-left: 100%;
    top: -1px;
}

#nav li:hover ul ul,
#nav li:hover li:hover ul ul,
#nav li:hover li:hover li:hover ul ul,
#nav li:hover li:hover li:hover li:hover ul ul{
    position: absolute;
    left: -9999px;
    top: -9999px;
}

#nav li:hover a,
#nav li:hover li:hover a,
#nav li:hover li:hover li:hover a,
#nav li:hover li:hover li:hover li:hover a,
#nav li:hover li:hover li:hover li:hover li:hover a,
#nav li:hover li:hover li:hover li:hover li:hover li:hover a{
    text-decoration: underline;
    color: #b75;
}

#nav li:hover li a,
#nav li:hover li:hover li a,
#nav li:hover li:hover li:hover li a,
#nav li:hover li:hover li:hover li:hover li a,
#nav li:hover li:hover li:hover li:hover li:hover li a{
    text-decoration: none;
    color: #888;
}

/* =========================================================
   GENERAL / TABLES
   ========================================================= */

h2{
    border: solid 1px #ccc;
    margin-bottom: 0;
    text-align: center;
}

.currencyFormat{
    text-align: right;
}

.longestColum{
    width: 100px;
}

.issue-table{
    border-collapse: collapse;
}

.overdue-red-table-row{
    background-color: red;
}

#good-whilte-table-row{
    background-color: white;
}

.issue-table-header{
    text-align: center;
    background: #E5E5E5;
    border-bottom: 1px solid #BBBBBB;
    padding: 16px;
}

/* fixed invalid #FFFFFFF -> #FFFFFF */
.issue-table-odd-row{
    text-align: center;
    background: #FFFFFF;
    border-top: 1px solid #BBBBBB;
}

.issue-table-even-row{
    text-align: center;
    background: #F9F9F9;
    border-top: 1px solid #BBBBBB;
}

.extend-data-table-orders{
    border: thin solid black;
}

.extend-data-table-ordersHeader{
    text-align: center;
    font-style: italic;
    color: Snow;
    background: #42454a;
}

.extend-data-table-oddColumn{
    height: 25px;
    text-align: center;
    background: #888;
}

.extend-data-table-evenColumn{
    text-align: center;
    background: #c9c3ba;
}

.outputTex-style{
    font-weight: bolder;
}

.header{
    font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif;
    font-size: 10pt;
    font-weight: bold;
    color: #FFFFFF;
    background: #808080;
}

/* =========================================================
   PAGE LAYOUT LEGACY
   ========================================================= */

#mainLogin{
    width: 960px;
    background-repeat: repeat-y;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    background-image: url(resources/images/website.jpg);
}

#page{
    background-color: wheat;
}

#header{
    background-color: #cccccc;
    color: white;
    line-height: 30px;
    height: 20px;
    padding: 10px;
    border: solid 1px #ccc;
    margin-bottom: 0;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    border-width: 1px 2px 2px 1px;
}

#navigation{
    border: 1px solid #000;
    border-color: #eca #b97 #a86 #edb;
    height: 10px;
    padding: 10px;
    border-width: 1px 2px 2px 1px;
    background: #E5E5E5;
}

#mainnav{
    background-color: #b75;
    color: white;
    line-height: 15px;
    height: 40px;
    border: solid 1px #ccc;
    margin-bottom: 0;
    font-size: 15px;
    border-width: 1px 2px 2px 1px;
}

#footer{
    height: 85px;
    padding: 10px;
    clear: both;
    border-top: 2px solid #ffffff;
    background-color: #cccccc;
    color: white;
    border-width: 1px 2px 2px 1px;
    font-size: 10px;
}

.mainPicture{
    float: left;
    width: 700px;
    padding: 10px;
    margin-top: 2px;
    height: 500px;
    background-repeat: no-repeat;
}

.helpMenu{
    float: left;
    width: 200px;
    padding: 10px;
    margin-top: 2px;
    height: 400px;
}

.logPage{
    float: left;
    width: 250px;
    background-color: #eca;
    padding: 10px;
    margin-top: 150px;
    height: 70px;
    margin-left: -7px;
    font-size: 15px;
    color: white;
}

.logPage1{
    float: left;
    width: 400px;
    background-color: #eca;
    padding: 10px;
    margin-top: 150px;
    height: 320px;
    margin-left: -7px;
    font-size: 15px;
    color: white;
}

.topheading{
    background-color: #eca;
    border-color: #eca #b97 #a86 #edb;
    width: 100%;
    color: black;
    line-height: 15px;
    border: solid 1px #ccc; /* removed duplicate border:1px solid #000 */
    font-size: 13px;
    font-weight: bolder;
    box-sizing: border-box;
}

#heading{
    border: 1px solid #000;
    border-color: #eca #b97 #808080 #edb;
    border-width: 1px 2px 2px 1px;
    background-color: #E5E5E5;
    width: 100%;
    color: black;
    line-height: 25px;
    text-align: center;
    font-size: 15px;
    font-weight: bold;
    margin-top: 5px;
}

#main{
    width: 100%;
}

#tableFrmtRed{
    background-color: red;
}

#tableFrmtWarning{
    background-color: orange;
}

.label{
    font-size: 110%;
}

.label1{
    font-size: 120%;
    font-weight: bolder;
}

.label2{
    font-size: 100%;
    background-color: red;
}

.lr-swapping-one, .lr-swapping-two{
    float: left;
    width: 50%;
}

.rfq-requested-tbl, .staff-assgn-tbl{
    float: left;
    width: 50%;
    background-color: #cccccc;
    border-color: #eca #b97 #808080 #edb;
    height: 200px;
    font-family: Arial, Helvetica, sans-serif;
}

.dev-final-tbl{
    float: left;
    width: 50%;
    background-color: #cccccc;
    border-color: #eca #b97 #808080 #edb;
    height: 200px;
    font-family: Arial, Helvetica, sans-serif;
}

.appliction-list-tbl{
    float: left;
    width: 60%;
    background-color: #cccccc;
    border-color: #eca #b97 #808080 #edb;
    border-width: 1px 2px 2px 1px;
    height: 150px;
    font-family: Arial, Helvetica, sans-serif;
}

.contact-list-tbl{
    float: left;
    width: 20%;
    background-color: #cccccc;
    border-color: #eca #b97 #808080 #edb;
    border-width: 1px 2px 2px 1px;
    height: 150px;
    font-family: Arial, Helvetica, sans-serif;
}

.director-list-tbl{
    float: left;
    width: 20%;
    background-color: #cccccc;
    border-color: #eca #b97 #808080 #edb;
    border-width: 1px 2px 2px 1px;
    height: 150px;
    font-family: Arial, Helvetica, sans-serif;
}

.staff-next-kin, .staff-qualification{
    float: left;
    width: 33%;
    background-color: #cccccc;
    border-color: #eca #b97 #808080 #edb;
    border-width: 1px 2px 2px 1px;
    height: 150px;
    font-family: Arial, Helvetica, sans-serif;
}

.staff-contacts{
    float: left;
    width: 34%;
    background-color: #cccccc;
    border-color: #eca #b97 #808080 #edb;
    border-width: 1px 2px 2px 1px;
    height: 150px;
    font-family: Arial, Helvetica, sans-serif;
}

.left-list, .center-list, .right-list, .most-right-list{
    float: left;
    width: 15%;
    color: #b75;
}

.setup-list{
    float: left;
    width: 16%;
}

.first-half-list, .second-half-list{
    float: left;
    width: 50%;
    color: wheat;
}

.first-sev-list{
    float: left;
    width: 65%;
    color: wheat;
}

.second-twe-list{
    float: left;
    width: 35%;
    background-color: wheat;
}

.second-btm-list{
    float: left;
    width: 100%;
    color: wheat;
}

.correction-first-half-list, .correction-second-half-list{
    float: left;
    width: 50%;
    background-color: #cccccc;
}

.dep-top-div{
    height: 200px;
}

/* fixed selector typo: .the-second-half-width */
.the-first-half-width, .the-second-half-width{
    float: left;
    width: 50%;
    height: 200px;
}

.page-background{
    background-repeat: no-repeat;
    height: 600px;
    width: 100%;
    background-position: center;
}

.con-wheat{
    background-color: wheat;
}

.value{
    width: 1000px;
}

.text-cen{
    text-align: center;
}

.text-rig{
    text-align: right;
}

.tble{
    font-weight: bolder;
    background-color: wheat;
}

/* =========================================================
   PRIMEFACES - WHEAT HEADER USER SPLITBUTTON
   ========================================================= */

/* FIX: wheat background + white text is low contrast.
   Use a darker text for readability OR darken background.
   Here: keep wheat and make text dark.
*/
.header-user-wheat.ui-splitbutton > .ui-button,
.header-user-wheat.ui-splitbutton .ui-splitbutton-menubutton{
    background-color: wheat !important;
    border-color: #d2b48c !important;
    color: #3c2a1a !important; /* was #ffffff */
}

.header-user-wheat .pi,
.header-user-wheat .ui-icon{
    color: #3c2a1a !important; /* was #ffffff */
}

.header-user-wheat.ui-splitbutton > .ui-button:hover,
.header-user-wheat.ui-splitbutton .ui-splitbutton-menubutton:hover{
    background-color: #e6c89a !important;
}

/* Header bar flex alignment */
.header-bar{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

/* =========================================================
   ELAMA WHEAT CARD / TITLES
   ========================================================= */

.wheatCard{
    background: #FFF;
    border: 1px solid #E0E0E0;
    border-radius: 12px;
    padding: 12px;
}

.wheatTitle{
    color: #6B4F2A;
    font-weight: 700;
    font-size: 18px;
    margin: 0 0 8px 0;
}

.subText{
    color: #6B4F2A;
    opacity: 0.85;
    font-size: 14px;
}

.rightActions{
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
}

/* =========================================================
   COMPACT INPUTS / MENUBAR / PANEL HEADERS
   ========================================================= */

.elama-input-sm input,
.elama-input-md input,
.elama-input-lg input{
    padding: 4px 8px !important;
    box-sizing: border-box;
}

/* Calendar input */
.elama-input-sm .ui-calendar input,
.elama-input-md .ui-calendar input{
    height: 32px !important;
    padding: 4px 8px !important;
}

/* SelectOneMenu */
.elama-input-sm .ui-selectonemenu-label,
.elama-input-md .ui-selectonemenu-label{
    height: 32px !important;
    line-height: 32px !important;
}

/* Checkbox alignment */
.ui-chkbox .ui-chkbox-box{
    width: 18px;
    height: 18px;
}

/* Menubar container */
.ui-menubar{
    padding: 0 6px !important;
    min-height: 36px !important;
}

/* Menu items */
.ui-menubar .ui-menuitem-link{
    padding: 6px 10px !important;
    line-height: 20px !important;
    font-size: 14px;
}

.ui-menubar .ui-menuitem-text{
    font-weight: bolder;
}

.ui-menubar .ui-menuitem-icon{
    margin-right: 6px;
    font-size: 14px;
}

.ui-menubar .ui-submenu-icon{
    margin-left: 6px;
}

.ui-menubar .ui-menubar-options{
    padding: 0 !important;
}

.ui-menu-child .ui-menuitem-link{
    padding: 6px 12px !important;
}

/* Panel header container */
.ui-panel .ui-panel-titlebar{
    padding: 6px 10px !important;
    min-height: unset !important;
}

.ui-panel .ui-panel-title{
    font-size: 15px;
    line-height: 20px;
    font-weight: 700;
}

.ui-panel .ui-panel-titlebar-icon{
    margin-top: 0 !important;
}

/* Icon + text on one line */
.ui-button.ui-button-text-icon-left,
.ui-commandbutton.ui-button-text-icon-left{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding-left: 10px !important;
}

.ui-button.ui-button-text-icon-left .ui-button-icon-left,
.ui-commandbutton.ui-button-text-icon-left .ui-button-icon-left{
    position: static !important;
    left: auto !important;
    top: auto !important;
    margin: 0 !important;
    transform: none !important;
}

.ui-button.ui-button-text-icon-left .ui-button-text,
.ui-commandbutton.ui-button-text-icon-left .ui-button-text{
    padding: 0 !important;
    line-height: 18px !important;
}

.ui-button.ui-button-text-icon-left .pi,
.ui-commandbutton.ui-button-text-icon-left .pi{
    font-size: 13px !important;
    line-height: 18px !important;
}

/* Compact inputfield */
.ui-inputfield{
    height: 28px !important;
    padding: 2px 6px !important;
    line-height: 22px !important;
    box-sizing: border-box;
}

/* =========================================================
   PAGE HEADER (DIAGNOSIS/REG)
   ========================================================= */

.pageHeader{
    padding: 8px 6px;
}

.pageTitle{
    font-size: 20px;
    font-weight: bolder;
}

.pageSubTitle{
    font-size: 12px;
    opacity: .75;
    margin-top: 3px;
}

/* wheat panel content */
.wheatPanel .ui-panel-content{
    background: wheat;
    padding: 0.5rem !important;
}

/* =========================================================
   DENTAL CHART / TEETH GRID (FINAL - SINGLE SOURCE OF TRUTH)
   ========================================================= */

.teethArea{
    position: relative;
    min-height: 70vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.teethGrid{
    padding: 0 !important;
}

.teethGridNoWrap .ui-datagrid-content{
    padding: 0 !important;
}

.teethGridNoWrap .ui-datagrid-data{
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between;
    gap: 6px;
}

.teethGridNoWrap .ui-datagrid-column{
    flex: 1 1 0 !important;
    display: flex;
    justify-content: center;
}

.toothTile{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none !important;
    cursor: pointer;
    user-select: none;
}

.toothNoTop{
    font-weight: 800;
    font-size: clamp(10px, 1.1vw, 14px);
    margin-bottom: 6px;
    color: #222;
    line-height: 1;
}

.toothCircle{
    width: clamp(50px, 5.6vw, 90px);
    height: clamp(50px, 5.6vw, 90px);
    border-radius: 50%;
    border: 1px solid #e2d8c4;
    background: #fffdf7;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 2px rgba(0,0,0,0.06);
    transition: all .12s ease-in-out;
    box-sizing: border-box;
}

.toothSvg{
    width: 78%;
    height: 78%;
    display: block;
}

.toothTile:hover .toothCircle{
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(0,0,0,0.10);
}

.toothBody{
    fill: #f7f3ea;
    stroke: #bfae8a;
    stroke-width: 2;
}

.toothBodyInner{
    fill: #ffffff;
    opacity: 0.55;
}

/* SELECTED TOOTH */
.toothTileSelected .toothCircle{
    border: 2px solid #2e7d32;
    background: #e8f5e9;
    box-shadow: 0 0 0 4px rgba(46,125,50,0.18);
}

.toothTileSelected .toothSvg .toothBody{
    fill: #c8f0d0 !important;
    stroke: #1b5e20 !important;
}

.toothTileSelected .toothSvg .toothBodyInner{
    fill: #c8f0d0 !important;
    opacity: 1 !important;
}

/* OPTIONAL: STATUS COLOURS */
.statusCaries{
    fill:#ffd6d6 !important;
    stroke:#ff9c9c !important;
}
.statusFilling{
    fill:#d6e9ff !important;
    stroke:#9fc7ff !important;
}
.statusCrown{
    fill:#fff0c7 !important;
    stroke:#ffd36a !important;
}
.statusRCT{
    fill:#e7d6ff !important;
    stroke:#c2a0ff !important;
}

.diagRow{
    align-items: flex-start;
    gap: 12px;
}

.teethRowOverlay{
    position: relative;
}

.bridgeOverlaySvg{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 120px;
    pointer-events: none;
    z-index: 5;
}

.toothDragging{
    outline: 2px dashed #7a5c2e;
    outline-offset: 3px;
    cursor: grabbing;
}

/* =========================================================
   ✅ TOOTH LINK OVERLAY
   ========================================================= */

#toothLinkLayer{
    position: absolute;
    inset: 0;
    z-index: 999;
    pointer-events: none;
}

#toothLinkLayer svg{
    width: 100%;
    height: 100%;
    display: block;
}

.toothLinkLine{
    stroke: #1e88e5;
    stroke-width: 4;
    stroke-linecap: round;
    opacity: 0.90;
}

/* =========================================================
   ONLY for diagnoseTrfDialog (JSF prefix safe)
   ========================================================= */

div[id$="diagnoseTrfDialog_content"] .diagDlgSplit{
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    clear: both !important;
}

div[id$="diagnoseTrfDialog_content"] .diagDlgLeft{
    float: left !important;
    width: 35% !important;
    box-sizing: border-box !important;
    overflow: auto !important;
    padding-right: 8px !important;
    border-right: 1px solid #ddd !important;
}

div[id$="diagnoseTrfDialog_content"] .diagDlgRight{
    float: left !important;
    width: 65% !important;
    box-sizing: border-box !important;
    overflow: auto !important;
    padding-left: 8px !important;
}

div[id$="diagnoseTrfDialog_content"] .diagDlgLeft .ui-datagrid,
div[id$="diagnoseTrfDialog_content"] .diagDlgLeft .ui-datagrid-content,
div[id$="diagnoseTrfDialog_content"] .diagDlgLeft .ui-datagrid-content table,
div[id$="diagnoseTrfDialog_content"] .diagDlgRight .ui-panel,
div[id$="diagnoseTrfDialog_content"] .diagDlgRight .ui-panel-content,
div[id$="diagnoseTrfDialog_content"] .diagDlgRight .ui-datatable,
div[id$="diagnoseTrfDialog_content"] .diagDlgRight .ui-panelgrid{
    width: 100% !important;
    box-sizing: border-box !important;
}

div[id$="diagnoseTrfDialog_content"] .diagDlgTeethGrid .ui-datagrid-data{
    display: table-row-group !important;
}

/* =========================================================
   ELAMA compact horizontal spacing
   ========================================================= */

.tightGrid.ui-panelgrid .ui-panelgrid-cell{
    padding-left: 6px !important;
    padding-right: 6px !important;
}

.tightGrid .ui-inputfield,
.tightGrid textarea{
    width: 100% !important;
    box-sizing: border-box;
}

.tightGrid .ui-inputtext,
.tightGrid .ui-inputtextarea{
    min-width: 0 !important;
}

/* =========================================================
   defineFill fills ui:define
   - NOTE: if you adopt the new flex layout (appContent),
     you typically DON'T need a fixed calc(100vh - 220px)
   ========================================================= */

.defineFill{
    height: calc(100vh - 220px);
    padding: 10px 10px 1px 10px;
    box-sizing: border-box;
    overflow: auto;
    display: flex;
    flex-direction: column;
}

.defineFill .ui-dashboard{
    flex: 1 1 auto;
    min-height: 0;
}

.defineFill .ui-dashboard-column{
    min-height: 100%;
}

.dashCard{
    background: wheat;
    border: 1px solid #d7c9a3;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.10);
}

.dashCard .ui-panel-titlebar{
    background: transparent;
    border: none;
    color: #6a3a10;
    font-weight: bold;
    font-size: 16px;
    padding: 10px 10px 6px 10px;
}

.dashCard .ui-panel-content{
    border: none;
    background: transparent;
    padding: 10px;
    box-sizing: border-box;
}

.statsGridCompact{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.statTileSmall{
    border-radius: 12px;
    border: 1px solid rgba(0,0,0,0.06);
    background: #f8f1e3;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
}

.statIcon{
    width: 30px;
    height: 30px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(106,58,16,0.10);
    font-size: 14px;
}

.statValue{
    font-size: 18px;
    font-weight: bold;
    color: #3c2a1a;
    line-height: 1;
}

.statLabel{
    font-size: 12px;
    color: #6a5b4a;
}

@media (max-width: 1100px){
    .statsGridCompact{
        grid-template-columns: repeat(2, 1fr);
    }
    .defineFill{
        height: calc(100vh - 250px);
    }
}

/* ================= Schedule Holder (inside defineFill) ================= */

.scheduleHolder{
    flex: 1 1 auto;
    min-height: 520px;
    overflow: hidden;
    padding: 10px;
    box-sizing: border-box;
    margin-top: 10px;
    display: flex;
    flex-direction: column;
}

.scheduleHolder div[id$="appSch"]{
    width: 100% !important;
    height: 100% !important;
    flex: 1 1 auto;
    min-height: 0;
}

.scheduleHolder .ui-schedule,
.scheduleHolder .ui-schedule-content,
.scheduleHolder .fc,
.scheduleHolder .fc-view-harness{
    height: 100% !important;
    width: 100% !important;
}

.scheduleHolder div[id$="appSch"] .fc-timegrid-axis,
.scheduleHolder div[id$="appSch"] .fc-timegrid-axis-frame,
.scheduleHolder div[id$="appSch"] .fc-timegrid-axis-cushion{
    width: 45px !important;
    max-width: 45px !important;
    min-width: 45px !important;
    font-size: 11px;
    text-align: right;
    padding-right: 4px;
    box-sizing: border-box;
}

.scheduleHolder div[id$="appSch"] .fc-daygrid-day{
    min-height: 70px !important;
}

.scheduleHolder div[id$="appSch"] .fc-daygrid-day-frame{
    padding: 0 !important;
}

.scheduleHolder div[id$="appSch"] .fc-daygrid-day-top{
    padding: 2px 4px !important;
}

.scheduleHolder div[id$="appSch"] .fc-daygrid-day-number{
    font-size: 12px !important;
    line-height: 1 !important;
}
/* =========================================================
   REMITTANCE PAGE (BPOMAS)
   ========================================================= */
.remHeader{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
}

.remTitle{
    display:flex;
    align-items:center;
    font-size: 1.15rem;
    font-weight: 700;
}

.remSubTitle{
    font-size: .92rem;
    opacity: .85;
    margin-top: 2px;
}

.remToolbar{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
    justify-content:space-between;
    margin: 10px 0 12px 0;
}

.remLeftTools{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
}

.remRightTools{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
    justify-content:flex-end;
}

.remStatBar{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:6px;
}

.remPill{
    background: rgba(255,255,255,.55);
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 999px;
    padding: 6px 10px;
    font-size: .88rem;
}

.mono{
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
        "Liberation Mono", "Courier New", monospace;
}
.noBtnHeight {
    padding: 0 !important;
    margin: 0 !important;
    line-height: inherit !important;
    height: auto !important;
    min-height: 0 !important;
    font-size: inherit !important;
    vertical-align: baseline !important;
}
/* =========================================================
   JOURNAL DISPLAY (jrnl.xhtml)
   - consistent with wheat UI + compact controls
   - works inside .appContent / .defineFill (no overflow issues)
   ========================================================= */

.jrWrap{
    /* use inside your ui:define content */
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 0;
}

.jrCard{
    background: wheat;
    border: 1px solid #d7c9a3;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.10);
    padding: 10px;
    box-sizing: border-box;
}

.jrHeaderRow{
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.jrHeaderRow .jrTitle{
    font-weight: 800;
    font-size: 16px;
    color: #3c2a1a;
}

.jrHeaderRow .jrHint{
    font-size: 12px;
    opacity: .8;
    color: #3c2a1a;
}

.jrFilters{
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    margin: 6px 0 10px 0;
}

.jrFilters .ui-inputfield,
.jrFilters .ui-selectonemenu,
.jrFilters .ui-calendar,
.jrFilters .ui-datepicker,
.jrFilters input{
    max-width: 280px;
}

/* keep filter items aligned nicely */
.jrFilters .ui-selectonemenu-label{
    padding-right: 28px !important;
}

/* Datatable inside card: remove extra margins */
.jrCard .ui-datatable{
    margin-top: 6px;
}

/* Balanced amounts look */
.jrAmtDr{
    font-weight: 700;
    color: #1b5e20; /* dark green */
}

.jrAmtCr{
    font-weight: 700;
    color: #7a1f1f; /* dark red */
}

/* Keep totals line in dialog header */
.jrTotals{
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.jrTotals .jrTotalsSpacer{
    margin-left: auto;
}

/* Dialog content should not overflow beyond viewport */
div[id$="jrDlg_content"]{
    max-height: calc(100vh - 180px);
    overflow: auto;
}

/* Journal lines table: compact */
.jrLinesTbl .ui-datatable-tablewrapper{
    overflow: auto;
}

/* Make “clickable journal no” feel like a link */
.jrLink,
.jrLink span,
.jrLink .ui-commandlink{
    font-weight: 800;
    text-decoration: none !important;
    color: #6a3a10;
}

.jrLink:hover,
.jrLink:hover span{
    text-decoration: underline !important;
    color: #3c2a1a;
}

/* Optional: make POSTED/DRAFT/VOID tags consistent */
.jrTagPosted .ui-tag{
    font-weight: 700;
}
.jrTagDraft .ui-tag{
    font-weight: 700;
}
.jrTagVoid .ui-tag{
    font-weight: 700;
}

/* If you want the journal page to fill available height inside appContent */
.jrFill{
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
