@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap";*{box-sizing:border-box}body{color:#1c3430;background:#f7f7f1;margin:0;font-family:DM Sans,system-ui,sans-serif;font-size:15px}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}:is(button:focus-visible,a:focus-visible){outline-offset:4px;outline:3px solid #cbad54}header{justify-content:space-between;align-items:center;max-width:1440px;margin:auto;padding:20px 5%;display:flex}.brand{color:#193b32;align-items:center;gap:14px;font-weight:700;text-decoration:none;display:flex}.brand img{object-fit:contain;width:54px;height:62px}.brand small{letter-spacing:1.6px;color:#6b7a71;margin-top:5px;font-size:9px;display:block}.header-note{color:#7a8579;font-size:13px}.hero{color:#fff;background:#103c32;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;opacity:.07;background-image:linear-gradient(45deg,#0000 44%,#e3cb82 45% 47%,#0000 48%),linear-gradient(-45deg,#0000 44%,#e3cb82 45% 47%,#0000 48%);background-size:60px 60px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000);mask-image:linear-gradient(90deg,#0000,#000)}.hero-inner{z-index:1;max-width:1300px;margin:auto;padding:54px 5% 45px;position:relative}.eyebrow{letter-spacing:2px;color:#9b8650;margin:0 0 14px;font-size:10px;font-weight:700}.hero .eyebrow{color:#d8c483}h1{margin:20px 0;font:400 clamp(40px,5vw,66px)/1.05 Libre Caslon Display,Georgia,serif}h1 em{color:#e5d5a0;font-weight:400}.hero p:not(.eyebrow){color:#d0ddd4;font-size:14px;line-height:1.8}.event{color:#e4e9da;align-items:center;gap:15px;margin-top:28px;font-size:12px;display:flex}.event i{background:#cfb766;border-radius:50%;width:3px;height:3px}.ornament{color:#d3bc6c12;font-size:420px;line-height:1;position:absolute;top:-65px;right:10%;transform:rotate(22deg)}main{max-width:1440px;margin:auto;padding:30px 5% 60px}.steps{color:#9ba49b;justify-content:center;gap:42px;margin-bottom:30px;font-size:12px;display:flex}.steps span{align-items:center;gap:9px;display:flex}.steps b{border:1px solid #d9dfd4;border-radius:50%;place-items:center;width:26px;height:26px;font-weight:500;display:inline-grid}.steps .active{color:#174638}.steps .active b{color:#fff;background:#174638;border-color:#174638}.notice{color:#6c6849;background:#efeedf;border:1px solid #dedcc3;border-radius:10px;margin-bottom:24px;padding:14px 18px;font-size:13px;line-height:1.7}.content{grid-template-columns:minmax(0,1fr) 325px;align-items:start;gap:28px;display:grid}.hall{background:#fffefa;border:1px solid #e0e4d8;border-radius:18px;padding:28px}.hall-title{justify-content:space-between;align-items:center;gap:20px;display:flex}h2{margin:0 0 15px;font:28px/1.15 Libre Caslon Display,Georgia}.hall .eyebrow{margin-bottom:10px}.legend{white-space:nowrap;gap:10px;font-size:10px;display:flex}.legend i{background:#c6dfcd;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.legend .gold{background:#c5a959}.legend .muted{background:#a8afa7}.hint{color:#879084;margin:0;font-size:11px}.stage{color:#9a8b5b;letter-spacing:3px;background:linear-gradient(#f4f1e4,#fffefa);border-top:3px solid #c9b578;border-radius:50% 50% 0 0;justify-content:center;max-width:330px;margin:30px auto 12px;padding:15px;font-size:10px;display:flex}.tables{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 8px;display:grid}.table{height:160px;position:relative}.oval{background:linear-gradient(145deg,#fbf6e7,#f1eddf);border:1px solid #d4c9a8;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:58%;height:46%;display:flex;position:absolute;top:27%;left:21%;box-shadow:0 4px 10px #1c34200a}.oval small{color:#a2926e;letter-spacing:1.5px;font-size:8px}.oval b{color:#637367;font:28px Libre Caslon Display,Georgia}.seat{color:#527858;background:#e3eee2;border:1px solid #bfd4c1;border-radius:9px;width:29px;height:29px;font-size:10px;font-weight:600;transition:all .15s;position:absolute;transform:translate(-50%,-50%)}.seat:hover:not(:disabled){background:#c9ddcd;transform:translate(-50%,-50%)scale(1.08)}.seat.selected{color:#fff;background:#bea356;border-color:#ab8e40;box-shadow:0 0 0 3px #bea35624}.seat.locked{color:#9a9f98;background:#e3e5e0;border-color:#d5d8d1}.hall-foot{text-align:center;letter-spacing:3px;color:#9aa392;border-top:1px dashed #dce0d4;margin-top:25px;padding-top:18px;font-size:9px}aside{position:sticky;top:24px}.booking{background:#fff;border:1px solid #dfe4d9;border-radius:18px;padding:25px;box-shadow:0 12px 24px #183b2705}.booking h2{font-size:29px}.empty{color:#8c9588;min-height:70px;font-size:13px;line-height:1.8}.chips{flex-wrap:wrap;gap:6px;margin:20px 0;display:flex}.chips button{color:#315b42;background:#f2f5ed;border:1px solid #dce3d2;border-radius:6px;padding:7px;font-size:10px}.chips span{color:#87997d;margin-left:5px}.price-row{color:#819078;justify-content:space-between;margin-top:25px;font-size:12px;display:flex}.total{border-top:1px solid #e9ece3;justify-content:space-between;align-items:center;margin-top:15px;padding-top:17px;display:flex}.total strong{letter-spacing:-1px;font-size:27px}.fine{color:#8b9585;font-size:10px;line-height:1.7}.primary{color:#fff;background:#174a39;border:0;border-radius:8px;justify-content:space-between;align-items:center;width:100%;margin:20px 0 10px;padding:15px 18px;font-size:12px;font-weight:600;display:flex}.primary:hover:not(:disabled){background:#246248}.primary:disabled{opacity:.45}.secure{color:#7c8d76;border-top:1px solid #edf0e7;justify-content:center;align-items:center;gap:8px;margin-top:20px;padding-top:18px;font-size:10px;display:flex}.help{color:#7c8872;padding:24px;font-size:12px;line-height:1.8}.help b{color:#506c4f}.help p{margin:6px 0}label{color:#4e674c;margin-top:14px;font-size:11px;display:block}input{color:#244332;background:#fcfdf9;border:1px solid #d8e1d2;border-radius:7px;width:100%;margin-top:6px;padding:11px 10px;font-size:13px;display:block}input:focus{outline:2px solid #bccf9e}.names{grid-template-columns:1fr 1fr;gap:10px;display:grid}.back{color:#70836a;background:0 0;border:0;margin:8px auto;font-size:11px;display:block}.error{color:#a33a3a;background:#fdf1ec;border-radius:6px;padding:10px;font-size:12px;line-height:1.6}.success{text-align:center;background:#fff;border:1px solid #cdddc5;border-radius:16px;margin-bottom:30px;padding:35px;line-height:1.8}.success>span{color:#2a713f;background:#e5f1df;border-radius:50%;place-items:center;width:45px;height:45px;margin-bottom:15px;font-size:22px;display:inline-grid}.success a{color:#2f663f}footer{color:#61745a;border-top:1px solid #e0e5d8;align-items:center;gap:14px;max-width:1440px;margin:auto;padding:25px 5%;font-size:12px;display:flex}footer img{object-fit:contain;width:40px;height:50px}footer small{color:#97a08d;margin-top:5px;font-size:10px;display:block}footer>span{margin-left:auto;font-size:10px}@media (min-width:1450px){.table{height:190px}}@media (max-width:1100px){.tables{grid-template-columns:repeat(3,minmax(0,1fr))}.hall-title{display:block}.legend{margin:15px 0}.content{grid-template-columns:minmax(0,1fr) 300px}.hall{padding:20px}}@media (max-width:800px){.content{grid-template-columns:1fr}.tables{grid-template-columns:repeat(4,minmax(0,1fr))}.table{height:170px}aside{position:static}.header-note{display:none}.hero-inner{padding:40px 6%}.steps{gap:18px;font-size:10px}.hall-title{display:flex}.legend,.hero .event{flex-wrap:wrap}.booking{padding:25px}.empty{min-height:0}}@media (max-width:550px){.brand span{font-size:12px}.brand small{font-size:7px}.brand img{width:42px;height:50px}.tables{grid-template-columns:repeat(2,minmax(0,1fr))}.table{height:175px}.hall-title{display:block}.hall{padding:16px}.steps{justify-content:space-between;gap:5px}.steps b{width:22px;height:22px}main{padding:25px 4%}.hero p:not(.eyebrow){font-size:12px}.event{gap:9px;font-size:10px}.hero .eyebrow{font-size:8px}.ornament{right:-120px}footer>span{display:none}.seat{width:32px;height:32px}}.admin-login{text-align:center;max-width:450px;margin:80px auto}.admin-login img{height:100px}.admin-login h1{font-size:40px}.admin-login .primary{justify-content:center;text-decoration:none}.admin-main{max-width:1400px}.admin-heading{justify-content:space-between;align-items:center;gap:15px;display:flex}.admin-heading h1{margin:10px 0;font-size:42px}.admin-heading p{color:#829079;font-size:13px}.admin-refresh,.admin-filters button{color:#30543b;background:#fff;border:1px solid #d7dfd1;border-radius:8px;padding:12px 18px}.admin-mode{color:#807246;letter-spacing:1px;background:#eeeddb;border-radius:8px;margin:20px 0;padding:12px 16px;font-size:11px}.admin-stats{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.admin-stats section{background:#fff;border:1px solid #dce4d6;border-radius:14px;padding:22px}.admin-stats p{color:#7e8e75;margin:0 0 12px;font-size:12px}.admin-stats strong{font-size:34px}.admin-section{background:#fffefa;border:1px solid #dce3d5;border-radius:15px;margin-top:25px;padding:24px}.admin-section-head{justify-content:space-between;align-items:center;gap:15px;display:flex}.admin-section-head>span{color:#8a9680;font-size:12px}.admin-tables{grid-template-columns:repeat(5,1fr);gap:12px;margin-top:14px;display:grid}.admin-tables button{text-align:left;color:#294d35;background:#f8f9f2;border:1px solid #dfe4d6;border-radius:14px;padding:15px}.admin-tables small{color:#859179;font-size:10px}.occupancy{gap:4px;margin:10px 0;display:flex}.occupancy i{border-radius:4px;width:12px;height:12px}.admin-filters{gap:10px;margin:10px 0 20px;display:flex}.admin-filters input{flex:1;margin:0}.admin-filters select{color:#30543b;background:#fff;border:1px solid #d7dfd1;border-radius:8px;padding:10px}.admin-scroll{overflow:auto}.admin-list{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.admin-list th{color:#849078;white-space:nowrap;font-size:10px;font-weight:500}.admin-list td,.admin-list th{border-bottom:1px solid #e9edde;padding:14px 10px}.admin-list td{vertical-align:top}.admin-list small{color:#8a9681;margin-top:5px;font-size:10px;display:block}.admin-list a{color:#3f6a48}.admin-badge{white-space:nowrap;color:#819076;background:#ecefe7;border-radius:20px;padding:6px 9px;font-size:10px;display:inline-block}.admin-badge.paid{color:#3c6b35;background:#e0efdc}.admin-badge.held,.admin-badge.preparing{color:#977b2d;background:#f4ecd2}@media (max-width:800px){.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-tables{grid-template-columns:repeat(3,1fr)}.admin-heading h1{font-size:32px}.admin-filters{flex-wrap:wrap}.admin-filters input{min-width:100%}}@media (max-width:500px){.admin-tables{grid-template-columns:repeat(2,1fr)}.admin-heading{display:block}.admin-section{padding:16px}.admin-stats strong{font-size:28px}.admin-section-head{flex-direction:column;align-items:flex-start}}.cash-form{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px;display:grid}.cash-form select{color:#244332;background:#fff;border:1px solid #d8e1d2;border-radius:7px;width:100%;margin-top:6px;padding:11px;display:block}.cash-check{grid-column:1/-1;align-items:center;gap:10px;display:flex}.cash-check input{width:18px;margin:0}.cash-form>.fine,.cash-form>.error{grid-column:1/-1}.cash-form>.primary{grid-column:1/-1;max-width:350px;margin-top:0}.cash-success{color:#315d35;background:#e3efdc;border-radius:8px;padding:12px;font-size:13px}.admin-stats{grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width:900px){.admin-stats,.cash-form{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.cash-form{grid-template-columns:1fr}}.cash-seat-picker{border:0;flex-wrap:wrap;grid-column:span 2;gap:8px;margin:14px 0 0;padding:0;display:flex}.cash-seat-picker legend{color:#4e674c;margin-bottom:8px;font-size:11px}.cash-seat-picker button{color:#315b42;background:#e3eee2;border:1px solid #bfd4c1;border-radius:9px;width:38px;height:38px}.cash-seat-picker button[aria-pressed=true]{color:#fff;background:#bea356;border-color:#ab8e40}.cash-seat-picker button:disabled{color:#a2a89e;background:#e3e5e0;border-color:#d5d8d1}@media (max-width:500px){.cash-seat-picker{grid-column:1}}.admin-seat-line{justify-content:space-between;align-items:center;gap:10px;min-width:150px;padding-bottom:7px;display:flex}.admin-seat-line button{color:#945a41;background:#fff8f3;border:1px solid #e2cdc5;border-radius:6px;padding:5px 8px;font-size:10px}.admin-seat-line small{color:#9aa392}.stripe-config{max-width:650px}.stripe-config code{overflow-wrap:anywhere}.stripe-config .cash-check{margin:20px 0}.stripe-config .primary{max-width:300px}.admin-table-card>button{width:100%}.admin-table-card .remove-table{color:#a06b56;background:#fffefa;border:1px solid #e6ddd3;margin-top:5px;padding:7px;font-size:10px}.remove-table:disabled{opacity:.4}.editable-copy{white-space:pre-line}.content-editor{grid-template-columns:1fr 1fr;gap:16px 22px;display:grid}.content-editor textarea{resize:vertical;width:100%;font:inherit;color:#244332;background:#fcfdf9;border:1px solid #d8e1d2;border-radius:7px;margin-top:6px;padding:11px;display:block}.content-editor>.fine,.content-actions{grid-column:1/-1}.content-actions{align-items:center;gap:20px;display:flex}.content-actions .primary{max-width:270px}.content-actions a{color:#315b42;font-size:12px}@media (max-width:650px){.content-editor{grid-template-columns:1fr}}.event-flyer{background:#fff;border:1px solid #dfe4d9;border-radius:16px;margin:20px 0 0;overflow:hidden}.event-flyer img{width:100%;height:auto;display:block}.flyer-upload{max-width:500px}.flyer-upload .primary{max-width:260px}.admin-flyer-preview{border:1px solid #dfe4d9;border-radius:10px;width:100%;max-width:260px;height:auto;margin:20px 0;display:block}.archive-record{white-space:nowrap;color:#945a41;background:#fff8f3;border:1px solid #e2cdc5;border-radius:7px;padding:7px 10px;font-size:11px}.archive-record:disabled{opacity:.5}.event-reset{border-color:#dfc6ba}.event-reset form{max-width:720px}.reset-open,.reset-submit{color:#963e2c;font:inherit;cursor:pointer;background:#fff3ed;border:1px solid #c88b76;border-radius:8px;padding:11px 16px}.reset-submit{color:#fff;background:#9e4231;border:0;margin-top:20px;display:block}.reset-submit:disabled{opacity:.4;cursor:not-allowed}.reset-warning{color:#8b4735;background:#fff0e8;border-radius:8px;padding:16px;font-size:13px;line-height:1.8}.event-reset .cash-check{margin:18px 0}.event-reset label:not(.cash-check){max-width:360px}
