:root{color-scheme:dark;--bg: #050705;--bg-elevated: rgba(12, 18, 13, .84);--bg-panel: rgba(20, 27, 21, .92);--border: rgba(168, 204, 132, .22);--text: #f5f5ef;--muted: #b7c3b4;--accent: #8cc63f;--accent-soft: rgba(140, 198, 63, .14);--gold: #d6b257;--shadow: 0 24px 70px rgba(0, 0, 0, .48)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at top left,rgba(140,198,63,.22),transparent 28%),radial-gradient(circle at top right,rgba(214,178,87,.16),transparent 26%),linear-gradient(180deg,#091009,#050705);color:var(--text)}button,input,select,textarea{font:inherit}.app-shell{position:relative;overflow:hidden;padding:28px 28px 44px}.ambient{position:absolute;width:34rem;height:34rem;border-radius:50%;filter:blur(28px);opacity:.42;pointer-events:none}.ambient-one{top:-10rem;right:-8rem;background:radial-gradient(circle,rgba(140,198,63,.4),transparent 68%)}.ambient-two{bottom:-12rem;left:-12rem;background:radial-gradient(circle,rgba(214,178,87,.28),transparent 66%)}.hero,.panel,.banner,.stat-card{border:1px solid var(--border);background:linear-gradient(180deg,#141b15e6,#0a0e0aeb);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hero{position:relative;z-index:1;max-width:1400px;margin:0 auto 18px;border-radius:30px;padding:24px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:20px}.brand-block{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:center;padding:4px 0}.brand-mark{display:grid;place-items:center;padding:14px;border-radius:30px;background:radial-gradient(circle at top,#ffffff14,#0006);border:1px solid rgba(255,255,255,.08)}.brand-mark img{width:100%;max-width:260px;height:auto;display:block}.brand-copy h1{margin:8px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.55rem,3vw,3rem);line-height:1;letter-spacing:.01em}.brand-copy p{margin:0;color:var(--muted);line-height:1.5;max-width:64ch;font-size:.92rem}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.28em;font-size:.72rem;font-weight:700}.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.hero-badges span,.pill,.tab{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff08;color:var(--text);text-decoration:none;font-size:.78rem}.hero-summary{display:grid;gap:14px;align-content:start}.hero-summary-public{justify-items:end;align-content:end}.stat-card{border-radius:24px;padding:18px}.stat-card span,.panel-header span,.muted{color:var(--muted)}.stat-card strong{display:block;margin-top:10px;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1}.stat-card small{display:block;margin-top:10px;color:var(--muted);line-height:1.45}.banner{max-width:1400px;margin:0 auto 16px;border-radius:18px;padding:14px 16px}.banner.error{border-color:#ff696959;background:#66171773}.banner.success{border-color:#8cc63f66;background:#1635127a}.offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.offer-card{border-radius:20px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;padding:16px}.offer-card strong{display:block;margin-bottom:8px;font-size:1rem}.offer-card p{margin:0;color:var(--muted);line-height:1.55;font-size:.9rem}.steps-list{display:grid;gap:12px}.steps-list article{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start;padding:14px;border-radius:18px;background:#ffffff08;border:1px solid rgba(255,255,255,.08)}.steps-list span{display:grid;place-items:center;width:36px;height:36px;border-radius:999px;background:#8cc63f29;color:var(--accent);font-weight:800}.steps-list strong{display:block;margin-bottom:4px}.steps-list p{margin:0;color:var(--muted);line-height:1.55;font-size:.9rem}.login-callout{display:flex;justify-content:flex-start}.public-action-stack{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;gap:12px;min-height:100%}.reservation-callout{display:flex;justify-content:flex-end;width:100%}.hero-public .brand-block{grid-template-columns:300px 1fr}.hero-public .brand-mark img{max-width:310px}.hero-public .brand-copy h1{font-size:clamp(1.15rem,2.2vw,2.25rem)}.hero-public .brand-copy p{font-size:.8rem;line-height:1.4}.hero-public .eyebrow{font-size:.62rem}.content,.grid,.admin-tabs{position:relative;z-index:1;max-width:1400px;margin:0 auto}.grid{display:grid;gap:16px;margin-bottom:16px}.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{border-radius:26px;padding:20px}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.panel-header p{margin:0;font-size:1.08rem;font-weight:700;letter-spacing:.02em}.table-wrap{overflow:auto;border-radius:18px;border:1px solid rgba(255,255,255,.06)}table{width:100%;border-collapse:collapse;min-width:680px}th,td{padding:14px;text-align:left;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:top}th{background:#ffffff0a;color:var(--gold);font-size:.84rem;text-transform:uppercase;letter-spacing:.12em}tbody tr:hover{background:#ffffff05}.cards-list,.timeline,.stacked-form,.key-value-grid{display:grid;gap:12px}.reservation-card,.location-card,.timeline-item,.user-card{border-radius:20px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;padding:14px}.reservation-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.panel-subheader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.asset-row{border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;padding:12px}.asset-actions{justify-content:flex-end}.calendar-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.calendar-weekday{color:var(--gold);text-transform:uppercase;font-size:.72rem;letter-spacing:.12em;padding:0 6px}.calendar-cell{min-height:120px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;padding:10px;display:flex;flex-direction:column;gap:8px}.calendar-cell-head{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.calendar-cell-body{display:flex;flex-direction:column;gap:6px}.muted-cell{opacity:.45}.reservation-card dl{margin:0;display:grid;gap:10px}.reservation-workspace,.reservation-list-screen,.reservation-detail-screen,.reservation-editor-screen{display:grid;gap:16px}.reservation-table{min-width:960px}.reservation-table td strong{display:block}.reservation-table .muted{display:block;margin-top:4px}.table-actions{flex-wrap:nowrap}.reservation-detail-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:18px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.reservation-detail-header h2{margin:8px 0 6px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,2vw,2rem)}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.detail-card{border-radius:20px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;padding:16px}.detail-card>strong{display:block;margin-bottom:12px}.detail-card dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-card dt{color:var(--gold);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;margin-bottom:4px}.detail-card dd,.detail-card p{margin:0;color:var(--text);line-height:1.5}.detail-card p+.cards-list{margin-top:12px}.detail-card .timeline{margin-top:0}.detail-line-item{border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;padding:12px 14px;display:grid;gap:4px}.invoice-card{border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;padding:14px}.invoice-card dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.compact-cards{gap:10px}.reservation-detail-screen .empty-state,.reservation-editor-screen .empty-state{border-radius:18px;background:#ffffff08}.reservation-card dt{color:var(--gold);text-transform:uppercase;letter-spacing:.1em;font-size:.74rem;margin-bottom:2px}.inventory-summary{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reservation-card dd{margin:0}.timeline-item{display:grid;grid-template-columns:14px minmax(0,1fr);gap:12px}.timeline-dot{width:14px;height:14px;border-radius:999px;margin-top:4px;background:var(--gold);box-shadow:0 0 0 6px #d6b2571a}.timeline-dot.kind-movement{background:var(--accent);box-shadow:0 0 0 6px #8cc63f1f}.timeline-item small{display:block;margin-top:8px;color:var(--muted)}.empty-state{padding:16px;color:var(--muted)}.form-panel{margin-bottom:28px}.public-contact-panel{width:100%;max-width:1400px;margin:0 auto 28px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.form-grid.single-column{grid-template-columns:1fr}.form-grid label,.stacked-form label{display:grid;gap:8px}.form-grid span,.stacked-form span{color:var(--muted);font-size:.88rem}.form-grid input,.form-grid select,.form-grid textarea,.stacked-form input,.stacked-form select,.stacked-form textarea{width:100%;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text);padding:12px 14px;outline:none}.form-grid select,.stacked-form select{color-scheme:dark}.form-grid select option,.stacked-form select option{background:#111912;color:var(--text)}.form-grid select option:checked,.stacked-form select option:checked,.form-grid select option:hover,.stacked-form select option:hover{background:#24311e;color:var(--text)}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.stacked-form input:focus,.stacked-form select:focus,.stacked-form textarea:focus{border-color:#8cc63f8c;box-shadow:0 0 0 4px #8cc63f1f}.span-2{grid-column:span 2}.button-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}button{border:0;border-radius:16px;padding:12px 18px;background:linear-gradient(135deg,var(--accent),#5f9f1f);color:#041103;font-weight:700;cursor:pointer;transition:transform .18s ease,filter .18s ease}button:hover{transform:translateY(-1px);filter:brightness(1.05)}button:disabled{cursor:not-allowed;opacity:.72}button.secondary,.tab{background:#ffffff0f;color:var(--text);border:1px solid rgba(255,255,255,.08)}button.danger{background:linear-gradient(135deg,#cf4a4a,#8a1f1f);color:#fff5f5;border:1px solid rgba(255,124,124,.28)}button.danger:hover{filter:brightness(1.08)}button.danger:disabled{opacity:.55;filter:none}.tab.active{border-color:#8cc63f8c;box-shadow:0 0 0 1px #8cc63f2e inset}.admin-tabs{display:flex;gap:10px;margin-bottom:16px;padding:0 2px}.security-qr-block{display:grid;gap:12px;justify-items:start}.security-qr-code{width:240px;height:240px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#fff}.security-manual-key code,.recovery-code-grid code{display:inline-flex;align-items:center;border-radius:12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);padding:8px 10px}.recovery-code-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.status.on{color:#caef9c}.status.off{color:#f0c9c9}.user-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.checkbox-row{display:flex;align-items:center;gap:10px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.login-panel{max-width:1400px;margin:0 auto 16px}.site-footer{position:relative;z-index:1;max-width:1400px;margin:18px auto 0;padding:16px 4px 0;color:var(--muted);font-size:.92rem;text-align:center}.key-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 1180px){.hero,.two-up,.form-grid,.detail-grid,.stats-grid,.offer-grid{grid-template-columns:1fr}.calendar-grid,.inventory-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-block{grid-template-columns:1fr}.brand-mark img{max-width:220px}.span-2{grid-column:auto}.user-meta{justify-content:flex-start}.reservation-detail-header{flex-direction:column}.table-actions{flex-wrap:wrap}}@media (max-width: 720px){.app-shell{padding:16px}.admin-tabs{flex-direction:column}.calendar-grid,.inventory-summary,.detail-card dl,.invoice-card dl{grid-template-columns:1fr}.hero-badges{flex-direction:column;align-items:flex-start}.brand-mark img{max-width:200px}}
