:root{font-family:Inter,Segoe UI,sans-serif;color:#20303a;background:linear-gradient(180deg,#f8f3e8,#f5f1ea 30%,#faf8f3);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}body,button,input,textarea,select{font:inherit}a{color:inherit}p{line-height:1.6}#root{min-height:100vh}.public-app,.admin-app{min-height:100vh;color:#163153}.public-app{background:radial-gradient(circle at top left,rgba(23,92,196,.14),transparent 30%),linear-gradient(180deg,#f4f8ff,#f8fafc 38%,#f2f5f9)}.admin-app{background:#f4f7fb}.site-header,.page-shell,.admin-shell{width:min(1220px,calc(100vw - 32px));margin:0 auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0 18px}.site-header--admin{padding-bottom:8px}.brand-lockup{border:0;background:transparent;padding:0;cursor:pointer}.brand-mark{display:inline-flex;align-items:center;font-size:1.15rem;font-weight:800;letter-spacing:.01em;color:#1357bf}.main-nav,.admin-top-actions,.language-switch,.section-inline,.section-head,.dialog-actions,.drawer-actions,.auth-switch,.admin-gallery-actions,.action-grid{display:flex;align-items:center;gap:12px}.main-nav{flex-wrap:wrap;justify-content:flex-end}.nav-item,.language-pill,.tab-pill{border:1px solid #d3def2;background:#fff;color:#20406b;border-radius:999px;padding:10px 14px;cursor:pointer;transition:.2s ease}.nav-item{display:inline-flex;align-items:center;gap:10px;font-weight:600}.nav-item:hover,.language-pill:hover,.tab-pill:hover{border-color:#2360bc;color:#0d3f88}.language-switch{border:1px solid #d3def2;background:#fff;padding:7px 10px;border-radius:999px}.language-pill{padding:6px 10px;font-size:13px}.language-pill.active,.tab-pill.active{background:#1357bf;color:#fff;border-color:#1357bf}.nav-icon{font-size:15px}.page-shell,.admin-shell{padding-bottom:54px}.banner-hero{overflow:hidden;border-radius:28px;box-shadow:0 24px 48px #0d2f631f}.banner-image{display:block;width:100%;height:auto}.list-intro,.detail-layout,.detail-single,.admin-detail-layout,.admin-side-grid,.history-grid,.venue-list,.detail-stack,.gallery-strip,.availability-list,.booking-form,.stack-list,.admin-gallery,.proof-grid,.payment-upload-form{display:grid;gap:16px}.list-intro{grid-template-columns:1.1fr .9fr;align-items:end;padding:28px 0 6px}.search-form{display:grid;grid-template-columns:1fr auto;gap:12px}.search-form input,.booking-form input,.booking-form textarea,.compact-form input,.dialog-card input,.dialog-card textarea{width:100%;border:1px solid #cfdbef;border-radius:16px;padding:13px 14px;background:#fff;color:#173760}.search-form input:focus,.booking-form input:focus,.booking-form textarea:focus,.compact-form input:focus,.dialog-card input:focus,.dialog-card textarea:focus{outline:2px solid rgba(19,87,191,.14);border-color:#2360bc}.venue-list{grid-template-columns:repeat(3,minmax(0,1fr))}.venue-card,.detail-card,.history-card,.admin-panel,.drawer-panel,.dialog-card,.empty-state{background:#fff;border:1px solid #d9e5f5;border-radius:22px;box-shadow:0 14px 32px #0d2f6312}.venue-card,.detail-card,.history-card,.admin-panel,.empty-state{padding:18px}.venue-card{display:grid;gap:16px}.venue-thumb-shell{overflow:hidden;border-radius:18px;background:linear-gradient(180deg,#e6eefb,#f6f8fc)}.venue-thumb{width:100%;height:220px;object-fit:cover;display:block}.venue-thumb--placeholder{display:grid;place-items:center;font-weight:700;color:#2f5a92}.venue-card-body,.detail-stack,.stack-card,.stack-item,.account-panel,.compact-form,.booking-form,.table-shell{display:grid;gap:12px}.venue-code,.section-overline{margin:0;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.14em;color:#5f7fb0}.list-intro h2,.detail-card h2,.admin-panel h2,.dialog-card h3,.empty-state h2,.history-card strong,.venue-card h3{margin:0;color:#0f2f62;font-family:Georgia,Times New Roman,serif}.list-intro h2{font-size:clamp(2rem,4vw,2.7rem)}.muted-copy,.venue-description,.detail-copy,.stack-card p,.stack-item p,.empty-state p,.history-card p,.detail-card p,.admin-panel p{margin:0;color:#59708f}.venue-meta,.detail-summary-grid,.detail-facts{display:grid;gap:8px}.detail-layout{grid-template-columns:1.02fr .98fr}.detail-single{grid-template-columns:1fr}.detail-gallery{display:grid;gap:12px}.detail-cover{overflow:hidden;border-radius:18px;background:#edf3fd}.detail-cover img{width:100%;height:340px;object-fit:cover;display:block}.gallery-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-strip img{width:100%;height:92px;object-fit:cover;border-radius:14px}.detail-facts,.detail-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-facts div,.detail-summary-grid div,.stack-card,.stack-item{padding:14px;border-radius:16px;background:#f6f9ff}.detail-facts span,.detail-summary-grid span,.cover-badge{font-size:13px;color:#6480a8}.availability-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.availability-toolbar label,.checkbox-row,.file-uploader{display:grid;gap:6px;color:#35517a}.availability-item,.date-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:14px;background:#f6f9ff}.green{color:#1c814c}.yellow{color:#a26a10}.red{color:#b03d31}.history-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.history-card{border:0;text-align:left;cursor:pointer}.admin-list-shell,.empty-state{display:grid;gap:18px}.table-tabs{display:flex;flex-wrap:wrap;gap:10px}.data-table{display:grid;border:1px solid #d5e1f1;border-radius:18px;overflow:hidden;background:#fff}.data-row{display:grid;grid-template-columns:1fr .95fr .95fr .9fr 1.1fr .8fr;gap:14px;align-items:center;padding:15px 16px;border:0;background:#fff;text-align:left}.data-row+.data-row{border-top:1px solid #eef3fb}.data-row:not(.data-row--head):not(.data-row--static){cursor:pointer}.data-row--head{background:#f6f9ff;font-weight:700;color:#23426c}.data-row--static{background:#fff}.table-proof-thumb{width:68px;height:52px;object-fit:cover;border-radius:12px;border:1px solid #d9e5f5}.admin-detail-layout{grid-template-columns:1.08fr .92fr;align-items:start}.admin-side-grid{grid-template-columns:1fr}.admin-gallery,.proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.deadline-card strong,.mini-meta{color:#1357bf;font-weight:700}.proof-card{overflow:hidden;border:1px solid #d9e5f5;border-radius:18px;background:#fff}.proof-preview,.proof-file{width:100%;height:180px;display:grid;place-items:center;object-fit:cover;background:#eef4ff;color:#35517a;font-weight:700}.proof-file--small{height:78px;border-radius:14px;font-size:13px}.proof-meta{display:grid;gap:6px;padding:12px}.proof-meta a{color:#2360bc;font-weight:700;text-decoration:none}.timeline-list{display:grid;gap:12px}.timeline-item{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start}.timeline-dot{width:12px;height:12px;border-radius:999px;background:#1357bf;margin-top:4px;box-shadow:0 0 0 4px #1357bf1f}.timeline-content{display:grid;gap:4px}.admin-gallery-card{overflow:hidden;border-radius:18px;border:1px solid #d9e5f5;background:#fff}.cover-preview-card{overflow:hidden;border:1px solid #d9e5f5;border-radius:18px;margin-bottom:16px;background:#fff}.cover-preview-image{width:100%;height:220px;object-fit:cover;display:block}.admin-gallery-card img{width:100%;height:170px;object-fit:cover;display:block}.admin-gallery-actions{padding:12px;flex-wrap:wrap}.inline-proof-preview{display:grid;gap:8px}.inline-proof-image{width:100%;max-width:220px;height:140px;object-fit:cover;border-radius:14px;border:1px solid #d9e5f5}.inline-proof-preview a{color:#2360bc;font-weight:700;text-decoration:none}.cover-badge.active{color:#1357bf;font-weight:700}.primary-button,.secondary-button,.danger-button,.text-button{border-radius:14px;cursor:pointer;transition:.2s ease}.primary-button,.secondary-button,.danger-button{padding:12px 16px;font-weight:700}.primary-button{border:1px solid #1357bf;background:#1357bf;color:#fff}.secondary-button{border:1px solid #d3def2;background:#fff;color:#1f4578}.danger-button{border:1px solid #bb4436;background:#fff4f2;color:#a73629}.text-button{border:0;background:transparent;color:#2360bc;padding:0}.danger-text{color:#a73629}.primary-button:hover,.secondary-button:hover,.danger-button:hover{transform:translateY(-1px)}.status-badge,.price-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#e9f1ff;color:#1f4c90;font-size:13px;font-weight:700}.alert{margin:0;padding:12px 14px;border-radius:14px}.alert.error{background:#fff1ef;color:#9c3024}.empty-state{place-items:center;text-align:center;padding:36px 18px}.back-link{border:0;background:transparent;padding:0;color:#2360bc;cursor:pointer;font-weight:700}.drawer-shell,.dialog-shell{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:30}.drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#07163061}.drawer-panel,.dialog-card{position:relative;z-index:1;width:min(520px,calc(100vw - 28px))}.drawer-panel{padding:22px}.dialog-card{padding:24px}.small-tab{border:1px solid #d3def2;background:#fff;color:#295086;padding:10px 14px;border-radius:999px;cursor:pointer}.small-tab.active{border-color:#1357bf;background:#edf3ff;color:#1357bf}.dialog-tone{margin:0 0 4px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.dialog-tone.success{color:#1b7b47}.dialog-tone.error{color:#a73629}@media (max-width: 1080px){.venue-list,.history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout,.admin-detail-layout,.list-intro{grid-template-columns:1fr}}@media (max-width: 780px){.site-header,.main-nav,.admin-top-actions,.section-head,.section-inline,.action-grid,.dialog-actions{align-items:stretch}.site-header,.main-nav,.admin-top-actions,.section-head,.section-inline,.action-grid,.drawer-actions{flex-direction:column}.venue-list,.history-grid,.detail-facts,.detail-summary-grid,.gallery-strip,.admin-gallery,.proof-grid,.search-form,.availability-toolbar,.data-row,.data-row--head,.data-row--static{grid-template-columns:1fr}.venue-thumb,.detail-cover img{height:220px}}
