/* 
    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;
    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;
}

.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 HEIGHT)
   ========================================================= */

.header-user-wheat.ui-splitbutton{
    display: inline-flex !important;
    align-items: stretch !important; /* ✅ both parts same height */
}

/* BOTH: main button + arrow button */
.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;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    height: 32px !important;     /* ✅ choose your header button height */
    padding: 0 12px !important;  /* ✅ consistent padding */
    line-height: 32px !important;
    box-sizing: border-box !important;
}

/* Arrow part: make it a square and remove side padding */
.header-user-wheat.ui-splitbutton .ui-splitbutton-menubutton{
    width: 32px !important;
    padding: 0 !important;
}

/* Fix internal text/icon alignment */
.header-user-wheat.ui-splitbutton .ui-button-text{
    padding: 0 !important;
    line-height: 1 !important;
}

.header-user-wheat.ui-splitbutton .pi,
.header-user-wheat.ui-splitbutton .ui-icon{
    color: #3c2a1a !important;
    line-height: 1 !important;
}

/* Hover */
.header-user-wheat.ui-splitbutton > .ui-button:hover,
.header-user-wheat.ui-splitbutton .ui-splitbutton-menubutton:hover{
    background-color: #e6c89a !important;
    border-color: #d2b48c !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;
}

/* =========================================================
   ✅ FIXED: teethGridnoWrap for PrimeFaces p:dataGrid (TABLE)
   - keeps all 16 teeth on ONE row
   - uses horizontal scroll instead of wrapping
   ========================================================= */

/* IMPORTANT: class name must match XHTML: teethGridnoWrap (lowercase n) */
.teethGridnoWrap .ui-datagrid-content{
    padding: 0 !important;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

.teethGridnoWrap .ui-datagrid-content table{
    table-layout: fixed;
    width: auto !important;      /* allow natural width bigger than container */
    white-space: nowrap;         /* prevents wrapping */
}

.teethGridnoWrap .ui-datagrid-content td{
    white-space: nowrap;
    text-align: center;
    vertical-align: top;
    padding: 0 !important;
    width: 64px !important; /* ✅ +10% final width */
}

/* =========================================================
   Tooth tile + SVG look
   ========================================================= */

.toothTile{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none !important;
    cursor: pointer;
    user-select: none;
    padding: 0 !important;
    margin: 0 !important;
}

.toothNoTop{
    font-weight: 800;
    font-size: 12px !important;
    margin-bottom: 3px !important;
    color: #222;
    line-height: 1;
}

/* SVG container */
.toothSvg{
    width: 51px !important;   /* ✅ +10% final size */
    height: 77px !important;  /* ✅ +10% final size */
    display: block;
    transition: transform .12s ease-in-out;
}

.toothTile:hover .toothSvg{
    transform: translateY(-1px);
}

/* Base tooth colors */
.toothBody{
    fill: #f7f3ea;
    stroke: #bfae8a;
    stroke-width: 2;
}

.toothBodyInner{
    fill: #ffffff;
    opacity: 0.55;
}

/* =========================================================
   ✅ SELECTED TOOTH (GREEN)
   Use: add styleClass="toothTileSelected" OR "tooth-selected" to the tile
   ========================================================= */

/* Preferred class (already used by your CSS/XHTML pattern) */
.toothTileSelected .toothSvg .toothBody{
    fill: #c8f0d0 !important;
    stroke: #1b5e20 !important;
}

.toothTileSelected .toothSvg .toothBodyInner{
    fill: #c8f0d0 !important;
    opacity: 1 !important;
}

/* Alias class requested: tooth-selected */
.tooth-selected .toothSvg .toothBody{
    fill: #c8f0d0 !important;
    stroke: #1b5e20 !important;
}

.tooth-selected .toothSvg .toothBodyInner{
    fill: #c8f0d0 !important;
    opacity: 1 !important;
}

/* OPTIONAL: stronger green outline glow */
.toothTileSelected .toothSvg,
.tooth-selected .toothSvg{
    filter: drop-shadow(0 0 4px rgba(27,94,32,0.35));
}

/* 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
   ========================================================= */

.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)
   ========================================================= */

.jrWrap{
    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;
}

.jrFilters .ui-selectonemenu-label{
    padding-right: 28px !important;
}

.jrCard .ui-datatable{
    margin-top: 6px;
}

.jrAmtDr{
    font-weight: 700;
    color: #1b5e20;
}

.jrAmtCr{
    font-weight: 700;
    color: #7a1f1f;
}

.jrTotals{
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.jrTotals .jrTotalsSpacer{
    margin-left: auto;
}

div[id$="jrDlg_content"]{
    max-height: calc(100vh - 180px);
    overflow: auto;
}

.jrLinesTbl .ui-datatable-tablewrapper{
    overflow: auto;
}

.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;
}

.jrTagPosted .ui-tag{
    font-weight: 700;
}
.jrTagDraft .ui-tag{
    font-weight: 700;
}
.jrTagVoid .ui-tag{
    font-weight: 700;
}

.jrFill{
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
/* =========================================================
   ELAMA – Wheat Table Style
   ========================================================= */

.wheatTable {
    width: 100%;
    border-collapse: separate !important;
    border-spacing: 0;
    font-size: 14px;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(90, 70, 50, 0.08);
}

/* ===== Table Header ===== */
.wheatTable .ui-datatable-header,
.wheatTable thead th {
    background: linear-gradient(to bottom, #ead6b7, #e1caa4);
    color: #5a4632;
    font-weight: 600;
    border: none !important;
    padding: 6px 4px;
    text-align: left;
}

/* ===== Table Body ===== */
.wheatTable tbody td {
    background: #fbf7f1;
    border-bottom: 1px solid rgba(90,70,50,0.12);
    padding: 5px 6px;
    color: #4f3b28;
}

/* Alternate row shading */
.wheatTable tbody tr:nth-child(even) td {
    background: #f4ede3;
}

/* Hover effect */
.wheatTable tbody tr:hover td {
    background: #efe4d5;
    transition: background 0.2s ease-in-out;
}

/* Remove default PF borders */
.wheatTable .ui-datatable-data > tr > td,
.wheatTable .ui-datatable-data > tr > th {
    border: none !important;
}

/* Checkbox alignment */
.wheatTable .ui-selectbooleancheckbox {
    margin-top: 3px;
}

/* =========================================================
   Fix DatePicker (timeOnly) layout inside wheatTable
   ========================================================= */

.wheatTable .ui-datepicker {
    display: flex !important;
    align-items: center;
    gap: 4px;
}

/* Prevent wrapping */
.wheatTable .ui-datepicker .ui-inputfield {
    flex: 1;
    min-width: 0;
}

/* Keep icon aligned */
.wheatTable .ui-datepicker-trigger {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}


/* Rounded corners on first & last header */
.wheatTable thead th:first-child {
    border-top-left-radius: 14px;
}

.wheatTable thead th:last-child {
    border-top-right-radius: 14px;
}
/* =========================================================
   Make time picker icon same height as input
   ========================================================= */

.wheatTable .ui-datepicker {
    display: flex;
    align-items: stretch;   /* 🔹 makes children equal height */
}

/* Input height */
.wheatTable .ui-datepicker .ui-inputfield {
    height: 32px;
    border-radius: 6px 0 0 6px;
}

/* Icon button */
.wheatTable .ui-datepicker-trigger {
    height: 32px !important;     /* 🔹 same as input */
    width: 32px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 0 6px 6px 0;
    border-left: none;
}
/* =========================================================
   Force datePicker (timeOnly) to stay horizontal
   ========================================================= */

.wheatTable .ui-datepicker {
    display: inline-flex !important;   /* 🔹 keep inline */
    align-items: center;
    white-space: nowrap;               /* 🔹 prevent wrapping */
}

/* Keep input and icon same row */
.wheatTable .ui-datepicker .ui-inputfield {
    display: inline-block !important;
    vertical-align: middle;
}

/* Force trigger to stay inline */
.wheatTable .ui-datepicker-trigger {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    margin-left: 4px;
}
/* =========================================================
              NO SCROLL DASHBOARD (stats left, schedule right)
              Adjust 170px if your header/menu is taller/shorter.
              ========================================================= */
.dashNoScrollRoot{
    height: calc(100vh - 170px);
    overflow: hidden;
}

.dashGrid2{
    display: flex;
    gap: 12px;
    height: 100%;
    align-items: stretch;
}
.dashLeft{
    flex: 0 0 360px;
    min-width: 320px;
    height: 100%;
    overflow: hidden;
}
.dashRight{
    flex: 1 1 auto;
    min-width: 520px;
    height: 100%;
    overflow: auto;      /* ✅ enables scroll when content is big */
    padding-right: 5px;
    box-sizing: border-box;
}

.dashFillCard{
    height: 100%;
    overflow: hidden;
}

.scheduleCard{
    display: flex;
    flex-direction: column;
}
.scheduleTitle{
    padding: 10px 10px 6px 10px;
    font-weight: bold;
    color: #6a3a10;
    font-size: 16px;
    flex: 0 0 auto;
}
.scheduleBody{
    flex: 1 1 auto;
    min-height: 0;      /* IMPORTANT for flex children */
    overflow: hidden;
}

/* Force FullCalendar to stretch */
.pfScheduleFill,
.pfScheduleFill .fc,
.pfScheduleFill .fc-view-harness,
.pfScheduleFill .fc-scroller{
    height: 100% !important;
    max-height: 100% !important;
}

/* Responsive: stack on small screens */
@media (max-width: 1100px){
    .dashNoScrollRoot{
        height: auto;
        overflow: visible;
    }
    .dashGrid2{
        flex-direction: column;
        height: auto;
    }
    .dashLeft, .dashRight{
        min-width: 100%;
        height: auto;
        overflow: visible;
    }
    .dashFillCard{
        height: auto;
        overflow: visible;
    }
    .scheduleBody{
        height: 620px;
    }
}
.statsGridCompact2{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    align-items: stretch;
}
/* =========================================================
   PrimeFaces AutoComplete dropdown: make button same height as input
   ========================================================= */

/* Wrap input + dropdown button on one line and equal height */
.ui-autocomplete{
    display: inline-flex !important;
    align-items: stretch !important;
}

/* Input height */
.ui-autocomplete .ui-autocomplete-input{
    height: 32px !important;        /* match your desired size */
    line-height: 32px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
}

/* Dropdown button height */
.ui-autocomplete .ui-autocomplete-dropdown{
    height: 32px !important;
    width: 32px !important;         /* square button */
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

/* Center the chevron icon */
.ui-autocomplete .ui-autocomplete-dropdown .pi,
.ui-autocomplete .ui-autocomplete-dropdown .ui-icon{
    line-height: 1 !important;
}

/* =========================================================
   ELAMA dialog basics
   ========================================================= */

.wheatDialog .ui-dialog-content,
.wheatPanel,
.wheatTable {
    background-color: wheat;
}

.dialogActions{
    margin-top: 6px;
}

/* =========================================================
   ELAMA compact grids (merged duplicates + made !important)
   ========================================================= */

.form-grid.compact-form{
    row-gap: 3px !important;
    column-gap: 8px !important;
}

.form-grid.compact-form .ui-panelgrid-cell{
    padding: 3px 6px !important;
}

.form-grid .label-col{
    font-weight: 600;
    color: #222;
}

/* Compact dialog/panels and separators */
.ui-panel .ui-panel-content{
    padding: 6px !important;
}

.ui-dialog .ui-dialog-content{
    padding: 8px !important;
}

.ui-separator{
    margin: 4px 0 !important;
}

/* =========================================================
   ✅ FIX: DatePicker icon stretching / going all the way down
   - your global .ui-inputfield has height:28px; datePicker looks better at 32px in dialogs
   - we keep wheatTable rules unchanged (they already enforce 32px)
   ========================================================= */

/* Make datepicker wrapper stay horizontal in dialogs/forms */
.wheatDialog .ui-datepicker,
.form-grid.compact-form .ui-datepicker{
    display: inline-flex !important;
    align-items: stretch !important;
    white-space: nowrap !important;
}

/* Dialog date input height */
.wheatDialog .ui-datepicker .ui-inputfield,
.form-grid.compact-form .ui-datepicker .ui-inputfield{
    height: 32px !important;
    line-height: 32px !important;
    box-sizing: border-box !important;
}

/* Dialog trigger button must NOT stretch */
.wheatDialog .ui-datepicker-trigger,
.wheatDialog .ui-datepicker-trigger.ui-button,
.form-grid.compact-form .ui-datepicker-trigger,
.form-grid.compact-form .ui-datepicker-trigger.ui-button{
    height: 32px !important;
    width: 32px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

/* If inputgroup rules cause stretching */
.ui-inputgroup .ui-button{
    height: auto !important;
}

/* =========================================================
   ✅ FIX: dialog action buttons should NOT be height:100%
   (that rule causes stretching everywhere, including datePicker triggers)
   ========================================================= */

.dialogActions .ui-button{
    height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
/* =========================================================
   ELAMA PORTAL – BOOKING TIME SLOT BUTTONS
   ========================================================= */

.slotButtonsWrap{
    display: flex;
    flex-wrap: wrap;
    gap: 16px;              /* space between slots */
    margin-top: 8px;
}

/* Base slot appearance */
.slotBtn{
    display: inline-block;
    padding: 8px 14px;
    border-radius: 12px;
    border: 1px solid rgba(90,70,50,0.22);
    background: linear-gradient(to bottom, #fbf7f1, #f4ede3);
    color: #4f3b28;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
    min-width: 70px;
    text-align: center;
}

/* Available slot hover */
.slotOk:hover{
    background: linear-gradient(to bottom, #ead6b7, #e1caa4);
    border-color: rgba(90,70,50,0.35);
    transform: translateY(-2px);
    cursor: pointer;
}

/* Selected slot */
.slotSel{
    background: linear-gradient(to bottom, #114784, #0f3e72);
    color: #ffffff !important;
    border-color: #114784;
    box-shadow: 0 0 0 3px rgba(17,71,132,0.18);
}

/* Not available slot */
.slotOff{
    opacity: 0.45;
    cursor: not-allowed;
    background: #f0e6d8;
}

/* Make layout clean on smaller screens */
@media (max-width: 768px){
    .slotButtonsWrap{
        gap: 10px;
    }

    .slotBtn{
        min-width: 60px;
        padding: 6px 10px;
        font-size: 13px;
    }
}
