:root{--bg: #071426;--bg-soft: #0d1d33;--panel: rgba(10, 27, 48, .88);--panel-soft: rgba(16, 39, 67, .78);--line: rgba(232, 194, 108, .18);--gold: #e8c26c;--gold-strong: #ffda8b;--text: #eef3fb;--muted: #99a8bf;--success: #58c18d;--warning: #ffad5c;--danger: #ff6f61;--shadow: 0 24px 80px rgba(3, 10, 20, .45);--radius: 22px;--radius-sm: 14px;--font-head: "Playfair Display", Georgia, serif;--font-body: "Inter", "Segoe UI", sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font-body);color:var(--text);background:radial-gradient(circle at top right,rgba(232,194,108,.18),transparent 24%),radial-gradient(circle at bottom left,rgba(45,88,146,.28),transparent 30%),linear-gradient(160deg,#040b16,#08182a 45%,#06111f)}.dreamnest-body{min-height:100vh}.app-shell{display:grid;grid-template-columns:320px minmax(0,1fr);height:100vh;overflow:hidden}.sidebar{height:100vh;padding:28px;border-right:1px solid var(--line);background:#040e1a8c;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;flex-direction:column;gap:24px;overflow:hidden}.brand-card,.panel,.hero-panel,.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.brand-card,.auth-card,.panel,.hero-panel{padding:24px}.sidebar-logo{width:135px;height:135px;object-fit:contain;display:block;margin:0 0 12px;background:transparent}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:var(--gold);margin:0 0 10px}.brand-card h1,.topbar h2,.hero-panel h3,.panel h3,.auth-card h1{margin:0;font-family:var(--font-head);font-weight:700}.brand-card h1,.auth-card h1{font-size:2rem;line-height:1.15}.muted{color:var(--muted)}.small{font-size:.85rem}.nav-list{display:flex;flex-direction:column;gap:10px}.nav-item,.btn,.text-button{border:0;font:inherit;cursor:pointer}.nav-item{text-align:left;padding:14px 16px;border-radius:16px;background:#ffffff08;color:var(--text);transition:.2s ease}.nav-item:hover,.nav-item.active{background:linear-gradient(135deg,#e8c26c2e,#e8c26c0d);color:var(--gold-strong)}.sidebar-footer{margin-top:auto;display:grid;gap:10px}.main-panel{height:100vh;padding:28px;display:grid;gap:22px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px}.topbar h2{font-size:2.15rem}.page-grid,.booking-layout,.invoice-layout{display:grid;gap:22px}.page-grid{grid-template-columns:minmax(0,1fr)}.hero-panel{display:grid;gap:20px;background:linear-gradient(135deg,#ffda8b14,#05111f33),var(--panel)}.hero-metrics,.form-grid,.room-grid,.invoice-grid,.charts-grid{display:grid;gap:16px}.hero-metrics,.hero-metrics.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.charts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-card h3{margin-bottom:14px}.chart-canvas{width:100%;min-height:260px}.recharts-text,.recharts-legend-item-text{fill:var(--muted)}.recharts-default-tooltip{border:1px solid var(--line)!important;border-radius:10px!important;background:#05111ff2!important}.recharts-tooltip-label,.recharts-tooltip-item{color:var(--text)!important}.chart-list{display:grid;gap:12px}.chart-row{display:grid;gap:8px}.chart-row-head{display:flex;justify-content:space-between;gap:10px;font-size:.92rem}.chart-track{height:10px;width:100%;border-radius:999px;background:#ffffff14;overflow:hidden;display:flex}.chart-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#f7d88f,#d8a94f)}.chart-track.stacked .chart-fill{border-radius:0}.chart-track.stacked .chart-fill.booked{background:#ff6f61cc}.chart-track.stacked .chart-fill.available{background:#58c18dcc}.line-chart-wrap{display:grid;gap:8px}.line-chart{width:100%;height:auto}.line-chart-path{fill:none;stroke:var(--gold-strong);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.line-chart-point{fill:#fff;stroke:var(--gold);stroke-width:2}.line-chart-labels{display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted)}.metric-card,.room-card,.info-block{border-radius:18px;border:1px solid var(--line);background:var(--panel-soft);padding:18px}.metric-card span,.summary-row span,.room-card-head span{color:var(--muted);font-size:.92rem}.metric-card strong{display:block;margin-top:8px;font-size:1.75rem;font-family:var(--font-head)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-header.responsive,.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.page-section-header p.muted{margin:8px 0 0}.data-table-shell{display:grid;gap:14px}.table-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:14px 12px;border-bottom:1px solid rgba(232,194,108,.12);vertical-align:middle}.data-table th{color:var(--gold);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.sort-button{border:0;background:transparent;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;padding:0;cursor:pointer}.sort-button:hover{color:var(--gold-strong)}.table-state{text-align:center!important;padding:22px 12px!important;color:var(--muted)}.table-state.error{color:var(--danger)}.table-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;color:var(--muted)}.pagination-actions{display:flex;gap:8px}.actions-cell{display:flex;gap:10px}.text-button{background:transparent;color:var(--gold-strong);padding:0}.text-button:hover{text-decoration:underline}.text-button-danger{color:var(--danger)}.text-button-danger:disabled{opacity:.6;cursor:not-allowed}.btn{padding:13px 18px;border-radius:14px;transition:.2s ease}.btn-primary{background:linear-gradient(135deg,#f7d88f,#d8a94f);color:#08111d;font-weight:700}.btn-secondary{background:#ffffff0d;color:var(--text);border:1px solid rgba(255,255,255,.08)}.btn-ghost{background:transparent;color:var(--warning)}.btn:hover{transform:translateY(-1px)}.w-full{width:100%}.input,.money-box,textarea,select{width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#0209128c;color:var(--text);padding:12px 14px;outline:none}.input:focus,textarea:focus,select:focus{border-color:#e8c26ca6;box-shadow:0 0 0 4px #e8c26c17}.react-datepicker{font-family:var(--font-body);background:#05111ffa;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);color:var(--text)}.react-datepicker__header{background:#102743e6;border-bottom:1px solid var(--line);color:var(--text)}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{color:var(--gold-strong)}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:var(--text)}.react-datepicker__day:hover{background:#e8c26c2e;color:var(--gold-strong);border-radius:8px}.react-datepicker__day--selected,.react-datepicker__day--keyboard-selected{background:linear-gradient(135deg,#f7d88f,#d8a94f);color:#08111d;border-radius:8px}.react-datepicker__navigation-icon:before{border-color:var(--gold-strong)}.react-datepicker__triangle{display:none}.slim{min-width:96px;padding:10px 12px}.textarea{min-height:120px;resize:vertical}.field{display:grid;gap:8px}.field label{font-size:.92rem;color:var(--muted)}.field-span{grid-column:1 / -1}.field-error{color:var(--danger)}.stepper-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.stepper-tab{border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#ffffff08;color:var(--text);padding:10px 12px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer}.stepper-tab span{width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;background:#ffffff14;color:var(--gold-strong);font-size:.82rem}.stepper-tab.active{border-color:#e8c26c85;background:linear-gradient(135deg,#e8c26c29,#e8c26c0d)}.stepper-tab.done span{background:#58c18d3d;color:#9ef1c0}.quick-picks{display:flex;flex-wrap:wrap;gap:8px}.quick-pick{border:1px solid rgba(255,255,255,.15);background:#ffffff08;color:var(--text);border-radius:10px;padding:8px 12px;min-width:42px;cursor:pointer}.quick-pick.active{border-color:#e8c26c85;color:var(--gold-strong);background:#e8c26c1f}.room-type-selector{display:grid;gap:10px}.room-type-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 12px;background:#ffffff05}.room-type-row.active{border-color:#e8c26c80;background:#e8c26c14}.room-type-row.disabled{opacity:.55}.room-type-hint{color:var(--muted);margin:0;padding:8px 0}.room-type-availability{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}.room-type-check{display:flex;align-items:center;gap:10px;color:var(--text)}.room-type-check input{width:16px;height:16px}.room-type-qty{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.9rem}.room-type-total{margin-top:8px;color:var(--gold-strong);font-weight:600}.stepper-actions{display:flex;justify-content:space-between;margin-top:18px;gap:12px}.review-grid{display:grid}.booking-layout{grid-template-columns:minmax(0,1.8fr) minmax(280px,.8fr)}.summary-panel{align-self:start;position:sticky;top:20px}.summary-row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}.summary-row strong{text-align:right}.summary-row.multiline{flex-direction:column;align-items:flex-start;gap:4px}.summary-row.multiline strong{text-align:left;white-space:pre-wrap;width:100%}.summary-actions{display:grid;gap:12px;margin-top:18px}.service-stack{display:grid;gap:16px}.service-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr)) auto;gap:12px;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:16px;background:#ffffff08}.service-row-locked{border-color:#e8c26c47;background:#e8c26c0f}.service-section-label{margin:8px 0 0}.service-row-badge{align-self:end;color:var(--muted);font-size:.82rem;padding-bottom:10px}.invoice-layout{grid-template-columns:minmax(0,1.8fr) minmax(320px,.8fr)}.invoice-brand{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:24px}.invoice-meta{display:grid;gap:6px;justify-items:end;color:var(--muted)}.invoice-logo{width:86px;height:86px;object-fit:contain;margin-bottom:8px}.invoice-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:20px 0}.info-block h4,.room-card-head h4{margin:0 0 12px;font-family:var(--font-head)}.info-list{display:grid}.notes-box{margin-top:18px;padding:18px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;white-space:pre-wrap}.status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 11px;font-size:.8rem;border:1px solid transparent}.status-pill.paid,.status-pill.confirmed,.status-pill.synced{color:#9ef1c0;background:#58c18d1f;border-color:#58c18d33}.status-pill.partial-paid,.status-pill.pending,.status-pill.tentative{color:#ffd491;background:#ffad5c1f;border-color:#ffad5c33}.status-pill.unpaid,.status-pill.cancelled,.status-pill.refunded{color:#ffb0aa;background:#ff6f611f;border-color:#ff6f6133}.room-card{display:grid;gap:12px}.room-card-head{display:flex;justify-content:space-between;gap:10px}.room-stats{display:grid;gap:6px;color:var(--muted)}.alert{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;border:1px solid rgba(88,193,141,.22);background:#58c18d1f}.alert.warning{border-color:#ffad5c4d;background:#ffad5c1f}.loading-panel{display:grid;place-items:center;min-height:260px;gap:14px}.loader{width:48px;height:48px;border-radius:50%;border:4px solid rgba(232,194,108,.15);border-top-color:var(--gold);animation:spin 1s linear infinite}.auth-page{display:grid;place-items:center;padding:24px}.auth-shell{width:min(520px,100%)}.auth-form{display:grid;gap:18px;margin-top:20px}.modal-backdrop{position:fixed;inset:0;z-index:90;background:#020812b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px}.modal-card{width:min(720px,100%);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;display:grid;gap:16px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-head h3{margin:0}.modal-tabs{display:flex;gap:10px;flex-wrap:wrap}.tab-button{border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#ffffff08;color:var(--text);padding:10px 14px;cursor:pointer}.tab-button.active{border-color:#e8c26c80;color:var(--gold-strong);background:linear-gradient(135deg,#e8c26c29,#e8c26c0d)}.inventory-form{gap:14px}.inventory-form-actions{display:flex;justify-content:flex-end;gap:10px}.inventory-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.9rem;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px 12px;background:#ffffff08}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.app-shell,.booking-layout,.invoice-layout{grid-template-columns:1fr}.app-shell{height:auto;overflow:visible}.sidebar{height:auto;border-right:0;border-bottom:1px solid var(--line);overflow:visible}.sidebar .brand-card,.sidebar .nav-list,.sidebar .sidebar-footer{width:100%}.main-panel{height:auto;overflow:visible}.summary-panel{position:static}.hero-metrics,.hero-metrics.compact,.invoice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.charts-grid{grid-template-columns:1fr}.service-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.main-panel,.sidebar{padding:18px}.sidebar{gap:16px}.topbar,.panel-header,.table-pagination{flex-direction:column;align-items:stretch}.hero-metrics,.hero-metrics.compact,.form-grid,.form-grid-sub,.room-grid,.invoice-grid,.service-row,.charts-grid,.stepper-nav{grid-template-columns:1fr}.invoice-brand{flex-direction:column}}.form-grid-sub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}@media print{@page{size:A4 portrait;margin:10mm}body{background:#fff;color:#08111d;-webkit-print-color-adjust:exact;print-color-adjust:exact}.sidebar,.topbar,.alert,.no-print{display:none!important}.app-shell,.main-panel,.invoice-layout{display:block;padding:0}.panel,.invoice-panel{border:1px solid #d8a94f;box-shadow:none;background:#fff;color:#08111d}.invoice-panel{padding:16px;border-radius:0;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.invoice-brand{border-bottom:1px solid #d8a94f;padding-bottom:12px;margin-bottom:14px;align-items:flex-start}.invoice-brand .eyebrow{color:#a1792f}.invoice-brand h3,.info-block h4{color:#102744}.invoice-meta{color:#304961;justify-items:start}.invoice-layout,.invoice-grid{display:block!important}.invoice-grid{margin:12px 0}.info-block{margin-bottom:10px;border:1px solid #e5d2a4;background:#fffaf0;page-break-inside:avoid;break-inside:avoid}.table-wrap,.data-table,.notes-box,.invoice-brand{page-break-inside:avoid;break-inside:avoid}.table-wrap{overflow:visible!important}.data-table{width:100%!important;table-layout:fixed}.data-table thead{display:table-header-group}.data-table tr{page-break-inside:avoid;break-inside:avoid}.invoice-grid+.invoice-grid{page-break-before:auto;break-before:auto}.data-table th,.data-table td,.summary-row span{color:#08111d}.data-table th{color:#7b5a1d;border-bottom:1px solid #d8a94f}.data-table td{border-bottom:1px solid #eadfc6;overflow-wrap:anywhere;word-break:break-word}.status-pill{border-color:#d8a94f!important;background:#fff6e5!important;color:#7b5a1d!important}.notes-box{border-color:#e5d2a4;background:#fffaf0}.invoice-logo{width:68px;height:68px}}
