:root{--bg-main:#fff;--bg-body:#f8fafc;--text-main:#0f172a;--text-muted:#64748b;--accent-primary:#006f8e;--accent-secondary:#006f8e;--accent-hover:#005b75;--gradient-primary:linear-gradient(135deg, #006f8e 0%, #0f4c5c 100%);--glass-bg:#fffffff5;--glass-border:#e2e8f0;--glass-shadow:0 2px 12px #0f172a0a;--nav-height:calc(70px + env(safe-area-inset-bottom,0px))}.loading-indicator{z-index:11000;pointer-events:none;width:156px;height:72px;padding:8px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}body:has(.splash-screen)>.loading-indicator{visibility:hidden}.loading-status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#00000026;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#0000004d}html,body{min-height:100dvh}body{background-color:var(--bg-body);color:var(--text-main);background-image:none;font-family:Inter,-apple-system,sans-serif;line-height:1.5}#root{background-color:var(--bg-main);flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex;position:relative;overflow-x:hidden;box-shadow:0 0 20px #0000000d}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:18px;margin-bottom:12px;padding:16px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.glass-card:hover{transform:translateY(-1px);box-shadow:0 6px 20px #0f172a0f}.app-header{padding:14px 18px;padding-top:max(14px, env(safe-area-inset-top));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:50;border-bottom:1px solid var(--glass-border);background:#ffffffe6;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header-title{color:var(--accent-primary);letter-spacing:-.5px;font-size:18px;font-weight:800}.main-content{padding:16px;padding-bottom:calc(36px + var(--nav-height));flex:1}.bottom-nav{z-index:999;width:100%;max-width:480px;height:var(--nav-height);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100;padding:0 10px;padding-bottom:env(safe-area-inset-bottom,0px);background:#fffffffa;border-top:1px solid #e2e8f0;flex-shrink:0;justify-content:space-around;align-items:center;margin-top:auto;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -10px 30px #0000000d}.nav-item{color:#94a3b8;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:64px;padding:8px 16px;font-size:11px;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.nav-item i{font-size:24px;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.nav-item.active,.nav-item.active i{color:var(--accent-primary)}.btn-primary{background:var(--accent-secondary);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;padding:10px 16px;font-size:13.5px;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s;display:flex;box-shadow:0 3px 10px #006f8e29}.btn-primary:active{background:#005b75;transform:scale(.98);box-shadow:0 2px 6px #006f8e26}.activity-safety-submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-outline{color:var(--accent-primary);border:1px solid var(--accent-primary);cursor:pointer;background:#fff;border-radius:10px;width:100%;padding:10px 16px;font-size:13.5px;font-weight:700;transition:background .2s}.btn-outline:active{background:#f8fafc}.btn-outline:disabled{color:#94a3b8;cursor:not-allowed;opacity:.75;background:#f8fafc;border-color:#cbd5e1}.locker-refund-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:100%;min-width:0;padding:10px 12px}.locker-refund-heading{justify-content:space-between;gap:12px;margin-bottom:4px;font-size:12.5px;display:flex}.locker-refund-heading strong:first-child{overflow-wrap:anywhere;min-width:0}.locker-refund-heading strong:last-child{flex-shrink:0}.locker-refund-status{color:var(--text-muted);margin:4px 0 8px;font-size:11.5px}.btn-outline.locker-secondary{border-radius:8px;width:auto;min-height:36px;padding:6px 12px;font-size:12px}.locker-copy{margin:0 0 12px}.host-refund{margin-top:10px}.host-refund-account{overflow-wrap:anywhere;background:#f1f5f9;border-radius:8px;margin-bottom:10px;padding:8px 10px;font-size:12.5px}.host-refund-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:6px;display:grid}.host-refund-actions>.btn-primary,.host-refund-actions>.btn-outline,.host-refund-complete{word-break:keep-all;border-radius:8px;min-height:36px;padding:6px 10px;font-size:12px}.host-refund-confirm{align-items:center;gap:8px;min-height:36px;margin:6px 0;font-size:12px;display:flex}.host-refund-confirm input{width:16px;height:16px;accent-color:var(--accent-primary);flex-shrink:0}.host-refund-help{color:var(--text-muted);margin:6px 0;font-size:11.5px;line-height:1.5}.host-refund-complete:disabled{opacity:.5;cursor:not-allowed}.host-refund-toss{text-align:center;background:#3182f6;border:none;text-decoration:none}.host-refund-qr{text-align:center;margin:10px 0}.host-refund-qr svg{max-width:100%;height:auto;margin:auto;display:block}.host-refund-qr .btn-outline{border-radius:8px;width:auto;min-height:36px;padding:6px 12px;font-size:12px}.match-create .match-create-secondary{white-space:nowrap;width:auto;min-height:36px;padding:6px 12px;font-size:12px}.match-create-category,.match-create-choice{cursor:pointer;word-break:keep-all;overflow-wrap:break-word;border-radius:8px;flex:1;min-width:0;min-height:38px;padding:8px;font-size:12.5px;font-weight:700}.match-create-category{border:none;font-weight:800}.match-create-choice{border:1.5px solid}.match-create-date-row{align-items:center;gap:8px;display:flex}.match-create-date-row .form-input{flex:1;min-width:0}.match-create-date-row .match-create-secondary{flex:none}.match-create .match-create-secondary.mt-2,.match-create-date-row,.match-create-date-hint{margin-top:8px}.match-create-payment-note{color:var(--text-muted);margin:8px 0 12px;font-size:12px;line-height:1.5}.match-create-time-row{grid-template-columns:minmax(0,2fr) minmax(92px,1fr);gap:12px;display:grid}.match-create-time-row .select-wrapper{min-width:0}.match-create-time-row .form-select{padding-left:10px;padding-right:26px}.match-create-time-row .select-wrapper:after{right:10px}.btn-kakao{color:#000;cursor:pointer;background:#fee500;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:13.5px;font-weight:700;display:flex;box-shadow:0 3px 10px #fee50040}.input-group{margin-bottom:14px}.input-label{color:var(--text-muted);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.form-input,.form-select{width:100%;color:var(--text-main);appearance:none;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px 32px 10px 12px;font-family:inherit;font-size:14px;transition:border-color .2s}.form-input:focus,.form-select:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #006f8e1a}.select-wrapper{position:relative}.select-wrapper:after{content:"▼";pointer-events:none;color:var(--text-muted);font-size:10px;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.map-container{border:1px solid var(--glass-border);z-index:10;border-radius:14px;width:100%;margin-bottom:20px;overflow:hidden}.leaflet-popup-content-wrapper{color:var(--text-main);border:1px solid var(--glass-border);background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a}.leaflet-popup-tip{background:#fff}.leaflet-popup-close-button{color:var(--text-muted)!important}.badge{border:none;border-radius:8px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.badge-green{color:#006f8e;background:#e6f4f7}.badge-blue,.badge-orange{color:#475569;background:#f1f5f9}.badge-yellow{color:#b45309;background:#fef3c7}.badge-gray{color:#475569;background:#f1f5f9}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.m-0{margin:0}.p-3{padding:12px}.p-6{padding:24px}.p-8{padding:32px}.rounded-xl{border-radius:12px}.bg-white{background:#fff}.w-full{width:100%}.flex{display:flex}.flex-1{flex:1;min-width:0}.flex-wrap{flex-wrap:wrap}.shrink-0{flex-shrink:0}.font-semibold{font-weight:600}.font-bold{font-weight:700}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.flex-col{flex-direction:column;display:flex}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.text-xs{color:var(--text-muted);font-size:11px}.text-sm{color:var(--text-muted);font-size:13px}.text-lg{color:var(--text-main);letter-spacing:-.3px;font-size:17px;font-weight:800}.text-xl{color:var(--text-main);letter-spacing:-.4px;font-size:20px;font-weight:800}.text-center{text-align:center}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:8px;margin-top:16px;display:grid}.calendar-day{text-align:center;color:var(--text-main);background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px 5px;font-size:12px;font-weight:500}.calendar-day.has-booking{border-color:var(--accent-primary);color:var(--accent-primary);background:#e6f4f7;font-weight:700}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:.2s ease-out forwards slideUp}@keyframes splashFadeOut{0%{opacity:1;pointer-events:auto}to{opacity:0;pointer-events:none;visibility:hidden}}@keyframes letterAppear{0%{opacity:.2;color:#cbd5e1;transform:translateY(2px)}to{opacity:1;color:var(--accent-primary);transform:translateY(0)}}.splash-screen{z-index:9999;background-image:url(/splash-bg.jpg);background-position:50%;background-size:cover;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.splash-overlay{z-index:1;background:#0006;position:absolute;inset:0}.splash-screen.hide{animation:.5s ease-in-out forwards splashFadeOut}.splash-logo-img{border-radius:30px;width:140px;height:140px;margin-bottom:24px;box-shadow:0 10px 25px #006f8e26}.splash-text-container{letter-spacing:.05em;color:#cbd5e1;gap:2px;font-family:Montserrat,sans-serif;font-size:1.25rem;font-weight:700;display:flex}.splash-letter{opacity:.2;animation:.1s forwards letterAppear}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:20px;width:100%;max-width:400px;padding:20px;animation:.25s cubic-bezier(.16,1,.3,1) slideUp;box-shadow:0 20px 40px #0f172a2e}.region-chip{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:4px;padding:7px 13px;font-size:12.5px;font-weight:700;transition:all .15s;display:flex}.region-chip.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}@media (width<=600px){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:max(16px,1em)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.icon-touch-target{position:relative}.icon-touch-target:after{content:"";min-width:42px;min-height:42px;position:absolute;inset:-10px}.inline-loading-placeholder{color:#0000;background:#f1f5f9;border-radius:6px;min-width:72px;max-width:120px;display:inline-block}.app-notice{z-index:3000;bottom:calc(90px + env(safe-area-inset-bottom,0px));box-sizing:border-box;width:min(440px,100% - 32px);color:var(--text-main);white-space:pre-line;background:#fff;border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:12px;padding:14px 16px;font-size:14px;line-height:1.6;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0f172a1a}.app-notice>span{flex:1}.app-notice>button{color:#64748b;cursor:pointer;background:0 0;border:0;flex-shrink:0;margin:-10px;padding:10px}
