@import 'tailwindcss';
:root{--forest:#0A1916;--forest2:#10241F;--forest3:#17342D;--gold:#D4A860;--gold2:#F1C678;--muted:#AA8D58;--ivory:#F7F2E8;--ink:#17231f;--line:#d8ded9;--danger:#b84444;--success:#2b7a5b;--shadow:0 18px 45px rgba(8,25,21,.10)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Calibri,Arial,sans-serif;background:#f4f6f3;color:var(--ink);font-size:16px}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--forest),#07120f);color:#fff;padding:24px 16px;overflow:auto;z-index:30}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 24px;border-bottom:1px solid rgba(212,168,96,.2)}.brand img{width:54px;height:54px;border-radius:14px;object-fit:cover}.brand-title{font-size:18px;font-weight:700;letter-spacing:.02em}.brand-sub{font-size:12px;color:#c8d1cd;margin-top:2px}.nav-group{margin-top:24px}.nav-label{padding:0 12px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#80968f}.nav-link{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:10px;color:#d9e1dd;margin:3px 0;font-size:14px}.nav-link:hover,.nav-link.active{background:rgba(212,168,96,.12);color:var(--gold2)}.nav-dot{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.8}.main{min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid #e4e9e6;display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:20}.mobile-toggle{display:none;border:0;background:transparent;font-size:24px}.topbar-title{font-weight:700;color:var(--forest);font-size:18px}.userbox{display:flex;align-items:center;gap:12px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--forest2);color:var(--gold2);font-weight:700}.content{padding:28px 30px 46px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.page-title{margin:0;color:var(--forest);font-size:28px;line-height:1.1}.page-sub{color:#687770;margin-top:6px;font-size:14px}.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#fff;border:1px solid #e3e8e5;border-radius:16px;box-shadow:var(--shadow);padding:20px}.card-title{margin:0 0 16px;font-size:16px;color:var(--forest)}.metric{padding:18px 20px}.metric-label{font-size:13px;color:#708078}.metric-value{font-size:30px;font-weight:700;color:var(--forest);margin-top:8px}.metric-note{font-size:12px;color:#89958f;margin-top:5px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 15px;border-radius:9px;border:1px solid transparent;cursor:pointer;font-weight:700;font-size:14px}.btn-primary{background:var(--forest2);color:#fff}.btn-primary:hover{background:#173d34}.btn-gold{background:var(--gold);color:#1d211d}.btn-outline{background:#fff;border-color:#cad3ce;color:var(--forest)}.btn-danger{background:#fff2f2;border-color:#f1c5c5;color:#9c3030}.btn-sm{min-height:32px;padding:6px 10px;font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:700;color:#44534d}.input,.select,.textarea{width:100%;border:1px solid #cfd8d3;border-radius:9px;background:#fff;padding:10px 12px;color:#14231e;outline:none;min-height:42px}.textarea{min-height:100px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,168,96,.14)}.help{font-size:12px;color:#7c8983}.error{color:#a83b3b;font-size:12px}.table-wrap{overflow:auto;border:1px solid #e1e7e3;border-radius:12px}.table{width:100%;border-collapse:collapse;min-width:720px}.table th{background:#f6f8f6;padding:11px 14px;text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#63716b;white-space:nowrap}.table td{padding:13px 14px;border-top:1px solid #edf0ee;font-size:14px;vertical-align:middle}.table tr:hover td{background:#fbfcfb}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700;text-transform:capitalize}.badge-green{background:#e9f6ef;color:#25684e}.badge-gold{background:#fff5df;color:#88631e}.badge-red{background:#fff0f0;color:#9d3838}.badge-gray{background:#eef1ef;color:#64726b}.badge-blue{background:#ecf3ff;color:#345f9d}.alert{padding:12px 14px;border-radius:10px;margin-bottom:16px;font-size:14px}.alert-success{background:#eaf7f0;color:#225f47;border:1px solid #cce9d9}.alert-error{background:#fff1f1;color:#8c3030;border:1px solid #efcece}.money{font-variant-numeric:tabular-nums;font-weight:700}.muted{color:#738079}.split{display:flex;align-items:center;justify-content:space-between;gap:12px}.stack{display:flex;flex-direction:column;gap:14px}.calendar-wrap{overflow:auto;border-radius:14px;border:1px solid #dfe5e1;background:#fff}.calendar-grid{display:grid;min-width:1100px}.cal-head,.cal-row{display:grid;grid-template-columns:190px repeat(var(--days),minmax(34px,1fr));position:relative}.cal-head>div{font-size:11px;text-align:center;padding:9px 2px;background:#f5f7f5;border-left:1px solid #e5eae7}.cal-unit{padding:10px 12px;font-weight:700;background:#fff;border-top:1px solid #e8ece9;position:sticky;left:0;z-index:3}.cal-cell{height:48px;border-left:1px solid #eef1ef;border-top:1px solid #eef1ef}.cal-event{height:30px;margin-top:9px;border-radius:7px;background:var(--forest2);color:#fff;padding:7px 8px;font-size:11px;white-space:nowrap;overflow:hidden;z-index:4}.cal-block{background:#976b38}.login-page{min-height:100vh;background:radial-gradient(circle at 30% 10%,#17342d 0,var(--forest) 38%,#06100d 100%);display:grid;place-items:center;padding:24px}.login-card{width:min(440px,100%);background:rgba(255,255,255,.98);border-radius:22px;padding:32px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.login-logo{width:128px;height:128px;object-fit:cover;border-radius:24px;margin:0 auto 18px;display:block}.login-title{text-align:center;font-size:25px;color:var(--forest);margin:0}.login-sub{text-align:center;color:#748078;margin:6px 0 24px}.section-title{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#758179;margin:6px 0}.kpi-strip{display:flex;gap:12px;flex-wrap:wrap}.kpi-pill{background:#f7f9f7;border:1px solid #e1e6e3;padding:8px 11px;border-radius:9px;font-size:13px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mobile-overlay{display:none}.empty{padding:36px;text-align:center;color:#7d8a84}.tabs{display:flex;gap:8px;border-bottom:1px solid #e2e7e4;margin-bottom:18px}.tab{padding:10px 12px;font-weight:700;font-size:13px;color:#718078}.tab.active{color:var(--forest);border-bottom:2px solid var(--gold)}
@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.app-shell{display:block}.sidebar{position:fixed;left:-280px;width:260px;transition:.2s}.sidebar.open{left:0}.mobile-overlay.open{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:25}.mobile-toggle{display:block}.topbar{padding:0 16px}.content{padding:20px 16px 36px}.page-head{align-items:flex-start;flex-direction:column}.grid-4,.grid-3,.grid-2,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.page-title{font-size:24px}.user-name{display:none}.card{padding:16px}}
@media(max-width:480px){.grid-4{grid-template-columns:1fr}.metric-value{font-size:26px}.login-card{padding:24px 20px}.content{padding:16px 12px}.actions .btn{flex:1}}

/* The Inaaya UI Patch v1.0.4 */
.page-container{width:min(1180px,100%);margin:0 auto}.page-container-wide{width:min(1460px,100%)}.page-container-fluid{width:100%;max-width:none}.page-head-center{align-items:center}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.15em;color:var(--muted);margin-bottom:7px}.stack-lg{display:flex;flex-direction:column;gap:20px}.btn-block{display:flex;width:100%}.btn-ghost{background:transparent;border-color:transparent;color:#65756e}.btn-ghost:hover{background:#f4f6f4;color:var(--forest)}.card-flush{background:#fff;border:1px solid #e3e8e5;border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.input-sm{min-height:36px;padding:8px 10px;font-size:13px}.textarea-lg{min-height:132px}.side-divider{height:1px;background:#e8ece9;margin:4px 0}.side-panel-title{font-size:13px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#60716a;margin-bottom:14px}.pagination-wrap{margin-top:22px}.table-action-cell{text-align:right}.empty-state-card{text-align:center;padding:64px 24px}.empty-state-card h2{margin:8px 0 5px;color:var(--forest)}.empty-state-card p{margin:0 auto 20px;color:#718078;max-width:480px}.empty-state-icon{width:56px;height:56px;border-radius:18px;background:#f5efe2;color:#a8782e;display:grid;place-items:center;margin:0 auto;font-size:27px}

/* Accommodation editor */
.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px;align-items:start}.editor-main{min-width:0}.editor-side{min-width:0}.sticky-panel{position:sticky;top:94px;display:flex;flex-direction:column;gap:14px}.form-section{padding:24px}.section-heading{display:flex;align-items:flex-start;gap:13px;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid #edf0ee}.section-heading.compact{padding-bottom:15px;margin-bottom:18px}.section-heading h2{margin:0;color:var(--forest);font-size:18px}.section-heading p{margin:4px 0 0;color:#78867f;font-size:13px}.section-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:10px;background:#f7f0e1;color:#9b702e;font-size:11px;font-weight:800}.form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.media-editor-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}.media-uploader{border:1px solid #e1e6e3;border-radius:14px;padding:16px;background:#fbfcfb}.media-uploader-cover{background:linear-gradient(180deg,#fff,#fbfaf7)}.media-label-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:13px}.media-label-row>div{display:flex;flex-direction:column;gap:3px}.media-label-row strong{font-size:14px;color:var(--forest)}.media-kicker{font-size:10px;font-weight:800;letter-spacing:.12em;color:#9c793f}.cover-preview-frame{aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:#eef2ef;position:relative;border:1px dashed #cbd4cf;margin-bottom:12px}.cover-preview-frame img{width:100%;height:100%;object-fit:cover;display:block}.cover-preview-frame img.is-empty{display:none}.image-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;color:#76857e;gap:4px}.image-placeholder strong{color:#52615b;font-size:14px}.image-placeholder span:last-child{font-size:11px;max-width:250px}.image-placeholder-icon{width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid #dbe2de;display:grid;place-items:center;color:var(--gold);font-size:21px;margin-bottom:4px}.file-drop{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;min-height:68px;border:1px dashed #c8d2cc;border-radius:11px;background:#fff;cursor:pointer;color:var(--forest);text-align:center;padding:10px}.file-drop:hover{border-color:var(--gold);background:#fffdf8}.file-drop input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.file-drop span{font-size:13px;font-weight:800}.file-drop small{font-size:11px;color:#829089}.gallery-upload-preview{min-height:180px;border-radius:12px;border:1px dashed #d0d9d4;background:#f7f9f7;padding:9px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:12px}.gallery-upload-preview img{width:100%;height:78px;object-fit:cover;border-radius:8px}.gallery-empty{grid-column:1/-1;display:grid;place-items:center;text-align:center;min-height:140px;color:#8a9690;font-size:12px}.gallery-empty.large{min-height:180px;border:1px dashed #dbe1de;border-radius:12px;background:#fafbfa}.existing-gallery-head{display:flex;align-items:end;justify-content:space-between;margin-top:24px;margin-bottom:12px}.existing-gallery-head h3{margin:0;font-size:15px;color:var(--forest)}.existing-gallery-head p{margin:3px 0 0;color:#809088;font-size:12px}.existing-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.existing-image-card{border:1px solid #e1e7e3;border-radius:12px;overflow:hidden;background:#fff}.existing-image-card>img{width:100%;height:135px;object-fit:cover;display:block}.existing-image-controls{padding:10px;display:flex;flex-direction:column;gap:8px}.radio-line,.delete-line{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:#53635c}.delete-line{color:#9b4040}.amenity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.amenity-option{display:flex;align-items:center;gap:9px;min-height:46px;padding:10px 12px;border:1px solid #e0e6e2;border-radius:10px;background:#fafbfa;cursor:pointer;font-size:13px;font-weight:700;color:#50615a}.amenity-option:hover{border-color:#d5b776;background:#fffdf9}.amenity-option input{position:absolute;opacity:0}.amenity-check{width:22px;height:22px;border-radius:7px;background:#edf1ef;color:transparent;display:grid;place-items:center}.amenity-option:has(input:checked){border-color:#d8bb7c;background:#fffaf0;color:var(--forest)}.amenity-option:has(input:checked) .amenity-check{background:var(--forest2);color:var(--gold2)}

/* Accommodation inventory */
.accommodation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.accommodation-card{background:#fff;border:1px solid #e1e6e3;border-radius:16px;overflow:hidden;box-shadow:0 12px 34px rgba(8,25,21,.07);transition:transform .18s ease,box-shadow .18s ease}.accommodation-card:hover{transform:translateY(-2px);box-shadow:0 20px 42px rgba(8,25,21,.11)}.accommodation-thumb{display:block;position:relative;aspect-ratio:16/10;background:#edf1ef;overflow:hidden}.accommodation-thumb>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.accommodation-card:hover .accommodation-thumb>img{transform:scale(1.025)}.thumb-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#10241f,#17342d);color:#fff}.thumb-placeholder span{font-size:10px;letter-spacing:.2em;color:var(--gold2)}.thumb-placeholder strong{margin-top:5px;font-size:13px;font-weight:600}.thumb-badges{position:absolute;top:12px;right:12px;display:flex;gap:6px}.accommodation-card-body{padding:17px}.unit-type{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#a37b3e}.accommodation-card h2{font-size:20px;margin:4px 0 2px;color:var(--forest)}.unit-code{font-size:12px;color:#829089}.unit-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px 0;margin-top:12px;border-top:1px solid #edf0ee;border-bottom:1px solid #edf0ee}.unit-meta span{display:flex;flex-direction:column;font-size:11px;color:#7b8982}.unit-meta strong{font-size:15px;color:#3e5048}.accommodation-card-actions{display:flex;gap:7px;margin-top:14px}.accommodation-card-actions .btn{flex:1}

/* Accommodation preview */
.accommodation-hero-image{height:min(520px,48vw);min-height:340px;position:relative;background:#10241f}.accommodation-hero-image>img{width:100%;height:100%;object-fit:cover;display:block}.hero-placeholder{height:100%;display:grid;place-items:center;color:#c7d0cc}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,18,15,.08) 35%,rgba(7,18,15,.85) 100%)}.hero-copy{position:absolute;left:28px;right:28px;bottom:26px;color:#fff}.hero-copy h2{font-size:36px;margin:8px 0}.hero-badges,.hero-meta{display:flex;gap:8px;flex-wrap:wrap}.hero-badges span{font-size:10px;font-weight:800;letter-spacing:.12em;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.15);backdrop-filter:blur(6px)}.hero-meta span{font-size:13px;color:#e8efec}.hero-meta span+span:before{content:'•';margin-right:8px;color:var(--gold2)}.preview-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;margin-top:20px;align-items:start}.preview-description{white-space:pre-line;line-height:1.75;color:#4f6159}.amenity-display{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.amenity-display span{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;background:#f7f9f7;border:1px solid #e3e8e5;font-size:13px}.amenity-display i{font-style:normal;color:#9b732f;font-weight:800}.preview-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.preview-gallery-item{border:0;background:#edf1ef;padding:0;border-radius:11px;overflow:hidden;position:relative;cursor:pointer;min-height:150px}.preview-gallery-item img{width:100%;height:170px;object-fit:cover;display:block;transition:transform .2s ease}.preview-gallery-item:hover img{transform:scale(1.03)}.preview-gallery-item>span{position:absolute;top:8px;left:8px;background:var(--gold);color:#17231f;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:800}.preview-gallery-item>small{position:absolute;left:8px;right:8px;bottom:8px;background:rgba(7,18,15,.75);color:#fff;border-radius:7px;padding:6px 7px;text-align:left}.preview-facts dl{margin:0 0 16px}.preview-facts dl>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf0ee}.preview-facts dt{font-size:12px;color:#7b8982}.preview-facts dd{margin:0;font-size:13px;font-weight:700;color:#41534b}.preview-facts .btn+.btn{margin-top:8px}.upcoming-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #edf0ee}.upcoming-row>div{display:flex;flex-direction:column;gap:2px}.upcoming-row strong{font-size:13px;color:var(--forest)}.upcoming-row span:not(.badge){font-size:11px;color:#7f8d86}.image-lightbox{width:min(1000px,92vw);border:0;border-radius:16px;padding:12px;background:#0a1411;color:#fff;box-shadow:0 30px 90px rgba(0,0,0,.45)}.image-lightbox::backdrop{background:rgba(3,10,8,.82)}.image-lightbox img{display:block;width:100%;max-height:78vh;object-fit:contain;border-radius:10px}.lightbox-close{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;font-size:25px;cursor:pointer}.lightbox-caption{padding:10px 4px 2px;color:#dbe4e0;font-size:13px}

/* Professional PMS calendar */
.calendar-page{display:flex;flex-direction:column;gap:16px}.calendar-page .page-head{margin-bottom:0}.calendar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.calendar-nav,.calendar-view-switch{display:flex;gap:6px}.calendar-summary-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.calendar-range-card{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e1e7e3;border-radius:12px;padding:10px 13px;white-space:nowrap}.calendar-range-card strong{font-size:13px;color:var(--forest)}.calendar-range-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8a9791}.calendar-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:#687770;font-size:12px}.calendar-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:9px;height:9px;border-radius:3px;display:inline-block}.legend-dot.booking{background:var(--forest2)}.legend-dot.block{background:#a37538}.legend-dot.maintenance{background:#a44949}.legend-dot.today{background:var(--gold)}.block-panel{position:relative}.block-panel>summary{list-style:none}.block-panel>summary::-webkit-details-marker{display:none}.block-panel-form{position:absolute;right:0;top:48px;z-index:40;width:360px;background:#fff;border:1px solid #dde4df;border-radius:14px;box-shadow:0 24px 60px rgba(8,25,21,.18);padding:16px;display:flex;flex-direction:column;gap:12px}.professional-calendar{border-radius:14px;box-shadow:0 12px 36px rgba(8,25,21,.06)}.professional-calendar .calendar-grid{display:block;min-width:max(100%,calc(230px + var(--days) * 72px))}.professional-calendar .cal-head,.professional-calendar .cal-row{grid-template-columns:230px repeat(var(--days),minmax(72px,1fr))}.professional-calendar .cal-head{position:sticky;top:0;z-index:10}.cal-head-unit{position:sticky;left:0;z-index:13!important;text-align:left!important;padding:13px 14px!important;background:#f3f6f4!important;color:#52625b!important;font-weight:800}.cal-date{min-height:58px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;background:#f6f8f6!important;padding:7px 2px!important}.cal-date span{font-size:10px;text-transform:uppercase;color:#84918b}.cal-date strong{font-size:15px;color:#405149}.cal-date small{font-size:9px;color:#96a19c}.cal-unit{height:58px;display:flex;justify-content:center;flex-direction:column;padding:8px 13px!important;border-right:1px solid #e4e9e6}.cal-unit-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--forest)}.cal-unit-meta{font-size:10px;color:#87948e;margin-top:2px;font-weight:400}.professional-calendar .cal-cell{height:58px}.cal-weekend{background:#faf8f3!important}.cal-today{background:#fff8e9!important;box-shadow:inset 2px 0 0 rgba(212,168,96,.55),inset -2px 0 0 rgba(212,168,96,.55)}.professional-calendar .cal-event{height:34px;margin-top:12px;border-radius:8px;padding:9px 9px;font-size:10px;font-weight:800;letter-spacing:.02em;box-shadow:0 3px 8px rgba(8,25,21,.14)}.cal-booking{background:linear-gradient(90deg,var(--forest2),#1d493d)}.cal-block{background:linear-gradient(90deg,#936932,#b38342)}.cal-maintenance{background:linear-gradient(90deg,#8d3b3b,#b55050)}.calendar-empty-state{padding:45px;text-align:center;color:#829089}.manual-block-card{margin-top:2px;box-shadow:none}.block-list-head{margin-bottom:14px}.block-list-head .card-title{margin:0}.professional-calendar::-webkit-scrollbar{height:10px}.professional-calendar::-webkit-scrollbar-thumb{background:#c7d0cb;border-radius:999px}.professional-calendar::-webkit-scrollbar-track{background:#f1f4f2}

@media(max-width:1280px){.accommodation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.existing-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.amenity-display{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.editor-layout,.preview-layout{grid-template-columns:1fr}.sticky-panel{position:static}.media-editor-grid{grid-template-columns:1fr}.editor-side{order:-1}.editor-side .sticky-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.editor-side .side-panel-title,.editor-side .side-divider{grid-column:1/-1}.editor-side .btn{width:auto}.calendar-summary-row{grid-template-columns:1fr auto}.calendar-legend{grid-column:1/-1;grid-row:2}}
@media(max-width:820px){.page-head-center{align-items:flex-start}.accommodation-grid{grid-template-columns:1fr}.existing-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.amenity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.accommodation-hero-image{height:420px}.hero-copy{left:18px;right:18px;bottom:18px}.hero-copy h2{font-size:30px}.calendar-toolbar{gap:12px}.calendar-actions{width:100%;justify-content:space-between}.calendar-summary-row{display:flex;align-items:stretch;flex-direction:column}.block-panel{align-self:flex-start}.block-panel-form{position:fixed;left:16px;right:16px;top:90px;width:auto}.calendar-range-card{white-space:normal}.editor-side .sticky-panel{grid-template-columns:1fr}.editor-side .side-panel-title,.editor-side .side-divider{grid-column:auto}}
@media(max-width:560px){.form-grid-4{grid-template-columns:1fr}.existing-gallery{grid-template-columns:1fr}.amenity-grid,.amenity-display{grid-template-columns:1fr}.gallery-upload-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-gallery{grid-template-columns:1fr}.preview-gallery-item img{height:210px}.unit-meta{grid-template-columns:repeat(3,1fr)}.accommodation-card-actions{flex-wrap:wrap}.accommodation-card-actions .btn{flex:1 0 40%}.calendar-actions{align-items:stretch;flex-direction:column}.calendar-nav,.calendar-view-switch{width:100%}.calendar-view-switch .btn{flex:1}.hero-meta{gap:4px 8px}.hero-meta span+span:before{display:none}}

/* Calendar V2 — month grid with continuous multi-day booking bars */
.calendar-v2-page{display:flex;flex-direction:column;gap:16px}.calendar-v2-head{align-items:center;margin-bottom:0}.calendar-v2-actions{display:flex;align-items:center;gap:10px}.calendar-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.calendar-kpi{background:#fff;border:1px solid #e2e8e4;border-radius:14px;padding:14px 16px;box-shadow:0 8px 24px rgba(8,25,21,.05);display:flex;align-items:center;justify-content:space-between;gap:14px}.calendar-kpi span{font-size:12px;color:#75827c}.calendar-kpi strong{font-size:22px;color:var(--forest);font-variant-numeric:tabular-nums}.month-calendar-card{background:#fff;border:1px solid #dfe6e2;border-radius:18px;box-shadow:0 16px 42px rgba(8,25,21,.07);overflow:hidden}.month-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid #e6ebe8;background:linear-gradient(180deg,#fff,#fbfcfb)}.month-nav-group{display:flex;align-items:center;gap:14px}.month-nav-button{width:36px;height:36px;border-radius:10px;border:1px solid #d6ded9;display:grid;place-items:center;background:#fff;color:var(--forest);font-size:18px;font-weight:700}.month-nav-button:hover{border-color:var(--gold);background:#fff9ed}.month-title-wrap{display:flex;align-items:baseline;gap:12px;min-width:220px;justify-content:center}.month-title{font-size:23px;font-weight:700;letter-spacing:.18em;color:var(--forest)}.month-year{font-size:18px;font-weight:700;letter-spacing:.12em;color:#596760}.month-toolbar-right{display:flex;align-items:center;gap:16px}.calendar-v2-legend{font-size:11px;gap:10px}.legend-dot.pending{background:#d68b37}.legend-dot.checkedin{background:#2b7a5b}.month-calendar-grid{width:100%;overflow:hidden}.month-weekday-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#f3f5f3;border-bottom:1px solid #dfe5e1}.month-weekday-row>div{text-align:center;padding:11px 5px;font-size:10px;font-weight:800;letter-spacing:.09em;color:#68766f;border-right:1px solid #e2e7e4}.month-weekday-row>div:last-child{border-right:0}.month-week{position:relative;min-height:max(132px,calc(76px + var(--lanes) * 30px));border-bottom:1px solid #dfe5e1}.month-week:last-child{border-bottom:0}.month-week-days{position:absolute;inset:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-day-cell{appearance:none;border:0;border-right:1px solid #e3e8e5;background:#fff;text-align:left;padding:10px 11px;position:relative;cursor:pointer;color:#28362f;min-width:0}.month-day-cell:last-child{border-right:0}.month-day-cell:hover{background:#fbf8ef}.month-day-cell.outside-month{background:#f8faf8;color:#a1aba6}.month-day-cell.is-today{background:#fff8e7;box-shadow:inset 0 3px 0 var(--gold)}.month-day-number{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;font-size:13px;font-weight:700;position:relative;z-index:2}.month-day-cell.is-today .month-day-number{background:var(--gold);color:#1d241f}.today-label{font-size:9px;color:#9a6d25;font-weight:700;margin-left:3px;text-transform:uppercase;letter-spacing:.05em}.month-week-events{position:absolute;left:0;right:0;top:43px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(var(--lanes),24px);grid-auto-flow:row;row-gap:5px;pointer-events:none;padding-bottom:8px}.month-booking-bar{height:24px;margin:0 3px;border:0;border-radius:7px;padding:0 7px;display:flex;align-items:center;gap:4px;min-width:0;pointer-events:auto;cursor:pointer;color:#fff;font:inherit;font-size:10px;font-weight:700;box-shadow:0 2px 7px rgba(8,25,21,.14);position:relative;z-index:4}.month-booking-bar:hover{filter:brightness(1.06);transform:translateY(-1px)}.month-booking-bar.continues-before{border-top-left-radius:2px;border-bottom-left-radius:2px;margin-left:0}.month-booking-bar.continues-after{border-top-right-radius:2px;border-bottom-right-radius:2px;margin-right:0}.month-booking-bar.status-confirmed{background:linear-gradient(90deg,#183e35,#235a4c)}.month-booking-bar.status-pending{background:linear-gradient(90deg,#bd7629,#da983e)}.month-booking-bar.status-checkedin{background:linear-gradient(90deg,#22664d,#2f8a67)}.month-booking-bar.status-checkedout{background:linear-gradient(90deg,#78847e,#919b96)}.month-booking-bar.status-draft{background:linear-gradient(90deg,#68766f,#7f8c86)}.month-booking-bar.status-block{background:linear-gradient(90deg,#936932,#b38342)}.month-booking-bar.status-maintenance{background:linear-gradient(90deg,#8d3b3b,#b55050)}.month-block-bar{cursor:default;pointer-events:none}.month-block-bar:hover{filter:none;transform:none}.bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.bar-edge{flex:0 0 auto;font-size:9px;opacity:.9}.month-block-list-card{box-shadow:none}.calendar-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:24px;z-index:100}.calendar-modal.is-open{display:flex}.calendar-modal-backdrop{position:absolute;inset:0;background:rgba(4,15,12,.58);backdrop-filter:blur(3px)}.calendar-modal-card{position:relative;z-index:1;width:min(650px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:20px;border:1px solid rgba(255,255,255,.5);box-shadow:0 30px 90px rgba(0,0,0,.28);padding:24px}.calendar-modal-close{position:absolute;right:16px;top:14px;width:34px;height:34px;border-radius:50%;border:1px solid #dbe2de;background:#fff;color:#5b6962;font-size:22px;line-height:1;cursor:pointer}.calendar-modal-title{font-size:25px;color:var(--forest);margin:5px 0 0}.calendar-modal-sub{color:#718079;margin-top:4px}.booking-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-right:40px}.booking-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.modal-info-block{background:#f6f8f6;border:1px solid #e2e8e4;border-radius:12px;padding:12px}.modal-info-block span,.modal-info-block small{display:block;color:#7b8882;font-size:11px}.modal-info-block strong{display:block;color:var(--forest);font-size:14px;margin:4px 0}.booking-payment-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e2e8e4;border-radius:12px;overflow:hidden;margin-top:14px}.booking-payment-strip>div{padding:13px 14px;border-right:1px solid #e2e8e4}.booking-payment-strip>div:last-child{border-right:0}.booking-payment-strip span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#7d8983}.booking-payment-strip strong{display:block;margin-top:4px;font-size:17px;color:var(--forest)}.calendar-modal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:20px}.day-modal-card{width:min(600px,100%)}.day-modal-items{display:flex;flex-direction:column;gap:8px;margin-top:18px;max-height:420px;overflow:auto}.day-modal-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid #e0e6e2;border-radius:11px;background:#fafbfa}.day-modal-item:hover{border-color:#b9c9c1;background:#f5f8f6}.day-modal-item.is-block{background:#fff9f0}.day-modal-item strong{display:block;font-size:13px;color:var(--forest)}.day-modal-item span:not(.day-item-arrow){display:block;font-size:11px;color:#79867f;margin-top:3px}.day-item-arrow{font-size:18px;color:var(--gold)}.day-modal-empty{padding:28px;text-align:center;border:1px dashed #d8e0db;border-radius:12px;color:#7d8983}.day-modal-actions{justify-content:flex-start}.modal-open{overflow:hidden}
@media(max-width:1050px){.calendar-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.month-calendar-toolbar{align-items:flex-start;flex-direction:column}.month-toolbar-right{width:100%;justify-content:space-between}.month-title-wrap{min-width:190px}}
@media(max-width:760px){.calendar-v2-head{align-items:flex-start}.calendar-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-kpi{padding:11px 12px}.calendar-kpi strong{font-size:18px}.month-calendar-card{border-radius:14px}.month-calendar-toolbar{padding:14px}.month-nav-group{width:100%;justify-content:space-between}.month-title-wrap{min-width:0}.month-title{font-size:18px;letter-spacing:.1em}.month-year{font-size:14px}.month-toolbar-right{align-items:flex-start;flex-direction:column}.calendar-v2-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.month-weekday-row>div{font-size:8px;padding:8px 1px}.month-week{min-height:max(110px,calc(66px + var(--lanes) * 25px))}.month-day-cell{padding:6px 4px}.month-day-number{width:22px;height:22px;font-size:11px}.today-label{display:none}.month-week-events{top:34px;grid-template-rows:repeat(var(--lanes),20px);row-gap:4px}.month-booking-bar{height:20px;padding:0 4px;font-size:8px;margin:0 1px}.booking-modal-grid{grid-template-columns:1fr}.booking-payment-strip{grid-template-columns:1fr}.booking-payment-strip>div{border-right:0;border-bottom:1px solid #e2e8e4}.booking-payment-strip>div:last-child{border-bottom:0}.calendar-modal{padding:12px}.calendar-modal-card{padding:20px 16px}.block-panel-form{top:76px}}
@media(max-width:480px){.calendar-kpis{grid-template-columns:1fr 1fr}.calendar-kpi{flex-direction:column;align-items:flex-start;gap:4px}.calendar-v2-legend{font-size:9px}.month-day-cell.outside-month .month-day-number{opacity:.45}.month-booking-bar .bar-label{max-width:100%}}

/* Dashboard + Reports V2 v1.0.6 */
.dashboard-v2,.reports-v2{display:flex;flex-direction:column;gap:18px}.dashboard-head,.report-head{margin-bottom:0;align-items:center}.dashboard-kpi-grid,.report-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dashboard-kpi{min-height:132px;box-shadow:0 10px 30px rgba(8,25,21,.06);position:relative;overflow:hidden}.dashboard-kpi:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#e7ece9}.dashboard-kpi.accent:after{background:var(--success)}.dashboard-kpi.warning:after{background:var(--gold)}.money-sm{font-size:24px;letter-spacing:-.02em}.dashboard-chart-grid,.report-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dashboard-insight-grid,.report-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.dashboard-bottom-grid{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(0,1.6fr);gap:18px}.chart-card,.insight-card,.operation-card,.upcoming-card{min-width:0}.chart-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}.chart-card-head .card-title{margin-bottom:0}.chart-kpi{font-size:12px;font-weight:700;color:#5f7068;background:#f5f7f5;border:1px solid #e5eae7;border-radius:999px;padding:6px 9px;white-space:nowrap}.text-link{font-size:12px;font-weight:700;color:#8e6828}.text-link:hover{color:var(--forest)}.report-chart{width:100%;min-height:230px;display:flex;align-items:center}.line-chart-svg{width:100%;height:auto;overflow:visible}.chart-grid-line{stroke:#e5ebe7;stroke-width:1}.chart-axis-label{font-family:Calibri,Arial,sans-serif;font-size:10px;fill:#7b8982}.chart-area{fill:rgba(212,168,96,.16)}.chart-line{fill:none;stroke:#173f35;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-empty{min-height:210px;width:100%;display:grid;place-items:center;text-align:center;color:#829089;background:linear-gradient(180deg,#fbfcfb,#f7f9f7);border:1px dashed #dce3df;border-radius:12px;padding:20px}.chart-empty.compact{min-height:90px}.donut-layout{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:center;min-height:205px}.donut-chart{width:146px;height:146px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(10,25,22,.06)}.donut-hole{width:86px;height:86px;border-radius:50%;background:#fff;display:grid;place-content:center;text-align:center;box-shadow:0 0 0 1px #eef2ef}.donut-hole strong{font-size:24px;color:var(--forest);line-height:1}.donut-hole span{font-size:10px;color:#7c8a83;margin-top:4px}.donut-legend{display:flex;flex-direction:column;gap:8px;min-width:0}.donut-legend-row{display:grid;grid-template-columns:9px minmax(0,1fr) auto auto;align-items:center;gap:7px;font-size:12px}.donut-swatch{width:8px;height:8px;border-radius:50%}.donut-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#53635c}.donut-legend-row strong{color:var(--forest)}.donut-legend-row small{min-width:44px;text-align:right;color:#8a9690}.hbar-list{display:flex;flex-direction:column;gap:13px}.hbar-row{display:flex;flex-direction:column;gap:6px}.hbar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.hbar-head span{color:#52625b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-head strong{color:var(--forest);white-space:nowrap}.hbar-track{height:8px;background:#edf1ef;border-radius:999px;overflow:hidden}.hbar-track span{display:block;height:100%;background:linear-gradient(90deg,var(--forest2),#2c6656 70%,var(--gold));border-radius:inherit;min-width:0}.operations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.operation-tile{display:flex;flex-direction:column;gap:3px;padding:15px;border:1px solid #e3e9e5;background:#fafbfa;border-radius:12px;transition:.15s}.operation-tile:hover{border-color:#c9d5cf;transform:translateY(-1px);box-shadow:0 8px 20px rgba(8,25,21,.06)}.operation-tile span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#7b8882}.operation-tile strong{font-size:25px;color:var(--forest)}.operation-tile small{color:#7c8882}.dashboard-table .table{min-width:760px}.table-sub{display:block;font-size:11px;color:#87938d;margin-top:2px;font-weight:400}.report-filter-card{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:16px 18px}.report-presets{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.preset-chip{display:inline-flex;padding:8px 10px;border:1px solid #dbe3de;border-radius:999px;background:#fff;color:#52625b;font-size:12px;font-weight:700}.preset-chip:hover{border-color:var(--gold);color:#8c672a;background:#fffaf0}.report-date-form{display:grid;grid-template-columns:150px 150px auto;gap:9px;align-items:end}.report-tabs{display:flex;gap:5px;overflow-x:auto;border-bottom:1px solid #dfe6e2;padding:0 2px}.report-tab{padding:11px 13px;font-size:13px;font-weight:700;color:#687870;border-bottom:3px solid transparent;white-space:nowrap}.report-tab:hover{color:var(--forest)}.report-tab.active{color:var(--forest);border-bottom-color:var(--gold)}.report-kpi{min-height:124px;box-shadow:0 8px 24px rgba(8,25,21,.055)}.comparison{margin-top:7px;font-size:11px;font-weight:700}.comparison.up{color:#247354}.comparison.down{color:#ad4848}.comparison.flat{color:#77857f}.report-table-card{padding:16px}.report-table-title{margin-bottom:12px}.report-detail-table{min-width:1100px}.report-subfilter{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) auto;gap:12px;align-items:end}.performance-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf0ee}.performance-row:last-child{border-bottom:0}.performance-row strong{display:block;color:var(--forest);font-size:13px}.performance-row small{display:block;color:#7d8a84;margin-top:2px}.performance-values{text-align:right}.performance-values span{display:block;color:#7c8983;font-size:11px;margin-top:3px}@media(max-width:1250px){.dashboard-kpi-grid,.report-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-insight-grid,.report-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-insight-grid> :last-child,.report-insight-grid> :last-child{grid-column:1/-1}.dashboard-bottom-grid{grid-template-columns:1fr}.report-filter-card{align-items:flex-start;flex-direction:column}.report-date-form{width:100%;grid-template-columns:1fr 1fr auto}}@media(max-width:850px){.dashboard-chart-grid,.report-chart-grid{grid-template-columns:1fr}.dashboard-insight-grid,.report-insight-grid{grid-template-columns:1fr}.dashboard-insight-grid> :last-child,.report-insight-grid> :last-child{grid-column:auto}.donut-layout{grid-template-columns:130px minmax(0,1fr)}.donut-chart{width:126px;height:126px}.report-date-form{grid-template-columns:1fr 1fr}.report-date-form .btn{grid-column:1/-1}.report-subfilter{grid-template-columns:1fr 1fr}.report-subfilter .btn{grid-column:1/-1}}@media(max-width:560px){.dashboard-kpi-grid,.report-kpi-grid{grid-template-columns:1fr}.dashboard-kpi,.report-kpi{min-height:auto}.operations-grid{grid-template-columns:1fr 1fr}.donut-layout{grid-template-columns:1fr;justify-items:center}.donut-chart{width:126px;height:126px}.donut-legend{width:100%}.report-date-form,.report-subfilter{grid-template-columns:1fr}.report-date-form .btn,.report-subfilter .btn{grid-column:auto}.report-filter-card{padding:14px}.chart-card-head{align-items:flex-start;flex-direction:column}.chart-kpi{white-space:normal}.report-chart{min-height:200px}.operations-grid{grid-template-columns:1fr}.money-sm{font-size:22px}}
.report-note{padding:13px 15px;border:1px solid #e4ddcf;background:#fffaf0;border-radius:12px;color:#6d6250;font-size:12px;line-height:1.5}.report-note strong{color:#7d5d27}
