:root .route-loading{min-height:50vh;color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}:root{font-synthesis:none;text-rendering:optimizelegibility;--color-primary:#d71920;--color-primary-hover:#b8141a;--color-background:#fff;--color-surface:#f6f7f9;--color-surface-hover:#eceef1;--color-border:#dfe2e7;--color-text:#25272b;--color-text-muted:#686d76;--service-icon-line:#34383e;--service-icon-accent:#e53935;--content-max-width:1280px;--header-height:72px;--page-padding:32px;color:var(--color-text);background-color:var(--color-background);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Pretendard,Noto Sans KR,Malgun Gothic,Arial,sans-serif}:root[data-theme=dark]{--color-background:#181a1f;--color-surface:#22252b;--color-surface-hover:#2c3037;--color-border:#393e47;--color-text:#f4f5f7;--color-text-muted:#aeb4bf;--service-icon-line:#e8eaed;--service-icon-accent:#e53935;color:var(--color-text);background-color:var(--color-background);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}.site-header,.site-footer,.header-top,.header-navigation-area,.mega-menu,.header-search,.header-search-submit,.page-content,.blood-status-card,.hero-banner{transition:color .2s,background-color .2s,border-color .2s}html{min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;color:var(--color-text);background-color:var(--color-background);margin:0;transition:color .2s,background-color .2s}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}#root{min-height:100vh}.app{flex-direction:column;min-height:100vh;display:flex}.page-content{flex:1;width:100%}.page-content>main{width:min(calc(100% - (var(--page-padding) * 2)), var(--content-max-width));margin:0 auto;padding:48px 0}.site-footer{border-top:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 88%, var(--color-background));margin-top:72px;transition:background-color .2s,border-color .2s}.footer-inner{width:min(calc(100% - (var(--page-padding) * 2)), var(--content-max-width));margin:0 auto;padding:46px 0 28px}.footer-main{grid-template-columns:minmax(260px,.9fr) minmax(0,1.5fr);gap:64px;display:grid}.footer-brand strong{color:var(--color-primary);letter-spacing:-.02em;font-size:1.35rem;font-weight:900}.footer-brand p{max-width:330px;color:color-mix(in srgb, var(--color-text-muted) 88%, transparent);margin:12px 0 0;font-size:.82rem;line-height:1.65}.footer-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;display:grid}.footer-link-group{flex-direction:column;gap:10px;display:flex}.footer-link-group>strong{color:var(--color-text);margin-bottom:4px;font-size:.83rem;font-weight:800}.footer-link-group a{width:fit-content;color:var(--color-text-muted);font-size:.78rem;transition:color .18s,transform .18s}.footer-link-group a:hover{color:var(--color-primary);transform:translate(2px)}.footer-divider{background-color:var(--color-border);height:1px;margin:34px 0 22px}.footer-bottom{justify-content:space-between;align-items:center;gap:24px;display:flex}.footer-policy-links{align-items:center;gap:18px;display:flex}.footer-policy-links a{color:var(--color-text-muted);font-size:.74rem;font-weight:650;transition:color .18s}.footer-policy-links a:first-child{color:var(--color-text);font-weight:750}.footer-policy-links a:hover{color:var(--color-primary)}.footer-copyright{color:var(--color-text-muted);text-align:right;margin:0;font-size:.72rem}.footer-project-notice{opacity:.78}.footer-info{align-content:start;gap:12px;display:grid}.footer-info-row{grid-template-columns:92px minmax(0,1fr);align-items:baseline;gap:14px;display:grid}.footer-info-row>span{color:color-mix(in srgb, var(--color-text-muted) 72%, transparent);letter-spacing:.08em;font-size:.66rem;font-weight:800}.footer-info-row>strong{color:var(--color-text-muted);font-size:.78rem;font-weight:600;line-height:1.55}.footer-project-links{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.footer-project-links a{border:1px solid var(--color-border);min-height:36px;color:var(--color-text-muted);background:color-mix(in srgb, var(--color-background) 70%, transparent);border-radius:9px;align-items:center;gap:8px;padding:0 12px;font-size:.74rem;font-weight:700;transition:color .18s,border-color .18s,background-color .18s,transform .18s;display:inline-flex}.footer-project-links a:hover{border-color:color-mix(in srgb, var(--color-primary) 38%, var(--color-border));color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 4%, var(--color-background));transform:translateY(-1px)}.footer-project-links a span{font-size:.78rem}.footer-disclaimer{color:color-mix(in srgb, var(--color-text-muted) 74%, transparent);font-size:.7rem;font-weight:600}@media (width<=1024px){.footer-main{grid-template-columns:1fr;gap:34px}.footer-links{max-width:700px}:root{--page-padding:24px}}@media (width<=768px){.site-footer{margin-top:52px}.footer-inner{padding:36px 0 24px}.footer-main{gap:28px}.footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:14px}.footer-copyright{text-align:left}:root{--header-height:64px;--page-padding:20px}.page-content>main{padding:32px 0}.footer-info-row{grid-template-columns:76px minmax(0,1fr)}.footer-project-links{flex-direction:column;align-items:stretch}.footer-project-links a{width:fit-content}}@media (width<=480px){.footer-links{grid-template-columns:1fr}:root{--page-padding:16px}.footer-info-row{grid-template-columns:1fr;gap:4px}}.access-denied-page{isolation:isolate;min-height:60vh;padding:48px var(--page-padding);justify-content:center;align-items:center;display:flex;position:relative}.access-denied-card{border:1px solid var(--color-border);text-align:center;background-color:var(--color-surface);border-radius:18px;width:min(100%,520px);padding:48px}.access-denied-code{color:var(--color-primary);font-size:.8rem;font-weight:800}.access-denied-card h1{color:var(--color-text);margin:12px 0}.access-denied-card p{color:var(--color-text-muted);margin:0 0 28px}.site-header{z-index:100;border-bottom:1px solid var(--color-border);background-color:var(--color-background);width:100%;position:relative}.header-top{background-color:var(--color-background)}.header-top-inner{width:min(calc(100% - (var(--page-padding) * 2)), var(--content-max-width));justify-content:space-between;align-items:center;gap:32px;min-height:74px;margin:0 auto;display:flex}.brand{flex-shrink:0;align-items:center;gap:12px;display:inline-flex}.brand-logo{object-fit:contain;flex:0 0 56px;width:56px;height:56px}.brand-copy{flex-direction:column;justify-content:center;gap:4px;min-width:0;display:flex}.brand-name{color:var(--color-primary);font-size:1.28rem;font-weight:850;line-height:1.05}.brand-subtitle{color:var(--color-text-muted);letter-spacing:.075em;white-space:nowrap;font-size:.56rem;font-weight:750;line-height:1.15}.brand-subtitle-full{display:block}.brand-subtitle-short{display:none}.header-actions{align-items:center;gap:6px;display:flex}.header-user-name{max-width:180px;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;margin-right:8px;font-size:.875rem;overflow:hidden}.header-text-button,.header-admin-link{min-height:38px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-size:.875rem;font-weight:600;transition:color .18s,background-color .18s;display:inline-flex}.header-text-button:hover,.header-admin-link:hover{color:var(--color-primary);background-color:var(--color-surface)}.header-admin-link{color:var(--color-primary)}.header-account-links{align-items:center;gap:4px;display:flex}.header-account-separator{color:color-mix(in srgb, var(--color-text-muted) 45%, transparent);-webkit-user-select:none;user-select:none;font-size:1.15rem;font-weight:600;line-height:1}.header-account-menu{display:none;position:relative}.header-account-menu-button{border:1px solid var(--color-border);min-height:38px;color:var(--color-text);background-color:var(--color-background);white-space:nowrap;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 12px 0 14px;font-size:.78rem;font-weight:700;transition:border-color .18s,color .18s,background-color .18s;display:inline-flex}.header-account-menu-button:hover,.header-account-menu-button[aria-expanded=true]{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-surface)}.header-account-menu-chevron{width:7px;height:7px;color:var(--color-text-muted);transform-origin:50%;border-bottom:1.5px solid;border-right:1.5px solid;flex:0 0 7px;transition:color .18s,transform .18s;display:block;transform:rotate(45deg)translateY(-1px)}.header-account-menu-button[aria-expanded=true] .header-account-menu-chevron{color:var(--color-primary);transform:rotate(225deg)translate(-1px,-1px)}.header-account-dropdown{z-index:130;border:1px solid var(--color-border);background-color:var(--color-background);border-radius:12px;flex-direction:column;width:220px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #0000001f}.header-account-dropdown-profile{border-bottom:1px solid var(--color-border);flex-direction:column;gap:4px;margin-bottom:5px;padding:12px 12px 13px;display:flex}.header-account-dropdown-profile strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:750;overflow:hidden}.header-account-dropdown-profile span{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.header-account-dropdown-link{width:100%;min-height:44px;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;padding:0 12px;font-size:.82rem;font-weight:650;text-decoration:none;display:flex}.header-account-dropdown-link:hover{color:var(--color-primary);background-color:var(--color-surface)}.header-account-dropdown-link.admin{color:var(--color-primary)}.header-account-dropdown-link.logout{border-top:1px solid var(--color-border);border-radius:0 0 8px 8px;margin-top:4px}.header-mobile-utilities{display:none}.header-utility-button{border:1px solid var(--color-border);width:40px;height:40px;color:var(--color-text);background-color:var(--color-background);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:border-color .18s,color .18s,background-color .18s,transform .18s;display:inline-flex}.header-utility-button:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-surface);transform:translateY(-1px)}.header-utility-icon{flex:0 0 20px;place-items:center;width:20px;height:20px;line-height:0;display:grid}.header-utility-icon .header-icon{width:20px;height:20px;display:block}.header-search-submit .header-utility-icon,.header-search-submit .header-icon{width:19px;height:19px}.header-search{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:999px;align-items:center;width:280px;height:42px;margin-left:8px;transition:border-color .2s,box-shadow .2s,background-color .2s;display:flex}.header-search:focus-within{border-color:var(--color-primary);background-color:var(--color-background);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 10%, transparent)}.header-search input{width:100%;min-width:0;height:100%;color:var(--color-text);background:0 0;border:0;outline:0;padding:0 4px 0 17px;font-size:.875rem}.header-search input::placeholder{color:var(--color-text-muted);opacity:.8}.header-search input::-webkit-search-cancel-button{cursor:pointer}.header-search-submit{width:38px;height:38px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-right:2px;padding:0;transition:color .18s,background-color .18s,transform .18s;display:inline-flex}.header-search-submit:hover{color:var(--color-primary);background-color:color-mix(in srgb, var(--color-primary) 8%, transparent);transform:scale(1.04)}.header-navigation-area{background-color:var(--color-background);border-top:1px solid #0000}.main-navigation{width:min(calc(100% - (var(--page-padding) * 2)), var(--content-max-width));justify-content:space-between;align-items:stretch;gap:4px;min-height:62px;margin:0 auto;display:flex}.main-navigation-item{min-width:0;color:var(--color-text);white-space:nowrap;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0 18px;font-size:.95rem;font-weight:700;transition:color .18s,background-color .18s;display:inline-flex;position:relative}.main-navigation-item:after{background-color:var(--color-primary);content:"";opacity:0;transform-origin:50%;border-radius:999px 999px 0 0;height:3px;transition:opacity .2s,transform .22s;position:absolute;bottom:0;left:18px;right:18px;transform:scaleX(.35)}.main-navigation-item:hover,.main-navigation-item.active{color:var(--color-primary)}.main-navigation-item.active:after{opacity:1;transform:scaleX(1)}.mega-menu{z-index:110;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background-color:color-mix(in srgb, var(--color-background) 96%, transparent);opacity:0;visibility:hidden;transition:opacity .2s,transform .24s,visibility .2s;position:absolute;top:100%;left:0;right:0;transform:translateY(-10px);box-shadow:0 18px 36px #00000014}.mega-menu.is-open{opacity:1;visibility:visible;transform:translateY(0)}.mega-menu-inner{width:min(calc(100% - (var(--page-padding) * 2)), var(--content-max-width));grid-template-columns:220px minmax(0,1fr);gap:42px;min-height:180px;margin:0 auto;padding:30px 0 34px;display:grid}.mega-menu-title{border-right:1px solid var(--color-border);padding-right:28px}.mega-menu-title span{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:.75rem;font-weight:800;display:block}.mega-menu-title h2{color:var(--color-text);margin:0;font-size:1.65rem;font-weight:850}.mega-menu-links{grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px 16px;display:grid}.mega-menu-link{min-height:52px;color:var(--color-text);opacity:0;background-color:#0000;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:0 16px;font-size:.92rem;font-weight:650;transition:border-color .18s,color .18s,background-color .18s,transform .18s;display:flex;transform:translateY(5px)}.mega-menu.is-open .mega-menu-link{animation:.19s ease-out forwards megaMenuItemEnter;animation-delay:calc(var(--menu-index,0) * 25ms)}@keyframes megaMenuItemEnter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.mega-menu-link:hover{border-color:color-mix(in srgb, var(--color-primary) 24%, var(--color-border));color:var(--color-primary);background-color:color-mix(in srgb, var(--color-primary) 6%, var(--color-background));transform:translate(3px)translateY(0)}.mega-menu-arrow{color:var(--color-primary);opacity:0;font-size:1rem;transition:opacity .18s,transform .18s;transform:translate(-4px)}.mega-menu-link:hover .mega-menu-arrow{opacity:1;transform:translate(0)}@media (width<=1024px){.header-top-inner{gap:20px;min-height:68px}.header-search{width:220px}.brand-logo{flex-basis:50px;width:50px;height:50px}.brand-name{font-size:1.15rem}.brand-subtitle-full{display:none}.brand-subtitle-short{display:block}.main-navigation{scrollbar-width:none;justify-content:flex-start;gap:0;min-height:58px;overflow-x:auto}.main-navigation::-webkit-scrollbar{display:none}.mega-menu-inner{grid-template-columns:180px minmax(0,1fr);gap:28px}.mega-menu-links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.header-top-inner{min-height:64px}.brand-logo{flex-basis:46px;width:46px;height:46px}.brand-name{font-size:1.05rem}.brand-subtitle{display:none}.header-actions{gap:3px}.header-account-links--admin{display:none}.header-account-links--admin+.header-account-menu{display:block}.header-user-name{display:none}.header-text-button,.header-admin-link{padding:0 8px;font-size:.8rem}.header-utility-button{display:none}.header-mobile-utilities{border:1px solid var(--color-border);background-color:var(--color-background);border-radius:999px;flex-shrink:0;align-items:center;height:36px;display:inline-flex;overflow:hidden}.header-mobile-utility-button{width:36px;height:34px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;transition:color .18s,background-color .18s;display:grid}.header-mobile-utility-button:hover{color:var(--color-primary);background-color:color-mix(in srgb, var(--color-primary) 7%, transparent)}.header-mobile-utility-button[aria-disabled=true]{cursor:default}.header-mobile-utility-divider{background-color:var(--color-border);flex:0 0 1px;width:1px;height:18px}.header-mobile-utilities .header-utility-icon,.header-mobile-utilities .header-icon{width:18px;height:18px}.header-search{background-color:var(--color-background);border-radius:50%;width:36px;height:36px;margin-left:2px}.header-search input{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.header-search-submit{width:34px;height:34px;margin:0}.header-search.is-open{top:calc(100% + 8px);right:var(--page-padding);left:var(--page-padding);z-index:120;background:var(--color-background);border-radius:999px;width:auto;height:44px;margin:0;position:absolute;box-shadow:0 10px 28px #0000001f}.header-search.is-open input{clip:auto;white-space:normal;width:100%;height:100%;padding:0 6px 0 16px;position:static;overflow:visible}.header-search.is-open .header-search-submit{width:40px;height:40px;color:var(--color-primary);margin-right:2px}.header-navigation-area,.mega-menu{display:none}}@media (width<=480px){.brand{gap:0}.brand-copy{display:none}.brand-logo{flex-basis:44px;width:44px;height:44px}.brand-name{display:none}.header-text-button,.header-admin-link{padding:0 6px}}.chatbot-widget{z-index:1200;position:fixed;bottom:24px;right:24px}.chatbot-toggle{color:#fff;background:var(--color-primary);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;padding:0;transition:background-color .2s,transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 10px 28px #00000047}.chatbot-robot-icon{width:38px;height:38px;overflow:visible}.chatbot-toggle:hover{background:var(--color-primary-hover);background:var(--color-primary-hover);transform:translateY(-2px)scale(1.04);box-shadow:0 13px 30px #0000004d}.chatbot-panel{border:1px solid var(--color-border);background:var(--color-background);width:min(380px,100vw - 32px);height:min(560px,100vh - 120px);color:var(--color-text);border-radius:18px;flex-direction:column;transition:color .2s,background-color .2s,border-color .2s;display:flex;position:absolute;bottom:72px;right:0;overflow:hidden;box-shadow:0 18px 50px #00000038}.chatbot-header{border-bottom:1px solid var(--color-border);background:var(--color-surface);justify-content:space-between;align-items:center;padding:16px 18px;transition:background-color .2s,border-color .2s;display:flex}.chatbot-header div{flex-direction:column;gap:3px;display:flex}.chatbot-header strong{color:var(--color-text);font-size:16px}.chatbot-header span{color:var(--color-text-muted);font-size:12px}.chatbot-sources{flex-wrap:wrap;align-items:center;gap:4px;max-width:90%;padding:0 6px;font-size:10px;line-height:1.25;display:flex}.chatbot-sources-label{color:var(--color-text-muted);opacity:.7;font-size:10px;font-weight:500}.chatbot-sources-label:after{content:" ·"}.chatbot-source{color:var(--color-text-muted);opacity:.7;background:0 0;border:0;border-radius:0;padding:0;font-size:10px;font-weight:400}.chatbot-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;font-size:28px;line-height:1;transition:color .15s}.chatbot-close:hover{color:var(--color-text)}.chatbot-messages{background:var(--color-background);flex-direction:column;flex:1;gap:10px;padding:18px;display:flex;overflow-y:auto}.chatbot-message{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px;max-width:82%;padding:11px 13px;font-size:14px;line-height:1.55}.chatbot-message.assistant{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);align-self:flex-start}.chatbot-message.user{background:var(--color-primary);color:#fff;align-self:flex-end}.chatbot-message.error{border:1px solid var(--color-primary)}.chatbot-message.loading{color:var(--color-text-muted);align-items:center;gap:3px;display:inline-flex}.chatbot-loading-dots{align-items:center;gap:3px;width:20px;display:inline-flex}.chatbot-loading-dots i{opacity:.25;background:currentColor;border-radius:50%;width:4px;height:4px;animation:1.15s ease-in-out infinite chatbotLoadingDot}.chatbot-loading-dots i:nth-child(2){animation-delay:.16s}.chatbot-loading-dots i:nth-child(3){animation-delay:.32s}@keyframes chatbotLoadingDot{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chatbot-input-area{border-top:1px solid var(--color-border);background:var(--color-surface);gap:8px;padding:12px;transition:background-color .2s,border-color .2s;display:flex}.chatbot-input-area input{border:1px solid var(--color-border);background:var(--color-background);min-width:0;color:var(--color-text);border-radius:10px;outline:none;flex:1;padding:11px 12px;transition:background-color .2s,color .2s,border-color .2s}.chatbot-input-area input::placeholder{color:var(--color-text-muted)}.chatbot-input-area input:focus{border-color:var(--color-primary)}.chatbot-input-area button{background:var(--color-primary);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:0 16px;font-weight:700;transition:background-color .15s}.chatbot-input-area button:hover:not(:disabled){background:var(--color-primary-hover)}.chatbot-input-area button:disabled{opacity:.5;cursor:default}.chatbot-message-group{flex-direction:column;gap:8px;display:flex}.chatbot-message-group.user{align-items:flex-end}.chatbot-message-group.assistant{align-items:flex-start}.chatbot-actions{flex-wrap:wrap;gap:8px;max-width:90%;display:flex}.chatbot-action-button{border:1px solid var(--color-primary);color:var(--color-primary);cursor:pointer;background:0 0;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700;transition:background-color .15s,color .15s}.chatbot-action-button:hover{background:var(--color-primary);color:#fff}.chatbot-recommendations{flex-direction:column;gap:8px;margin-bottom:4px;display:flex}.chatbot-recommendations-title{color:var(--color-text-muted);padding:0 2px;font-size:12px;font-weight:600}.chatbot-recommendation-list{flex-wrap:wrap;gap:7px;display:flex}.chatbot-recommendation-button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:999px;padding:7px 10px;font-size:12px;line-height:1.35;transition:border-color .15s,color .15s,background-color .15s}.chatbot-recommendation-button:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.chatbot-recommendation-button:disabled{opacity:.5;cursor:default}.chatbot-retry-button{border:1px solid var(--color-primary);color:var(--color-primary);cursor:pointer;background:0 0;border-radius:999px;align-self:flex-start;padding:7px 11px;font-size:12px;font-weight:700;transition:background-color .15s,color .15s}.chatbot-retry-button:hover:not(:disabled){background:var(--color-primary);color:#fff}.chatbot-retry-button:disabled{opacity:.5;cursor:default}@media (width<=768px){.chatbot-toggle{display:none}.chatbot-widget{bottom:16px;right:16px}.chatbot-panel{border:0;border-radius:0;width:100%;max-width:none;height:100dvh;position:fixed;inset:0}}.mypage-shell{width:min(calc(100% - (var(--page-padding) * 2)), var(--content-max-width));margin:0 auto;padding:34px 0 80px}.mypage-breadcrumb{border:1px solid var(--color-border);min-height:44px;color:var(--color-text-muted);background:var(--color-surface);border-radius:999px;align-items:center;gap:10px;padding:0 16px;font-size:.76rem;display:flex}.mypage-breadcrumb a{color:var(--color-text-muted);text-decoration:none}.mypage-breadcrumb a:hover{color:var(--color-primary)}.mypage-breadcrumb strong{color:var(--color-text)}.mypage-layout{grid-template-columns:230px minmax(0,1fr);gap:34px;margin-top:30px;display:grid}.mypage-sidebar{min-width:0}.mypage-sidebar-heading{border-bottom:2px solid var(--color-text);padding:0 4px 20px}.mypage-sidebar-heading>span{color:var(--color-primary);letter-spacing:.12em;font-size:.66rem;font-weight:850}.mypage-sidebar-heading h1{color:var(--color-text);letter-spacing:-.04em;margin:7px 0 0;font-size:1.55rem}.mypage-sidebar-navigation{flex-direction:column;display:flex}.mypage-menu-group{border-bottom:1px solid var(--color-border)}.mypage-menu-group h2{color:var(--color-text-muted);letter-spacing:.04em;margin:0;padding:14px 12px 7px;font-size:.7rem;font-weight:800}.mypage-menu-group>div{flex-direction:column;gap:2px;padding-bottom:8px;display:flex}.mypage-menu-link{min-height:40px;color:var(--color-text-muted);border-radius:8px;justify-content:flex-start;align-items:center;gap:10px;padding:0 12px;font-size:.8rem;font-weight:700;text-decoration:none;transition:color .18s,background-color .18s;display:flex}.mypage-menu-link:hover{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 5%, var(--color-surface))}.mypage-menu-link.active{color:#fff;background:var(--color-primary)}.mypage-menu-link.disabled{color:color-mix(in srgb, var(--color-text-muted) 55%, transparent);background:color-mix(in srgb, var(--color-border) 28%, transparent);cursor:not-allowed}.mypage-menu-link.disabled:hover{color:color-mix(in srgb, var(--color-text-muted) 55%, transparent);background:color-mix(in srgb, var(--color-border) 28%, transparent)}.mypage-menu-link.disabled>span:last-child{font-size:.62rem;font-weight:750}.mypage-content{min-width:0}.mypage-content-header{border-bottom:1px solid var(--color-border);padding-bottom:18px}.mypage-content-header>span{color:var(--color-primary);letter-spacing:.12em;font-size:.68rem;font-weight:850}.mypage-content-header h2{color:var(--color-text);letter-spacing:-.04em;margin:7px 0 0;font-size:1.75rem}@media (width<=1024px){.mypage-layout{grid-template-columns:200px minmax(0,1fr);gap:24px}}@media (width<=768px){.mypage-shell{padding-top:24px}.mypage-layout{grid-template-columns:1fr}.mypage-sidebar-heading{padding-bottom:14px}.mypage-sidebar-navigation{grid-template-columns:1fr;gap:8px;margin-top:12px;display:grid}.mypage-menu-group{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px}.mypage-menu-group h2,.mypage-menu-link{padding-inline:10px}}@media (width<=480px){.mypage-breadcrumb{white-space:nowrap;overflow-x:auto}.mypage-sidebar-navigation{grid-template-columns:1fr}.mypage-menu-group h2{display:none}.mypage-menu-group>div{padding:5px}}.main-page{isolation:isolate;flex-direction:column;gap:56px;display:flex;position:relative}.main-hero{grid-template-columns:minmax(0,2fr) minmax(320px,.95fr);align-items:stretch;gap:24px;display:grid}.hero-banner{border:1px solid var(--color-border);background-color:var(--color-surface);isolation:isolate;border-radius:26px;min-height:430px;padding:54px;position:relative;overflow:hidden}.hero-banner:before{background:color-mix(in srgb, var(--color-primary) 14%, transparent);content:"";z-index:-1;border-radius:50%;width:360px;height:360px;position:absolute;top:-130px;right:-90px}.hero-banner:after{border:45px solid color-mix(in srgb, var(--color-primary) 9%, transparent);content:"";z-index:-1;border-radius:50%;width:250px;height:250px;position:absolute;bottom:-170px;right:100px}.hero-banner--primary{background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 9%, var(--color-background)), var(--color-surface))}.hero-banner--soft{background:linear-gradient(140deg, var(--color-surface), color-mix(in srgb, var(--color-primary) 5%, var(--color-background)))}.hero-banner--dark{background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 4%, var(--color-surface)), var(--color-background))}:root[data-theme=dark] .hero-banner--dark{color:#fff;background:linear-gradient(135deg,#24262b,#17191d)}:root[data-theme=dark] .hero-banner--dark h1,:root[data-theme=dark] .hero-banner--dark p{color:#fff}:root[data-theme=dark] .hero-banner--dark p{opacity:.78}.hero-banner-content{flex-direction:column;max-width:620px;animation:.35s ease-out heroContentEnter;display:flex}@keyframes heroContentEnter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero-eyebrow,.section-eyebrow{color:var(--color-primary);letter-spacing:.12em;font-size:.76rem;font-weight:850}.hero-banner h1{color:var(--color-text);letter-spacing:-.04em;margin:18px 0 0;font-size:clamp(2.35rem,4vw,4rem);font-weight:900;line-height:1.13}.hero-banner p{max-width:520px;color:var(--color-text-muted);margin:22px 0 0;font-size:1rem;line-height:1.7}.hero-action{color:#fff;background-color:var(--color-primary);border-radius:10px;align-items:center;gap:12px;width:fit-content;min-height:48px;margin-top:30px;padding:0 20px;font-size:.92rem;font-weight:750;transition:background-color .18s,transform .18s,box-shadow .18s;display:inline-flex}.hero-action:hover{background-color:var(--color-primary-hover);box-shadow:0 10px 24px color-mix(in srgb, var(--color-primary) 24%, transparent);transform:translateY(-2px)}.hero-action span{transition:transform .18s}.hero-action:hover span{transform:translate(3px)}.hero-controller{border:1px solid color-mix(in srgb, var(--color-border) 75%, transparent);background-color:color-mix(in srgb, var(--color-background) 82%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;align-items:center;gap:8px;padding:6px;display:flex;position:absolute;bottom:28px;right:32px}.hero-controller>button{width:34px;height:34px;color:var(--color-text);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .18s,background-color .18s;display:inline-flex}.hero-controller>button:hover{color:var(--color-primary);background-color:var(--color-surface)}.hero-pagination{align-items:center;gap:6px;display:flex}.hero-pagination-dot{background-color:color-mix(in srgb, var(--color-text-muted) 40%, transparent);cursor:pointer;border:0;border-radius:999px;width:7px;height:7px;padding:0;transition:width .2s,background-color .2s}.hero-pagination-dot.active{background-color:var(--color-primary);width:24px}.blood-status-card{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:26px;flex-direction:column;min-height:430px;padding:30px;display:flex;box-shadow:0 14px 36px #0000000a}.blood-status-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.blood-status-header h2{color:var(--color-text);letter-spacing:-.02em;margin:8px 0 0;font-size:1.3rem;font-weight:850}.blood-status-date{color:var(--color-text-muted);white-space:nowrap;margin-top:2px;font-size:.74rem}.blood-status-tabs{background-color:var(--color-background);border-radius:10px;grid-template-columns:repeat(2,1fr);margin-top:24px;padding:4px;display:grid}.blood-status-tabs button{min-height:38px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:.86rem;font-weight:700;transition:color .18s,background-color .18s,box-shadow .18s}.blood-status-tabs button.active{color:var(--color-primary);background-color:var(--color-surface);box-shadow:0 2px 10px #00000012}.blood-total{border-bottom:1px solid var(--color-border);margin-top:24px;padding-bottom:22px}.blood-total>div{align-items:baseline;gap:6px;display:flex}.blood-total>div>span:first-child{color:var(--color-text-muted);margin-right:auto;font-size:.86rem;font-weight:650}.blood-total strong{color:var(--color-primary);letter-spacing:-.05em;font-size:3rem;font-weight:900}.blood-total>div>span:last-child{color:var(--color-text);font-size:.9rem;font-weight:750}.blood-total p{color:var(--color-text-muted);margin:8px 0 0;font-size:.78rem;line-height:1.5}.blood-type-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px;display:grid}.blood-type-item{background:0 0;flex-direction:column;align-items:center;min-width:0;padding:10px 6px;transition:transform .18s;display:flex}.blood-type-item:hover{transform:translateY(-3px)}.blood-type-item--plain{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:12px;justify-content:center;min-height:92px}.blood-type-name-plain{color:var(--color-primary);font-size:1rem;font-weight:900}.blood-type-item--plain .blood-type-value{margin-top:6px}.blood-drop{flex:none;width:clamp(72px,6.2vw,90px);height:clamp(86px,7.4vw,108px)}.blood-type-value{justify-content:center;align-items:baseline;gap:3px;margin-top:10px;display:flex}.blood-type-value strong{color:var(--color-text);font-size:1.12rem;font-weight:850}.blood-type-value span{color:var(--color-text-muted);font-size:.72rem;font-weight:700}.blood-status-detail{color:var(--color-text);justify-content:space-between;align-items:center;margin-top:auto;padding-top:18px;font-size:.84rem;font-weight:700;transition:color .18s;display:flex}.blood-status-detail:hover{color:var(--color-primary)}.blood-status-detail span{transition:transform .18s}.blood-status-detail:hover span{transform:translate(4px)}.nearest-center-section{border:1px solid var(--color-border);background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 7%, var(--color-surface)), var(--color-surface));border-radius:22px;justify-content:space-between;align-items:center;gap:32px;margin-block:-28px;padding:14px 32px;display:flex}.nearest-center-copy{min-width:0}.nearest-center-copy h2{color:var(--color-text);letter-spacing:-.035em;margin:8px 0 0;font-size:clamp(1.35rem,2vw,1.9rem);font-weight:850}.nearest-center-copy h2 strong{color:var(--color-primary)}.nearest-center-copy>p{color:var(--color-text-muted);margin:10px 0 0;font-size:.9rem;line-height:1.65}.nearest-center-distance{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 9%, var(--color-surface));border-radius:999px;margin-top:14px;padding:7px 11px;font-size:.78rem;font-weight:750;display:inline-flex}.nearest-center-error{color:var(--color-primary)!important}.nearest-center-actions{flex:none;align-items:center;gap:10px;display:flex}.nearest-center-actions button,.nearest-center-actions a{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:0 18px;font-size:.84rem;font-weight:750;transition:transform .18s,background-color .18s,border-color .18s;display:inline-flex}.nearest-center-actions button{border:1px solid var(--color-primary);color:#fff;background-color:var(--color-primary)}.nearest-center-actions button:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-1px)}.nearest-center-actions button:disabled{opacity:.6;cursor:wait}.nearest-center-actions a{border:1px solid var(--color-border);color:var(--color-text);background-color:var(--color-surface)}.nearest-center-actions a:hover{border-color:color-mix(in srgb, var(--color-primary) 55%, var(--color-border));color:var(--color-primary);transform:translateY(-1px)}@media (width<=768px){.nearest-center-section{flex-direction:column;align-items:stretch;padding:12px}.nearest-center-actions{width:100%}.nearest-center-actions button,.nearest-center-actions a{flex:1}}@media (width<=480px){.nearest-center-section{padding:10px 20px}.nearest-center-actions{flex-direction:column}.nearest-center-actions button,.nearest-center-actions a{width:100%}}.main-service-section{flex-direction:column;gap:24px;display:flex}.main-section-header{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.main-section-header h2{color:var(--color-text);letter-spacing:-.035em;margin:8px 0 0;font-size:1.75rem;font-weight:850}.main-section-header p{color:var(--color-text-muted);margin:8px 0 0;font-size:.92rem;line-height:1.6}.main-service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.main-service-card{border:1px solid var(--color-border);min-height:142px;color:var(--color-text);background-color:var(--color-surface);border-radius:18px;grid-template-columns:48px minmax(0,1fr) 22px;align-items:center;gap:16px;padding:22px;transition:border-color .2s,background-color .2s,box-shadow .2s,transform .2s;display:grid;position:relative;overflow:hidden}.main-service-card:before{background-color:color-mix(in srgb, var(--color-primary) 5%, transparent);content:"";pointer-events:none;border-radius:50%;width:90px;height:90px;transition:width .25s,height .25s,background-color .25s;position:absolute;top:-48px;right:-44px}.main-service-card:hover{border-color:color-mix(in srgb, var(--color-primary) 32%, var(--color-border));background-color:color-mix(in srgb, var(--color-primary) 3%, var(--color-surface));box-shadow:0 12px 28px color-mix(in srgb, var(--color-text) 8%, transparent);transform:translateY(-3px)}.main-service-card:hover:before{background-color:color-mix(in srgb, var(--color-primary) 8%, transparent);width:120px;height:120px}.main-service-card.priority{border-color:color-mix(in srgb, var(--color-primary) 20%, var(--color-border));background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 5%, var(--color-surface)), var(--color-surface) 65%)}.main-service-icon{background-color:color-mix(in srgb, var(--color-primary) 8%, var(--color-background));border-radius:14px;justify-content:center;align-items:center;width:54px;height:54px;transition:background-color .2s,transform .2s;display:flex}.service-svg-icon{width:40px;height:40px;overflow:visible}.service-icon-line{stroke:var(--service-icon-line);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;fill:none;transition:stroke .2s}.service-icon-accent{stroke:var(--service-icon-accent);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;fill:none;transition:stroke .2s,fill .2s}.service-icon-accent-fill{fill:var(--service-icon-accent);transition:fill .2s}.main-service-card:hover .main-service-icon{background-color:color-mix(in srgb, var(--color-primary) 14%, var(--color-background));box-shadow:0 0 0 1px color-mix(in srgb, var(--color-primary) 18%, transparent);transform:translateY(-2px)scale(1.04)}.main-service-content{min-width:0}.main-service-content h3{color:var(--color-text);letter-spacing:-.02em;margin:0;font-size:1rem;font-weight:800}.main-service-content p{color:var(--color-text-muted);margin:8px 0 0;font-size:.8rem;line-height:1.5}.main-service-arrow{z-index:1;color:var(--color-text-muted);opacity:.5;font-size:1rem;transition:color .2s,opacity .2s,transform .2s;position:relative;transform:translate(-2px)}.main-service-card:hover .main-service-arrow{color:var(--color-primary);opacity:1;transform:translate(3px)}.main-information-section{grid-template-columns:minmax(0,1.8fr) minmax(300px,.9fr);align-items:stretch;gap:20px;display:grid}.news-panel,.notice-panel{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:22px;padding:28px;transition:background-color .2s,border-color .2s,box-shadow .2s}.information-panel-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.information-panel-header h2{color:var(--color-text);letter-spacing:-.03em;margin:7px 0 0;font-size:1.45rem;font-weight:850}.information-more{color:var(--color-text-muted);align-items:center;gap:8px;font-size:.82rem;font-weight:700;transition:color .18s;display:inline-flex}.information-more span{transition:transform .18s}.information-more:hover{color:var(--color-primary)}.information-more:hover span{transform:translate(3px)}.news-tabs{border-bottom:1px solid var(--color-border);scrollbar-width:none;gap:4px;margin-top:24px;display:flex;overflow-x:auto}.news-tabs::-webkit-scrollbar{display:none}.news-tabs button{min-height:43px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:0 14px;font-size:.86rem;font-weight:700;transition:color .18s;position:relative}.news-tabs button:after{background-color:var(--color-primary);content:"";opacity:0;border-radius:999px;height:2px;transition:opacity .18s,transform .2s;position:absolute;bottom:-1px;left:12px;right:12px;transform:scaleX(.4)}.news-tabs button:hover,.news-tabs button.active{color:var(--color-primary)}.news-tabs button.active:after{opacity:1;transform:scaleX(1)}.news-list{flex-direction:column;min-height:250px;display:flex}.news-item{border-bottom:1px solid var(--color-border);grid-template-columns:82px minmax(0,1fr) 88px;align-items:center;gap:14px;min-height:62px;padding:0 10px;transition:background-color .18s,padding .18s;display:grid}.news-item:hover{background-color:color-mix(in srgb, var(--color-primary) 3%, var(--color-background));padding-left:14px;padding-right:14px}.news-category{border:1px solid var(--color-border);width:fit-content;color:var(--color-text-muted);background-color:var(--color-background);white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.news-item strong{min-width:0;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:700;overflow:hidden}.news-item time{color:var(--color-text-muted);text-align:right;font-size:.75rem}.notice-panel{flex-direction:column;min-height:370px;display:flex;position:relative;overflow:hidden}.notice-panel:before{background-color:color-mix(in srgb, var(--color-primary) 7%, transparent);content:"";pointer-events:none;border-radius:50%;width:230px;height:230px;position:absolute;top:-120px;right:-110px}.notice-count{z-index:1;color:var(--color-text-muted);align-items:baseline;gap:5px;font-size:.75rem;display:flex;position:relative}.notice-count strong{color:var(--color-primary);font-size:1rem;font-weight:850}.notice-card{z-index:1;flex-direction:column;flex:1;margin-top:34px;animation:.3s ease-out noticeContentEnter;display:flex;position:relative}@keyframes noticeContentEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.notice-eyebrow{color:var(--color-primary);letter-spacing:.12em;font-size:.72rem;font-weight:850}.notice-card h3{color:var(--color-text);letter-spacing:-.035em;margin:14px 0 0;font-size:1.5rem;font-weight:850;line-height:1.3}.notice-card p{color:var(--color-text-muted);margin:16px 0 0;font-size:.86rem;line-height:1.65}.notice-action{width:fit-content;color:var(--color-text);align-items:center;gap:10px;margin-top:auto;padding-top:24px;font-size:.84rem;font-weight:750;transition:color .18s;display:inline-flex}.notice-action span{color:var(--color-primary);transition:transform .18s}.notice-action:hover{color:var(--color-primary)}.notice-action:hover span{transform:translate(4px)}.notice-controller{z-index:1;justify-content:flex-end;gap:6px;margin-top:18px;display:flex;position:relative}.notice-controller button{border:1px solid var(--color-border);width:36px;height:36px;color:var(--color-text-muted);background-color:var(--color-background);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:border-color .18s,color .18s,background-color .18s,transform .18s;display:inline-flex}.notice-controller button:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:color-mix(in srgb, var(--color-primary) 5%, var(--color-background));transform:translateY(-1px)}.main-highlight-section{grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);align-items:stretch;gap:20px;display:grid}.hall-of-fame-panel,.donation-tip-panel{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:22px;padding:28px;transition:background-color .2s,border-color .2s,box-shadow .2s}.hall-ranking-controller{align-items:center;gap:8px;display:flex}.hall-of-fame-content-slot{min-height:220px;margin-top:20px}.hall-ranking-controller button{border:1px solid var(--color-border);width:32px;height:32px;color:var(--color-text-muted);background:var(--color-background);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:border-color .18s,color .18s,transform .18s;display:inline-flex}.hall-ranking-controller button:hover{border-color:color-mix(in srgb, var(--color-primary) 45%, var(--color-border));color:var(--color-primary);transform:translateY(-1px)}.hall-ranking-controller strong{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 9%, var(--color-background));white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:.76rem;font-weight:850}.hall-ranking-controller>span{color:var(--color-text-muted);white-space:nowrap;font-size:.7rem;font-weight:700}.hall-of-fame-empty{border:1px dashed var(--color-border);height:220px;color:var(--color-text-muted);background:var(--color-background);text-align:center;border-radius:14px;justify-content:center;align-items:center;font-size:.8rem;display:flex}.donation-tip-heading-row{align-items:center;gap:10px;margin-top:4px;display:flex}.donation-tip-heading-row .donation-tip-category{flex-shrink:0}.donation-tip-heading-row h3{min-width:0;margin:0;font-size:1.08rem;font-weight:700;line-height:1.3;transform:translateY(-10px)}.hall-of-fame-list{flex-direction:column;gap:8px;display:flex}.hall-of-fame-item{border:1px solid var(--color-border);background-color:var(--color-background);border-radius:14px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;padding:10px 14px;transition:border-color .18s,background-color .18s,transform .18s,box-shadow .18s;display:grid}.hall-title-row{align-items:center;gap:10px;margin-top:7px;display:flex}.hall-title-row h2{margin:0}.hall-category-badge{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 9%, var(--color-background));white-space:nowrap;border-radius:999px;align-items:center;padding:6px 10px;font-size:.76rem;font-weight:850;display:inline-flex}.hall-of-fame-item:hover{border-color:color-mix(in srgb, var(--color-primary) 26%, var(--color-border));background-color:color-mix(in srgb, var(--color-primary) 3%, var(--color-background));box-shadow:0 8px 20px color-mix(in srgb, var(--color-text) 6%, transparent);transform:translateY(-2px)}.hall-rank{width:38px;height:38px;color:var(--color-text-muted);background-color:var(--color-surface);border-radius:12px;justify-content:center;align-items:center;font-size:.9rem;font-weight:850;display:flex;position:relative}.hall-rank-crown{z-index:2;fill:currentColor;pointer-events:none;filter:drop-shadow(0 2px 2px #0000001f);width:28px;height:20px;position:absolute;top:-13px;left:50%;overflow:visible;transform:translate(-50%)rotate(-4deg)}.hall-rank-crown-base{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round}.hall-rank-crown--1{color:#e8b313}.hall-rank-crown--2{color:#aeb5bd}.hall-rank-crown--3{color:#c87943}.hall-of-fame-item:first-child .hall-rank{color:#fff;background-color:var(--color-primary);box-shadow:0 5px 16px color-mix(in srgb, var(--color-primary) 24%, transparent)}.hall-member{flex-direction:column;gap:5px;min-width:0;display:flex}.hall-member strong{color:var(--color-text);font-size:.98rem;font-weight:800}.hall-member span{color:var(--color-text-muted);font-size:.76rem}.hall-count{align-items:baseline;gap:4px;display:flex}.hall-count strong{color:var(--color-primary);letter-spacing:-.03em;font-size:1.35rem;font-weight:900}.hall-count span{color:var(--color-text-muted);font-size:.76rem;font-weight:700}.donation-tip-panel{flex-direction:column;min-height:360px;display:flex;position:relative;overflow:hidden}.donation-tip-panel:before{background-color:color-mix(in srgb, var(--color-primary) 6%, transparent);content:"";pointer-events:none;border-radius:50%;width:220px;height:220px;position:absolute;bottom:-120px;right:-110px}.donation-tip-card{z-index:1;flex-direction:column;flex:1;margin-top:18px;animation:.3s ease-out donationTipEnter;display:flex;position:relative}@keyframes donationTipEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.donation-tip-category{width:fit-content;color:var(--color-primary);background-color:color-mix(in srgb, var(--color-primary) 8%, var(--color-background));letter-spacing:.08em;border-radius:999px;padding:5px 8px;font-size:.7rem;font-weight:850;display:inline-flex}.donation-tip-card h3{color:var(--color-text);letter-spacing:-.035em;margin:18px 0 0;font-size:1.45rem;font-weight:850;line-height:1.35}.donation-tip-card p{color:var(--color-text-muted);margin:16px 0 0;font-size:.86rem;line-height:1.7}.main-promotion-section{grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);align-items:stretch;gap:20px;display:grid}.promotion-panel,.social-panel{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:22px;padding:28px;transition:background-color .2s,border-color .2s,box-shadow .2s}.promotion-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.promotion-card{border:1px solid var(--color-border);min-height:220px;color:var(--color-text);background:linear-gradient(145deg, color-mix(in srgb, var(--color-primary) 4%, var(--color-background)), var(--color-background));border-radius:17px;flex-direction:column;padding:22px;transition:border-color .2s,background-color .2s,box-shadow .2s,transform .2s;display:flex;position:relative;overflow:hidden}.promotion-card:before{border:28px solid color-mix(in srgb, var(--color-primary) 7%, transparent);content:"";pointer-events:none;border-radius:50%;width:150px;height:150px;transition:width .25s,height .25s,border-color .25s;position:absolute;bottom:-90px;right:-80px}.promotion-card:hover{border-color:color-mix(in srgb, var(--color-primary) 28%, var(--color-border));box-shadow:0 12px 28px color-mix(in srgb, var(--color-text) 7%, transparent);transform:translateY(-3px)}.promotion-card:hover:before{border-color:color-mix(in srgb, var(--color-primary) 11%, transparent);width:175px;height:175px}.promotion-category{width:fit-content;color:var(--color-primary);background-color:color-mix(in srgb, var(--color-primary) 8%, var(--color-background));letter-spacing:.08em;border-radius:999px;padding:5px 8px;font-size:.68rem;font-weight:850;display:inline-flex}.promotion-card h3{z-index:1;color:var(--color-text);letter-spacing:-.03em;margin:20px 0 0;font-size:1.12rem;font-weight:850;line-height:1.35;position:relative}.promotion-card p{z-index:1;color:var(--color-text-muted);margin:12px 0 0;font-size:.8rem;line-height:1.6;position:relative}.promotion-arrow{z-index:1;color:var(--color-primary);margin-top:auto;font-size:1rem;transition:transform .18s;position:relative}.promotion-card:hover .promotion-arrow{transform:translate(4px)}.social-panel{flex-direction:column;min-height:340px;display:flex}.social-intro{color:var(--color-text-muted);margin:18px 0 0;font-size:.84rem;line-height:1.65}.social-channel-list{flex-direction:column;gap:9px;margin-top:24px;display:flex}.social-channel{border:1px solid var(--color-border);width:100%;min-height:68px;color:var(--color-text);background-color:var(--color-background);text-align:left;cursor:pointer;border-radius:14px;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:11px 13px;transition:border-color .18s,background-color .18s,transform .18s,box-shadow .18s;display:grid}.social-channel:hover{border-color:color-mix(in srgb, var(--color-primary) 26%, var(--color-border));background-color:color-mix(in srgb, var(--color-primary) 3%, var(--color-background));box-shadow:0 8px 20px color-mix(in srgb, var(--color-text) 6%, transparent);transform:translateY(-2px)}.social-channel-icon{width:42px;height:42px;color:var(--color-primary);background-color:color-mix(in srgb, var(--color-primary) 8%, var(--color-background));border-radius:12px;justify-content:center;align-items:center;font-size:.95rem;font-weight:850;display:flex}.social-channel-text{flex-direction:column;gap:4px;min-width:0;display:flex}.social-channel-text strong{color:var(--color-text);font-size:.88rem;font-weight:800}.social-channel-text span{color:var(--color-text-muted);font-size:.72rem}.social-channel-arrow{color:var(--color-text-muted);opacity:.55;transition:color .18s,opacity .18s,transform .18s}.social-channel:hover .social-channel-arrow{color:var(--color-primary);opacity:1;transform:translate(3px)}@media (width>=1440px){.hero-banner{min-height:460px;padding:62px}.blood-status-card{min-height:460px}.main-service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.main-service-card{min-height:148px;padding:24px}}@media (width<=1024px){.promotion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-promotion-section{grid-template-columns:1fr}.social-panel{min-height:auto}.main-highlight-section{grid-template-columns:1fr}.donation-tip-panel{min-height:320px}.main-information-section{grid-template-columns:1fr}.notice-panel{min-height:320px}.main-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-service-card{min-height:136px}.main-page{gap:46px}.main-hero{grid-template-columns:1fr}.hero-banner{min-height:390px}.blood-status-card{min-height:auto}.blood-type-grid{grid-template-columns:repeat(4,1fr)}}@media (width<=768px){@media (width<=768px){.main-background-orbit{display:none}}.main-page:before,.main-page:after{display:none}.promotion-panel,.social-panel{border-radius:18px;padding:22px}.promotion-grid{grid-template-columns:1fr;gap:10px;margin-top:18px}.promotion-card{border-radius:15px;min-height:170px;padding:19px}.promotion-card h3{margin-top:16px;font-size:1rem}.social-intro{margin-top:14px}.social-channel-list{margin-top:18px}.social-channel{min-height:64px}.hall-of-fame-panel,.donation-tip-panel{border-radius:18px;padding:22px}.hall-of-fame-list{margin-top:18px}.hall-of-fame-item{grid-template-columns:38px minmax(0,1fr) auto;gap:11px;min-height:68px;padding:12px}.hall-rank{border-radius:10px;width:34px;height:34px}.hall-member strong{font-size:.9rem}.hall-count strong{font-size:1.15rem}.donation-tip-panel{min-height:300px}.donation-tip-card{margin-top:26px}.donation-tip-card h3{font-size:1.3rem}.news-panel,.notice-panel{border-radius:18px;padding:22px}.information-panel-header h2{font-size:1.3rem}.news-tabs{margin-top:18px}.news-tabs button{min-height:40px;padding:0 11px;font-size:.8rem}.news-list{min-height:0}.news-item{grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;min-height:72px;padding:10px 4px}.news-category{grid-column:1/-1}.news-item strong{font-size:.84rem}.news-item time{font-size:.7rem}.notice-panel{min-height:310px}.notice-card{margin-top:26px}.notice-card h3{font-size:1.35rem}.main-page{gap:38px}.main-hero{gap:16px}.hero-banner{border-radius:20px;min-height:400px;padding:38px 26px 82px}.hero-banner h1{font-size:2.35rem}.hero-banner p{font-size:.92rem}.hero-controller{bottom:20px;right:20px}.blood-status-card{border-radius:20px;padding:24px}.main-service-section{gap:18px}.main-section-header h2{font-size:1.5rem}.main-section-header p{font-size:.86rem}.main-service-grid{grid-template-columns:1fr;gap:10px}.main-service-card{border-radius:15px;grid-template-columns:44px minmax(0,1fr) 20px;gap:14px;min-height:112px;padding:18px}.main-service-icon{border-radius:12px;width:44px;height:44px;font-size:1.1rem}.main-service-content p{margin-top:5px}}@media (width<=480px){.hero-banner{min-height:420px;padding:32px 20px 82px}.hero-banner h1{font-size:2rem}.hero-action{justify-content:space-between;width:100%}.blood-status-header{flex-direction:column;gap:6px}.blood-status-date{margin:0}.blood-type-grid{grid-template-columns:repeat(2,1fr)}.blood-type-item{padding:16px 10px}.hall-ranking-controller>span{display:none}.hall-ranking-controller{gap:6px}}.blood-total .blood-crisis-message{--crisis-color:var(--color-primary);font-size:1rem}.blood-crisis-message strong{color:var(--crisis-color);font-size:inherit;font-weight:850;line-height:inherit}.blood-total .blood-crisis-message--관심{--crisis-color:#2f80ed}.blood-total .blood-crisis-message--주의{--crisis-color:#d6a600}.blood-total .blood-crisis-message--경계{--crisis-color:#f2994a}.blood-total .blood-crisis-message--심각{--crisis-color:#e53935}.blood-total .blood-crisis-message--적정{--crisis-color:#27ae60}.blood-status-error{color:var(--color-primary)!important}.blood-status-tabs button:focus-visible,.blood-status-detail:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (width<=480px){.blood-status-card{min-height:auto;padding:20px}.blood-status-header{flex-direction:column;align-items:flex-start;gap:6px}.blood-status-tabs{margin-top:18px}.blood-type-grid{grid-template-columns:repeat(2,1fr)}.blood-status-detail{margin-top:18px}}.donation-tip-card .donation-tip-heading-row h3{font-size:1.05rem;font-weight:700}.background-orbit{z-index:-1;border:1.5px solid color-mix(in srgb, var(--color-primary) 24%, transparent);background:radial-gradient(circle, color-mix(in srgb, var(--color-primary) 7%, transparent) 0 17px, transparent 18px), radial-gradient(circle, transparent 0 56%, color-mix(in srgb, var(--color-primary) 12%, transparent) 56.5% 57%, transparent 57.5%), radial-gradient(circle, transparent 0 73%, color-mix(in srgb, var(--color-primary) 10%, transparent) 73.5% 74%, transparent 74.5%);pointer-events:none;border-radius:50%;width:340px;height:340px;position:absolute}.background-orbit:after{background:conic-gradient(from 18deg, transparent 0deg 32deg, color-mix(in srgb, var(--color-primary) 52%, transparent) 32deg 80deg, transparent 80deg 360deg);content:"";opacity:.82;border-radius:50%;position:absolute;inset:-1px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 8px),#000 calc(100% - 7px));mask:radial-gradient(farthest-side,#0000 calc(100% - 8px),#000 calc(100% - 7px))}.background-orbit--left{top:-105px;left:calc(50% - 50vw + 24px);transform:scale(1.06)}.background-orbit--right{opacity:.78;width:300px;height:300px;bottom:80px;right:calc(50% - 50vw + 28px)}.background-orbit--right:after{background:conic-gradient(from 192deg, transparent 0deg 35deg, color-mix(in srgb, var(--color-primary) 42%, transparent) 35deg 72deg, transparent 72deg 360deg)}.background-orbit-cross{width:24px;height:24px;animation:22s linear infinite backgroundOrbitCrossMove;position:absolute;top:50%;left:50%}.background-orbit--right .background-orbit-cross{animation:28s linear infinite backgroundOrbitCrossMoveRight}.background-orbit-cross:before,.background-orbit-cross:after{background-color:color-mix(in srgb, var(--color-primary) 72%, transparent);content:"";box-shadow:0 2px 7px color-mix(in srgb, var(--color-primary) 14%, transparent);border-radius:999px;position:absolute;top:50%;left:50%}.background-orbit-cross:before{width:24px;height:5px;transform:translate(-50%,-50%)}.background-orbit-cross:after{width:5px;height:24px;transform:translate(-50%,-50%)}@keyframes backgroundOrbitCrossMove{0%{transform:translate(-50%,-50%)rotate(0)translate(170px)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)translate(170px)rotate(-360deg)}}@keyframes backgroundOrbitCrossMoveRight{0%{transform:translate(-50%,-50%)rotate(0)translate(150px)rotate(0)}to{transform:translate(-50%,-50%)rotate(-360deg)translate(150px)rotate(360deg)}}@media (prefers-reduced-motion:reduce){.background-orbit-cross{animation:none}}@media (width<=768px){.background-orbit{display:none}}.blood-status-page{width:min(100% - 32px,1200px);margin-inline:auto;padding:56px 0 80px}.blood-status-page-header{margin-bottom:32px}.blood-status-page-eyebrow{color:var(--color-primary);letter-spacing:.14em;font-size:.76rem;font-weight:800}.blood-status-page-header h1{color:var(--color-text);letter-spacing:-.04em;margin:10px 0 8px;font-size:clamp(2rem,4vw,3rem)}.blood-status-page-header p,.blood-status-page-header time{color:var(--color-text-muted);line-height:1.7}.blood-status-page-header time{margin-top:8px;font-size:.82rem;display:block}.blood-crisis-card,.blood-crisis-criteria,.blood-status-panel,.blood-status-page-error,.blood-status-page-loading{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px}.blood-crisis-card{--crisis-color:var(--color-primary);text-align:center;margin-bottom:24px;padding:28px}.blood-crisis-card>span{color:var(--color-text-muted);font-weight:700}.blood-crisis-card h2{color:var(--color-text);margin:10px 0;font-size:clamp(1.35rem,3vw,2rem)}.blood-crisis-card h2 strong{color:var(--crisis-color);font-size:inherit;line-height:inherit}.blood-crisis-card--관심{--crisis-color:#2f80ed}.blood-crisis-card--주의{--crisis-color:#d6a600}.blood-crisis-card--경계{--crisis-color:#f2994a}.blood-crisis-card--심각{--crisis-color:#e53935}.blood-crisis-card--적정{--crisis-color:#27ae60}.blood-crisis-card p{color:var(--color-text-muted);margin:0}.blood-crisis-criteria{margin-bottom:24px;padding:24px}.blood-crisis-criteria h2{color:var(--color-text);margin:7px 0 18px;font-size:1.4rem}.blood-crisis-table{border-collapse:collapse;width:100%}.blood-crisis-table th,.blood-crisis-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);text-align:left;padding:14px 16px}.blood-crisis-table thead th{color:var(--color-text-muted);background:var(--color-background);font-size:.8rem}.blood-crisis-table tbody td{color:var(--color-text-muted);font-size:.84rem}.crisis-level{font-size:.88rem}.crisis-level span{color:var(--color-text-muted);margin-left:4px;font-size:.72rem}.crisis-level--관심{color:#2f80ed!important}.crisis-level--주의{color:#d6a600!important}.crisis-level--경계{color:#f2994a!important}.crisis-level--심각{color:#e53935!important}.blood-status-panel{margin-top:20px;padding:24px}.blood-status-panel>header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px;display:flex}.blood-status-panel h2{color:var(--color-text);margin:7px 0 0;font-size:1.4rem}.blood-status-panel header p{max-width:520px;color:var(--color-text-muted);text-align:right;margin:0;font-size:.82rem;line-height:1.6}.blood-status-table{border-collapse:collapse;table-layout:fixed;width:100%}.blood-status-table th,.blood-status-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);text-align:center;padding:16px 12px}.blood-status-table thead th{color:var(--color-text-muted);background:var(--color-background);font-size:.8rem}.blood-status-table tbody th{color:var(--color-text-muted);text-align:left;font-size:.84rem}.blood-status-highlight-row strong{color:var(--color-primary);font-size:1.05rem}.blood-status-source{color:var(--color-text-muted);text-align:right;margin:18px 0 0;font-size:.75rem}.blood-status-page-error,.blood-status-page-loading{color:var(--color-text-muted);text-align:center;padding:32px}.blood-status-page-error{color:var(--color-primary)}@media (width<=1024px){.blood-status-panel>header{flex-direction:column;align-items:flex-start;gap:8px}.blood-status-panel header p{text-align:left}}@media (width<=768px){.blood-status-page{width:min(100% - 24px,100%);padding:36px 0 56px}.blood-crisis-criteria,.blood-status-panel{padding:18px}.blood-crisis-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.blood-crisis-table,.blood-crisis-table tbody,.blood-crisis-table tr{display:block}.blood-crisis-table tr{padding:12px 0}.blood-crisis-table th,.blood-crisis-table td{border:0;justify-content:space-between;align-items:center;gap:16px;padding:7px 4px;display:flex}.blood-crisis-table td:before{content:attr(data-label);color:var(--color-text-muted);font-size:.72rem;font-weight:700}.blood-status-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.blood-status-table,.blood-status-table tbody,.blood-status-table tr{display:block}.blood-status-table tr{grid-template-columns:repeat(2,1fr);gap:8px;padding:14px 0;display:grid}.blood-status-table tbody th{border:0;grid-column:1/-1;padding:0 4px 8px;font-size:.9rem}.blood-status-table td{border:1px solid var(--color-border);background:var(--color-background);border-radius:10px;justify-content:space-between;align-items:center;min-height:48px;padding:10px;display:flex}.blood-status-table td:before{content:attr(data-label);color:var(--color-text-muted);font-size:.75rem;font-weight:700}}@media (width<=480px){.blood-status-page{width:calc(100% - 32px)}.blood-crisis-card{padding:22px 16px}.blood-crisis-criteria,.blood-status-panel{padding:16px}.blood-status-table tr{grid-template-columns:1fr}}.donation-guide-page{gap:24px;display:grid}.donation-guide-header{border:1px solid var(--color-border);background:var(--color-surface);border-radius:20px;justify-content:space-between;align-items:center;gap:24px;padding:30px;display:flex}.donation-guide-eyebrow,.donation-guide-editor-header span{color:var(--color-primary);letter-spacing:.12em;font-size:.7rem;font-weight:850}.donation-guide-header h1{color:var(--color-text);margin:7px 0;font-size:1.7rem}.donation-guide-header p{color:var(--color-text-muted);margin:0;font-size:.86rem;line-height:1.6}.donation-guide-write-button{color:#fff;background:var(--color-primary);cursor:pointer;border:0;border-radius:10px;min-height:44px;padding:0 20px;font-weight:800}.donation-guide-tabs{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.donation-guide-tabs button{min-height:54px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;font-size:.9rem;font-weight:800;position:relative}.donation-guide-tabs button:after{background:var(--color-primary);content:"";opacity:0;height:3px;position:absolute;bottom:-1px;left:0;right:0}.donation-guide-tabs button.active{color:var(--color-primary)}.donation-guide-tabs button.active:after{opacity:1}.donation-guide-error{border:1px solid color-mix(in srgb, var(--color-primary) 30%, var(--color-border));color:var(--color-primary);background:var(--color-surface);border-radius:10px;margin:0;padding:14px 16px}.donation-guide-editor{border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px;padding:26px}.donation-guide-editor-header{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.donation-guide-editor-header h2{color:var(--color-text);margin:6px 0 0}.donation-guide-editor-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;font-size:1.5rem}.donation-guide-editor form{gap:22px;display:grid}.donation-guide-editor-basic{grid-template-columns:220px minmax(0,1fr);gap:14px;display:grid}.donation-guide-editor label{color:var(--color-text);gap:8px;font-size:.78rem;font-weight:800;display:grid}.donation-guide-editor label>span{color:var(--color-text-muted);margin-left:5px;font-size:.68rem;font-weight:600}.donation-guide-editor input,.donation-guide-editor select,.donation-guide-editor textarea{border:1px solid var(--color-border);width:100%;color:var(--color-text);background:var(--color-background);font:inherit;border-radius:9px;padding:12px 13px}.donation-guide-editor textarea{resize:vertical;line-height:1.6}.donation-guide-item-editor-list{gap:12px;display:grid}.donation-guide-item-editor{border:1px solid var(--color-border);background:var(--color-background);border-radius:14px;grid-template-columns:44px minmax(0,1fr) auto;gap:16px;padding:18px;display:grid}.donation-guide-item-editor-number{width:36px;height:36px;color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));border-radius:50%;justify-content:center;align-items:center;font-weight:900;display:flex}.donation-guide-item-editor-fields{gap:14px;display:grid}.donation-guide-image-upload{border:1px dashed var(--color-border);cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-height:90px;display:flex!important}.donation-guide-image-upload input{display:none}.donation-guide-image-upload small{color:var(--color-text-muted)}.donation-guide-image-preview{align-items:center;gap:14px;display:flex}.donation-guide-image-preview img{object-fit:cover;object-position:center;border-radius:9px;width:150px;height:90px}.donation-guide-image-preview button,.donation-guide-item-remove{color:var(--color-primary);cursor:pointer;background:0 0;border:0;font-weight:750}.donation-guide-item-add{border:1px dashed var(--color-border);min-height:44px;color:var(--color-primary);background:var(--color-background);cursor:pointer;border-radius:10px;font-weight:800}.donation-guide-form-actions{justify-content:flex-end;gap:10px;display:flex}.donation-guide-form-actions button{cursor:pointer;border-radius:9px;min-width:110px;min-height:42px;font-weight:800}.donation-guide-form-actions .cancel{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-background)}.donation-guide-form-actions .save{border:1px solid var(--color-primary);color:#fff;background:var(--color-primary)}.donation-guide-list{gap:24px;display:grid}.donation-guide-post{border:1px solid var(--color-border);background:var(--color-surface);border-radius:20px;padding:28px}.donation-guide-post-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px;display:flex}.donation-guide-post-category{color:var(--color-primary);font-size:.72rem;font-weight:850}.donation-guide-post-header h2{color:var(--color-text);margin:7px 0 4px;font-size:1.25rem}.donation-guide-post-header p{color:var(--color-text-muted);margin:0;font-size:.72rem}.donation-guide-admin-actions{gap:8px;display:flex}.donation-guide-admin-actions button{border:1px solid var(--color-border);color:var(--color-text-muted);background:var(--color-background);cursor:pointer;border-radius:8px;padding:7px 10px}.donation-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px;display:grid}.donation-guide-item{min-width:0}.donation-guide-item-image{aspect-ratio:16/9;border:1px solid var(--color-border);background:var(--color-background);border-radius:18px;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.donation-guide-item-image img{object-fit:cover;object-position:center;width:100%;height:100%}.donation-guide-item-image--empty{color:var(--color-text-muted);font-size:.8rem;font-weight:800}.donation-guide-item-copy{grid-template-columns:34px minmax(0,1fr);align-items:flex-start;gap:10px;margin-top:15px;display:grid}.donation-guide-item-number{width:28px;height:28px;color:var(--color-text);background:color-mix(in srgb, var(--color-primary) 14%, var(--color-surface));border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;font-weight:900;display:inline-flex}.donation-guide-item-copy strong{color:var(--color-text);margin-bottom:6px;font-size:.9rem;display:block}.donation-guide-item-copy p{color:var(--color-text-muted);white-space:pre-wrap;margin:0;font-size:.85rem;line-height:1.75}.donation-guide-empty{border:1px dashed var(--color-border);color:var(--color-text-muted);text-align:center;border-radius:16px;padding:70px 20px}@media (width<=768px){.donation-guide-header{flex-direction:column;align-items:flex-start}.donation-guide-write-button{width:100%}.donation-guide-editor-basic,.donation-guide-grid{grid-template-columns:1fr}.donation-guide-item-editor{grid-template-columns:36px minmax(0,1fr)}.donation-guide-item-remove{grid-column:2}}@media (width<=480px){.donation-guide-header,.donation-guide-post,.donation-guide-editor{padding:20px}.donation-guide-tabs button{padding:0 8px;font-size:.8rem}.donation-guide-form-actions{flex-direction:column-reverse}.donation-guide-form-actions button{width:100%}}n.login-page{min-height:calc(100vh - 140px);padding:56px var(--page-padding) 80px;background:var(--color-background);isolation:isolate;place-items:center;display:grid;position:relative}.login-card{border:1px solid var(--color-border);background:var(--color-surface);width:min(100%,460px);box-shadow:0 18px 46px color-mix(in srgb, var(--color-text) 7%, transparent);border-radius:18px;padding:36px}.login-heading{align-items:center;gap:18px;margin-bottom:30px;display:flex}.login-heading-copy{min-width:0}.login-eyebrow{color:var(--color-primary);letter-spacing:.12em;margin-bottom:0;font-size:.7rem;font-weight:800;line-height:1;display:block}.login-heading h1{color:var(--color-text);letter-spacing:-.04em;margin:0;font-size:2rem;font-weight:900}.login-heading p{color:var(--color-text-muted);margin:0;font-size:.86rem;line-height:1.6}.login-heading-icon{border:1px solid color-mix(in srgb, var(--color-primary) 18%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 7%, var(--color-surface));border-radius:18px;flex:0 0 66px;place-items:center;width:66px;height:66px;display:grid}.login-heading-icon .service-svg-icon{width:36px;height:36px}.login-heading-icon .service-icon-line{stroke:var(--color-text-muted);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.login-heading-icon .service-icon-accent{stroke:var(--color-primary);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.login-form{gap:18px;display:grid}.login-field{gap:7px;display:grid}.login-field>span{color:var(--color-text);font-size:.8rem;font-weight:750}.login-field input{border:1px solid var(--color-border);width:100%;min-height:46px;color:var(--color-text);background:var(--color-background);border-radius:10px;outline:none;padding:0 14px;transition:border-color .18s,box-shadow .18s}.login-field input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 10%, transparent)}.login-field input.login-input-error{border-color:var(--color-primary)}.login-field-error{color:var(--color-primary);font-size:.72rem;line-height:1.4}.login-password-field{position:relative}.login-password-field input{padding-right:66px}.login-password-toggle{width:34px;height:34px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.login-password-toggle:hover{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 7%, transparent)}.login-error{color:var(--color-primary);margin:0;font-size:.77rem;line-height:1.45}.login-submit{border:1px solid var(--color-primary);color:#fff;background:var(--color-primary);cursor:pointer;border-radius:10px;min-height:48px;font-weight:800;transition:background-color .18s,border-color .18s,transform .12s}.login-submit:hover:not(:disabled){border-color:var(--color-primary-hover);background:var(--color-primary-hover)}.login-submit:active:not(:disabled){transform:translateY(1px)}.login-submit:disabled{opacity:.55;cursor:default}.login-account-links{color:var(--color-text-muted);justify-content:center;align-items:center;gap:8px;font-size:.74rem;display:flex}.login-account-links a,.login-account-links button{color:var(--color-text-muted);font:inherit;background:0 0;border:0;padding:0;text-decoration:none}.login-account-links a:hover{color:var(--color-primary)}.login-account-links button:disabled{opacity:.55}.login-social{margin-top:28px}.login-social-divider{color:var(--color-text-muted);align-items:center;gap:12px;font-size:.72rem;display:flex}.login-social-divider:before,.login-social-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.login-social-list{gap:9px;margin-top:18px;display:grid}.login-social-button{border:1px solid var(--color-border);min-height:46px;color:var(--color-text);background:var(--color-background);border-radius:10px;justify-content:center;align-items:center;padding:0 46px;font-size:.8rem;font-weight:750;text-decoration:none;transition:border-color .18s,background-color .18s,transform .18s;display:flex;position:relative}.login-social-button:hover{transform:translateY(-1px)}.login-social-mark{width:26px;height:26px;color:var(--color-text);background:color-mix(in srgb, var(--color-text) 7%, transparent);border-radius:8px;place-items:center;font-size:.72rem;font-weight:900;display:grid;position:absolute;left:15px}.login-social-button.kakao .login-social-mark{color:#1f1f1f;background:#fee500}.login-social-button.naver .login-social-mark{color:#fff;background:#03c75a}.login-social-button.google .login-social-mark{color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border)}@media (width<=768px){.login-page{min-height:auto;padding:38px var(--page-padding) 60px}.login-card{padding:28px}}@media (width<=480px){.login-card{border-radius:14px;padding:22px}.login-heading h1{font-size:1.7rem}.login-account-links{flex-wrap:wrap}.login-heading{gap:14px}.login-heading-icon{flex:0 0 60px;width:60px;height:60px}.login-heading-icon .service-svg-icon{width:33px;height:33px}}.login-submit:focus-visible,.login-password-toggle:focus-visible,.login-account-links a:focus-visible,.login-social-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.signup-page{padding-top:56px!important;padding-bottom:72px!important}.signup-card{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:18px;width:min(100%,920px);margin:0 auto;padding:40px;box-shadow:0 18px 50px #0f121814}.signup-heading{margin-bottom:32px}.signup-heading h1{color:var(--color-text);margin:6px 0 10px;font-size:clamp(1.75rem,3vw,2.25rem)}.signup-heading>p:last-child{color:var(--color-text-muted);margin:0}.signup-eyebrow{color:var(--color-primary);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:800}.error-summary{border:1px solid #d7192073;border-left:4px solid var(--color-primary);background-color:#d7192014;border-radius:10px;margin-bottom:28px;padding:18px 20px}.error-summary strong{color:var(--color-primary)}.error-summary p{margin:8px 0 0}.error-summary ul{color:var(--color-text-muted);margin:10px 0 0;padding-left:20px;font-size:.9rem}.signup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;display:grid}.form-field{min-width:0}.form-field-wide{grid-column:1/-1}.form-field>label,.receive-options legend{color:var(--color-text);margin-bottom:9px;font-size:.92rem;font-weight:700;display:block}.form-field input,.form-field select{border:1px solid var(--color-border);width:100%;min-width:0;height:46px;color:var(--color-text);background-color:var(--color-background);border-radius:8px;outline:none;padding:0 13px;transition:border-color .15s,box-shadow .15s,background-color .15s}.form-field input::placeholder{color:var(--color-text-muted);opacity:.7}.form-field input:focus,.form-field select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #d7192024}.form-field input[readonly],.form-field select:disabled{cursor:default;background-color:var(--color-surface-hover);opacity:1}.field-with-button{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.field-with-button button,.email-fields button{border:1px solid var(--color-primary);min-height:46px;color:var(--color-primary);cursor:pointer;white-space:nowrap;background-color:#0000;border-radius:8px;padding:0 18px;font-weight:700}.field-with-button button:hover,.email-fields button:hover{color:#fff;background-color:var(--color-primary)}.field-guide,.field-error,.field-success{margin:7px 0 0;font-size:.82rem;line-height:1.45}.field-guide{color:var(--color-text-muted)}.field-error{color:#e53935}.field-success{color:#2d9d68}.password-strength{color:var(--color-text-muted);justify-content:space-between;align-items:center;margin-top:8px;font-size:.82rem;display:flex}.password-strength:before{background-color:var(--color-border);content:"";border-radius:999px;width:54%;height:5px}.password-strength.weak:before{background-color:#e53935}.password-strength.weak strong{color:#e53935}.password-strength.medium:before{background-color:#e09b2d}.password-strength.medium strong{color:#e09b2d}.password-strength.strong:before{background-color:#2d9d68}.password-strength.strong strong{color:#2d9d68}.birth-date-fields{grid-template-columns:minmax(0,1fr) 150px;gap:10px;display:grid}.phone-fields{grid-template-columns:90px 10px 120px 10px 120px auto;justify-content:start;align-items:center;gap:6px;display:grid}.phone-fields button{border:1px solid var(--color-primary);min-height:46px;color:var(--color-primary);cursor:pointer;white-space:nowrap;background-color:#0000;border-radius:8px;padding:0 18px;font-weight:700}.phone-fields button:hover:not(:disabled){color:#fff;background-color:var(--color-primary)}.phone-fields button:disabled{cursor:not-allowed;opacity:.55}.phone-fields span,.email-fields>span{color:var(--color-text-muted);text-align:center}.email-fields{grid-template-columns:280px auto 220px;justify-content:start;align-items:center;gap:10px;display:grid}.receive-options{border:1px solid var(--color-border);border-radius:12px;gap:13px;margin:30px 0 0;padding:22px;display:grid}.receive-options legend{padding:0 6px}.receive-options label{color:var(--color-text-muted);cursor:pointer;align-items:center;gap:9px;font-size:.9rem;display:flex}.receive-options input{width:17px;height:17px;accent-color:var(--color-primary)}.signup-actions{justify-content:flex-end;gap:12px;margin-top:32px;display:flex}.signup-actions button{cursor:pointer;border-radius:9px;min-width:130px;min-height:48px;padding:0 22px;font-weight:750}.signup-actions button:first-child{border:1px solid var(--color-border);color:var(--color-text);background-color:#0000}.signup-actions button:last-child{border:1px solid var(--color-primary);color:#fff;background-color:var(--color-primary)}.signup-actions button:last-child:hover{background-color:var(--color-primary-hover)}.signup-actions button:disabled{cursor:wait;opacity:.65}@media (width<=768px){.signup-page{padding-top:32px!important;padding-bottom:48px!important}.signup-card{border-radius:14px;padding:28px 22px}.signup-grid{grid-template-columns:1fr;gap:21px}.form-field-wide{grid-column:auto}.phone-fields{grid-template-columns:72px 8px minmax(90px,1fr) 8px minmax(90px,1fr) auto;gap:5px}.email-fields{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.email-fields select{grid-column:1/3}.email-fields button{grid-column:3}}@media (width<=480px){.signup-card{padding:24px 16px}.field-with-button,.birth-date-fields{grid-template-columns:1fr}.phone-fields{grid-template-columns:72px 10px minmax(0,1fr) 10px minmax(0,1fr);gap:4px}.email-fields{grid-template-columns:1fr}.email-fields>span{display:none}.email-fields select,.email-fields button{grid-column:auto}.signup-actions{flex-direction:column-reverse}.signup-actions button{width:100%}}.verification-row{grid-template-columns:240px auto auto;justify-content:start;gap:10px;margin-top:10px;display:grid}.verification-row button{border:1px solid var(--color-primary);min-height:46px;color:var(--color-primary);cursor:pointer;white-space:nowrap;background-color:#0000;border-radius:8px;padding:0 18px;font-weight:700}.verification-row button:hover:not(:disabled){color:#fff;background-color:var(--color-primary)}.verification-row button:disabled,.field-with-button button:disabled{cursor:not-allowed;opacity:.55}@media (width<=480px){.verification-row,.field-with-button{grid-template-columns:1fr}.verification-row button,.field-with-button button{width:100%}}.verification-code-input{min-width:0;position:relative}.verification-code-input input{width:100%;padding-right:68px}.verification-timer{color:var(--color-primary);pointer-events:none;font-size:.82rem;font-weight:700;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.verification-timer.expired{color:var(--color-text-muted)}.confirm-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000094;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.confirm-modal{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:18px;width:min(100%,440px);padding:30px;box-shadow:0 24px 80px #00000052}.confirm-modal-eyebrow{color:var(--color-primary);letter-spacing:.12em;font-size:.68rem;font-weight:800}.confirm-modal h2{color:var(--color-text);margin:10px 0 0;font-size:1.25rem;font-weight:850}.confirm-modal p{color:var(--color-text-muted);white-space:pre-line;margin:14px 0 0;font-size:.88rem;line-height:1.65}.confirm-modal .confirm-modal-error{border:1px solid color-mix(in srgb, var(--color-primary) 28%, var(--color-border));color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 7%, transparent);border-radius:8px;margin:12px 0 0;padding:10px 12px;font-size:.8rem;font-weight:700;line-height:1.5}.confirm-modal-actions{justify-content:flex-end;gap:9px;margin-top:26px;display:flex}.confirm-modal-actions button{cursor:pointer;border-radius:9px;min-width:82px;height:38px;padding:0 15px;font-size:.78rem;font-weight:750}.confirm-modal-cancel{border:1px solid var(--color-border);color:var(--color-text-muted);background-color:var(--color-background)}.confirm-modal-confirm{border:1px solid var(--color-primary);color:#fff;background-color:var(--color-primary)}.confirm-modal-confirm.danger{font-weight:850}.center-search-page{width:min(calc(100% - (var(--page-padding) * 2)), var(--content-max-width));margin:0 auto;padding:56px 0 80px}.center-search-header{border-bottom:1px solid var(--color-border);padding-bottom:28px}.center-search-eyebrow{color:var(--color-primary);letter-spacing:.08em;font-size:.72rem;font-weight:800}.center-search-header h1{color:var(--color-text);letter-spacing:-.04em;margin:10px 0 0;font-size:2.3rem;font-weight:900}.center-search-header p{color:var(--color-text-muted);margin:12px 0 0;font-size:.9rem;line-height:1.65}.center-search-layout{grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);align-items:start;gap:20px;margin-top:28px;display:grid}.center-search-list-area,.center-search-detail-area{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;width:100%;min-width:0;height:740px}.center-search-list-area{flex-direction:column;min-height:0;padding:18px;display:flex;overflow:hidden}.center-search-list-area form{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:18px;display:grid}.center-search-list-area input{border:1px solid var(--color-border);width:100%;min-height:42px;color:var(--color-text);background:var(--color-background);border-radius:9px;outline:none;padding:0 13px}.center-search-list-area input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 10%, transparent)}.center-search-list-area form button{border:1px solid var(--color-primary);min-width:72px;min-height:42px;color:var(--color-primary);cursor:pointer;background:0 0;border-radius:9px;padding:0 14px;font-weight:800}.center-search-list-area form button:hover{background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface))}.center-search-list-area form button:disabled{opacity:.55;cursor:default}.center-search-count{color:var(--color-text-muted);margin:0 0 10px;font-size:.76rem}.center-search-results{scrollbar-gutter:stable;flex:1;min-height:0;overflow-y:auto}.center-search-list-area article{border-bottom:1px solid var(--color-border)}.center-search-list-area article:last-child{border-bottom:0}.center-search-list-area article button{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;padding:15px 8px;transition:background-color .18s;display:block}.center-search-list-area article button:hover{background:color-mix(in srgb, var(--color-primary) 4%, var(--color-background))}.center-search-list-area article.selected button{background:color-mix(in srgb, var(--color-primary) 8%, var(--color-background))}.center-search-list-area article.selected{box-shadow:inset 3px 0 0 var(--color-primary)}.center-search-list-area article strong{color:var(--color-text);font-size:.9rem;display:block}.center-list-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.center-list-title strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.center-search-list-area article p{color:var(--color-text-muted);margin:7px 0 4px;font-size:.78rem;line-height:1.45}.center-list-phone{color:var(--color-text-muted);font-size:.73rem}.center-status-badge{border:1px solid #0000;border-radius:999px;flex:none;padding:4px 7px;font-size:.66rem;font-weight:800;line-height:1}.center-status-badge.active{border-color:color-mix(in srgb, var(--color-primary) 28%, var(--color-border));color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface))}.center-status-badge.inactive{border-color:var(--color-border);color:var(--color-text-muted);background:var(--color-background)}.center-search-empty,.center-list-loading,.center-list-end{color:var(--color-text-muted);text-align:center;margin:18px 0;font-size:.75rem}.center-list-retry{border:1px solid var(--color-primary);color:var(--color-primary);cursor:pointer;background:0 0;border-radius:8px;margin:16px auto;padding:8px 12px;font-size:.75rem;font-weight:700;display:block}.center-list-retry:hover{color:#fff;background:var(--color-primary)}.center-search-detail-area{padding:24px}.center-detail-panel{border-radius:10px;height:390px;min-height:390px;overflow:hidden}.center-search-placeholder,.center-detail-status{height:100%;min-height:100%;color:var(--color-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex}.center-search-placeholder>span{border:1px solid color-mix(in srgb, var(--color-primary) 35%, var(--color-border));width:46px;height:46px;color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));border-radius:50%;place-items:center;margin-bottom:18px;font-size:1.6rem;font-weight:500;display:grid}.center-search-placeholder strong,.center-detail-status strong{color:var(--color-text);font-size:1.05rem;font-weight:800;line-height:1.5}.center-search-placeholder p,.center-detail-status p{max-width:360px;color:var(--color-text-muted);margin:10px 0 0;font-size:.8rem;line-height:1.65}.center-location-button{border:1px solid var(--color-primary);color:#fff;background-color:var(--color-primary);cursor:pointer;border-radius:9px;min-height:42px;margin-top:20px;padding:0 16px;font-size:.8rem;font-weight:750;transition:background-color .18s,transform .18s}.center-location-button:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-1px)}.center-location-button:disabled{opacity:.6;cursor:wait}.center-search-placeholder .center-location-error{max-width:380px;color:var(--color-primary);margin-top:12px;font-size:.74rem}.center-detail-title-row{align-items:center;gap:10px;display:flex}.center-detail-title-row h2{margin:0}.center-nearest-distance{border:1px solid color-mix(in srgb, var(--color-primary) 24%, var(--color-border));color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 7%, var(--color-surface));border-radius:999px;flex:none;padding:3px 7px;font-size:.68rem;font-weight:750;line-height:1.2}.center-detail-status.error strong,.center-detail-status.error p{color:var(--color-primary)}.center-detail-content{grid-template-rows:auto auto minmax(0,1fr) auto;height:100%;display:grid}.center-detail-content h2{color:var(--color-text);margin:0;font-size:1.45rem}.center-detail-content>p{color:var(--color-text-muted);margin:9px 0 22px;font-size:.82rem;line-height:1.55}.center-detail-content dl{scrollbar-gutter:stable;gap:0;min-height:0;margin:0;padding-right:6px;display:grid;overflow-y:auto}.center-detail-content dl>div{border-bottom:1px solid var(--color-border);grid-template-columns:130px minmax(0,1fr);gap:14px;padding:13px 0;display:grid}.center-detail-content dt{color:var(--color-text-muted);font-size:.76rem;font-weight:700}.center-detail-content dd{color:var(--color-text);white-space:pre-line;word-break:keep-all;margin:0;font-size:.8rem;line-height:1.5}.center-detail-content>button{border:1px solid var(--color-primary);color:#fff;background:var(--color-primary);cursor:pointer;border-radius:10px;width:100%;min-height:46px;margin-top:20px;padding:0 18px;font-size:.86rem;font-weight:800;transition:opacity .18s,transform .18s}.center-detail-content>button:hover:not(:disabled){opacity:.9}.center-detail-content>button:active:not(:disabled){transform:translateY(1px)}.center-detail-content>button:disabled{border-color:var(--color-border);color:var(--color-text-muted);background:color-mix(in srgb, var(--color-border) 45%, var(--color-surface));cursor:not-allowed;opacity:.8}.center-map-wrapper{border:1px solid var(--color-border);background:var(--color-background);border-radius:12px;min-height:280px;margin-top:18px;position:relative;overflow:hidden}.center-map{width:100%;height:280px}.center-map-loading,.center-map-error{z-index:5;color:var(--color-text-muted);background:var(--color-background);place-items:center;font-size:.8rem;display:grid;position:absolute;inset:0}.center-map-error{color:var(--color-primary)}.center-map-marker{cursor:pointer;transform-origin:50% 100%;background:0 0;border:0;outline:0;place-items:center;padding:0;transition:transform .16s,filter .16s;display:grid;position:relative}.center-map-marker-shape{background:var(--color-primary);filter:drop-shadow(0 2px 3px #00000052);display:block;position:relative}.center-map-marker.marker-national:before,.center-map-marker.marker-region:before{z-index:0;filter:drop-shadow(0 2px 3px #00000061);content:"";background:#fff;position:absolute;inset:0}.center-map-marker.marker-national:before{clip-path:polygon(34% 0,66% 0,66% 34%,100% 34%,100% 66%,66% 66%,66% 100%,34% 100%,34% 66%,0 66%,0 34%,34% 34%)}.center-map-marker.marker-region:before{clip-path:polygon(35% 0,65% 0,65% 35%,100% 35%,100% 65%,65% 65%,65% 100%,35% 100%,35% 65%,0 65%,0 35%,35% 35%)}.center-map-marker.marker-national .center-map-marker-shape,.center-map-marker.marker-region .center-map-marker-shape{z-index:1;transform:scale(.72)}.center-map-marker.marker-national{width:16px;height:16px}.center-map-marker.marker-national .center-map-marker-shape{clip-path:polygon(34% 0,66% 0,66% 34%,100% 34%,100% 66%,66% 66%,66% 100%,34% 100%,34% 66%,0 66%,0 34%,34% 34%);width:16px;height:16px}.center-map-marker.marker-region{width:22px;height:22px}.center-map-marker.marker-region .center-map-marker-shape{clip-path:polygon(35% 0,65% 0,65% 35%,100% 35%,100% 65%,65% 65%,65% 100%,35% 100%,35% 65%,0 65%,0 35%,35% 35%);width:20px;height:20px}.center-map-marker.marker-pin{align-items:start;width:30px;height:38px}.center-map-marker.marker-pin .center-map-marker-shape{border:2px solid #fff;border-radius:50% 50% 50% 0;width:27px;height:27px;margin-top:2px;transform:rotate(-45deg);box-shadow:0 3px 8px #0000003d}.center-map-marker.marker-pin .center-map-marker-shape i{width:13px;height:13px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.center-map-marker.marker-pin .center-map-marker-shape i:before,.center-map-marker.marker-pin .center-map-marker-shape i:after{content:"";background:#fff;border-radius:2px;position:absolute}.center-map-marker.marker-pin .center-map-marker-shape i:before{width:3px;height:13px;top:0;left:5px}.center-map-marker.marker-pin .center-map-marker-shape i:after{width:13px;height:3px;top:5px;left:0}.center-map-marker.selected{z-index:2;filter:drop-shadow(0 0 5px #e539356b);transform:scale(1.22)}.center-map-marker.selected .center-map-marker-shape{background:#9e1111}.center-map-marker.inactive{cursor:default;filter:none}.center-map-marker.inactive .center-map-marker-shape{filter:drop-shadow(0 2px 3px #0000002e);background:#8d949d}.center-map-marker.inactive.selected{transform:none}.center-map-info{border:1px solid color-mix(in srgb, var(--color-primary) 28%, var(--color-border));min-width:150px;color:var(--color-text);background:var(--color-surface);pointer-events:none;border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;display:flex;box-shadow:0 8px 22px #0000002e}.center-map-info strong{white-space:nowrap;font-size:.8rem;font-weight:800;line-height:1.35}.center-map-info span{color:var(--color-primary);font-size:.68rem;font-weight:700}.center-map-info.inactive{border-color:var(--color-border)}.center-map-info.inactive span{color:var(--color-text-muted)}@media (width<=1024px){.center-search-layout{grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr)}.center-detail-content dl>div{grid-template-columns:110px minmax(0,1fr)}}@media (width<=768px){.center-search-page{padding-top:38px}.center-search-layout{grid-template-columns:1fr}.center-search-list-area,.center-search-detail-area{height:auto}.center-search-results{flex:none;height:440px}.center-search-detail-area{padding:18px}.center-detail-panel{height:390px;min-height:390px}}@media (width<=480px){.center-search-list-area form{grid-template-columns:1fr}.center-search-list-area form button{width:100%}.center-detail-content dl>div{grid-template-columns:1fr;gap:5px}.center-map-wrapper{min-height:260px}.center-map{height:260px}.center-detail-panel{height:360px;min-height:360px}.center-search-placeholder,.center-detail-status{padding:28px 18px}}.reservation-create-page{width:min(calc(100% - (var(--page-padding) * 2)), 1180px);margin-inline:auto;padding:48px 0 80px}.reservation-create-header{margin-bottom:28px}.reservation-create-header>span{color:var(--color-primary);letter-spacing:.12em;margin-bottom:10px;font-size:.74rem;font-weight:850;display:inline-block}.reservation-create-header h1{color:var(--color-text);letter-spacing:-.04em;margin:0;font-size:clamp(2rem,4vw,2.8rem)}.reservation-create-header p{color:var(--color-text-muted);margin:12px 0 0;line-height:1.7}.reservation-create-content{flex-direction:column;gap:20px;display:flex}.reservation-search-form{border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px;grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr);gap:14px;padding:22px;display:grid}.reservation-search-form label{color:var(--color-text-muted);flex-direction:column;gap:8px;font-size:.78rem;font-weight:700;display:flex}.reservation-search-form select,.reservation-search-form input{border:1px solid var(--color-border);width:100%;min-height:46px;color:var(--color-text);background:var(--color-background);font:inherit;border-radius:10px;outline:none;padding:0 13px;transition:border-color .18s,box-shadow .18s,background-color .18s}.reservation-search-form select:focus,.reservation-search-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 14%, transparent)}.reservation-search-form>button{color:#fff;background:var(--color-primary);cursor:pointer;border:0;border-radius:10px;grid-column:2;align-self:end;width:100%;min-height:46px;padding:0 18px;font-weight:800;transition:background-color .18s,transform .18s}.reservation-search-form>button:hover:not(:disabled){background:var(--color-primary-hover)}.reservation-search-form>button:active:not(:disabled){transform:translateY(1px)}.reservation-search-form>button:disabled{opacity:.55;cursor:default}.reservation-error,.reservation-success{border-radius:10px;margin:0;padding:12px 14px;font-size:.86rem;font-weight:700}.reservation-error{border:1px solid color-mix(in srgb, var(--color-primary) 35%, var(--color-border));color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 7%, var(--color-surface))}.reservation-success{border:1px solid color-mix(in srgb, #2e9f5b 35%, var(--color-border));color:#2e9f5b;background:color-mix(in srgb, #2e9f5b 7%, var(--color-surface))}.reservation-slot-area{border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px;min-height:120px;padding:22px}.reservation-slot-groups{flex-direction:column;gap:24px;width:100%;display:flex}.reservation-slot-group{flex-direction:column;gap:12px;display:flex}.reservation-slot-group+.reservation-slot-group{border-top:1px solid var(--color-border);padding-top:20px}.reservation-slot-group-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.reservation-slot-group-title>strong{color:var(--color-text);font-size:.9rem;font-weight:850}.reservation-slot-group-title>span{color:var(--color-text-muted);font-size:.72rem}.reservation-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.reservation-slot-area>p{color:var(--color-text-muted);text-align:center;grid-column:1/-1;margin:auto;font-size:.9rem}.reservation-slot-card{border:1px solid var(--color-border);background:var(--color-background);border-radius:12px;min-width:0;transition:border-color .18s,background-color .18s,transform .18s,box-shadow .18s;overflow:hidden}.reservation-slot-card:hover{border-color:color-mix(in srgb, var(--color-primary) 45%, var(--color-border));transform:translateY(-2px)}.reservation-slot-card.selected{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 7%, var(--color-surface));box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary) 12%, transparent)}.reservation-slot-card button{width:100%;min-height:48px;color:var(--color-text);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:0 14px;display:flex}.reservation-slot-card strong{font-size:.96rem}.reservation-slot-card span{color:var(--color-text-muted);font-size:.78rem}.reservation-slot-card.selected span{color:var(--color-primary)}.reservation-submit-button{color:#fff;background:var(--color-primary);cursor:pointer;border:0;border-radius:10px;align-self:flex-end;min-width:210px;min-height:48px;padding:0 20px;font-weight:850;transition:background-color .18s,transform .18s}.reservation-submit-button:hover:not(:disabled){background:var(--color-primary-hover)}.reservation-submit-button:active:not(:disabled){transform:translateY(1px)}.reservation-submit-button:disabled{opacity:.5;cursor:default}@media (width<=1024px){.reservation-create-page{padding-top:40px}.reservation-search-form{grid-template-columns:1fr}.reservation-search-form>button{width:100%}.reservation-date-field,.reservation-donation-field,.reservation-search-form>button{grid-column:1}.reservation-calendar{max-width:none}.reservation-slot-area{grid-template-columns:repeat(3,minmax(0,1fr))}.reservation-center-list{grid-template-columns:1fr}}@media (width<=768px){.reservation-create-page{padding:32px 0 64px}.reservation-search-form{grid-template-columns:1fr;padding:18px}.reservation-slot-area{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px}.reservation-submit-button{width:100%}.reservation-center-section{padding:18px}.reservation-map-shell,.reservation-map-shell .center-map-wrapper,.reservation-map-shell .center-map-loading,.reservation-map-shell .center-map-error{min-height:240px}.reservation-map-shell .center-map{height:240px}.reservation-center-card{flex-direction:column}.reservation-center-card-actions{flex-direction:row}.reservation-center-card-actions button{flex:1}.reservation-slot-heading{flex-direction:column;align-items:flex-start;gap:10px}.reservation-selection-summary{flex-direction:column;align-items:flex-start;gap:8px}.reservation-calendar{max-width:none}.reservation-donation-options{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-date-field,.reservation-donation-field{grid-column:1/-1;width:100%;min-width:0}.reservation-calendar{box-sizing:border-box;width:100%;max-width:none}.reservation-donation-field{flex-direction:column;margin-top:4px;display:flex}.reservation-selected-date-card{box-sizing:border-box;width:100%;margin-bottom:16px}.reservation-donation-options{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.reservation-donation-option{min-width:0;min-height:52px;padding:0 12px}.reservation-calendar-guide{box-sizing:border-box;width:100%;margin-top:18px}.reservation-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.reservation-create-page{padding-top:24px}.reservation-search-form,.reservation-slot-area{border-radius:14px}.reservation-slot-area{grid-template-columns:1fr}.reservation-slot-card button{min-height:78px}.reservation-center-section-header{flex-direction:column;gap:14px}.reservation-map-toggle{width:100%}.reservation-map-shell,.reservation-map-shell .center-map-wrapper,.reservation-map-shell .center-map-loading,.reservation-map-shell .center-map-error{min-height:220px}.reservation-map-shell .center-map{height:220px}.reservation-center-card-actions{flex-direction:column}.reservation-center-list{max-height:360px}.reservation-calendar{border-radius:12px;padding:14px}.reservation-calendar-grid{gap:4px}.reservation-calendar-day{border-radius:8px;font-size:.82rem}.reservation-donation-options{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-donation-option{min-height:50px}.reservation-slot-grid{grid-template-columns:1fr}}.reservation-center-section{border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px;flex-direction:column;gap:18px;padding:22px;display:flex}.reservation-center-section-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.reservation-center-section-header>div>span,.reservation-condition-heading>span{color:var(--color-primary);letter-spacing:.12em;font-size:.7rem;font-weight:850}.reservation-center-section-header h2,.reservation-condition-heading h2{color:var(--color-text);letter-spacing:-.03em;margin:6px 0;font-size:1.35rem}.reservation-center-section-header p,.reservation-condition-heading p{color:var(--color-text-muted);margin:0;font-size:.86rem;line-height:1.6}.reservation-map-toggle{border:1px solid var(--color-border);min-height:40px;color:var(--color-text);background:var(--color-background);cursor:pointer;border-radius:9px;padding:0 14px;font-weight:750}.reservation-map-toggle:hover{border-color:var(--color-primary);color:var(--color-primary)}.reservation-center-search{border:1px solid var(--color-border);background:var(--color-background);border-radius:11px;align-items:center;gap:10px;min-height:48px;padding:0 14px;display:flex}.reservation-center-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 12%, transparent)}.reservation-center-search-icon{color:var(--color-text-muted);font-size:1.15rem}.reservation-center-search input{min-width:0;color:var(--color-text);font:inherit;background:0 0;border:0;outline:0;flex:1}.reservation-center-search>button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;font-size:.76rem}.reservation-map-shell{border:1px solid var(--color-border);background:var(--color-background);border-radius:14px;min-height:300px;position:relative;overflow:hidden}.reservation-map-shell .center-map-wrapper{border:0;border-radius:0;min-height:300px;margin-top:0}.reservation-map-shell .center-map{height:300px}.reservation-map-shell .center-map-loading,.reservation-map-shell .center-map-error{min-height:300px}.reservation-center-result-header{color:var(--color-text);justify-content:space-between;align-items:center;display:flex}.reservation-center-result-header span{color:var(--color-text-muted);font-size:.78rem}.reservation-center-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:430px;padding-right:4px;display:grid;overflow-y:auto}.reservation-center-card{border:1px solid var(--color-border);background:var(--color-background);border-radius:13px;justify-content:space-between;gap:18px;padding:17px;transition:border-color .18s,background-color .18s;display:flex}.reservation-center-card.selected{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 6%, var(--color-background))}.reservation-center-card.inactive{opacity:.62}.reservation-center-card-content{min-width:0}.reservation-center-card-title{align-items:center;gap:8px;display:flex}.reservation-center-card-title strong{color:var(--color-text)}.reservation-center-card-title span{color:var(--color-primary);flex-shrink:0;font-size:.7rem;font-weight:800}.reservation-center-card-content>p{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;margin:7px 0;font-size:.8rem;overflow:hidden}.reservation-center-meta{color:var(--color-text-muted);flex-wrap:wrap;gap:6px 12px;font-size:.72rem;display:flex}.reservation-center-card-actions{flex-direction:column;flex-shrink:0;gap:7px;display:flex}.reservation-center-card-actions button{border-radius:8px;min-height:36px;padding:0 11px;font-size:.74rem;font-weight:750}.reservation-location-button{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;transition:border-color .18s,color .18s,background-color .18s}.reservation-location-button:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 6%, transparent)}.reservation-location-button:disabled{opacity:.45;cursor:default}.reservation-center-select-button{color:#fff;background:var(--color-primary);cursor:pointer;border:0}.reservation-center-select-button:disabled{opacity:.55;cursor:default}.reservation-center-empty{color:var(--color-text-muted);text-align:center;grid-column:1/-1;padding:30px}.reservation-condition-heading{border-bottom:1px solid var(--color-border);grid-column:1/-1;align-items:flex-start;gap:14px;padding-bottom:16px;display:flex}.reservation-condition-heading>span{background:color-mix(in srgb, var(--color-primary) 9%, var(--color-surface));border-radius:999px;flex-shrink:0;margin-top:3px;padding:6px 9px}.reservation-condition-heading>div{min-width:0}.reservation-center-required{color:var(--color-text-muted);grid-column:1/-1;margin:0;font-size:.8rem}.reservation-slot-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-top:4px;display:flex}.reservation-slot-heading>div>span{color:var(--color-primary);letter-spacing:.12em;font-size:.7rem;font-weight:850}.reservation-slot-heading h2{color:var(--color-text);letter-spacing:-.03em;margin:6px 0;font-size:1.35rem}.reservation-slot-heading p{color:var(--color-text-muted);margin:0;font-size:.86rem;line-height:1.6}.reservation-slot-count{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));border-radius:999px;padding:7px 11px;font-size:.74rem;font-weight:800}.reservation-slot-empty{text-align:center;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:7px;min-height:130px;display:flex}.reservation-slot-empty strong{color:var(--color-text);font-size:.95rem}.reservation-slot-empty p{color:var(--color-text-muted);margin:0;font-size:.8rem;line-height:1.6}.reservation-selection-summary{border:1px solid color-mix(in srgb, var(--color-primary) 28%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 5%, var(--color-surface));border-radius:12px;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;display:flex}.reservation-selection-summary>div{flex-direction:column;gap:4px;display:flex}.reservation-selection-summary>div>span{color:var(--color-text-muted);font-size:.72rem}.reservation-selection-summary strong{color:var(--color-text);font-size:1rem}.reservation-selection-summary>span{color:var(--color-text-muted);font-size:.76rem}.reservation-date-field{flex-direction:column;grid-column:1;gap:12px;display:flex}.reservation-date-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.reservation-date-heading strong{color:var(--color-text);font-size:.82rem}.reservation-date-heading span{color:var(--color-primary);font-size:.75rem;font-weight:750}.reservation-calendar{border:1px solid var(--color-border);background:var(--color-background);border-radius:14px;width:100%;max-width:620px;padding:18px}.reservation-calendar-header{grid-template-columns:40px 1fr 40px;align-items:center;margin-bottom:18px;display:grid}.reservation-calendar-header strong{color:var(--color-text);text-align:center;font-size:1rem}.reservation-calendar-header button{border:1px solid var(--color-border);width:36px;height:36px;color:var(--color-text);background:var(--color-surface);cursor:pointer;border-radius:9px;place-items:center;padding:0;font-size:1.3rem;transition:border-color .18s,color .18s,background-color .18s;display:grid}.reservation-calendar-header button:last-child{justify-self:end}.reservation-calendar-header button:hover{border-color:var(--color-primary);color:var(--color-primary)}.reservation-calendar-header button:disabled{opacity:.32;cursor:default}.reservation-calendar-header button:disabled:hover{border-color:var(--color-border);color:var(--color-text)}.reservation-calendar-weekdays,.reservation-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.reservation-calendar-weekdays{margin-bottom:6px}.reservation-calendar-weekdays span{color:var(--color-text-muted);text-align:center;padding:7px 0;font-size:.72rem;font-weight:750}.reservation-calendar-weekdays span:first-child{color:var(--color-primary)}.reservation-calendar-grid{gap:5px}.reservation-calendar-empty,.reservation-calendar-day{aspect-ratio:1}.reservation-calendar-day{min-width:0;color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;font-size:.8rem;font-weight:650;transition:border-color .15s,color .15s,background-color .15s,transform .15s}.reservation-calendar-day:hover:not(:disabled){border-color:color-mix(in srgb, var(--color-primary) 35%, var(--color-border));color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 6%, transparent)}.reservation-calendar-day.available:not(.selected){border-color:color-mix(in srgb, var(--color-primary) 18%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 10%, var(--color-background));color:var(--color-primary)}.reservation-calendar-day.available:hover:not(:disabled):not(.selected){border-color:color-mix(in srgb, var(--color-primary) 45%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 16%, var(--color-background))}.reservation-calendar-day:active:not(:disabled){transform:scale(.96)}.reservation-calendar-day.selected{border-color:var(--color-primary);color:#fff;background:var(--color-primary);font-weight:850}.reservation-calendar-day.today:not(.selected){border-color:color-mix(in srgb, var(--color-primary) 30%, var(--color-border));color:var(--color-primary);font-weight:850}.reservation-calendar-day:disabled{color:color-mix(in srgb, var(--color-text-muted) 45%, transparent);cursor:default}.reservation-donation-field{grid-column:2;align-self:start}.reservation-selected-date-card{border:1px solid color-mix(in srgb, var(--color-primary) 18%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 5%, var(--color-background));border-radius:12px;flex-direction:column;justify-content:center;gap:5px;min-height:70px;margin-bottom:18px;padding:14px 16px;display:flex}.reservation-selected-date-card span{color:var(--color-text-muted);font-size:.72rem;font-weight:700}.reservation-selected-date-card strong{color:var(--color-text);letter-spacing:-.02em;font-size:1rem}.reservation-donation-title{margin-bottom:10px;display:block}.reservation-donation-field>strong{color:var(--color-text);font-size:.82rem}.reservation-donation-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.reservation-donation-option{border:1px solid var(--color-border);min-height:48px;color:var(--color-text);background:var(--color-background);cursor:pointer;border-radius:10px;padding:0 14px;font-weight:750;transition:border-color .18s,color .18s,background-color .18s,transform .18s,box-shadow .18s}.reservation-donation-option:hover{border-color:color-mix(in srgb, var(--color-primary) 45%, var(--color-border));color:var(--color-primary);transform:translateY(-1px)}.reservation-donation-option.selected{border-color:var(--color-primary);color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-background));box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary) 10%, transparent);font-weight:850}.reservation-donation-option:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.reservation-calendar-guide{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-background) 72%, var(--color-surface));border-radius:12px;flex-direction:column;gap:14px;margin-top:18px;padding:16px;display:flex}.reservation-calendar-guide-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.reservation-calendar-guide-header strong{color:var(--color-text);font-size:.86rem}.reservation-calendar-guide-header span{color:var(--color-text-muted);font-size:.68rem}.reservation-calendar-guide-item{align-items:flex-start;gap:10px;display:flex}.reservation-guide-dot{border:1px solid var(--color-border);border-radius:4px;flex-shrink:0;width:14px;height:14px;margin-top:2px;display:block}.reservation-guide-dot.available{border-color:color-mix(in srgb, var(--color-primary) 24%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 12%, var(--color-background))}.reservation-guide-dot.unavailable{background:var(--color-background)}.reservation-calendar-guide-item strong{color:var(--color-text);margin-bottom:3px;font-size:.78rem;display:block}.reservation-calendar-guide-item p{color:var(--color-text-muted);margin:0;font-size:.72rem;line-height:1.5}.reservation-calendar-guide-notice{border-top:1px solid var(--color-border);color:var(--color-primary);padding-top:12px;font-size:.74rem;font-weight:750}.reservation-confirm-section{border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px;flex-direction:column;gap:16px;padding:22px;display:flex}.reservation-confirm-heading>span{color:var(--color-primary);letter-spacing:.12em;font-size:.7rem;font-weight:850}.reservation-confirm-heading h2{color:var(--color-text);letter-spacing:-.03em;margin:6px 0;font-size:1.35rem}.reservation-confirm-heading p{color:var(--color-text-muted);margin:0;font-size:.86rem;line-height:1.6}.reservation-confirm-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.reservation-confirm-summary>div{border:1px solid var(--color-border);background:var(--color-background);border-radius:12px;flex-direction:column;justify-content:center;gap:6px;min-width:0;min-height:82px;padding:14px;display:flex}.reservation-confirm-summary span{color:var(--color-text-muted);font-size:.7rem;font-weight:700}.reservation-confirm-summary strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.reservation-personal-card{border:1px solid var(--color-border);background:var(--color-background);border-radius:14px;padding:18px}.reservation-personal-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.reservation-personal-heading strong{color:var(--color-text);font-size:.94rem}.reservation-personal-heading p{color:var(--color-text-muted);margin:5px 0 0;font-size:.74rem}.reservation-personal-heading>span{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));border-radius:999px;flex-shrink:0;padding:6px 9px;font-size:.68rem;font-weight:800}.reservation-personal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.reservation-personal-grid label{flex-direction:column;gap:7px;display:flex}.reservation-personal-grid label>span{color:var(--color-text-muted);font-size:.74rem;font-weight:750}.reservation-personal-grid input{border:1px solid var(--color-border);width:100%;min-height:46px;color:var(--color-text);background:var(--color-surface);font:inherit;border-radius:10px;outline:none;padding:0 13px;transition:border-color .18s,box-shadow .18s}.reservation-personal-grid input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 12%, transparent)}.reservation-resident-field{grid-column:1/-1}.reservation-resident-field small{color:var(--color-text-muted);font-size:.68rem;line-height:1.5}.reservation-privacy-card{border:1px solid color-mix(in srgb, var(--color-primary) 18%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 4%, var(--color-background));cursor:pointer;border-radius:13px;align-items:flex-start;gap:12px;padding:16px;display:flex}.reservation-privacy-card>input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.reservation-privacy-check{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;flex-shrink:0;place-items:center;width:20px;height:20px;margin-top:1px;display:grid}.reservation-privacy-card>input:checked+.reservation-privacy-check{border-color:var(--color-primary);background:var(--color-primary)}.reservation-privacy-card>input:checked+.reservation-privacy-check:after{content:"✓";color:#fff;font-size:.72rem;font-weight:900}.reservation-privacy-card strong{color:var(--color-text);margin-bottom:5px;font-size:.82rem;display:block}.reservation-privacy-card p{color:var(--color-text-muted);margin:0;font-size:.72rem;line-height:1.65}@media (width<=768px){.reservation-confirm-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-personal-grid{grid-template-columns:1fr}.reservation-resident-field{grid-column:1}}@media (width<=480px){.reservation-confirm-section{padding:17px}.reservation-confirm-summary{grid-template-columns:1fr}.reservation-personal-heading{flex-direction:column}}.reservation-step-anchor{scroll-margin-top:88px}.reservation-step-navigation{border:1px solid color-mix(in srgb, var(--color-primary) 12%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 3%, var(--color-surface));border-radius:14px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;margin-top:4px;padding:14px 16px;display:flex}.reservation-step-progress{flex-direction:column;gap:3px;min-width:0;margin-right:auto;display:flex}.reservation-step-progress>span{color:var(--color-primary);letter-spacing:.11em;font-size:.64rem;font-weight:850}.reservation-step-progress>strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:750;overflow:hidden}.reservation-step-next,.reservation-step-back{min-height:40px;font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 13px;font-size:.76rem;font-weight:800;transition:border-color .18s,color .18s,background-color .18s,transform .18s,opacity .18s;display:inline-flex}.reservation-step-next{border:1px solid color-mix(in srgb, var(--color-primary) 35%, var(--color-border));color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 7%, var(--color-surface))}.reservation-step-next:hover:not(:disabled){border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface));transform:translate(2px)}.reservation-step-back{border:1px solid var(--color-border);color:var(--color-text-muted);background:0 0}.reservation-step-back:hover{border-color:color-mix(in srgb, var(--color-text) 25%, var(--color-border));color:var(--color-text);background:color-mix(in srgb, var(--color-text) 4%, transparent);transform:translate(-2px)}.reservation-step-next:disabled{opacity:.38;cursor:default;transform:none}.reservation-step-arrow{color:#fff;background:var(--color-primary);border-radius:50%;place-items:center;width:24px;height:24px;font-size:.82rem;line-height:1;display:grid}.reservation-step-next:disabled .reservation-step-arrow{background:color-mix(in srgb, var(--color-text-muted) 45%, transparent)}.reservation-step-navigation-final{justify-content:flex-start}@media (width<=768px){.reservation-step-navigation{flex-wrap:wrap;align-items:stretch}.reservation-step-progress{order:-1;width:100%}.reservation-step-next,.reservation-step-back{flex:1}}@media (width<=480px){.reservation-step-navigation{flex-direction:column}.reservation-step-next,.reservation-step-back,.reservation-step-progress{width:100%}}.reservation-slot-card.closed{border-color:color-mix(in srgb, var(--color-border) 82%, transparent);background:color-mix(in srgb, var(--color-text-muted) 4%, var(--color-background));box-shadow:none}.reservation-slot-card.closed:hover{border-color:color-mix(in srgb, var(--color-border) 82%, transparent);box-shadow:none;transform:none}.reservation-slot-card.closed button{cursor:not-allowed}.reservation-slot-card.closed strong{color:color-mix(in srgb, var(--color-text-muted) 72%, var(--color-text))}.reservation-slot-card.closed span{color:var(--color-text-muted);opacity:.72}.reservation-complete-card{border:1px solid color-mix(in srgb, #2e9f5b 30%, var(--color-border));background:color-mix(in srgb, #2e9f5b 5%, var(--color-surface));border-radius:16px;align-items:flex-start;gap:16px;padding:20px 22px;display:flex}.reservation-complete-icon{color:#fff;background:#2e9f5b;border-radius:50%;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:1rem;font-weight:900;display:grid}.reservation-complete-content{min-width:0}.reservation-complete-content>span{color:#2e9f5b;letter-spacing:.11em;margin-bottom:5px;font-size:.66rem;font-weight:850;display:block}.reservation-complete-content h2{color:var(--color-text);letter-spacing:-.02em;margin:0;font-size:1.05rem}.reservation-complete-content p{color:var(--color-text);margin:8px 0 0;font-size:.82rem;font-weight:700;line-height:1.65}.reservation-complete-content small{color:var(--color-text-muted);margin-top:7px;font-size:.72rem;display:block}.reservation-complete-link{color:var(--color-primary);border-bottom:1px solid color-mix(in srgb, var(--color-primary) 35%, transparent);align-items:center;font-weight:800;text-decoration:none;transition:color .18s,border-color .18s;display:inline-flex}.reservation-complete-link:hover{color:color-mix(in srgb, var(--color-primary) 80%, var(--color-text));border-bottom-color:var(--color-primary)}.reservation-complete-link:focus-visible{outline:2px solid color-mix(in srgb, var(--color-primary) 35%, transparent);outline-offset:3px;border-radius:2px}@media (width<=480px){.reservation-complete-card{padding:17px}.reservation-complete-icon{width:36px;height:36px}}@media (width<=768px){.reservation-calendar-guide-header{flex-direction:column;align-items:flex-start;gap:4px}}.reservation-submit-button.incomplete{border:1px solid color-mix(in srgb, var(--color-primary) 24%, var(--color-border));color:color-mix(in srgb, var(--color-primary) 72%, var(--color-text-muted));background:color-mix(in srgb, var(--color-primary) 7%, var(--color-surface));box-shadow:none}.reservation-submit-button.incomplete:hover{border-color:color-mix(in srgb, var(--color-primary) 48%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 11%, var(--color-surface));transform:translateY(-1px)}.reservation-submit-notice{border:1px solid color-mix(in srgb, var(--color-primary) 25%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 6%, var(--color-surface));border-radius:13px;align-items:flex-start;gap:12px;padding:14px 16px;animation:.2s ease-out reservation-notice-in;display:flex}.reservation-submit-notice-icon{color:#fff;background:var(--color-primary);border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:.8rem;font-weight:900;display:grid}.reservation-submit-notice strong{color:var(--color-text);font-size:.8rem;display:block}.reservation-submit-notice p{color:var(--color-text-muted);margin:4px 0 0;font-size:.74rem;line-height:1.55}@keyframes reservation-notice-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.reservation-donation-restriction{border:1px solid color-mix(in srgb, var(--color-primary) 26%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 6%, var(--color-surface));border-radius:13px;align-items:flex-start;gap:12px;margin-top:16px;padding:15px 16px;display:flex}.reservation-donation-restriction-icon{color:#fff;background:var(--color-primary);border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.reservation-donation-restriction strong{color:var(--color-text);font-size:.8rem;display:block}.reservation-donation-restriction p{color:var(--color-text-muted);margin:5px 0 8px;font-size:.72rem;line-height:1.55}.reservation-donation-restriction span{color:var(--color-text-muted);align-items:center;gap:7px;font-size:.7rem;display:flex}.reservation-donation-restriction b{color:var(--color-primary);font-size:.76rem}.reservation-donation-restriction.annual{border-color:color-mix(in srgb, var(--color-primary) 32%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 7%, var(--color-surface))}.reservation-donation-restriction.annual .reservation-donation-restriction-icon{color:#fff;background:var(--color-primary)}.reservation-donation-restriction.annual b{color:var(--color-primary)}.reservation-donation-restriction.interval{border-color:color-mix(in srgb, #d69e2e 38%, var(--color-border));background:color-mix(in srgb, #d69e2e 8%, var(--color-surface))}.reservation-donation-restriction.interval .reservation-donation-restriction-icon{color:#fff;background:#d69e2e}.reservation-donation-restriction.interval b{color:#b7791f}.reservation-replace-overlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000094;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.reservation-replace-modal{border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px;width:min(100%,480px);padding:26px;box-shadow:0 24px 70px #00000047}.reservation-replace-eyebrow{color:var(--color-primary);letter-spacing:.12em;margin-bottom:8px;font-size:.7rem;font-weight:850;display:block}.reservation-replace-modal h2{color:var(--color-text);letter-spacing:-.03em;margin:0;font-size:1.3rem}.reservation-replace-modal>p{color:var(--color-text-muted);margin:10px 0 18px;font-size:.84rem;line-height:1.65}.reservation-replace-info{border:1px solid var(--color-border);background:var(--color-background);border-radius:13px;gap:10px;margin-bottom:18px;padding:16px;display:grid}.reservation-replace-info>div{justify-content:space-between;align-items:center;gap:20px;display:flex}.reservation-replace-info span{color:var(--color-text-muted);font-size:.74rem}.reservation-replace-info strong{color:var(--color-text);text-align:right;font-size:.8rem}.reservation-replace-warning{font-weight:750;color:var(--color-primary)!important;margin:0 0 20px!important;font-size:.78rem!important}.reservation-replace-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.reservation-replace-actions button{min-height:44px;font:inherit;cursor:pointer;border-radius:10px;padding:0 16px;font-size:.82rem;font-weight:800;transition:border-color .18s,background-color .18s,color .18s,transform .18s}.reservation-replace-actions button:first-child{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-background)}.reservation-replace-actions button:first-child:hover{border-color:color-mix(in srgb, var(--color-text) 30%, var(--color-border));transform:translateY(-1px)}.reservation-replace-actions button:last-child{border:1px solid var(--color-primary);color:#fff;background:var(--color-primary)}.reservation-replace-actions button:last-child:hover{background:var(--color-primary-hover);transform:translateY(-1px)}@media (width<=480px){.reservation-replace-overlay{padding:16px}.reservation-replace-modal{border-radius:15px;padding:21px 18px}.reservation-replace-info>div{flex-direction:column;align-items:flex-start;gap:4px}.reservation-replace-info strong{text-align:left}.reservation-replace-actions{grid-template-columns:1fr}}@media (width<=768px){.reservation-search-form{grid-template-columns:minmax(0,1fr)}.reservation-date-field,.reservation-donation-field{grid-column:1/-1;width:100%;min-width:0}.reservation-calendar{box-sizing:border-box;width:100%;max-width:none}.reservation-donation-field{flex-direction:column;align-self:stretch;margin-top:4px;display:flex}.reservation-selected-date-card{box-sizing:border-box;width:100%;margin-bottom:16px}.reservation-donation-options{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.reservation-donation-option{min-width:0;min-height:52px;padding:0 12px}.reservation-calendar-guide{box-sizing:border-box;width:100%;margin-top:18px}}@media (width<=480px){.reservation-calendar{border-radius:12px;padding:14px}.reservation-calendar-grid{gap:4px}.reservation-calendar-day{border-radius:8px;font-size:.82rem}.reservation-donation-options{grid-template-columns:repeat(2,minmax(0,1fr))}}.reservation-list-page{flex-direction:column;gap:24px;width:100%;display:flex}.reservation-list-header{background:linear-gradient(135deg,#fff 0%,#fff7f7 100%);border:1px solid #e1e5ea;border-radius:18px;padding:26px 28px;position:relative;overflow:hidden}.reservation-list-header:after{content:"";background:#e5393512;border-radius:50%;width:180px;height:180px;position:absolute;top:-60px;right:-45px}.reservation-list-header>*{z-index:1;position:relative}.reservation-list-header>span{color:#e31b23;letter-spacing:.12em;margin-bottom:8px;font-size:12px;font-weight:800;display:block}.reservation-list-header h1{color:#252a31;margin:0;font-size:24px;line-height:1.35}.reservation-list-header p{color:#69727d;margin:9px 0 0;font-size:14px;line-height:1.7}.reservation-list-content{flex-direction:column;gap:16px;padding-top:18px;display:flex}.reservation-list{flex-direction:column;gap:16px;display:flex}.reservation-list-content>p{color:#68717c;text-align:center;background:#f8f9fb;border:1px solid #e2e6eb;border-radius:14px;margin:0;padding:24px;font-size:14px;line-height:1.6}.reservation-list-error{color:#bd1d25!important;text-align:left!important;background:#fff3f4!important;border-color:#ffc7ca!important}.reservation-list-success{color:#177146!important;text-align:left!important;background:#f1faf5!important;border-color:#bce3cf!important}.reservation-list-card{background:#fff;border:1px solid #dfe3e8;border-radius:18px;transition:border-color .2s,box-shadow .2s,transform .2s;overflow:hidden;box-shadow:0 8px 24px #1f27330d}.reservation-list-card:hover{border-color:#cbd1d8;transform:translateY(-2px);box-shadow:0 12px 30px #1f273314}.reservation-list-card.is-canceled{box-shadow:none;background:#fafafa}.reservation-list-card.is-canceled:hover{transform:none}.reservation-list-card>div:first-child{border-bottom:1px solid #edf0f3;justify-content:space-between;align-items:center;gap:18px;padding:20px 24px;display:flex}.reservation-list-card>div:first-child strong{color:#252b32;font-size:18px;line-height:1.4}.reservation-list-card>div:first-child>span{color:#df1821;white-space:nowrap;background:#fff1f2;border:1px solid #ffc2c5;border-radius:999px;flex:none;padding:7px 12px;font-size:12px;font-weight:800}.reservation-list-card.is-canceled>div:first-child>span{color:#747c86;background:#eff1f3;border-color:#d6dbe0}.reservation-list-card dl{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:24px;display:grid}.reservation-list-card dl>div{border-right:1px solid #e5e8ec;min-width:0;padding:0 22px}.reservation-list-card dl>div:first-child{padding-left:0}.reservation-list-card dl>div:last-child{border-right:0;padding-right:0}.reservation-list-card dt{color:#858d97;margin-bottom:7px;font-size:12px;font-weight:700}.reservation-list-card dd{overflow-wrap:anywhere;color:#282e35;margin:0;font-size:15px;font-weight:750;line-height:1.5}.reservation-list-card.is-canceled dd{color:#777f89}.reservation-action-area{justify-content:flex-end;gap:9px;padding:0 24px 22px;display:flex}.reservation-action-area button{cursor:pointer;border-radius:10px;min-height:42px;padding:0 17px;font-family:inherit;font-size:13px;font-weight:800;transition:border-color .2s,background .2s,color .2s,transform .2s}.reservation-action-area button:hover:not(:disabled){transform:translateY(-1px)}.reservation-action-area button:disabled{cursor:not-allowed;opacity:.55}.reservation-change-button{color:#333a43;background:#fff;border:1px solid #ccd2d9}.reservation-change-button:hover:not(:disabled){background:#f6f7f8;border-color:#8e98a4}.reservation-cancel-button{color:#d71921;background:#fff;border:1px solid #e31b23}.reservation-cancel-button:hover:not(:disabled){color:#fff;background:#e31b23}.reservation-change-area{background:#f7f8fa;border-top:1px solid #e8ebef;padding:22px 24px 24px}.reservation-change-area>p{color:#6d7681;text-align:center;background:#fff;border:1px solid #e0e4e9;border-radius:10px;margin:0;padding:18px;font-size:13px;line-height:1.6}.reservation-change-calendar-section{margin-bottom:20px}.reservation-change-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.reservation-change-heading strong{color:#303740;font-size:14px}.reservation-change-heading span{color:#e31b23;font-size:12px;font-weight:800}.reservation-mini-calendar{width:min(100%,430px);margin:0 auto}.reservation-mobile-calendar-toggle{display:none}.reservation-change-date-info{flex-direction:column;gap:4px;display:flex}.reservation-mini-calendar .reservation-calendar{padding:16px}.reservation-mini-calendar .reservation-calendar-header{margin-bottom:12px}.reservation-mini-calendar .reservation-calendar-grid{gap:4px}.reservation-mini-calendar .reservation-calendar-day{min-height:38px;font-size:12px}.reservation-change-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.reservation-change-slot{color:#3b434d;cursor:pointer;background:#fff;border:1px solid #d7dce2;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:64px;padding:9px 8px;font-family:inherit;font-size:13px;font-weight:750;transition:border-color .2s,background .2s,color .2s,transform .2s;display:flex}.reservation-change-slot>span{color:#77818c;font-size:11px;font-weight:600}.reservation-change-slot:hover:not(:disabled){color:#252b32;background:#fff5f5;border-color:#e31b23;transform:translateY(-1px)}.reservation-change-slot:hover:not(:disabled)>span{color:#e31b23}.reservation-change-slot.selected{color:#252b32;background:#fff0f1;border-color:#e31b23;box-shadow:0 0 0 1px #e31b231a}.reservation-change-slot.selected>span{color:#e31b23;font-weight:700}.reservation-change-slot.selected:hover:not(:disabled){color:#252b32;background:#ffe8ea;border-color:#e31b23}.reservation-change-slot.selected:hover:not(:disabled)>span{color:#d71921}.reservation-change-slot:disabled{color:#9ba2aa;cursor:not-allowed;background:#eceff2;border-color:#e2e5e9}.reservation-change-slot:disabled>span{color:#a1a8af}.reservation-change-confirm-button{color:#fff;cursor:pointer;background:#e31b23;border:1px solid #e31b23;border-radius:10px;width:100%;min-height:46px;margin-top:14px;padding:0 18px;font-family:inherit;font-size:14px;font-weight:800;transition:border-color .2s,background .2s}.reservation-change-confirm-button:hover:not(:disabled){background:#bd1118;border-color:#bd1118}.reservation-change-confirm-button:disabled{color:#8c949d;cursor:not-allowed;background:#dadde1;border-color:#dadde1}@media (width<=1024px){.reservation-list-card dl{padding:21px}.reservation-list-card dl>div{padding:0 16px}.reservation-change-slots{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=768px){.reservation-change-heading{align-items:center}.reservation-change-date-info{min-width:0}.reservation-mobile-calendar-toggle{color:#454d57;min-height:34px;font:inherit;cursor:pointer;background:#fff;border:1px solid #d5dae0;border-radius:8px;justify-content:center;align-items:center;padding:0 11px;font-size:11px;font-weight:800;display:inline-flex}.reservation-mini-calendar{margin-top:12px;display:none}.reservation-mini-calendar.mobile-open{display:block}.reservation-list-page{gap:18px}.reservation-list-header{border-radius:15px;padding:22px 20px}.reservation-list-header h1{font-size:21px}.reservation-list-card{border-radius:15px}.reservation-list-card>div:first-child{align-items:flex-start;padding:18px}.reservation-list-card>div:first-child strong{font-size:16px}.reservation-list-card dl{grid-template-columns:1fr;padding:4px 18px}.reservation-list-card dl>div,.reservation-list-card dl>div:first-child,.reservation-list-card dl>div:last-child{border-bottom:1px solid #edf0f3;border-right:0;grid-template-columns:76px 1fr;align-items:baseline;padding:14px 0;display:grid}.reservation-list-card dl>div:last-child{border-bottom:0}.reservation-list-card dt{margin:0}.reservation-list-card dd{font-size:14px}.reservation-action-area{padding:4px 18px 18px}.reservation-change-area{padding:20px 18px}.reservation-change-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.reservation-change-slot{border-radius:8px;gap:0;min-height:42px;padding:6px 5px;font-size:12px}.reservation-change-slot>span{display:none}}@media (width<=480px){.reservation-list-header{padding:20px 17px}.reservation-list-card>div:first-child{gap:12px}.reservation-list-card>div:first-child>span{padding:6px 9px;font-size:11px}.reservation-action-area{grid-template-columns:1fr 1fr;display:grid}.reservation-action-area button{width:100%;padding:0 10px}}:root[data-theme=dark] .reservation-list-header{background:linear-gradient(135deg,#20252c 0%,#2b2023 100%);border-color:#343b45}:root[data-theme=dark] .reservation-list-header:after{background:#e539351f}:root[data-theme=dark] .reservation-list-header h1{color:#f5f7fa}:root[data-theme=dark] .reservation-list-header p{color:#aeb6c1}:root[data-theme=dark] .reservation-list-content>p{color:#b8c0ca;background:#20252c;border-color:#363d47}:root[data-theme=dark] .reservation-list-error{color:#ff9da2!important;background:#351f22!important;border-color:#71363a!important}:root[data-theme=dark] .reservation-list-success{color:#8ed8b1!important;background:#1d3027!important;border-color:#315d48!important}:root[data-theme=dark] .reservation-list-card{background:#20252c;border-color:#353c46;box-shadow:0 8px 24px #0000002e}:root[data-theme=dark] .reservation-list-card:hover{border-color:#4b5561;box-shadow:0 12px 30px #00000040}:root[data-theme=dark] .reservation-list-card.is-canceled{background:#1c2026;border-color:#30363e}:root[data-theme=dark] .reservation-list-card>div:first-child{border-bottom-color:#343b44}:root[data-theme=dark] .reservation-list-card>div:first-child strong{color:#f1f3f5}:root[data-theme=dark] .reservation-list-card>div:first-child>span{color:#ff959a;background:#3a2023;border-color:#7b3438}:root[data-theme=dark] .reservation-list-card.is-canceled>div:first-child>span{color:#aab1ba;background:#292e35;border-color:#464d56}:root[data-theme=dark] .reservation-list-card dl>div{border-right-color:#363d46}:root[data-theme=dark] .reservation-list-card dt{color:#939daa}:root[data-theme=dark] .reservation-list-card dd{color:#e4e8ec}:root[data-theme=dark] .reservation-list-card.is-canceled dd{color:#9ca4ae}:root[data-theme=dark] .reservation-change-button{color:#e0e4e8;background:#282e36;border-color:#505965}:root[data-theme=dark] .reservation-change-button:hover:not(:disabled){background:#343b44;border-color:#717c89}:root[data-theme=dark] .reservation-cancel-button{color:#ff848a;background:0 0;border-color:#e34a51}:root[data-theme=dark] .reservation-cancel-button:hover:not(:disabled){color:#fff;background:#e31b23;border-color:#e31b23}:root[data-theme=dark] .reservation-change-area{background:#1a1f25;border-top-color:#353c45}:root[data-theme=dark] .reservation-change-area>p{color:#afb7c1;background:#252b32;border-color:#3b424c}:root[data-theme=dark] .reservation-change-slot{color:#e1e5e9;background:#282e36;border-color:#444c57}:root[data-theme=dark] .reservation-change-slot>span{color:#a2abb5}:root[data-theme=dark] .reservation-change-slot:hover:not(:disabled){color:#f1f3f5;background:#35262a;border-color:#ef555c}:root[data-theme=dark] .reservation-change-slot:hover:not(:disabled)>span{color:#ff8f95}:root[data-theme=dark] .reservation-change-slot.selected{color:#f7f8fa;background:#41262a;border-color:#ef555c;box-shadow:0 0 0 1px #ef555c1a}:root[data-theme=dark] .reservation-change-slot.selected>span{color:#ff9da2}:root[data-theme=dark] .reservation-change-slot.selected:hover:not(:disabled){color:#fff;background:#4a292e;border-color:#ff686f}:root[data-theme=dark] .reservation-change-slot.selected:hover:not(:disabled)>span{color:#ffabb0}:root[data-theme=dark] .reservation-change-slot:disabled{color:#676f79;background:#22272e;border-color:#353b43}:root[data-theme=dark] .reservation-change-slot:disabled>span{color:#676f79}:root[data-theme=dark] .reservation-change-confirm-button:disabled{color:#858d97;background:#3e454e;border-color:#3e454e}@media (width<=768px){:root[data-theme=dark] .reservation-list-card dl>div,:root[data-theme=dark] .reservation-list-card dl>div:first-child,:root[data-theme=dark] .reservation-list-card dl>div:last-child{border-bottom-color:#343b44}:root[data-theme=dark] .reservation-list-card dl>div:last-child{border-bottom:0}}.mypage-page{flex-direction:column;gap:20px;margin-top:22px;display:flex}.mypage-intro-card{border:1px solid var(--color-border);background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 9%, var(--color-surface)), var(--color-surface));border-radius:16px;justify-content:space-between;align-items:center;gap:34px;min-height:200px;padding:30px;display:flex}.mypage-intro-card span,.mypage-page-description span{color:var(--color-primary);letter-spacing:.12em;font-size:.68rem;font-weight:850}.mypage-intro-card h3,.mypage-page-description h3{color:var(--color-text);letter-spacing:-.03em;margin:8px 0;font-size:1.35rem}.mypage-intro-card p,.mypage-page-description p{color:var(--color-text-muted);margin:0;font-size:.84rem;line-height:1.65}.mypage-activity-copy{flex:1;min-width:0}.mypage-donation-summary{flex:0 520px;align-items:center;gap:26px;display:flex}.mypage-donation-total{flex-wrap:wrap;align-items:baseline;gap:5px;min-width:120px;display:flex}.mypage-donation-total>span{width:100%;color:var(--color-text-muted);letter-spacing:0;margin-bottom:5px;font-size:.72rem;font-weight:750}.mypage-donation-total>strong{color:var(--color-primary);letter-spacing:-.05em;font-size:2.65rem;font-weight:900}.mypage-donation-total>em{color:var(--color-text);font-size:.82rem;font-style:normal;font-weight:750}.mypage-donation-types{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.mypage-donation-types>div{border:1px solid color-mix(in srgb, var(--color-border) 80%, transparent);background:color-mix(in srgb, var(--color-background) 75%, transparent);border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:72px;padding:10px 8px;display:flex}.mypage-donation-types span{color:var(--color-text-muted);white-space:nowrap;font-size:.68rem;font-weight:750}.mypage-donation-types strong{color:var(--color-text);font-size:1.05rem;font-weight:850}.mypage-donation-types small{color:var(--color-text-muted);margin-left:2px;font-size:.64rem;font-weight:650}.mypage-donation-summary-loading{color:var(--color-text-muted);font-size:.78rem}.mypage-service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.mypage-service-card{border:1px solid var(--color-border);min-height:135px;color:inherit;background:var(--color-surface);border-radius:14px;justify-content:space-between;align-items:center;gap:18px;padding:20px;text-decoration:none;transition:border-color .18s,transform .18s,box-shadow .18s;display:flex}.mypage-service-card:hover{border-color:color-mix(in srgb, var(--color-primary) 50%, var(--color-border));transform:translateY(-2px);box-shadow:0 8px 22px #0000000f}.mypage-service-card strong{color:var(--color-text);font-size:.94rem}.mypage-service-card p{color:var(--color-text-muted);margin:7px 0 0;font-size:.76rem;line-height:1.55}.mypage-service-card>span{color:var(--color-primary);font-size:1rem}.mypage-page-description{border-left:3px solid var(--color-primary);background:color-mix(in srgb, var(--color-primary) 4%, var(--color-surface));padding:20px 22px}.mypage-data-section{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;overflow:hidden}.mypage-data-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;display:flex}.mypage-data-header h3{color:var(--color-text);margin:0;font-size:1rem}.mypage-data-header p{color:var(--color-text-muted);margin:6px 0 0;font-size:.76rem}.mypage-record-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.mypage-record-toolbar>span{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-background));white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:800}.mypage-period-filter{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mypage-period-filter button{border:1px solid var(--color-border);min-height:30px;color:var(--color-text-muted);background:var(--color-background);font:inherit;cursor:pointer;appearance:none;border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:750;transition:border-color .18s,color .18s,background .18s}.mypage-period-filter button:hover{border-color:color-mix(in srgb, var(--color-primary) 45%, var(--color-border));color:var(--color-primary)}.mypage-period-filter button.active{border-color:var(--color-primary);color:#fff;background:var(--color-primary)}.mypage-table-shell{overflow-x:auto}.mypage-table-header{border-bottom:1px solid var(--color-border);background:var(--color-background);grid-template-columns:70px 120px 120px 120px minmax(160px,1fr) 100px;min-width:760px;display:grid}.mypage-table-header span,.mypage-table-header button{color:var(--color-text-muted);text-align:center;font:inherit;appearance:none;background:0 0;border:0;justify-content:center;align-items:center;gap:5px;padding:13px 10px;font-size:.72rem;font-weight:800;display:flex}.mypage-table-header button{cursor:pointer;transition:color .18s,background .18s}.mypage-table-header button:hover{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 4%, transparent)}.mypage-table-header button b{color:var(--color-primary);font-size:.7rem}.mypage-table-body{min-width:760px}.mypage-table-row{border-bottom:1px solid var(--color-border);grid-template-columns:70px 120px 120px 120px minmax(160px,1fr) 100px;display:grid}.mypage-table-row:last-child{border-bottom:0}.mypage-table-row>span{min-width:0;color:var(--color-text);text-align:center;overflow-wrap:anywhere;justify-content:center;align-items:center;padding:15px 10px;font-size:.76rem;line-height:1.5;display:flex}.mypage-table-row>span:nth-child(5){text-align:left;justify-content:flex-start}.mypage-favorite-button{border:1px solid var(--color-border);width:34px;height:34px;color:var(--color-text-muted);background:var(--color-background);font:inherit;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1.15rem;transition:color .18s,border-color .18s,background .18s,transform .18s;display:inline-flex}.mypage-favorite-button:hover{border-color:color-mix(in srgb, var(--color-primary) 55%, var(--color-border));color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 6%, var(--color-background));transform:translateY(-1px)}.mypage-favorite-button.active{border-color:color-mix(in srgb, var(--color-primary) 55%, var(--color-border));color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-background))}.mypage-favorite-button:disabled{cursor:wait;opacity:.55}.mypage-record-error{border:1px solid color-mix(in srgb, var(--color-primary) 32%, var(--color-border));color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 6%, var(--color-surface));border-radius:10px;margin:20px;padding:14px 16px;font-size:.8rem;line-height:1.6}.mypage-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:240px;padding:30px;display:flex}.mypage-empty-state.standalone{min-height:280px}.mypage-empty-state strong{color:var(--color-text);font-size:.94rem}.mypage-empty-state p{color:var(--color-text-muted);margin:0;font-size:.8rem;line-height:1.6}.mypage-favorite-section{border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px;overflow:hidden}.mypage-favorite-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:20px;padding:22px;display:flex}.mypage-favorite-header>div>span{color:var(--color-primary);letter-spacing:.12em;font-size:.68rem;font-weight:850}.mypage-favorite-header h3{color:var(--color-text);margin:5px 0 0;font-size:1.05rem}.mypage-favorite-header p{color:var(--color-text-muted);margin:7px 0 0;font-size:.78rem;line-height:1.6}.mypage-favorite-count{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-background));border-radius:999px;flex-shrink:0;padding:6px 10px;font-size:.72rem;font-weight:800}.mypage-favorite-list{gap:8px;padding:12px;display:grid}.mypage-favorite-center-card{min-width:0;color:inherit;border:1px solid #0000;border-radius:12px;align-items:center;gap:14px;padding:14px 16px;text-decoration:none;transition:border-color .18s,background .18s,transform .18s;display:flex}.mypage-favorite-center-card:hover{border-color:color-mix(in srgb, var(--color-primary) 30%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 4%, var(--color-background));transform:translateY(-1px)}.mypage-favorite-center-icon{width:38px;height:38px;color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 9%, var(--color-background));border-radius:50%;flex:0 0 38px;justify-content:center;align-items:center;font-size:1rem;display:flex}.mypage-favorite-center-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.mypage-favorite-center-info strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.mypage-favorite-center-info span{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.mypage-favorite-center-action{color:var(--color-primary);flex-shrink:0;align-items:center;gap:7px;font-size:.75rem;font-weight:800;display:flex}.mypage-favorite-empty{color:var(--color-text-muted);text-align:center;padding:30px 22px;font-size:.78rem}.mypage-favorite-empty strong{color:var(--color-text);margin-bottom:7px;font-size:.86rem;display:block}.mypage-favorite-empty p{margin:0 0 14px}.mypage-favorite-empty-link{border:1px solid var(--color-border);color:var(--color-primary);border-radius:9px;padding:8px 12px;font-size:.74rem;font-weight:800;text-decoration:none;display:inline-flex}@media (width<=1024px){.mypage-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mypage-intro-card{flex-direction:column;align-items:flex-start}.mypage-donation-summary{flex-basis:auto;width:100%}}@media (width<=768px){.mypage-intro-card{min-height:150px;padding:24px}.mypage-service-grid{grid-template-columns:1fr}.mypage-service-card{min-height:110px}.mypage-data-header{align-items:flex-start}.mypage-record-toolbar,.mypage-period-filter{justify-content:flex-end}.mypage-donation-summary{flex-direction:column;align-items:stretch;gap:16px}.mypage-donation-total{min-width:0}.mypage-donation-types{width:100%}}@media (width<=480px){.mypage-intro-card,.mypage-page-description{padding:20px}.mypage-data-header{flex-direction:column;align-items:flex-start}.mypage-record-toolbar{flex-direction:column;justify-content:flex-start;align-items:flex-start;width:100%}.mypage-period-filter{justify-content:flex-start;width:100%}.mypage-empty-state{min-height:210px;padding:24px 18px}.mypage-favorite-header{flex-direction:column}.mypage-favorite-center-card{align-items:flex-start}.mypage-favorite-center-action{margin-left:auto}.mypage-favorite-center-info span{white-space:normal}.mypage-donation-types{grid-template-columns:repeat(2,minmax(0,1fr))}}.donation-eligibility-section{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-primary) 3%, var(--color-surface));border-radius:18px;flex-direction:column;gap:18px;margin-bottom:24px;padding:22px;display:flex}.donation-eligibility-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.donation-eligibility-heading span{color:var(--color-primary);letter-spacing:.11em;margin-bottom:5px;font-size:.66rem;font-weight:850;display:block}.donation-eligibility-heading h3{color:var(--color-text);letter-spacing:-.02em;margin:0;font-size:1.05rem}.donation-eligibility-heading p{color:var(--color-text-muted);margin:6px 0 0;font-size:.76rem;line-height:1.55}.donation-eligibility-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.donation-eligibility-card{border:1px solid color-mix(in srgb, var(--color-primary) 10%, var(--color-border));background:var(--color-surface);border-radius:14px;flex-direction:column;gap:10px;min-width:0;padding:16px;transition:border-color .18s,transform .18s,box-shadow .18s;display:flex}.donation-eligibility-card:hover{border-color:color-mix(in srgb, var(--color-primary) 30%, var(--color-border));transform:translateY(-2px);box-shadow:0 10px 22px #00000017}.donation-eligibility-type{color:var(--color-text-muted);font-size:.72rem;font-weight:800}.donation-eligibility-card>strong{color:var(--color-text);letter-spacing:-.02em;font-size:1rem}.donation-eligibility-meta{color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;font-size:.68rem;display:flex}.donation-eligibility-meta b{color:var(--color-text);font-size:.72rem}.donation-eligibility-progress{background:color-mix(in srgb, var(--color-text-muted) 14%, transparent);border-radius:999px;height:5px;overflow:hidden}.donation-eligibility-progress>span{border-radius:inherit;background:var(--color-primary);height:100%;transition:width .25s;display:block}.donation-eligibility-note{color:var(--color-text-muted);margin-top:auto;font-size:.68rem;font-weight:700}@media (width<=1024px){.donation-eligibility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.donation-eligibility-section{padding:16px}.donation-eligibility-grid{grid-template-columns:1fr}.donation-eligibility-card{padding:14px}}.point-balance-card{border:1px solid var(--color-border);background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 10%, var(--color-surface)), var(--color-surface));border-radius:16px;justify-content:space-between;align-items:center;gap:24px;min-height:190px;padding:28px;display:flex}.point-balance-card span{color:var(--color-primary);letter-spacing:.12em;font-size:.68rem;font-weight:850}.point-balance-card h3{color:var(--color-text);margin:8px 0}.point-balance-card p{color:var(--color-text-muted);margin:0;font-size:.8rem}.point-balance-card>strong{color:var(--color-text);font-size:clamp(2rem,5vw,3.2rem)}.point-policy-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.point-policy-grid article{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;flex-direction:column;gap:8px;padding:18px;display:flex}.point-policy-grid span{color:var(--color-text-muted);font-size:.75rem}.point-policy-grid strong{color:var(--color-primary)}.point-section{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;overflow:hidden}.point-section>header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.point-section h3,.reward-product-grid h4{color:var(--color-text);margin:0}.point-section header p{color:var(--color-text-muted);margin:6px 0 0;font-size:.75rem}.point-section header>span{color:var(--color-primary);font-weight:800}.point-history-list article{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:20px;padding:17px 22px;display:flex}.point-history-list article:last-child{border-bottom:0}.point-history-list div{flex-direction:column;gap:5px;display:flex}.point-history-list div:last-child{text-align:right}.point-history-list strong{color:var(--color-text);font-size:.82rem}.point-history-list span,.point-history-list time{color:var(--color-text-muted);font-size:.7rem}.point-history-list .earned{color:var(--color-primary)}.point-history-list .used{color:var(--color-text-muted)}.reward-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px;display:grid}.reward-product-grid article{border:1px solid var(--color-border);background:var(--color-background);border-radius:12px;padding:20px}.reward-product-grid article>span{color:var(--color-primary);font-size:.68rem;font-weight:800}.reward-product-grid h4{margin-top:10px}.reward-product-grid p{min-height:42px;color:var(--color-text-muted);font-size:.75rem;line-height:1.5}.reward-product-grid div{justify-content:space-between;align-items:end;gap:10px;display:flex}.reward-product-grid strong{color:var(--color-text)}.reward-product-grid small{color:var(--color-text-muted)}.reward-product-grid .sold-out{opacity:.58}@media (width<=1024px){.point-policy-grid,.reward-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.point-balance-card{flex-direction:column;align-items:flex-start}.point-policy-grid,.reward-product-grid{grid-template-columns:1fr}}@media (width<=480px){.point-balance-card{padding:22px}.point-history-list article{flex-direction:column}.point-history-list div:last-child{text-align:left}}.reward-product-image{aspect-ratio:4/3;border:1px solid var(--color-border);object-fit:cover;background:var(--color-surface);border-radius:9px;width:100%;margin-bottom:16px;display:block}.reward-product-image.placeholder{color:var(--color-text-muted);letter-spacing:.08em;place-items:center;font-size:.66rem;display:grid}.point-feedback{border:1px solid var(--color-border);color:var(--color-text);background:color-mix(in srgb, var(--color-primary) 7%, var(--color-surface));border-radius:10px;margin:0;padding:14px 16px;font-size:.8rem}.reward-product-grid .reward-product-card{border:1px solid var(--color-border);width:100%;color:inherit;background:var(--color-background);text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;align-items:stretch;padding:20px;transition:border-color .18s,transform .18s;display:flex}.reward-product-card:hover,.reward-product-card:focus-visible{border-color:var(--color-primary);transform:translateY(-2px)}.reward-product-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.reward-product-card.sold-out{opacity:.58}.reward-product-status{color:var(--color-primary);font-size:.68rem;font-weight:800}.reward-product-card>strong{color:var(--color-text);margin-top:10px;font-size:1rem}.reward-product-card>p{min-height:42px;color:var(--color-text-muted);margin:9px 0 14px;font-size:.75rem;line-height:1.5}.reward-product-meta{justify-content:space-between;align-items:end;gap:10px;margin-top:auto;display:flex}.reward-product-meta strong{color:var(--color-text)}.reward-product-meta small{color:var(--color-text-muted)}.reward-detail-backdrop{z-index:1200;background:#000000b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.reward-detail-modal{border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);width:min(920px,100%);max-height:min(760px,100vh - 48px);display:grid;position:relative;overflow:auto}.reward-detail-close{z-index:1;border:1px solid var(--color-border);width:44px;height:44px;color:var(--color-text);background:var(--color-surface);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:1.5rem;display:grid;position:absolute;top:12px;right:12px}.reward-detail-image-shell{background:var(--color-background);place-items:center;min-height:480px;display:grid}.reward-detail-image-shell img{object-fit:contain;width:100%;height:100%;max-height:680px;display:block}.reward-detail-image-shell span{color:var(--color-text-muted);letter-spacing:.1em}.reward-detail-content{flex-direction:column;padding:54px 30px 30px;display:flex}.reward-detail-eyebrow{color:var(--color-primary);letter-spacing:.12em;font-size:.68rem;font-weight:850}.reward-detail-content h3{color:var(--color-text);margin:12px 0 0;font-size:1.65rem}.reward-detail-content>p{color:var(--color-text-muted);white-space:pre-wrap;margin:14px 0 0;font-size:.85rem;line-height:1.7}.reward-detail-content dl{border-top:1px solid var(--color-border);margin:26px 0}.reward-detail-content dl div{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:18px;padding:13px 0;display:flex}.reward-detail-content dt{color:var(--color-text-muted);font-size:.78rem}.reward-detail-content dd{color:var(--color-text);margin:0;font-size:.82rem;font-weight:800}.reward-purchase-button{color:#fff;background:var(--color-primary);cursor:pointer;border:0;border-radius:9px;min-height:48px;margin-top:auto;font-weight:850}.reward-purchase-button:hover:not(:disabled){background:var(--color-primary-hover)}.reward-purchase-button:focus-visible{outline-offset:2px;outline:2px solid #fff}.reward-purchase-button:disabled{color:var(--color-text-muted);background:var(--color-border);cursor:not-allowed}@media (width<=768px){.reward-detail-backdrop{padding:16px}.reward-detail-modal{grid-template-columns:1fr;max-height:calc(100vh - 32px)}.reward-detail-image-shell{min-height:280px}.reward-detail-image-shell img{max-height:360px}.reward-detail-content{padding:26px 22px 22px}}@media (width<=480px){.reward-detail-backdrop{padding:0}.reward-detail-modal{border-radius:0;width:100%;height:100%;max-height:none}.reward-detail-image-shell{min-height:240px}.reward-detail-content{padding:24px 18px}}.reward-pickup-select{color:var(--color-text-muted);flex-direction:column;gap:8px;margin:0 0 18px;font-size:.78rem;font-weight:750;display:flex}.reward-pickup-select select{border:1px solid var(--color-border);width:100%;min-height:46px;color:var(--color-text);background:var(--color-background);border-radius:8px;padding:10px 12px}.reward-pickup-select select:focus{outline:2px solid color-mix(in srgb, var(--color-primary) 42%, transparent)}.reward-pickup-select small{color:var(--color-text-muted);font-weight:500;line-height:1.5}.point-feedback a{color:var(--color-primary);margin-left:8px;font-weight:800}.point-feedback a:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}@media (width<=768px){.reward-pickup-select select{min-height:44px}}@media (width<=480px){.point-feedback a{margin-top:8px;margin-left:0;display:inline-block}}.reward-pickup-select>label{color:var(--color-text-muted);font-size:.78rem;font-weight:750}.reward-pickup-select input[type=search]{border:1px solid var(--color-border);width:100%;min-height:46px;color:var(--color-text);background:var(--color-background);border-radius:8px;padding:10px 12px}.reward-pickup-select input[type=search]:focus{outline:2px solid color-mix(in srgb, var(--color-primary) 42%, transparent)}.reward-center-options{border:1px solid var(--color-border);background:var(--color-background);border-radius:10px;gap:4px;max-height:210px;padding:6px;display:grid;overflow-y:auto}.reward-center-options>p{color:var(--color-text-muted);text-align:center;margin:0;padding:18px 12px;font-size:.75rem}.reward-center-options button{width:100%;min-height:50px;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;display:flex}.reward-center-options button:hover{background:var(--color-surface)}.reward-center-options button:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.reward-center-options button.selected{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 9%, var(--color-surface))}.reward-center-options button strong{font-size:.78rem}.reward-center-options button span{color:var(--color-text-muted);font-size:.68rem;line-height:1.45}@media (width<=768px){.reward-pickup-select input[type=search]{min-height:44px}.reward-center-options{max-height:190px}}.reward-purchase-confirmation{border:1px solid color-mix(in srgb, var(--color-primary) 55%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 8%, var(--color-background));border-radius:12px;margin-top:auto;padding:20px}.reward-purchase-confirmation>span{color:var(--color-primary);letter-spacing:.12em;font-size:.65rem;font-weight:850}.reward-purchase-confirmation h4{color:var(--color-text);margin:8px 0 0;font-size:1.05rem}.reward-purchase-confirmation>p{color:var(--color-text-muted);margin:10px 0 0;font-size:.78rem;line-height:1.6}.reward-purchase-confirmation>p strong{color:var(--color-text)}.reward-purchase-confirmation dl{margin:16px 0 0}.reward-purchase-confirmation dl div{padding:10px 0}.reward-purchase-confirmation .reward-confirmation-warning{border-left:3px solid var(--color-primary);color:var(--color-text);background:var(--color-surface);padding:10px 12px}.reward-confirmation-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.reward-confirmation-actions button{color:#fff;background:var(--color-primary);cursor:pointer;border:0;border-radius:9px;min-height:46px;padding:0 14px;font-weight:850}.reward-confirmation-actions button:hover:not(:disabled){background:var(--color-primary-hover)}.reward-confirmation-actions button:focus-visible{outline-offset:2px;outline:2px solid #fff}.reward-confirmation-actions button.secondary{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface)}.reward-confirmation-actions button.secondary:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-surface)}.reward-confirmation-actions button:disabled{color:var(--color-text-muted);background:var(--color-border);cursor:not-allowed}@media (width<=768px){.reward-purchase-confirmation{padding:18px}.reward-confirmation-actions button{min-height:44px}}@media (width<=480px){.reward-confirmation-actions{grid-template-columns:1fr}}.reward-modal-error{border:1px solid var(--color-primary);color:var(--color-text);background:color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));border-radius:9px;margin:0 0 14px;padding:12px 14px;font-size:.78rem;font-weight:750;line-height:1.5}.point-purchase-success{border:1px solid color-mix(in srgb, var(--color-primary) 62%, var(--color-border));background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 14%, var(--color-surface)), var(--color-surface));border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:22px 24px;display:grid}.point-purchase-success:focus{outline:2px solid var(--color-primary);outline-offset:3px}.point-purchase-success-icon{color:#fff;background:var(--color-primary);border-radius:50%;place-items:center;width:48px;height:48px;font-size:1.35rem;font-weight:900;display:grid}.point-purchase-success>div{flex-direction:column;gap:5px;min-width:0;display:flex}.point-purchase-success>div>span{color:var(--color-primary);letter-spacing:.12em;font-size:.65rem;font-weight:850}.point-purchase-success strong{color:var(--color-text);font-size:1rem}.point-purchase-success p{color:var(--color-text-muted);margin:0;font-size:.78rem;line-height:1.55}.point-purchase-success-link{color:#fff;background:var(--color-primary);white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 17px;font-size:.78rem;font-weight:850;text-decoration:none;display:inline-flex}.point-purchase-success-link:hover{background:var(--color-primary-hover)}.point-purchase-success-link:focus-visible{outline-offset:2px;outline:2px solid #fff}@media (width<=1024px){.point-purchase-success{grid-template-columns:auto minmax(0,1fr)}.point-purchase-success-link{grid-column:1/-1}}@media (width<=768px){.point-purchase-success{padding:20px}.point-purchase-success-link{width:100%;min-height:44px}}@media (width<=480px){.point-purchase-success{grid-template-columns:1fr;padding:18px}.point-purchase-success-icon{width:42px;height:42px}}.point-history-pagination{border-top:1px solid var(--color-border);justify-content:center;align-items:center;gap:14px;padding:16px 22px;display:flex}.point-history-pagination button{border:1px solid var(--color-border);min-width:78px;min-height:42px;color:var(--color-text);background:var(--color-background);cursor:pointer;border-radius:8px;padding:0 14px;font-weight:750}.point-history-pagination button:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.point-history-pagination button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.point-history-pagination button:disabled{color:var(--color-text-muted);background:var(--color-surface);opacity:.55;cursor:not-allowed}.point-history-pagination>span{min-width:72px;color:var(--color-text-muted);text-align:center;font-size:.78rem}.point-history-pagination>span strong{color:var(--color-primary)}@media (width<=768px){.point-history-pagination button{min-height:44px}}@media (width<=480px){.point-history-pagination{justify-content:space-between;gap:8px;padding:14px 16px}.point-history-pagination button{min-width:72px}}.reward-orders-page{gap:24px}.reward-orders-guide{border:1px solid var(--color-border);color:var(--color-text-muted);background:color-mix(in srgb, var(--color-primary) 6%, var(--color-surface));border-radius:14px;margin:0;padding:20px 22px;font-size:.78rem;line-height:1.65}.reward-order-list{gap:16px;display:grid}.reward-order-list article{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;padding:22px}.reward-order-list header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.reward-order-list header span{color:var(--color-primary);letter-spacing:.12em;font-size:.65rem;font-weight:850}.reward-order-list h3{color:var(--color-text);margin:7px 0 0;font-size:1rem}.reward-order-list header>strong{border:1px solid color-mix(in srgb, var(--color-primary) 45%, var(--color-border));color:var(--color-primary);background:var(--color-background);border-radius:999px;flex-shrink:0;padding:6px 10px;font-size:.7rem}.reward-order-list dl{border-top:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));margin:20px 0 0;display:grid}.reward-order-list dl div{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:16px;min-width:0;padding:13px 0;display:flex}.reward-order-list dl div:nth-child(odd){padding-right:18px}.reward-order-list dl div:nth-child(2n){border-left:1px solid var(--color-border);padding-left:18px}.reward-order-list dt{color:var(--color-text-muted);flex-shrink:0;font-size:.75rem}.reward-order-list dd{min-width:0;color:var(--color-text);text-align:right;overflow-wrap:anywhere;margin:0;font-size:.78rem}.reward-order-code{letter-spacing:.06em;font-family:monospace;font-weight:850;color:var(--color-primary)!important}.reward-order-actions{justify-content:flex-end;margin-top:18px;display:flex}.reward-order-actions button{color:#fff;background:var(--color-primary);cursor:pointer;border:0;border-radius:9px;min-width:120px;min-height:44px;padding:0 18px;font-weight:800}.reward-order-actions button:hover{background:var(--color-primary-hover)}.reward-order-actions button:focus-visible{outline-offset:2px;outline:2px solid #fff}@media (width<=1024px){.reward-order-list dl{grid-template-columns:1fr}.reward-order-list dl div:nth-child(odd),.reward-order-list dl div:nth-child(2n){border-left:0;padding-left:0;padding-right:0}}@media (width<=768px){.reward-order-list article{padding:18px}.reward-order-list header{flex-direction:column}.reward-order-actions button{width:100%}}@media (width<=480px){.reward-orders-guide{padding:18px}.reward-order-list article{padding:16px}.reward-order-list dl div{flex-direction:column;gap:6px}.reward-order-list dd{text-align:left}}.blood-hold-check-page{width:100%;min-height:100%;padding:32px 28px 56px}.blood-hold-check-container{width:min(100%,920px);margin:0 auto}.blood-hold-check-header{margin-bottom:28px}.blood-hold-check-eyebrow{color:#e53935;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:800}.blood-hold-check-header h1{margin:0;font-size:clamp(1.8rem,3vw,2.35rem);line-height:1.2}.blood-hold-check-header>p:last-child{color:var(--text-secondary,#666);margin:12px 0 0;line-height:1.65}.blood-hold-check-info{border:1px solid var(--border-color,#e5e5e5);background:var(--card-bg,#fff);border-radius:16px;margin-bottom:24px;padding:24px 26px}.blood-hold-check-info h2{margin:0 0 10px;font-size:1.15rem}.blood-hold-check-info p{color:var(--text-secondary,#666);margin:0;line-height:1.7}.blood-hold-check-form{border:1px solid var(--border-color,#e5e5e5);background:var(--card-bg,#fff);border-radius:18px;padding:28px}.blood-hold-check-section-heading{margin-bottom:18px}.blood-hold-check-section-heading h2{margin:0;font-size:1.25rem}.blood-hold-check-section-heading p{color:var(--text-secondary,#777);margin:7px 0 0;font-size:.92rem}.blood-hold-reason-list{gap:10px;display:grid}.blood-hold-reason-item{border:1px solid var(--border-color,#dedede);background:var(--surface-bg,#fafafa);cursor:pointer;border-radius:12px;align-items:center;gap:14px;min-height:58px;padding:15px 18px;transition:border-color .18s,background-color .18s,transform .18s;display:flex;position:relative}.blood-hold-reason-item:hover{border-color:#e539358c}.blood-hold-reason-item.is-selected{background:#e5393512;border-color:#e53935}.blood-hold-reason-item input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.blood-hold-reason-checkbox{border:2px solid var(--border-color,#c9c9c9);background:var(--card-bg,#fff);border-radius:6px;flex:none;width:22px;height:22px;transition:border-color .18s,background-color .18s;position:relative}.blood-hold-reason-item.is-selected .blood-hold-reason-checkbox{background:#e53935;border-color:#e53935}.blood-hold-reason-item.is-selected .blood-hold-reason-checkbox:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:6px;height:10px;position:absolute;top:3px;left:6px;transform:rotate(45deg)}.blood-hold-reason-item>span:last-child{font-weight:600;line-height:1.45}.blood-hold-disease-section{background:#e539350e;border-radius:14px;margin-top:22px;padding:22px}.blood-hold-disease-section h3{margin:0;font-size:1.05rem}.blood-hold-disease-section>div:first-child p{color:var(--text-secondary,#666);margin:7px 0 0;font-size:.9rem;line-height:1.55}.blood-hold-disease-input-row{gap:10px;margin-top:17px;display:flex}.blood-hold-disease-input-row input{border:1px solid var(--border-color,#d7d7d7);background:var(--input-bg,#fff);min-width:0;height:46px;color:inherit;font:inherit;border-radius:9px;outline:none;flex:1;padding:0 14px}.blood-hold-disease-input-row input:focus{border-color:#e53935;box-shadow:0 0 0 3px #e539351f}.blood-hold-disease-input-row button{color:#fff;min-width:138px;height:46px;font:inherit;cursor:pointer;background:#e53935;border:0;border-radius:9px;flex:none;padding:0 18px;font-weight:700}.blood-hold-disease-input-row button:hover:not(:disabled){filter:brightness(.94)}.blood-hold-disease-input-row button:disabled{opacity:.48;cursor:not-allowed}.blood-hold-disease-result{border-radius:10px;margin-top:16px;padding:16px 18px}.blood-hold-disease-result.is-allowed{background:#2e7d3214;border:1px solid #2e7d324d}.blood-hold-disease-result.is-caution{background:#e5393517;border:1px solid #e5393552}.blood-hold-disease-result strong{margin-bottom:6px;display:block}.blood-hold-disease-result p{margin:0;line-height:1.55}.blood-hold-disease-result p+p{margin-top:7px}.blood-hold-check-notice{background:#e539350e;border-left:4px solid #e53935;border-radius:4px 10px 10px 4px;margin-top:24px;padding:18px 20px}.blood-hold-check-notice strong{line-height:1.55;display:block}.blood-hold-check-notice p{color:var(--text-secondary,#666);margin:8px 0 0;font-size:.9rem;line-height:1.55}.blood-hold-check-error{color:#e53935;margin:16px 0 0;font-size:.9rem;font-weight:600}.blood-hold-check-actions{justify-content:flex-end;margin-top:26px;display:flex}.blood-hold-check-next-button{color:#fff;min-width:210px;min-height:48px;font:inherit;cursor:pointer;background:#e53935;border:0;border-radius:10px;padding:0 22px;font-weight:800;transition:filter .18s,transform .18s}.blood-hold-check-next-button:hover:not(:disabled){filter:brightness(.94);transform:translateY(-1px)}.blood-hold-check-next-button:disabled{opacity:.42;cursor:not-allowed}@media (width<=1024px){.blood-hold-check-page{padding:28px 22px 48px}}@media (width<=768px){.blood-hold-check-page{padding:22px 16px 40px}.blood-hold-check-form,.blood-hold-check-info{padding:20px}.blood-hold-reason-item{padding:14px}.blood-hold-disease-section{padding:18px}.blood-hold-disease-input-row{flex-direction:column}.blood-hold-disease-input-row button{width:100%}.blood-hold-check-actions{justify-content:stretch}.blood-hold-check-next-button{width:100%}}@media (width<=480px){.blood-hold-check-page{padding:18px 12px 32px}.blood-hold-check-form,.blood-hold-check-info{border-radius:14px;padding:16px}.blood-hold-check-header{margin-bottom:20px}.blood-hold-reason-item{align-items:flex-start}.blood-hold-reason-checkbox{margin-top:1px}.blood-hold-disease-section{padding:15px}}.blood-hold-page{gap:18px}.blood-hold-intro{border-left:3px solid var(--color-primary);background:color-mix(in srgb, var(--color-primary) 4%, var(--color-surface));justify-content:space-between;align-items:center;gap:24px;padding:22px 24px;display:flex}.blood-hold-intro-content{flex:1;min-width:0}.blood-hold-intro-content>span{color:var(--color-primary);letter-spacing:.12em;font-size:.68rem;font-weight:850}.blood-hold-intro h2{color:var(--color-text);letter-spacing:-.03em;margin:8px 0;font-size:1.35rem}.blood-hold-intro p{color:var(--color-text-muted);margin:0;font-size:.82rem;line-height:1.65}.blood-hold-latest{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.blood-hold-latest>div{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;flex-direction:column;gap:6px;min-width:0;padding:16px 18px;display:flex}.blood-hold-latest span{color:var(--color-text-muted);font-size:.7rem}.blood-hold-latest strong{color:var(--color-text);overflow-wrap:anywhere;font-size:.88rem}.blood-hold-contact-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;padding:22px}.blood-hold-contact-card--primary{border-color:color-mix(in srgb, var(--color-primary) 45%, var(--color-border));background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 7%, var(--color-surface)), var(--color-surface))}.blood-hold-contact-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.blood-hold-contact-heading>div>span{color:var(--color-primary);letter-spacing:.1em;margin-bottom:5px;font-size:.66rem;font-weight:850;display:block}.blood-hold-contact-heading h3{color:var(--color-text);margin:0;font-size:1.08rem}.blood-hold-contact-heading>strong{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-background));border-radius:999px;flex-shrink:0;padding:6px 10px;font-size:.7rem}.blood-hold-contact-info{border-top:1px solid var(--color-border);margin:18px 0 0}.blood-hold-contact-info>div{border-bottom:1px solid var(--color-border);grid-template-columns:90px minmax(0,1fr);gap:16px;padding:12px 0;display:grid}.blood-hold-contact-info dt{color:var(--color-text-muted);font-size:.75rem}.blood-hold-contact-info dd{color:var(--color-text);overflow-wrap:anywhere;margin:0;font-size:.8rem;font-weight:750}.blood-hold-contact-actions{grid-template-columns:minmax(0,1.25fr) repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.blood-hold-action-button.transit{border:1px solid color-mix(in srgb, #03c75a 45%, var(--color-border));color:var(--color-text);background:var(--color-background)}.blood-hold-action-button.transit:hover{color:#03a94f;border-color:#03c75a}.blood-hold-action-button{min-height:46px;font:inherit;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;padding:0 16px;font-size:.78rem;font-weight:850;text-decoration:none;display:inline-flex}.blood-hold-action-button.primary{border:1px solid var(--color-primary);color:#fff;background:var(--color-primary)}.blood-hold-action-button.primary:hover{background:var(--color-primary-hover)}.blood-hold-action-button.secondary{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-background)}.blood-hold-action-button.secondary:hover{border-color:var(--color-primary);color:var(--color-primary)}.blood-hold-action-button:disabled{cursor:wait;opacity:.55}.blood-hold-warning{border:1px solid color-mix(in srgb, var(--color-primary) 42%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));border-radius:14px;align-items:flex-start;gap:15px;padding:18px 20px;display:flex}.blood-hold-warning-icon{color:#fff;background:var(--color-primary);border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.blood-hold-warning span{color:var(--color-primary);font-size:.68rem;font-weight:850}.blood-hold-warning h3{color:var(--color-text);margin:4px 0 6px;font-size:.95rem}.blood-hold-warning p{color:var(--color-text-muted);margin:0;font-size:.78rem;line-height:1.6}.blood-hold-map-section{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;overflow:hidden}.blood-hold-map-section>header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;display:flex}.blood-hold-map-section>header span{color:var(--color-primary);letter-spacing:.11em;font-size:.66rem;font-weight:850}.blood-hold-map-section>header h3{color:var(--color-text);margin:5px 0 0;font-size:1rem}.blood-hold-map-section>header p{color:var(--color-text-muted);margin:6px 0 0;font-size:.75rem}.blood-hold-map-section>header>strong{color:var(--color-primary);flex-shrink:0;font-size:.85rem}.blood-hold-route-map{background:var(--color-background);width:100%;height:360px}.blood-hold-map-error{min-height:240px;color:var(--color-primary);background:var(--color-background);place-items:center;padding:24px;font-size:.8rem;display:grid}.blood-hold-map-marker{white-space:nowrap;align-items:center;gap:6px;display:flex;position:relative}.blood-hold-map-marker>span{border:3px solid #fff;border-radius:50%;width:18px;height:18px;display:block;box-shadow:0 2px 7px #00000047}.blood-hold-map-marker.user>span{background:#3276ff}.blood-hold-map-marker.target>span{background:var(--color-primary)}.blood-hold-map-marker>strong{color:#222;background:#fffffff0;border:1px solid #0000001a;border-radius:6px;padding:4px 7px;font-size:11px;box-shadow:0 2px 7px #0000001f}.blood-hold-distance-notice{border-top:1px solid var(--color-border);color:var(--color-text-muted);background:var(--color-background);margin:0;padding:10px 16px;font-size:.68rem;line-height:1.5}@media (width<=768px){.blood-hold-latest{grid-template-columns:1fr}.blood-hold-route-map{height:320px}}@media (width<=480px){.blood-hold-intro,.blood-hold-contact-card{padding:20px}.blood-hold-contact-heading{flex-direction:column;gap:10px}.blood-hold-contact-actions{grid-template-columns:1fr}.blood-hold-contact-info>div{grid-template-columns:72px minmax(0,1fr);gap:10px}.blood-hold-map-section>header{flex-direction:column;align-items:flex-start}.blood-hold-route-map{height:280px}.blood-hold-intro{flex-direction:column;align-items:stretch;gap:16px}.blood-hold-intro .blood-hold-show-all-button{width:100%}}.blood-hold-contact-block{gap:0;display:grid}.blood-hold-expand-panel{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .32s,opacity .22s,transform .32s;display:grid;transform:translateY(-8px)}.blood-hold-expand-panel.open{opacity:1;grid-template-rows:1fr;transform:translateY(0)}.blood-hold-expand-panel-inner{min-height:0;overflow:hidden}.blood-hold-expand-panel.open .blood-hold-expand-panel-inner{padding-top:12px}.blood-hold-inline-warning{border:1px solid color-mix(in srgb, var(--color-primary) 38%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 7%, var(--color-surface));border-radius:14px;align-items:flex-start;gap:16px;padding:20px 22px;display:flex;box-shadow:0 8px 24px #0000000d}.blood-hold-inline-warning-icon{color:#fff;background:var(--color-primary);border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.blood-hold-inline-warning-content{flex:1;min-width:0}.blood-hold-inline-warning-content h3{color:var(--color-text);margin:0 0 7px;font-size:.95rem}.blood-hold-inline-warning-content>p{color:var(--color-text-muted);margin:0;font-size:.78rem;line-height:1.65}.blood-hold-inline-warning-reason{background:color-mix(in srgb, var(--color-primary) 5%, var(--color-background));border-radius:9px;padding:10px 12px;font-weight:650;color:var(--color-text)!important;margin-top:12px!important}.blood-hold-inline-warning-actions{gap:10px;margin-top:16px;display:flex}.blood-hold-inline-warning-actions .blood-hold-action-button{min-width:150px}.blood-hold-action-button.secondary.active{border-color:var(--color-primary);color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 6%, var(--color-background))}.blood-hold-inline-error{justify-content:space-between;align-items:center;gap:16px;margin-top:12px;display:flex}.blood-hold-inline-error button{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;flex-shrink:0;font-size:.75rem;font-weight:800}.blood-hold-all-link-row{justify-content:flex-end;display:flex}.blood-hold-show-all-button{border:1px solid var(--color-border);min-height:40px;color:var(--color-text-muted);background:var(--color-background);font:inherit;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:.75rem;font-weight:800;transition:color .18s,border-color .18s,transform .18s;display:inline-flex}.blood-hold-show-all-button:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.blood-hold-no-history{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;padding:24px}.blood-hold-no-history>strong{color:var(--color-text);font-size:.95rem;display:block}.blood-hold-no-history>p{color:var(--color-text-muted);margin:8px 0 18px;font-size:.8rem;line-height:1.65}.blood-hold-center-list-section{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;scroll-margin-top:100px;overflow:hidden}.blood-hold-center-list-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;display:flex}.blood-hold-center-list-header span{color:var(--color-primary);letter-spacing:.11em;font-size:.66rem;font-weight:850}.blood-hold-center-list-header h3{color:var(--color-text);margin:5px 0 0;font-size:1rem}.blood-hold-center-list-header p{color:var(--color-text-muted);margin:6px 0 0;font-size:.75rem}.blood-hold-center-list-header>strong{color:var(--color-primary);flex-shrink:0;font-size:.8rem}.blood-hold-center-table-wrap{width:100%;overflow-x:auto}.blood-hold-center-table{border-collapse:collapse;width:100%}.blood-hold-center-table th,.blood-hold-center-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;padding:14px 16px}.blood-hold-center-table th{color:var(--color-text-muted);background:var(--color-background);font-size:.7rem;font-weight:800}.blood-hold-center-table td{color:var(--color-text);font-size:.76rem;line-height:1.55}.blood-hold-center-table tbody tr:last-child td{border-bottom:0}.blood-hold-center-call{border:1px solid var(--color-primary);min-height:34px;color:var(--color-primary);border-radius:8px;justify-content:center;align-items:center;padding:0 11px;font-size:.72rem;font-weight:800;text-decoration:none;display:inline-flex}.blood-hold-center-call:hover{color:#fff;background:var(--color-primary)}.blood-hold-center-list-empty{color:var(--color-text-muted);text-align:center;padding:28px;font-size:.8rem}@media (prefers-reduced-motion:reduce){.blood-hold-expand-panel{transition:none}}@media (width<=480px){.blood-hold-inline-warning{gap:12px;padding:18px}.blood-hold-inline-warning-actions{flex-direction:column}.blood-hold-inline-warning-actions .blood-hold-action-button{width:100%}.blood-hold-all-link-row{justify-content:stretch}.blood-hold-show-all-button{width:100%}.blood-hold-center-list-header{flex-direction:column;align-items:flex-start;gap:10px}.blood-hold-center-table thead{display:none}.blood-hold-center-table,.blood-hold-center-table tbody,.blood-hold-center-table tr,.blood-hold-center-table td{width:100%;display:block}.blood-hold-center-table tr{border-bottom:1px solid var(--color-border);padding:12px 16px}.blood-hold-center-table tbody tr:last-child{border-bottom:0}.blood-hold-center-table td{border:0;grid-template-columns:72px minmax(0,1fr);gap:10px;padding:5px 0;display:grid}.blood-hold-center-table td:before{content:attr(data-label);color:var(--color-text-muted);font-size:.7rem}.blood-hold-center-call{width:fit-content}}.condition-check-page{width:100%;color:var(--color-text);padding:16px 0 64px}.condition-check-container{width:min(100%,960px);margin:0 auto}.condition-check-eyebrow{color:var(--color-primary);letter-spacing:.14em;margin:0 0 12px;font-size:.75rem;font-weight:900}.condition-check-step{min-width:74px;height:30px;color:var(--color-primary);background:var(--color-surface-hover);letter-spacing:.06em;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:.7rem;font-weight:900;display:inline-flex}.condition-check-hero{border:1px solid var(--color-border);background:var(--color-surface);border-radius:24px;grid-template-columns:minmax(0,1fr) 220px;min-height:260px;margin-bottom:26px;padding:48px 52px;display:grid;position:relative;overflow:hidden}.condition-check-hero:after{content:"";border:55px solid var(--color-surface-hover);pointer-events:none;border-radius:50%;width:330px;height:330px;position:absolute;bottom:-150px;right:-110px}.condition-check-hero-content{z-index:1;position:relative}.condition-check-hero h1{color:var(--color-text);letter-spacing:-.055em;margin:0;font-size:clamp(2rem,4vw,3.1rem);font-weight:900;line-height:1.12}.condition-check-hero h1 strong{color:var(--color-primary)}.condition-check-hero-description{color:var(--color-text-muted);margin:22px 0 0;font-size:1rem;line-height:1.75}.condition-check-hero-side{z-index:1;text-align:right;flex-direction:column;justify-content:center;align-items:flex-end;display:flex;position:relative}.condition-check-hero-side>span{color:var(--color-text-muted);letter-spacing:.12em;font-size:.65rem;font-weight:800}.condition-check-hero-side>strong{color:var(--color-primary);letter-spacing:-.07em;margin:4px 0;font-size:4rem;font-weight:950;line-height:1}.condition-check-hero-side p{color:var(--color-text-muted);margin:12px 0 0;font-size:.76rem;line-height:1.6}.condition-check-progress{align-items:flex-start;width:min(100%,580px);margin:0 auto 34px;display:flex}.condition-check-progress-item{flex-direction:column;flex:0 0 74px;align-items:center;gap:7px;display:flex}.condition-check-progress-item span{border:1px solid var(--color-border);width:30px;height:30px;color:var(--color-text-muted);background:var(--color-surface);border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;font-weight:850;display:flex}.condition-check-progress-item p{color:var(--color-text-muted);margin:0;font-size:.72rem;font-weight:700}.condition-check-progress-item.is-active span{border-color:var(--color-primary);color:var(--color-background);background:var(--color-primary)}.condition-check-progress-item.is-active p{color:var(--color-primary)}.condition-check-progress-line{background:var(--color-border);flex:1;height:1px;margin-top:15px}.condition-check-form{flex-direction:column;gap:18px;display:flex}.condition-check-section{border:1px solid var(--color-border);background:var(--color-surface);border-radius:20px;padding:32px}.condition-check-section-heading{align-items:flex-start;gap:18px;margin-bottom:26px;display:flex}.condition-check-section-heading h2{color:var(--color-text);letter-spacing:-.025em;margin:1px 0 6px;font-size:1.18rem;font-weight:850}.condition-check-section-heading p{color:var(--color-text-muted);margin:0;font-size:.82rem;line-height:1.6}.condition-check-condition-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.condition-check-option{border:1px solid var(--color-border);cursor:pointer;background:var(--color-background);border-radius:16px;flex-direction:column;min-height:146px;padding:22px;transition:border-color .18s,background-color .18s,transform .18s;display:flex;position:relative}.condition-check-option:hover{border-color:var(--color-primary);background:var(--color-surface-hover);transform:translateY(-2px)}.condition-check-option input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.condition-check-option-icon{border:1px solid var(--color-border);width:38px;height:38px;color:var(--color-text-muted);background:var(--color-surface);border-radius:11px;justify-content:center;align-items:center;margin-bottom:18px;font-size:.85rem;font-weight:950;display:inline-flex}.condition-check-option-copy{flex-direction:column;gap:6px;display:flex}.condition-check-option-copy strong{color:var(--color-text);font-size:.95rem;font-weight:850}.condition-check-option-copy small{color:var(--color-text-muted);font-size:.73rem;line-height:1.5}.condition-check-option-check{border:1px solid var(--color-border);color:#0000;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.7rem;font-weight:900;display:flex;position:absolute;top:16px;right:16px}.condition-check-option.is-selected{border-color:var(--color-primary);background:var(--color-surface-hover)}.condition-check-option.is-selected .condition-check-option-icon{border-color:var(--color-primary);color:var(--color-primary)}.condition-check-option.is-selected .condition-check-option-check{border-color:var(--color-primary);color:var(--color-background);background:var(--color-primary)}.condition-check-symptom-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.condition-check-symptom{border:1px solid var(--color-border);cursor:pointer;background:var(--color-background);border-radius:14px;align-items:center;gap:14px;min-height:82px;padding:16px 18px;transition:border-color .18s,background-color .18s;display:flex;position:relative}.condition-check-symptom:hover{border-color:var(--color-primary);background:var(--color-surface-hover)}.condition-check-symptom input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.condition-check-checkbox{border:1px solid var(--color-border);color:#0000;background:var(--color-surface);border-radius:7px;flex:0 0 24px;justify-content:center;align-items:center;width:24px;height:24px;font-size:.7rem;font-weight:900;display:flex}.condition-check-symptom-copy{flex-direction:column;gap:4px;display:flex}.condition-check-symptom-copy strong{color:var(--color-text);font-size:.85rem;font-weight:800}.condition-check-symptom-copy small{color:var(--color-text-muted);font-size:.7rem;line-height:1.45}.condition-check-symptom.is-selected{border-color:var(--color-primary);background:var(--color-surface-hover)}.condition-check-symptom.is-selected .condition-check-checkbox{border-color:var(--color-primary);color:var(--color-background);background:var(--color-primary)}.condition-check-textarea-wrap{position:relative}.condition-check-textarea-wrap textarea{resize:vertical;border:1px solid var(--color-border);width:100%;min-height:130px;color:var(--color-text);background:var(--color-background);border-radius:14px;outline:none;padding:18px 18px 38px;font-size:.85rem;line-height:1.65;transition:border-color .18s,background-color .18s;display:block}.condition-check-textarea-wrap textarea::placeholder{color:var(--color-text-muted)}.condition-check-textarea-wrap textarea:focus{border-color:var(--color-primary)}.condition-check-character-count{color:var(--color-text-muted);font-size:.68rem;position:absolute;bottom:12px;right:16px}.condition-check-safety-notice{border:1px solid var(--color-border);border-left:4px solid var(--color-primary);background:var(--color-surface);border-radius:14px;align-items:flex-start;gap:16px;padding:22px 24px;display:flex}.condition-check-safety-icon{width:30px;height:30px;color:var(--color-background);background:var(--color-primary);border-radius:50%;flex:0 0 30px;justify-content:center;align-items:center;font-size:.8rem;font-weight:950;display:flex}.condition-check-safety-notice strong{color:var(--color-text);margin-bottom:6px;font-size:.83rem;display:block}.condition-check-safety-notice p{color:var(--color-text-muted);margin:0;font-size:.76rem;line-height:1.6}.condition-check-error{border:1px solid var(--color-primary);color:var(--color-primary);background:var(--color-surface);border-radius:12px;margin:0;padding:14px 18px;font-size:.8rem;font-weight:700}.condition-check-submit-area{justify-content:space-between;align-items:center;gap:24px;padding:14px 0 0;display:flex}.condition-check-submit-area>p{color:var(--color-text-muted);margin:0;font-size:.72rem}.condition-check-submit-button,.condition-check-secondary-button{cursor:pointer;border:0;border-radius:12px;min-height:50px;font-weight:850;transition:background-color .18s,transform .18s,opacity .18s}.condition-check-submit-button{min-width:210px;color:var(--color-background);background:var(--color-primary);justify-content:space-between;align-items:center;gap:24px;padding:0 22px;display:flex}.condition-check-submit-button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px)}.condition-check-submit-button:disabled{cursor:wait;opacity:.6}.condition-check-result{width:min(100%,760px);margin:30px auto 0}.condition-check-result-header{text-align:center;padding:44px 32px 34px}.condition-check-result-icon{width:58px;height:58px;color:var(--color-background);background:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;font-size:1.3rem;font-weight:950;display:flex}.condition-check-result-header h1{color:var(--color-text);letter-spacing:-.04em;margin:0;font-size:clamp(1.65rem,4vw,2.25rem);font-weight:900}.condition-check-result-header>p:last-child{color:var(--color-text-muted);margin:14px 0 0;font-size:.86rem;line-height:1.65}.condition-check-reward-card,.condition-check-guidance-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px}.condition-check-reward-card{border-left:4px solid var(--color-primary);justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;padding:26px 28px;display:flex}.condition-check-reward-label{color:var(--color-primary);letter-spacing:.1em;margin-bottom:7px;font-size:.65rem;font-weight:900;display:block}.condition-check-reward-card strong{color:var(--color-text);font-size:1rem;font-weight:850;display:block}.condition-check-reward-card p{color:var(--color-text-muted);margin:7px 0 0;font-size:.75rem;line-height:1.55}.condition-check-reward-points{color:var(--color-primary);letter-spacing:-.05em;flex:none;font-size:2.1rem;font-weight:950}.condition-check-reward-points span{margin-left:2px;font-size:.9rem}.condition-check-reward-check{border:1px solid var(--color-border);width:42px;height:42px;color:var(--color-primary);border-radius:50%;flex:0 0 42px;justify-content:center;align-items:center;font-weight:950;display:flex}.condition-check-guidance-card{margin-bottom:16px;padding:28px}.condition-check-guidance-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.condition-check-guidance-list li{background:var(--color-background);border-radius:10px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.condition-check-guidance-list li>span{color:var(--color-primary);font-weight:900}.condition-check-guidance-list p{color:var(--color-text);margin:0;font-size:.8rem;line-height:1.6}.condition-check-medical-notice{color:var(--color-text-muted);align-items:flex-start;gap:10px;margin:20px 0;padding:0 4px;display:flex}.condition-check-medical-notice>span{border:1px solid var(--color-border);border-radius:50%;flex:0 0 20px;justify-content:center;align-items:center;width:20px;height:20px;font-size:.65rem;font-weight:900;display:flex}.condition-check-medical-notice p{margin:0;font-size:.72rem;line-height:1.6}.condition-check-secondary-button{width:100%;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);display:block}.condition-check-secondary-button:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-surface-hover)}.condition-check-state-card{border:1px solid var(--color-border);text-align:center;background:var(--color-surface);border-radius:20px;width:min(100%,520px);margin:80px auto;padding:48px 38px}.condition-check-state-card h1{color:var(--color-text);margin:0;font-size:1.5rem;font-weight:900}.condition-check-state-description{color:var(--color-text-muted);margin:12px 0 0;font-size:.82rem;line-height:1.6}.condition-check-state-icon{width:48px;height:48px;color:var(--color-background);background:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;font-weight:950;display:flex}.condition-check-loader{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:36px;height:36px;margin:0 auto 22px;animation:.8s linear infinite condition-check-spin}@keyframes condition-check-spin{to{transform:rotate(360deg)}}.condition-check-option:focus-within,.condition-check-symptom:focus-within,.condition-check-textarea-wrap textarea:focus-visible,.condition-check-submit-button:focus-visible,.condition-check-secondary-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}@media (width<=768px){.condition-check-page{padding-top:0}.condition-check-hero{grid-template-columns:1fr;min-height:0;padding:34px 28px}.condition-check-hero-side{display:none}.condition-check-condition-grid{grid-template-columns:1fr}.condition-check-option{flex-direction:row;align-items:center;gap:14px;min-height:0;padding:18px}.condition-check-option-icon{flex:0 0 38px;margin:0}.condition-check-option-copy{padding-right:24px}.condition-check-symptom-grid{grid-template-columns:1fr}.condition-check-section{padding:26px 22px}.condition-check-section-heading{flex-direction:column;gap:12px}.condition-check-submit-area{flex-direction:column;align-items:stretch}.condition-check-submit-area>p{text-align:center}.condition-check-submit-button{width:100%}}@media (width<=480px){.condition-check-page{padding-bottom:36px}.condition-check-hero{border-radius:18px;margin-bottom:22px;padding:28px 20px}.condition-check-hero h1{font-size:1.85rem}.condition-check-progress{margin-bottom:26px}.condition-check-progress-item{flex-basis:62px}.condition-check-progress-item p{font-size:.65rem}.condition-check-section{border-radius:16px;padding:22px 18px}.condition-check-option{border-radius:12px}.condition-check-symptom{min-height:74px;padding:14px}.condition-check-symptom-copy small{display:none}.condition-check-safety-notice{border-radius:12px;padding:18px}.condition-check-reward-card{padding:22px 20px}.condition-check-reward-points{font-size:1.7rem}.condition-check-guidance-card{padding:22px 18px}.condition-check-result-header{padding:32px 12px 28px}.condition-check-state-card{margin:50px auto;padding:38px 24px}}.condition-emergency-backdrop{z-index:1000;background:color-mix(in srgb, var(--color-background) 68%, transparent);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.condition-emergency-modal{border:1px solid var(--color-border);border-top:4px solid var(--color-primary);background:var(--color-surface);width:min(100%,520px);box-shadow:0 24px 70px color-mix(in srgb, var(--color-text) 18%, transparent);border-radius:22px;padding:36px;animation:.2s ease-out condition-emergency-enter}.condition-emergency-icon{width:48px;height:48px;color:var(--color-background);background:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:20px;font-size:1.2rem;font-weight:950;display:flex}.condition-emergency-eyebrow{color:var(--color-primary);letter-spacing:.12em;margin:0 0 8px;font-size:.68rem;font-weight:900}.condition-emergency-modal h2{color:var(--color-text);letter-spacing:-.035em;margin:0;font-size:1.55rem;font-weight:900}.condition-emergency-description{color:var(--color-text-muted);margin:12px 0 26px;font-size:.82rem;line-height:1.65}.condition-emergency-actions{flex-direction:column;gap:10px;display:flex}.condition-emergency-call,.condition-emergency-center{text-align:left;width:100%;min-height:74px;font:inherit;border-radius:14px;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.condition-emergency-call{border:1px solid var(--color-primary);cursor:pointer;color:var(--color-background);background:var(--color-primary);transition:background-color .18s,transform .18s}.condition-emergency-call:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.condition-emergency-center{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-background)}.condition-emergency-center:disabled{cursor:not-allowed;opacity:.55}.condition-emergency-action-icon{border:1px solid;border-radius:11px;justify-content:center;align-items:center;width:42px;height:42px;font-size:.72rem;font-weight:950;display:flex}.condition-emergency-call strong,.condition-emergency-center strong{margin-bottom:3px;font-size:.85rem;font-weight:850;display:block}.condition-emergency-call small,.condition-emergency-center small{opacity:.78;font-size:.68rem;line-height:1.4;display:block}.condition-emergency-continue{cursor:pointer;width:100%;color:var(--color-text-muted);background:0 0;border:0;margin-top:14px;padding:13px 16px;font-size:.78rem;font-weight:750;transition:color .18s,background-color .18s;display:block}.condition-emergency-continue:hover{color:var(--color-text);background:var(--color-surface-hover);border-radius:10px}.condition-emergency-footnote{color:var(--color-text-muted);text-align:center;margin:8px 0 0;font-size:.65rem;line-height:1.5}@keyframes condition-emergency-enter{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=480px){.condition-emergency-backdrop{padding:16px}.condition-emergency-modal{border-radius:18px;padding:28px 20px}.condition-emergency-modal h2{font-size:1.3rem}.condition-emergency-call,.condition-emergency-center{grid-template-columns:40px 1fr auto;padding:13px}.condition-emergency-action-icon{width:38px;height:38px}}.questionnaire-page{--questionnaire-red:#e53935;--questionnaire-card:#1f2226;--questionnaire-border:#34383e;width:min(100% - 64px,920px)!important;padding:56px 0 24px!important}.questionnaire-header{margin-bottom:28px}.questionnaire-header h1{margin:6px 0 12px;font-size:clamp(2rem,5vw,3rem)}.questionnaire-header>p:last-child{max-width:680px;color:var(--color-text-muted);margin:0;line-height:1.7}.questionnaire-eyebrow,.section-label{color:var(--questionnaire-red);letter-spacing:.12em;margin:0;font-size:.78rem;font-weight:800}.questionnaire-progress{margin-bottom:18px}.progress-copy{color:var(--color-text-muted);justify-content:space-between;margin-bottom:8px;font-size:.88rem;display:flex}.progress-copy strong{color:var(--questionnaire-red)}.progress-track{background:var(--color-surface);border-radius:999px;height:7px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--questionnaire-red);height:100%;transition:width .25s;display:block}.questionnaire-card,.questionnaire-result{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;padding:32px}.questionnaire-card h2,.questionnaire-result h1{margin:8px 0 24px}.notice-box,.review-box{border:1px solid var(--color-border);background:var(--color-background);border-radius:12px;padding:20px}.notice-box ul,.review-box ul{color:var(--color-text-muted);margin:10px 0 0;padding-left:20px;line-height:1.75}.latest-note{color:var(--color-text-muted);font-size:.9rem}.questionnaire-identity-grid{grid-template-columns:.8fr 1.2fr;align-items:start;gap:16px;margin-top:24px;display:grid}.identity-field{grid-template-rows:24px 48px minmax(2.9em,auto);align-content:start;gap:8px;min-width:0;margin:0;padding:0;font-weight:700;display:grid}.identity-field-label{align-items:center;min-width:0;height:24px;margin:0;padding:0;line-height:24px;display:flex}.identity-control{box-sizing:border-box;border:1px solid var(--color-border);width:100%;min-width:0;height:48px;color:var(--color-text);background:var(--color-background);font:inherit;appearance:none;border-radius:9px;margin:0;padding:0 12px;line-height:normal}.identity-control:focus{outline:2px solid var(--questionnaire-red);outline-offset:2px}.resident-number-control{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;height:48px;display:grid}.identity-security-note{color:var(--color-text-muted);margin:10px 0 0;font-size:.84rem;line-height:1.55}.weight-field{justify-content:space-between;align-items:center;gap:20px;margin-top:24px;font-weight:700;display:flex}.weight-input{align-items:center;gap:8px;display:flex}.weight-input input{border:1px solid var(--color-border);width:130px;min-height:48px;color:var(--color-text);background:var(--color-background);border-radius:9px;padding:0 12px}.weight-input input:focus{outline:2px solid var(--questionnaire-red);outline-offset:2px}.question-list{gap:16px;display:grid}.question-item{border:1px solid var(--color-border);background:var(--color-background);border-radius:12px;margin:0;padding:20px}.question-item legend{align-items:flex-start;gap:10px;padding:0;font-weight:750;line-height:1.55;display:flex}.question-item legend span{color:#fff;background:var(--questionnaire-red);border-radius:50%;flex:0 0 26px;place-items:center;width:26px;height:26px;font-size:.78rem;display:inline-grid}.question-item p{color:var(--color-text-muted);margin:8px 0 16px 36px;font-size:.9rem;line-height:1.55}.answer-options{grid-template-columns:1fr 1fr;gap:10px;margin-left:36px;display:grid}.answer-options label{cursor:pointer;border:1px solid var(--color-border);border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:48px;font-weight:700;transition:all .2s;display:flex}.answer-options label:hover{background:var(--color-surface-hover)}.answer-options label.selected{border-color:var(--questionnaire-red);color:var(--questionnaire-red);box-shadow:0 0 0 1px var(--questionnaire-red)}.answer-review{border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.answer-review div{border-bottom:1px solid var(--color-border);grid-template-columns:1fr 72px;gap:12px;padding:14px 16px;display:grid}.answer-review div:last-child{border-bottom:0}.answer-review strong{color:var(--questionnaire-red);text-align:center}.consent-check{cursor:pointer;align-items:flex-start;gap:12px;margin-top:22px;line-height:1.55;display:flex}.consent-check input{width:20px;height:20px;accent-color:var(--questionnaire-red);flex:0 0 20px}.questionnaire-error{border-left:3px solid var(--questionnaire-red);color:#ff6b67;background:color-mix(in srgb, var(--questionnaire-red) 10%, transparent);padding:12px 14px}.questionnaire-actions{justify-content:flex-end;gap:12px;margin-top:28px;display:flex}.questionnaire-button{cursor:pointer;border:1px solid var(--questionnaire-red);color:#fff;background:var(--questionnaire-red);border-radius:9px;justify-content:center;align-items:center;min-width:132px;min-height:48px;padding:0 20px;font-weight:800;display:inline-flex}.questionnaire-button:hover{background:#f04440}.questionnaire-button:focus-visible{outline:2px solid var(--questionnaire-red);outline-offset:3px}.questionnaire-button:disabled{cursor:wait;opacity:.55}.questionnaire-button.secondary{border-color:var(--color-border);color:var(--color-text);background:0 0}.questionnaire-result{text-align:center}.result-mark{color:#fff;background:#24845b;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 18px;font-size:2rem;font-weight:900;display:grid}.questionnaire-result.is-review .result-mark{background:#c77a12}.questionnaire-result>p:not(.questionnaire-eyebrow){color:var(--color-text-muted);line-height:1.65}.submission-summary{border:1px solid var(--color-border);border-radius:12px;grid-template-columns:1fr 1fr;margin:26px 0;display:grid;overflow:hidden}.submission-summary div{padding:16px}.submission-summary div+div{border-left:1px solid var(--color-border)}.submission-summary dt{color:var(--color-text-muted);font-size:.8rem}.submission-summary dd{margin:6px 0 0;font-weight:750}.review-box{text-align:left}.review-box h2{margin:0;font-size:1rem}@media (width<=768px){.questionnaire-page{width:min(100% - 32px,100%)!important;padding-top:32px!important}.questionnaire-card,.questionnaire-result{padding:22px 18px}.questionnaire-actions{grid-template-columns:1fr 1fr;display:grid}.questionnaire-button{width:100%;min-width:0}}@media (width<=480px){.questionnaire-page{width:min(100% - 24px,100%)!important}.answer-options,.question-item p{margin-left:0}.weight-field{flex-direction:column;align-items:flex-start}.questionnaire-identity-grid{grid-template-columns:1fr}.weight-input,.weight-input input{width:100%}.submission-summary{grid-template-columns:1fr}.submission-summary div+div{border-top:1px solid var(--color-border);border-left:0}.answer-review div{grid-template-columns:1fr 48px}}.questionnaire-page .field-error{color:#ff6b67;visibility:hidden;font-size:.82rem;font-weight:650;line-height:1.45;display:block}.questionnaire-page .field-error.is-visible{visibility:visible}.identity-field-error{box-sizing:border-box;overflow-wrap:anywhere;word-break:keep-all;width:100%;min-width:0;min-height:2.9em}.weight-error{min-height:1.45em}.questionnaire-identity-grid input[aria-invalid=true],.weight-input input[aria-invalid=true]{border-color:var(--questionnaire-red)}.weight-field{flex-wrap:wrap}.weight-error{text-align:right;width:100%}.answer-detail{gap:8px;margin:16px 0 0 36px;font-weight:700;display:grid}.answer-detail textarea{resize:vertical;border:1px solid var(--color-border);width:100%;min-height:96px;color:var(--color-text);background:var(--color-surface);font:inherit;border-radius:9px;padding:12px;line-height:1.55}.answer-detail textarea:focus{outline:2px solid var(--questionnaire-red);outline-offset:2px}.answer-detail small{color:var(--color-text-muted);text-align:right;font-size:.78rem;font-weight:500}.answer-review span small{color:var(--color-text-muted);margin-top:6px;font-size:.82rem;font-weight:500;line-height:1.45;display:block}@media (width<=480px){.answer-detail{margin-left:0}.identity-field-error{min-height:4.35em}.weight-error{text-align:left;min-height:2.9em}}.certificate-page{color:#f5f5f5;width:min(100% - 48px,1120px);margin:auto;padding:56px 0 96px}.certificate-hero span{color:#e53935;letter-spacing:.12em;font-weight:800}.certificate-hero h1{margin:8px 0;font-size:clamp(2rem,4vw,3.2rem)}.certificate-hero p,.certificate-panel p{color:#aeb3ba}.certificate-tabs{gap:8px;margin:28px 0 16px;display:flex}.certificate-tabs button{color:#aeb3ba;background:#1f2226;border:1px solid #34383e;border-radius:10px;min-height:48px;padding:0 24px;font-weight:700}.certificate-tabs .active,.primary,.print-button{color:#fff;background:#e53935;border-color:#e53935}.certificate-panel{background:#1f2226;border:1px solid #34383e;border-radius:16px;padding:28px}.certificate-panel form{gap:18px;display:grid}.certificate-panel h2{margin:0}.certificate-panel label{gap:8px;font-weight:700;display:grid}.certificate-panel input,.certificate-panel select{color:#f5f5f5;min-height:48px;font:inherit;background:#17191c;border:1px solid #34383e;border-radius:9px;padding:0 14px}.certificate-panel input:focus{outline-offset:2px;outline:2px solid #e53935}.period{grid-template-columns:1fr 1fr;gap:16px;display:grid}.primary,.print-button{cursor:pointer;border:0;border-radius:9px;min-height:48px;padding:0 24px;font-weight:800}.message{white-space:pre-line;color:#ffaaa7;border:1px solid #e53935;border-radius:9px;padding:14px}.message.success{color:#77dca4;border-color:#3aa76d}.verified{background:#17191c;border-radius:10px;justify-content:space-between;padding:16px;display:flex}.verified strong{color:#77dca4}.certificate-document{color:#222;box-sizing:border-box;background:#fff;width:794px;min-height:1123px;margin:36px auto 18px;padding:28px 32px;font-family:Malgun Gothic,sans-serif;position:relative}.form-name{font-size:13px;color:#222!important;margin:0!important}.certificate-document h2{text-align:center;margin:70px 0 36px;font-size:25px}.page-number{text-align:right;color:#222!important}.certificate-document table{border-collapse:collapse;table-layout:fixed;width:100%}.certificate-document th,.certificate-document td{text-align:center;border:1px solid #333;padding:9px 8px;font-size:12px}.certificate-info th{width:12%;font-weight:400}.donation-table{margin-top:0}.donation-table th:first-child{width:8%}.donation-table th:nth-child(2){width:18%}.donation-table th:nth-child(3){width:16%}.donation-table th:nth-child(4){width:20%}.donation-table th:nth-child(5){width:38%}.statement{text-align:center;color:#222!important;margin:46px 0!important}.issue-date{text-align:center;color:#222!important}.issuer{text-align:center;letter-spacing:.45em;margin-top:54px;font-size:24px;display:block}.print-button{margin:auto;display:block}@media (width<=1024px){.certificate-page{width:min(100% - 40px,960px)}.certificate-document{max-width:100%;overflow:hidden}}@media (width<=768px){.certificate-page{width:calc(100% - 32px);padding-top:36px}.certificate-tabs button{flex:1;padding:0 8px}.certificate-panel{padding:20px}.period{grid-template-columns:1fr}.certificate-document{min-height:760px;padding:20px 14px}.certificate-document th,.certificate-document td{padding:6px 3px;font-size:9px}.certificate-document h2{margin-top:36px}.issuer{font-size:17px}}@media (width<=480px){.certificate-panel{padding:16px}.verified{flex-direction:column;gap:8px}}@media print{body *{visibility:hidden}.certificate-document,.certificate-document *{visibility:visible}.certificate-document{width:100%;min-height:100vh;margin:0;position:absolute;inset:0}.print-button{display:none}@page{size:A4;margin:0}}.certificate-page{color:var(--color-text,#f5f5f5)}.certificate-panel{border-color:var(--color-border,#34383e);background:var(--color-surface,#1f2226)}.certificate-tabs button{font:inherit;cursor:pointer;transition:border-color .16s,background-color .16s,color .16s}.certificate-tabs button:hover{border-color:var(--color-primary,#e53935);color:var(--color-text,#f5f5f5)}.certificate-tabs button:focus-visible,.certificate-panel input:focus-visible,.certificate-panel select:focus-visible,.primary:focus-visible,.print-button:focus-visible{outline:2px solid var(--color-primary-hover,#f04440);outline-offset:3px}.purpose-option:has(input:focus-visible){outline:2px solid var(--color-primary-hover,#f04440);outline-offset:3px}.purpose-fieldset{border:0;min-width:0;margin:0;padding:0}.purpose-fieldset legend{margin-bottom:8px;font-weight:700}.purpose-options{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.purpose-option{border:1px solid var(--color-border,#34383e);background:var(--color-background,#17191c);cursor:pointer;box-sizing:border-box;border-radius:12px;align-items:flex-start;min-height:88px;padding:16px;display:flex}.purpose-option:hover,.purpose-option.selected{border-color:var(--color-primary,#e53935);background:var(--color-surface-hover,#25282d)}.purpose-option input{width:20px;height:20px;accent-color:var(--color-primary,#e53935);margin:2px 12px 0 0}.purpose-option span{gap:6px;display:grid}.purpose-option strong{color:var(--color-text,#f5f5f5)}.purpose-option small{color:var(--color-text-muted,#aeb3ba);line-height:1.5}@media (width<=768px){.purpose-options{grid-template-columns:1fr}.primary{width:100%}}.certificate-tabs{border:1px solid var(--color-border,#34383e);background:var(--color-surface,#1f2226);border-radius:12px;padding:4px}.certificate-tabs button{color:var(--color-text-muted,#aeb3ba);background:0 0;border:0;border-radius:8px;flex:1;position:relative}.certificate-tabs button.active{background:var(--color-surface-hover,#25282d);color:var(--color-text,#f5f5f5)}.certificate-tabs button.active:after{background:var(--color-primary,#e53935);content:"";border-radius:999px;height:3px;position:absolute;bottom:5px;left:18px;right:18px}.certificate-tabs button:hover{background:var(--color-surface-hover,#25282d)}.certificate-panel .purpose-option{gap:0;display:flex}.certificate-panel .purpose-option input[type=radio]{border:1px solid var(--color-text-muted,#aeb3ba);width:20px;height:20px;min-height:20px;box-shadow:none;appearance:none;background:0 0;border-radius:50%;outline:none;flex:0 0 20px;margin:2px 12px 0 0;padding:0}.certificate-panel .purpose-option input[type=radio]:checked{border:5px solid var(--color-primary,#e53935);background:#fff}.certificate-panel .purpose-option:has(input[type=radio]:focus-visible){outline:2px solid var(--color-text,#f5f5f5);outline-offset:3px}.certificate-panel .period input[type=date]{border-color:var(--color-border,#34383e);background:var(--color-surface-hover,#25282d);color:var(--color-text,#f5f5f5);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.certificate-panel .period input[type=date]:hover{border-color:var(--color-text-muted,#737980)}.primary{border:1px solid var(--color-primary,#e53935);background:var(--color-primary,#e53935);justify-self:end;min-width:180px;transition:background-color .16s,border-color .16s,transform .16s,opacity .16s}.primary:hover:not(:disabled){border-color:var(--color-primary-hover,#f04440);background:var(--color-primary-hover,#f04440);transform:translateY(-1px)}.primary:active:not(:disabled){transform:translateY(0)}.primary:disabled{cursor:wait;opacity:.55}@media (width<=768px){.certificate-tabs{box-sizing:border-box;width:100%}.primary{justify-self:stretch;width:100%}}.certificate-panel .period input[type=date]{padding-right:10px}.certificate-panel .period input[type=date]::-webkit-calendar-picker-indicator{border:1px solid var(--color-border,#34383e);cursor:pointer;filter:invert()brightness(1.8);opacity:1;background-color:#ffffff1f;border-radius:7px;width:22px;height:22px;padding:5px}.certificate-panel .period input[type=date]::-webkit-calendar-picker-indicator:hover{background-color:#ffffff38}.certificate-panel .period input[type=date]:focus-visible::-webkit-calendar-picker-indicator{border-color:var(--color-primary-hover,#f04440)}.issue-number-fieldset{border:0;min-width:0;margin:0;padding:0}.issue-number-fieldset legend{margin-bottom:8px;font-weight:700}.issue-number-fields{grid-template-columns:minmax(76px,.7fr) auto minmax(150px,1.5fr) auto minmax(120px,1fr);align-items:start;gap:10px;display:grid}.issue-number-fields label{min-width:0}.issue-number-fields label>span{color:var(--color-text-muted,#aeb3ba);font-size:.78rem;font-weight:700}.issue-number-fields input{box-sizing:border-box;text-align:center;letter-spacing:.06em;width:100%}.issue-number-separator{color:var(--color-text-muted,#aeb3ba);margin-top:33px;font-size:1.15rem;font-weight:800}.certificate-panel .issue-number-fields input.input-error{border-color:var(--color-primary,#e53935)}.issue-number-field-error{color:#ffaaa7;align-items:flex-start;gap:6px;min-height:20px;font-size:.76rem;font-weight:600;line-height:1.45;display:flex}.issue-number-field-error:before{content:"!";border:1px solid;border-radius:50%;flex:0 0 16px;place-items:center;width:16px;height:16px;font-size:.68rem;font-weight:800;line-height:1;display:inline-grid}@media (width<=768px){.issue-number-fields{grid-template-columns:minmax(64px,.65fr) auto minmax(132px,1.4fr) auto minmax(104px,1fr);gap:7px}}@media (width<=480px){.issue-number-fields{grid-template-columns:62px auto minmax(112px,1fr) auto 92px;gap:5px}.issue-number-fields input{padding-inline:8px;font-size:.84rem}.issue-number-separator{margin-top:32px}.issue-number-field-error{font-size:.68rem}}.admin-page{width:min(calc(100% - (var(--page-padding) * 2)), var(--content-max-width));min-height:70vh;margin:0 auto;padding:56px 0 80px}.admin-page-header{border-bottom:1px solid var(--color-border);padding-bottom:30px}.admin-page-eyebrow{color:var(--color-primary);letter-spacing:.12em;font-size:.75rem;font-weight:850}.admin-page-header h1{color:var(--color-text);letter-spacing:-.045em;margin:10px 0 0;font-size:clamp(2rem,4vw,2.8rem);font-weight:900}.admin-page-header p{max-width:560px;color:var(--color-text-muted);margin:14px 0 0;font-size:.9rem;line-height:1.7}.admin-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:30px;display:grid}.admin-summary-card{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:18px;flex-direction:column;min-height:130px;padding:22px;display:flex}.admin-summary-card>span{color:var(--color-text-muted);font-size:.78rem;font-weight:700}.admin-summary-card>strong{color:var(--color-text);margin-top:10px;font-size:1.8rem;font-weight:900}.admin-summary-card>small{color:var(--color-text-muted);margin-top:auto;font-size:.7rem}.admin-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.admin-menu-card{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:20px;flex-direction:column;min-height:230px;padding:26px;transition:border-color .2s,background-color .2s,box-shadow .2s,transform .2s;display:flex;position:relative;overflow:hidden}.admin-menu-card:after{background-color:color-mix(in srgb, var(--color-primary) 7%, transparent);content:"";border-radius:50%;width:120px;height:120px;position:absolute;top:-65px;right:-60px}.admin-menu-card:hover{border-color:color-mix(in srgb, var(--color-primary) 30%, var(--color-border));box-shadow:0 12px 30px color-mix(in srgb, var(--color-text) 7%, transparent);transform:translateY(-3px)}.admin-menu-eyebrow{color:var(--color-primary);letter-spacing:.1em;font-size:.68rem;font-weight:850}.admin-menu-card h2{color:var(--color-text);letter-spacing:-.035em;margin:18px 0 0;font-size:1.25rem;font-weight:850}.admin-menu-card p{color:var(--color-text-muted);margin:12px 0 0;font-size:.82rem;line-height:1.65}.admin-menu-arrow{color:var(--color-primary);margin-top:auto;transition:transform .18s}.admin-menu-card:hover .admin-menu-arrow{transform:translate(4px)}@media (width<=1024px){.admin-summary,.admin-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.admin-summary{grid-template-columns:1fr}.admin-summary-card{min-height:115px}.admin-page{padding-top:38px}.admin-menu-grid{grid-template-columns:1fr}.admin-menu-card{border-radius:17px;min-height:190px;padding:22px}}.admin-section-nav{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:12px;align-items:center;gap:5px;width:fit-content;max-width:100%;margin:0 0 24px;padding:5px;display:flex}.admin-section-nav__link{min-height:40px;color:var(--color-text-muted);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;padding:0 16px;font-size:.8rem;font-weight:750;transition:color .18s,background-color .18s,transform .18s;display:inline-flex}.admin-section-nav__arrow{display:none}.admin-section-nav__link:hover{color:var(--color-text);background-color:var(--color-background)}.admin-section-nav__link.active{color:#fff;background-color:var(--color-primary);box-shadow:0 5px 14px color-mix(in srgb, var(--color-primary) 18%, transparent)}@media (width>=1840px){.admin-section-nav{border:0;border-top:2px solid var(--color-text);background-color:#0000;border-radius:0;flex-direction:column;align-items:stretch;gap:0;width:250px;margin:0;padding:0;display:flex;position:absolute;top:56px;right:calc(100% + 36px)}.admin-section-nav__link{border-bottom:1px solid var(--color-border);width:100%;min-height:58px;color:var(--color-text);background-color:#0000;border-radius:0;justify-content:space-between;align-items:center;padding:0 18px;font-size:.9rem;font-weight:700;transition:color .18s,background-color .18s,padding-left .18s;display:flex}.admin-section-nav__link:hover{color:var(--color-text);background-color:color-mix(in srgb, var(--color-primary) 4%, var(--color-surface));padding-left:22px}.admin-section-nav__link.active{color:#fff;background-color:var(--color-primary);box-shadow:none}.admin-section-nav__link.active:hover{color:#fff;background-color:var(--color-primary-hover)}.admin-section-nav__arrow{color:var(--color-text-muted);flex:none;font-size:1.35rem;font-weight:700;line-height:1;transition:color .18s,transform .18s;display:inline-block}.admin-section-nav__link:hover .admin-section-nav__arrow{color:var(--color-text);transform:translate(2px)}.admin-section-nav__link.active .admin-section-nav__arrow{color:#fff}}@media (width<=1024px){.admin-section-nav{width:100%}.admin-section-nav__link{flex:1}}@media (width<=768px){.admin-section-nav{gap:4px;margin-top:0;padding:4px}.admin-section-nav__link{min-width:0;min-height:38px;padding:0 8px;font-size:.72rem}}@media (width<=480px){.admin-section-nav{grid-template-columns:1fr;width:100%;display:grid}.admin-section-nav__link{width:100%}}.page-content>main.admin-centers-page{padding-top:20px}.admin-center-donation-options{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-center-donation-options label{white-space:nowrap;justify-content:center;align-items:center;gap:4px;min-height:36px;padding:0 5px;font-size:.68rem;display:flex}.admin-center-donation-options label input{flex:none;width:14px;height:14px}.admin-center-time-range{align-items:center;gap:8px;display:flex}.admin-center-time-range input{text-align:center;flex:0 0 118px;width:118px;min-width:0}.admin-center-time-range>span{color:var(--color-text-muted);font-size:.8rem}.admin-center-time-range.error input{border-color:var(--color-primary)}.admin-center-field-error{color:var(--color-primary);margin-top:3px;font-size:.7rem;font-weight:650;line-height:1.4;display:block}.admin-center-drawer-backdrop{z-index:90;background:#00000052;border:0;position:fixed;inset:0}.admin-center-drawer{z-index:100;border-left:1px solid var(--color-border);width:min(460px,92vw);height:100dvh;color:var(--color-text);background-color:var(--color-surface);flex-direction:column;padding:28px;display:flex;position:fixed;top:0;right:0;overflow-y:auto;box-shadow:-16px 0 40px #00000024}.admin-center-drawer-header{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:20px;padding-bottom:20px;display:flex}.admin-center-drawer-label{color:var(--color-primary);font-size:.75rem;font-weight:800}.admin-center-drawer-header h2{margin:6px 0;font-size:1.25rem}.admin-center-drawer-header p{color:var(--color-text-muted);margin:0;font-size:.78rem}.admin-center-public-info{border:1px solid var(--color-border);background-color:var(--color-background);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;padding:14px;display:grid}.admin-center-create-info .admin-center-edit-field:nth-child(4),.admin-center-create-info .admin-center-edit-field:nth-child(5){grid-column:1/-1}.admin-center-public-info>div{flex-direction:column;gap:5px;min-width:0;display:flex}.admin-center-public-info span{color:var(--color-text-muted);font-size:.68rem;font-weight:700}.admin-center-public-info strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:750;overflow:hidden}.admin-center-drawer-close{width:38px;height:38px;color:var(--color-text);cursor:pointer;background:0 0;border:0;font-size:1.5rem}.admin-center-edit-form{flex-direction:column;gap:18px;padding-top:22px;display:flex}.admin-center-edit-field{flex-direction:column;gap:7px;display:flex}.admin-center-edit-field>span{font-size:.76rem;font-weight:800}.admin-center-edit-field input,.admin-center-edit-field textarea{border:1px solid var(--color-border);width:100%;color:var(--color-text);background-color:var(--color-background);font:inherit;border-radius:9px;padding:11px 12px}.admin-center-edit-field textarea{resize:none;white-space:pre-wrap;overflow-wrap:anywhere;height:96px;min-height:96px;max-height:96px;line-height:1.55;overflow:hidden auto}.admin-center-status-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.admin-center-status-options button{border:1px solid var(--color-border);min-height:42px;color:var(--color-text);cursor:pointer;background:0 0;border-radius:9px}.admin-center-status-options button.selected{border-color:var(--color-primary);color:var(--color-primary);font-weight:800}.admin-center-hours-options{gap:8px;display:flex}.admin-center-hours-options button{border:1px solid var(--color-border);background:var(--color-surface);min-width:72px;color:var(--color-text-secondary);font:inherit;cursor:pointer;border-radius:10px;padding:8px 14px;font-size:.88rem;font-weight:700;transition:border-color .2s,background-color .2s,color .2s}.admin-center-hours-options button:hover{border-color:color-mix(in srgb, var(--color-primary) 55%, var(--color-border))}.admin-center-hours-options button.selected{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface));color:var(--color-primary)}.admin-center-hours-closed{border:1px dashed var(--color-border);min-height:42px;color:var(--color-text-secondary);border-radius:10px;align-items:center;padding:0 14px;font-size:.88rem;display:flex}.admin-center-drawer-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.admin-center-drawer-actions button{border:1px solid var(--color-border);min-height:44px;color:var(--color-text);cursor:pointer;background:0 0;border-radius:9px}.admin-center-drawer-actions .primary{border-color:var(--color-primary);color:#fff;background-color:var(--color-primary)}.admin-centers-page{width:min(calc(100% - (var(--page-padding) * 2)), var(--content-max-width));margin:0 auto;padding:36px 0 80px;position:relative}.admin-centers-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:28px;display:flex}.admin-centers-header h1{color:var(--color-text);letter-spacing:-.04em;margin:10px 0 0;font-size:2.3rem;font-weight:900}.admin-centers-header p{color:var(--color-text-muted);margin:12px 0 0;font-size:.9rem;line-height:1.65}.admin-primary-button{border:1px solid var(--color-primary);color:#fff;background-color:var(--color-primary);cursor:pointer;border-radius:10px;min-height:44px;padding:0 18px;font-size:.85rem;font-weight:750;transition:background-color .18s,transform .18s}.admin-primary-button:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}.admin-centers-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-top:28px;display:flex}.admin-center-search{gap:8px;width:min(520px,100%);display:flex}.admin-center-search-button{border:1px solid var(--color-primary);color:#fff;background-color:var(--color-primary);cursor:pointer;border-radius:10px;min-width:72px;height:44px;padding:0 14px;font-size:.8rem;font-weight:750}.admin-center-message{color:var(--color-text-muted);text-align:center;padding:28px 18px;font-size:.84rem}.admin-center-message.error{color:var(--color-primary)}.admin-center-search input{border:1px solid var(--color-border);width:100%;height:44px;color:var(--color-text);background-color:var(--color-surface);border-radius:10px;outline:none;padding:0 15px;transition:border-color .18s,box-shadow .18s}.admin-center-search input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 10%, transparent)}.admin-center-count{color:var(--color-text-muted);font-size:.8rem}.admin-center-list{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:16px;max-height:600px;margin-top:18px;overflow:hidden auto}.admin-center-list-header,.admin-center-row{grid-template-columns:minmax(180px,1.4fr) minmax(150px,1fr) minmax(140px,.9fr) 100px 150px;align-items:center;gap:14px;display:grid}.admin-center-list-header{z-index:2;border-bottom:1px solid var(--color-border);min-height:46px;color:var(--color-text-muted);background-color:color-mix(in srgb, var(--color-surface) 80%, var(--color-background));padding:0 18px;font-size:.75rem;font-weight:750;position:sticky;top:0}.admin-center-row{border-bottom:1px solid var(--color-border);min-height:70px;padding:0 18px;transition:background-color .18s}.admin-center-row:last-child{border-bottom:0}.admin-center-row:hover{background-color:color-mix(in srgb, var(--color-primary) 3%, var(--color-background))}.admin-center-row strong{color:var(--color-text);font-size:.88rem}.admin-center-row>span{color:var(--color-text-muted);font-size:.8rem}.admin-center-status{border-radius:999px;width:fit-content;padding:5px 8px;font-size:.72rem;font-weight:750;display:inline-flex}.admin-center-status.active{color:#17823b;background-color:color-mix(in srgb, #17823b 10%, var(--color-background))}.admin-center-status.inspection{color:var(--color-primary);background-color:color-mix(in srgb, var(--color-primary) 9%, var(--color-background))}.admin-row-action{border:1px solid var(--color-border);min-height:34px;color:var(--color-text);background-color:var(--color-background);cursor:pointer;border-radius:8px;font-size:.75rem;font-weight:700;transition:border-color .18s,color .18s}.admin-center-row-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.admin-row-action.delete{border-color:color-mix(in srgb, var(--color-primary) 35%, var(--color-border));color:var(--color-primary)}.admin-row-action.delete:hover{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 6%, var(--color-background))}.admin-row-action:hover{border-color:var(--color-primary);color:var(--color-primary)}@media (width<=1024px){.admin-center-list-header{display:none}.admin-center-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:16px}.admin-center-row strong,.admin-center-row>span:first-of-type,.admin-center-row>span:nth-of-type(2){grid-column:1}.admin-center-status,.admin-center-row-actions{grid-column:2}.admin-center-row-actions{min-width:130px}}@media (width<=768px){.admin-center-create-info{grid-template-columns:1fr}.admin-center-create-info .admin-center-edit-field{grid-column:auto}.admin-center-public-info{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-center-time-range input{flex-basis:min(118px,38vw);width:min(118px,38vw)}.admin-center-donation-options{grid-template-columns:repeat(4,max-content);justify-content:start;align-items:center;gap:8px;display:grid}.admin-center-drawer{width:100%;max-width:none;padding:20px max(18px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));border-left:0}.admin-center-drawer-actions{background-color:var(--color-surface);padding-top:12px;position:sticky;bottom:0}.admin-centers-page{padding-top:38px}.admin-centers-header{flex-direction:column;align-items:flex-start}.admin-primary-button{width:100%}.admin-centers-toolbar{flex-direction:column;align-items:flex-start}.admin-center-search{width:100%}}.admin-reservations-page{width:min(calc(100% - (var(--page-padding) * 2)), var(--content-max-width));margin:0 auto;padding:56px 0 80px;position:relative}.admin-reservations-header{border-bottom:1px solid var(--color-border);padding-bottom:28px}.admin-reservations-header h1{color:var(--color-text);letter-spacing:-.04em;margin:10px 0 0;font-size:2.3rem;font-weight:900}.admin-reservations-header p{color:var(--color-text-muted);margin:12px 0 0;font-size:.9rem;line-height:1.65}.admin-reservation-toolbar{grid-template-columns:minmax(260px,420px) auto 1fr;align-items:center;gap:16px;margin-top:28px;display:grid}.admin-reservation-search input{border:1px solid var(--color-border);width:100%;height:44px;color:var(--color-text);background-color:var(--color-surface);border-radius:10px;outline:none;padding:0 15px;transition:border-color .18s,box-shadow .18s}.admin-reservation-search input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 10%, transparent)}.admin-reservation-filter{background-color:var(--color-surface);border-radius:10px;padding:4px;display:flex}.admin-reservation-filter button{min-height:36px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 13px;font-size:.76rem;font-weight:700;transition:color .18s,background-color .18s}.admin-reservation-filter button.active{color:var(--color-primary);background-color:var(--color-background)}.admin-reservation-count{color:var(--color-text-muted);justify-self:end;font-size:.8rem}.admin-reservation-list{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:16px;max-height:600px;margin-top:18px;overflow:hidden auto}.admin-reservation-list-header,.admin-reservation-row{grid-template-columns:minmax(90px,.75fr) minmax(170px,1.3fr) 110px 80px 90px 100px 130px;align-items:center;gap:12px;display:grid}.admin-reservation-list-header{z-index:2;border-bottom:1px solid var(--color-border);min-height:46px;color:var(--color-text-muted);background-color:color-mix(in srgb, var(--color-surface) 80%, var(--color-background));padding:0 18px;font-size:.73rem;font-weight:750;position:sticky;top:0}.admin-reservation-row{border-bottom:1px solid var(--color-border);min-height:70px;padding:0 18px;transition:background-color .18s}.admin-reservation-row:last-child{border-bottom:0}.admin-reservation-row:hover{background-color:color-mix(in srgb, var(--color-primary) 3%, var(--color-background))}.admin-reservation-row strong{color:var(--color-text);font-size:.84rem}.admin-reservation-row>span{color:var(--color-text-muted);font-size:.78rem}.admin-reservation-actions{align-items:center;gap:6px;display:flex}.admin-reservation-status{border-radius:999px;width:fit-content;padding:5px 8px;font-size:.7rem;font-weight:750;display:inline-flex}.admin-reservation-status.confirmed{color:#17823b;background-color:color-mix(in srgb, #17823b 10%, var(--color-background))}.admin-reservation-status.cancelled{color:var(--color-primary);background-color:color-mix(in srgb, var(--color-primary) 9%, var(--color-background))}@media (width<=1024px){.admin-reservation-toolbar{grid-template-columns:1fr auto;align-items:start}.admin-reservation-search{grid-column:1/-1}.admin-reservation-count{align-self:center}.admin-reservation-list-header{display:none}.admin-reservation-row{grid-template-columns:minmax(0,1fr) auto;gap:7px 14px;padding:16px}.admin-reservation-row strong,.admin-reservation-row>span{grid-column:1}.admin-reservation-status,.admin-reservation-row .admin-row-action{grid-column:2}}@media (width<=768px){.admin-reservations-page{padding-top:38px}.admin-reservation-toolbar{flex-direction:column;align-items:stretch;display:flex}.admin-reservation-filter{width:100%}.admin-reservation-filter button{flex:1}.admin-reservation-count{align-self:flex-start}}.admin-slot-management{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;margin-top:28px;margin-bottom:32px;padding:24px}.admin-slot-management-header h2{margin:6px 0}.admin-slot-management-header p{color:var(--color-text-muted);margin:0}.admin-slot-search{grid-template-columns:minmax(180px,1fr) 160px 160px auto;gap:10px;margin-top:22px;display:grid}.admin-slot-search select,.admin-slot-search input{border:1px solid var(--color-border);min-height:40px;color:var(--color-text);background:var(--color-background);border-radius:9px;padding:0 12px}.admin-equipment-groups{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-background) 65%, var(--color-surface));border-radius:12px;margin-top:16px;padding:18px}.admin-equipment-groups-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.admin-equipment-groups-header>div{flex-direction:column;gap:4px;display:flex}.admin-equipment-groups-header strong{color:var(--color-text);font-size:.9rem;font-weight:800}.admin-equipment-groups-header span{color:var(--color-text-muted);font-size:.73rem;line-height:1.5}.admin-equipment-group-row{border-top:1px solid var(--color-border);grid-template-columns:minmax(220px,1fr) minmax(230px,auto) 90px 110px;align-items:center;gap:14px;min-height:64px;padding:12px 0;display:grid}.admin-equipment-group-info{flex-direction:column;gap:4px;display:flex}.admin-equipment-group-info strong{color:var(--color-text);font-size:.82rem;font-weight:800}.admin-equipment-group-info span{color:var(--color-text-muted);font-size:.7rem;line-height:1.45}.admin-equipment-group-capacity{color:var(--color-text-muted);align-items:center;gap:7px;font-size:.74rem;font-weight:700;display:flex}.admin-equipment-group-capacity input{border:1px solid var(--color-border);width:66px;height:36px;color:var(--color-text);background:var(--color-background);text-align:center;border-radius:8px;outline:none;padding:0 8px}.admin-equipment-group-capacity input:focus{border-color:var(--color-primary)}.admin-equipment-group-capacity input.is-invalid{border-color:color-mix(in srgb, var(--color-primary) 55%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 8%, var(--color-background))}.admin-equipment-group-row .admin-slot-state{font-size:.75rem;font-weight:750}@media (width<=1024px){.admin-equipment-group-row{grid-template-columns:minmax(200px,1fr) auto}.admin-equipment-group-capacity{justify-self:end}.admin-equipment-group-row .admin-slot-state{grid-column:1}.admin-equipment-group-row>.admin-row-action{grid-column:2;justify-self:end}}@media (width<=768px){.admin-equipment-groups{padding:15px}.admin-equipment-group-row{grid-template-columns:1fr;gap:9px;padding:15px 0}.admin-equipment-group-capacity{flex-wrap:wrap;justify-self:stretch}.admin-equipment-group-row .admin-slot-state{grid-column:1}.admin-equipment-group-row>.admin-row-action{grid-column:1;justify-self:stretch}}@media (width<=480px){.admin-equipment-groups-header span{font-size:.7rem}.admin-equipment-group-capacity{grid-template-columns:auto 64px auto 1fr;display:grid}.admin-equipment-group-capacity .admin-row-action{justify-self:end}}.admin-slot-create{grid-template-columns:repeat(4,minmax(110px,1fr)) auto;gap:10px;margin-top:12px;display:grid}.admin-slot-create label{color:var(--color-text-muted);flex-direction:column;gap:5px;font-size:.72rem;font-weight:700;display:flex}.admin-slot-create input{border:1px solid var(--color-border);min-height:40px;color:var(--color-text);background:var(--color-background);border-radius:9px;padding:0 10px}@media (width<=768px){.admin-slot-create{grid-template-columns:1fr}}.admin-slot-list{gap:8px;margin-top:18px;display:grid}.admin-slot-row{border:1px solid var(--color-border);border-radius:10px;grid-template-columns:minmax(150px,1fr) minmax(110px,140px) minmax(100px,120px) 148px;align-items:center;gap:12px;padding:14px 16px;display:grid}.admin-slot-occupancy{flex-direction:column;gap:2px;display:flex}.admin-slot-occupancy strong{font-size:.82rem}.admin-slot-occupancy span{color:var(--color-text-muted);font-size:.7rem}.admin-slot-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.admin-slot-actions .admin-row-action{flex:1;min-width:0}.admin-slot-delete-button{border:1px solid var(--color-border);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:8px;flex:0 0 32px;justify-content:center;align-items:center;padding:0;transition:color .18s,border-color .18s,background-color .18s;display:inline-flex}.admin-slot-delete-button svg{width:16px;height:16px}.admin-slot-delete-button:hover{color:var(--color-primary);border-color:color-mix(in srgb, var(--color-primary) 40%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 7%, transparent)}.admin-slot-delete-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.admin-slot-delete-button:disabled{color:var(--color-text-muted);border-color:var(--color-border);opacity:.35;cursor:not-allowed;background:0 0}.admin-slot-delete-button:disabled:hover{color:var(--color-text-muted);border-color:var(--color-border);background:0 0}.admin-slot-state.active{color:#63c58d}.admin-slot-state.inactive,.admin-slot-error{color:var(--color-primary)}.admin-slot-empty{color:var(--color-text-muted)}@media (width<=768px){.admin-slot-search{grid-template-columns:1fr}.admin-slot-row{grid-template-columns:1fr;gap:5px}.admin-slot-actions{justify-content:flex-start;margin-top:6px}.admin-slot-actions .admin-row-action{flex:0 auto}}.admin-reservation-detail-backdrop{z-index:1000;background:#00000073;justify-content:flex-end;display:flex;position:fixed;inset:0}.admin-reservation-detail-panel{width:min(460px,100%);height:100%;color:var(--color-text);background:var(--color-surface);border-left:1px solid var(--color-border);padding:28px;overflow-y:auto;box-shadow:-12px 0 30px #0000002e}.admin-reservation-detail-item{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:20px;padding:14px 0;display:flex}.admin-reservation-detail-item span{color:var(--color-text-muted)}.admin-reservation-detail-item strong{color:var(--color-text);text-align:right;word-break:break-word}@media (width<=767px){.admin-reservation-detail-panel{width:100%;padding:20px}}.admin-reservation-slot-change{border-top:1px solid var(--color-border);gap:12px;margin-top:28px;padding-top:22px;display:grid}.admin-reservation-slot-change-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-reservation-slot-change-header strong{color:var(--color-text)}.admin-reservation-slot-change-header span{color:var(--color-text-muted);font-size:.78rem}.admin-reservation-slot-change select{border:1px solid var(--color-border);width:100%;min-height:42px;color:var(--color-text);background:var(--color-background);border-radius:9px;padding:0 12px}.admin-reservation-slot-change select:focus{border-color:var(--color-primary);outline:none}.admin-reservation-slot-change .admin-row-action{justify-self:end}@media (width<=480px){.admin-reservation-slot-change-header{flex-direction:column;align-items:flex-start}.admin-reservation-slot-change .admin-row-action{width:100%}}.page-content>main.admin-reservations-page{padding-top:20px}.admin-center-combobox{min-width:220px;position:relative}.admin-center-combobox>input{width:100%}.admin-center-options{z-index:30;border:1px solid var(--color-border);max-height:260px;color:var(--color-text);background:var(--color-background);border-radius:10px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 30px #0000002e}.admin-center-option{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;transition:color .18s,background-color .18s;display:flex}.admin-center-option:hover:not(:disabled){background-color:color-mix(in srgb, var(--color-primary) 8%, var(--color-background))}.admin-center-option.is-inactive{color:var(--color-text-muted);opacity:.65;cursor:not-allowed}.admin-center-inactive-label{color:var(--color-primary);flex-shrink:0;font-size:12px;font-weight:700}.admin-center-option-empty{color:var(--color-text-muted);text-align:center;padding:12px;font-size:.78rem}.admin-slot-row.is-duplicate{animation:2.2s ease-out forwards duplicate-slot-flash}@keyframes duplicate-slot-flash{0%{border-color:color-mix(in srgb, var(--color-primary) 55%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 14%, var(--color-surface))}35%{border-color:color-mix(in srgb, var(--color-primary) 35%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface))}to{border-color:var(--color-border);background:var(--color-surface)}}.admin-slot-bulk-create{border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px;gap:22px;margin-top:22px;padding:24px;display:grid}.admin-slot-create-heading strong{color:var(--color-text);font-size:1rem;display:block}.admin-slot-create-heading p{color:var(--color-text-secondary);margin:6px 0 0;font-size:.88rem}.admin-slot-create-field{gap:10px;display:grid}.admin-slot-create-field label{color:var(--color-text-secondary);gap:8px;font-size:.88rem;font-weight:700;display:grid}.admin-slot-create-label{color:var(--color-text-secondary);font-size:.88rem;font-weight:700}.admin-slot-create-options,.admin-slot-donation-options,.admin-slot-week-options{flex-wrap:wrap;gap:8px;display:flex}.admin-slot-create-options button,.admin-slot-donation-options button,.admin-slot-week-options button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);font:inherit;cursor:pointer;border-radius:10px;padding:8px 14px;font-size:.88rem;font-weight:700}.admin-slot-create-options button.selected,.admin-slot-donation-options button.selected,.admin-slot-week-options button.selected{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface));color:var(--color-primary)}.admin-slot-week-options button{width:42px;padding-inline:0}.admin-slot-create-date-range{align-items:end;gap:12px;display:flex}.admin-slot-create-date-range label{color:var(--color-text-secondary);flex:1;gap:8px;font-size:.88rem;font-weight:700;display:grid}.admin-slot-create-date-range>span{color:var(--color-text-secondary);padding-bottom:11px}.admin-slot-hours-mode{flex-wrap:wrap;gap:18px;display:flex}.admin-slot-hours-mode label{color:var(--color-text);cursor:pointer;align-items:center;gap:7px;font-size:.88rem;display:flex}.admin-slot-hours-mode input{accent-color:var(--color-primary)}.admin-slot-hours-guide{color:var(--color-text-secondary);margin:0;font-size:.84rem;line-height:1.6}.admin-slot-interval-input{align-items:center;gap:8px;width:150px;display:flex}.admin-slot-interval-input input{width:100%;min-width:0}.admin-slot-interval-input span{color:var(--color-text-secondary);flex:none}.admin-slot-bulk-submit{background:var(--color-primary);color:#fff;min-height:44px;font:inherit;cursor:pointer;border:0;border-radius:11px;font-weight:800}.admin-slot-bulk-submit:hover:not(:disabled){filter:brightness(1.06)}.admin-slot-bulk-submit:disabled{opacity:.55;cursor:not-allowed}.admin-slot-create-result{border:1px solid color-mix(in srgb, var(--color-primary) 30%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 6%, var(--color-surface));border-radius:12px;flex-wrap:wrap;gap:10px 18px;padding:14px 16px;font-size:.86rem;display:flex}.admin-slot-create-result strong{color:var(--color-primary)}.admin-slot-create-result span{color:var(--color-text-secondary)}@media (width<=768px){.admin-slot-bulk-create{padding:18px}.admin-slot-create-date-range{display:grid}.admin-slot-create-date-range>span{display:none}}.admin-role-control{justify-content:flex-end;align-items:center;gap:8px;display:flex}.admin-role-control select{border:1px solid var(--color-border);height:34px;color:var(--color-text);background-color:var(--color-background);border-radius:8px;padding:0 8px;font-size:.75rem;font-weight:700}.admin-members-page{width:min(calc(100% - (var(--page-padding) * 2)), var(--content-max-width));margin:0 auto;padding:56px 0 80px;position:relative}.admin-members-header{border-bottom:1px solid var(--color-border);padding-bottom:28px}.admin-members-header h1{color:var(--color-text);letter-spacing:-.04em;margin:10px 0 0;font-size:2.3rem;font-weight:900}.admin-members-header p{color:var(--color-text-muted);margin:12px 0 0;font-size:.9rem;line-height:1.65}.admin-member-toolbar{grid-template-columns:minmax(260px,420px) auto 1fr;align-items:center;gap:16px;margin-top:28px;display:grid}.admin-member-search input{border:1px solid var(--color-border);width:100%;height:44px;color:var(--color-text);background-color:var(--color-surface);border-radius:10px;outline:none;padding:0 15px;transition:border-color .18s,box-shadow .18s}.admin-member-search input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 10%, transparent)}.admin-member-filter{background-color:var(--color-surface);border-radius:10px;padding:4px;display:flex}.admin-member-filter button{min-height:36px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 13px;font-size:.76rem;font-weight:700;transition:color .18s,background-color .18s}.admin-member-filter button.active{color:var(--color-primary);background-color:var(--color-background)}.admin-member-count{color:var(--color-text-muted);justify-self:end;font-size:.8rem}.admin-member-list{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:16px;max-height:600px;margin-top:18px;overflow:hidden auto}.admin-member-list-header,.admin-member-row{grid-template-columns:minmax(90px,.8fr) minmax(190px,1.5fr) 100px 90px minmax(180px,220px);align-items:center;gap:12px;display:grid}.admin-member-list-header{z-index:2;border-bottom:1px solid var(--color-border);min-height:46px;color:var(--color-text-muted);background-color:color-mix(in srgb, var(--color-surface) 80%, var(--color-background));padding:0 18px;font-size:.73rem;font-weight:750;position:sticky;top:0}.admin-member-row{border-bottom:1px solid var(--color-border);min-height:70px;padding:0 18px;transition:background-color .18s}.admin-member-row:last-child{border-bottom:0}.admin-member-row:hover{background-color:color-mix(in srgb, var(--color-primary) 3%, var(--color-background))}.admin-member-row strong{color:var(--color-text);align-items:center;gap:7px;font-size:.84rem;display:flex}.admin-member-self{color:var(--color-primary);background-color:color-mix(in srgb, var(--color-primary) 10%, var(--color-background));border-radius:999px;padding:3px 6px;font-size:.65rem;font-weight:750}.admin-member-row>span{color:var(--color-text-muted);font-size:.78rem}.admin-member-role{border-radius:999px;width:fit-content;padding:5px 8px;font-size:.7rem;font-weight:750;display:inline-flex}.admin-member-role.admin{color:var(--color-primary);background-color:color-mix(in srgb, var(--color-primary) 10%, var(--color-background))}.admin-member-role.user{color:var(--color-text-muted);background-color:var(--color-background);border:1px solid var(--color-border)}@media (width<=1024px){.admin-member-toolbar{grid-template-columns:1fr auto;align-items:start}.admin-member-search{grid-column:1/-1}.admin-member-count{align-self:center}.admin-member-list-header{display:none}.admin-member-row{grid-template-columns:minmax(0,1fr) auto;gap:7px 14px;padding:16px}.admin-member-row strong,.admin-member-row>span{grid-column:1}.admin-member-role,.admin-role-control{grid-column:2}.admin-role-control{grid-row:span 2}.admin-member-role.medical{color:var(--color-text);background-color:var(--color-background);border:1px solid var(--color-border)}}@media (width<=768px){.admin-members-page{padding-top:38px}.admin-member-toolbar{flex-direction:column;align-items:stretch;display:flex}.admin-member-filter{width:100%}.admin-member-filter button{flex:1}.admin-member-count{align-self:flex-start}}.page-content>main.admin-members-page{padding-top:20px}.kakao-template-page{width:min(calc(100% - (var(--page-padding) * 2)), var(--content-max-width));margin:0 auto;padding:42px 0 80px}.kakao-template-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-end;gap:24px;margin-top:24px;padding-bottom:28px;display:flex}.kakao-template-header>div>span,.kakao-preview-heading span{color:var(--color-primary);letter-spacing:.12em;font-size:.72rem;font-weight:850}.kakao-template-header h1{color:var(--color-text);letter-spacing:-.045em;margin:9px 0 0;font-size:clamp(1.9rem,4vw,2.7rem)}.kakao-template-header p{max-width:620px;color:var(--color-text-muted);margin:12px 0 0;font-size:.88rem;line-height:1.7}.kakao-template-back{border:1px solid var(--color-border);min-height:44px;color:var(--color-text);border-radius:9px;padding:11px 18px;font-size:.82rem;font-weight:750}.kakao-template-back:hover,.kakao-template-back:focus-visible{border-color:var(--color-primary);outline:none}.kakao-template-layout{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);align-items:start;gap:20px;margin-top:28px;display:grid}.kakao-template-editor,.kakao-template-preview{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;padding:24px}.kakao-template-toggle-row{justify-content:space-between;align-items:center;gap:20px;display:flex}.kakao-template-toggle-row>div{flex-direction:column;gap:6px;display:flex}.kakao-template-toggle-row strong{color:var(--color-text)}.kakao-template-toggle-row span,.kakao-template-help,.kakao-preview-note{color:var(--color-text-muted);font-size:.76rem;line-height:1.6}.kakao-template-toggle{min-height:44px;color:var(--color-text);cursor:pointer;align-items:center;gap:9px;font-size:.8rem;font-weight:750;display:flex}.kakao-template-toggle input{opacity:0;position:absolute}.kakao-template-toggle>span{border:1px solid var(--color-border);background:var(--color-surface-hover);border-radius:999px;width:44px;height:24px;position:relative}.kakao-template-toggle>span:after{background:var(--color-text-muted);content:"";border-radius:50%;width:18px;height:18px;transition:transform .2s,background-color .2s;position:absolute;top:2px;left:3px}.kakao-template-toggle input:checked+span{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 18%, transparent)}.kakao-template-toggle input:checked+span:after{background:var(--color-primary);transform:translate(18px)}.kakao-template-toggle input:focus-visible+span{outline:2px solid var(--color-primary);outline-offset:3px}.kakao-template-field{flex-direction:column;gap:9px;margin-top:24px;display:flex}.kakao-template-field>span,.kakao-template-placeholders>span{color:var(--color-text);font-size:.8rem;font-weight:800}.kakao-template-field textarea{border:1px solid var(--color-border);resize:vertical;width:100%;min-height:280px;color:var(--color-text);background:var(--color-background);border-radius:10px;padding:16px;line-height:1.65}.kakao-template-field textarea:focus{border-color:var(--color-primary);outline:2px solid color-mix(in srgb, var(--color-primary) 22%, transparent)}.kakao-template-placeholders{flex-direction:column;gap:9px;margin-top:16px;display:flex}.kakao-template-placeholders>div{flex-wrap:wrap;gap:8px;display:flex}.kakao-template-placeholders button{border:1px solid var(--color-border);min-height:40px;color:var(--color-text);background:var(--color-background);cursor:pointer;border-radius:999px;padding:8px 12px;font-size:.75rem}.kakao-template-placeholders button:hover,.kakao-template-placeholders button:focus-visible{border-color:var(--color-primary);color:var(--color-primary);outline:none}.kakao-template-help{margin:14px 0 0}.kakao-template-feedback{border-radius:9px;margin:16px 0 0;padding:12px 14px;font-size:.8rem}.kakao-template-feedback.error{border:1px solid color-mix(in srgb, var(--color-primary) 55%, var(--color-border));color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, transparent)}.kakao-template-feedback.success{color:#2f9e5b;background:#2f9e5b14;border:1px solid #2f9e5b}.kakao-template-save{color:#fff;background:var(--color-primary);cursor:pointer;border:0;border-radius:9px;width:100%;min-height:48px;margin-top:20px;font-weight:850}.kakao-template-save:hover:not(:disabled),.kakao-template-save:focus-visible:not(:disabled){background:var(--color-primary-hover);outline:2px solid var(--color-primary);outline-offset:3px}.kakao-template-save:disabled{opacity:.5;cursor:not-allowed}.kakao-preview-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.kakao-preview-heading h2{color:var(--color-text);margin:6px 0 0;font-size:1.2rem}.kakao-preview-heading strong{color:var(--color-text-muted);font-size:.76rem}.kakao-preview-heading strong.over{color:var(--color-primary)}.kakao-chat-preview{background:#b8c9d6;border-radius:12px;min-height:410px;margin-top:20px;padding:22px 18px}.kakao-chat-sender{color:#20242a;font-size:.78rem;font-weight:800}.kakao-chat-bubble{color:#18191c;background:#fff;border-radius:12px;margin-top:8px;overflow:hidden}.kakao-chat-bubble>strong{background:#fee500;padding:14px 16px;font-size:.9rem;display:block}.kakao-chat-bubble p{white-space:pre-wrap;min-height:240px;margin:0;padding:18px 16px;font-size:.82rem;line-height:1.7}.kakao-preview-note{margin:14px 0 0}.kakao-template-status{min-height:50vh;color:var(--color-text-muted);margin:0}@media (width<=1024px){.kakao-template-layout{grid-template-columns:1fr}.kakao-chat-preview{min-height:340px}}@media (width<=768px){.kakao-template-page{padding-top:30px}.kakao-template-header{flex-direction:column;align-items:stretch}.kakao-template-back{text-align:center;width:100%}.kakao-template-editor,.kakao-template-preview{padding:20px}.kakao-template-toggle-row{flex-direction:column;align-items:flex-start}.kakao-template-toggle{width:100%}}@media (width<=480px){.kakao-template-editor,.kakao-template-preview{border-radius:12px;padding:16px}.kakao-template-field textarea{min-height:320px}.kakao-template-placeholders button{flex:calc(50% - 8px)}.kakao-chat-preview{padding:18px 12px}}.admin-reward-page{width:min(calc(100% - (var(--page-padding) * 2)), var(--content-max-width));min-height:70vh;margin:0 auto;padding:56px 0 80px;position:relative}.admin-reward-header{border-bottom:1px solid var(--color-border);padding-bottom:24px}.admin-reward-header>span{color:var(--color-primary);letter-spacing:.12em;font-size:.7rem;font-weight:850}.admin-reward-header h1{color:var(--color-text);margin:9px 0 0;font-size:clamp(1.8rem,4vw,2.5rem)}.admin-reward-header p{color:var(--color-text-muted);margin:10px 0 0}.admin-reward-form{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;grid-template-columns:2fr 1fr 1fr;gap:16px;margin-top:24px;padding:22px;display:grid}.admin-reward-form label{color:var(--color-text-muted);flex-direction:column;gap:8px;font-size:.75rem;font-weight:750;display:flex}.admin-reward-form input,.admin-reward-form textarea{border:1px solid var(--color-border);min-height:44px;color:var(--color-text);background:var(--color-background);border-radius:8px;padding:10px 12px}.admin-reward-form input:focus,.admin-reward-form textarea:focus{outline:2px solid color-mix(in srgb, var(--color-primary) 42%, transparent)}.admin-reward-description{grid-column:1/-1}.admin-reward-description textarea{resize:vertical;min-height:88px}.admin-reward-form .admin-reward-check{flex-direction:row;align-items:center}.admin-reward-check input{min-height:auto}.admin-reward-actions{grid-column:2/-1;justify-content:flex-end;gap:8px;display:flex}.admin-reward-actions button,.admin-reward-row button{color:#fff;background:var(--color-primary);cursor:pointer;border:0;border-radius:8px;min-height:40px;padding:0 15px}.admin-reward-actions .secondary{color:var(--color-text);background:var(--color-background);border:1px solid var(--color-border)}.admin-reward-message{border-radius:10px;padding:13px 15px}.admin-reward-message.success{color:var(--color-text);background:color-mix(in srgb, var(--color-primary) 7%, var(--color-surface))}.admin-reward-message.error{color:var(--color-primary);border:1px solid var(--color-primary)}.admin-reward-list{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;margin-top:22px;overflow:hidden}.admin-reward-list>header{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:18px 20px;display:flex}.admin-reward-list h2{color:var(--color-text);margin:0;font-size:1rem}.admin-reward-list header span{color:var(--color-primary);font-weight:800}.admin-reward-row{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(180px,2fr) 1fr 1fr 1fr 150px;min-width:720px;display:grid}.admin-reward-row:last-child{border-bottom:0}.admin-reward-row>span{min-height:58px;color:var(--color-text);align-items:center;padding:10px 14px;font-size:.78rem;display:flex}.admin-reward-row>span:first-child{flex-direction:column;justify-content:center;align-items:flex-start;gap:4px}.admin-reward-row small{color:var(--color-text-muted)}.admin-reward-row.heading{background:var(--color-background)}.admin-reward-row.heading span{min-height:42px;color:var(--color-text-muted);font-weight:800}.admin-reward-table{overflow-x:auto}@media (width<=1024px){.admin-reward-form{grid-template-columns:1fr 1fr}.admin-reward-description{grid-column:1/-1}}@media (width<=768px){.admin-reward-page{padding-top:38px}.admin-reward-form{grid-template-columns:1fr}.admin-reward-description,.admin-reward-actions{grid-column:1}.admin-reward-actions{justify-content:stretch}.admin-reward-actions button{flex:1}.admin-reward-row.heading{display:none}.admin-reward-row{grid-template-columns:1fr 1fr;gap:8px;min-width:0;padding:14px}.admin-reward-row>span{min-height:auto;padding:4px}.admin-reward-row>span:first-child{grid-column:1/-1}}@media (width<=480px){.admin-reward-form{padding:18px}.admin-reward-row{grid-template-columns:1fr}.admin-reward-row>span:first-child{grid-column:1}}.admin-reward-image{grid-column:1/-1}.admin-reward-image input[type=file]{cursor:pointer;padding:8px}.admin-reward-image small{color:var(--color-text-muted);font-weight:500}.admin-reward-preview{aspect-ratio:4/3;border:1px solid var(--color-border);object-fit:cover;background:var(--color-background);border-radius:10px;grid-column:1/-1;width:160px}.admin-reward-row .admin-reward-product-name{flex-direction:row;justify-content:flex-start;align-items:center;gap:12px}.admin-reward-product-name>img,.admin-reward-no-image{border:1px solid var(--color-border);object-fit:cover;background:var(--color-background);border-radius:8px;flex:none;width:54px;height:54px}.admin-reward-no-image{color:var(--color-text-muted);text-align:center;place-items:center;font-size:.55rem;display:grid}.admin-reward-product-name>span:last-child{flex-direction:column;gap:4px;min-width:0;display:flex}@media (width<=768px){.admin-reward-preview{width:100%;max-width:240px}}.admin-reward-row .admin-reward-row-actions{align-items:center;gap:6px;display:flex}.admin-reward-row-actions .danger{border:1px solid color-mix(in srgb, var(--color-primary) 50%, var(--color-border));color:var(--color-primary);background:0 0}.admin-reward-row-actions .danger:hover{color:#fff;background:var(--color-primary)}.admin-reward-form{grid-template-columns:minmax(220px,2fr) minmax(140px,1fr) minmax(140px,1fr) minmax(120px,1fr)}.admin-reward-form select{border:1px solid var(--color-border);width:100%;min-height:44px;color:var(--color-text);background:var(--color-background);border-radius:8px;padding:10px 12px}.admin-reward-form select:focus{outline:2px solid color-mix(in srgb, var(--color-primary) 42%, transparent)}.admin-reward-form input:disabled{color:var(--color-text-muted);background:color-mix(in srgb, var(--color-border) 45%, var(--color-background));cursor:not-allowed}.admin-reward-row>span:nth-child(3){color:var(--color-text-muted);line-height:1.45}@media (width<=1024px){.admin-reward-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.admin-reward-form{grid-template-columns:1fr}.admin-reward-form>label,.admin-reward-description,.admin-reward-image,.admin-reward-actions,.admin-reward-preview{grid-column:1}.admin-reward-row>span,.admin-reward-row-actions button{min-height:44px}}@media (width<=480px){.admin-reward-actions{flex-direction:column}.admin-reward-actions button,.admin-reward-row-actions button{width:100%}.admin-reward-row-actions{flex-direction:column}}.fulfillment-panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;margin-top:22px;overflow:hidden}.fulfillment-panel>header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.fulfillment-panel h2{color:var(--color-text);margin:0;font-size:1rem}.fulfillment-panel>header span{color:var(--color-primary);font-size:.78rem;font-weight:800}.voucher-stock-row{border-bottom:1px solid var(--color-border);color:var(--color-text);grid-template-columns:minmax(180px,2fr) minmax(110px,1fr) 100px 100px auto;align-items:end;gap:12px;padding:16px 18px;display:grid}.voucher-stock-row:last-child{border-bottom:0}.voucher-stock-row>span{min-height:40px;color:var(--color-text-muted);font-size:.76rem;line-height:40px}.voucher-stock-row label{color:var(--color-text-muted);flex-direction:column;gap:6px;font-size:.7rem;font-weight:750;display:flex}.voucher-stock-row input{border:1px solid var(--color-border);min-height:42px;color:var(--color-text);background:var(--color-background);border-radius:8px;padding:8px 10px}.voucher-stock-row input:focus{outline:2px solid color-mix(in srgb, var(--color-primary) 42%, transparent)}.voucher-stock-row button,.fulfillment-actions button{color:#fff;background:var(--color-primary);cursor:pointer;border:0;border-radius:8px;min-height:42px;padding:0 15px;font-weight:800}.voucher-stock-row button:hover,.fulfillment-actions button:hover{background:var(--color-primary-hover)}.voucher-stock-row button:focus-visible,.fulfillment-actions button:focus-visible{outline-offset:2px;outline:2px solid #fff}.fulfillment-orders article{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(180px,2fr) minmax(120px,1fr) auto;align-items:center;gap:20px;padding:16px 18px;display:grid}.fulfillment-orders article:last-child{border-bottom:0}.fulfillment-orders article>div{min-width:0;color:var(--color-text);flex-direction:column;gap:6px;display:flex}.fulfillment-orders span,.fulfillment-orders small{color:var(--color-text-muted);overflow-wrap:anywhere;font-size:.72rem}.fulfillment-actions{flex-direction:row!important}.fulfillment-actions .danger{border:1px solid var(--color-primary);color:var(--color-primary);background:0 0}.fulfillment-actions .danger:hover{color:#fff;background:var(--color-primary)}@media (width<=1024px){.voucher-stock-row{grid-template-columns:minmax(180px,2fr) minmax(110px,1fr) 90px 90px}.voucher-stock-row>button{grid-column:3/-1}.fulfillment-orders article{grid-template-columns:minmax(180px,2fr) minmax(120px,1fr)}.fulfillment-actions{grid-column:1/-1;justify-content:flex-end}}@media (width<=768px){.voucher-stock-row,.fulfillment-orders article{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.voucher-stock-row>strong,.fulfillment-orders article>div:first-child{grid-column:1/-1}.voucher-stock-row>button{grid-column:1/-1;min-height:44px}.fulfillment-actions{justify-content:stretch}.fulfillment-actions button{flex:1;min-height:44px}}@media (width<=480px){.fulfillment-panel>header{padding:16px}.voucher-stock-row,.fulfillment-orders article{grid-template-columns:1fr;padding:16px}.voucher-stock-row>strong,.fulfillment-orders article>div:first-child,.voucher-stock-row>button,.fulfillment-actions{grid-column:1}.fulfillment-actions{flex-direction:column!important}}.test-point-panel{border-color:color-mix(in srgb, var(--color-primary) 45%, var(--color-border))}.test-point-panel>header div{flex-direction:column;gap:6px;display:flex}.test-point-panel>header span{color:var(--color-primary);letter-spacing:.12em;font-size:.65rem;font-weight:850}.test-point-form{grid-template-columns:minmax(240px,2fr) minmax(160px,1fr) auto;align-items:end;gap:16px;padding:18px 20px;display:grid}.test-point-form>div{flex-direction:column;gap:6px;display:flex}.test-point-form strong{color:var(--color-text);font-size:.82rem}.test-point-form p{color:var(--color-text-muted);margin:0;font-size:.72rem;line-height:1.5}.test-point-form label{color:var(--color-text-muted);flex-direction:column;gap:6px;font-size:.7rem;font-weight:750;display:flex}.test-point-form input{border:1px solid var(--color-border);min-height:42px;color:var(--color-text);background:var(--color-background);border-radius:8px;padding:8px 10px}.test-point-form input:focus{outline:2px solid color-mix(in srgb, var(--color-primary) 42%, transparent)}.test-point-form button{color:#fff;background:var(--color-primary);cursor:pointer;border:0;border-radius:8px;min-height:42px;padding:0 16px;font-weight:800}.test-point-form button:hover:not(:disabled){background:var(--color-primary-hover)}.test-point-form button:focus-visible{outline-offset:2px;outline:2px solid #fff}.test-point-form button:disabled{color:var(--color-text-muted);background:var(--color-border);cursor:not-allowed}@media (width<=1024px){.test-point-form{grid-template-columns:repeat(2,minmax(0,1fr))}.test-point-form>div{grid-column:1/-1}}@media (width<=768px){.test-point-form{grid-template-columns:1fr}.test-point-form>div{grid-column:1}.test-point-form button{min-height:44px}}@media (width<=480px){.test-point-form{padding:16px}.test-point-form button{width:100%}}.fulfillment-filter{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);align-items:end;gap:24px;margin-top:22px;padding:20px 24px;display:grid}.fulfillment-filter h2{color:var(--color-text);margin:0;font-size:1.05rem}.fulfillment-filter p{color:var(--color-text-muted);margin:8px 0 0;font-size:.8rem}.fulfillment-filter label{min-width:0;color:var(--color-text-muted);flex-direction:column;gap:6px;font-size:.76rem;font-weight:750;display:flex}.fulfillment-filter select{border:1px solid var(--color-border);min-height:44px;color:var(--color-text);background:var(--color-surface);font:inherit;border-radius:9px;padding:9px 11px}.fulfillment-filter select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.fulfillment-state{color:var(--color-text-muted);text-align:center;margin:0;padding:24px}.pickup-code strong{color:var(--color-text);letter-spacing:.04em}.fulfillment-pagination{border-top:1px solid var(--color-border);justify-content:center;align-items:center;gap:14px;padding:18px;display:flex}.fulfillment-pagination span{color:var(--color-text-muted);font-size:.82rem}.fulfillment-pagination button{border:1px solid var(--color-border);min-width:72px;min-height:42px;color:var(--color-text);background:var(--color-surface-hover);cursor:pointer;border-radius:8px;padding:0 14px}.fulfillment-pagination button:hover:not(:disabled){border-color:var(--color-primary)}.fulfillment-pagination button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.fulfillment-pagination button:disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.55}@media (width<=1024px){.fulfillment-filter{grid-template-columns:1fr}}@media (width<=768px){.fulfillment-filter{padding:20px}.fulfillment-pagination button{min-height:44px}}@media (width<=480px){.fulfillment-filter{padding:18px}.fulfillment-pagination{gap:10px;padding:16px 12px}}.promotion-page,.promotion-detail{width:min(calc(100% - (var(--page-padding) * 2)), var(--content-max-width));min-height:70vh;margin:0 auto;padding:56px 0 80px}.promotion-hero,.promotion-detail-toolbar{justify-content:space-between;align-items:center;gap:20px;display:flex}.promotion-hero{border-bottom:1px solid var(--color-border);padding-bottom:28px}.promotion-hero>div>span,.promotion-detail-heading>span,.promotion-editor header span{color:var(--color-primary);letter-spacing:.12em;font-size:.72rem;font-weight:850}.promotion-hero h1,.promotion-detail h1{color:var(--color-text);margin:10px 0 0;font-size:clamp(2rem,4vw,2.8rem)}.promotion-hero p,.promotion-detail-heading p{color:var(--color-text-muted)}.promotion-button,.promotion-back-button{min-height:44px;color:var(--color-text);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:.82rem;font-weight:800;transition:border-color .18s,background-color .18s,transform .18s;display:inline-flex}.promotion-button.primary{color:#fff;background:var(--color-primary)}.promotion-button.secondary,.promotion-back-button{border-color:var(--color-border);background:var(--color-surface)}.promotion-button.danger{border-color:color-mix(in srgb, var(--color-primary) 60%, var(--color-border));color:var(--color-primary);background:0 0}.promotion-button:hover,.promotion-back-button:hover{border-color:var(--color-primary);transform:translateY(-1px)}.promotion-button:focus-visible,.promotion-back-button:focus-visible,.promotion-tabs button:focus-visible,.promotion-card:focus-visible,.promotion-editor input:focus-visible,.promotion-editor select:focus-visible,.promotion-editor textarea:focus-visible,.promotion-entry input:focus-visible+span,.promotion-entry button:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.promotion-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.promotion-tabs{gap:8px;margin:28px 0 22px;display:flex}.promotion-tabs button{border:1px solid var(--color-border);min-height:44px;color:var(--color-text-muted);background:var(--color-surface);cursor:pointer;border-radius:999px;padding:0 20px}.promotion-tabs button.active{border-color:var(--color-primary);color:#fff;background:var(--color-primary)}.promotion-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.promotion-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;transition:border-color .2s,transform .2s;overflow:hidden}.promotion-card:hover{border-color:var(--color-primary);transform:translateY(-3px)}.promotion-card-image{aspect-ratio:3/2;color:var(--color-text-muted);background:var(--color-background);place-items:center;display:grid;position:relative}.promotion-card-image img{object-fit:cover;width:100%;height:100%}.promotion-type,.promotion-hidden-badge{color:#fff;border-radius:999px;padding:6px 10px;font-size:.7rem;font-weight:800;position:absolute;top:12px}.promotion-type{background:var(--color-primary);right:12px}.promotion-hidden-badge{border:1px solid var(--color-border);background:var(--color-surface);left:12px}.promotion-card-body{padding:20px}.promotion-meta{color:var(--color-primary);justify-content:space-between;gap:8px;font-size:.7rem;font-weight:800;display:flex}.promotion-meta span{color:var(--color-text-muted);font-weight:500}.promotion-card h2{color:var(--color-text);margin:14px 0 0;font-size:1.1rem}.promotion-card p{min-height:3.1em;color:var(--color-text-muted);font-size:.82rem;line-height:1.55}.promotion-card strong{color:var(--color-primary);font-size:.78rem}.promotion-status{border:1px solid var(--color-border);color:var(--color-text-muted);background:var(--color-surface);border-radius:10px;margin:16px 0;padding:16px}.promotion-status.error{border-color:var(--color-primary);color:var(--color-primary)}.promotion-status.success{color:var(--color-text)}.promotion-detail-toolbar{margin-bottom:20px}.promotion-admin-actions{gap:8px;display:flex}.promotion-detail article{border:1px solid var(--color-border);background:var(--color-surface);border-radius:20px;max-width:960px;margin:auto;overflow:hidden}.promotion-detail-heading,.promotion-content,.promotion-entry{padding:24px}.promotion-detail-heading{border-bottom:1px solid var(--color-border)}.promotion-detail-image{aspect-ratio:3/2;border-bottom:1px solid var(--color-border);object-fit:cover;width:100%;display:block}.promotion-content{color:var(--color-text);line-height:1.8}.promotion-entry{border-top:1px solid var(--color-border)}.promotion-entry h2{color:var(--color-text)}.promotion-entry>p,.promotion-entry>small{color:var(--color-text-muted)}.promotion-entry fieldset{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0;display:grid}.promotion-entry label{cursor:pointer}.promotion-entry label span{border:1px solid var(--color-border);min-height:52px;color:var(--color-text);background:var(--color-background);border-radius:10px;align-items:center;padding:10px 14px;display:flex}.promotion-entry input{opacity:0;position:absolute}.promotion-entry label.selected span{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 10%, var(--color-background))}.promotion-entry>button{color:#fff;background:var(--color-primary);cursor:pointer;border:0;border-radius:9px;width:100%;min-height:48px;margin-top:16px;font-weight:800}.promotion-entry>button:disabled{opacity:.55;cursor:not-allowed}.promotion-eligibility{border:1px solid var(--color-primary);color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 5%, var(--color-background));border-radius:9px;padding:12px 14px}.promotion-eligibility.eligible{border-color:var(--color-border);color:var(--color-text);background:var(--color-background)}.promotion-editor{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;margin-top:24px;padding:24px}.promotion-detail>.promotion-editor{max-width:960px;margin:0 auto 24px}.promotion-editor>header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;padding-bottom:18px;display:flex}.promotion-editor h2{color:var(--color-text);margin:6px 0 0}.promotion-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;display:grid}.promotion-editor label{color:var(--color-text-muted);flex-direction:column;gap:8px;font-size:.76rem;font-weight:750;display:flex}.promotion-editor input,.promotion-editor select,.promotion-editor textarea{border:1px solid var(--color-border);width:100%;min-height:44px;color:var(--color-text);background:var(--color-background);border-radius:8px;padding:10px 12px}.promotion-editor textarea{resize:vertical;min-height:160px}.promotion-editor small{color:var(--color-text-muted);font-weight:500;line-height:1.5}.promotion-editor .wide,.promotion-editor-preview{grid-column:1/-1}.promotion-editor-preview{aspect-ratio:3/2;border:1px solid var(--color-border);object-fit:cover;border-radius:12px;width:min(100%,420px)}.promotion-option-editor{border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:10px;padding:16px}.promotion-option-editor>div{grid-template-columns:1fr auto;align-items:end;gap:8px;margin:10px 0;display:grid}.promotion-editor .promotion-editor-check{flex-direction:row;align-items:center}.promotion-editor-check input{width:auto;min-height:auto}.promotion-editor-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}@media (width<=1024px){.promotion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.promotion-page,.promotion-detail{padding-top:38px}.promotion-hero,.promotion-detail-toolbar{flex-direction:column;align-items:stretch}.promotion-grid,.promotion-editor-grid,.promotion-entry fieldset{grid-template-columns:1fr}.promotion-editor .wide,.promotion-editor-preview{grid-column:1}.promotion-detail article{border-radius:16px}.promotion-card p{min-height:0}.promotion-admin-actions{width:100%}.promotion-admin-actions .promotion-button,.promotion-hero .promotion-button{flex:1}}@media (width<=480px){.promotion-tabs{grid-template-columns:1fr 1fr;display:grid}.promotion-tabs button{padding:0 10px}.promotion-detail-heading,.promotion-content,.promotion-entry,.promotion-editor{padding:18px}.promotion-editor>header,.promotion-editor-actions,.promotion-admin-actions{flex-direction:column;align-items:stretch}.promotion-editor-actions .promotion-button,.promotion-admin-actions .promotion-button{width:100%}.promotion-option-editor>div{grid-template-columns:1fr}}.promotion-field-error{color:var(--color-primary);align-items:flex-start;gap:.375rem;font-size:.75rem;font-weight:700;line-height:1.45;display:flex}.promotion-editor input[aria-invalid=true],.promotion-editor select[aria-invalid=true],.promotion-editor textarea[aria-invalid=true],.promotion-option-editor[aria-invalid=true]{border-color:var(--color-primary)}.qna-page{width:min(1120px,100% - 40px);color:var(--text-primary,#222);margin:0 auto;padding:64px 0 96px}.qna-heading{margin-bottom:32px}.qna-eyebrow{color:#c62828;margin:0 0 8px;font-weight:700}.qna-heading h1{margin:0 0 12px;font-size:clamp(2rem,4vw,3rem)}.qna-heading>p:last-child{color:var(--text-secondary,#666);margin:0}.qna-message{color:#a61b1b;background:#fff3f3;border-radius:10px;margin-bottom:20px;padding:14px 18px}.qna-faq{margin-bottom:48px}.qna-section-heading{margin-bottom:18px}.qna-section-heading p{color:#c62828;letter-spacing:.08em;margin:0 0 5px;font-weight:800}.qna-section-heading h2{margin:0;font-size:1.65rem}.qna-faq-list{border-top:2px solid #292929}.qna-faq-list details{border-bottom:1px solid #e0e2e5}.qna-faq-list summary{cursor:pointer;align-items:center;gap:16px;padding:19px 14px;font-weight:700;list-style:none;display:flex}.qna-faq-list summary::-webkit-details-marker{display:none}.qna-faq-list summary:after{content:"+";color:#c62828;margin-left:auto;font-size:1.4rem}.qna-faq-list details[open] summary:after{content:"−"}.qna-faq-number{color:#c62828;min-width:34px}.qna-faq-answer{background:var(--surface-muted,#f7f8f9);gap:18px;padding:20px 20px 22px 62px;display:flex}.qna-faq-answer strong{color:#c62828}.qna-toolbar{justify-content:space-between;gap:16px;margin-bottom:20px;display:flex}.qna-toolbar form{flex:1;max-width:520px;display:flex}.qna-toolbar input,.qna-form input{background:var(--surface,#fff);width:100%;min-height:46px;color:inherit;border:1px solid #d5d8dc;border-radius:8px 0 0 8px;padding:0 14px}.qna-toolbar form button{white-space:nowrap;word-break:keep-all;border-radius:0 8px 8px 0;min-width:72px}.qna-page button{background:var(--surface,#fff);min-height:42px;color:inherit;cursor:pointer;border:1px solid #cfd3d7;border-radius:8px;padding:0 18px}.qna-page button:hover{border-color:#c62828}.qna-primary{color:#fff!important;background:#c62828!important;border-color:#c62828!important}.qna-danger{color:#b71c1c!important}.qna-table-wrap{border-top:2px solid #292929;border-bottom:1px solid #ddd;overflow-x:auto}.qna-table{border-collapse:collapse;width:100%}.qna-table th,.qna-table td{text-align:center;border-bottom:1px solid #e4e6e8;padding:17px 14px}.qna-table th{background:var(--surface-muted,#f7f8f9);font-weight:700}.qna-table tbody tr{cursor:pointer}.qna-table tbody tr:hover{background:#c628280a}.qna-table .qna-title{text-align:left;font-weight:600}.qna-empty{color:#777;height:160px}.answered,.waiting{white-space:nowrap;border-radius:999px;padding:5px 10px;font-size:.84rem;font-weight:700;display:inline-block}.qna-pagination{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:28px;display:flex}.qna-pagination button{min-width:42px;padding:0}.qna-pagination .active{color:#fff;background:#c62828;border-color:#c62828}.qna-form,.qna-detail{background:var(--surface,#fff);border:1px solid #e0e2e5;border-radius:14px;padding:30px}.qna-form{gap:10px;display:grid}.qna-form label,.qna-answer-form label{margin-top:12px;font-weight:700}.qna-form input{border-radius:8px}.qna-form textarea,.qna-answer-form textarea{resize:vertical;background:var(--surface,#fff);min-height:260px;color:inherit;font:inherit;border:1px solid #d5d8dc;border-radius:8px;padding:14px}.qna-guide{color:#b12626;margin:0;font-size:.9rem}.qna-detail-header{border-bottom:1px solid #ddd;padding-bottom:24px}.qna-detail-header h2{margin:16px 0 8px}.qna-detail-header p{color:#777;margin:0}.qna-detail section{padding:24px 0}.qna-detail section h3{margin:0 0 14px}.qna-detail section p{white-space:pre-wrap;margin:0;line-height:1.75}.qna-answer{background:#c6282806;border-top:1px solid #eee}.qna-answer-form{border-top:1px solid #ddd;gap:12px;padding-top:24px;display:grid}.qna-answer-form textarea{min-height:180px}.qna-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=720px){.qna-page{width:min(100% - 24px,1120px);padding-top:40px}.qna-toolbar{flex-direction:column;align-items:stretch}.qna-toolbar form{max-width:none}.qna-table th:first-child,.qna-table td:first-child,.qna-table th:nth-child(4),.qna-table td:nth-child(4){display:none}.qna-form,.qna-detail{padding:20px}.qna-actions{flex-wrap:wrap}}.qna-faq-answer p{white-space:pre-line;margin:0;line-height:1.7}.qna-my-section{margin-top:52px}.qna-my-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.qna-write-area{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.qna-login-guide{color:#b12626;margin:0;font-size:.9rem}.qna-my-empty{text-align:center;color:var(--color-text-muted,#777);border-top:2px solid #292929;border-bottom:1px solid #ddd;margin:0;padding:48px 20px}.qna-faq-item{border-bottom:1px solid #e0e2e5}.qna-faq-question{text-align:left;align-items:center;gap:16px;width:100%;font-weight:700;background:0 0!important;border:0!important;border-radius:0!important;min-height:0!important;padding:19px 14px!important;display:flex!important}.qna-faq-toggle{color:#c62828;margin-left:auto;font-size:1.4rem}.qna-faq-item.open .qna-faq-question{background:#c6282806!important}@media (width<=720px){.qna-my-header{flex-direction:column;align-items:stretch}.qna-write-area{align-items:stretch}.qna-login-guide{text-align:right}}.faq-page{width:min(1120px,100% - 40px);color:var(--color-text,#222);margin:0 auto;padding:64px 0 96px}.faq-heading{margin-bottom:32px}.faq-heading p{color:var(--color-primary,#c62828);margin:0 0 8px;font-weight:800}.faq-heading h1{margin:0 0 12px;font-size:clamp(2rem,4vw,3rem)}.faq-heading span{color:var(--color-text-muted,#666)}.faq-list{border-top:2px solid var(--color-text,#292929)}.faq-item{border-bottom:1px solid var(--color-border,#e0e2e5)}.faq-question{width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:16px;padding:19px 14px;font-weight:700;display:flex}.faq-question:hover,.faq-item.open .faq-question{background:color-mix(in srgb,var(--color-primary,#c62828) 5%,transparent)}.faq-number{min-width:34px;color:var(--color-primary,#c62828)}.faq-toggle{color:var(--color-primary,#c62828);margin-left:auto;font-size:1.4rem}.faq-answer{background:var(--color-surface-muted,#f7f8f9);gap:18px;padding:20px 20px 22px 62px;display:flex}.faq-answer strong{color:var(--color-primary,#c62828)}.faq-answer p{white-space:pre-line;margin:0;line-height:1.75}.faq-pagination{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:28px;display:flex}.faq-pagination button{border:1px solid var(--color-border,#cfd3d7);background:var(--color-surface,#fff);min-width:42px;height:42px;color:inherit;cursor:pointer;border-radius:8px;padding:0}.faq-pagination button.active{border-color:var(--color-primary,#c62828);background:var(--color-primary,#c62828);color:#fff}@media (width<=768px){.faq-page{width:calc(100% - 32px);padding-top:40px}.faq-question{gap:10px;padding-inline:10px}.faq-answer{padding:18px 14px 20px 24px}}@media (width<=480px){.faq-page{padding-top:24px}.faq-heading h1{font-size:1.75rem}.faq-question{gap:8px}.faq-answer{padding:16px}.faq-pagination button{min-width:44px;height:44px}}.admin-qna-page{width:min(1320px,100% - 40px);color:var(--color-text);margin:0 auto;padding:56px 0 90px}.admin-qna-top{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.admin-qna-top span{color:var(--color-primary);letter-spacing:.1em;font-size:.72rem;font-weight:850}.admin-qna-top h1{margin:10px 0 8px}.admin-qna-top p{color:var(--color-text-muted);margin:0}.admin-qna-top a{border:1px solid var(--color-border);border-radius:10px;padding:12px 17px}.admin-qna-message{background:color-mix(in srgb,var(--color-primary) 9%,var(--color-surface));color:var(--color-primary);border-radius:10px;margin-bottom:18px;padding:13px 16px}.admin-qna-layout{grid-template-columns:minmax(0,1.45fr) minmax(340px,.8fr);gap:24px;display:grid}.admin-qna-table-wrap{border-top:2px solid var(--color-text);overflow-x:auto}.admin-qna-table-wrap table{border-collapse:collapse;width:100%}.admin-qna-table-wrap th,.admin-qna-table-wrap td{border-bottom:1px solid var(--color-border);text-align:center;padding:15px 12px}.admin-qna-table-wrap th{background:var(--color-surface-muted)}.admin-qna-table-wrap tbody tr{cursor:pointer}.admin-qna-table-wrap tbody tr:hover,.admin-qna-table-wrap tbody tr.selected{background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface))}.admin-qna-table-wrap .title{text-align:left;font-weight:700}.admin-qna-empty{height:150px;color:var(--color-text-muted)}.answered,.waiting{border-radius:999px;padding:5px 9px;font-size:.8rem;font-weight:750;display:inline-block}.answered{color:#24743b;background:#e8f5e9}.waiting{color:#9a5b00;background:#fff4e5}.admin-qna-pagination{justify-content:center;gap:8px;margin-top:22px;display:flex}.admin-qna-pagination button{border:1px solid var(--color-border);background:var(--color-surface);min-width:40px;height:40px;color:var(--color-text);border-radius:8px}.admin-qna-pagination button.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.admin-qna-detail{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;min-height:420px;padding:26px}.admin-qna-detail h2{margin:0 0 8px}.admin-qna-detail .meta{color:var(--color-text-muted);margin:0;font-size:.88rem}.admin-qna-detail section{border-block:1px solid var(--color-border);margin:24px 0;padding:20px 0}.admin-qna-detail section h3{margin:0 0 10px}.admin-qna-detail section p{white-space:pre-wrap;margin:0;line-height:1.7}.admin-qna-detail form{gap:12px;display:grid}.admin-qna-detail label{font-weight:800}.admin-qna-detail textarea{border:1px solid var(--color-border);resize:vertical;background:var(--color-surface);min-height:190px;color:var(--color-text);font:inherit;border-radius:10px;padding:13px}.admin-qna-detail form button{background:var(--color-primary);color:#fff;border:0;border-radius:9px;min-height:44px;font-weight:800}.placeholder{min-height:360px;color:var(--color-text-muted);place-items:center;display:grid}@media (width<=960px){.admin-qna-layout{grid-template-columns:1fr}}@media (width<=680px){.admin-qna-page{width:calc(100% - 24px);padding-top:38px}.admin-qna-top{flex-direction:column}.admin-qna-table-wrap th:first-child,.admin-qna-table-wrap td:first-child,.admin-qna-table-wrap th:nth-child(4),.admin-qna-table-wrap td:nth-child(4){display:none}}.blood-units-page{width:min(calc(100% - (var(--page-padding) * 2)),var(--content-max-width));min-height:70vh;margin:0 auto;padding:48px 0 80px}.blood-units-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:24px;display:flex}.blood-units-eyebrow{color:var(--color-primary);letter-spacing:.12em;margin:0;font-size:.72rem;font-weight:850}.blood-units-header h1{color:var(--color-text);letter-spacing:-.04em;margin:8px 0 0;font-size:clamp(1.8rem,4vw,2.5rem)}.blood-units-center-caption{color:var(--color-text-muted);margin:10px 0 0;font-size:.88rem}.blood-units-center-selector{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);align-items:end;gap:24px;margin-top:24px;padding:20px 24px;display:grid}.blood-units-center-selector h2{color:var(--color-text);margin:0;font-size:1.05rem}.blood-units-center-selector p{color:var(--color-text-muted);margin:8px 0 0;font-size:.8rem}.blood-units-center-selector label{min-width:0;color:var(--color-text-muted);flex-direction:column;gap:6px;font-size:.76rem;font-weight:750;display:flex}.blood-unit-button{min-height:44px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:9px;padding:0 16px;font-weight:800;transition:background-color .18s,border-color .18s,color .18s}.blood-unit-button.primary{color:#fff;background:var(--color-primary)}.blood-unit-button.primary:hover:not(:disabled){background:var(--color-primary-hover)}.blood-unit-button.secondary,.blood-unit-button.edit{border-color:var(--color-border);color:var(--color-text);background:var(--color-surface)}.blood-unit-button.secondary:hover:not(:disabled),.blood-unit-button.edit:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-surface-hover)}.blood-unit-button:focus-visible,.blood-units-page input:focus-visible,.blood-units-page select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.blood-unit-button:disabled{opacity:.5;cursor:not-allowed}.blood-units-alert{color:var(--color-text);background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));border:1px solid #e53935;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding:14px 16px;display:flex}.blood-units-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px;display:grid}.blood-units-summary article{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;flex-direction:column;min-height:112px;padding:20px;display:flex}.blood-units-summary span{color:var(--color-text-muted);font-size:.76rem;font-weight:700}.blood-units-summary strong{color:var(--color-text);margin-top:12px;font-size:1.6rem}.blood-units-summary .success{color:#34d399}.blood-units-summary .warning{color:#fbbf24}.blood-units-summary .danger{color:#fb7185}.blood-units-filters{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;padding:18px;display:grid}.blood-units-filters label,.blood-unit-modal label{min-width:0;color:var(--color-text-muted);flex-direction:column;gap:6px;font-size:.76rem;font-weight:750;display:flex}.blood-units-page input,.blood-units-page select{border:1px solid var(--color-border);min-height:44px;color:var(--color-text);background:var(--color-surface);font:inherit;border-radius:9px;padding:9px 11px}.blood-units-table-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px;margin-top:18px;overflow:hidden}.blood-units-table-wrap{overflow-x:auto}.blood-units-table-card table{border-collapse:collapse;width:100%;font-size:.8rem}.blood-units-table-card th,.blood-units-table-card td{border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap;padding:13px 14px}.blood-units-table-card th{color:var(--color-text-muted);background:color-mix(in srgb,var(--color-surface) 90%,var(--color-text) 3%);letter-spacing:.03em;font-size:.68rem}.unit-id{color:var(--color-text);font-family:monospace;font-weight:750}.blood-type{color:var(--color-primary);font-weight:850}.empty{color:var(--color-text-muted);text-align:center!important;padding:40px!important}.status-badge{border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:800;display:inline-flex}.status-badge.available{color:#34d399;background:#34d3991f}.status-badge.reserved{color:#fbbf24;background:#fbbf241f}.status-badge.unavailable{color:#fb7185;background:#fb71851f}.blood-units-pagination{justify-content:center;align-items:center;gap:16px;padding:16px;display:flex}.blood-units-pagination span{color:var(--color-text-muted);font-size:.82rem}.blood-unit-modal{z-index:100;background:#0a0c0ebf;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.blood-unit-modal form{border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:min(760px,100%);max-height:90vh;padding:24px;display:grid;overflow:auto}.blood-unit-modal h2{color:var(--color-text);grid-column:1/-1;margin:0 0 4px}.blood-unit-modal label b{color:var(--color-primary)}.blood-unit-modal input[readonly]{color:var(--color-text-muted);background:color-mix(in srgb,var(--color-surface) 82%,var(--color-border));cursor:not-allowed}.blood-unit-readonly-details{border:1px solid var(--color-border);background:var(--color-border);border-radius:12px;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.blood-unit-readonly-details span{min-width:0;color:var(--color-text);background:var(--color-surface);overflow-wrap:anywhere;flex-direction:column;gap:5px;padding:13px 14px;display:flex}.blood-unit-readonly-details b{color:var(--color-text-muted);font-size:.7rem}.collection-date-fields{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.blood-unit-modal-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.blood-unit-field-error{color:#ff6b67;visibility:visible;margin:0;font-size:.72rem;font-weight:700;line-height:1.45;display:block}.blood-units-page [aria-invalid=true]{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}@media (width<=1024px){.blood-units-center-selector{grid-template-columns:1fr}.blood-units-summary,.blood-units-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.blood-units-page{padding:32px 0 64px}.blood-units-header{flex-direction:column;align-items:flex-start}.blood-units-header .primary{width:100%}.blood-units-center-selector{padding:20px}.blood-units-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.blood-units-filters{grid-template-columns:1fr}.blood-units-table-card{background:0 0;border:0}.blood-units-table-wrap{overflow:visible}.blood-units-table-card table,.blood-units-table-card tbody{display:block}.blood-units-table-card thead{display:none}.blood-units-table-card tr{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-bottom:14px;padding:12px;display:grid}.blood-units-table-card td{white-space:normal;overflow-wrap:anywhere;grid-template-columns:minmax(88px,.8fr) 1.2fr;align-items:center;min-width:0;padding:9px;display:grid}.blood-units-table-card td:before{content:attr(data-label);color:var(--color-text-muted);font-size:.7rem;font-weight:750}.blood-units-table-card td[data-label=Unit\ ID],.blood-units-table-card td[data-label=채혈일],.blood-units-table-card td[data-label=유효기간],.blood-units-table-card td[data-label=관리]{grid-column:1/-1}.blood-units-table-card td[data-label=관리] .edit{width:100%}.blood-unit-modal form,.blood-unit-readonly-details,.collection-date-fields{grid-template-columns:1fr}.blood-unit-modal-actions{background:var(--color-surface);margin:0 -24px -24px;padding:14px 24px;position:sticky;bottom:-24px}.blood-unit-modal-actions .blood-unit-button{flex:1}}@media (width<=480px){.blood-units-page{width:min(100% - 32px,100%);padding-top:24px}.blood-units-center-selector{padding:18px}.blood-units-summary{grid-template-columns:1fr}.blood-units-summary article{min-height:96px;padding:18px}.blood-units-table-card tr{grid-template-columns:1fr}.blood-units-table-card td{grid-column:1/-1}.blood-unit-modal{padding:10px}.blood-unit-modal form{border-radius:14px;padding:18px}.blood-unit-modal-actions{margin:0 -18px -18px;padding:12px 18px;bottom:-18px}}.donor-check-page,.donor-check-state{width:min(calc(100% - (var(--page-padding) * 2)), 840px);min-height:70vh;margin:0 auto;padding:48px 0 80px}.donor-check-page>header{border-bottom:1px solid var(--color-border);padding-bottom:24px}.donor-check-page>header p{color:var(--color-primary);letter-spacing:.12em;margin:0;font-size:.72rem;font-weight:850}.donor-check-page h1{letter-spacing:-.04em;margin:8px 0 0;font-size:clamp(1.8rem,4vw,2.5rem)}.donor-check-alert{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin-top:18px;padding:14px 16px}.donor-check-page form{border:1px solid var(--color-border);background:var(--color-surface);border-radius:20px;margin-top:20px;padding:28px}.donor-check-page section+section{margin-top:34px}.donor-check-page h2{border-bottom:2px solid var(--color-primary);color:var(--color-primary);margin:0 0 16px;padding-bottom:10px;font-size:1.15rem}.donor-grid{gap:14px;margin-bottom:14px;display:grid}.donor-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.donor-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.donor-check-page label{color:var(--color-text-muted);flex-direction:column;gap:6px;font-size:.8rem;font-weight:750;display:flex}.donor-check-page input,.donor-check-page select{border:1px solid var(--color-border);width:100%;color:var(--color-text);background:var(--color-surface);font:inherit;border-radius:9px;padding:10px 12px}.questionnaire-wrap{overflow-x:auto}.donor-check-page table{border-collapse:collapse;width:100%;font-size:.84rem}.donor-check-page th,.donor-check-page td{border:1px solid var(--color-border);text-align:left;padding:11px 13px}.donor-check-page th{background:color-mix(in srgb, var(--color-surface) 90%, var(--color-text) 4%)}.donor-check-page th:last-child{width:min(42%,320px)}.donor-check-page .answer{color:#34d399}.donor-check-page .answer>strong{font-weight:850}.donor-check-page .answer.is-review{color:var(--color-primary-hover)}.questionnaire-answer-detail{border-left:3px solid var(--color-primary);color:var(--color-text);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));white-space:pre-wrap;overflow-wrap:anywhere;border-radius:0 8px 8px 0;margin:8px 0 0;padding:10px 12px;font-weight:500;line-height:1.55}.signature-guide{color:var(--color-text-muted);font-size:.82rem}.signature-box{border:2px dashed var(--color-border);background:#fff;border-radius:12px;overflow:hidden}.signature-box canvas{cursor:crosshair;touch-action:none;width:100%;height:160px;display:block}.clear-signature{cursor:pointer;border:0;border-radius:9px;margin:10px 0 0 auto;padding:8px 13px;display:block}.save-confirmation{color:#fff;background:var(--color-primary);cursor:pointer;border:0;border-radius:10px;width:min(100%,320px);margin:28px auto 0;padding:13px;font-weight:850;display:block}.save-confirmation:disabled{opacity:.55;cursor:default}@media (width<=700px){.donor-check-page form{padding:20px}.donor-grid.two,.donor-grid.three{grid-template-columns:1fr}.questionnaire-wrap{overflow:visible}.donor-check-page table,.donor-check-page tbody{display:block}.donor-check-page thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.donor-check-page tr{border:1px solid var(--color-border);border-radius:12px;margin-bottom:12px;display:block;overflow:hidden}.donor-check-page td{border:0;display:block}.donor-check-page td+td{border-top:1px solid var(--color-border)}}.donor-check-back-link{border:1px solid var(--color-border);min-height:44px;color:var(--color-text);background:var(--color-surface);border-radius:9px;align-items:center;gap:8px;margin-bottom:18px;padding:0 14px;font-size:.82rem;font-weight:800;display:inline-flex}.donor-check-back-link:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-surface-hover)}.donor-check-back-link:focus-visible,.donor-check-page input:focus-visible,.donor-check-page select:focus-visible,.donor-check-page button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.resident-number-field{border:0;min-width:0;margin:0;padding:0}.resident-number-field legend{color:var(--color-text-muted);margin-bottom:6px;font-size:.8rem;font-weight:750}.resident-number-inputs{grid-template-columns:minmax(0,1fr) auto minmax(0,1.15fr);align-items:center;gap:8px;display:grid}.field-error{color:#e53935;font-size:.75rem;font-weight:700}.donor-check-page [aria-invalid=true]{border-color:#e53935;box-shadow:0 0 0 1px #e53935}.save-confirmation:hover:not(:disabled){background:var(--color-primary-hover)}@media (width<=768px){.donor-check-back-link{justify-content:center;width:100%}}@media (width<=480px){.donor-check-page form{padding:16px}.resident-number-inputs{gap:5px}}.medical-my-page{width:100%;padding:0 0 80px}.medical-my-page__header{max-width:720px;margin-bottom:32px}.medical-my-page__eyebrow{color:var(--color-primary);letter-spacing:.12em;margin:0;font-size:.75rem;font-weight:850}.medical-my-page__header h1{color:var(--color-text);letter-spacing:-.04em;margin:10px 0 12px;font-size:clamp(2rem,4vw,2.75rem)}.medical-my-page__header>p:last-child{color:var(--color-text-muted);margin:0;line-height:1.7}.medical-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.medical-service-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;flex-direction:column;min-height:320px;padding:24px;transition:background-color .2s,border-color .2s,transform .2s;display:flex}.medical-service-card:hover{border-color:color-mix(in srgb, var(--color-primary) 45%, var(--color-border));background:var(--color-surface-hover);transform:translateY(-2px)}.medical-service-card__icon{border:1px solid var(--color-border);width:52px;height:52px;color:var(--color-primary);border-radius:14px;place-items:center;display:grid}.medical-service-card__icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:27px;height:27px}.medical-service-card__content{flex:1;padding:24px 0}.medical-service-card__tag{color:var(--color-text-muted);background:var(--color-background);border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:750;display:inline-flex}.medical-service-card h2{color:var(--color-text);margin:14px 0 8px;font-size:1.35rem}.medical-service-card p{color:var(--color-text-muted);margin:0;font-size:.9rem;line-height:1.7}.medical-service-card button{color:#fff;background:var(--color-primary);cursor:pointer;border:0;border-radius:9px;justify-content:center;align-items:center;min-height:46px;padding:0 16px;font-weight:800;transition:background-color .18s,transform .18s;display:flex}.medical-service-card button:hover{background:var(--color-primary-hover)}.medical-service-card button:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.medical-service-card button:active{transform:translateY(1px)}@media (width<=1024px){.medical-service-card{min-height:300px}}@media (width<=768px){.medical-my-page{padding:0 0 64px}.medical-my-page__header{margin-bottom:24px}.medical-service-grid{grid-template-columns:1fr}.medical-service-card{min-height:0;padding:20px}.medical-service-card button{width:100%;min-height:48px}}@media (width<=480px){.medical-service-card{border-radius:14px;padding:18px}.medical-service-card__icon{width:48px;height:48px}}.medical-donation-history{width:min(calc(100% - (var(--page-padding) * 2)), 1440px);margin-inline:auto;padding:48px 0 80px}.medical-donation-history__header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.medical-donation-history__header p{color:var(--color-primary);letter-spacing:.12em;margin:0;font-size:.75rem;font-weight:850}.medical-donation-history__header h1{color:var(--color-text);letter-spacing:-.04em;margin:10px 0 8px;font-size:clamp(2rem,4vw,2.75rem)}.medical-donation-history__header span{color:var(--color-text-muted);line-height:1.7}.medical-donation-history__header button{border:1px solid var(--color-border);min-height:44px;color:var(--color-text);background:var(--color-surface);cursor:pointer;border-radius:9px;padding:0 16px;font-weight:750}.medical-donation-history__filter{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);align-items:end;gap:24px;margin-bottom:18px;padding:20px 24px;display:grid}.medical-donation-history__filter h2{color:var(--color-text);margin:0;font-size:1.05rem}.medical-donation-history__filter p{color:var(--color-text-muted);margin:8px 0 0;font-size:.8rem}.medical-donation-history__filter label{min-width:0;color:var(--color-text-muted);flex-direction:column;gap:6px;font-size:.76rem;font-weight:750;display:flex}.medical-donation-history__filter select{border:1px solid var(--color-border);min-height:44px;color:var(--color-text);background:var(--color-surface);font:inherit;border-radius:9px;padding:9px 11px}.medical-donation-history__filter select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.medical-donation-history__panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;overflow:hidden}.medical-donation-history__summary{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;min-height:72px;padding:0 24px;display:flex}.medical-donation-history__summary h2{color:var(--color-text);margin:0;font-size:1.1rem}.medical-donation-history__summary span{color:var(--color-primary);font-weight:800}.medical-donation-history__table-wrap{overflow-x:auto}.medical-donation-history table{border-collapse:collapse;width:100%;min-width:1140px}.medical-donation-history th,.medical-donation-history td{border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap;padding:15px 18px}.medical-donation-history th{color:var(--color-text-muted);background:var(--color-background);font-size:.78rem;font-weight:800}.medical-donation-history td{color:var(--color-text-muted);font-size:.88rem}.medical-donation-history tbody tr:last-child td{border-bottom:0}.medical-donation-history tbody tr:hover{background:var(--color-surface-hover)}.medical-donation-history td.is-name{color:var(--color-text);font-weight:800}.medical-donation-history__state{color:var(--color-text-muted);text-align:center;padding:72px 24px}.medical-donation-history__state.is-error{color:var(--color-danger,#c93838)}@media (width<=1024px){.medical-donation-history__filter{grid-template-columns:1fr}}@media (width<=768px){.medical-donation-history{padding:32px 0 64px}.medical-donation-history__header{flex-direction:column;align-items:stretch}.medical-donation-history__header button{align-self:flex-start}.medical-donation-history__filter{padding:20px}.medical-donation-history__summary{padding-inline:18px}.medical-donation-history__table-wrap{overflow:visible}.medical-donation-history table,.medical-donation-history tbody{min-width:0;display:block}.medical-donation-history thead{display:none}.medical-donation-history tr{border:1px solid var(--color-border);background:var(--color-surface-hover);border-radius:12px;gap:0;margin:14px;padding:12px;display:grid}.medical-donation-history td{border-bottom:1px solid var(--color-border);white-space:normal;overflow-wrap:anywhere;grid-template-columns:minmax(110px,.8fr) 1.2fr;gap:10px;padding:9px;display:grid}.medical-donation-history td:before{content:attr(data-label);color:var(--color-text-muted);font-size:.72rem;font-weight:750}.medical-donation-history td:last-child{border-bottom:0}}@media (width<=480px){.medical-donation-history{width:min(100% - 32px,100%);padding-top:24px}.medical-donation-history__filter{padding:18px}.medical-donation-history tr{margin:12px}.medical-donation-history td{grid-template-columns:1fr;gap:4px}}.medical-workspace-list{color:var(--color-text)}.medical-workspace-list>header{margin-bottom:24px}.medical-workspace-list>header p{color:var(--color-primary);letter-spacing:.08em;font-weight:800}.medical-workspace-list>header span{color:var(--color-text-muted)}.workspace-center-filter{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);align-items:end;gap:24px;margin-bottom:18px;padding:20px 24px;display:grid}.workspace-center-filter h2{color:var(--color-text);margin:0;font-size:1.05rem}.workspace-center-filter p{color:var(--color-text-muted);margin:8px 0 0;font-size:.8rem}.workspace-center-filter label{min-width:0;color:var(--color-text-muted);flex-direction:column;gap:6px;font-size:.76rem;font-weight:750;display:flex}.workspace-center-filter select{border:1px solid var(--color-border);min-height:44px;color:var(--color-text);background:var(--color-surface);font:inherit;border-radius:9px;padding:9px 11px}.workspace-center-filter select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.workspace-panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;padding:24px}.workspace-card-list{gap:12px;display:grid}.workspace-data-card{width:100%;color:inherit;text-align:left;border:1px solid var(--color-border);background:var(--color-surface-hover);border-radius:12px;grid-template-columns:1.2fr 1fr 1fr auto;align-items:center;gap:12px;padding:16px;display:grid}button.workspace-data-card{cursor:pointer}.workspace-data-card:hover{border-color:var(--color-primary)}.workspace-data-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.workspace-data-card em{color:var(--color-primary-hover);font-style:normal;font-weight:700}.workspace-data-card>button{color:#fff;background:var(--color-primary);cursor:pointer;border:0;border-radius:9px;min-height:44px;padding:0 16px}.workspace-data-card>button:hover:not(:disabled){background:var(--color-primary-hover)}.workspace-data-card>button:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.workspace-data-card>button:disabled{color:var(--color-text-muted);background:var(--color-border);cursor:not-allowed}.workspace-detail{border-left:4px solid var(--color-primary);background:var(--color-background);margin-top:20px;padding:20px}.workspace-detail dl{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.workspace-detail dl div{border:1px solid var(--color-border);border-radius:8px;padding:12px}.workspace-detail dt{color:var(--color-text-muted)}.workspace-detail dd{margin:4px 0 0}.workspace-state{color:var(--color-text-muted);text-align:center;padding:24px}.workspace-state.is-error{color:var(--color-text);border:1px solid var(--color-primary);background:color-mix(in srgb, var(--color-primary) 12%, transparent)}@media (width<=1024px){.workspace-center-filter{grid-template-columns:1fr}.workspace-data-card{grid-template-columns:1fr 1fr}}@media (width<=768px){.workspace-center-filter{padding:20px}.workspace-panel{padding:16px}.workspace-data-card{grid-template-columns:1fr;min-height:44px}.workspace-detail dl{grid-template-columns:1fr}}@media (width<=480px){.workspace-center-filter{padding:18px}.workspace-panel{padding:12px}.workspace-data-card{padding:14px}}.workspace-pagination{justify-content:center;align-items:center;gap:14px;margin-top:20px;display:flex}.workspace-pagination span{color:var(--color-text-muted);font-size:.82rem}.workspace-pagination button{border:1px solid var(--color-border);min-width:72px;min-height:42px;color:var(--color-text);background:var(--color-surface-hover);cursor:pointer;border-radius:8px;padding:0 14px}.workspace-pagination button:hover:not(:disabled){border-color:var(--color-primary)}.workspace-pagination button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.workspace-pagination button:disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.55}@media (width<=768px){.workspace-pagination button{min-height:44px}}@media (width<=480px){.workspace-pagination{gap:10px}.workspace-pagination span{font-size:.75rem}}.error-page{isolation:isolate;width:100%;max-width:none;min-height:60vh;padding:56px var(--page-padding);color:var(--color-text);background-color:var(--color-background);justify-content:center;align-items:center;margin:0;display:flex;position:relative;overflow:hidden}.page-content>main.error-page{width:100%;max-width:none;padding:56px var(--page-padding);margin:0}.error-card{z-index:1;border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:28px;grid-template-columns:minmax(0,1fr) minmax(220px,300px);align-items:center;gap:48px;width:min(100%,920px);min-height:420px;padding:56px 64px;transition:color .2s,background-color .2s,border-color .2s;display:grid;position:relative;box-shadow:0 20px 60px #00000014}:root[data-theme=dark] .error-card{box-shadow:0 24px 70px #00000047}.error-card__content{min-width:0}.error-card__code{color:var(--color-primary);letter-spacing:-.06em;margin:0 0 14px;font-size:clamp(4.5rem,8vw,7rem);font-weight:900;line-height:.9}.error-card__title{color:var(--color-text);letter-spacing:-.035em;margin:0;font-size:clamp(1.65rem,3vw,2.25rem);font-weight:800;line-height:1.3}.error-card__description{color:var(--color-text-muted);margin:20px 0 32px;font-size:1rem;line-height:1.75}.error-card__button{color:#fff;background-color:var(--color-primary);border-radius:12px;justify-content:center;align-items:center;min-height:48px;padding:0 24px;font-size:.95rem;font-weight:700;text-decoration:none;transition:transform .18s,background-color .18s,box-shadow .18s;display:inline-flex}.error-card__button:hover{background-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 10px 24px #d7192038}.error-card__button:focus-visible{outline-offset:4px;outline:3px solid #d7192047}.error-card__mascot{justify-content:center;align-items:center;min-width:0;min-height:260px;display:flex}.error-card__mascot-frame{aspect-ratio:1;border-radius:50%;justify-content:center;align-items:center;width:min(330px,100%);display:flex;overflow:hidden}.error-card__mascot-image{object-fit:contain;width:100%;height:100%;display:block}@media (width<=1024px){.error-page{padding-top:48px;padding-bottom:48px}.error-card{grid-template-columns:minmax(0,1fr) minmax(180px,240px);gap:32px;padding:48px}.error-card__mascot{min-height:220px}.error-card__mascot-frame{width:min(285px,100%)}}@media (width<=768px){.error-page{align-items:flex-start;min-height:auto;padding-top:32px;padding-bottom:40px}.error-card{text-align:center;border-radius:22px;grid-template-columns:1fr;gap:28px;min-height:0;padding:40px 28px 32px}.error-card__code{font-size:clamp(4rem,18vw,5.5rem)}.error-card__description{margin:18px 0 28px}.error-card__desktop-break{display:none}.error-card__button{width:100%}.error-card__mascot{min-height:auto}.error-card__mascot-frame{width:min(160px,55vw)}}@media (width<=480px){.error-page{padding-top:24px;padding-bottom:32px}.error-card{border-radius:18px;gap:24px;padding:32px 20px 26px}.error-card__code{margin-bottom:12px;font-size:4rem}.error-card__title{font-size:1.4rem}.error-card__description{margin-top:16px;font-size:.9rem;line-height:1.7}.error-card__button{min-height:46px;padding:0 18px;font-size:.9rem}.error-card__mascot-frame{width:min(140px,50vw)}}.search-page{width:min(100% - 40px,1180px);margin:0 auto;padding:46px 0 72px}.search-page-header{border-bottom:1px solid var(--color-border);padding-bottom:24px}.search-page-header>span{color:var(--color-primary);letter-spacing:.12em;font-size:.72rem;font-weight:850}.search-page-header h1{color:var(--color-text);letter-spacing:-.04em;margin:8px 0 10px;font-size:2rem}.search-page-header p{color:var(--color-text-muted);margin:0;font-size:.86rem;line-height:1.6}.search-page-header p strong{color:var(--color-primary)}.search-result-section{margin-top:28px}.search-result-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.search-result-header h2{color:var(--color-text);margin:0;font-size:1rem}.search-result-header>strong{color:var(--color-primary);font-size:.78rem}.search-result-list{gap:12px;display:grid}.search-result-card{border:1px solid var(--color-border);min-width:0;color:inherit;background:var(--color-surface);border-radius:14px;justify-content:space-between;align-items:center;gap:24px;padding:20px 22px;text-decoration:none;transition:border-color .18s,transform .18s,box-shadow .18s;display:flex}.search-result-card:hover{border-color:color-mix(in srgb, var(--color-primary) 48%, var(--color-border));transform:translateY(-2px);box-shadow:0 8px 22px #0000000f}.search-result-card>div{min-width:0}.search-result-card span{color:var(--color-primary);letter-spacing:.08em;margin-bottom:4px;font-size:.66rem;font-weight:850;display:block}.search-result-card h3{color:var(--color-text);margin:0 0 6px;font-size:.95rem}.search-result-card p{color:var(--color-text-muted);margin:0;font-size:.78rem;line-height:1.55}.search-result-arrow{color:var(--color-primary);flex-shrink:0;font-size:1.3rem}.search-empty-state{border:1px solid var(--color-border);color:var(--color-text-muted);background:var(--color-surface);text-align:center;border-radius:14px;padding:54px 24px;font-size:.82rem}.search-empty-state strong{color:var(--color-text);margin-bottom:8px;font-size:.95rem;display:block}.search-empty-state p{margin:0;line-height:1.6}@media (width<=768px){.search-page{width:calc(100% - 32px);padding:34px 0 56px}.search-page-header h1{font-size:1.65rem}}@media (width<=480px){.search-page{width:calc(100% - 24px)}.search-result-card{gap:14px;padding:18px}.search-result-arrow{font-size:1.1rem}}
