:root{--bg:#f6f4ef;--card:#fff;--ink:#1d1d1b;--muted:#73736d;--line:#dedbd2;--accent:#1f5d4e;--danger:#9b2d30;--gold:#a17c3c}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Tahoma,Arial,sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:#17231f;color:white;padding:24px 16px;position:sticky;top:0;height:100vh}.brand{font-size:28px;font-weight:800;letter-spacing:2px;margin-bottom:4px}.brand-sub{font-size:12px;opacity:.65;margin-bottom:28px}.nav a{display:block;padding:11px 12px;border-radius:9px;margin:3px 0;color:#eef4f1}.nav a:hover{background:#263b34}.main{padding:28px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.top h1{margin:0;font-size:26px}.muted{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin-bottom:20px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}.metric{font-size:24px;font-weight:750;margin-top:8px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:18px}.panel h2{margin:0 0 14px;font-size:18px}.btn{border:0;border-radius:9px;padding:10px 14px;background:var(--accent);color:#fff;cursor:pointer;font-weight:650;display:inline-block}.btn.secondary{background:#eeeae0;color:#222}.btn.danger{background:var(--danger)}.btn.gold{background:var(--gold)}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:11px 9px;border-bottom:1px solid #ebe8df;text-align:left;font-size:14px}.table th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.badge{display:inline-block;padding:5px 8px;border-radius:999px;background:#eceae3;font-size:12px}.badge.cancel{background:#f5dddd;color:#7c2528}.badge.ok{background:#dff0e8;color:#1f5d4e}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}label{font-size:13px;font-weight:650}input,select,textarea{border:1px solid #cbc7bc;border-radius:8px;padding:10px 11px;background:#fff;font:inherit}textarea{min-height:80px}.notice{padding:12px;border-radius:9px;background:#fff3cf;border:1px solid #e6ce7f;margin-bottom:12px}.dangerbox{background:#fae7e7;border-color:#e1b2b2}.doc{max-width:850px;margin:20px auto;background:white;padding:34px;border:1px solid #ddd;box-shadow:0 3px 20px #00000012}.doc-head{display:flex;justify-content:space-between;border-bottom:2px solid #222;padding-bottom:15px}.doc-title{text-align:right}.doc-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.doc-box{border:1px solid #ddd;padding:10px}.doc-total{font-size:20px;font-weight:800}.sign{margin-top:28px;border-top:1px solid #bbb;padding-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.login{max-width:390px;margin:12vh auto;background:white;padding:28px;border:1px solid var(--line);border-radius:16px}.rtl{direction:rtl}@media(max-width:950px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.nav{display:flex;gap:4px;flex-wrap:wrap}.cards{grid-template-columns:repeat(2,1fr)}.grid2,.form-grid{grid-template-columns:1fr}.main{padding:16px}}@media print{.sidebar,.top,.no-print{display:none!important}.shell{display:block}.main{padding:0}.doc{box-shadow:none;border:0;margin:0;max-width:none}.panel{border:0}}

/* V2.1 booking availability + nightly pricing */
.rate-loading{margin:18px 0;padding:14px 16px;border:1px solid #d7ddd9;border-radius:12px;background:#f7faf8;display:flex;align-items:center;gap:10px}.rate-loading[hidden]{display:none}.spinner{width:18px;height:18px;border:3px solid #d8dfdb;border-top-color:#17231f;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.night-rates{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:18px}.night-card{display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid #d9dedb;border-radius:14px;padding:14px 16px;background:#fff}.night-day{font-size:18px;font-weight:700;margin:3px 0}.night-price-wrap{min-width:105px}.night-price-wrap label{font-size:12px}.night-price{width:115px}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.availability-legend{display:flex;gap:22px;flex-wrap:wrap;margin:10px 0 18px}.availability-legend span{display:flex;align-items:center;gap:7px}.legend-dot{width:13px;height:13px;border-radius:50%;display:inline-block}.legend-dot.available{background:#78c990}.legend-dot.partial{background:#efc75e}.legend-dot.full{background:#e77c7c}.calendar-weekdays,.availability-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-weekdays div{text-align:center;font-weight:700;padding:8px;color:#66716c}.calendar-day{min-height:125px;border-radius:12px;padding:9px;border:1px solid rgba(0,0,0,.08);overflow:hidden}.calendar-day.available{background:#e8f7ec}.calendar-day.partial{background:#fff4d6}.calendar-day.full{background:#fde5e5}.calendar-day.outside{opacity:.35}.calendar-date{display:flex;justify-content:space-between;gap:4px}.calendar-date small{font-size:10px;color:#5f6a64}.availability-text{font-size:10px;font-weight:800;margin:7px 0;text-transform:uppercase}.calendar-booking{display:block;text-decoration:none;color:#1b2822;background:rgba(255,255,255,.62);border-radius:7px;padding:4px 6px;margin-top:4px;font-size:11px}.terms-block{margin-top:24px;padding-top:12px;border-top:1px solid #cfd5d1}.terms-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px;font-size:11px;line-height:1.55}.terms-columns ol{padding-left:18px;margin-top:6px}.terms-columns .rtl ol{padding-left:0;padding-right:20px}.doc-note{margin-top:18px;padding:12px;border-radius:9px;background:#f5f7f6;font-size:11px}
@media(max-width:850px){.calendar-weekdays,.availability-calendar{grid-template-columns:repeat(7,minmax(95px,1fr));min-width:720px}.panel{overflow-x:auto}.terms-columns{grid-template-columns:1fr}.night-rates{grid-template-columns:1fr}}
@media print{.terms-columns{grid-template-columns:1fr 1fr}.calendar-day{break-inside:avoid}}
.villa-auto{padding:12px 14px;border-radius:12px;border:1px solid #d7d7d7;background:#f7f7f7}.villa-auto.available{background:#eef8f0;border-color:#a8d5af}.villa-auto.unavailable{background:#fff0f0;border-color:#e3aaaa}.villa-auto.pending{background:#f5f5f5}.doc-head{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #bbb;padding-bottom:12px;margin-bottom:16px}.doc-head-right{text-align:right}.compact-cards{margin:12px 0 18px}.tax-table .total-row td{border-top:2px solid #333}.tax-document{max-width:1100px;margin:auto}@media print{.sidebar,.top,.print-hide{display:none!important}.shell{display:block}.main{padding:0}.panel{box-shadow:none;border:none}.tax-document{max-width:none}}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px}.calendar-block{background:#5d6570;color:#fff;border-radius:7px;padding:4px 6px;margin-top:4px;font-size:11px}.invoice-a4{font-size:11px}.invoice-a4 .doc-meta{margin:10px 0}.invoice-a4 .table th,.invoice-a4 .table td{padding:5px 6px;font-size:10px}.invoice-a4 .terms-block{margin-top:10px;padding-top:7px}.invoice-a4 .terms-columns{font-size:8.5px;line-height:1.3;gap:18px}.invoice-a4 .terms-columns ol{margin:3px 0}.invoice-a4 .sign{margin-top:10px;padding-top:8px}.invoice-a4 .doc-head{margin-bottom:8px}.invoice-a4 h3{margin:4px 0}@page{size:A4;margin:8mm}@media print{.invoice-a4{width:194mm;max-width:194mm;min-height:0;padding:5mm;margin:0 auto;font-size:10px}.invoice-a4 .brand{font-size:22px}.invoice-a4 h2{font-size:15px;margin:0}.invoice-a4 .doc-total{font-size:14px}.permission-grid{grid-template-columns:1fr 1fr}}

/* V2.4 interactive availability calendar + operations dashboard */
.calendar-day-button{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}.calendar-day-button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.calendar-day-button:hover{filter:brightness(.985);border-color:#8f998f}.calendar-modal[hidden]{display:none}.calendar-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px}.calendar-modal-backdrop{position:absolute;inset:0;background:#0008}.calendar-modal-card{position:relative;width:min(620px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:16px;padding:20px;border:1px solid var(--line)}.calendar-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.calendar-modal-head h2{margin:2px 0 0}.modal-close{border:0;background:#eeeae0;border-radius:50%;width:38px;height:38px;font-size:25px;line-height:1;cursor:pointer}.day-status{padding:10px 12px;border-radius:10px;font-weight:750;margin:14px 0}.day-status.available{background:#e8f7ec;color:#245c32}.day-status.partial{background:#fff4d6;color:#755800}.day-status.full{background:#fde5e5;color:#7d2929}.modal-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);padding:10px 12px;border-radius:10px;margin:7px 0;background:#faf9f5}.modal-row small{color:var(--muted)}.calendar-modal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.modal-block-form{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.modal-block-form[hidden]{display:none}.link-danger{border:0;background:none;color:var(--danger);font-weight:700;cursor:pointer}.modal-open{overflow:hidden}.today-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.today-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.today-title h2{margin:0}.today-booking{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #ebe8df}.today-booking:first-of-type{margin-top:10px}.today-booking small{display:block;color:var(--muted);margin-top:3px}.empty-state{padding:18px 0;color:var(--muted)}
@media(max-width:700px){.today-grid{grid-template-columns:1fr}.calendar-modal{padding:10px}.calendar-modal-card{padding:15px}}
.date-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.calendar-note{display:block;background:rgba(30,50,80,.08);border-radius:7px;padding:4px 6px;margin-top:4px;font-size:11px}.booking-quick small{display:block;margin-top:3px}.timeline-row{display:grid;grid-template-columns:180px 1fr auto;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);align-items:start}.timeline-row small{color:var(--muted)}
@media(max-width:700px){.date-pair{grid-template-columns:1fr}.timeline-row{grid-template-columns:1fr}.timeline-row small{margin-top:2px}}
@page{size:A4;margin:14mm 12mm 14mm 12mm}
@media print{body{background:#fff}.invoice-a4{width:auto;max-width:none;padding:0;margin:0;font-size:9.6px}.invoice-a4 .table th,.invoice-a4 .table td{padding:4px 5px}.invoice-a4 .terms-columns{font-size:8px;line-height:1.22}.invoice-a4 .sign{margin-top:7px;padding-top:6px}.doc{box-shadow:none;border:0}}

.altara-print-stamp{margin-top:8px;padding-top:5px;border-top:1px solid #d7d7d7;text-align:right;font-size:9px;color:#666}
.link-button{border:0;background:none;padding:0;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline}
.edit-dialog{border:1px solid var(--line);border-radius:14px;padding:20px;max-width:620px;width:calc(100% - 32px);color:var(--ink)}
.edit-dialog::backdrop{background:rgba(0,0,0,.35)}
@media print{.altara-print-stamp{display:block!important;font-size:8px;margin-top:4px;padding-top:3px}.edit-dialog{display:none!important}}
.nav-count{display:inline-block;min-width:20px;padding:2px 6px;border-radius:999px;background:#a33;color:#fff;font-size:11px;text-align:center;margin-left:5px}
.badge.warn{background:#fff1bf;color:#5c4700;border:1px solid #ead47c}
.checklist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.check-item{border:1px solid var(--line);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:5px}.check-item span{color:var(--muted)}
.altara-print-stamp{direction:ltr!important;unicode-bidi:isolate;text-align:right;white-space:nowrap}
@media print{
  .altara-print-stamp{position:fixed!important;right:8mm!important;bottom:4mm!important;border:0!important;margin:0!important;padding:0!important;font-size:8px!important;color:#555!important;direction:ltr!important;unicode-bidi:isolate!important}
}

.simple-flow{display:grid;gap:16px;max-width:900px}.simple-flow .card h2{margin-top:0}.simple-flow .btn{margin-top:10px}

.simple-arrival{max-width:900px;margin:0 auto}
.arrival-form{display:grid;gap:18px}
.arrival-form fieldset{border:1px solid var(--line);border-radius:12px;padding:16px}
.arrival-form legend{font-weight:800;padding:0 8px}
.arrival-ready{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--line);border-radius:12px;margin-bottom:18px}
.check-row{display:flex;align-items:center;gap:10px;min-height:44px}
.submit-arrival{font-size:16px;padding:13px 18px}
.center-note{text-align:center}
.document-list{display:grid;gap:10px}
.document-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:10px 0}
.noticebox{padding:14px 18px}

.mini-link{display:inline-block;margin-left:8px;font-weight:700}.permission-grid label{align-items:flex-start}

.locked-submission{text-align:center;padding:42px 20px;border:1px solid var(--line);border-radius:14px}
.locked-submission .status-icon{font-size:34px;font-weight:800}
.document-preview{min-height:70vh;text-align:center}
.document-preview iframe{width:100%;height:72vh;border:0}
.document-preview img{max-width:100%;max-height:72vh;object-fit:contain}
.doc-number{font-weight:700;margin:6px 0 14px}

.sidebar-brand{text-align:center;padding:8px 4px 16px}
.sidebar-brand img{width:120px;max-width:100%;height:auto;display:block;margin:0 auto 7px}
.login-logo{display:block;width:190px;max-width:75%;height:auto;margin:0 auto 12px}
.doc-logo{display:block;width:145px;max-height:72px;object-fit:contain;object-position:left center}
.official-print-footer{margin-top:8px;padding-top:4px;border-top:1px solid #ddd;text-align:right;font-size:9px;color:#555}
.existing-id-box{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:12px}
.choice-row{display:flex;gap:20px;flex-wrap:wrap;padding:8px 0}
.choice-row label{display:flex;align-items:center;gap:7px}
@media print{
 .official-print-footer{position:fixed;bottom:4mm;left:10mm;right:10mm;background:#fff;margin:0;padding-top:3px}
 .sidebar-brand,.sidebar{display:none!important}
 .doc-logo{width:130px;max-height:60px}
}

.top-account{display:flex;align-items:center;gap:10px}
.top-logout{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:9px;text-decoration:none;font-weight:700}
@media print{.top-logout{display:none!important}}

.form-error{margin-bottom:14px;padding:11px 13px;border:1px solid #c94f4f;background:#fff3f3;border-radius:10px;color:#8d2020;font-weight:700}
.existing-id-preview{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:14px}
.existing-id-preview .preview-label{display:grid;gap:3px;margin-bottom:10px}
.existing-id-preview img{display:block;max-width:100%;max-height:440px;object-fit:contain;margin:0 auto;border-radius:8px}
.existing-id-preview iframe{display:block;width:100%;height:440px;border:1px solid var(--line);border-radius:8px}
.mismatch-upload[hidden]{display:none!important}

.approval-readonly-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.inline-form{display:inline}
.approval-edit-form[hidden],.approval-reject-box[hidden]{display:none!important}
.approval-reject-box{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:12px}

.tax-page-controls{margin-bottom:14px}
.tax-filter-bar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.compact-field{width:150px;min-width:120px}
.compact-field input,.compact-field select{width:100%}
.tax-filter-actions{display:flex;gap:8px;flex-wrap:wrap}
.tax-document{max-width:1080px;margin:0 auto}
.tax-summary-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.tax-summary-card{border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:4px}
.tax-summary-card span{font-weight:700}
.tax-summary-card small{color:var(--muted)}
.tax-summary-card strong{font-size:24px;margin-top:4px}
.tax-payment-card{max-width:1080px;margin:16px auto 0}
.tax-payment-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.tax-payment-head h3{margin:0 0 3px}
.tax-payment-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.tax-payment-summary>div{border:1px solid var(--line);border-radius:10px;padding:11px;display:grid;gap:4px}
.tax-payment-summary span{font-size:12px;color:var(--muted)}
.tax-payment-empty{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
.tax-payment-empty p{margin:4px 0 0}
.tax-payment-actions{margin-top:12px}
.tax-payment-form-wrap{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.tax-payment-form-wrap[hidden]{display:none!important}
@media(max-width:760px){
  .tax-summary-cards{grid-template-columns:1fr}
  .tax-payment-summary{grid-template-columns:1fr 1fr}
  .tax-payment-empty{align-items:flex-start;flex-direction:column}
  .compact-field{width:100%}
}
@media(max-width:480px){
  .tax-payment-summary{grid-template-columns:1fr}
}
@media print{
  .tax-page-controls,.tax-payment-card{display:none!important}
  .tax-document{max-width:none;margin:0;border:0!important;box-shadow:none!important}
}


/* =========================================================
   ALTARA LUXURY HOSPITALITY THEME — V2.24 PREVIEW
   Visual-only layer. Existing functionality remains intact.
   ========================================================= */
:root{
  --altara-green:#082e27;--altara-green-2:#0d4036;--altara-green-3:#155548;
  --altara-gold:#b78a43;--altara-gold-soft:#ead9b8;--altara-cream:#f7f5ef;
  --altara-paper:#fffdf9;--altara-ink:#12201d;--altara-muted:#78817e;
  --altara-line:#e8e4da;--altara-shadow:0 10px 30px rgba(18,32,29,.055);
  --bg:var(--altara-cream);--card:var(--altara-paper);--ink:var(--altara-ink);--muted:var(--altara-muted);
  --line:var(--altara-line);--accent:var(--altara-green-2);--gold:var(--altara-gold);--danger:#a14646;
}
html{scroll-behavior:smooth}body{background:linear-gradient(135deg,#faf9f5 0%,#f4f1e8 100%);font-family:Inter,"Segoe UI",Tahoma,Arial,sans-serif;letter-spacing:-.01em}.luxury-shell{grid-template-columns:252px minmax(0,1fr)}
.luxury-sidebar{background:radial-gradient(circle at 15% 0%,#155044 0,#0a342c 28%,#062820 72%,#041e19 100%);padding:24px 17px 18px;box-shadow:8px 0 30px rgba(3,28,23,.08);overflow-y:auto;display:flex;flex-direction:column;z-index:10}.luxury-brand{padding:5px 10px 23px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:14px}.luxury-brand img{width:132px;margin:0;filter:drop-shadow(0 4px 12px rgba(0,0,0,.18))}.luxury-brand .brand-sub{color:#dcc397;opacity:.8;letter-spacing:.18em;font-size:9px;margin:8px 0 0 5px}
.luxury-nav{flex:1}.luxury-nav .nav-section{color:#aebdb7;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin:20px 10px 8px}.luxury-nav .nav-section:first-child{margin-top:6px}.luxury-nav a{display:flex;align-items:center;gap:11px;min-height:43px;padding:9px 11px;margin:3px 0;border-radius:11px;color:#e8f0ec;font-size:13.5px;font-weight:550;transition:.18s ease;position:relative}.luxury-nav a:hover{background:rgba(255,255,255,.08);transform:translateX(2px)}.luxury-nav a.active{background:linear-gradient(90deg,rgba(220,195,151,.24),rgba(255,255,255,.08));box-shadow:inset 0 0 0 1px rgba(232,212,173,.08);color:#fff}.luxury-nav a.active:before{content:"";position:absolute;left:-4px;width:3px;height:22px;border-radius:999px;background:#d3ae70}.nav-icon{width:20px;height:20px;display:grid;place-items:center;color:#e3c68d;font-size:16px}.nav-count{margin-left:auto;background:#c79b57;color:#102d27;border:1px solid rgba(255,255,255,.3);font-weight:900}
.sidebar-property-card{margin-top:22px;padding:13px;border:1px solid rgba(234,217,184,.18);border-radius:15px;background:linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.035));display:flex;align-items:center;gap:11px;color:#fff}.property-mark{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#d7ba82,#a87833);font-family:Georgia,serif;font-size:24px;color:#0a3028}.sidebar-property-card strong{display:block;font-size:12.5px}.sidebar-property-card small{display:block;color:#c8d2ce;font-size:10px;line-height:1.35;margin-top:3px}
.luxury-main{padding:24px 32px 32px;min-width:0}.luxury-topbar{margin-bottom:4px;padding-bottom:15px}.page-heading .eyebrow{font-size:9px;letter-spacing:.17em;color:#a17b41;font-weight:800;margin-bottom:4px}.luxury-topbar h1{font-size:26px;letter-spacing:-.035em;font-weight:760}.user-chip{display:flex;align-items:center;gap:9px;padding:6px 9px 6px 6px;border:1px solid var(--altara-line);background:rgba(255,255,255,.68);border-radius:999px;box-shadow:0 6px 18px rgba(20,37,32,.04)}.user-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#0b382f;color:#fff;font-weight:800}.user-chip b,.user-chip small{display:block;line-height:1.1}.user-chip b{font-size:12px}.user-chip small{font-size:9.5px;color:var(--muted);margin-top:3px}.top-logout{border-radius:50%;width:42px;height:42px;padding:0;background:#fff;border:1px solid var(--altara-line);box-shadow:0 4px 14px rgba(20,37,32,.04);color:#163f36}
.dashboard-intro{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 20px}.dashboard-intro p{margin:0;color:#6e7774;font-size:13px}.date-switcher{display:flex;align-items:center;border:1px solid var(--altara-line);background:rgba(255,255,255,.72);border-radius:11px;overflow:hidden;box-shadow:0 4px 15px rgba(20,37,32,.035)}.date-switcher a{padding:8px 11px;font-size:12px}.date-switcher .date-today{border-left:1px solid var(--altara-line);border-right:1px solid var(--altara-line);font-weight:750;min-width:82px;text-align:center}
.lux-alert{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:12px 15px;border-radius:13px;margin-bottom:12px;border:1px solid;box-shadow:0 5px 18px rgba(20,37,32,.025)}.lux-alert .alert-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:900}.lux-alert strong,.lux-alert small{display:block}.lux-alert strong{font-size:12.5px}.lux-alert small{font-size:10.5px;margin-top:3px;color:inherit;opacity:.72}.lux-alert>b{font-size:11px}.approval-alert{background:#eef7f3;border-color:#cce4da;color:#174b3e}.approval-alert .alert-icon{background:#d9eee6}.warning-alert{background:#fff8e9;border-color:#ecd9ae;color:#75551f}.warning-alert .alert-icon{background:#f5e6c5}.danger-alert{background:#fff1f0;border-color:#eccbca;color:#8b3c3b}.danger-alert .alert-icon{background:#f2d9d8}
.lux-metrics{display:grid;gap:13px;margin:17px 0}.lux-metrics.metrics-admin{grid-template-columns:repeat(4,minmax(0,1fr))}.lux-metrics.metrics-field{grid-template-columns:repeat(3,minmax(0,1fr))}.lux-metric-card{background:rgba(255,255,255,.82);border:1px solid var(--altara-line);border-radius:16px;padding:16px;box-shadow:var(--altara-shadow);display:flex;align-items:center;gap:13px;min-height:100px}.metric-icon{width:48px;height:48px;flex:0 0 48px;border-radius:14px;display:grid;place-items:center;font-size:17px;font-weight:800}.metric-icon.green{background:#0a372f;color:#fff}.metric-icon.gold{background:linear-gradient(145deg,#d7b77d,#b48842);color:#fff}.metric-icon.cream{background:#f2eadb;color:#9c7030}.lux-metric-card span,.lux-metric-card strong,.lux-metric-card small{display:block}.lux-metric-card span{font-size:10.5px;color:#66716d;font-weight:650}.lux-metric-card strong{font-size:24px;line-height:1.05;margin:5px 0 3px;letter-spacing:-.04em}.lux-metric-card small{font-size:9.5px;color:#9aa09e}
.dashboard-grid-main{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);gap:15px}.luxury-panel{border:1px solid var(--altara-line);border-radius:17px;padding:17px;background:rgba(255,255,255,.84);box-shadow:var(--altara-shadow);margin-bottom:15px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-head h2{font-size:15px;margin:2px 0 0}.section-kicker{font-size:8px;font-weight:850;letter-spacing:.15em;color:#af8647}.soft-link{border:1px solid var(--altara-line);border-radius:8px;padding:6px 9px;font-size:10px;font-weight:700;background:#fff}.status-dot-label{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:5px}.status-dot-label i{width:7px;height:7px;border-radius:50%;background:#3a967b;box-shadow:0 0 0 4px #e1f1eb}
.booking-list-item{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:11px;border-top:1px solid #eeeae1;padding:10px 2px;transition:.15s ease}.booking-list-item:hover{background:#fbfaf7;padding-left:7px;padding-right:7px;border-radius:10px}.booking-list-item:first-child{border-top:0}.booking-date-block{height:44px;border-radius:11px;background:#f0e8d9;display:grid;place-items:center;align-content:center;color:#87612c}.booking-date-block b{font-size:16px;line-height:1}.booking-date-block span{font-size:8px;text-transform:uppercase;margin-top:2px;font-weight:800}.booking-main strong,.booking-main small,.booking-main span{display:block}.booking-main strong{font-size:12px}.booking-main small{font-size:9.8px;color:#6e7874;margin-top:3px}.booking-main span{font-size:8.8px;color:#a0a5a3;margin-top:3px}.booking-side{text-align:right}.booking-side small{display:block;font-size:9px;color:#919795;margin-top:5px}.lux-empty,.mini-empty{padding:20px;text-align:center;color:#8a9290}.lux-empty b,.lux-empty span{display:block}.lux-empty span{font-size:10px;margin-top:4px}
.operation-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.operation-columns>div{border:1px solid #ebe7dd;border-radius:13px;padding:12px;background:#fcfbf8}.operation-title{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding-bottom:8px}.op-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:17px;font-weight:900}.op-icon.arrival{background:#e4f0eb;color:#245d4e}.op-icon.departure{background:#f4ead9;color:#9b7133}.operation-title b,.operation-title small{display:block}.operation-title b{font-size:11.5px}.operation-title small{font-size:9px;color:#8a9290;margin-top:2px}.operation-title>strong{font-size:18px}.operation-booking{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eeeae1;padding:9px 2px}.operation-booking b,.operation-booking small{display:block}.operation-booking b{font-size:10.5px}.operation-booking small{font-size:9px;color:#89918e;margin-top:2px}.operation-booking em{font-style:normal;color:#af8647}.mini-empty{font-size:10px;padding:13px 3px}
.finance-strip{display:grid;grid-template-columns:repeat(3,1fr) 1.25fr;align-items:stretch;margin-bottom:15px;border:1px solid var(--altara-line);border-radius:15px;background:#0c352d;color:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(8,46,39,.09)}.finance-strip>div,.finance-strip>a{padding:14px 16px;border-right:1px solid rgba(255,255,255,.1)}.finance-strip>div span,.finance-strip>div strong{display:block}.finance-strip>div span{font-size:8.5px;color:#b8c8c3;text-transform:uppercase;letter-spacing:.08em}.finance-strip>div strong{font-size:14px;margin-top:4px}.finance-strip>a{display:flex;align-items:center;justify-content:space-between;color:#e7cf9e;font-size:11px;font-weight:750;border-right:0}.finance-strip>a b{font-size:17px}
.luxury-btn{border-radius:9px;background:#0b3b31;box-shadow:0 4px 10px rgba(11,59,49,.12);font-size:11px;padding:8px 11px}.table-wrap{overflow-x:auto}.luxury-table th{font-size:8.5px;color:#8a918f;letter-spacing:.075em;padding-top:9px}.luxury-table td{font-size:10.5px;padding:10px 8px}.luxury-table tr:last-child td{border-bottom:0}.luxury-table tbody tr:hover td,.luxury-table tr:hover td{background:#fbfaf7}.badge{border:1px solid #e1ddd3;background:#f1efe9;font-size:9px;padding:4px 7px}.badge.ok{background:#e6f1ec;border-color:#cfe4db;color:#21604f}.badge.cancel{background:#fae9e7;border-color:#f0cfcc;color:#8f3b3a}
/* General pages */
.panel,.card{border-color:var(--altara-line);box-shadow:var(--altara-shadow);background:rgba(255,255,255,.86)}.panel{border-radius:17px}.card{border-radius:15px}.btn{background:#0b3b31;border-radius:9px}.btn.secondary{background:#eee9dd;color:#273833}.btn.gold{background:#b78a43}.table th{color:#8b918f}.table th,.table td{border-bottom-color:#ece8de}.form-grid input,.form-grid select,.form-grid textarea,input,select,textarea{border-color:#d9d4c9;border-radius:9px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:#7e9f95;box-shadow:0 0 0 3px rgba(13,64,54,.08)}.notice{border-radius:11px}.calendar-modal-card,.edit-dialog{border-radius:17px;box-shadow:0 24px 70px rgba(0,0,0,.18)}
.app-footer{padding:13px 2px 2px;color:#9a9f9d;font-size:9px;text-align:right}.app-footer span{color:#b28b4e}
.login{border:1px solid var(--altara-line);box-shadow:0 24px 60px rgba(8,46,39,.11);border-radius:20px;background:rgba(255,255,255,.92)}.login-logo{width:170px}.document-preview,.doc{border-radius:16px}
@media(max-width:1100px){.lux-metrics.metrics-admin{grid-template-columns:1fr 1fr}.dashboard-grid-main{grid-template-columns:1fr}.finance-strip{grid-template-columns:1fr 1fr}.finance-strip>a{grid-column:1/-1}.luxury-shell{grid-template-columns:220px 1fr}}
@media(max-width:820px){.luxury-shell{display:block}.luxury-sidebar{position:relative;height:auto;max-height:none}.luxury-brand{display:flex;align-items:center;justify-content:space-between}.luxury-brand img{width:105px}.luxury-nav{display:grid;grid-template-columns:1fr 1fr}.luxury-nav .nav-section{grid-column:1/-1}.sidebar-property-card{display:none}.luxury-main{padding:20px}.lux-metrics.metrics-field,.lux-metrics.metrics-admin{grid-template-columns:1fr 1fr}.operation-columns{grid-template-columns:1fr}}
@media(max-width:560px){.luxury-main{padding:16px 12px}.luxury-nav{grid-template-columns:1fr}.dashboard-intro{align-items:flex-start;flex-direction:column}.luxury-topbar{align-items:flex-start}.user-chip span:not(.user-avatar){display:none}.lux-metrics.metrics-field,.lux-metrics.metrics-admin{grid-template-columns:1fr}.finance-strip{grid-template-columns:1fr}.finance-strip>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.booking-list-item{grid-template-columns:40px 1fr}.booking-side{grid-column:2;text-align:left}.lux-alert{grid-template-columns:34px 1fr}.lux-alert>b{grid-column:2}.page-heading h1{font-size:21px}}
@media print{.luxury-sidebar,.luxury-topbar,.app-footer{display:none!important}.luxury-main{padding:0}.luxury-shell{display:block}}


/* V2.25 — Annual Financial Report */
.annual-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:20px 0;
}
.annual-summary-card{
  border:1px solid rgba(31,61,50,.12);
  background:#fbf8f0;
  border-radius:14px;
  padding:14px 16px;
}
.annual-summary-card span{
  display:block;
  font-size:12px;
  color:#68766f;
  margin-bottom:5px;
}
.annual-summary-card strong{
  font-size:17px;
  color:#173b2f;
}
.annual-summary-card.annual-summary-net{
  background:#173b2f;
  border-color:#173b2f;
}
.annual-summary-card.annual-summary-net span,
.annual-summary-card.annual-summary-net strong{
  color:#fff;
}
.annual-table-wrap{overflow-x:auto;}
.annual-financial-table{
  min-width:1450px;
  font-size:12px;
}
.annual-financial-table th,
.annual-financial-table td{
  white-space:nowrap;
  padding:8px 9px;
  text-align:right;
}
.annual-financial-table th:first-child,
.annual-financial-table td:first-child{
  text-align:left;
  position:sticky;
  left:0;
  background:inherit;
}
.annual-total-row{
  background:#f2ecde;
}
.annual-accounting-note{
  margin-top:16px;
  padding:12px 14px;
  border-radius:12px;
  background:#f7f3e9;
  color:#4e5c56;
  font-size:12px;
  line-height:1.55;
}
@media (max-width:900px){
  .annual-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media print{
  .annual-summary-grid{grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0;}
  .annual-summary-card{padding:7px 8px;border-radius:6px;}
  .annual-summary-card span{font-size:8px;}
  .annual-summary-card strong{font-size:10px;}
  .annual-table-wrap{overflow:visible;}
  .annual-financial-table{min-width:0;width:100%;font-size:6.5px;}
  .annual-financial-table th,.annual-financial-table td{padding:3px 2px;white-space:normal;}
  .annual-financial-table th:first-child,.annual-financial-table td:first-child{position:static;}
  .annual-accounting-note{font-size:8px;padding:6px;margin-top:8px;}
}


/* V2.26 — ALTARA logo visibility
   The original transparent logo is preserved; website surfaces give it
   a light luxury plaque so the dark-green mark never disappears into
   the sidebar/header background. */
.sidebar .brand img,
.sidebar .logo img,
.app-sidebar .brand img,
.app-sidebar .logo img,
nav.sidebar img[src*="altara_logo"],
aside img[src*="altara_logo"]{
  background:#f7f2e7;
  border:1px solid rgba(198,164,92,.38);
  border-radius:14px;
  padding:8px 10px;
  box-shadow:0 6px 18px rgba(0,0,0,.10);
  box-sizing:border-box;
}

/* Keep logo clean on light documents / print. */
.doc-logo,
img.doc-logo{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}


/* V2.27 — Late check-out & actionable operations */
.clickable-alert{
  text-decoration:none;
  color:inherit;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.clickable-alert:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 28px rgba(78,34,34,.10);
}
.clickable-alert>b{margin-left:auto;white-space:nowrap;font-size:12px;}
.overdue-list-panel{margin-bottom:16px;}
.danger-date{background:#fff0ee!important;color:#9f332d!important;}
.late-checkout-card{
  border:1px solid rgba(190,148,70,.28);
  background:linear-gradient(135deg,#fffdf8 0%,#faf5e9 100%);
}
.late-checkout-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;
}
.late-checkout-head h2{margin:3px 0 4px;}
.late-checkout-form{
  display:grid;
  grid-template-columns:1fr 1fr 1.5fr auto;
  gap:12px;
  align-items:end;
}
.late-checkout-form .field small{display:block;margin-top:5px;color:#8a8f8b;font-size:11px;}
.late-checkout-actions{display:flex;gap:8px;align-items:center;padding-bottom:1px;}
.field-late-checkout{
  background:linear-gradient(135deg,#173b2f,#0e2d24);
  color:white;
  border:0;
}
.field-late-checkout .muted{color:rgba(255,255,255,.72);}
.field-late-time{font-size:30px;font-weight:700;letter-spacing:-.02em;margin:8px 0;}
@media(max-width:1000px){
  .late-checkout-form{grid-template-columns:1fr 1fr;}
  .late-note{grid-column:1/-1;}
  .late-checkout-actions{grid-column:1/-1;}
}


/* V2.29 — Production-ready notifications + mobile */
.clickable-alert{
  cursor:pointer;
  text-decoration:none;
  color:inherit;
  display:flex;
  align-items:center;
  gap:12px;
  transition:transform .15s ease, box-shadow .15s ease;
}
.clickable-alert:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.06);}
.clickable-alert>b{margin-left:auto;white-space:nowrap;font-size:12px;}
.notification-action-panel{margin-bottom:16px;}
.mobile-menu-toggle,.mobile-nav-backdrop{display:none;}

@media(max-width:900px){
  body{overflow-x:hidden;}
  .mobile-menu-toggle{
    display:flex;position:fixed;left:14px;top:14px;z-index:1400;
    width:44px;height:44px;align-items:center;justify-content:center;
    border:1px solid rgba(23,59,47,.13);border-radius:13px;
    background:#fffdf8;color:#173b2f;box-shadow:0 8px 24px rgba(0,0,0,.12);
    font-size:22px;
  }
  .sidebar{
    position:fixed!important;left:0;top:0;bottom:0;z-index:1350;
    width:min(82vw,310px)!important;transform:translateX(-105%);
    transition:transform .22s ease;overflow-y:auto;
    box-shadow:18px 0 45px rgba(0,0,0,.18);
  }
  body.nav-open .sidebar{transform:translateX(0);}
  .mobile-nav-backdrop{position:fixed;inset:0;z-index:1300;background:rgba(6,25,20,.42);backdrop-filter:blur(2px);}
  body.nav-open .mobile-nav-backdrop{display:block;}
  .main,.content,.app-main,main{margin-left:0!important;width:100%!important;}
  .page,.page-content,.dashboard-page{padding-left:14px!important;padding-right:14px!important;}
  .topbar,.lux-topbar{padding-left:64px!important;}
  .lux-metrics,.metrics-grid,.grid4{grid-template-columns:1fr 1fr!important;}
  .grid2,.dashboard-grid,.late-checkout-form{grid-template-columns:1fr!important;}
  .table-wrap,.annual-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  table{min-width:700px;}
  input,select,textarea,button,.btn{min-height:44px;font-size:16px;}
  .toolbar{flex-wrap:wrap;}
  .clickable-alert{align-items:flex-start;}
}
@media(max-width:560px){
  .lux-metrics,.metrics-grid,.grid4{grid-template-columns:1fr!important;}
  h1,.welcome-title{font-size:26px!important;}
  .clickable-alert>b{display:none;}
  .booking-list-item{grid-template-columns:auto 1fr!important;}
  .booking-side{grid-column:1/-1;justify-self:start!important;}
}


/* V2.30 — Tax Statement print redesign */
.tax-statement-print{
  max-width:1080px;
  margin:0 auto;
}
.tax-statement-print .doc-head{
  align-items:flex-start;
  gap:24px;
  padding-bottom:16px;
  margin-bottom:16px;
  border-bottom:1px solid #d8d2c4;
}
.tax-statement-print .doc-head-right{
  min-width:260px;
  text-align:right;
}
.tax-statement-print .doc-head-right h2{
  margin:0 0 8px;
  font-size:20px;
  line-height:1.2;
}
.tax-statement-print .summary-grid,
.tax-statement-print .tax-summary-grid{
  gap:12px;
  margin:14px 0 18px;
}
.tax-statement-print .summary-card,
.tax-statement-print .tax-summary-card{
  padding:15px 16px;
  border-radius:12px;
}
.tax-table-wrap{
  overflow-x:auto;
}
.tax-statement-table{
  width:100%;
  table-layout:fixed;
  border-collapse:collapse;
  font-size:12px;
}
.tax-statement-table th{
  font-size:10px;
  line-height:1.25;
  padding:9px 7px;
  vertical-align:bottom;
  white-space:normal;
}
.tax-statement-table td{
  padding:9px 7px;
  vertical-align:top;
  line-height:1.35;
  white-space:normal;
  overflow-wrap:anywhere;
}
.tax-statement-table th:nth-child(1),
.tax-statement-table td:nth-child(1){width:15%;}
.tax-statement-table th:nth-child(2),
.tax-statement-table td:nth-child(2){width:15%;}
.tax-statement-table th:nth-child(3),
.tax-statement-table td:nth-child(3){width:9%;}
.tax-statement-table th:nth-child(4),
.tax-statement-table td:nth-child(4){width:22%;}
.tax-statement-table th:nth-child(5),
.tax-statement-table td:nth-child(5){width:8%; text-align:center;}
.tax-statement-table th:nth-child(6),
.tax-statement-table td:nth-child(6){width:18%; text-align:right;}
.tax-statement-table th:nth-child(7),
.tax-statement-table td:nth-child(7){width:13%; text-align:right;}
.tax-statement-table tbody tr:last-child{
  background:#f5f0e4;
  font-weight:700;
}
.tax-statement-table tbody tr:last-child td{
  border-top:1.5px solid #c9b987;
  border-bottom:1.5px solid #c9b987;
}
.tax-statement-print .print-footer{
  margin-top:18px;
}

@media print{
  @page{
    size:A4 portrait;
    margin:10mm 10mm 11mm;
  }
  html,body{
    background:#fff!important;
  }
  body{
    font-size:10px;
  }
  .sidebar,
  .mobile-menu-toggle,
  .mobile-nav-backdrop,
  .print-hide,
  .tax-payment-card,
  nav,
  .topbar{
    display:none!important;
  }
  .main,.content,.app-main,main{
    margin:0!important;
    padding:0!important;
    width:100%!important;
    max-width:none!important;
  }
  .tax-statement-print{
    box-shadow:none!important;
    border:0!important;
    padding:0!important;
    margin:0!important;
    max-width:none!important;
    width:100%!important;
  }
  .tax-statement-print .doc-head{
    padding-bottom:8px;
    margin-bottom:8px;
    gap:12px;
  }
  .tax-statement-print .doc-logo{
    max-width:95px!important;
    max-height:58px!important;
  }
  .tax-statement-print .doc-head-right{
    min-width:205px;
  }
  .tax-statement-print .doc-head-right h2{
    font-size:13px;
    margin-bottom:4px;
  }
  .tax-statement-print .summary-grid,
  .tax-statement-print .tax-summary-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    margin:7px 0 10px!important;
  }
  .tax-statement-print .summary-card,
  .tax-statement-print .tax-summary-card{
    padding:8px 10px!important;
    border-radius:7px!important;
    min-height:0!important;
  }
  .tax-statement-print .summary-card strong,
  .tax-statement-print .tax-summary-card strong{
    font-size:13px!important;
  }
  .tax-table-wrap{
    overflow:visible!important;
    width:100%!important;
  }
  .tax-statement-table{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
    font-size:7.4px!important;
  }
  .tax-statement-table th{
    font-size:6.8px!important;
    padding:4px 3px!important;
    line-height:1.15!important;
  }
  .tax-statement-table td{
    font-size:7.2px!important;
    padding:4px 3px!important;
    line-height:1.2!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  .tax-statement-table th:nth-child(1),
  .tax-statement-table td:nth-child(1){width:16%!important;}
  .tax-statement-table th:nth-child(2),
  .tax-statement-table td:nth-child(2){width:14%!important;}
  .tax-statement-table th:nth-child(3),
  .tax-statement-table td:nth-child(3){width:8%!important;}
  .tax-statement-table th:nth-child(4),
  .tax-statement-table td:nth-child(4){width:23%!important;}
  .tax-statement-table th:nth-child(5),
  .tax-statement-table td:nth-child(5){width:7%!important;}
  .tax-statement-table th:nth-child(6),
  .tax-statement-table td:nth-child(6){width:18%!important;}
  .tax-statement-table th:nth-child(7),
  .tax-statement-table td:nth-child(7){width:14%!important;}
  .tax-statement-table tr{
    break-inside:avoid;
    page-break-inside:avoid;
  }
  .tax-statement-print .print-footer{
    margin-top:8px!important;
    font-size:6.5px!important;
  }
}


/* V2.31 — Official document print system */
.invoice-a4{
  width:210mm;max-width:210mm;min-height:297mm;
  padding:13mm 14mm 12mm;margin:18px auto;
  font-size:12px;line-height:1.35;
}
.invoice-a4 .doc-logo{width:42mm;max-height:22mm;}
.invoice-a4 .doc-head{padding-bottom:10px;margin-bottom:12px;}
.invoice-a4 .doc-title h2{font-size:18px;line-height:1.12;margin:0 0 5px;}
.invoice-a4 .doc-meta{margin:12px 0 14px;gap:8px;}
.invoice-a4 .doc-box{padding:9px 10px;min-height:56px;}
.invoice-a4>.table th,.invoice-a4>.table td{padding:7px 6px;font-size:10.5px;}
.invoice-a4 .terms-block{margin-top:15px;padding-top:10px;}
.invoice-a4 .terms-block h3{font-size:12px;margin:0 0 5px;}
.invoice-a4 .terms-columns{font-size:9.3px;line-height:1.42;gap:23px;}
.invoice-a4 .terms-columns li{margin-bottom:2px;}
.invoice-a4 .sign{margin-top:18px;padding-top:12px;min-height:60px;}
.invoice-a4 .doc-total{font-size:15px;}
.confirmation-a4 .doc-meta{grid-template-columns:repeat(3,1fr);}
.confirmation-a4 .doc-note{margin-top:14px;font-size:10px;}

.compact-document{
  width:210mm;max-width:210mm;min-height:200mm;
  padding:16mm 16mm;margin:18px auto;font-size:12px;
}
.compact-document .doc-logo{width:42mm;max-height:22mm;}
.compact-document .doc-head{padding-bottom:12px;margin-bottom:16px;}
.compact-document .doc-title h2{font-size:20px;margin:0 0 6px;}
.compact-document .doc-meta{margin:16px 0;}
.compact-document .doc-box{padding:12px;}
.compact-document .table td,.compact-document .table th{font-size:12px;padding:10px 9px;}
.receipt-a4{min-height:220mm;}

.monthly-report-print{
  max-width:210mm;width:210mm;margin:18px auto;padding:12mm;
}
.monthly-report-print .table th,.monthly-report-print .table td{padding:6px 5px;font-size:9.5px;}

@media print{
  @page{size:A4 portrait;margin:9mm 10mm 10mm;}
  html,body{background:#fff!important;}
  body{-webkit-print-color-adjust:exact;print-color-adjust:exact;}

  .invoice-a4,.compact-document{
    width:100%!important;max-width:none!important;min-height:275mm!important;
    margin:0!important;padding:4mm 4mm 3mm!important;
    border:0!important;box-shadow:none!important;border-radius:0!important;
  }
  .invoice-a4{font-size:11.2px!important;line-height:1.34!important;}
  .invoice-a4 .doc-logo,.compact-document .doc-logo{width:40mm!important;max-height:20mm!important;}
  .invoice-a4 .doc-head,.compact-document .doc-head{padding-bottom:8px!important;margin-bottom:10px!important;}
  .invoice-a4 .doc-title h2{font-size:17px!important;}
  .invoice-a4 .doc-meta{margin:10px 0 12px!important;gap:7px!important;}
  .invoice-a4 .doc-box{min-height:53px!important;padding:8px 9px!important;font-size:10.5px!important;}
  .invoice-a4>.table th,.invoice-a4>.table td{padding:6px 5px!important;font-size:9.7px!important;}
  .invoice-a4 .terms-block{margin-top:14px!important;padding-top:9px!important;}
  .invoice-a4 .terms-block h3{font-size:11.5px!important;margin:0 0 4px!important;}
  .invoice-a4 .terms-columns{
    grid-template-columns:1fr 1fr!important;gap:20px!important;
    font-size:8.7px!important;line-height:1.38!important;
  }
  .invoice-a4 .terms-columns ol{margin:3px 0!important;}
  .invoice-a4 .terms-columns li{margin-bottom:1.5px!important;}
  .invoice-a4 .sign{margin-top:14px!important;padding-top:10px!important;min-height:58px!important;}
  .invoice-a4 .doc-total{font-size:14px!important;}
  .confirmation-a4 .doc-note{font-size:9px!important;margin-top:12px!important;}

  .compact-document{font-size:12px!important;padding:8mm 7mm!important;}
  .compact-document .doc-title h2{font-size:19px!important;}
  .compact-document .doc-meta{margin:14px 0!important;}
  .compact-document .doc-box{padding:10px!important;}
  .compact-document .table td,.compact-document .table th{font-size:11px!important;padding:9px 8px!important;}

  .monthly-report-print{
    width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
    border:0!important;box-shadow:none!important;font-size:9px!important;
  }
  .monthly-report-print .doc-logo{width:34mm!important;max-height:18mm!important;}
  .monthly-report-print .doc-head{margin-bottom:7px!important;padding-bottom:7px!important;}
  .monthly-report-print .cards{gap:5px!important;margin:7px 0 9px!important;}
  .monthly-report-print .card{padding:6px!important;border-radius:6px!important;}
  .monthly-report-print .metric{font-size:12px!important;margin-top:2px!important;}
  .monthly-report-print .section-title{margin:9px 0 4px!important;font-size:9px!important;}
  .monthly-report-print h3{font-size:9px!important;margin:7px 0 3px!important;}
  .monthly-report-print .table{width:100%!important;table-layout:auto!important;}
  .monthly-report-print .table th,.monthly-report-print .table td{font-size:7.2px!important;padding:3px 2.5px!important;line-height:1.2!important;}
  .monthly-report-print tr{break-inside:avoid;page-break-inside:avoid;}

  @page annual-report{size:A4 landscape;margin:8mm;}
  .annual-financial-document{page:annual-report;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;}
  .annual-financial-document .annual-summary-grid{grid-template-columns:repeat(4,1fr)!important;gap:4px!important;margin:6px 0 7px!important;}
  .annual-financial-document .annual-summary-card{padding:5px 6px!important;}
  .annual-financial-document .annual-summary-card span{font-size:6.5px!important;}
  .annual-financial-document .annual-summary-card strong{font-size:8.5px!important;}
  .annual-financial-document .annual-financial-table{width:100%!important;min-width:0!important;table-layout:fixed!important;font-size:6.4px!important;}
  .annual-financial-document .annual-financial-table th,.annual-financial-document .annual-financial-table td{padding:3px 2px!important;font-size:6.2px!important;line-height:1.15!important;white-space:normal!important;}
  .annual-financial-document .annual-accounting-note{font-size:6.5px!important;margin-top:6px!important;padding:5px!important;}

  .official-print-footer{position:fixed!important;right:0!important;bottom:0!important;font-size:6.5px!important;margin:0!important;padding:0!important;border:0!important;}
}


/* V2.32 — Invoice A4 one-page final override */
.invoice-totals{
  width:54%;
  max-width:none;
  margin:22px 0 0 auto;
}
.invoice-totals .table td:first-child{width:72%;}
.invoice-totals .table td:last-child{text-align:right;white-space:nowrap;}

@media print{
  @page{size:A4 portrait;margin:8mm 9mm 9mm;}

  .invoice-a4{
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:1mm 2mm!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
    font-size:11.7px!important;
    line-height:1.36!important;
    overflow:visible!important;
  }

  .invoice-a4 .doc-head{
    min-height:27mm!important;
    padding:0 0 3.2mm!important;
    margin:0 0 3.4mm!important;
    align-items:flex-start!important;
  }
  .invoice-a4 .doc-logo{
    width:45mm!important;
    max-width:45mm!important;
    height:auto!important;
    max-height:22mm!important;
  }
  .invoice-a4 .doc-head>div:first-child{
    font-size:9.8px!important;
    line-height:1.3!important;
  }
  .invoice-a4 .doc-title{font-size:10.5px!important;}
  .invoice-a4 .doc-title h2{
    font-size:17.5px!important;
    line-height:1.1!important;
    margin:0 0 1.7mm!important;
  }

  .invoice-a4 .doc-meta{
    margin:3.2mm 0 4mm!important;
    gap:2mm!important;
  }
  .invoice-a4 .doc-box{
    min-height:15.5mm!important;
    padding:2.5mm 3mm!important;
    font-size:10.7px!important;
    line-height:1.34!important;
  }

  .invoice-a4>.table{
    margin:0 0 2.3mm!important;
    table-layout:fixed!important;
  }
  .invoice-a4>.table th{
    padding:1.8mm 1.5mm!important;
    font-size:9.8px!important;
    line-height:1.2!important;
    white-space:normal!important;
  }
  .invoice-a4>.table td{
    padding:1.65mm 1.5mm!important;
    font-size:10.1px!important;
    line-height:1.22!important;
  }

  .invoice-a4 .invoice-totals{
    width:54%!important;
    max-width:none!important;
    margin:4mm 0 0 auto!important;
  }
  .invoice-a4 .invoice-totals .table td{
    padding:1.55mm 1.8mm!important;
    font-size:10.1px!important;
    line-height:1.18!important;
  }
  .invoice-a4 .invoice-totals .doc-total{
    font-size:12.4px!important;
  }

  .invoice-a4 .terms-block{
    margin:5mm 0 0!important;
    padding:2.8mm 0 0!important;
  }
  .invoice-a4 .terms-block h3{
    font-size:11.5px!important;
    margin:0 0 1.4mm!important;
  }
  .invoice-a4 .terms-columns{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:5.5mm!important;
    font-size:8.6px!important;
    line-height:1.30!important;
  }
  .invoice-a4 .terms-columns ol{
    margin:0.5mm 0 0!important;
    padding-left:4.5mm!important;
  }
  .invoice-a4 .terms-columns .rtl ol{
    padding-left:0!important;
    padding-right:4.5mm!important;
  }
  .invoice-a4 .terms-columns li{
    margin:0 0 .75mm!important;
  }

  .invoice-a4 .sign{
    margin:5mm 0 0!important;
    padding:3mm 0 0!important;
    min-height:18mm!important;
    font-size:10.5px!important;
    line-height:1.35!important;
  }
  .invoice-a4 .no-print{display:none!important;}
}

/* V2.33 - server-generated PDF: bypasses browser print scaling */
.invoice-actions{display:flex;gap:8px;margin-top:12px}
.invoice-pdf-direct{
  width:192mm!important;max-width:192mm!important;min-height:0!important;
  margin:0!important;padding:3mm 4mm 2mm!important;box-shadow:none!important;
  border:0!important;border-radius:0!important;font-size:9pt!important;line-height:1.28!important
}
.invoice-pdf-direct .doc-head{margin:0 0 3mm!important;padding:0 0 3mm!important;min-height:22mm!important}
.invoice-pdf-direct .doc-logo{width:42mm!important;max-width:42mm!important;max-height:20mm!important}
.invoice-pdf-direct .doc-head>div:first-child{font-size:7.3pt!important;line-height:1.25!important}
.invoice-pdf-direct .doc-title h2{font-size:14pt!important;line-height:1.05!important;margin:0 0 1.5mm!important}
.invoice-pdf-direct .doc-title{font-size:7.8pt!important}
.invoice-pdf-direct .doc-meta{margin:3mm 0 3.5mm!important;gap:2mm!important}
.invoice-pdf-direct .doc-box{min-height:13mm!important;padding:2.2mm 2.6mm!important;font-size:8pt!important;line-height:1.25!important}
.invoice-pdf-direct>.table{margin:0 0 2mm!important;table-layout:fixed!important}
.invoice-pdf-direct>.table th{padding:1.4mm 1.3mm!important;font-size:7.2pt!important;line-height:1.15!important}
.invoice-pdf-direct>.table td{padding:1.35mm 1.3mm!important;font-size:7.6pt!important;line-height:1.18!important}
.invoice-pdf-direct .invoice-totals{width:55%!important;margin:3mm 0 0 auto!important}
.invoice-pdf-direct .invoice-totals .table td{padding:1.2mm 1.5mm!important;font-size:7.6pt!important;line-height:1.15!important}
.invoice-pdf-direct .invoice-totals .doc-total{font-size:9pt!important}
.invoice-pdf-direct .terms-block{margin:3.5mm 0 0!important;padding:2.2mm 0 0!important}
.invoice-pdf-direct .terms-block h3{font-size:8.5pt!important;margin:0 0 1.2mm!important}
.invoice-pdf-direct .terms-columns{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5mm!important;font-size:6.5pt!important;line-height:1.22!important}
.invoice-pdf-direct .terms-columns ol{margin:.4mm 0 0!important;padding-left:4mm!important}
.invoice-pdf-direct .terms-columns .rtl ol{padding-left:0!important;padding-right:4mm!important}
.invoice-pdf-direct .terms-columns li{margin:0 0 .45mm!important}
.invoice-pdf-direct .sign{margin:3.5mm 0 0!important;padding:2mm 0 0!important;min-height:14mm!important;font-size:7.5pt!important;line-height:1.25!important}


/* V2.34 — official PDF print clarity */
.invoice-pdf-direct>.table th{font-size:8pt!important;font-weight:700!important;}
.invoice-pdf-direct>.table td{font-size:8.6pt!important;font-weight:500!important;}
.invoice-pdf-direct>.table td:last-child{font-weight:800!important;}
.invoice-pdf-direct .invoice-totals .table td{font-size:8.6pt!important;}
.invoice-pdf-direct .invoice-totals .table td:last-child{font-weight:800!important;}
.invoice-pdf-direct .invoice-totals .doc-total{font-size:10pt!important;font-weight:800!important;}
.invoice-pdf-direct .doc-box{font-size:8.8pt!important;}
.invoice-pdf-direct .terms-columns{font-size:6.7pt!important;}


/* V2.37 — Approval edit mode */
.approval-edit-form{
  margin-top:14px;
  padding:16px;
  border:1px solid rgba(168,132,62,.30);
  border-radius:14px;
  background:#fbf7ed;
}
.approval-edit-form[hidden],
.approval-reject-box[hidden]{
  display:none!important;
}
.approval-edit-form .form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.approval-edit-form .field.full{grid-column:1/-1;}
.approval-readonly-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:14px;
}
@media(max-width:800px){
  .approval-edit-form .form-grid{grid-template-columns:1fr;}
  .approval-edit-form .field.full{grid-column:auto;}
}
