@font-face{font-family:Montserrat;src:url('../fonts/Montserrat.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:'Playfair Display';src:url('../fonts/PlayfairDisplay.ttf') format('truetype');font-weight:400 900;font-display:swap}
:root,[data-theme=light]{
  --beacon-navy:#0b1628;--beacon-blue:#2e407c;--beacon-gold:#c4aa72;
  --beacon-white:#fdfefe;--beacon-charcoal:#212020;--beacon-slate:#b5b3b5;
  --font-stack:Montserrat,sans-serif;--font-family:Montserrat,sans-serif;
  --primary:#2e407c;--primary-color:#2e407c;--text-color:#212020;
  --heading-color:#0b1628;--bg-color:#f4f5f7;--fg-color:#fdfefe;
  --border-color:#dce0e7;--text-muted:#616977;
}
body{font-family:Montserrat,sans-serif;font-size:13px;line-height:1.55}
h1,h2,.page-title .title-text,.page-head h3,.widget-title{
  font-family:'Playfair Display',serif;letter-spacing:-.025em;color:var(--beacon-navy)
}
.navbar{background:var(--beacon-navy)!important;border-bottom:2px solid var(--beacon-gold)!important}
.navbar .navbar-brand,.navbar .nav-link,.navbar .navbar-home,.navbar .navbar-breadcrumbs a{color:var(--beacon-white)!important}
.navbar .navbar-brand img,.navbar .app-logo{height:34px;width:auto;object-fit:contain}
.navbar .search-bar .form-control{background:#18243b;color:#fdfefe;border:1px solid #43506a}
.navbar .search-bar .form-control::placeholder{color:#d5dae3}
.body-sidebar{--desk-sidebar-bg:#0b1628;--surface-sidebar:#0b1628;--surface-gray-2:#1d2d47;background:#0b1628!important;border-right:1px solid #28374e}
.body-sidebar .sidebar-item-label,.body-sidebar .sidebar-header,.body-sidebar .sidebar-item-container,.body-sidebar .sidebar-section-title,.body-sidebar a{color:#fdfefe!important}
.body-sidebar .sidebar-item-container:hover,.body-sidebar .sidebar-item-container.selected{background:#1d2d47!important}
.body-sidebar svg{color:#c4aa72}
.body-sidebar .standard-sidebar-item.active-sidebar,.body-sidebar .standard-sidebar-item:hover{background:#1d2d47!important}
.body-sidebar .avatar-name-email span{color:#fdfefe!important}
.body-sidebar .avatar-name-email span+span{color:#d5dae3!important}
.body-sidebar :focus-visible{outline-color:#c4aa72!important}
.workspace .widget-title,.workspace .widget-title span,.es-breadcrumbs__item[aria-current=page] .es-breadcrumbs__label{font-family:'Playfair Display',serif!important;color:#0b1628}
.desktop-page .desk-page .links-widget-box .widget-title,.desktop-page .desk-page .links-widget-box .widget-title span{font-family:'Playfair Display',serif!important;color:#0b1628!important;font-size:20px}
.desk-page .links-widget-box{background:#fdfefe;border:1px solid #dce0e7;border-radius:10px;padding:22px}
.btn-primary,.btn.btn-primary,.page-actions .es-button[data-variant="solid"],.modal .btn-modal-primary{background:var(--beacon-gold)!important;border-color:var(--beacon-gold)!important;color:var(--beacon-navy)!important;font-weight:650;border-radius:999px}
.btn-primary:hover,.btn-primary:focus,.modal .btn-modal-primary:hover,.page-actions .es-button[data-variant="solid"]:hover{background:#d1bc8d!important;border-color:#d1bc8d!important;color:var(--beacon-navy)!important}
.btn-default,.btn-secondary{border-radius:999px}
a{color:var(--beacon-blue)}
:focus-visible{outline:3px solid var(--beacon-blue)!important;outline-offset:3px}
.navbar :focus-visible{outline-color:var(--beacon-gold)!important}
.workspace .widget,.widget-group .widget,.frappe-card,.form-dashboard-section{border:1px solid #e1e4eb;border-radius:10px}
.widget-group .widget-title{font-size:19px}
.widget-group .link-item{padding-top:9px;padding-bottom:9px}
.widget-group .link-item:hover{background:#f0f2f7;color:var(--beacon-blue)}
.page-head{background:var(--beacon-white);border-bottom:1px solid var(--border-color)}
.datatable,.report-wrapper,.list-row,.grid-row{font-variant-numeric:tabular-nums}
.dt-cell--header,.grid-heading-row{background:#edf0f5!important;color:var(--beacon-navy);font-weight:600}
.list-row:hover,.grid-row:hover{background:#f4f6fa}
.control-label,.form-section .section-head{color:#354157}
.form-control,.input-with-feedback{border-radius:6px}
.beaconshire-brand-label{display:inline-flex;gap:8px;align-items:center;font-family:Montserrat,sans-serif;font-size:11px;letter-spacing:.11em;color:var(--beacon-gold);text-transform:uppercase}
.beaconshire-brand-label img{width:22px;height:22px;object-fit:contain}
.beaconshire-notice{border-left:3px solid var(--beacon-gold);background:#f7f4ed;padding:12px 16px;color:var(--beacon-navy);margin:12px 0}
.beaconshire-table td,.beaconshire-table th{text-align:left;padding:12px;border-bottom:1px solid #dce0e7}
.beaconshire-table th{background:var(--beacon-navy);color:var(--beacon-white)}
.beaconshire-table .numeric{text-align:right;font-variant-numeric:tabular-nums}
body[data-path="login"]{background:#0b1628}
body[data-path="login"] .page-card{background:#fdfefe;border-top:2px solid #c4aa72;padding:36px;border-radius:8px;box-shadow:0 24px 80px #0004}
body[data-path="login"] .page-card-head h4{font-family:'Playfair Display',serif;color:#0b1628;font-size:28px}
body[data-path="login"] .es-button[data-variant="solid"]{background:#c4aa72!important;color:#0b1628!important;font-weight:600;border-radius:999px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:767px){body{font-size:14px}.page-head h3{font-size:24px}.navbar .navbar-brand img{height:28px}.btn{min-height:40px}}
@media print{.navbar,.layout-side-section,.page-actions{display:none!important}body{background:white;color:#212020}.page-title{border-bottom:1px solid #c4aa72}}

/* Wrap expanded labels only: native collapsed labels have zero width and must not grow rows. */
html[data-beaconshire="books"] .body-sidebar-container.expanded .body-sidebar .sidebar-item-label,
html[data-beaconshire="books"] .body-sidebar-container.expanded .body-sidebar .sidebar-section-title,
html[data-beaconshire="books"] .body-sidebar-container.expanded .body-sidebar .header-title,
html[data-beaconshire="books"] .body-sidebar-container.expanded .body-sidebar .title-container,
html[data-beaconshire="books"] .widget .widget-title,
html[data-beaconshire="books"] .widget .widget-title .ellipsis,
html[data-beaconshire="books"] .widget .link-content,
html[data-beaconshire="books"] .control-label,
html[data-beaconshire="books"] .beaconshire-filter-label,
html[data-beaconshire="books"] .es-breadcrumbs__label,
html[data-beaconshire="books"] .page-title .title-text {
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
  overflow-wrap:anywhere;word-break:normal;line-height:1.4;min-width:0;max-width:100%;
}
html[data-beaconshire="books"] .body-sidebar-container.expanded .body-sidebar .item-anchor {
  height:auto!important;min-height:32px;padding-block:6px;white-space:normal;
  overflow:visible;text-overflow:clip;min-width:0;
}
html[data-beaconshire="books"] .body-sidebar-container.expanded .body-sidebar .shell-header {
  height:auto;min-height:40px;padding-block:8px;overflow:visible;
}
html[data-beaconshire="books"] .body-sidebar .header-title {color:#fdfefe!important}
html[data-beaconshire="books"] .body-sidebar .sidebar-item-icon,
html[data-beaconshire="books"] .body-sidebar .sidebar-item-control {flex-shrink:0}
html[data-beaconshire="books"] .widget .widget-head {align-items:flex-start;gap:10px}
html[data-beaconshire="books"] .widget .widget-label {flex:1 1 auto;min-width:0}
html[data-beaconshire="books"] .widget .widget-control {flex-shrink:0;flex-wrap:wrap;max-width:50%}
html[data-beaconshire="books"] .widget .link-item {height:auto;min-height:36px;align-items:flex-start;gap:6px}
html[data-beaconshire="books"] .widget .link-item .link-content {flex:1 1 auto}
html[data-beaconshire="books"] .page-head .page-head-content {height:auto;min-height:var(--page-head-height);flex-wrap:wrap}
html[data-beaconshire="books"] .page-title .title-area {min-width:0;flex-wrap:wrap}
html[data-beaconshire="books"] .es-breadcrumbs {min-width:0;flex-wrap:wrap;height:auto}
html[data-beaconshire="books"] .es-breadcrumbs__item {min-width:0;max-width:100%}
html[data-beaconshire="books"] .control-label {height:auto;min-height:1.4em}
html[data-beaconshire="books"] .page-form {gap:12px;align-items:flex-end}
html[data-beaconshire="books"] .page-form .frappe-control {flex:0 1 240px;width:240px;max-width:100%;padding-right:0}
html[data-beaconshire="books"] .beaconshire-filter-label {display:block;margin-bottom:5px;color:#354157;font-weight:500}
.beaconshire-dashboard-company {width:100%;margin:12px 0 20px}
.beaconshire-dashboard-company label {display:block;width:min(100%,680px);margin:0;font-weight:600}
.beaconshire-dashboard-company select {width:100%;margin-top:6px;min-height:40px}
.beaconshire-selected-company {white-space:normal;overflow-wrap:anywhere;margin:8px 0 0}
.beaconshire-dashboard-pending {white-space:normal;overflow-wrap:anywhere;margin:12px 0;color:#616977;font-size:13px;font-weight:400}
@media(max-width:767px){
  html[data-beaconshire="books"] .page-form .frappe-control {flex:1 1 100%;width:100%}
  html[data-beaconshire="books"] .widget .widget-head {flex-wrap:wrap}
  html[data-beaconshire="books"] .widget .widget-control {max-width:100%}
  html[data-beaconshire="books"] .page-head .page-actions {flex-wrap:wrap;gap:6px}
}
/* Desk collapses the sidebar on phones by making it transparent; keep that when themed. */
@media (max-width:767.98px){.body-sidebar-container:not(.expanded) .body-sidebar{background:transparent!important;border-right-color:transparent}}
