:root{--ink:#173238;--muted:#788782;--forest:#315a4b;--line:#dfe6df;--soft:#f4f6f2;--cream:#fff;--gold:#bd996a;--pink:#fff0e9}*{box-sizing:border-box}html{font-family:'DM Sans','Noto Sans KR',sans-serif}body{margin:0;background:#f7f8f5;color:var(--ink);line-height:1.6}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.45;cursor:not-allowed}.console{min-height:100vh}.admin-head{min-height:93px;background:#173238;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(20px,5vw,85px);gap:15px}.wordmark{font-weight:700;letter-spacing:1.4px;font-size:17px}.wordmark span{font-weight:400;color:#e2e8dd}.wordmark small{display:block;font-size:9px;letter-spacing:3.2px;color:#bdcdbf;margin-top:4px}.head-side{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.head-side>span{font-size:10px;letter-spacing:1px;color:#bad0b9}.ghost{padding:9px 15px;background:transparent;border:1px solid #78918d;color:#f6f7f3;font-size:12px;border-radius:3px}.ghost:hover{background:#ffffff19}.login-view{min-height:calc(100vh - 160px);display:grid;place-items:center;padding:46px 18px}.login-card{background:white;border:1px solid var(--line);padding:clamp(26px,5vw,58px);width:min(530px,100%);box-shadow:0 18px 70px #162e2110}.kicker{font-size:11px;color:#719389;letter-spacing:2.6px;font-weight:700}.login-card h1,.welcome h1{font-weight:500;font-size:clamp(38px,4vw,59px);letter-spacing:-2.5px;margin:5px 0 9px}.login-card h1 i{font-family:serif;font-weight:400;color:var(--forest)}.support-text,.welcome p:not(.kicker){font-size:14px;color:var(--muted);max-width:510px}.login-card form{margin-top:28px}.login-card label{font-size:11px;letter-spacing:1px;font-weight:700;display:block}.login-card input{width:100%;display:block;padding:14px 15px;margin-top:8px;border:1px solid var(--line);background:#fcfdfc;font-size:15px;letter-spacing:normal}.primary{background:var(--forest);color:#fff;border:0;border-radius:3px;padding:13px 20px;font-weight:600}.primary:hover{background:#1e4536}.login-card form .primary{width:100%;margin-top:17px}.warn{color:#b94637;font-size:13px;min-height:18px}.smallprint{font-size:11px;color:var(--muted);margin-top:18px}.dashboard{max-width:1460px;margin:auto;padding:47px clamp(18px,4vw,65px) 85px}.welcome h1{margin:0}.welcome h1 span{color:#96b5a3}.welcome .kicker{margin-bottom:7px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:27px}.stat{background:white;border:1px solid var(--line);padding:22px 24px;display:flex;flex-direction:column;gap:4px}.stat small{font-size:10px;letter-spacing:1.6px;color:#699282;font-weight:700}.stat strong{font-size:36px;font-weight:500;line-height:1.3}.stat span{font-size:12px;color:var(--muted)}.tabbar{margin-top:36px;display:flex;border-bottom:1px solid var(--line);gap:14px}.tab{background:transparent;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;padding:14px 19px;color:#8b9b96;font-size:12px;letter-spacing:1.2px;font-weight:700}.tab span{font-size:12px;letter-spacing:0;margin-left:7px;font-weight:400}.tab.active{border-color:#335d4b;color:var(--ink)}.panel{padding-top:28px}.panel-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-top h2{font-weight:500;font-size:27px;margin:4px 0}.outline{border:1px solid #ccdcd0;background:#fff;border-radius:3px;padding:10px 14px;color:#365a4b;font-size:12px}.outline:hover{background:#edf4ee}.filters{display:flex;gap:12px;margin:20px 0 10px;flex-wrap:wrap}.filters label{display:flex;gap:8px;align-items:center;color:#687c74;font-size:12px}.filters select,.filters input{border:1px solid #dce5dd;background:#fff;color:#243f34;padding:10px 12px;min-width:170px}.filters input{min-width:min(340px,65vw)}.muted{font-size:12px;color:#809088}.reservation-list{display:grid;gap:14px;margin-top:17px}.reservation-card{background:white;border:1px solid var(--line);padding:21px 23px}.booking-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.reference{font-size:11px;letter-spacing:1px;color:#79968b;font-weight:700}.booking-top h3{font-size:18px;margin:5px 0;font-weight:600}.status-chip{display:inline-flex;border-radius:100px;background:#edf5ee;color:#4e6a5c;font-size:11px;padding:5px 11px}.status-chip.pending_review{background:#fff1e8;color:#9e683d}.status-chip.confirmed{background:#e9f6ee;color:#246c4d}.status-chip.cancelled{background:#f6eded;color:#955e5e}.booking-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;border-top:1px solid #f0f2ef;border-bottom:1px solid #f0f2ef;margin:13px 0;padding:12px 0}.booking-fields small{display:block;color:#829188;font-size:10px;letter-spacing:.6px}.booking-fields strong{font-size:13px;overflow-wrap:anywhere}.guest-message{font-size:12px;color:#5e7369;margin:8px 0 15px;white-space:pre-wrap}.booking-tools{display:grid;grid-template-columns:minmax(160px,220px) minmax(200px,1fr) auto;align-items:end;gap:10px}.booking-tools label{color:#829188;font-size:11px}.booking-tools select,.booking-tools textarea{width:100%;display:block;background:#fcfdfb;border:1px solid #dfe6df;padding:9px 10px;color:#3a5144}.booking-tools textarea{height:44px;resize:vertical}.empty{padding:30px;text-align:center;color:#87968c;font-size:13px;border:1px dashed #d6e1d8;background:#fff}.chat-layout{display:grid;grid-template-columns:minmax(230px,33%) 1fr;min-height:550px;margin-top:20px;border:1px solid var(--line);background:#fff}.conversation-list{border-right:1px solid var(--line);max-height:660px;overflow-y:auto}.conversation-list .empty{border:0}.convo-row{width:100%;background:#fff;border:0;border-bottom:1px solid #edf0e9;text-align:left;padding:17px 19px;display:block}.convo-row.selected{background:#ecf3ee;border-left:3px solid #3e6f54;padding-left:16px}.convo-row b{font-size:13px}.convo-row em{float:right;font-style:normal;font-size:10px;color:#789185}.convo-row p{margin:6px 0 0;font-size:12px;color:#80918a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-detail{display:flex;flex-direction:column;min-width:0}.conversation-head{padding:17px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;align-items:center}.conversation-head strong{display:block;font-size:15px}.conversation-head small{font-size:11px;color:#7a8b7d}.chat-thread{padding:20px;flex:1;max-height:440px;overflow:auto;display:flex;flex-direction:column;gap:12px}.message{max-width:min(85%,550px);padding:11px 13px;background:#f3f5ef;border-radius:10px 10px 10px 2px;align-self:flex-start;white-space:pre-wrap;font-size:13px;overflow-wrap:anywhere}.message.admin{background:#365d4a;color:white;align-self:flex-end;border-radius:10px 10px 2px 10px}.message small{display:block;font-size:9px;margin-top:5px;opacity:.6}.reply-form{display:flex;gap:10px;padding:14px 18px;border-top:1px solid var(--line);align-items:end}.reply-form textarea{border:1px solid var(--line);min-height:68px;resize:vertical;padding:11px;flex:1;min-width:0}.reply-form .primary{white-space:nowrap}.console>footer{text-align:center;padding:25px;color:#899990;font-size:10px;letter-spacing:1px}@media(max-width:860px){.stats{grid-template-columns:repeat(2,1fr)}.booking-fields{grid-template-columns:repeat(2,1fr)}.booking-tools{grid-template-columns:1fr 1fr}.booking-tools button{grid-column:1/-1}.chat-layout{grid-template-columns:1fr}.conversation-list{max-height:180px;border-bottom:1px solid var(--line);border-right:0}.chat-thread{height:340px;flex:auto}.head-side>span{display:none}}@media(max-width:530px){.admin-head{padding:15px}.wordmark{font-size:13px}.ghost{padding:7px;font-size:10px}.dashboard{padding:24px 15px}.stat{padding:15px}.stat strong{font-size:28px}.tab{padding:12px 7px;font-size:10px}.tab span{display:block}.panel-top h2{font-size:22px}.booking-fields{grid-template-columns:1fr 1fr}.booking-tools{grid-template-columns:1fr}.booking-tools button{grid-column:1}.reply-form{flex-direction:column;align-items:stretch}}
