@import "https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&family=Nanum+Myeongjo:wght@400;700&display=swap";
:root{--main-brown:#5d4037;--medium-brown:#8d6e63;--light-brown:#bcaaa4;--very-light-brown:#f5f1e8;--brown-accent:#6d4c41;--brown-text:#3e2723;--brown-border:#a1887f;--beige-light:#f8f4ea;--gold-accent:#b8860b;--light-text:#f8f4ea;--primary-brown:#8d6e63;--dark-brown:#333;--text-brown:#222;--accent-brown:#a1887f;--bg-brown:#efebe9;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 2px 8px #0000001f;--shadow-lg:0 4px 15px #00000026;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--input-font-size:var(--text-base);--container-max:500px;--container-tablet:680px}*{box-sizing:border-box;margin:0;padding:0;font-family:Noto Sans KR,sans-serif}body,.container,.write-main,.page-main,.search-page-main,.main-content,.manage-container,.info-container,.form-description,.modal-content,p,span,div,input,select,textarea,button,.manage-container .info-value,.manage-container .info-label,.write-main .info-row .info-value,.write-main .info-row .info-label,.option-text,.option-button,.form-group label,.bereaved-entry select,.bereaved-entry input,.form-control,.info-section .info-title,.modal-content h2,.modal-title,.template-modal h2,.edit-modal-title,.edit-modal-content{font-family:Noto Sans KR,sans-serif;font-weight:500}.deceased-name,#bereavedList .label,#bereavedList .value,#additional-info,.account-label,.account-value,.deceased-name-large,.section-title,.section-subtitle,body[data-template="3"] .obituary-header,body[data-template="5"] .obituary-header,.obituary-table .deceased-name{font-family:Nanum Myeongjo,serif}.manage-title,.manage-container .info-title{font-family:Nanum Myeongjo,serif;font-weight:700}body{background-color:var(--very-light-brown);color:var(--brown-text);min-height:100vh;margin:0;padding:70px 0 80px;font-family:Noto Sans KR,sans-serif;font-weight:500;line-height:1.8}a{color:#1e3a8a;text-decoration:none;transition:color .2s}a:hover{color:#2563eb}button{cursor:pointer;border:none;transition:all .2s}.header{z-index:1000;box-sizing:border-box;background-color:#fff;border-radius:0 0 10px 10px;justify-content:space-between;align-items:center;width:100%;height:60px;padding:0;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 5px #0000001a}.header-container{justify-content:space-between;align-items:center;width:100%;max-width:500px;height:60px;margin:0 auto;padding:0 15px;display:flex;position:relative}.logo{color:var(--brown-text);cursor:pointer;font-size:20px;font-weight:800;position:absolute;left:50%;transform:translate(-50%)}.nav-button{color:#333;cursor:pointer;z-index:5;background:0 0;border:none;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:16px;font-weight:500;display:flex;position:relative}.back-button{position:absolute;left:15px}.menu-button{position:absolute;right:15px}.toggle-button{color:#000;cursor:pointer;background-color:#f0f0f0;border:none;border-radius:8px;padding:10px 18px;font-size:15px;font-weight:500;transition:all .2s;position:absolute;right:15px;box-shadow:0 1px 3px #0000001a}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary-brown,#5d4037);outline-offset:2px}.account-item:focus-within,#account-modal select:focus,#account-modal input:focus,select:focus,textarea:focus{outline:none}@media screen and (max-width:500px){.header-container{width:100%;max-width:100%}.logo{font-size:20px}.toggle-button{padding:8px 15px;font-size:14px}.back-button{left:10px}.menu-button{right:10px}}@media screen and (max-width:360px){.header-container{padding:0 10px}.nav-button{width:40px;height:40px;font-size:14px}.logo{font-size:18px}}.sidebar{visibility:hidden;z-index:200;box-sizing:border-box;background-color:#fff;border-radius:12px 0 0 12px;width:280px;height:calc(100% - 60px);padding:60px 15px 25px;transition:right .3s,visibility 0s linear .3s;position:fixed;top:60px;right:-300px;overflow-y:auto;box-shadow:-2px 0 5px #00000026}.sidebar.active{visibility:visible;transition:right .3s,visibility;right:0}.close-btn{cursor:pointer;color:var(--brown-text);text-align:center;z-index:10;background-color:#f0e6d9;border-radius:50%;width:44px;height:44px;font-size:26px;line-height:40px;position:absolute;top:15px;right:15px}.close-btn:hover{background-color:#e5d6c1}.sidebar a{margin-top:15px;margin-bottom:15px}.sidebar .logo{display:none}.sidebar a{color:var(--brown-text);text-align:center;background-color:#f8f4ea;border-radius:10px;margin:12px 0;padding:15px 20px;font-size:16px;font-weight:500;text-decoration:none;transition:all .3s;display:block;box-shadow:0 1px 3px #0000000d}.sidebar a:hover{color:var(--brown-text);background-color:#f0e6d9;transform:translateY(-2px);box-shadow:0 3px 8px #0000001f}.sidebar a.active{border-left:3px solid var(--main-brown);background-color:#e5d6c1;padding-left:17px;font-weight:700}.menu-icon{margin-right:12px;font-size:18px;display:inline-block}.container,.write-main,.page-main,.search-page-main,.main-content{box-sizing:border-box;background:#fff;border:1px solid #e0e0e0;border-radius:15px;width:100%;max-width:500px;margin:0 auto 40px;padding:30px;box-shadow:0 4px 15px #0000001a}.main-content{padding:20px}.site-footer{text-align:center;color:var(--brown-text);background-color:#fff;border-top:1px solid #e5d6c1;border-radius:10px 10px 0 0;max-width:500px;margin-top:40px;margin-left:auto;margin-right:auto;padding:25px;box-shadow:0 -2px 10px #0000000d}.site-footer p{margin:8px 0;font-size:14px}.site-footer a{color:var(--medium-brown);padding:5px;font-weight:500;text-decoration:none;transition:color .2s}.site-footer a:hover{color:#000;text-decoration:underline}.modal{z-index:1050;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000b3;width:100%;height:100%;display:none;position:fixed;top:0;left:0;overflow:auto}.modal-close{color:#666;cursor:pointer;background:#f0f0f0;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:28px;font-weight:700;transition:all .2s;display:flex;position:absolute;top:15px;right:20px;box-shadow:0 1px 3px #0000001a}.modal-close:hover{color:#333;background:#e0e0e0;transform:scale(1.1)}.modal-header{border-bottom:1px solid #eee;padding:20px 25px;position:relative}.modal-title{color:#333;margin:0;padding-right:40px;font-size:20px}input,select,textarea{width:100%;font-family:Noto Sans KR,sans-serif;font-size:var(--input-font-size);border:1px solid #e0e0e0;border-radius:5px;margin-bottom:15px;padding:12px;font-weight:500}textarea{resize:vertical;min-height:80px}.btn{color:var(--beige-light);background-color:var(--main-brown);text-align:center;cursor:pointer;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:background-color .2s;display:inline-block}.btn:hover{background-color:var(--brown-accent)}.btn-secondary{color:var(--brown-text);border:1px solid var(--brown-border);background-color:#f0e6d9}.btn-secondary:hover{background-color:#e5d6c1}.fixed-buttons{z-index:1000;width:100%;max-width:480px;height:60px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -2px 10px #0000001a}.fixed-button{color:#fff;text-align:center;cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;height:100%;padding:0;font-size:15px;font-weight:600;transition:all .2s;display:flex}.fixed-button.send{background-color:var(--main-brown)}.fixed-button.send:hover{background-color:var(--brown-accent)}.fixed-button.flowers{color:#333;background-color:#fff;border:1px solid #d1d5db}.fixed-button.flowers:hover{color:#1a202c;background-color:#f3f4f6}.container-button{color:#333;text-align:center;background-color:#fff;border:1px solid #eaeaea;border-radius:14px;justify-content:center;align-items:center;height:160px;padding:0;text-decoration:none;transition:all .3s;display:flex;box-shadow:0 4px 16px #0000001a}.container-button:hover{color:#333;background-color:#f5f5f5;transform:translateY(-4px);box-shadow:0 12px 28px #00000026}.main-buttons{justify-content:center;align-items:center;gap:20px;padding:10px 0;display:flex}.section-container{background-color:#fff;border:1px solid #e5d6c1;border-radius:16px;margin-bottom:24px;padding:30px;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 16px #00000014}.section-container:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001f}:root{--template-1-color:#5271c2;--template-2-color:#3a4d7c;--template-3-color:#4f4f4f;--template-4-color:#555;--template-5-color:#435069}body[data-template="1"] .obituary-header{background:linear-gradient(135deg, var(--template-1-color) 0%, #8caae6 100%);color:#fff}body[data-template="2"] .obituary-header{background:linear-gradient(135deg, var(--template-2-color) 0%, #6e84b5 100%);color:#fff}body[data-template="3"] .obituary-header{border-bottom:2px solid var(--template-3-color);color:var(--template-3-color);font-family:Nanum Myeongjo,serif}body[data-template="4"] .obituary-header{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px}body[data-template="5"] .obituary-header{background-color:var(--template-5-color);color:#fff;font-family:Nanum Myeongjo,serif}.obituary-header{text-align:center;border-radius:12px;margin-bottom:20px;padding:25px 20px;transition:all .3s}.obituary-header h1{margin-bottom:15px;font-size:22px}.obituary-content{background:#fff;border-radius:12px;margin-bottom:20px;padding:20px;box-shadow:0 2px 10px #0000000d}.toast{color:#fff;z-index:2000;opacity:1;background-color:#333;border-radius:8px;padding:12px 24px;font-size:14px;transition:opacity .3s;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}.toast.hide{opacity:0}.loading-overlay{z-index:9999;background-color:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.loading-spinner{border:5px solid #f3f3f3;border-top:5px solid var(--main-brown);border-radius:50%;width:50px;height:50px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{color:#f33;margin-top:-10px;margin-bottom:10px;font-size:12px}.invalid{background-color:#ff33330d!important;border-color:#f33!important}.section-title{color:var(--main-brown);text-align:center;letter-spacing:-.5px;margin-bottom:20px;font-family:Nanum Myeongjo,serif;font-size:24px;font-weight:700}.section-title:after{content:"";background-color:var(--main-brown);width:50px;height:2px;margin:10px auto 0;display:block}.intro-text{color:#555;margin-bottom:0;font-size:16px;line-height:1.7}.benefits-list{margin:20px 0 0;padding:0;list-style:none}.benefits-list li{margin-bottom:16px;padding-left:28px;font-size:16px;position:relative}.benefits-list li:last-child{margin-bottom:0}.benefits-list li:before{content:"✓";color:#555;font-weight:700;position:absolute;left:0}.benefits-list strong{color:#333;font-weight:700}.obituary-image{border-radius:12px;width:100%;margin-bottom:20px;box-shadow:0 3px 10px #0000001a}.header-button{color:var(--brown-text);cursor:pointer;box-sizing:border-box;background-color:#f0e6d9;border:none;border-radius:8px;height:37px;padding:10px 18px;font-size:15px;font-weight:500;line-height:17px;text-decoration:none;transition:all .2s;box-shadow:0 1px 3px #0000001a}.header-button:hover{background-color:#e5d6c1;transform:translateY(-2px);box-shadow:0 2px 5px #00000026}.fixed-header{z-index:1000;box-sizing:border-box;background-color:#fff;border-radius:0;width:500px;height:70px;padding:15px;position:fixed;top:0;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #0000001a}@media screen and (max-width:500px){.container,.write-main,.page-main,.search-page-main,.main-content{border-left:none;border-right:none;border-radius:0;width:100%;margin:0 0 80px;padding:20px;box-shadow:0 2px 8px #00000014}.header-container{width:100%;max-width:100%;padding:0 15px}.fixed-buttons,.fixed-bottom-buttons{width:100%;max-width:100%;padding:10px 15px}.sidebar{width:100%;max-width:280px}.container-button{height:140px}.sample-button{font-size:28px!important}.container-button span{font-size:24px!important}}@media screen and (max-width:360px){.container,.write-main,.page-main,.search-page-main,.main-content{padding:15px}.section-title{font-size:20px}.intro-text{font-size:14px}.container-button{height:120px}.sample-button{font-size:24px!important}.container-button span{font-size:20px!important}}.form-description{text-align:center;color:#666;margin-bottom:25px;font-size:16px;line-height:1.6}.warning-message{color:#555;text-align:center;background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:20px;padding:15px;font-size:15px}.share-modal{z-index:200;background-color:#000000b3;width:100%;transition:transform .3s ease-out;display:none;position:fixed;bottom:0;left:0;transform:translateY(100%)}.share-modal.active{transform:translateY(0)}.share-modal-content{background-color:#fff;border-radius:20px 20px 0 0;padding:30px;position:relative}.share-modal-title{text-align:center;color:#333;margin-bottom:20px;font-size:18px;font-weight:600}.share-options{justify-content:center;gap:30px;margin-bottom:20px;display:flex}.share-option{cursor:pointer;flex-direction:column;align-items:center;gap:10px;display:flex}.share-icon{background-color:#f0f0f0;border-radius:10px;justify-content:center;align-items:center;width:50px;height:50px;transition:background-color .2s;display:flex}.share-icon:hover{background-color:#e0e0e0}.modal-close{color:#888;cursor:pointer;font-size:24px;position:absolute;top:10px;right:15px}.modal-overlay{z-index:199;background-color:#00000080;display:none;position:fixed;inset:0}.edit-modal{z-index:1050;background-color:#00000080;width:100%;height:100%;display:none;position:fixed;top:0;left:0;overflow:auto}.edit-modal-content{background-color:#fff;border-radius:15px;width:90%;max-width:400px;margin:15% auto;padding:30px;position:relative}.edit-modal-title{text-align:center;color:#333;margin-bottom:20px;font-size:18px}.edit-modal-input{border:1px solid #ddd;border-radius:8px;width:100%;margin-bottom:15px;padding:12px;font-size:16px}.edit-modal-buttons{justify-content:center;gap:10px;display:flex}.edit-modal-button{cursor:pointer;border:none;border-radius:8px;flex:1;padding:10px 20px;font-size:15px;font-weight:500}.edit-modal-button.primary{background-color:var(--main-brown);color:#fff}.edit-modal-button.cancel{color:#333;background-color:#f0f0f0}.table-common{border-collapse:collapse;border-radius:8px;width:100%;margin-top:20px;overflow:hidden;box-shadow:0 2px 10px #0000000d}.table-common th{text-align:center;color:var(--brown-text);background-color:#e5d6c1;border-bottom:2px solid #e0e0e0;padding:15px;font-weight:600}.table-common td{text-align:center;color:#444;border-bottom:1px solid #e0e0e0;padding:15px}.table-common tr:hover{background-color:#f9fafb}.obituary-table{border-collapse:collapse;border-radius:8px;width:100%;margin-top:20px;overflow:hidden;box-shadow:0 2px 10px #0000000d}.obituary-table th{text-align:center;color:var(--brown-text);background-color:#e5d6c1;border-bottom:2px solid #e0e0e0;padding:15px;font-weight:600}.obituary-table td{text-align:center;color:#444;border-bottom:1px solid #e0e0e0;padding:15px}.obituary-table tr:hover{background-color:#f9fafb}.obituary-table .deceased-name{color:var(--brown-text);cursor:pointer;font-family:Nanum Myeongjo,serif;font-weight:600}.search-form{flex-direction:column;gap:10px;width:100%;margin-bottom:30px;display:flex}.search-input-container{gap:10px;width:100%;display:flex}.search-form select{width:120px;min-width:120px;height:44px;font-size:var(--input-font-size);background-color:#f8f8f8;border:1px solid #ddd;border-radius:8px;flex-shrink:0;padding:10px}.search-form input[type=text]{min-width:0;height:44px;font-size:var(--input-font-size);border:1px solid #ddd;border-radius:8px;flex:1;padding:10px 15px}.search-form button{color:#fff;cursor:pointer;background-color:#555;border:none;border-radius:8px;width:100%;height:44px;margin-top:5px;font-size:15px}.fixed-bottom-buttons{z-index:1000;box-sizing:border-box;background-color:#fff;width:500px;padding:15px;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -2px 10px #0000001a}.bottom-button{cursor:pointer;text-align:center;background-color:var(--main-brown);color:var(--beige-light);border:none;border-radius:8px;flex:1;padding:12px 20px;font-family:Noto Sans KR,sans-serif;font-size:15px;font-weight:700;transition:all .2s}.bottom-button:hover{background-color:var(--brown-accent)}.share-button{color:#fff;background-color:#777}.share-button:hover{background-color:#999}.edit-button{color:#333;background-color:#f0f0f0}.edit-button:hover{background-color:#e0e0e0}.info-section{margin-bottom:30px}.info-title{color:#444;text-align:center;margin-bottom:15px;font-size:18px;font-weight:600}.info-row{margin-bottom:10px;font-size:15px;display:flex}.info-label{text-align:right;width:90px;color:var(--medium-brown);margin-right:20px;font-weight:700}.info-value{color:var(--brown-text);flex:1;font-weight:600}.divider{background-color:#e5d6c1;height:1px;margin:35px auto}.no-data{text-align:center;color:#555;padding:40px;font-size:18px}.additional-info{color:var(--brown-text);white-space:pre-line;background-color:#f8f8f8;border-radius:10px;margin-bottom:30px;padding:20px;font-family:Nanum Myeongjo,serif;font-size:15px;line-height:1.8}.pagination{justify-content:center;gap:10px;margin-top:40px;display:flex}.pagination a{color:#444;border:1px solid #e0e0e0;border-radius:8px;padding:10px 15px;text-decoration:none;transition:all .3s;display:inline-block}.pagination a:hover,.pagination a.active{background-color:var(--main-brown);color:#fff;border-color:var(--main-brown)}@media (max-width:768px){.search-page-main,.preview-container,.page-main{width:95%;padding:25px}.search-input-container{gap:8px}.search-form select{width:100px;min-width:100px;font-size:var(--input-font-size)}.search-form input[type=text]{font-size:var(--input-font-size)}.search-form button{font-size:14px}.info-row{flex-direction:column}.info-label{text-align:left;width:100%;margin-bottom:5px;margin-right:0}.bottom-buttons{width:100%;max-width:none;padding:10px}.bottom-button{padding:10px 0;font-size:14px}}@media (max-width:480px){.search-form select{width:90px;min-width:90px;font-size:var(--input-font-size);padding:8px}.search-form input[type=text]{font-size:var(--input-font-size);padding:8px 12px}.search-form button{font-size:13px}}.portrait-container{text-align:center;margin:30px 0}.portrait{object-fit:cover;border-radius:10px;width:200px;height:200px;box-shadow:0 5px 15px #0000001a}.template-image-container{text-align:center;margin-bottom:30px}.template-image{border-radius:10px;max-width:100%;height:auto;box-shadow:0 5px 15px #0000001a}.obituary-message{white-space:pre-line;text-align:center;color:var(--brown-text);margin-bottom:30px;font-size:16px;font-weight:700;line-height:1.8}.deceased-info{grid-template-columns:60px 1fr 60px 1fr;align-items:start;gap:10px;display:grid}#death-expression,#gender{width:60px}#deceased-name,#title{width:100%}@media (max-width:768px){.deceased-info{grid-template-columns:60px 1fr 60px 1fr}#death-expression,#gender{width:60px}}.account-section{background:#f8f4ea;border:1px solid #e5d6c1;border-radius:12px;margin:30px 0;padding:25px;box-shadow:0 2px 8px #00000014}.account-container{margin-top:20px}.add-account-btn{cursor:pointer;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;width:100%;margin:15px 0;padding:15px;font-size:15px;font-weight:500;transition:all .2s}.add-account-btn:hover{background-color:#e9ecef;transform:translateY(-1px)}.add-account-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.account-item{background-color:#fff;border:1px solid #dee2e6;border-radius:8px;margin:10px 0;padding:20px;transition:all .3s;position:relative;box-shadow:0 1px 3px #0000000d}.account-item.filled-field{border-color:var(--medium-brown);background-color:#faf5ee}.account-item:hover,.account-item:focus-within{border-color:var(--main-brown);background-color:#f7f0e5;box-shadow:0 0 0 2px #5d403733}.account-item:focus-within{border-color:var(--main-brown);background-color:#f7f0e5;outline:none;box-shadow:0 0 0 2px #5d403733}.account-item-content{padding-right:35px}.account-item-name{text-align:center;color:#495057;margin-bottom:12px;font-size:18px;font-weight:600}.account-detail{justify-content:center;align-items:center;display:flex}.account-info-wrapper{justify-content:center;align-items:center;gap:15px;display:flex}.account-bank{color:#495057;font-size:18px;font-weight:500}.account-number{color:#212529;cursor:pointer;font-size:20px;font-weight:600}.account-delete-btn{color:#fff;cursor:pointer;z-index:10;background-color:#dc3545;border:none;border-radius:50%;width:44px;height:44px;padding:0;font-size:20px;line-height:1;transition:background-color .2s;position:absolute;top:8px;right:8px}.account-delete-btn:hover{background-color:#c82333}#account-modal .modal-content{max-width:400px;margin:10% auto}#account-modal .modal-header{border-bottom:1px solid #dee2e6;padding:20px}#account-modal .modal-header h3{color:#333;margin:0;font-size:18px;font-weight:600}#account-modal .modal-body{padding:20px}#account-modal .input-row{margin-bottom:20px}#account-modal .input-group{margin-bottom:15px}#account-modal label{color:#495057;margin-bottom:8px;font-size:14px;display:block}#account-modal select,#account-modal input{width:100%;font-size:var(--input-font-size);border:1px solid #ced4da;border-radius:6px;padding:10px;transition:border-color .2s}#account-modal select:focus,#account-modal input:focus{border-color:var(--brown-border);outline:none;box-shadow:0 0 0 2px #5d403733}.save-account-btn{background-color:var(--main-brown);width:100%;color:var(--beige-light);cursor:pointer;border:none;border-radius:6px;padding:12px;font-size:15px;font-weight:500;transition:background-color .2s}.save-account-btn:hover{background-color:var(--brown-accent)}@media (max-width:768px){.account-section{margin:20px 0;padding:20px}.account-info-wrapper{gap:10px}.account-bank{font-size:16px}.account-number{font-size:18px}#account-modal .modal-content{margin:15% 20px}}@media (max-width:480px){.account-section,.account-item{padding:15px}.account-bank,.account-number{font-size:15px}}#bereavedList .label{color:var(--medium-brown);font-family:Nanum Myeongjo,serif;font-weight:700}#bereavedList .value{color:var(--brown-text);font-family:Nanum Myeongjo,serif;font-weight:600}#additional-info{color:var(--brown-text);font-family:Nanum Myeongjo,serif;line-height:1.8;font-size:var(--input-font-size)}.deceased-name{color:var(--brown-text);font-family:Nanum Myeongjo,serif;font-weight:800}.info-row .label{color:var(--medium-brown);font-weight:700}.info-row .value{color:var(--brown-text);font-weight:600}.accordion-header{background-color:#f0e6d9;border-color:#e5d6c1}.accordion-header:hover{background-color:#e5d6c1}.accordion-header.active{background-color:var(--main-brown);color:var(--beige-light)}.table-common th,.obituary-table th{color:var(--brown-text);background-color:#e5d6c1}.loading-spinner{border-top-color:var(--main-brown)}.account-label{color:var(--medium-brown);font-family:Nanum Myeongjo,serif;font-weight:700}.account-value{color:var(--brown-text);font-family:Nanum Myeongjo,serif;font-weight:600}.deceased-name-large{color:var(--brown-text);font-family:Nanum Myeongjo,serif;font-weight:800}#mortuary,#funeralHome,#departureDate,#coffinDate{color:var(--brown-text);font-family:Nanum Myeongjo,serif}.deceased-title-inline{color:var(--medium-brown);font-family:Nanum Myeongjo,serif}.message-options{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.message-option{cursor:pointer;color:var(--brown-text);background-color:#f8f4ea;border:1px solid #e5d6c1;border-radius:8px;padding:12px 15px;font-size:14px;transition:all .3s}.message-option:hover{border-color:var(--medium-brown);background-color:#f0e6d9}.message-option.selected{border:2px solid var(--main-brown);background-color:#faf5ee;font-weight:600;box-shadow:0 0 0 2px #5d40371a}.submit-button{background-color:var(--main-brown);color:var(--beige-light);cursor:pointer;text-align:center;border:none;border-radius:8px;padding:15px 25px;font-size:16px;font-weight:700;transition:all .3s;box-shadow:0 2px 5px #0000001a}.submit-button:hover{background-color:var(--brown-accent);transform:translateY(-2px);box-shadow:0 4px 8px #00000026}select{color:var(--brown-text);background-color:#f8f4ea;border:1px solid #e5d6c1}select:focus{border-color:var(--medium-brown);outline:none;box-shadow:0 0 0 2px #5d40371a}textarea{color:var(--brown-text);background-color:#f8f4ea;border:1px solid #e5d6c1;font-family:Noto Sans KR,sans-serif}textarea:focus{border-color:var(--medium-brown);outline:none;box-shadow:0 0 0 2px #5d40371a}.section-subtitle{color:var(--main-brown);margin-bottom:15px;font-family:Nanum Myeongjo,serif;font-size:18px;font-weight:600}.fixed-bottom-container{z-index:100;background-color:#fff;justify-content:center;padding:15px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #0000001a}.progress-indicator{justify-content:center;margin-bottom:30px;display:flex}.progress-step{width:40px;height:40px;color:var(--brown-text);background-color:#f0e6d9;border-radius:50%;justify-content:center;align-items:center;margin:0 10px;font-weight:600;display:flex;position:relative}.progress-step.active{background-color:var(--main-brown);color:var(--beige-light)}.progress-step.completed{background-color:var(--medium-brown);color:var(--beige-light)}.progress-step:not(:last-child):after{content:"";background-color:#e5d6c1;width:20px;height:2px;position:absolute;top:50%;right:-15px;transform:translateY(-50%)}.progress-step.completed:not(:last-child):after{background-color:var(--medium-brown)}.msg-btn{cursor:pointer;color:var(--brown-text);background-color:#f8f4ea;border:1px solid #e5d6c1;border-radius:8px;padding:12px 15px;font-size:14px;transition:all .3s}.msg-btn:hover{border-color:var(--medium-brown);background-color:#f0e6d9}.msg-btn.active{border:2px solid var(--main-brown);background-color:#faf5ee;font-weight:600;box-shadow:0 0 0 2px #5d40371a}.message-type-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;margin-bottom:20px;display:grid}#view-full-terms{color:var(--brown-text);cursor:pointer;background-color:#f0e6d9;border:1px solid #e5d6c1;border-radius:6px;margin-left:10px;padding:8px 15px;font-size:14px;transition:all .3s}#view-full-terms:hover{border-color:var(--medium-brown);background-color:#e5d6c1}.terms-modal{z-index:1050;background-color:#00000080;width:100%;height:100%;display:none;position:fixed;top:0;left:0;overflow:auto}.terms-modal-content{background-color:#fff;border-radius:15px;width:90%;max-width:600px;max-height:80vh;margin:5% auto;padding:30px;position:relative;overflow-y:auto}.terms-modal-header{margin-bottom:20px;position:relative}.terms-modal-header h3{color:var(--brown-text);text-align:center;font-family:Nanum Myeongjo,serif;font-size:20px;font-weight:700}.terms-modal-close{color:#aaa;cursor:pointer;background:0 0;border:none;font-size:24px;position:absolute;top:0;right:0}.terms-modal-close:hover{color:var(--brown-text)}.terms-modal-body{color:#333;font-size:14px;line-height:1.8}.terms-modal-footer{text-align:center;margin-top:20px}.terms-modal-confirm-btn{background-color:var(--main-brown);color:var(--beige-light);cursor:pointer;border:none;border-radius:8px;padding:10px 25px;font-size:15px;font-weight:600;transition:all .3s}.terms-modal-confirm-btn:hover{background-color:var(--brown-accent)}.modal-scroll-container{z-index:1050;background-color:#00000080;width:100%;height:100%;display:none;position:fixed;top:0;left:0;overflow-y:auto}.modal-content{background-color:#fff;border-radius:15px;width:90%;max-width:550px;margin:20px auto;padding:30px;position:relative;box-shadow:0 5px 15px #0000004d}.modal-title{text-align:center;margin-bottom:25px;font-size:20px;font-weight:700}.modal-close{color:#aaa;cursor:pointer;font-size:28px;font-weight:700;position:absolute;top:15px;right:20px}.modal-close:hover{color:#333}.template-grid{grid-template-columns:repeat(3,1fr);gap:15px;margin-top:20px;display:grid}.template-item{cursor:pointer;border:1px solid #eaeaea;border-radius:8px;transition:transform .2s;overflow:hidden}.template-item:hover{transform:translateY(-2px);box-shadow:0 5px 10px #0000001a}.template-item.selected{border:2px solid #5271c2}.template-image{width:100%;height:auto;display:block}#loading-indicator{text-align:center;color:#555;padding:20px}.modal-open{overflow:hidden}@media screen and (max-width:480px){.template-grid{grid-template-columns:repeat(2,1fr)}}.date-info-row{border-bottom:1px solid #eee;margin-bottom:12px;padding-bottom:12px}.date-info-row:last-child{border-bottom:none}.date-info-row .info-label{color:#555;font-weight:600}.date-info-row .info-value{color:#333;font-family:Nanum Myeongjo,serif}.date-edit-btn{color:#36c;cursor:pointer;background:0 0;border:none;border-radius:3px;margin-left:8px;padding:2px 5px;font-size:13px;display:inline-block}.date-edit-btn:hover{background-color:#e7f3ff;text-decoration:underline}@media (max-width:480px){.date-info-row .info-label,.date-info-row .info-value{font-size:14px}}.datetime-group{margin-bottom:20px}.datetime-group label{color:#333;margin-bottom:8px;font-weight:600;display:block}.datetime-inputs{align-items:center;gap:10px;display:flex}.datetime-inputs .date-input{flex:2}.datetime-inputs .time-input{flex:1;min-width:120px}@media (max-width:480px){.datetime-inputs{flex-direction:column;gap:8px}.datetime-inputs .date-input,.datetime-inputs .time-input{width:100%}}section.info-section .info-row{box-sizing:border-box!important;border-bottom:1px solid #eee!important;flex-direction:row!important;align-items:center!important;width:100%!important;margin-bottom:12px!important;padding-bottom:10px!important;display:flex!important;position:relative!important}section.info-section .info-label{color:#555!important;text-align:left!important;white-space:nowrap!important;flex-shrink:0!important;width:80px!important;min-width:80px!important;margin-right:10px!important;font-weight:600!important}section.info-section .info-value{text-align:left!important;word-break:break-word!important;color:#333!important;flex:1!important;padding-right:10px!important}section.info-section #addressInfo{cursor:pointer!important;color:#4a90e2!important;text-decoration:underline!important}#bereaved-container{width:100%!important}#bereaved-container .info-row{margin-left:0!important;padding-left:0!important}@media (max-width:480px){section.info-section .info-row{margin-bottom:8px!important;padding-bottom:8px!important}section.info-section .info-label{width:65px!important;min-width:65px!important;margin-right:8px!important;font-size:14px!important}section.info-section .info-value{font-size:14px!important}}.toast-message-base{color:#fff;border-radius:var(--radius-md);font-size:var(--text-sm);z-index:10000;opacity:0;box-shadow:var(--shadow-md);text-align:center;word-break:keep-all;max-width:90vw;padding:12px 24px;transition:opacity .3s,transform .3s;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast-info{background-color:#000c}.toast-success{background-color:#388e3ce6}.toast-error{background-color:#d32f2fe6}.toast-warning{background-color:#f57c00e6}.empty-state{text-align:center;padding:var(--space-xl) var(--space-md);color:var(--medium-brown)}.empty-state-icon{margin-bottom:var(--space-md);opacity:.6;font-size:48px}.empty-state-text{font-size:var(--text-base);line-height:1.6}@media screen and (min-width:501px) and (max-width:768px){.page-main,.write-main,.search-page-main,.main-content,.manage-container{max-width:var(--container-tablet);padding:var(--space-lg)}.section-container,.header-container{max-width:var(--container-tablet)}}@media screen and (max-width:360px){.page-main,.write-main{padding:var(--space-sm)}.section-title{font-size:var(--text-base)}}.departure-highlight{background:linear-gradient(135deg, var(--bg-brown), #fff);border:2px solid var(--accent-brown);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);margin:var(--space-md) auto;text-align:center;max-width:480px}.departure-highlight-label{font-size:var(--text-xs);color:var(--accent-brown);letter-spacing:2px;margin-bottom:var(--space-xs);text-transform:uppercase;font-weight:700}.departure-highlight-datetime{font-size:var(--text-xl);color:var(--dark-brown);font-weight:700;line-height:1.4}.departure-highlight-place{font-size:var(--text-sm);color:var(--text-brown);margin-top:var(--space-xs)}.account-copy-btn{background:var(--accent-brown);color:#fff;border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;white-space:nowrap;border:none;flex-shrink:0;padding:4px 10px}.account-copy-btn:active{opacity:.7}.thanks-button{margin:var(--space-md) auto;padding:var(--space-sm) var(--space-lg);background:var(--primary-brown);color:#fff;border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;border:none;font-weight:600;display:block}.thanks-button:active{opacity:.8}.qr-code-container{padding:var(--space-md) 0;justify-content:center;display:flex}.qr-code-container canvas{border-radius:var(--radius-sm)}.qr-description{text-align:center;font-size:var(--text-sm);color:var(--accent-brown);margin:0 0 var(--space-md)}.qr-download-btn{width:100%;padding:var(--space-sm);background:var(--primary-brown);color:#fff;border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;border:none;font-weight:600;display:block}.qr-download-btn:active{opacity:.8}.account-label-preview{font-size:var(--text-xs);color:var(--accent-brown);white-space:nowrap;font-weight:700}@media print{.header,.sidebar,.fixed-bottom-buttons,.share-options,.modal-overlay,.modal-container,.modal-preview,.site-footer,.guestbook-form,.wreath-section,#toast-container,.back-button,.menu-button,.send-thanks-button,.print-button{display:none!important}body{margin:0;padding:0;font-size:12pt;color:#000!important;background:#fff!important}.page-main,.preview-container,.obituary-content{width:100%!important;max-width:100%!important;box-shadow:none!important;background:#fff!important;border:none!important;margin:0!important;padding:15mm!important}h1,h2,h3,p,span,div{color:#000!important}a[href]:after{content:none!important}img{page-break-inside:avoid;max-width:100%!important}.guestbook-list{display:block!important}.guestbook-entry{page-break-inside:avoid;border-color:#ccc!important}.section-divider{page-break-after:auto}.qr-modal,#qr-code-modal{display:none!important}}.confirm-modal-overlay{z-index:10000;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.confirm-modal-content{border-radius:var(--radius-lg);padding:var(--space-lg);width:90%;max-width:320px;box-shadow:var(--shadow-lg);text-align:center;background:#fff}.confirm-modal-message{margin-bottom:var(--space-md);font-size:var(--text-base);color:var(--text-brown);line-height:1.5}.confirm-modal-buttons{gap:var(--space-sm);justify-content:center;display:flex}.confirm-modal-buttons button{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);border:none;flex:1;transition:opacity .2s}.confirm-modal-buttons button:hover{opacity:.85}.confirm-modal-cancel{color:var(--text-brown);background:#e0e0e0}.confirm-modal-ok{background:var(--primary-brown);color:#fff}
