:root{color:#111827;background:#edf1f5;font-family:Apple SD Gothic Neo,Noto Sans KR,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.eyebrow{margin:0 0 8px;color:#1a3a6b;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.public-page{min-height:100vh;display:flex;justify-content:center;padding:32px 16px 60px;background:radial-gradient(circle at top left,rgba(26,58,107,.08),transparent 24%),linear-gradient(180deg,#f4f5f7,#eef1f5)}.public-form-card,.join-form,.login-card,.panel,.detail-card,.list-pane,.detail-pane,.stat-card{background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(15,23,42,.08);box-shadow:0 20px 50px #0f172a14}.public-form-card{width:100%;max-width:560px;margin:0 auto;overflow:hidden;border-radius:24px;background:#fff;border:1px solid rgba(26,58,107,.1);box-shadow:0 2px 16px #1a3a6b14,0 0 0 .5px #1a3a6b1a}.public-form-header,.login-card{padding:32px 24px 28px;border-radius:0}.public-form-header{display:flex;flex-direction:column;align-items:center;gap:14px;background:#1a3a6b}.public-emblem{display:flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;background:#fff;border:3px solid #c8a96e}.public-emblem svg{width:52px;height:52px}.public-header-copy{text-align:center}.public-header-kicker{margin:0 0 6px;color:#ffffff8f;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.public-form-header h1,.login-card h1{margin:0 0 6px;font-size:20px}.public-form-header h1{color:#fff}.public-form-header p,.login-card p{margin:0;color:#ffffffa3;font-size:13px}.public-header-divider{width:32px;height:2px;margin:12px auto 0;border-radius:999px;background:#c8a96e}.join-form{display:flex;flex-direction:column;gap:18px;padding:28px 24px 32px;border:none;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:transparent}.public-notice{padding:12px 14px;border-left:3px solid #2e5299;border-radius:0 10px 10px 0;background:#eef2f9;color:#1a3a6b;font-size:12px;line-height:1.7}.form-section{display:flex;flex-direction:column;gap:14px;padding:0;border:none;border-radius:0;background:transparent}.section-title{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1.5px solid #eef2f9;color:#1a3a6b;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.section-title:before{content:"";display:inline-block;width:3px;height:12px;border-radius:2px;background:#c8a96e}.field{display:flex;flex-direction:column;gap:8px}.field-label{display:flex;align-items:center;gap:6px;color:#4b5563;font-size:12px;font-weight:500}.badge{padding:1px 5px;border-radius:4px;background:#f4f5f7;color:#9ca3af;font-size:9px;font-weight:700}.badge-required{background:#fef2f2;color:#dc2626}.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=password],.field input[type=date],.field input[type=file],.field input:not([type]){width:100%;min-height:42px;padding:0 13px;border:1px solid rgba(26,58,107,.12);border-radius:10px;background:#fafafa}.field-hint{color:#9ca3af;font-size:11px}.inline-action{display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto}.split-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.button-grid,.tag-grid{display:flex;flex-wrap:wrap;gap:8px}.choice-button,.tag-button,.secondary-button,.primary-button,.logout-button,.download-link{border:1px solid rgba(148,163,184,.3);transition:.12s ease}.choice-button,.tag-button{height:38px;padding:0 12px;border-radius:8px;background:#fafafa;color:#4b5563;font-size:12px;font-weight:500}.choice-button.active,.tag-button.active{border-color:#2e5299;background:#eef2f9;color:#1a3a6b;font-weight:600}.choice-button:hover,.tag-button:hover{border-color:#2e5299;color:#1a3a6b;background:#eef2f9}.static-tag{cursor:default}.primary-button,.secondary-button,.logout-button{min-height:46px;padding:0 16px;border-radius:16px;font-weight:700}.primary-button{color:#fff;background:#1a3a6b}.secondary-button{background:#fafafa;color:#1a3a6b}.selected-file,.feedback,.empty-state{padding:12px 14px;border-radius:16px}.bulk-bar,.action-row,.mini-row{display:flex;align-items:center;gap:10px}.bulk-bar,.mini-row{justify-content:space-between}.bulk-bar{margin:12px 0;padding:10px 12px;border-radius:16px;background:#f8fafc}.action-row{flex-wrap:wrap;margin-top:12px}.mini-row{padding:10px 0;border-bottom:1px solid rgba(148,163,184,.16)}.mini-row:last-child{border-bottom:none}.selected-file{background:#eef4fc;color:#0c447c;font-size:13px}.feedback.success{background:#ecfdf5;color:#166534}.feedback.error{background:#fef2f2;color:#b91c1c}.checkbox-card{display:grid;grid-template-columns:18px 1fr;gap:12px;padding:14px;border-radius:16px;background:#fff}.checkbox-card input{margin-top:4px}.checkbox-card p{margin:4px 0 0;color:#64748b;font-size:13px}.note-textarea{width:100%;min-height:90px;margin-top:10px;padding:12px 14px;border:1px solid #cbd5e1;border-radius:16px;background:#fff;resize:vertical}.login-card{display:flex;flex-direction:column;gap:16px;max-width:460px;margin:40px auto 0}.admin-shell{display:grid;min-height:100vh;grid-template-columns:250px minmax(0,1fr)}.sidebar{display:flex;flex-direction:column;gap:18px;padding:24px 16px;color:#fff;background:linear-gradient(180deg,#183b69,#11284a)}.sidebar-brand h2{margin:0;font-size:22px}.sidebar-eyebrow{color:#ffffffb3}.sidebar-caption{margin:0;color:#ffffff9e;font-size:13px}.nav-list{display:flex;flex-direction:column;gap:14px}.nav-section{display:flex;flex-direction:column;gap:6px}.nav-section-title{margin:0;padding:0 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#ffffff61}.nav-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:14px;color:#ffffffb8}.nav-item.disabled{cursor:default;color:#ffffff6b;background:#ffffff0a}.nav-item.disabled small{color:#fff6;font-size:11px}.nav-item.active{color:#fff;background:#ffffff1f}.nav-badge{padding:2px 8px;border-radius:999px;background:#e24b4a;color:#fff;font-size:10px;font-weight:700}.sidebar-footer{margin-top:auto;padding:14px;border-radius:14px;background:#ffffff14}.sidebar-footer strong{display:block;font-size:13px}.sidebar-footer p{margin:4px 0 0;font-size:12px;color:#fff9}.logout-button{color:#fff;background:transparent}.admin-main{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#fff;border-bottom:1px solid rgba(15,23,42,.08)}.topbar h1{margin:0}.topbar-caption,.muted{margin:4px 0 0;color:#64748b;font-size:13px}.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:#e6f1fb;color:#0c447c;font-size:12px;font-weight:700}.admin-pill-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.placeholder-page,.master-detail{padding:24px}.stats-grid{display:grid;gap:16px;margin-bottom:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:22px}.stat-card span{color:#64748b;font-size:13px}.stat-card strong{font-size:22px}.master-detail{display:grid;gap:16px;grid-template-columns:320px minmax(0,1fr)}.list-pane,.detail-pane,.detail-card{border-radius:24px}.list-pane{padding:18px}.pane-header,.detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.pane-actions{display:flex;align-items:center;gap:10px}.notice-inline,.panel-copy{margin:0;color:#64748b;font-size:13px;line-height:1.6}.notice-inline{margin-bottom:12px;padding:10px 12px;border-radius:14px;background:#eef4fc;color:#185fa5}.list-filters{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.list-filters input{width:100%;min-height:42px;padding:0 14px;border:1px solid #cbd5e1;border-radius:14px;background:#fff}.pane-header h3,.detail-card h2,.panel h3{margin:0}.admin-date-chip{display:flex;width:42px;flex-shrink:0;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 0;border-radius:12px;background:#f8fafc}.admin-date-chip strong{font-size:15px;line-height:1}.admin-date-chip span{font-size:10px;color:#64748b}.list-item{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:10px;padding:14px;border:1px solid rgba(203,213,225,.8);border-radius:18px;background:#fff;text-align:left}.list-item-row{gap:10px;padding:10px 12px}.list-item-button{width:100%;display:flex;align-items:center;justify-content:space-between;border:none;background:transparent;text-align:left;color:inherit}.list-item div{display:flex;flex-direction:column;gap:4px}.list-item span,.list-item small{color:#64748b}.list-item.active{border-color:#185fa5;background:#edf5fd}.detail-pane{min-height:420px;background:#ffffff5c}.detail-card{padding:22px}.detail-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid div,.detail-section{padding:14px;border-radius:18px;background:#f8fafc}.detail-grid span,.detail-section h4{display:block;margin-bottom:6px;color:#64748b;font-size:13px}.download-link{display:inline-flex;padding:10px 14px;border-radius:14px;background:#fff;color:#173a69}.empty-state{height:100%;display:grid;place-items:center;color:#64748b}.user-auth-page,.user-shell{min-height:100vh;display:flex;justify-content:center;padding:24px 16px 40px;background:#f0f1f3}.user-phone-frame{width:100%;max-width:375px;overflow:hidden;border:1px solid #d1d5db;border-radius:40px;background:#fff;box-shadow:0 4px 32px #1a3a6b1a}.user-status-bar{background:#1a3a6b}.status-bar{display:flex;justify-content:space-between;padding:11px 22px 9px}.status-bar span{color:#ffffffd9;font-size:12px;font-weight:500}.hero{display:flex;flex-direction:column;align-items:center;gap:14px;padding:44px 24px 36px;background:#1a3a6b}.emblem{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border:3px solid #c8a96e;border-radius:999px;background:#fff}.emblem svg{width:48px;height:48px}.hero-title{color:#fff;font-size:24px;font-weight:500;line-height:1.45;text-align:center}.hero-sub{color:#ffffff8c;font-size:15px;line-height:1.7;text-align:center}.login-body,.user-body{display:flex;flex-direction:column;gap:12px;padding:20px 14px 18px;background:#f4f5f7}.login-body{padding:28px 24px 32px}.user-login-card{gap:12px;padding:20px;border-radius:16px;background:#fff}.login-label,.sec-label{display:flex;align-items:center;gap:5px;color:#9ca3af;font-size:11px;font-weight:500;letter-spacing:.07em;text-transform:uppercase}.login-label{margin-bottom:2px;color:#6b7280;font-size:12px}.login-label:before,.sec-label:before{content:"";display:inline-block;width:2px;height:9px;border-radius:2px;background:#c8a96e}.field-input{height:44px;padding:0 14px;border:1px solid #d1d5db;border-radius:12px;background:#fafafa;color:#111827;font-size:16px}.field-label.plain{color:#4b5563;font-size:14px}.forgot{margin-top:-4px;color:#185fa5;font-size:13px;text-align:right}.btn-login{width:100%;height:50px;margin-top:4px;border:none;border-radius:16px;background:#1a3a6b;color:#fff;font-size:17px;font-weight:500}.btn-kakao{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:50px;border:none;border-radius:16px;background:#fee500;color:#3c1e1e;font-size:16px;font-weight:500}.btn-kakao:disabled{opacity:.7;cursor:not-allowed}.kakao-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:#3c1e1e}.kakao-icon svg{width:12px;height:12px;fill:#fee500}.divider-row{display:flex;align-items:center;gap:10px}.divider-line{flex:1;height:.5px;background:#0000001f}.divider-text{color:#9ca3af;font-size:12px}.join-row{color:#4b5563;font-size:15px;text-align:center}.join-link-button{padding:0;border:none;background:transparent;color:#185fa5;font-weight:500}.notice-box{padding:14px 16px;border:1px solid rgba(0,0,0,.08);border-radius:16px;background:#fff;color:#4b5563;font-size:14px;line-height:1.75;text-align:center}.notice-box strong{color:#111827}.user-top-bar{display:flex;align-items:center;justify-content:space-between;padding:17px 18px 16px;background:#1a3a6b}.top-bar-title{color:#fff;font-size:20px;font-weight:500}.top-bar-sub{margin-top:2px;color:#ffffff80;font-size:13px}.top-bar-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1.5px solid rgba(255,255,255,.3);border-radius:999px;background:#ffffff26;color:#fff;font-size:13px;font-weight:500}.card{padding:12px 14px;border:.5px solid rgba(0,0,0,.08);border-radius:12px;background:#fff}.profile-mini-button,.quick-item,.nav-item{border:none;text-align:left}.profile-mini-button{width:100%}.profile-mini{display:flex;align-items:center;gap:11px}.user-avatar{width:44px;height:44px;font-size:15px}.av{display:flex;align-items:center;justify-content:center;border-radius:999px;font-weight:500;flex-shrink:0}.av-blue{background:#e6f1fb;color:#0c447c}.profile-copy{flex:1}.profile-name{color:#111827;font-size:18px;font-weight:500}.profile-sub{margin-top:2px;color:#6b7280;font-size:13px;line-height:1.5}.profile-arrow svg{width:14px;height:14px;fill:none;stroke:#9ca3af;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-item{padding:12px;border-radius:10px;background:#f4f5f7;border:.5px solid rgba(0,0,0,.07)}.quick-item.disabled{opacity:.5;cursor:not-allowed}.qi-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-bottom:7px;border-radius:8px}.qi-icon svg,.nav-item svg{fill:none;stroke-linecap:round;stroke-linejoin:round}.qi-icon svg{width:15px;height:15px;stroke-width:1.8}.icon-blue{background:#e6f1fb}.icon-blue svg{stroke:#185fa5}.icon-teal{background:#e1f5ee}.icon-teal svg{stroke:#0f6e56}.icon-purple{background:#eeedfe}.icon-purple svg{stroke:#534ab7}.icon-amber{background:#faeeda}.icon-amber svg{stroke:#854f0b}.qi-name{color:#111827;font-size:15px;font-weight:500}.qi-sub{margin-top:2px;color:#6b7280;font-size:13px;line-height:1.5}.coming-tag{display:inline-block;margin-top:4px;padding:2px 6px;border-radius:4px;background:#0000000f;color:#9ca3af;font-size:10px;font-weight:500}.krow{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:.5px solid rgba(0,0,0,.07)}.krow:last-of-type{border-bottom:none}.kdate{width:30px;flex-shrink:0;text-align:center}.kday{color:#111827;font-size:18px;font-weight:500;line-height:1}.kdow{margin-top:1px;color:#9ca3af;font-size:10px}.kdiv{width:1px;height:24px;flex-shrink:0;background:#00000017}.kinfo{flex:1}.kname{color:#111827;font-size:15px;font-weight:500}.kdesc{margin-top:1px;color:#6b7280;font-size:13px;line-height:1.5}.kbadge{flex-shrink:0;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:500}.kb-bday{background:#eaf3de;color:#27500a}.kb-wed{background:#e6f1fb;color:#0c447c}.kb-baby{background:#eeedfe;color:#3c3489}.kb-obituary{background:#fcebeb;color:#791f1f}.kb-hospitalization{background:#faeeda;color:#633806}.more-btn{width:100%;padding:7px 0 2px;border:none;background:transparent;color:#185fa5;font-size:14px;text-align:center}.bottom-nav{display:flex;padding:8px 0 18px;border-top:.5px solid rgba(0,0,0,.08);background:#fff}.nav-item{display:flex;flex:1;flex-direction:column;align-items:center;gap:3px;padding:4px 0;background:transparent}.nav-item svg{width:21px;height:21px;stroke:#9ca3af;stroke-width:1.6}.nav-item span{color:#9ca3af;font-size:12px}.nav-item.active svg{stroke:#1a3a6b}.nav-item.active span{color:#1a3a6b;font-weight:500}.nav-item.dim{opacity:.35}.nav-wrap{position:relative;display:inline-flex}.nav-badge{position:absolute;top:-2px;right:-6px;display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:999px;background:#e24b4a;color:#fff;font-size:8px;font-weight:700}.stub-card,.skeleton-card{min-height:164px}.user-page-heading h2{margin:8px 0 6px;color:#111827;font-size:26px;line-height:1.2}.user-page-heading p{margin:0;color:#6b7280;font-size:15px;line-height:1.75}.stub-title{margin:8px 0 6px;color:#111827;font-size:22px}.stub-copy,.empty-card-copy{color:#6b7280;font-size:15px;line-height:1.75}.skeleton-line{height:14px;margin-bottom:10px;border-radius:999px;background:linear-gradient(90deg,#edf2f7,#f8fafc,#edf2f7)}.skeleton-line:last-child{width:70%;margin-bottom:0}.info-surface{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc)}.info-surface-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.info-surface-head strong{color:#111827;font-size:17px}.info-surface-head span{padding:4px 10px;border-radius:999px;background:#e6f1fb;color:#0c447c;font-size:11px;font-weight:700}.step-strip{display:flex;flex-wrap:wrap;gap:8px}.step-chip{padding:7px 12px;border-radius:999px;background:#f3f4f6;color:#6b7280;font-size:12px;font-weight:600}.step-chip.done{background:#e6f1fb;color:#0c447c}.step-chip.active{background:#faeeda;color:#7b4f12}.info-copy{margin:0;color:#6b7280;font-size:14px;line-height:1.75}.condolence-apply-grid,.news-list{display:flex;flex-direction:column;gap:10px}.condolence-apply-card,.news-list-item{width:100%;border:none;text-align:left}.condolence-apply-card{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:16px;background:#fff;border:.5px solid rgba(0,0,0,.08)}.condolence-apply-card.selected{border-color:#2e5299;background:#eef2f9;box-shadow:inset 0 0 0 1px #2e52991f}.condolence-apply-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:12px}.condolence-apply-icon svg{width:18px;height:18px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.condolence-apply-card.accent-blue .condolence-apply-icon{background:#e6f1fb}.condolence-apply-card.accent-blue .condolence-apply-icon svg{stroke:#185fa5}.condolence-apply-card.accent-wine .condolence-apply-icon{background:#fcebeb}.condolence-apply-card.accent-wine .condolence-apply-icon svg{stroke:#9b2c2c}.condolence-apply-card.accent-purple .condolence-apply-icon{background:#eeedfe}.condolence-apply-card.accent-purple .condolence-apply-icon svg{stroke:#534ab7}.condolence-apply-copy{flex:1}.condolence-apply-copy strong{display:block;color:#111827;font-size:16px}.condolence-apply-copy span{display:block;margin-top:2px;color:#185fa5;font-size:12px;font-weight:600}.condolence-apply-copy p{margin:8px 0 0;color:#6b7280;font-size:14px;line-height:1.7}.condolence-apply-card small{padding:4px 8px;border-radius:999px;background:#0000000f;color:#9ca3af;font-size:11px;font-weight:700}.condolence-submit-card{display:flex;flex-direction:column;gap:14px;padding:16px}.condolence-form-grid{display:grid;gap:12px}.condolence-textarea{min-height:132px;margin-top:0}.inline-note{color:#6b7280;font-size:14px;line-height:1.7}.news-hero-card{display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:18px;background:linear-gradient(180deg,#1a3a6b,#24497f)}.news-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.news-hero-top strong{display:block;color:#fff;font-size:17px}.news-hero-top p{margin:6px 0 0;color:#ffffffa6;font-size:14px;line-height:1.7}.news-hero-count{display:flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 10px;border-radius:14px;background:#ffffff1f;color:#fff;font-size:22px;font-weight:700}.news-filter-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.news-filter{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;background:#ffffff1a;color:#ffffffb3;font-size:12px;font-weight:600;white-space:nowrap}.news-filter.active{background:#fff;color:#1a3a6b}.news-list-item{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:16px;background:#fff;border:.5px solid rgba(0,0,0,.08)}.news-item-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.news-type-pill,.news-fresh-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700}.news-type-pill.type-notice{background:#e6f1fb;color:#0c447c}.news-type-pill.type-condolence{background:#e1f5ee;color:#0f6e56}.news-type-pill.type-update{background:#eeedfe;color:#534ab7}.news-fresh-badge{background:#fcebeb;color:#b42318}.news-item-date{margin-left:auto;color:#9ca3af;font-size:12px}.news-list-item strong{color:#111827;font-size:16px;line-height:1.45}.news-list-item p{margin:0;color:#6b7280;font-size:14px;line-height:1.75}.panel-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.info-list{display:flex;flex-direction:column;gap:8px}.panel-actions{display:flex;gap:8px;margin-top:14px}.admin-three-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.admin-shell,.master-detail,.stats-grid,.dashboard-grid,.split-grid,.inline-action{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column;gap:10px}.public-form-header,.join-form{padding-left:18px;padding-right:18px}}
