.admin-site { font-size: 18px; line-height: 1.65; }
.admin-main { max-width: 1120px; }
.admin-header > .small { color:#eee9dd; overflow-wrap:anywhere; }
.admin-site .admin-page-heading h1 { font-size:clamp(2rem,3.5vw,3rem); line-height:1.15; }
.admin-site .admin-page-heading > a { flex-shrink:0; }
.admin-workspace { display:grid; grid-template-columns:240px minmax(0,1fr); max-width:1560px; margin:auto; }
.admin-workspace:not(:has(.estate-navigation)) { display:block; }
.admin-content { min-width:0; }
.estate-navigation { padding:1.5rem 1rem; border-right:1px solid #d8d4c8; align-self:start; position:sticky; top:1rem; }
.estate-navigation section { margin-bottom:1.5rem; }
.estate-navigation h2 { font-family:inherit; font-size:.85rem; letter-spacing:.06em; text-transform:uppercase; color:#615e52; margin:.4rem .8rem; }
.estate-navigation a { display:block; font-size:1rem; padding:.65rem .8rem; margin:.15rem 0; text-decoration:none; border-radius:5px; }
.estate-navigation a:hover { background:#eee9de; }
.estate-navigation a[aria-current=page] { background:#dce5d8; color:#253b29; font-weight:700; border-left:4px solid #435e42; }
@media(max-width:850px) {
 .admin-workspace { display:block; }
 .estate-navigation { position:static; border-right:0; border-bottom:1px solid #d8d4c8; display:flex; flex-wrap:wrap; gap:1rem; padding:1rem; }
 .estate-navigation section { margin:0; flex:1 1 180px; }
 .estate-navigation a { padding:.45rem .8rem; min-height:44px; }
}
@media print { .estate-navigation { display:none; } .admin-workspace { display:block; } }
.admin-site .panel { padding: clamp(1.25rem, 3vw, 2rem); margin-block: 1.5rem; }
.admin-site .panel h2 { font-size: 1.45rem; }
.admin-site small, .admin-site .small { font-size: .95rem; line-height: 1.6; }
.admin-site input:not([type=checkbox]), .admin-site select, .admin-site textarea, .admin-site button { font-size: 1rem; }
.admin-site input, .admin-site select, .admin-site button, .admin-site .button { min-height: 44px; }
.admin-site input[type=checkbox] { min-height: auto; width: 1.2rem; height: 1.2rem; margin-right: .5rem; }
.admin-site .stacked-form { max-width: 780px; }
.admin-site .stacked-form > div { margin-block: 1.1rem; }
.admin-site summary { cursor: pointer; font-weight: 650; padding-block: .5rem; }
.admin-site summary:focus-visible, .admin-site a:focus-visible, .admin-site button:focus-visible { outline: 3px solid #966819; outline-offset: 4px; }
.admin-site details[open] > summary { margin-bottom: 1rem; }
.admin-site .queue-grid { grid-template-columns: 1fr; gap: .25rem; }
.admin-site .queue-card { margin-block: .4rem; }
.admin-site .queue-card > summary .queue-count { float: right; font-size: 1.1rem; }
.admin-site .detail-grid { grid-template-columns: 1fr; }
.admin-site .admin-header, .admin-site .admin-header nav { align-items: flex-start; }
.admin-site .admin-header nav a { font-size: 1rem; }
.admin-site details.panel > .detail-grid > .panel { box-shadow: none; margin-block: .5rem; }
.admin-tools > summary { padding-top: 0; }
.admin-tools > div { display: grid; gap: .65rem; padding-block: .75rem; }
.admin-site td, .admin-site th { padding: .9rem; }
.report-copy { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; max-width: 80ch; }
.report-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; }
.estate-report { background:#fff; color:#26372d; border:1px solid #d8d5cc; padding:clamp(1.2rem,4vw,3rem); font-size:1rem; }
.report-masthead { border-top:5px solid #314d3c; border-bottom:1px solid #c8cfc7; padding:1.7rem 0; }
.report-estate { font-family:Georgia,serif; font-size:1.4rem; margin:0 0 .7rem; }
.estate-report h1 { font-size:clamp(1.8rem,3vw,2.7rem); line-height:1.2; margin:.5rem 0; }
.report-period { font-size:1.1rem; }
.report-metadata { display:flex; flex-wrap:wrap; gap:1rem 3rem; margin:1.5rem 0; }
.report-metadata dt { color:#5b655e; font-size:.8rem; text-transform:uppercase; letter-spacing:.06em; }
.report-metadata dd { margin:0; font-weight:600; }
.report-demo { padding:.8rem 1rem; background:#f6f0df; border-left:3px solid #9b783e; font-size:.9rem; }
.report-section { margin-top:2.2rem; }
.estate-report h2 { font-family:Georgia,serif; font-size:1.5rem; margin:0 0 .8rem; }
.estate-report table { width:100%; border-collapse:collapse; font-size:.95rem; }
.estate-report th, .estate-report td { padding:.75rem .6rem; border-bottom:1px solid #e1e4dd; vertical-align:top; }
.estate-report thead th { background:#edf1eb; color:#34493b; text-align:left; font-size:.8rem; letter-spacing:0; text-transform:none; }
.estate-report tbody th { text-align:left; font-weight:500; text-transform:none; font-size:inherit; letter-spacing:0; }
.estate-report tfoot th { text-transform:none; font-size:inherit; letter-spacing:0; }
.estate-report .amount, .report-summary td { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.report-summary .report-subtotal { border-top:2px solid #bdc8bd; font-weight:600; }
.report-summary .report-total { background:#edf1eb; font-size:1.1rem; font-weight:700; }
.estate-report tfoot { font-weight:700; border-top:2px solid #bdc8bd; }
.report-note, .report-basis { font-size:.88rem; color:#505e54; }
.report-basis { border-top:1px solid #bdc8bd; padding-top:1.4rem; }
.report-reference { font-size:.75rem; overflow-wrap:anywhere; }
.estate-navigation details { margin:.15rem 0; }
.estate-navigation summary { font-size:1rem; padding:.65rem .8rem; }
.estate-navigation details[open] > summary { margin-bottom:.25rem; }
.estate-navigation .nav-children { border-left:1px solid #c5cec2; margin-left:1rem; padding-left:.3rem; }
.estate-navigation .nav-children a { font-size:.9rem; }
@media print {
 @page { size:A4; margin:16mm; }
 .admin-header, .demo-banner, .report-toolbar { display:none!important; }
 .admin-main { max-width:none; margin:0; }
 .estate-report { border:0; padding:0; font-size:10pt; }
 .estate-report h1 { font-size:23pt; }
 .estate-report h2 { font-size:14pt; break-after:avoid; }
 .estate-report table { font-size:9pt; }
 .estate-report th, .estate-report td { padding:6pt 4pt; }
 .estate-report .table-wrap { overflow:visible; }
 .estate-report thead { display:table-header-group; }
 .report-masthead { break-inside:avoid; }
 .report-section { margin-top:18pt; }
 .report-section p { orphans:3; widows:3; }
}
@media print {
 .no-print, .messages, .admin-tools { display:none !important; }
 .admin-main { width: 100%; padding: 0; }
 .admin-site { font-size: 11pt; background: white; }
 .admin-site .panel { padding: .3rem; margin: .5rem 0; border: 0; }
 .report-copy { max-width: none; }
 tr { break-inside: avoid; }
}
