:root{--color-sage: #5F8263;--color-sage-light: #7A9E7E;--color-sage-dark: #4A6B4E;--color-sage-tint: #F0F5F0;--color-coral: #E8A87C;--color-coral-light: #F0C4A8;--color-bronze: #A67B50;--color-bronze-light: #C4956A;--color-bg-cream: #FAF8F5;--color-bg-warm-gray: #F5F0EB;--color-bg-white: #FFFFFF;--color-text-primary: #2D2D2D;--color-text-secondary: #5A5A5A;--color-text-muted: #8A8A8A;--color-navy: #2c5282;--color-navy-dark: #1a365d;--color-border: #E8E2DB;--color-border-light: #F0EBE5;--color-success: #2f855a;--color-success-bg: #c6f6d5;--color-error: #c53030;--color-error-bg: #fed7d7;--font-heading: "MaruBuri", "Apple SD Gothic Neo", "Malgun Gothic", Georgia, serif;--font-body: "Pretendard", "Apple SD Gothic Neo", "Malgun Gothic", -apple-system, BlinkMacSystemFont, sans-serif;--line-height-body: 1.8;--line-height-heading: 1.3;--section-gap: 5.5rem;--section-gap-mobile: 3.5rem;--container-max: 1200px;--container-padding: 1.5rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 4px 20px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .08);--shadow-hover: 0 8px 25px rgba(0, 0, 0, .1);--transition-fast: .2s ease;--transition-base: .3s ease-out;--transition-slow: .5s ease-out}body{margin:0;font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;word-break:keep-all}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.section-container{background-color:var(--color-bg-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);padding:2rem;margin-bottom:2rem}.section-title{color:var(--color-text-primary);font-family:var(--font-heading);font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid var(--color-border)}@media (max-width: 768px){.section-container{padding:1.5rem;margin-bottom:1.5rem;border-radius:var(--radius-sm)}.section-title{font-size:1.25rem;margin-bottom:1rem;padding-bottom:.5rem}}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast{padding:.75rem 1.25rem;border-radius:var(--radius-sm);font-size:.9rem;font-family:var(--font-body);max-width:min(360px,calc(100vw - 2rem));pointer-events:auto;animation:toast-slide-in .3s var(--transition-base);box-shadow:var(--shadow-md)}.toast-error{background-color:var(--color-error-bg);color:var(--color-error);border:1px solid #feb2b2}.toast-success{background-color:var(--color-success-bg);color:var(--color-success);border:1px solid #9ae6b4}@keyframes toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.header{background-color:#faf8f599;box-shadow:none;padding:.5rem 0;position:fixed;top:0;width:100%;z-index:1000;transition:background-color var(--transition-base),box-shadow var(--transition-base)}.header--scrolled{background-color:#faf8f5f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-sm)}.header-container{max-width:var(--container-max);margin:0 auto;padding:0 1rem}.header-top{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.header-right{display:flex;align-items:center;gap:1rem}.logo{text-decoration:none;z-index:1001}.logo h1{color:var(--color-text-primary);font-family:var(--font-heading);font-size:1.5rem;margin:0}.menu-toggle{display:none;background:transparent;border:none;padding:.5rem;cursor:pointer;transition:all var(--transition-base);position:relative;z-index:1001}.menu-toggle:hover{opacity:.8}.menu-toggle:active{transform:translateY(1px)}.menu-toggle svg{width:24px;height:24px;color:var(--color-text-primary)}.hamburger{display:block;width:24px;height:2px;background:var(--color-text-primary);position:relative;transition:all .3s ease-in-out}.hamburger:before,.hamburger:after{content:"";position:absolute;width:24px;height:2px;background:var(--color-text-primary);transition:all .3s ease-in-out}.hamburger:before{transform:translateY(-8px)}.hamburger:after{transform:translateY(8px)}.hamburger.open{background:transparent}.hamburger.open:before{transform:rotate(45deg)}.hamburger.open:after{transform:rotate(-45deg)}.menu-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:#0006;z-index:999}.main-nav ul{list-style:none;display:flex;gap:2rem;margin:0;padding:0;justify-content:center}.main-nav a{text-decoration:none;color:var(--color-text-secondary);font-size:1rem;font-weight:500;padding:.5rem 1rem;border-radius:var(--radius-sm);transition:all var(--transition-base);display:block;border-bottom:2px solid transparent}.main-nav a:hover{color:var(--color-sage);background-color:var(--color-sage-tint)}.main-nav a.active{color:var(--color-sage);font-weight:600;border-bottom-color:var(--color-sage)}.nav-store-item{display:none}.nav-store-item a{color:var(--color-bronze)}.nav-store-item a:hover{color:var(--color-bronze-light)}.store-button{display:inline-block;background-color:var(--color-bronze);color:#fff;padding:.75rem 1.5rem;border:2px solid var(--color-bronze);border-radius:var(--radius-sm);text-decoration:none;font-weight:600;transition:all var(--transition-base);font-size:1rem}.store-button:hover{background-color:var(--color-bronze-light);border-color:var(--color-bronze-light);color:#fff}.store-button:active{background-color:var(--color-bronze);border-color:var(--color-bronze);color:#fff;transform:translateY(1px)}@media (max-width: 480px){.logo h1{font-size:1.25rem}.menu-toggle{display:block}.store-button{padding:.4rem .75rem;font-size:.8rem}.main-nav{display:none;position:fixed;top:0;left:0;width:100%;height:100vh;background-color:var(--color-bg-cream);z-index:1000;padding-top:5rem}.main-nav.open{display:block}.main-nav ul{flex-direction:column;align-items:center;gap:0}.main-nav li{width:100%;text-align:center;border-bottom:1px solid var(--color-border)}.main-nav li:first-child{border-top:1px solid var(--color-border)}.main-nav a{padding:1.2rem;font-size:1.1rem;color:var(--color-text-primary);font-weight:600;border-bottom:none;border-radius:0}.main-nav a:hover{background-color:var(--color-sage-tint)}.main-nav a.active{color:var(--color-sage);background-color:var(--color-sage-tint);border-bottom:none}.nav-store-item{display:list-item}.menu-toggle.close-button{position:fixed;top:1.5rem;right:1rem}}@media (min-width: 481px) and (max-width: 768px){.logo h1{font-size:1.5rem}.menu-toggle{display:block}.main-nav{display:none;position:fixed;top:0;left:0;width:100%;height:100vh;background-color:var(--color-bg-cream);z-index:1000;padding-top:5rem}.main-nav.open{display:block}.main-nav ul{flex-direction:column;align-items:center;gap:0}.main-nav li{width:100%;text-align:center;border-bottom:1px solid var(--color-border)}.main-nav li:first-child{border-top:1px solid var(--color-border)}.main-nav a{padding:1.2rem;font-size:1.1rem;color:var(--color-text-primary);font-weight:600;border-bottom:none;border-radius:0}.main-nav a:hover{background-color:var(--color-sage-tint)}.main-nav a.active{color:var(--color-sage);background-color:var(--color-sage-tint);border-bottom:none}.nav-store-item{display:list-item}.store-button{width:100%;text-align:center;margin-top:1rem}.menu-toggle.close-button{position:fixed;top:1.5rem;right:1rem}}@media (min-width: 769px) and (max-width: 1024px){.header-container{padding:0 2rem}.menu-toggle{display:none}.header-top{display:flex;align-items:center;gap:2rem}.main-nav{display:block;flex-grow:1}.main-nav ul{gap:1rem;justify-content:center}.main-nav a{font-size:.9rem;padding:.4rem .8rem}}@media (min-width: 1025px){.header-container{padding:0 2rem}.menu-toggle{display:none}.header-top{display:flex;align-items:center;gap:3rem}.main-nav{display:block;flex-grow:1}.main-nav ul{gap:2rem;justify-content:center}.main-nav a{font-size:1rem;padding:.5rem 1rem}}.footer{background-color:var(--color-text-primary);color:#fff;padding:3rem 0 1rem;margin-top:var(--section-gap)}.footer-container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding);display:grid;grid-template-columns:2fr 1fr;gap:2rem}.footer-info h3{font-size:1.5rem;margin-bottom:1.5rem;color:#fff}.info-item{margin-bottom:1rem}.info-label{font-weight:600;color:#fff;margin-bottom:.25rem;font-size:1.1rem}.info-value{color:#ffffffb3;line-height:1.6}.info-value p{margin:0}.footer-social{display:flex;gap:1rem;margin-top:1.5rem}.footer-social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#ffffff1a;color:#fffc;transition:all var(--transition-base)}.footer-social a:hover{background:#fff3;color:#fff}.footer-links{display:flex;justify-content:flex-end}.quick-links{display:flex;flex-direction:column}.quick-links h4{font-size:1.2rem;margin-bottom:1rem;color:#fff}.quick-links a{color:#ffffffb3;text-decoration:none;margin:.5rem 0;transition:color var(--transition-base);font-size:1rem}.quick-links a:hover{color:#fff}.footer-bottom{max-width:var(--container-max);margin:2rem auto 0;padding:1rem var(--container-padding) 0;text-align:center;border-top:1px solid rgba(255,255,255,.15)}.footer-bottom p{color:#ffffff80;font-size:.9rem}@media (max-width: 768px){.footer{padding:2rem 0 1rem}.info-item{margin-bottom:1.5rem}.info-label{font-size:1.1rem;margin-bottom:.5rem}.info-value{font-size:1rem}.quick-links h4{margin-bottom:1rem}.quick-links a{padding:.5rem 0;font-size:1rem}}@media (max-width: 480px){.footer-container{grid-template-columns:1fr;gap:2rem}.footer-links{justify-content:flex-start}.quick-links{width:100%}}.hero{background:linear-gradient(135deg,var(--color-bg-cream) 0%,var(--color-sage-tint) 50%,var(--color-bg-warm-gray) 100%);padding:4rem var(--container-padding);min-height:80vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-content{max-width:var(--container-max);margin:0 auto;display:flex;align-items:center;gap:4rem}.hero-text{flex:1;text-align:left}.hero h1{font-size:clamp(2rem,5vw,3rem);color:var(--color-text-primary);margin-bottom:1rem}.hero p{font-size:1.2rem;color:var(--color-text-secondary);margin-bottom:2.5rem}.hero-buttons{display:flex;gap:1rem}.hero-image-wrapper{flex-shrink:0;position:relative;width:380px;height:460px}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:20px;position:relative;z-index:2;box-shadow:var(--shadow-lg)}.hero-deco{position:absolute;border-radius:50%;z-index:1}.hero-deco-sage{width:200px;height:200px;background:var(--color-sage);opacity:.1;top:-30px;right:-40px}.hero-deco-gold{width:120px;height:120px;background:var(--color-coral);opacity:.15;bottom:-20px;left:-30px}.hero-leaf{position:absolute;z-index:3;pointer-events:none}.hero-leaf-1{top:20px;left:-20px;transform:rotate(-30deg)}.hero-leaf-2{bottom:40px;right:-15px;transform:rotate(15deg)}.primary-button,.secondary-button{display:inline-block;padding:1rem 2rem;border-radius:var(--radius-sm);font-weight:600;text-decoration:none;transition:all var(--transition-base);font-size:1.1rem;border:2px solid}.primary-button{background-color:var(--color-sage);color:#fff;border-color:var(--color-sage)}.primary-button:hover{background-color:var(--color-sage-dark);border-color:var(--color-sage-dark);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.primary-button:active{background-color:var(--color-sage-dark);border-color:var(--color-sage-dark);color:#fff;transform:translateY(0)}.secondary-button{background-color:transparent;color:var(--color-sage);border-color:var(--color-sage)}.secondary-button:hover{background-color:var(--color-sage);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.secondary-button:active{background-color:var(--color-sage-dark);border-color:var(--color-sage-dark);color:#fff;transform:translateY(0)}.features{padding:var(--section-gap) var(--container-padding);background:var(--color-bg-white)}.feature-container{max-width:var(--container-max);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.feature-card{background-color:var(--color-bg-white);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);text-align:center;transition:transform var(--transition-base),box-shadow var(--transition-base);display:flex;flex-direction:column}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.feature-card-icon{color:var(--color-sage);margin-bottom:1rem}.feature-card h3{color:var(--color-text-primary);font-size:1.5rem;margin-bottom:1rem}.feature-card p{color:var(--color-text-secondary);margin-bottom:1.5rem;flex:1}.feature-card a{color:var(--color-sage);text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:.25rem;margin-top:auto;align-self:center}.feature-card a:hover{color:var(--color-sage-dark)}.feature-card a .arrow{display:inline-block;transition:transform var(--transition-fast)}.feature-card:hover a .arrow{transform:translate(4px)}.about-preview{background-color:var(--color-sage-tint);padding:var(--section-gap) var(--container-padding)}.about-content{max-width:var(--container-max);margin:0 auto}.about-content h2{color:var(--color-text-primary);font-size:2rem;margin-bottom:2.5rem;text-align:center}.pharmacist-preview{display:flex;align-items:center;gap:3rem}.pharmacist-preview-photo{flex-shrink:0}.pharmacist-preview-photo img{width:230px;height:230px;border-radius:50%;object-fit:cover;object-position:center top;box-shadow:var(--shadow-lg);border:4px solid var(--color-bg-white)}.pharmacist-preview-text{flex:1}.pharmacist-preview-text>p{color:var(--color-text-secondary);font-size:1.05rem;line-height:1.85;margin-bottom:2rem}.pharmacist-preview-stats{display:flex;flex-wrap:wrap;gap:2.5rem;margin-bottom:2rem}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-number{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-sage);margin-bottom:.25rem}.stat-label{font-size:.9rem;color:var(--color-text-muted)}.learn-more{color:var(--color-sage);text-decoration:none;font-weight:600}.learn-more:hover{color:var(--color-sage-dark)}@media (max-width: 768px){.hero{min-height:auto;padding:3rem var(--container-padding)}.hero-content{flex-direction:column-reverse;gap:2rem;text-align:center}.hero-text{text-align:center}.hero-buttons{flex-direction:column;align-items:center}.hero-image-wrapper{width:260px;height:320px}.hero p{font-size:1rem}.pharmacist-preview{flex-direction:column;text-align:center}.pharmacist-preview-photo img{width:180px;height:180px}.pharmacist-preview-stats{justify-content:center}}@media (min-width: 769px) and (max-width: 1024px){.hero-image-wrapper{width:300px;height:380px}.hero-content{gap:2.5rem}}@media (min-width: 481px) and (max-width: 1024px){.feature-container{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.hero-image-wrapper{width:220px;height:280px}.hero-deco-sage{width:140px;height:140px}.hero-deco-gold{width:80px;height:80px}.feature-container{grid-template-columns:1fr}.pharmacist-preview-photo img{width:150px;height:150px}.pharmacist-preview-stats{gap:1.5rem}}.about-hero{background:linear-gradient(135deg,var(--color-sage-tint) 0%,var(--color-bg-warm-gray) 100%);padding:var(--section-gap) var(--container-padding);text-align:center}.about-hero h1{color:var(--color-text-primary);margin-bottom:.5rem}.about-hero .subtitle{color:var(--color-text-secondary);font-size:1.2rem}.about-page{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.about-hero{margin:0 calc(-1 * var(--container-padding));margin-bottom:var(--section-gap)}.history-timeline{position:relative;padding:2rem 0}.history-timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--color-border);transform:translate(-50%)}.timeline-item{position:relative;margin-bottom:3rem}.timeline-item:last-child{margin-bottom:0}.timeline-item:nth-child(odd){padding-right:calc(50% + 2rem);text-align:right}.timeline-item:nth-child(2n){padding-left:calc(50% + 2rem);text-align:left}.timeline-marker{position:absolute;left:50%;top:.5rem;width:14px;height:14px;background:var(--color-sage);border-radius:50%;transform:translate(-50%);border:3px solid var(--color-bg-white);box-shadow:var(--shadow-sm);z-index:1}.timeline-item .year{font-family:var(--font-heading);font-size:1.4rem;font-weight:600;color:var(--color-bronze);margin-bottom:.5rem}.timeline-item .content h3{font-family:var(--font-body);font-size:1.1rem;color:var(--color-text-primary);margin-bottom:.25rem}.timeline-item .content p{color:var(--color-text-secondary);font-size:.95rem;margin-bottom:0}.pharmacist-story{display:flex;gap:3rem;align-items:flex-start;margin-bottom:3rem}.pharmacist-story-image{flex-shrink:0}.pharmacist-story-image img{width:320px;height:400px;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.pharmacist-story-text{flex:1;min-width:0}.pharmacist-name{color:var(--color-text-primary);font-size:1.5rem;margin-bottom:.25rem}.pharmacist-tagline{font-family:var(--font-heading);color:var(--color-bronze);font-size:1.25rem;font-weight:500;margin-bottom:1.5rem}.pharmacist-bio p{color:var(--color-text-secondary);font-size:1rem;line-height:1.8;margin-bottom:1.3rem}.pharmacist-bio p:last-child{margin-bottom:0}.pharmacist-credentials-section{border-top:1px solid var(--color-border-light);padding-top:2rem}.credentials-title{color:var(--color-text-primary);font-size:1.2rem;margin-bottom:1.5rem}.credentials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.credentials-category{background:var(--color-sage-tint);border-radius:var(--radius-md);padding:1.5rem}.category-title{display:flex;align-items:center;gap:.5rem;color:var(--color-sage);font-size:1rem;font-weight:600;margin-bottom:1rem}.credentials{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem}.credentials li{color:var(--color-text-secondary);padding-left:1rem;position:relative;font-size:.95rem}.credentials li:before{content:"•";color:var(--color-sage);position:absolute;left:0;font-weight:700}.section-spacer{height:1rem}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.info-card{background:var(--color-bg-white);padding:2rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.info-card-icon{color:var(--color-sage);margin-bottom:1rem}.info-card h3{font-family:var(--font-body);color:var(--color-text-primary);font-size:1.15rem;margin-bottom:1rem}.info-card p{color:var(--color-text-secondary);margin-bottom:.25rem}.info-card ul{list-style:none;padding:0}.info-card li{color:var(--color-text-secondary);padding:.25rem 0}@media (max-width: 768px){.history-timeline:before{left:1rem}.timeline-item:nth-child(odd),.timeline-item:nth-child(2n){padding:0 0 0 3rem;text-align:left}.timeline-marker{left:1rem}.pharmacist-story{flex-direction:column;align-items:center;text-align:center;gap:2rem}.pharmacist-story-image img{width:240px;height:300px}.pharmacist-bio p{text-align:left}.credentials-grid{grid-template-columns:1fr;gap:1rem}.info-grid{grid-template-columns:1fr;gap:1.5rem}}@media (min-width: 481px) and (max-width: 768px){.pharmacist-story-image img{width:200px;height:260px}}@media (max-width: 480px){.about-hero{padding:3rem var(--container-padding)}.pharmacist-story-image img{width:200px;height:250px}}.reservation-page{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.reservation-hero{background:linear-gradient(135deg,var(--color-sage-tint) 0%,var(--color-bg-warm-gray) 100%);padding:var(--section-gap) var(--container-padding);text-align:center;margin:0 calc(-1 * var(--container-padding));margin-bottom:var(--section-gap)}.reservation-hero h1{font-family:var(--font-heading);font-size:2.5rem;color:var(--color-text-primary);margin-bottom:.5rem}.reservation-hero .subtitle{font-size:1.2rem;color:var(--color-text-secondary)}.hero-lookup-link{font-size:.95rem;color:var(--color-text-secondary);margin-top:.75rem}.hero-lookup-link a{color:var(--color-sage-dark);text-decoration:underline;text-underline-offset:2px;font-weight:500;transition:color var(--transition-fast)}.hero-lookup-link a:hover{color:var(--color-sage)}.reservation-page .section-container{margin-bottom:var(--section-gap)}.reservation-page .section-title{font-family:var(--font-heading);color:var(--color-text-primary);font-size:1.8rem;margin-bottom:2rem;text-align:center}.plan-banner{background:var(--color-sage-tint);border:1px solid var(--color-sage-light);border-radius:var(--radius-sm);padding:1rem 1.5rem;margin-bottom:2rem;text-align:center;color:var(--color-sage-dark)}.plan-banner strong{color:var(--color-sage-dark)}.quiz-linked-notice{margin-top:.5rem;font-size:.85rem;color:var(--color-sage);font-weight:500}.type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:2rem}.type-card{position:relative;background:var(--color-bg-white);padding:2rem;border-radius:var(--radius-md);border:2px solid var(--color-border);box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--transition-base)}.type-card:hover{border-color:var(--color-sage-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.type-card.selected{border-color:var(--color-sage);box-shadow:0 0 0 3px #5f826326;background:var(--color-sage-tint)}.type-card:focus-visible{outline:2px solid var(--color-sage);outline-offset:2px}.type-card-check{position:absolute;top:1rem;right:1rem;color:var(--color-sage)}.type-card-icon{color:var(--color-sage);margin-bottom:1rem;display:flex;justify-content:center}.type-card h3{font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:1rem;text-align:center}.type-card p{color:var(--color-text-secondary);margin-bottom:1.5rem;text-align:center}.type-card ul{list-style:none;padding:0}.type-card li{margin-bottom:.5rem;color:var(--color-text-secondary);position:relative;padding-left:1.5rem}.type-card li:before{content:"•";position:absolute;left:0;color:var(--color-sage);font-weight:700}.notice-section-inline{margin-bottom:var(--section-gap)}.notice-section-inline .section-title{font-family:var(--font-heading);color:var(--color-text-primary);font-size:1.4rem;margin-bottom:1.25rem;text-align:center}.notice-grid-inline{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.notice-card-inline{background:var(--color-bg-warm-gray);padding:1.25rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-light);text-align:center}.notice-card-inline .notice-card-icon{margin-bottom:.5rem;display:flex;justify-content:center;color:var(--color-sage)}.notice-card-inline h3{font-family:var(--font-heading);color:var(--color-text-primary);font-size:1rem;margin-bottom:.5rem}.notice-card-inline p{color:var(--color-text-secondary);font-size:.9rem;line-height:1.5}.reservation-form{background:var(--color-bg-white);padding:2rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);margin-top:2rem}.form-group{margin-bottom:1.5rem}.reservation-form label{display:block;margin-bottom:.5rem;color:var(--color-text-primary);font-weight:500}.reservation-form input,.reservation-form select,.reservation-form textarea{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:1rem;font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-bg-white);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.reservation-form input:focus,.reservation-form select:focus,.reservation-form textarea:focus{outline:none;border-color:var(--color-sage);box-shadow:0 0 0 3px #5f826326}.reservation-form input.input-error,.reservation-form select.input-error{border-color:var(--color-error)}.reservation-form input.input-error:focus,.reservation-form select.input-error:focus{box-shadow:0 0 0 3px #c5303026}.field-error{display:flex;align-items:center;gap:.35rem;color:var(--color-error);font-size:.85rem;margin-top:.35rem}.field-hint{display:block;font-size:.85rem;color:var(--color-text-muted);margin-top:.35rem}.optional-label{font-weight:400;color:var(--color-text-muted);font-size:.85rem}.time-slots{display:flex;flex-wrap:wrap;gap:.5rem}.time-slot{padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-white);color:var(--color-text-secondary);font-size:.9rem;font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast)}.time-slot:hover{border-color:var(--color-sage-light);background:var(--color-sage-tint)}.time-slot.selected{background:var(--color-sage);color:#fff;border-color:var(--color-sage)}.time-slot:focus-visible{outline:2px solid var(--color-sage);outline-offset:2px}.time-slot.disabled,.time-slot:disabled{background:var(--color-bg-warm-gray);color:var(--color-text-muted);border-color:var(--color-border-light);cursor:not-allowed;opacity:.6}.time-slot.disabled:hover,.time-slot:disabled:hover{transform:none;border-color:var(--color-border-light);background:var(--color-bg-warm-gray)}.slot-taken{display:block;font-size:.7rem;color:var(--color-error);margin-top:2px}.slot-error-hint{color:var(--color-error)}.form-divider{height:1px;background:var(--color-border-light);margin:1.5rem 0}.checkbox-group{margin-top:.5rem}.reservation-form .checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;margin-bottom:0}.checkbox-label input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.25rem;height:1.25rem;min-width:1.25rem;flex-shrink:0;border:2px solid var(--color-border);border-radius:4px;cursor:pointer;margin:0;margin-top:.15rem;padding:0;position:relative;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.checkbox-label input[type=checkbox]:checked{background-color:var(--color-sage);border-color:var(--color-sage)}.checkbox-label input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:.75rem;font-weight:700}.checkbox-text{color:var(--color-text-secondary);font-weight:400;font-size:.95rem}.privacy-consent{margin-top:1rem;padding:1rem;background:var(--color-bg-warm-gray, #f7f5f2);border-radius:var(--radius-sm);border:1px solid var(--color-border-light)}.privacy-consent .checkbox-label{align-items:flex-start}.privacy-detail{display:block;font-size:.85rem;color:var(--color-text-muted);margin-top:.25rem}.submit-button{display:flex;align-items:center;justify-content:center;gap:.5rem;background-color:var(--color-sage);color:#fff;padding:1.125rem 2rem;border:2px solid var(--color-sage);border-radius:var(--radius-sm);font-size:1.15rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);width:100%}.submit-button:hover{background-color:var(--color-sage-dark);border-color:var(--color-sage-dark);color:#fff}.submit-button:active{background-color:var(--color-sage-dark);border-color:var(--color-sage-dark);color:#fff;transform:translateY(1px)}.submit-button:disabled{background-color:var(--color-text-muted);border-color:var(--color-text-muted);cursor:not-allowed;opacity:.7}.alert{padding:1rem;border-radius:var(--radius-sm);margin-bottom:2rem}.alert.success{background-color:var(--color-success-bg);color:var(--color-success);border:1px solid #9ae6b4}.alert.error{background-color:var(--color-error-bg);color:var(--color-error);border:1px solid #feb2b2}.review-card{background:var(--color-bg-white);padding:2rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.review-item{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--color-border-light)}.review-item:last-of-type{border-bottom:none}.review-label{color:var(--color-text-muted);font-weight:500}.review-value{color:var(--color-text-primary);font-weight:500;text-align:right}.review-actions{display:flex;gap:1rem;margin-top:2rem}.review-edit-button{flex:1;padding:1rem;border:2px solid var(--color-sage);border-radius:var(--radius-sm);background:transparent;color:var(--color-sage);font-size:1.05rem;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.review-edit-button:hover{background:var(--color-sage);color:#fff}.review-confirm-button{flex:2;padding:1rem;border:2px solid var(--color-sage);border-radius:var(--radius-sm);background:var(--color-sage);color:#fff;font-size:1.05rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;gap:.5rem}.review-confirm-button:hover{background:var(--color-sage-dark);border-color:var(--color-sage-dark)}.review-confirm-button:disabled{background-color:var(--color-text-muted);border-color:var(--color-text-muted);cursor:not-allowed}.confirmation-card{text-align:center;max-width:600px;margin:0 auto;padding:3rem 2rem}.confirmation-icon{color:var(--color-success);margin-bottom:1.5rem}.confirmation-title{font-family:var(--font-heading);color:var(--color-text-primary);font-size:1.6rem;margin-bottom:1rem}.confirmation-id-row{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:2rem}.confirmation-id{background:var(--color-sage-tint);padding:.75rem 1.5rem;border-radius:var(--radius-sm);color:var(--color-sage-dark);font-size:.95rem}.copy-button{display:inline-flex;align-items:center;gap:.3rem;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-white);color:var(--color-text-secondary);font-size:.8rem;font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast)}.copy-button:hover{border-color:var(--color-sage-light);color:var(--color-sage);background:var(--color-sage-tint)}.confirmation-details{text-align:left;margin-bottom:2rem;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);overflow:hidden}.confirmation-row{display:flex;justify-content:space-between;padding:.75rem 1.25rem;border-bottom:1px solid var(--color-border-light)}.confirmation-row:last-child{border-bottom:none}.confirmation-row:nth-child(2n){background:var(--color-bg-warm-gray)}.confirmation-next-steps{text-align:left;background:var(--color-bg-warm-gray);padding:1.25rem;border-radius:var(--radius-sm);margin-bottom:2rem}.confirmation-next-steps h3{font-family:var(--font-heading);font-size:1.1rem;margin-bottom:.75rem;color:var(--color-text-primary)}.confirmation-next-steps ul{list-style:none;padding:0}.confirmation-next-steps li{position:relative;padding-left:1.25rem;margin-bottom:.5rem;color:var(--color-text-secondary);font-size:.95rem}.confirmation-next-steps li:before{content:"•";position:absolute;left:0;color:var(--color-sage);font-weight:700}.confirmation-next-steps a{color:var(--color-sage-dark);text-decoration:underline;text-underline-offset:2px;font-weight:500;transition:color var(--transition-fast)}.confirmation-next-steps a:hover{color:var(--color-sage)}@media (max-width: 768px){.reservation-page{margin:0 auto}.reservation-hero{padding:var(--section-gap-mobile) var(--container-padding);margin-bottom:var(--section-gap-mobile)}.reservation-hero h1{font-size:2rem}.reservation-page .section-container{margin-bottom:var(--section-gap-mobile)}.type-grid{grid-template-columns:1fr;gap:1rem}.notice-grid-inline{grid-template-columns:1fr;gap:.75rem}.review-actions{flex-direction:column}.review-edit-button,.review-confirm-button{flex:none}}@media (min-width: 481px) and (max-width: 768px){.reservation-form{padding:1.5rem}}@media (max-width: 480px){.reservation-hero{padding:3rem var(--container-padding)}.reservation-form{padding:1.25rem}.privacy-consent{padding:.75rem}.reservation-form .checkbox-label{gap:.5rem}.time-slots{gap:.35rem}.time-slot{padding:.4rem .75rem;font-size:.85rem}.confirmation-card{padding:2rem 1.25rem}.review-card{padding:1.25rem}}.lookup-page{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.lookup-form-card{max-width:500px;margin:0 auto;background:var(--color-bg-white);padding:2rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.lookup-field{margin-bottom:1.25rem}.lookup-field label{display:block;margin-bottom:.5rem;color:var(--color-text-primary);font-weight:500}.lookup-field input{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:1rem;font-family:var(--font-body)}.lookup-field input:focus{outline:none;border-color:var(--color-sage);box-shadow:0 0 0 3px #5f826326}.lookup-error{display:flex;align-items:center;gap:.35rem;color:var(--color-error);font-size:.9rem;margin-bottom:1rem}.lookup-submit-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem;background:var(--color-sage);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast)}.lookup-submit-btn:hover{background:var(--color-sage-dark)}.lookup-submit-btn:disabled{opacity:.7;cursor:not-allowed}.lookup-result-card{max-width:500px;margin:2rem auto 0;background:var(--color-bg-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);overflow:hidden}.lookup-result-header{display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;background:var(--color-sage-tint);color:var(--color-sage-dark);font-weight:600}.lookup-status{margin-left:auto;padding:.2rem .6rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600}.lookup-status.pending{background:#fef3c7;color:#92400e}.lookup-status.confirmed{background:var(--color-success-bg);color:var(--color-success)}.lookup-status.cancelled{background:var(--color-error-bg);color:var(--color-error)}.lookup-result-rows{padding:0}.lookup-row{display:flex;justify-content:space-between;padding:.75rem 1.25rem;border-bottom:1px solid var(--color-border-light)}.lookup-row:last-child{border-bottom:none}.lookup-row span:first-child{color:var(--color-text-muted);font-weight:500}.lookup-row span:last-child{color:var(--color-text-primary);font-weight:500;text-align:right}@media (max-width: 768px){.lookup-form-card,.lookup-result-card{margin-left:0;margin-right:0}}.subscription-page{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.subscription-hero{background:linear-gradient(135deg,var(--color-sage-tint) 0%,var(--color-bg-warm-gray) 100%);padding:var(--section-gap) var(--container-padding);text-align:center;margin:0 calc(-1 * var(--container-padding));margin-bottom:var(--section-gap)}.subscription-hero h1{font-size:2.5rem;color:var(--color-text-primary);margin-bottom:1rem;line-height:var(--line-height-heading)}.subscription-hero .subtitle{font-size:1.2rem;color:var(--color-text-secondary)}.subscription-page .section-container{margin-bottom:var(--section-gap)}.subscription-page .section-title{color:var(--color-text-primary);font-family:var(--font-heading);font-size:1.8rem;margin-bottom:2rem;text-align:center;border-bottom:none;padding-bottom:0}.plan-section-prompt{text-align:center;font-size:1.1rem;color:var(--color-text-secondary);margin-bottom:2rem}.plan-cards-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem}.plan-card{background:var(--color-bg-white);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:2rem 1.25rem;text-align:center;display:flex;flex-direction:column;position:relative;transition:transform var(--transition-base),box-shadow var(--transition-base);flex:0 1 auto;width:100%;max-width:400px}.plan-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.plan-card--featured{border:2px solid var(--color-sage);box-shadow:var(--shadow-md)}.plan-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--color-sage);color:#fff;padding:.25rem 1rem;border-radius:var(--radius-pill);font-size:.8rem;font-weight:600;white-space:nowrap}.plan-card-icon{color:var(--color-sage);margin-bottom:1rem}.plan-card-name{font-family:var(--font-heading);color:var(--color-text-primary);font-size:1.15rem;margin-bottom:1rem}.plan-card-price{display:flex;align-items:baseline;justify-content:center;gap:.25rem;margin-bottom:.25rem}.price-currency{font-size:.9rem;color:var(--color-text-secondary)}.price-value{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.price-note{font-size:.9rem;color:var(--color-text-muted)}.price-disclaimer{font-size:.8rem;color:var(--color-text-muted);margin-bottom:1rem;text-align:center}.plan-card-composition{color:var(--color-text-secondary);font-size:.9rem;margin-bottom:1.25rem;min-height:2.5em}.plan-card-includes{list-style:none;padding:0;text-align:left;margin-bottom:1.25rem}.plan-card-includes li{display:flex;align-items:center;gap:.4rem;color:var(--color-text-secondary);font-size:.85rem;padding:.25rem 0}.plan-card-includes li svg{color:var(--color-sage);flex-shrink:0}.plan-card-feature{color:var(--color-text-muted);font-size:.8rem;font-style:italic;line-height:1.5;margin-bottom:1.5rem;flex:1}.plan-card-cta{display:block;background-color:var(--color-sage);color:#fff;text-align:center;padding:.875rem;border-radius:var(--radius-sm);text-decoration:none;font-weight:600;font-size:.9rem;transition:all var(--transition-base);margin-top:auto}.plan-card-cta:hover{background-color:var(--color-sage-dark);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.plan-bypass-link{text-align:center;margin-top:1.5rem;color:var(--color-text-secondary);font-size:.9rem}.plan-bypass-link a{color:var(--color-sage);text-decoration:underline;font-weight:500}.plan-bypass-link a:hover{color:var(--color-sage-dark)}.comparison-table-wrap{overflow-x:auto;margin-top:1rem}.comparison-table{width:100%;max-width:700px;margin:0 auto;border-collapse:collapse;font-size:.9rem}.comparison-table th{padding:.75rem 1rem;text-align:center;font-weight:600;color:var(--color-text-primary);border-bottom:2px solid var(--color-sage)}.comparison-table th:first-child{text-align:left}.comparison-table td{padding:.75rem 1rem;border-bottom:1px solid var(--color-border-light)}.comparison-label{font-weight:500;color:var(--color-text-primary)}.comparison-value{text-align:center;color:var(--color-text-secondary)}.comparison-check{color:var(--color-sage)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:2rem}.process-card{background:var(--color-bg-white);padding:2rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);text-align:center;position:relative}.process-card:not(:last-child):after{content:"→";position:absolute;left:calc(100% + 1rem);top:50%;transform:translate(-50%,-50%);color:var(--color-sage);font-size:1.5rem}.step{width:3rem;height:3rem;background-color:var(--color-sage);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto 1rem}.process-card h3{color:var(--color-text-primary);font-family:var(--font-body);margin-bottom:1rem}.process-card p{color:var(--color-text-secondary);line-height:1.6}.subscription-faq-list{margin-top:2rem}.subscription-faq-item{background:var(--color-bg-white);border-radius:var(--radius-md);border:1px solid var(--color-border-light);margin-bottom:1rem;overflow:hidden;transition:box-shadow var(--transition-base)}.subscription-faq-item:hover,.subscription-faq-item.open{box-shadow:var(--shadow-sm)}.subscription-faq-question{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;cursor:pointer;transition:background-color var(--transition-fast);width:100%;text-align:left;background:none;border:none;font-family:var(--font-body)}.subscription-faq-question:hover{background-color:var(--color-bg-warm-gray)}.subscription-faq-question h3{color:var(--color-text-primary);font-family:var(--font-body);font-size:1.05rem;font-weight:600;margin:0;flex:1}.subscription-faq-chevron{color:var(--color-sage);flex-shrink:0;margin-left:1rem;transition:transform var(--transition-base)}.subscription-faq-chevron.rotated{transform:rotate(180deg)}.subscription-faq-answer{max-height:0;overflow:hidden;transition:max-height var(--transition-base);background-color:var(--color-sage-tint);border-top:1px solid var(--color-border-light)}.subscription-faq-answer.show{max-height:1000px}.subscription-faq-answer p{padding:1.25rem 1.5rem;margin:0;color:var(--color-text-secondary);line-height:1.7}@media (max-width: 1024px){.plan-card{max-width:400px}}@media (max-width: 768px){.subscription-page{margin:0 auto}.subscription-hero{padding:var(--section-gap-mobile) var(--container-padding);margin-bottom:var(--section-gap-mobile)}.subscription-hero h1{font-size:1.8rem}.subscription-page .section-container{margin-bottom:var(--section-gap-mobile)}}@media (min-width: 481px) and (max-width: 768px){.process-grid{grid-template-columns:repeat(2,1fr)}.process-card:not(:last-child):after{display:none}}@media (max-width: 480px){.plan-card{flex:0 1 100%;max-width:none;padding:1.5rem 1.25rem}.process-grid{grid-template-columns:1fr;gap:3rem}.process-card:not(:last-child):after{content:"↓";top:calc(100% + 1.5rem);left:50%;transform:translate(-50%,-50%);right:auto}.comparison-table{font-size:.8rem}.comparison-table th,.comparison-table td{padding:.5rem}}.faq-hero{background:linear-gradient(135deg,var(--color-sage-tint) 0%,var(--color-bg-warm-gray) 100%);padding:var(--section-gap) var(--container-padding);text-align:center;margin-bottom:var(--section-gap)}.faq-hero h1{font-family:var(--font-heading);font-size:2.5rem;color:var(--color-text-primary);margin-bottom:.5rem}.faq-hero-subtitle{font-family:var(--font-body);font-size:1.15rem;color:var(--color-text-secondary)}.faq-content{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding);margin-bottom:var(--section-gap)}.faq-search-section{margin-bottom:2rem}.faq-search-box{display:flex;align-items:center;gap:.75rem;max-width:600px;margin:0 auto;background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.875rem 1.25rem;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.faq-search-box:focus-within{border-color:var(--color-sage);box-shadow:0 0 0 3px #5f82631f}.faq-search-icon{color:var(--color-text-muted);flex-shrink:0}.faq-search-box input{flex:1;border:none;outline:none;background:transparent;font-family:var(--font-body);font-size:1rem;color:var(--color-text-primary)}.faq-search-box input::placeholder{color:var(--color-text-muted)}.faq-category-tabs{display:flex;justify-content:center;gap:.625rem;margin-bottom:2.5rem;flex-wrap:wrap}.faq-category-tab{padding:.5rem 1.25rem;background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-secondary);font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.faq-category-tab:hover{background:var(--color-sage-tint);border-color:var(--color-sage);color:var(--color-sage-dark)}.faq-category-tab.active{background:var(--color-sage);border-color:var(--color-sage);color:var(--color-bg-white)}.faq-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:.75rem;padding-bottom:2rem}.faq-item{background:var(--color-bg-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);transition:box-shadow var(--transition-base),background-color var(--transition-base);overflow:hidden}.faq-item:hover{box-shadow:var(--shadow-md)}.faq-item.active{background:var(--color-sage-tint);border-color:var(--color-border)}.faq-question{width:100%;display:flex;align-items:center;gap:.875rem;padding:1.25rem 1.5rem;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-body)}.faq-question-text{flex:1;font-size:1.05rem;font-weight:500;color:var(--color-text-primary);line-height:var(--line-height-body)}.faq-chevron{flex-shrink:0;color:var(--color-sage);transition:transform var(--transition-base)}.faq-chevron.rotated{transform:rotate(180deg)}.faq-category-badge{flex-shrink:0;padding:.2rem .65rem;border-radius:var(--radius-pill);font-size:.8rem;font-weight:600;white-space:nowrap;line-height:1.5}.badge-상담예약{background:var(--color-sage-tint);color:var(--color-sage-dark)}.badge-정기구독{background:#e8a87c26;color:var(--color-coral)}.badge-영양제{background:#a67b501f;color:var(--color-bronze)}.badge-배송-결제{background:#2c52821a;color:var(--color-navy)}.badge-기타{background:var(--color-bg-warm-gray);color:var(--color-text-secondary)}.faq-answer{max-height:0;overflow:hidden;transition:max-height var(--transition-base)}.faq-answer.show{max-height:1000px}.faq-answer p{padding:1.25rem 1.5rem 1.5rem;margin:0;color:var(--color-text-secondary);font-family:var(--font-body);font-size:.975rem;line-height:var(--line-height-body);border-top:1px solid var(--color-border-light)}.faq-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem;color:var(--color-text-muted)}.faq-loading-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-sage);border-radius:50%;animation:faq-spin .8s linear infinite}@keyframes faq-spin{to{transform:rotate(360deg)}}.faq-no-results{text-align:center;padding:3rem 1rem;color:var(--color-text-muted)}.faq-no-results p{margin-bottom:1rem;font-size:1.05rem}.faq-reset-button{display:inline-block;padding:.5rem 1.5rem;background:var(--color-sage-tint);color:var(--color-sage-dark);border:1px solid var(--color-sage);border-radius:var(--radius-pill);font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.faq-reset-button:hover{background:var(--color-sage);color:var(--color-bg-white)}.faq-contact{max-width:var(--container-max);margin:0 auto;padding:var(--section-gap) var(--container-padding);text-align:center}.faq-contact h2{font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:2rem}.faq-contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:900px;margin:0 auto}.faq-contact-card{background:var(--color-bg-white);padding:2rem 1.5rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);transition:box-shadow var(--transition-base),transform var(--transition-base)}.faq-contact-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.faq-contact-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--color-sage-tint);border-radius:var(--radius-sm);color:var(--color-sage);margin-bottom:1rem}.faq-contact-card h3{font-family:var(--font-body);color:var(--color-text-primary);font-size:1.05rem;margin-bottom:.75rem}.faq-contact-value{font-family:var(--font-body);color:var(--color-text-primary);font-size:1.1rem;font-weight:500;margin-bottom:.35rem}.faq-contact-detail{color:var(--color-text-muted);font-size:.875rem}@media (max-width: 768px){.faq-hero{padding:var(--section-gap-mobile) var(--container-padding);margin-bottom:var(--section-gap-mobile)}.faq-hero h1{font-size:2rem}.faq-category-tabs{gap:.5rem}.faq-category-tab{padding:.4rem 1rem;font-size:.85rem}.faq-question{padding:1rem 1.25rem;gap:.625rem}.faq-question-text{font-size:.975rem}.faq-answer p{padding:1rem 1.25rem 1.25rem;font-size:.925rem}.faq-contact-grid{grid-template-columns:1fr;gap:1rem;max-width:400px}.faq-contact-card{padding:1.5rem 1.25rem}}@media (max-width: 480px){.faq-hero{padding:3rem var(--container-padding)}.faq-search-box{padding:.75rem 1rem}.faq-category-tabs{gap:.375rem}.faq-category-tab{padding:.35rem .75rem;font-size:.8rem}.faq-category-badge{font-size:.7rem;padding:.15rem .5rem}.faq-contact-grid{grid-template-columns:1fr}}.recommendation-page{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.recommendation-page__hero{background:linear-gradient(135deg,var(--color-sage-tint) 0%,var(--color-bg-warm-gray) 100%);padding:var(--section-gap) var(--container-padding);text-align:center;margin:0 calc(-1 * var(--container-padding));margin-bottom:var(--section-gap)}.recommendation-page__hero h1{font-size:2.5rem;color:var(--color-text-primary);margin-bottom:1rem;line-height:var(--line-height-heading)}.recommendation-page__subtitle{font-size:1.2rem;color:var(--color-text-secondary)}.recommendation-page__content{max-width:800px;margin:0 auto 4rem;padding:0 1rem}.recommendation-page__tier-select{text-align:center}.recommendation-page__tier-select h2{color:var(--color-text-primary);font-family:var(--font-heading);margin-bottom:.75rem}.recommendation-page__tier-select-desc{color:var(--color-text-secondary);margin-bottom:2rem}.recommendation-page__tier-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.recommendation-page__tier-card{position:relative;background:var(--color-bg-white);border:2px solid var(--color-border-light);border-radius:var(--radius-lg);padding:2rem 1.5rem;cursor:pointer;transition:all .2s ease;text-align:center;font-family:var(--font-body)}.recommendation-page__tier-card:hover{border-color:var(--color-sage);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.recommendation-page__tier-card.featured{border-color:var(--color-sage)}.recommendation-page__tier-badge-label{position:absolute;top:-.75rem;left:50%;transform:translate(-50%);background:var(--color-sage);color:#fff;font-size:.75rem;font-weight:600;padding:.2rem .75rem;border-radius:var(--radius-pill)}.recommendation-page__tier-card h3{font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:.75rem}.recommendation-page__tier-price{font-size:1.2rem;font-weight:700;color:var(--color-sage-dark);margin-bottom:.75rem}.recommendation-page__tier-desc{font-size:.9rem;color:var(--color-text-secondary);line-height:1.5}.recommendation-page__tier-badge{text-align:center;background:var(--color-sage-tint);color:var(--color-sage-dark);padding:.5rem 1rem;border-radius:var(--radius-pill);display:inline-block;font-size:.85rem;font-weight:600;margin-bottom:1.5rem;width:100%}.recommendation-page__progress-bar{width:100%;height:8px;background-color:var(--color-border-light);border-radius:4px;margin-bottom:1rem;overflow:hidden}.recommendation-page__progress{height:100%;background-color:var(--color-sage);transition:width .3s ease}.recommendation-page__step-indicator{text-align:center;color:var(--color-sage);font-weight:600;margin-bottom:2rem}.recommendation-page__survey-step{background:var(--color-bg-white);padding:2rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);margin-bottom:2rem}.recommendation-page__survey-step h3{color:var(--color-text-primary);margin-bottom:1.5rem;text-align:center;font-family:var(--font-heading)}.recommendation-page__survey-step p{color:var(--color-text-secondary);text-align:center;margin-bottom:1rem}.recommendation-page__review-list{display:flex;flex-direction:column;gap:1rem}.recommendation-page__review-item{display:flex;justify-content:space-between;align-items:flex-start;padding:.75rem 0;border-bottom:1px solid var(--color-border-light)}.recommendation-page__review-item:last-child{border-bottom:none}.recommendation-page__review-label{color:var(--color-text-secondary);font-size:.9rem;flex-shrink:0;min-width:5rem}.recommendation-page__review-value{color:var(--color-text-primary);font-weight:500;text-align:right}.recommendation-page__form-group{margin-bottom:1.5rem}.recommendation-page__form-group label{display:block;margin-bottom:.5rem;color:var(--color-text-secondary);font-weight:500}.recommendation-page__form-group select,.recommendation-page__form-group textarea{width:100%;padding:.75rem;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font-size:1rem;color:var(--color-text-primary);font-family:var(--font-body)}.recommendation-page__form-group select:focus,.recommendation-page__form-group textarea:focus{outline:none;border-color:var(--color-sage);box-shadow:0 0 0 3px rgba(var(--color-sage-rgb, 107, 142, 107),.15)}.recommendation-page__radio-group{display:flex;gap:2rem;margin-top:.5rem}.recommendation-page__radio-group label{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;min-width:100px}.recommendation-page__radio-group input[type=radio]{margin:0;width:16px;height:16px;accent-color:var(--color-sage)}.recommendation-page__concerns-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.recommendation-page__concern-item{display:inline-flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;font-size:.95rem;color:var(--color-text-secondary)}.recommendation-page__concern-item input[type=checkbox]{margin:0;width:16px;height:16px;cursor:pointer;accent-color:var(--color-sage)}.recommendation-page__concern-item:hover{background-color:var(--color-sage-tint);border-color:var(--color-sage)}.recommendation-page__concern-item.selected{background-color:var(--color-sage-tint);border-color:var(--color-sage);color:var(--color-text-primary)}.recommendation-page__button-group{display:flex;gap:1rem;justify-content:center}.recommendation-page__prev-button,.recommendation-page__next-button{background-color:transparent;border:2px solid var(--color-sage);color:var(--color-sage);padding:.75rem 1.5rem;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;transition:all .2s ease;font-family:var(--font-body);font-size:.95rem}.recommendation-page__prev-button:hover,.recommendation-page__next-button:hover{background-color:var(--color-sage);color:#fff}.recommendation-page__next-button:disabled{opacity:.5;cursor:not-allowed}.recommendation-page__next-button:disabled:hover{background-color:transparent;color:var(--color-sage)}.recommendation-page__results{text-align:center}.recommendation-page__results h2{color:var(--color-text-primary);font-family:var(--font-heading);margin-bottom:1rem}.recommendation-page__results-explanation{color:var(--color-text-secondary);line-height:1.7;margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}.recommendation-page__category-card{background:var(--color-bg-white);border:2px solid var(--color-sage);border-radius:var(--radius-lg);padding:2rem;margin-bottom:2rem}.recommendation-page__category-combo{font-family:var(--font-heading);font-size:1.3rem;color:var(--color-text-primary);font-weight:700;margin-bottom:1rem}.recommendation-page__consult-message{font-size:1rem;color:var(--color-text-secondary);line-height:1.6}.recommendation-page__med-notice{display:flex;align-items:flex-start;gap:.75rem;background:var(--color-bg-warm-gray);border-left:4px solid var(--color-sage);padding:1rem 1.25rem;border-radius:var(--radius-sm);margin-bottom:2rem;text-align:left}.recommendation-page__med-notice svg{color:var(--color-sage);flex-shrink:0;margin-top:2px}.recommendation-page__med-notice p{color:var(--color-text-secondary);line-height:1.6;margin:0}.recommendation-page__cta-button{display:inline-block;background-color:var(--color-sage);color:#fff;text-align:center;padding:1rem 2.5rem;border-radius:var(--radius-sm);text-decoration:none;font-weight:600;font-size:1rem;transition:all var(--transition-base);margin-bottom:1rem}.recommendation-page__cta-button:hover:not(:disabled){background-color:var(--color-sage-dark);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.recommendation-page__cta-button:disabled{opacity:.7;cursor:not-allowed;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none}.spinner-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.recommendation-page__cta-subtext{color:var(--color-text-muted);font-size:.85rem}@media (max-width: 768px){.recommendation-page__hero{padding:var(--section-gap-mobile) var(--container-padding);margin-bottom:var(--section-gap-mobile)}.recommendation-page__hero h1{font-size:1.8rem}.recommendation-page__survey-step{padding:1.5rem}.recommendation-page__radio-group{flex-direction:row;gap:1.5rem}.recommendation-page__concerns-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.recommendation-page__tier-cards{grid-template-columns:1fr}.recommendation-page__button-group{flex-direction:column}.recommendation-page__prev-button,.recommendation-page__next-button{width:100%}}@media (max-width: 480px){.recommendation-page__hero{padding:3rem var(--container-padding)}.recommendation-page__survey-step{padding:1.25rem}.recommendation-page__category-card{padding:1.5rem}}.review-hero{background:linear-gradient(135deg,var(--color-sage-tint) 0%,var(--color-bg-warm-gray) 100%);padding:var(--section-gap) var(--container-padding);text-align:center;margin-bottom:var(--section-gap)}.review-hero h1{font-family:var(--font-heading);font-size:2.5rem;color:var(--color-text-primary);margin-bottom:.5rem}.review-hero-subtitle{font-family:var(--font-body);font-size:1.15rem;color:var(--color-text-secondary);margin-bottom:1.5rem}.review-hero-stat{display:inline-flex;align-items:center;gap:.5rem;background:var(--color-bg-white);padding:.6rem 1.25rem;border-radius:var(--radius-pill);box-shadow:var(--shadow-sm)}.review-stat-number{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;color:var(--color-sage)}.review-stat-label{font-size:.9rem;color:var(--color-text-muted)}.review-content{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding);margin-bottom:var(--section-gap)}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.review-card{background:var(--color-bg-white);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:1.75rem;display:flex;flex-direction:column;gap:1rem;transition:box-shadow var(--transition-base)}.review-card:hover{box-shadow:var(--shadow-md)}.review-card-icon{color:var(--color-sage-light);flex-shrink:0}.review-card-body{font-size:.95rem;line-height:1.7;color:var(--color-text-primary);flex:1}.review-card-keywords{display:flex;flex-wrap:wrap;gap:.4rem}.review-keyword-tag{display:inline-block;padding:.2rem .6rem;background:var(--color-sage-tint);color:var(--color-sage-dark);border-radius:var(--radius-pill);font-size:.75rem;font-weight:500}.review-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid var(--color-border-light)}.review-card-author{font-weight:600;font-size:.85rem;color:var(--color-text-secondary)}.review-source{text-align:center;padding:2.5rem var(--container-padding);margin-bottom:2rem;background:var(--color-bg-warm-gray);border-radius:var(--radius-md);max-width:var(--container-max);margin-left:auto;margin-right:auto}.review-source-badge{display:inline-flex;align-items:center;gap:.4rem;color:#03c75a;font-weight:700;font-size:1rem;margin-bottom:.6rem}.naver-logo{flex-shrink:0}.review-source p{font-size:.9rem;color:var(--color-text-muted)}@media (max-width: 768px){.review-hero h1{font-size:2rem}.review-grid{grid-template-columns:1fr;gap:1rem}.review-card{padding:1.25rem}}@media (max-width: 480px){.review-hero{padding:3rem var(--container-padding)}}.directions-hero{background:linear-gradient(135deg,var(--color-sage-tint) 0%,var(--color-bg-warm-gray) 100%);padding:var(--section-gap) var(--container-padding);text-align:center}.directions-hero h1{color:var(--color-text-primary);margin-bottom:.5rem}.directions-hero .subtitle{color:var(--color-text-secondary);font-size:1.2rem}.directions-page{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.directions-hero{margin:0 calc(-1 * var(--container-padding));margin-bottom:var(--section-gap)}.directions-map-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;align-items:start}.directions-map-wrapper a{display:block}.directions-map-wrapper img{border-radius:var(--radius-md);width:100%;height:auto;transition:opacity var(--transition-base)}.directions-map-wrapper a:hover img{opacity:.9}.directions-address-card{display:flex;flex-direction:column;gap:1.5rem}.address-item{display:flex;gap:.75rem;align-items:flex-start}.address-item svg{color:var(--color-sage);flex-shrink:0;margin-top:.15rem}.address-item h4{font-family:var(--font-body);font-size:.9rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.25rem}.address-item p{color:var(--color-text-secondary);font-size:.95rem;margin-bottom:.125rem}.address-item .address-sub{color:var(--color-text-muted);font-size:.875rem}.naver-map-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--color-sage);color:#fff;border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;transition:all var(--transition-base);text-decoration:none;margin-top:.5rem}.naver-map-button:hover{background:var(--color-sage-dark);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.transport-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.transport-card{background:var(--color-bg-white);padding:2rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.transport-card-icon{color:var(--color-sage);margin-bottom:1rem}.transport-card h3{font-family:var(--font-body);color:var(--color-text-primary);font-size:1.15rem;margin-bottom:1rem}.transport-detail p{color:var(--color-text-secondary);margin-bottom:.25rem;font-size:.95rem}.transport-highlight{font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem}.transport-detail .transport-sub{color:var(--color-text-muted);font-size:.875rem;margin-top:.5rem}@media (max-width: 768px){.directions-hero{padding:var(--section-gap-mobile) var(--container-padding);margin-bottom:var(--section-gap-mobile)}.directions-hero h1{font-size:2rem}.directions-map-layout{grid-template-columns:1fr}.transport-grid{grid-template-columns:1fr;gap:1.5rem}}@media (max-width: 480px){.directions-hero{padding:3rem var(--container-padding)}}.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-cream);padding:1rem}.admin-login-card{background:var(--color-bg-white);padding:3rem 2.5rem;border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--color-border-light);width:100%;max-width:400px}.admin-login-card h1{font-family:var(--font-heading);color:var(--color-text-primary);font-size:1.6rem;text-align:center;margin-bottom:2rem}.admin-login-field{margin-bottom:1.5rem}.admin-login-field label{display:block;margin-bottom:.5rem;color:var(--color-text-primary);font-weight:500}.admin-login-field input{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:1rem;font-family:var(--font-body)}.admin-login-field input:focus{outline:none;border-color:var(--color-sage);box-shadow:0 0 0 3px #5f826326}.admin-login-error{color:var(--color-error);font-size:.9rem;margin-bottom:1rem;text-align:center}.admin-login-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem;background:var(--color-sage);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast)}.admin-login-button:hover{background:var(--color-sage-dark)}.admin-login-button:disabled{opacity:.7;cursor:not-allowed}.admin-page{max-width:960px;margin:0 auto;padding:0 1rem 3rem;min-height:100vh;background:var(--color-bg-cream)}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 0;border-bottom:1px solid var(--color-border-light);margin-bottom:1.5rem}.admin-header-left{display:flex;align-items:baseline;gap:1rem}.admin-header h1{font-family:var(--font-heading);font-size:1.4rem;color:var(--color-text-primary)}.admin-home-link{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-fast)}.admin-home-link:hover{color:var(--color-sage)}.admin-logout-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-white);color:var(--color-text-secondary);font-size:.85rem;cursor:pointer;transition:all var(--transition-fast)}.admin-logout-btn:hover{border-color:var(--color-error);color:var(--color-error)}.admin-tabs{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:2px solid var(--color-border-light)}.admin-tab{display:flex;align-items:center;gap:.4rem;padding:.75rem 1.25rem;border:none;background:none;color:var(--color-text-muted);font-size:.95rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--transition-fast)}.admin-tab.active{color:var(--color-sage);border-bottom-color:var(--color-sage)}.admin-tab:hover{color:var(--color-text-primary)}.admin-filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.admin-filter-group{display:flex;flex-direction:column;gap:.35rem}.admin-filter-group label{font-size:.8rem;color:var(--color-text-muted);font-weight:500}.admin-filter-group input,.admin-filter-group select{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9rem;font-family:var(--font-body);background:var(--color-bg-white)}.admin-filter-group select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235A5A5A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center}.admin-filter-group input:focus,.admin-filter-group select:focus{outline:none;border-color:var(--color-sage)}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;min-width:700px;table-layout:fixed;border-collapse:collapse;background:var(--color-bg-white);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.admin-table th{text-align:left;vertical-align:middle;padding:.75rem 1rem;font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;background:var(--color-bg-warm-gray);border-bottom:1px solid var(--color-border-light)}.admin-table td{padding:.75rem 1rem;font-size:.9rem;color:var(--color-text-primary);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-td-id{white-space:nowrap}.admin-td-id .admin-id-text,.admin-td-id .admin-copy-id-btn{vertical-align:middle}.admin-id-text{font-family:monospace;font-size:.8rem}.admin-copy-id-btn{display:inline-flex;align-items:center;padding:.15rem;margin-left:.3rem;border:none;background:none;color:var(--color-text-muted);cursor:pointer;border-radius:2px;transition:color var(--transition-fast)}.admin-copy-id-btn:hover{color:var(--color-sage)}.admin-td-time{font-weight:600;font-variant-numeric:tabular-nums}.admin-td-actions{display:inline-flex;gap:.5rem}.admin-status-badge{display:inline-block;padding:.2rem .6rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600}.admin-status-badge.pending{background:#fef3c7;color:#92400e}.admin-status-badge.confirmed{background:var(--color-success-bg);color:var(--color-success)}.admin-status-badge.cancelled{background:var(--color-error-bg);color:var(--color-error)}.admin-status-badge.quiz-linked{background:#ede9fe;color:#6d28d9}button.admin-status-badge.quiz-linked{border:none;cursor:pointer;font:inherit;line-height:inherit}button.admin-status-badge.quiz-linked:hover{background:#ddd6fe}.admin-quiz-row.quiz-highlight{animation:quiz-highlight-fade 2s ease-out}@keyframes quiz-highlight-fade{0%{background:#ede9fe}to{background:transparent}}.admin-action-btn{padding:.3rem .75rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);border:1px solid}.admin-action-btn.confirm{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success)}.admin-action-btn.confirm:hover{background:var(--color-success);color:#fff}.admin-action-btn.cancel{background:var(--color-error-bg);color:var(--color-error);border-color:var(--color-error)}.admin-action-btn.cancel:hover{background:var(--color-error);color:#fff}.admin-holiday-badge{display:inline-block;padding:.2rem .6rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600}.admin-holiday-badge.public{background:var(--color-sage-tint);color:var(--color-sage-dark)}.admin-holiday-badge.custom{background:#fef3c7;color:#92400e}.admin-holiday-form{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.admin-holiday-form input{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9rem;font-family:var(--font-body)}.admin-holiday-form input:focus{outline:none;border-color:var(--color-sage)}.admin-holiday-add-btn{display:flex;align-items:center;gap:.3rem;padding:.5rem 1rem;background:var(--color-sage);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;cursor:pointer;transition:background var(--transition-fast)}.admin-holiday-add-btn:hover{background:var(--color-sage-dark)}.admin-holiday-add-btn:disabled{opacity:.7;cursor:not-allowed}.admin-date-groups{display:flex;flex-direction:column;gap:1.5rem}.admin-date-header{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;margin-bottom:.5rem;border-bottom:2px solid var(--color-sage)}.admin-date-label{font-family:var(--font-heading);font-size:1.05rem;font-weight:600;color:var(--color-text-primary)}.admin-date-count{font-size:.8rem;color:var(--color-text-muted);background:var(--color-bg-warm-gray);padding:.15rem .5rem;border-radius:var(--radius-pill)}.admin-empty,.admin-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:3rem 1rem;color:var(--color-text-muted);font-size:.95rem}.admin-view-toggle{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:1.5rem}.admin-view-toggle-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:none;background:var(--color-bg-white);color:var(--color-text-muted);font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.admin-view-toggle-btn+.admin-view-toggle-btn{border-left:1px solid var(--color-border)}.admin-view-toggle-btn.active{background:var(--color-sage);color:#fff}.admin-calendar{margin-bottom:1.5rem}.admin-calendar-nav{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.admin-calendar-nav-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-white);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.admin-calendar-nav-btn svg{flex-shrink:0}.admin-calendar-nav-btn:hover{border-color:var(--color-sage);color:var(--color-sage);background:var(--color-sage-tint)}.admin-calendar-month-label{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:var(--color-text-primary);min-width:100px;text-align:center}.admin-calendar-legend{display:flex;justify-content:flex-end;gap:.75rem;margin-bottom:.5rem;font-size:.75rem;color:var(--color-text-muted)}.admin-calendar-legend-item{display:flex;align-items:center;gap:.25rem}.admin-calendar-legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.admin-calendar-legend-dot.confirmed{background:var(--color-success)}.admin-calendar-legend-dot.pending{background:#92400e}.admin-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-bg-white);box-shadow:var(--shadow-sm)}.admin-calendar-dow{padding:.5rem;text-align:center;font-size:.75rem;font-weight:600;color:var(--color-text-muted);background:var(--color-bg-warm-gray);border-bottom:1px solid var(--color-border-light)}.admin-calendar-dow.sunday{color:var(--color-error)}.admin-calendar-cell{min-height:80px;padding:.4rem;border-right:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:background var(--transition-fast);display:flex;flex-direction:column;gap:.2rem}.admin-calendar-cell:nth-child(7n){border-right:none}.admin-calendar-cell:hover:not(.empty){background:#e8f0e8}.admin-calendar-cell.empty{background:#f5f5f5;cursor:default}.admin-calendar-cell.today{background:var(--color-sage-tint)}.admin-calendar-cell.today .admin-calendar-day{background:var(--color-sage);color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.admin-calendar-cell.selected{outline:2px solid var(--color-sage);outline-offset:-2px}.admin-calendar-cell.sunday .admin-calendar-day,.admin-calendar-cell.holiday .admin-calendar-day{color:var(--color-error)}.admin-calendar-day{font-size:.85rem;font-weight:600;color:var(--color-text-primary);line-height:1}.admin-calendar-holiday-name{font-size:.6rem;color:var(--color-error);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-calendar-counts{display:flex;gap:.25rem;flex-wrap:wrap;margin-top:auto}.admin-calendar-count{font-size:.75rem;font-weight:600;padding:.15rem .45rem;border-radius:var(--radius-pill);line-height:1.2}.admin-calendar-count.pending{background:#fef3c7;color:#92400e}.admin-calendar-count.confirmed{background:var(--color-success-bg);color:var(--color-success)}.admin-calendar-drilldown{margin-top:1.5rem}.admin-calendar-close-btn{margin-left:auto;padding:.2rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-white);color:var(--color-text-muted);font-size:.8rem;cursor:pointer;transition:all var(--transition-fast)}.admin-calendar-close-btn:hover{border-color:var(--color-text-secondary);color:var(--color-text-secondary)}@media (max-width: 768px){.admin-tab{padding:.6rem .75rem;font-size:.85rem}.admin-filters{flex-direction:column}.admin-table th,.admin-table td{padding:.5rem .6rem;font-size:.8rem}.admin-copy-id-btn{display:none}.admin-holiday-form{flex-direction:column}.admin-calendar-cell{min-height:60px;padding:.25rem}.admin-calendar-day{font-size:.75rem}.admin-calendar-holiday-name{display:none}.admin-calendar-count{font-size:.65rem;padding:.1rem .3rem}.admin-calendar-month-label{font-size:.95rem}}@media (max-width: 480px){.admin-calendar-cell{min-height:48px}.admin-calendar-counts{flex-direction:column;gap:.1rem}}*{margin:0;padding:0;box-sizing:border-box}body{color:var(--color-text-primary);background-color:var(--color-bg-cream);line-height:var(--line-height-body)}.App{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;margin-top:60px}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);font-family:var(--font-heading);line-height:var(--line-height-heading);margin-bottom:1rem}p{margin-bottom:1rem}a{color:var(--color-sage);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-sage-dark)}button{cursor:pointer;border:none;outline:none;font-size:1rem;font-family:var(--font-body);padding:.75rem 1.5rem;border-radius:var(--radius-sm);transition:all var(--transition-base)}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.text-center{text-align:center}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:2rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:2rem}.scroll-fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.scroll-fade-in.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.scroll-fade-in{opacity:1;transform:none;transition:none}}@media (max-width: 768px){.container{padding:0 1rem}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}}
