.reservation-page{color:#172033;background:linear-gradient(#f8f9fb 0%,#fff 100%);min-height:100vh;padding:56px 20px 90px}.reservation-container{width:min(920px,100%);margin:0 auto}.reservation-header{margin-bottom:30px}.reservation-brand{color:#7e5a17;background:#fff3d8;border:1px solid #eed6a2;border-radius:999px;align-items:center;margin-bottom:15px;padding:7px 12px;font-size:13px;font-weight:800;display:inline-flex}.reservation-header h1{letter-spacing:-1.5px;margin:0;font-size:38px}.reservation-header p{color:#747e8e;max-width:650px;margin:12px 0 0;line-height:1.7}.reservation-card{background:#fff;border:1px solid #e2e6ed;border-radius:24px;overflow:hidden;box-shadow:0 18px 55px #141c2c0f}.reservation-section{padding:32px}.reservation-section+.reservation-section{border-top:1px solid #edf0f4}.section-heading{align-items:flex-start;gap:15px;margin-bottom:28px;display:flex}.section-number{color:#fff;background:#172033;border-radius:12px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:12px;font-weight:900;display:flex}.section-heading h2{margin:1px 0 5px;font-size:21px}.section-heading p{color:#87909e;margin:0;font-size:13px}.reservation-form-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.phone-field{grid-column:1/-1}.field-group label{color:#414a59;margin-bottom:9px;font-size:14px;font-weight:800;display:block}.field-group>input{color:#1e2633;background:#fff;border:1px solid #d8dee7;border-radius:11px;width:100%;height:50px;padding:0 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.field-group>input:focus{border-color:#d29b31;outline:none;box-shadow:0 0 0 3px #d29b311f}.phone-verification{margin-top:10px}.verification-send-button{color:#fff;cursor:pointer;background:#172033;border:1px solid #172033;border-radius:9px;height:42px;padding:0 16px;font-size:13px;font-weight:800}.verification-send-button:hover:not(:disabled){background:#29344a}.verification-send-button:disabled{opacity:.45;cursor:not-allowed}.verification-code-row{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;display:grid}.verification-code-row input{border:1px solid #d8dee7;border-radius:9px;height:43px;padding:0 13px;font-size:14px}.verification-code-row button{color:#fff;cursor:pointer;background:#172033;border:0;border-radius:9px;padding:0 14px;font-size:13px;font-weight:800}.verification-code-row .resend-button{color:#596273;background:#fff;border:1px solid #d9dee7}.verification-message{color:#9b7020;margin:9px 0 0;font-size:13px}.verification-message.success{color:#247044;font-weight:700}.verified-banner{color:#287047;background:#eef9f2;border:1px solid #bcdcc7;border-radius:10px;margin-top:18px;padding:12px 14px;font-size:13px;font-weight:800}.schedule-section.locked{background:#fbfbfc}.schedule-locked-box{text-align:center;background:#f8f9fb;border:1px dashed #d9dee6;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:220px;padding:30px;display:flex}.lock-icon{margin-bottom:12px;font-size:32px}.schedule-locked-box strong{max-width:390px;font-size:16px;line-height:1.5}.schedule-locked-box p{color:#8b94a2;margin:9px 0 0;font-size:13px;line-height:1.6}.schedule-picker{margin-top:4px}.date-list{scrollbar-width:thin;gap:10px;padding:4px 2px 15px;display:flex;overflow-x:auto}.date-card{color:#5d6777;cursor:pointer;background:#fff;border:1px solid #dfe4eb;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:92px;height:108px;transition:border-color .15s,background .15s,color .15s,transform .15s,box-shadow .15s;display:flex}.date-card:hover{background:#fffaf0;border-color:#d1a040;transform:translateY(-1px)}.date-card.active{color:#fff;background:#172033;border-color:#172033;box-shadow:0 8px 18px #17203326}.date-card strong{font-size:25px}.date-card span{font-size:12px}.date-card small{opacity:.75;margin-top:4px;font-size:10px}.time-section{margin-top:20px}.time-section h3{margin:0 0 13px;font-size:16px}.time-grid{grid-template-columns:repeat(5,1fr);gap:9px;display:grid}.time-button{color:#4f5969;cursor:pointer;background:#fff;border:1px solid #dce1e8;border-radius:10px;height:46px;font-size:14px;font-weight:800;transition:background .15s,border-color .15s,color .15s}.time-button:hover{background:#fff9ee;border-color:#d19c34}.time-button.active{color:#fff;background:#172033;border-color:#172033}.method-selection{border-top:1px solid #edf0f4;margin-top:28px;padding-top:24px}.method-selection h3{margin:0;font-size:17px}.method-selection>p{color:#858e9c;margin:6px 0 15px;font-size:13px}.customer-method-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.customer-method{color:#525d6d;cursor:pointer;background:#fff;border:1px solid #dde2e9;border-radius:13px;justify-content:center;align-items:center;gap:8px;min-height:76px;transition:all .15s;display:flex}.customer-method span{font-size:21px}.customer-method:hover{background:#fff9ed;border-color:#d5a440}.customer-method.active{color:#35290e;background:#fff4d9;border:2px solid #d19a31}.reservation-summary{background:#f7f9fb;border:1px solid #dbe1e9;border-radius:14px;justify-content:space-between;gap:20px;margin:0 32px 24px;padding:18px;display:flex}.reservation-summary>div{flex-direction:column;gap:5px;display:flex}.reservation-summary span{color:#89919e;font-size:12px}.reservation-summary strong{font-size:15px}.reservation-error{color:#aa3b3b;background:#fff2f2;border:1px solid #edc6c6;border-radius:10px;margin:0 32px 20px;padding:13px 15px;font-size:13px;font-weight:700}.reservation-submit-button{color:#fff;cursor:pointer;background:#172033;border:0;border-radius:13px;width:calc(100% - 64px);height:58px;margin:0 32px 32px;font-size:16px;font-weight:900;transition:background .15s,transform .15s,box-shadow .15s}.reservation-submit-button:hover:not(:disabled){background:#29344a;transform:translateY(-1px);box-shadow:0 10px 25px #17203329}.reservation-submit-button:disabled{cursor:not-allowed;background:#c5cad2}.schedule-loading,.empty-schedule{color:#7e8795;text-align:center;background:#f8f9fb;border:1px dashed #dce1e8;border-radius:14px;padding:50px 20px}@media (width<=720px){.reservation-page{padding:30px 12px 60px}.reservation-header h1{font-size:30px}.reservation-section{padding:22px 18px}.reservation-form-grid{grid-template-columns:1fr}.phone-field{grid-column:auto}.verification-code-row{grid-template-columns:1fr auto}.verification-code-row .resend-button{grid-column:1/-1;height:40px}.time-grid{grid-template-columns:repeat(3,1fr)}.customer-method-grid{grid-template-columns:1fr}.reservation-summary{flex-direction:column;margin:0 18px 20px}.reservation-error{margin:0 18px 18px}.reservation-submit-button{width:calc(100% - 36px);margin:0 18px 22px}}.hanwol-login-page{color:#172033;background:radial-gradient(circle at 50% 10%,#fff8e8 0,#f7f8fb 38%,#f3f5f8 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.hanwol-login-card{text-align:center;background:#fff;border:1px solid #e4e8ee;border-radius:24px;width:100%;max-width:420px;padding:46px 38px;box-shadow:0 18px 60px #1b223017}.hanwol-symbol{background:#fff4d9;border-radius:20px;justify-content:center;align-items:center;width:68px;height:68px;margin:0 auto 20px;font-size:34px;display:flex;box-shadow:inset 0 0 0 1px #eed9aa}.hanwol-login-card h1{letter-spacing:-1px;margin:0;font-size:30px}.hanwol-login-card>p{color:#7a8493;margin:9px 0 30px;font-size:15px}.hanwol-login-card form{flex-direction:column;gap:14px;display:flex}.hanwol-login-card input{color:#172033;text-align:center;letter-spacing:7px;background:#fafbfc;border:1px solid #d9dee7;border-radius:13px;width:100%;height:54px;padding:0 16px;font-size:18px;transition:border-color .15s,background .15s,box-shadow .15s}.hanwol-login-card input::placeholder{color:#9aa2af;letter-spacing:0;font-size:14px}.hanwol-login-card input:focus{background:#fff;border-color:#d19a32;outline:none;box-shadow:0 0 0 4px #d19a321f}.hanwol-login-card button{color:#fff;cursor:pointer;background:#172033;border:none;border-radius:13px;width:100%;height:54px;margin-top:4px;font-size:16px;font-weight:800;transition:background .15s,transform .15s,box-shadow .15s}.hanwol-login-card button:hover:not(:disabled){background:#29344a;transform:translateY(-1px);box-shadow:0 10px 24px #1720332e}.hanwol-login-card button:active:not(:disabled){transform:translateY(0)}.hanwol-login-card button:disabled{color:#fff;cursor:not-allowed;background:#c7ccd4}.hanwol-login-card .error-box{color:#ad3838;text-align:left;background:#fff1f1;border:1px solid #efc3c3;border-radius:10px;margin:0;padding:12px 14px;font-size:13px;font-weight:600}@media (width<=500px){.hanwol-login-page{padding:16px}.hanwol-login-card{border-radius:20px;padding:36px 24px}.hanwol-symbol{width:60px;height:60px;font-size:30px}.hanwol-login-card h1{font-size:27px}}.hanwol-dashboard{color:#172033;background:#f6f7f9;min-height:100vh;padding:42px max(24px,50vw - 590px) 80px}.hanwol-dashboard-header{justify-content:space-between;align-items:center;gap:30px;margin-bottom:30px;display:flex}.hanwol-brand{color:#9a7021;margin-bottom:8px;font-size:14px;font-weight:800}.hanwol-dashboard-header h1{letter-spacing:-1px;margin:0;font-size:32px}.hanwol-dashboard-header p{color:#788191;margin:8px 0 0}.hanwol-header-actions{align-items:center;gap:10px;display:flex}.schedule-setting-button,.logout-button,.refresh-button{cursor:pointer;border-radius:11px;height:44px;padding:0 17px;font-size:14px;font-weight:700;transition:all .15s}.schedule-setting-button{color:#fff;background:#172033;border:1px solid #172033}.schedule-setting-button:hover{background:#29344a;transform:translateY(-1px)}.logout-button,.refresh-button{color:#515b6b;background:#fff;border:1px solid #dce1e8}.logout-button:hover,.refresh-button:hover{background:#f0f2f5}.hanwol-summary{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.summary-box{background:#fff;border:1px solid #e3e7ed;border-radius:18px;flex-direction:column;justify-content:space-between;min-height:130px;padding:22px;display:flex;box-shadow:0 7px 24px #141c2c0a}.summary-box span{color:#778191;font-size:14px;font-weight:600}.summary-box strong{font-size:38px;line-height:1}.summary-box.pending{background:#fffaf0;border-color:#eddbb4}.summary-box.payment{background:#fff7ee;border-color:#f2d3aa}.summary-box.confirmed{background:#f1faf5;border-color:#c9e6d4}.summary-box.today{background:#f1f6ff;border-color:#cfddf4}.hanwol-reservation-section{background:#fff;border:1px solid #e3e7ed;border-radius:20px;padding:28px;box-shadow:0 8px 30px #141c2c0a}.reservation-section-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.reservation-section-header h2{margin:0;font-size:23px}.reservation-section-header p{color:#7a8392;margin:6px 0 0;font-size:14px}.empty-reservations{text-align:center;color:#737d8d;flex-direction:column;justify-content:center;align-items:center;min-height:280px;display:flex}.empty-icon{margin-bottom:14px;font-size:42px}.empty-reservations strong{color:#333c4b;font-size:17px}.empty-reservations p{line-height:1.6}.hanwol-reservation-list{flex-direction:column;gap:14px;display:flex}.hanwol-reservation-card{border:1px solid #e4e8ee;border-radius:17px;padding:22px;transition:border-color .15s,box-shadow .15s,transform .15s}.hanwol-reservation-card:hover{border-color:#d4d9e1;transform:translateY(-1px);box-shadow:0 7px 20px #141c2c0f}.reservation-card-top{justify-content:space-between;gap:30px;display:flex}.reservation-card-top h3{margin:11px 0 8px;font-size:21px}.customer-info{color:#687282;gap:16px;font-size:14px;display:flex}.reservation-date{flex-direction:column;align-items:flex-end;gap:7px;min-width:220px;display:flex}.reservation-date span{color:#89919e;font-size:12px}.reservation-date strong{font-size:16px}.reservation-status{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.reservation-status.pending_approval{color:#855c00;background:#fff2cf}.reservation-status.approved_waiting_payment,.reservation-status.payment_checking{color:#a35b08;background:#fff1df}.reservation-status.confirmed{color:#247044;background:#e7f7ed}.reservation-status.completed{color:#3768b0;background:#ecf3ff}.reservation-status.rejected,.reservation-status.cancelled,.reservation-status.expired{color:#727985;background:#f2f3f5}.reservation-product{background:#f7f8fa;border-radius:12px;align-items:center;gap:12px;margin-top:20px;padding:15px 16px;display:flex}.reservation-product>span:first-child{color:#8b939f;font-size:12px}.reservation-product strong{font-size:14px}.reservation-product .price{color:#303947;margin-left:auto;font-size:14px;font-weight:800}.reservation-card-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.reject-button,.approve-button,.payment-confirm-button{cursor:pointer;border-radius:10px;height:43px;padding:0 18px;font-size:14px;font-weight:800;transition:all .15s}.reject-button{color:#ae3a3a;background:#fff7f7;border:1px solid #efcccc}.reject-button:hover{background:#fde8e8}.approve-button{color:#fff;background:#172033;border:1px solid #172033}.approve-button:hover{background:#29344a}.payment-confirm-button{color:#fff;background:#28754b;border:1px solid #28754b}.payment-confirm-button:hover{background:#21613e}.hanwol-loading{color:#6e7786;background:#f6f7f9;justify-content:center;align-items:center;min-height:100vh;font-size:15px;display:flex}@media (width<=800px){.hanwol-dashboard{padding:24px 14px 60px}.hanwol-dashboard-header{display:block}.hanwol-header-actions{margin-top:20px}.hanwol-summary{grid-template-columns:repeat(2,1fr)}.summary-box{min-height:105px}.summary-box strong{font-size:30px}.hanwol-reservation-section{padding:18px}.reservation-card-top{display:block}.reservation-date{align-items:flex-start;margin-top:18px}.customer-info{flex-direction:column;gap:5px}.reservation-card-actions{flex-direction:column}.reject-button,.approve-button,.payment-confirm-button{width:100%}}.schedule-admin-page{color:#172033;background:#f7f8fb;min-height:100vh;padding-bottom:80px}.schedule-admin-header{max-width:1180px;margin:0 auto;padding:42px 24px 24px}.schedule-admin-header h1{letter-spacing:-1px;margin:18px 0 8px;font-size:32px}.schedule-admin-header p{color:#727c8c;margin:0}.back-button{color:#596274;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:700}.back-button:hover{color:#172033}.schedule-admin-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);align-items:start;gap:24px;width:min(1180px,100% - 48px);margin:0 auto;display:grid}.schedule-setting-card,.current-schedule-card{background:#fff;border:1px solid #e3e7ed;border-radius:20px;padding:28px;box-shadow:0 8px 30px #141c2c0a}.schedule-setting-card h2,.current-schedule-card h2{margin:0;font-size:22px}.form-group{margin-top:26px}.form-group>label{color:#3c4555;margin-bottom:10px;font-size:14px;font-weight:800;display:block}.date-range,.time-range,.form-row{align-items:center;gap:12px;display:flex}.form-row{align-items:flex-start}.form-row .form-group{flex:1}.schedule-setting-card input,.schedule-setting-card select{color:#232b39;background:#fff;border:1px solid #d9dee8;border-radius:11px;width:100%;height:48px;padding:0 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.schedule-setting-card input:focus,.schedule-setting-card select:focus{border-color:#c99532;outline:none;box-shadow:0 0 0 3px #c9953221}.weekday-selector{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.weekday{color:#626d7d;cursor:pointer;background:#fff;border:1px solid #dde2ea;border-radius:12px;height:46px;font-weight:800;transition:background .15s,border-color .15s,color .15s,transform .12s,box-shadow .12s}.weekday:hover{background:#fffaf1;border-color:#d4a84c;transform:translateY(-1px)}.weekday.active{color:#fff;background:#172033;border-color:#172033;box-shadow:0 6px 14px #17203326}.weekday:first-child:not(.active){color:#cf4a4a}.weekday:last-child:not(.active){color:#4675bd}.method-selector{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.method-card{color:#555f70;cursor:pointer;background:#fff;border:1px solid #dde2ea;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:96px;transition:background .15s,border-color .15s,color .15s,transform .15s,box-shadow .15s;display:flex;position:relative}.method-card span{font-size:25px}.method-card strong{font-size:14px}.method-card:hover{background:#fffaf1;border-color:#d9ae55;transform:translateY(-2px)}.method-card.active{color:#34270d;background:#fff6df;border:2px solid #d29a2c;box-shadow:0 7px 16px #d29a2c26}.method-card.active:after{content:"✓";color:#fff;background:#cf9422;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:900;display:flex;position:absolute;top:8px;right:10px}.open-schedule-button{color:#fff;cursor:pointer;background:#172033;border:0;border-radius:13px;width:100%;height:54px;margin-top:30px;font-size:16px;font-weight:800;transition:background .15s,transform .15s,box-shadow .15s}.open-schedule-button:hover:not(:disabled){background:#273249;transform:translateY(-1px);box-shadow:0 10px 22px #17203329}.open-schedule-button:disabled{opacity:.45;cursor:not-allowed}.schedule-message{border-radius:11px;margin-top:24px;padding:14px 16px;font-size:14px;font-weight:700}.schedule-message.success{color:#276d45;background:#edf8f1;border:1px solid #bddfc9}.schedule-message.error{color:#af3737;background:#fff1f1;border:1px solid #edc4c4}.current-schedule-title{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.current-schedule-title p{color:#7b8493;margin:7px 0 0;font-size:14px}.current-schedule-title>strong{background:#f0f2f6;border-radius:999px;justify-content:center;align-items:center;min-width:56px;height:34px;font-size:13px;display:flex}.admin-slot-list{flex-direction:column;gap:10px;max-height:650px;margin-top:22px;display:flex;overflow-y:auto}.admin-slot{background:#fafbfc;border:1px solid #e3e7ed;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;padding:16px 17px;display:flex}.admin-slot>div:first-child{flex-direction:column;gap:5px;display:flex}.admin-slot strong{font-size:15px}.admin-slot span{color:#788291;font-size:13px}.slot-close,.slot-open{cursor:pointer;border-radius:9px;min-width:74px;height:36px;font-size:13px;font-weight:800}.slot-close{color:#ab3939;background:#fff6f6;border:1px solid #e3c3c3}.slot-close:hover{background:#fde8e8}.slot-open{color:#29734b;background:#f0faf4;border:1px solid #bfd8c9}.slot-open:hover{background:#e2f4e9}.reserved-label{color:#707986;background:#eef1f4;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:700;display:inline-flex}@media (width<=900px){.schedule-admin-grid{grid-template-columns:1fr}}@media (width<=600px){.schedule-admin-header{padding:26px 16px 18px}.schedule-admin-grid{width:calc(100% - 28px)}.schedule-setting-card,.current-schedule-card{border-radius:17px;padding:20px}.date-range,.time-range{grid-template-columns:1fr auto 1fr;display:grid}.form-row{display:block}.weekday-selector{gap:5px}.weekday{height:42px;font-size:13px}.method-selector{grid-template-columns:1fr}.method-card{flex-direction:row;justify-content:flex-start;min-height:68px;padding:0 18px}.admin-slot{align-items:flex-start}}*{box-sizing:border-box}body{color:#172033;background:#f8fafc;margin:0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.header{background:#fff;border-bottom:1px solid #e8edf3;justify-content:space-between;align-items:center;height:72px;padding:0 40px;display:flex}.logo{font-size:22px;font-weight:800}.nav{align-items:center;gap:22px;display:flex}.user-name{font-weight:700}.link-button{cursor:pointer;background:0 0;border:0;font-size:15px}.container{width:min(1100px,92%);margin:0 auto}.hero{padding:100px 0 70px}.hero-badge{background:#fff4d8;border-radius:999px;padding:8px 14px;font-weight:700;display:inline-block}.hero h1{margin:18px 0 8px;font-size:56px}.hero p{color:#657082;font-size:20px}.welcome-box{background:#fff;border:1px solid #e4e8ee;border-radius:14px;margin-top:28px;padding:20px}.card-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.card,.page-card{background:#fff;border:1px solid #e5e9ef;border-radius:18px;padding:28px}.card h3{margin-top:0}.card p{color:#657082;line-height:1.6}.auth-container{justify-content:center;align-items:center;min-height:calc(100vh - 72px);padding:40px;display:flex}.auth-card{background:#fff;border:1px solid #e4e8ee;border-radius:20px;width:100%;max-width:440px;padding:40px}.auth-logo{font-size:40px}.auth-card h1{margin-bottom:6px}.auth-description{color:#737d8d;margin-bottom:30px}.form{flex-direction:column;gap:10px;display:flex}.form label{margin-top:8px;font-size:14px;font-weight:700}.form input{border:1px solid #d8dee8;border-radius:10px;height:48px;padding:0 14px;font-size:15px}.form input:focus{border-color:#0000;outline:2px solid #ffcf64}.primary-button{color:#fff;cursor:pointer;background:#172033;border:0;border-radius:10px;height:50px;margin-top:20px;font-size:16px;font-weight:700}.primary-button:disabled{opacity:.5}.error-box{color:#b42318;background:#fff1f1;border-radius:10px;margin-bottom:18px;padding:12px 14px}.auth-footer{text-align:center;color:#737d8d;margin-top:24px}.auth-footer a{color:#172033;font-weight:700}.page-card{margin-top:60px}.profile-row{border-bottom:1px solid #edf0f4;justify-content:space-between;padding:18px 0;display:flex}.profile-row span{color:#737d8d}.center{text-align:center;padding:100px}@media (width<=768px){.header{padding:0 20px}.card-grid{grid-template-columns:1fr}.hero h1{font-size:40px}}
