@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap";:root{--dcc-navy:#07152a;--dcc-navy-2:#0f2240;--dcc-navy-3:#182f54;--dcc-gold:#c9a227;--dcc-gold-light:#f4e09c;--dcc-gold-dim:#c9a2272e;--dcc-bg:#f5f0e8;--dcc-surface:#fff;--dcc-surface-2:#fafaf8;--dcc-glass:#ffffffe0;--dcc-glass-dark:#07152ab8;--dcc-text:#101828;--dcc-text-muted:#667085;--dcc-text-faint:#98a2b3;--dcc-text-invert:#fff;--dcc-border:#e4ddd0;--dcc-border-focus:#c9a227;--dcc-success:#039855;--dcc-success-bg:#ecfdf3;--dcc-success-border:#abefc6;--dcc-danger:#d92d20;--dcc-danger-bg:#fef3f2;--dcc-danger-border:#fecdca;--dcc-warn-bg:#fffaeb;--dcc-warn-border:#fedf89;--dcc-warn-text:#b54708;--dcc-info-bg:#eef4ff;--dcc-info-border:#c7d7fe;--dcc-info-text:#3538cd;--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-2xl:36px;--r-full:9999px;--shadow-xs:0 1px 3px #10182814, 0 1px 2px #1018280f;--shadow-sm:0 4px 8px #10182814, 0 2px 4px #1018280d;--shadow-md:0 12px 32px #07152a1f, 0 4px 12px #07152a0f;--shadow-lg:0 24px 60px #07152a29, 0 8px 24px #07152a14;--shadow-gold:0 8px 32px #c9a22747;--shadow-nav:0 8px 40px #07152a59;--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.15s;--dur-base:.22s;--dur-slow:.38s;--dur-enter:.48s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{color:var(--dcc-text);background-color:var(--dcc-navy);background-image:radial-gradient(ellipse 80% 60% at 50% -20%, #c9a22738 0%, transparent 60%), radial-gradient(ellipse 40% 40% at 0% 100%, #c9a2271a 0%, transparent 55%), linear-gradient(160deg, var(--dcc-navy) 0%, var(--dcc-navy-2) 50%, #1a3560 100%);min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif}button,input,select,textarea{font:inherit}img,svg{display:block}a{color:inherit}#root{min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--dcc-border);border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:var(--dcc-text-faint)}::selection{background:var(--dcc-gold-light);color:var(--dcc-navy)}:focus-visible{outline:2px solid var(--dcc-gold);outline-offset:2px;border-radius:var(--r-xs)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.08)}80%{transform:scale(.96)}to{transform:scale(1)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes goldGlow{0%,to{box-shadow:0 0 #c9a22700}50%{box-shadow:0 0 0 8px #c9a2272e}}@keyframes checkmark{0%{stroke-dashoffset:50px;opacity:0}40%{opacity:1}to{stroke-dashoffset:0;opacity:1}}.animate-fadeUp{animation:fadeUp var(--dur-enter) var(--ease-out) both}.animate-fadeIn{animation:fadeIn var(--dur-base) var(--ease-out) both}.animate-scaleIn{animation:scaleIn var(--dur-enter) var(--ease-spring) both}.animate-bounceIn{animation:bounceIn var(--dur-slow) var(--ease-spring) both}.delay-1{animation-delay:80ms}.delay-2{animation-delay:.16s}.delay-3{animation-delay:.24s}.delay-4{animation-delay:.32s}.delay-5{animation-delay:.4s}.skeleton{background:linear-gradient(90deg, var(--dcc-border) 25%, #ede8de 50%, var(--dcc-border) 75%);border-radius:var(--r-sm);background-size:400px 100%;animation:1.4s infinite shimmer}body{background:#f4f1ea}.public-page{background:linear-gradient(120deg,#07152aeb,#176b5dc2),url(/assets/hero-CLDdwZDr.png) 50%/cover;grid-template-columns:minmax(280px,.82fr) minmax(320px,1.18fr);align-items:center;gap:clamp(24px,5vw,72px);min-height:100vh;padding:clamp(22px,5vw,72px);display:grid}.availability-hero{color:#fff}.intro-panel{max-width:620px}.eyebrow{color:#d6a43b;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;font-size:.78rem;font-weight:900;display:inline-flex}.intro-panel h1,.success-card h1{max-width:720px;margin:0 0 18px;font-size:clamp(2.4rem,5vw,5.2rem);line-height:.96}.intro-panel p,.success-card p{color:#ffffffd1;max-width:560px;font-size:clamp(1rem,1.7vw,1.24rem);line-height:1.7}.form-card,.success-card,.booking-workspace,.login-card,.table-panel,.modal{color:#15201c;background:#fffffff5;border:1px solid #ffffff8c;border-radius:8px;box-shadow:0 24px 80px #10182838}.form-card,.success-card,.booking-workspace,.login-card{padding:clamp(22px,4vw,42px)}.success-card{grid-column:1/-1;justify-self:center;max-width:780px}.success-card h1,.success-card p{color:#15201c}.section-title{justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px;display:flex}.section-title span{color:#176b5d;text-transform:uppercase;font-size:.75rem;font-weight:900}.section-title h2,.login-card h1,.admin-header h1{margin:0;font-size:clamp(1.7rem,3vw,2.6rem)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}label{color:#34443e;gap:8px;font-weight:800;display:grid}label small{color:#7b8781;font-weight:700}input,select,textarea{color:#15201c;background:#fff;border:1px solid #d7ded8;border-radius:8px;outline:none;width:100%;padding:13px 14px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#176b5d;box-shadow:0 0 0 4px #176b5d1f}.span-2{grid-column:1/-1}.field-error{color:#8a1f17;background:#fff3f1;border-left:4px solid #b42318;border-radius:8px;padding:12px 14px;font-weight:800}.setup-note{background:#fffaeb;border:1px solid #fedf89;border-radius:8px;padding:12px 14px;font-weight:800;color:#8a5700!important}.primary-action,.success-card button,.booking-nav button,.admin-header button,.tabs button,.row-actions button,.login-card button{color:#fff;background:#176b5d;border:0;border-radius:8px;padding:12px 18px;font-weight:900}.form-card>.primary-action{width:100%;margin-top:18px}.booking-page{background:#f4f1ea;grid-template-columns:340px minmax(0,1fr);min-height:100vh;display:grid}.booking-aside{color:#fff;background:linear-gradient(160deg,#07152a,#176b5d);min-height:100vh;padding:36px}.booking-aside h1{margin:0 0 28px;font-size:clamp(2rem,4vw,3.4rem);line-height:1}.step-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.step-list li{color:#ffffffad;align-items:center;gap:12px;font-weight:800;display:flex}.step-list span{background:#ffffff1f;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.step-list .active,.step-list .done{color:#fff}.step-list .active span,.step-list .done span{color:#15201c;background:#d6a43b}.booking-workspace{align-self:start;margin:clamp(18px,4vw,46px)}.hall-grid,.package-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.hall-card,.package-card{text-align:left;color:#15201c;background:#fff;border:1px solid #dce1dd;border-radius:8px;min-height:220px;padding:18px}.hall-card.selected,.package-card.selected{border-color:#176b5d;box-shadow:inset 0 0 0 2px #176b5d}.hall-card span,.package-card span{color:#176b5d;text-transform:uppercase;font-size:.76rem;font-weight:900}.hall-card strong,.package-card strong{margin:8px 0;font-size:1.25rem;display:block}.hall-card p,.hall-card small,.package-card li{color:#5a6861;line-height:1.45}.hall-card em{color:#d06f18;font-style:normal;font-weight:900}.package-card ul{margin:12px 0 0;padding-left:18px}.calendar-panel,.payment-layout{grid-template-columns:1fr 1fr;gap:18px;display:grid}.date-key,.blocked-list,.summary-box,.bank-box{background:#fff;border:1px solid #dce1dd;border-radius:8px;padding:18px}.date-key,.blocked-list{gap:10px;display:grid}.dot{border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.available{background:#176b5d}.held{background:#d6a43b}.booked{background:#9f1d1d}.blocked-list span{background:#f3f5f2;border-radius:999px;width:fit-content;padding:7px 10px;font-weight:800;display:inline-flex}.summary-box h3,.bank-box h3{margin-top:0}.summary-box dl{gap:12px;margin:0;display:grid}.summary-box dl div{border-bottom:1px solid #edf0ed;justify-content:space-between;gap:14px;padding-bottom:10px;display:flex}.summary-box dt,.bank-box span{color:#69766f;font-weight:800}.summary-box dd{text-align:right;margin:0;font-weight:900}.bank-box p{justify-content:space-between;gap:14px;display:flex}.upload-drop{text-align:center;background:#f4fbf8;border:1px dashed #176b5d;border-radius:8px;margin-top:18px;padding:18px}.upload-drop input{border:0;padding:0}.booking-nav{justify-content:space-between;margin-top:26px;display:flex}.admin-login{background:linear-gradient(135deg,#f4f1ea,#e7efe8);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:min(460px,100%)}.login-card p{color:#66736c;line-height:1.6}.login-card label{margin-top:14px}.login-card button{width:100%;margin-top:18px}.admin-page{background:#f4f1ea;min-height:100vh;padding:clamp(18px,4vw,42px)}.admin-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.admin-header p{color:#66736c;margin:8px 0 0}.setup-banner{color:#8a5700;background:#fffaeb;border:1px solid #fedf89;border-radius:8px;margin-bottom:18px;padding:14px 16px;line-height:1.5}.stats-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.stats-grid div{background:#fff;border:1px solid #dce1dd;border-radius:8px;padding:16px}.stats-grid span{color:#66736c;font-size:.82rem;font-weight:900;display:block}.stats-grid strong{margin-top:8px;font-size:clamp(1.35rem,2vw,2rem);display:block}.tabs{gap:8px;margin-bottom:16px;display:flex}.tabs button{color:#15201c;background:#fff;border:1px solid #dce1dd}.tabs button.active{color:#fff;background:#176b5d;border-color:#176b5d}.table-panel{overflow:hidden}.table-wrap{overflow-x:auto}table{border-collapse:collapse;background:#fff;width:100%}th,td{text-align:left;vertical-align:top;white-space:nowrap;border-bottom:1px solid #edf0ed;padding:14px}th{color:#66736c;text-transform:uppercase;font-size:.76rem}.pill{color:#34443e;text-transform:capitalize;background:#edf0ed;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:900;display:inline-flex}.pill.fully_approved,.pill.confirmed{color:#12613c;background:#dff5e8}.pill.declined,.pill.cancelled{color:#9f1d1d;background:#ffe4df}.pill.awaiting_colleague,.pill.pending{color:#8a5700;background:#fff0cf}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.row-actions button{padding:8px 10px}.row-actions .danger{background:#9f1d1d}.modal-backdrop{z-index:10;background:#15201c9e;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{width:min(720px,100%);max-height:88vh;padding:28px;position:relative;overflow:auto}.modal.wide{width:min(920px,100%)}.modal-close{background:#edf0ed;border:0;border-radius:50%;width:34px;height:34px;position:absolute;top:14px;right:14px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.detail-grid div{border:1px solid #edf0ed;border-radius:8px;padding:12px}.detail-grid span{color:#66736c;margin-bottom:5px;font-size:.78rem;font-weight:900;display:block}.email-preview{margin-top:18px}.email-preview textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.manual-message-panel{gap:14px;margin-top:18px;display:grid}.manual-message-panel textarea,.manual-message-panel input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.copy-success{color:#027a48;background:#ecfdf3;border:1px solid #abefc6;border-radius:8px;padding:10px 12px;font-weight:900}.empty-state{color:#66736c;border:1px dashed #cbd5cf;border-radius:8px;padding:22px;font-weight:800}@media (width<=980px){.public-page,.booking-page{grid-template-columns:1fr}.booking-aside{min-height:auto}.hall-grid,.package-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.public-page{padding:18px}.form-grid,.calendar-panel,.payment-layout,.detail-grid,.hall-grid,.package-grid,.stats-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.admin-header{flex-direction:column;align-items:flex-start}.tabs{overflow-x:auto}.intro-panel h1,.success-card h1{font-size:2.4rem}}
