:root{--prim: #0077A3;--prim-dk: #005F80;--prim-lt: #E0F3FA;--prim-pale: #F0FAFD;--rw: linear-gradient(90deg, #0077A3, #29AADC, #005F80);--bg: #F0F8FC;--sur: #fff;--sur2: #EEF7FB;--bdr: #C8E8F5;--bdr2: #8DC8E8;--t1: #1C2833;--t2: #3A5070;--t3: #32586A;--grn-bg: #E8F6E8;--grn-t: #155A22;--red-bg: #FEECEC;--red-t: #96271B;--amb-bg: #FFF5E0;--amb-t: #6B4600;--rad: 8px;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic UI,sans-serif;color:var(--t1);line-break:strict}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:16px;line-height:1.6}button{font-family:inherit}:focus-visible{outline:3px solid var(--prim-dk);outline-offset:1px}button:disabled,[aria-busy=true]{opacity:.55;cursor:not-allowed}.gnav{background:var(--prim);position:sticky;top:0;z-index:10}.gnav:after{content:"";display:block;height:4px;background:var(--rw)}.gnav-inner{max-width:1080px;margin:0 auto;min-height:60px;display:flex;align-items:center;gap:24px;padding:8px 16px;color:#fff}.gnav-logo{font-weight:700;font-size:18px;white-space:nowrap;display:flex;align-items:center;gap:8px;text-decoration:none;color:#fff}.gnav-logo .mark{width:36px;height:36px;border-radius:50%;background:var(--rw);display:grid;place-items:center;font-size:14px}.gnav-links{display:flex;gap:16px;margin-left:auto;font-size:14px;flex-wrap:wrap}.gnav-links a{color:#eaf7fd;text-decoration:none;white-space:nowrap}.gnav-links a.active{font-weight:700;color:#fff;border-bottom:2px solid #fff}.gnav-login{background:#fff;color:var(--prim-dk);border:none;border-radius:999px;padding:8px 16px;font-weight:700;font-size:14px;min-height:40px}.hero{background:linear-gradient(135deg,#0a4a6a,#0077a3,#1a7a9a);color:#fff;padding:40px 16px 48px;text-align:center}.hero:after{content:"";display:block;height:4px;background:var(--rw);margin-top:-12px}.hero .badge{display:inline-block;background:#ffffff2e;border-radius:999px;padding:4px 14px;font-size:13px;margin-bottom:12px}.hero h1{margin:0 0 8px;font-size:26px;line-height:1.4}.hero p{margin:0;opacity:.92;font-size:15px}.site-footer{background:var(--t1);color:#cfd8e0;margin-top:48px;padding:24px 16px 32px;text-align:center;font-size:13px}.site-footer a{color:#cfd8e0;margin:0 8px}.stepper{max-width:700px;margin:24px auto 0;padding:0 16px;display:flex;gap:4px}.step{flex:1;text-align:center;font-size:12px;color:var(--t2)}.step .dot{width:34px;height:34px;border-radius:50%;border:2px solid var(--bdr2);display:grid;place-items:center;margin:0 auto 4px;background:var(--sur);font-weight:700}.step.done .dot{background:var(--prim-lt);border-color:var(--prim);color:var(--prim-dk)}.step.cur .dot{background:var(--rw);border:none;color:#fff;box-shadow:0 0 0 5px #0077a32e}.step .lbl{white-space:nowrap}.step.cur .lbl{color:var(--prim-dk);font-weight:700}.page{max-width:1080px;margin:0 auto;padding:24px 16px 48px}.two-col{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start}@media(max-width:900px){.two-col{grid-template-columns:1fr}}.card{background:var(--sur);border:1px solid var(--bdr);border-radius:14px}.card+.card{margin-top:16px}.card-hdr{padding:14px 18px 0;font-size:18px;font-weight:700}.card-hdr .sub{font-size:13px;font-weight:400;color:var(--t2);margin-top:2px}.card-bd{padding:14px 18px 18px}.sticky{position:sticky;top:76px}.menu-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--sur);border:1.5px solid var(--bdr);border-radius:14px;padding:14px 16px;margin-top:12px;cursor:pointer;min-height:48px}.menu-card:hover{background:var(--prim-pale)}.menu-card.sel{border-color:var(--prim);background:var(--prim-lt);box-shadow:0 0 0 1px var(--prim)}.menu-card.dis{opacity:.55;cursor:not-allowed}.menu-card .check{width:26px;height:26px;border-radius:50%;border:2px solid var(--bdr2);flex:none;display:grid;place-items:center;color:#fff;font-size:14px}.menu-card.sel .check{background:var(--rw);border:none}.menu-card .body{flex:1;min-width:0}.menu-card .name{font-size:17px;font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.menu-card .desc{font-size:13px;color:var(--t2);margin-top:2px}.menu-card .side{text-align:right;flex:none;font-size:13px;color:var(--t2)}.menu-card .side .price{font-size:17px;font-weight:700;color:var(--prim-dk);white-space:nowrap}.badge{display:inline-block;font-size:11px;border-radius:999px;padding:2px 10px;font-weight:700}.b-sky{background:var(--prim-lt);color:var(--prim-dk)}.b-blue{background:#e7f1fb;color:#18528b}.b-gray{background:var(--sur2);color:var(--t3)}.sec-h{margin:20px 0 4px;font-size:15px;font-weight:700;color:var(--t3)}.vt-toggle{display:flex;gap:12px}.vt-toggle button{flex:1;min-height:48px;border-radius:10px;border:1.5px solid var(--bdr);background:var(--sur);font-size:15px;cursor:pointer;padding:10px}.vt-toggle button.sel{border-color:var(--prim);background:var(--prim-lt);font-weight:700}.vt-toggle .sub{display:block;font-size:12px;font-weight:400;color:var(--t2)}.sum-rows{margin:4px 0 12px}.sum-rows .row{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px dashed var(--bdr);font-size:14px}.sum-rows .row .k{color:var(--t2);flex:none}.sum-rows .row .v{text-align:right;font-weight:600}.sum-rows .row.total .v{font-size:22px;font-weight:700;color:var(--prim-dk)}.note{font-size:13px;color:var(--t2);margin-top:8px}.info-box{background:var(--sur2);border-radius:10px;padding:12px 14px;font-size:13px;color:var(--t2);margin-top:12px}.info-box.blue{background:#e7f1fb;color:#18528b}.warn-box{background:var(--amb-bg);color:var(--amb-t);border-radius:10px;padding:14px;font-size:14px;margin-top:12px}.warn-box strong{display:block;margin-bottom:4px}.btn{display:block;width:100%;min-height:52px;border-radius:12px;font-size:16px;font-weight:700;border:none;cursor:pointer;padding:12px 16px}.btn+.btn{margin-top:10px}.btn-pri{background:var(--prim);color:#fff;box-shadow:0 2px 8px #005f804d}.btn-rw{background:var(--rw);color:#fff;box-shadow:0 2px 10px #005f8059}.btn-sec{background:var(--sur);color:var(--prim-dk);border:1.5px solid var(--bdr2)}.btn-line{background:#06c755;color:#fff;display:block;text-align:center;text-decoration:none;box-shadow:0 2px 8px #06c7554d}.btn-line:hover{background:#05b34a;color:#fff}.auth-or{display:flex;align-items:center;gap:12px;margin:14px 0;color:var(--t2);font-size:13px}.auth-or:before,.auth-or:after{content:"";flex:1;height:1px;background:var(--bdr)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.sm{width:auto;min-height:40px;font-size:14px;padding:8px 16px}.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cal-nav button{width:48px;height:48px;border-radius:10px;border:1px solid var(--bdr);background:var(--sur);font-size:18px;cursor:pointer}.cal-nav .mon{font-size:17px;font-weight:700}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-grid .hd{text-align:center;font-size:12px;color:var(--t2);padding:4px 0}.cal-grid .hd.sun{color:#b31226}.cd{aspect-ratio:1;min-height:40px;border-radius:10px;border:1px solid var(--bdr);background:var(--sur);font-size:14px;font-weight:600;cursor:pointer;display:grid;place-items:center}.cd.av{background:var(--prim-lt);color:var(--prim-dk)}.cd.av:hover{background:#cfeaf6}.cd.sel{background:var(--prim);color:#fff;border-color:var(--prim);box-shadow:0 2px 8px #005f8059}.cd.full{color:var(--t3);opacity:.45;cursor:not-allowed;background:var(--sur2)}.cd.sun.av{color:#c0392b}.cd.empty{border:none;background:transparent;cursor:default}.legend{display:flex;gap:12px;font-size:12px;color:var(--t2);margin-top:10px;flex-wrap:wrap}.legend .sw{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;margin-right:4px;border:1px solid var(--bdr)}.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media(max-width:640px){.slot-grid{grid-template-columns:repeat(3,1fr)}}.slot{min-height:56px;border-radius:10px;border:1.5px solid var(--bdr);background:var(--sur);cursor:pointer;text-align:center;padding:8px 4px}.slot .t{font-size:16px;font-weight:700}.slot .s{font-size:11px;color:var(--t2)}.slot.av:hover{background:var(--prim-pale)}.slot.sel{background:var(--prim);border-color:var(--prim);color:#fff}.slot.sel .s{color:#fff}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:640px){.form-row{grid-template-columns:1fr}}.field{margin-top:12px}.field label{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;margin-bottom:6px}.field .req{color:var(--red-t);font-size:12px}.field .opt{color:var(--t2);font-size:12px;font-weight:400}.finput{width:100%;min-height:48px;font-size:18px;border:1.5px solid var(--bdr);border-radius:8px;background:var(--sur2);padding:10px 14px;font-family:inherit}.finput:focus{outline:none;border-color:var(--prim);background:#fff}.field .hint{font-size:12px;color:var(--t2);margin-top:4px}.field .ok{color:var(--grn-t);font-size:13px;margin-top:4px}.field .err{color:var(--red-t);font-size:13px;margin-top:4px}.finput.ok{border-color:var(--grn-t)}.finput.err{border-color:var(--red-t)}.agree{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:15px}.agree input{width:24px;height:24px;accent-color:var(--prim);margin-top:2px}.otp-wrap{max-width:560px;margin:24px auto 0}.otp-box{background:var(--sur);border:2px solid var(--bdr);border-radius:14px;padding:28px 20px;text-align:center}.otp-box .icon{font-size:40px}.otp-box h2{margin:8px 0 4px;font-size:20px}.otp-box .sub{font-size:14px;color:var(--t2)}.otp-inputs{display:flex;gap:8px;justify-content:center;margin:18px 0 8px}.otp-d{width:48px;height:56px;border:2px solid var(--bdr2);border-radius:10px;font-size:22px;font-weight:700;text-align:center;font-family:inherit}.otp-d.filled{border-color:var(--prim);background:var(--prim-lt)}.otp-timer{font-size:14px;color:var(--t2);margin-bottom:14px}.otp-timer.exp{color:var(--red-t);font-weight:700}.resend-note{margin-top:16px;font-size:13px;color:var(--t2)}.conf-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed var(--bdr);font-size:15px}.conf-row .k{color:var(--t2);flex:none}.conf-row .v{text-align:right;font-weight:600}.conf-row .v.hl{color:var(--prim-dk);font-weight:700}.conf-row .v.big{font-size:20px}.done-hero{background:linear-gradient(135deg,#0a4a6a,#0077a3,#1a7a9a);color:#fff;text-align:center;padding:40px 16px}.done-hero .icon{font-size:44px}.done-hero h1{margin:8px 0;font-size:24px}.done-hero .badge{display:inline-block;background:#ffffff2e;border-radius:999px;padding:4px 14px;font-size:13px;margin-top:6px}.done-hero p{font-size:14px;opacity:.92;max-width:640px;margin:12px auto 0}.receipt-no{font-size:24px;font-weight:700;letter-spacing:2px;color:var(--prim-dk)}.err-banner{background:var(--red-bg);color:var(--red-t);border-radius:10px;padding:12px 16px;font-size:14px;margin-bottom:14px}.loading{text-align:center;color:var(--t2);padding:40px 0}.page-head h1{font-size:22px;color:var(--prim-dk);margin:0 0 4px}.page-head .sub{color:var(--t2);font-size:13px;margin:0 0 16px}.conf-row.last{border-bottom:none}.me-hist-row{display:flex;gap:12px;align-items:baseline;padding:9px 0;border-bottom:1px dashed var(--bdr);font-size:13.5px;flex-wrap:wrap}.me-hist-row:last-child{border-bottom:none}.me-hist-row .dt{color:var(--t2);flex:none}.me-hist-row .mn{font-weight:600}.me-hist-row .st{margin-left:auto;font-size:12px;font-weight:700;border-radius:999px;padding:2px 10px;background:var(--sur2);color:var(--t2)}.me-hist-row .st.cancelled{background:#fdecec;color:#b23b3b}.me-hist-row .st.completed{background:#eaf5ef;color:#2e7d5b}.me-hist-row .st.no_show{background:#fbf3e4;color:#9a6b15}.me-hist-row .rs{flex-basis:100%;color:var(--t2);font-size:12.5px}.me-cancel-zone{margin-top:12px;background:var(--amb-bg);border-radius:10px;padding:14px;font-size:14px;color:var(--amb-t)}.me-cancel-btns{display:flex;gap:10px;margin-top:10px}.err-msg{color:#b23b3b;font-size:13px;margin-top:8px;font-weight:600}
