:root{--ink:#193b45;--muted:#637b82;--teal:#16675f;--line:#dce6e4;--cream:#f7f6f2}*{box-sizing:border-box}body{margin:0;font-family:'Malgun Gothic',Arial,sans-serif;color:var(--ink);background:#fff;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a.btn{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{width:100%;padding:11px;border:1px solid #cbdad8;border-radius:8px;background:#fff;color:var(--ink)}textarea{min-height:100px}input[type=checkbox]{width:auto}label{display:block;font-size:13px;font-weight:600}label input,label select,label textarea{margin-top:6px}h1,h2,h3,p{margin:0 0 14px}h1{font-size:36px;letter-spacing:-1.5px;line-height:1.3}h2{font-size:26px;letter-spacing:-.8px}h3{font-size:20px}.wrap{max-width:1200px;margin:auto;padding:0 24px}.test-note{background:#eef3f7;text-align:center;padding:8px;font-size:11px;color:#617586}.head{display:flex;align-items:center;justify-content:space-between;padding-top:22px;padding-bottom:22px;gap:20px}.logo{color:#2451ce;font-size:32px;font-weight:900;line-height:1}.logo small{font-size:10px;display:block;letter-spacing:-.15px;margin-top:9px;font-weight:400}.head-links{display:flex;gap:20px;font-size:13px}.crumb{font-size:12px;color:var(--muted);padding-top:25px;padding-bottom:12px}.title-row{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:22px}.eyebrow{font-size:11px;letter-spacing:2px;color:#538c7e;font-weight:700}.muted{color:var(--muted);font-size:13px}.pill{display:inline-block;padding:4px 10px;background:#e8f3ec;color:var(--teal);border-radius:5px;font-size:12px;margin-right:5px}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:190px 190px;gap:8px;overflow:hidden;border-radius:20px}.gallery button{padding:0;border:0;background:#eee;position:relative;overflow:hidden}.gallery button:first-child{grid-row:1/3}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery button:hover img{transform:scale(1.03)}.gallery span{position:absolute;bottom:14px;right:14px;background:#fff;padding:8px 16px;border-radius:6px;font-size:12px}.tabs{position:sticky;top:0;z-index:4;background:#ffffffed;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;gap:28px;padding:17px 0;margin-bottom:32px;overflow:auto;white-space:nowrap;font-size:14px}.tabs a:hover{color:var(--teal)}.layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:32px}.section{margin-bottom:44px;scroll-margin-top:72px}.panel{border:1px solid var(--line);border-radius:16px;padding:24px;background:white}.soft{background:var(--cream)}.intro-points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.intro-points div{padding:18px;border-radius:12px;background:#f1f6f3}.intro-points b{display:block;margin-bottom:6px}.intro-points p{font-size:12px;margin:0;color:var(--muted)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.wide{grid-column:1/-1}.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 20px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);font-weight:600;font-size:13px}.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.full{width:100%;margin-top:16px}.room-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:16px;display:grid;grid-template-columns:220px 1fr}.room-card.selected{border:2px solid var(--teal)}.room-photo{border:0;padding:0;background:#eee;position:relative;min-height:210px}.room-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.room-photo span{position:absolute;bottom:12px;left:12px;padding:5px 9px;background:#fff;border-radius:4px;font-size:11px}.room-body{padding:20px}.room-body h3{font-size:19px}.room-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:15px}.room-bottom strong{font-size:13px}.summary{position:sticky;top:74px;align-self:start;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 30px #153b4510;padding:24px}.summary h2{font-size:21px}.summary .total{font-size:25px;font-weight:800;margin-top:10px}.quote-lines{max-height:270px;overflow:auto}.quote-line{font-size:12px;padding:10px 0;border-bottom:1px solid var(--line)}.quote-line strong{display:block}.quote-line p{margin:3px 0;color:var(--muted);font-size:11px}.status{font-size:13px;padding:12px;border-radius:8px;background:#eff6f2;margin:12px 0}.error{color:#b43831;font-size:13px;white-space:pre-line}.rows{display:grid;gap:12px;margin:18px 0}.option-row{padding:16px;background:#f4f7f6;border:1px solid var(--line);border-radius:10px}.option-row .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.remove{border:0;color:#946052;background:transparent;font-size:12px;margin-top:8px;padding:0}.note{padding:16px;background:#f1f5f8;border-radius:10px;font-size:13px}.hotel-intro{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center;margin-top:22px}.hotel-intro img{width:100%;border-radius:12px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{font-weight:600;cursor:pointer}.faq p{font-size:13px;color:var(--muted);margin-top:10px}.footer{margin-top:60px;background:#163746;color:white;padding:32px 0;font-size:13px}.hidden{display:none!important}dialog{border:0;border-radius:12px;padding:18px;max-width:1000px;width:95vw;background:#10282d;color:white}dialog::backdrop{background:#000c}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-image{width:100%;height:65vh;object-fit:contain}.thumbs{display:flex;gap:8px;overflow:auto}.thumbs button{border:0;padding:0;flex:0 0 84px;background:transparent}.thumbs img{width:84px;height:56px;object-fit:cover;border-radius:4px}.cal-head{display:flex;justify-content:space-between;align-items:center;margin:18px 0}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar>div{padding:7px 1px;text-align:center;border-radius:5px;background:#f0f6f3;font-size:12px}.calendar small{display:block;font-size:9px;color:#608478}.calendar .sold{background:#f5e7e5;color:#a15a50}.calendar .past{opacity:.4}.calendar .dow{background:none;font-size:10px}.calendar-caption{font-size:11px;margin-top:8px}.admin-wrap{max-width:1200px;margin:30px auto;padding:0 24px}.admin-table{overflow:auto}.admin-table table{width:100%;border-collapse:collapse;font-size:12px}.admin-table th,.admin-table td{text-align:left;padding:8px;border-bottom:1px solid var(--line);min-width:100px}.admin-table input{min-width:90px}.admin-record{margin-top:20px}.admin-record summary{cursor:pointer;font-weight:bold}.admin-record .field-grid{margin-top:18px}.receipt{max-width:800px;margin:30px auto}.receipt dt{font-size:12px;color:var(--muted)}.receipt dd{margin:0 0 12px;word-break:break-all;font-weight:bold}.confirmation{white-space:pre-wrap;background:#f4f7f5;padding:20px;border-radius:10px}.admin-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
@media(max-width:900px){.layout{grid-template-columns:1fr}.summary{position:static;order:2}.gallery{grid-template-rows:150px 150px}.intro-points{gap:8px}.head-links{gap:12px}.summary .quote-lines{max-height:none}}
@media(max-width:600px){.wrap{padding-left:18px;padding-right:18px}.head{padding-top:18px;padding-bottom:18px}.logo{font-size:27px}.logo small{font-size:8.5px}.head-links{font-size:11px;gap:12px}.head-links a:first-child{display:none}h1{font-size:27px}h2{font-size:23px}.title-row{display:block}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:240px 115px;gap:5px;border-radius:12px}.gallery button:first-child{grid-column:1/3;grid-row:auto}.gallery button:nth-child(4),.gallery button:nth-child(5){display:none}.tabs{gap:22px;font-size:13px}.panel{padding:18px}.intro-points{grid-template-columns:1fr}.intro-points div{padding:13px}.room-card{grid-template-columns:1fr}.room-photo{min-height:200px}.room-body{padding:18px}.field-grid{gap:12px}.hotel-intro{grid-template-columns:1fr}.section{margin-bottom:32px}.title-row .pill{margin-top:8px}.dialog-image{height:52vh}.admin-wrap{padding:0 16px}.option-row .field-grid{grid-template-columns:1fr 1fr}}
@media print{header,.test-note,.footer,.tabs,form,.admin-nav,.btn{display:none!important}.receipt{max-width:none;margin:0}.panel{border:0}.confirmation{background:white}}

.dialog-head .btn{flex-shrink:0;white-space:nowrap}.dialog-head b{font-size:14px}@media(max-width:900px){.summary{margin-bottom:32px}}
