*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:#efede4;font-family:Noto Sans KR,sans-serif;color:#2c322e}input,textarea,button{font-family:Noto Sans KR,sans-serif}input::placeholder,textarea::placeholder{color:#9aa199}textarea{resize:none}input[type=date]{color:#5c6258;-webkit-appearance:none;-moz-appearance:none;appearance:none}::-webkit-calendar-picker-indicator{opacity:.4}#root{min-height:100vh;display:flex;justify-content:center}.page{width:100%;max-width:460px;min-height:100vh;margin:0 auto;background:#efede4;overflow:hidden}.hero{position:relative;height:330px}.hero-image{position:absolute;top:0;right:0;bottom:0;left:0;background:#cfd2bf url(/hero.png) center 40% / cover no-repeat}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#141c164d,#141c1600,#141c1633 60%,#141c16c7)}.hero-text{position:absolute;left:24px;right:24px;bottom:24px;color:#f4f4ee}.hero-image-caption{position:absolute;right:12px;bottom:6px;font:400 9.5px Noto Sans KR,sans-serif;color:#f4f4ee8c;letter-spacing:.02em}.lang-toggle{position:absolute;top:18px;right:18px;z-index:1;background:#141c1659;border:1px solid rgba(244,244,238,.5);border-radius:999px;color:#f4f4ee;font:600 12px Noto Sans KR,sans-serif;padding:6px 14px;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:background .15s ease}.lang-toggle:hover{background:#141c168c}.hero-eyebrow{font:500 12px Noto Sans KR,sans-serif;letter-spacing:.2em;opacity:.9}.hero-title{font:700 40px "Noto Serif KR",serif;line-height:1.05;margin:7px 0 0;text-shadow:0 2px 12px rgba(0,0,0,.35)}.hero-desc{font:400 13px Noto Sans KR,sans-serif;opacity:.92;margin:9px 0 0;line-height:1.55;max-width:300px}.content{padding:22px 20px 24px;background:#efede4}.write-card{background:#fafaf4;border:1px solid #e2e0d2;border-radius:24px;padding:22px 20px;box-shadow:0 10px 30px #323c2e12}.write-title{font:700 18px "Noto Serif KR",serif;color:#2c322e}.write-subtitle{font:400 12.5px Noto Sans KR,sans-serif;color:#7b8076;margin-top:5px;line-height:1.55}.field{flex:1;margin-top:18px}.field-label{font:600 11.5px Noto Sans KR,sans-serif;color:#868b7e;margin-bottom:7px}.field textarea{width:100%;border:1px solid #e2e0d2;border-radius:14px;background:#fff;padding:13px 14px;font-size:14px;line-height:1.6;color:#2c322e;outline:none}.field-row{display:flex;gap:12px}.field-row input{width:100%;border:1px solid #e2e0d2;border-radius:11px;background:#fff;padding:11px 12px;font-size:14px;color:#2c322e;outline:none}.consent-block{display:flex;align-items:center;gap:10px;margin-top:18px}.consent-row{display:flex;align-items:flex-start;gap:8px;flex:1 1 auto;min-width:0;cursor:pointer}.consent-row input[type=checkbox]{width:16px;height:16px;margin-top:2px;accent-color:#4e6657;flex-shrink:0}.consent-row span{flex:1 1 auto;min-width:0;font:400 12.5px Noto Sans KR,sans-serif;color:#545a4e;line-height:1.5}.consent-detail-link{flex-shrink:0;white-space:nowrap;background:none;border:none;padding:0 10px 0 0;font:600 12px Noto Sans KR,sans-serif;color:#4e6657;text-decoration:underline;cursor:pointer}@media (max-width: 420px){.consent-row{gap:6px}.consent-row span{font-size:11px}.consent-detail-link{font-size:10.5px}}.submit-button{width:100%;margin-top:18px;background:#4e6657;color:#f4f4ee;border:none;border-radius:14px;padding:15px;font:600 15px Noto Sans KR,sans-serif;cursor:pointer;box-shadow:0 8px 18px #4e665747;transition:background .15s ease}.submit-button:hover{background:#3f5447}.submit-button:disabled{opacity:.6;cursor:not-allowed}.form-error{font:400 12.5px Noto Sans KR,sans-serif;color:#b3564a;margin:14px 0 0}.form-notice{font:400 12.5px Noto Sans KR,sans-serif;color:#6b7a5f;margin:14px 0 0}.review-list-head{display:flex;align-items:baseline;justify-content:space-between;margin:26px 4px 14px}.review-list-head span:first-child{font:700 17px "Noto Serif KR",serif;color:#2c322e}.review-count{font:500 12.5px Noto Sans KR,sans-serif;color:#868b7e}.empty-state{border:1.6px dashed #d2d0c0;border-radius:20px;padding:38px 24px;text-align:center;background:#f6f5ec}.empty-icon{width:54px;height:54px;border-radius:50%;background:#e3e6da;color:#4e6657;font:700 26px "Noto Serif KR",serif;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.empty-title{font:600 15px Noto Sans KR,sans-serif;color:#545a4e}.empty-desc{font:400 13px Noto Sans KR,sans-serif;color:#868b7e;margin-top:7px;line-height:1.6}.review-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.review-item{background:#fafaf4;border:1px solid #e2e0d2;border-radius:20px;padding:16px 18px}.review-item-meta{display:flex;align-items:baseline;justify-content:space-between}.review-item-nickname{font:600 13px Noto Sans KR,sans-serif;color:#2c322e}.review-item-date{font:400 12px Noto Sans KR,sans-serif;color:#868b7e}.review-item-content{font:400 14px "Noto Serif KR",serif;color:#5c6258;line-height:1.7;margin:8px 0 0;white-space:pre-wrap}.privacy-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#141c1673;display:flex;align-items:flex-end;justify-content:center;z-index:20;padding:0}.privacy-modal{width:100%;max-width:460px;max-height:82vh;overflow-y:auto;background:#fafaf4;border-radius:24px 24px 0 0;padding:24px 22px 26px;box-shadow:0 -10px 30px #323c2e2e}.privacy-modal-title{font:700 17px "Noto Serif KR",serif;color:#2c322e}.privacy-modal-intro{font:400 13px Noto Sans KR,sans-serif;color:#5c6258;line-height:1.6;margin:10px 0 0}.privacy-modal-list{margin:16px 0 0;border-top:1px solid #e2e0d2}.privacy-modal-item{padding:12px 0;border-bottom:1px solid #e2e0d2}.privacy-modal-item dt{font:600 12px Noto Sans KR,sans-serif;color:#868b7e}.privacy-modal-item dd{font:400 13.5px Noto Sans KR,sans-serif;color:#2c322e;margin:5px 0 0;line-height:1.6}.privacy-modal-notice{font:400 12.5px Noto Sans KR,sans-serif;color:#868b7e;line-height:1.6;margin:16px 0 0}.privacy-modal-close{width:100%;margin-top:20px;background:#4e6657;color:#f4f4ee;border:none;border-radius:14px;padding:14px;font:600 14px Noto Sans KR,sans-serif;cursor:pointer}.admin-login-page{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background:#efede4}.admin-login-card{width:100%;max-width:340px;background:#fafaf4;border:1px solid #e2e0d2;border-radius:24px;padding:32px 28px;box-shadow:0 10px 30px #323c2e12}.admin-login-eyebrow{font:500 12px Noto Sans KR,sans-serif;color:#869178;letter-spacing:.28em}.admin-login-title{font:700 22px "Noto Serif KR",serif;color:#2c322e;margin:10px 0 24px}.admin-field{margin-top:16px}.admin-field:first-of-type{margin-top:0}.admin-field-label{font:600 11.5px Noto Sans KR,sans-serif;color:#868b7e;margin-bottom:7px}.admin-field input{width:100%;border:1px solid #e2e0d2;border-radius:11px;background:#fff;padding:11px 12px;font-size:14px;color:#2c322e;outline:none}.admin-form-error{font:400 12.5px Noto Sans KR,sans-serif;color:#b3564a;margin:14px 0 0}.admin-submit-button{width:100%;margin-top:22px;background:#4e6657;color:#f4f4ee;border:none;border-radius:12px;padding:13px;font:600 14px Noto Sans KR,sans-serif;cursor:pointer;transition:background .15s ease}.admin-submit-button:hover{background:#3f5447}.admin-submit-button:disabled{opacity:.6;cursor:not-allowed}.admin-page{min-height:100vh;width:100%;background:#efede4;padding:28px 32px 48px}.admin-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.admin-header-eyebrow{font:500 12px Noto Sans KR,sans-serif;color:#869178;letter-spacing:.28em}.admin-header-title{font:700 24px "Noto Serif KR",serif;color:#2c322e;margin:6px 0 0}.admin-logout-button{border:1px solid #e2e0d2;background:#fafaf4;color:#545a4e;border-radius:10px;padding:9px 16px;font:500 13px Noto Sans KR,sans-serif;cursor:pointer}.admin-logout-button:hover{background:#f1f0e6}.admin-pending-section{background:#fdf8ec;border:1px solid #ecdba8;border-radius:16px;padding:16px 18px;margin-bottom:18px}.admin-pending-header{display:flex;align-items:center;gap:10px}.admin-pending-header h2{font:700 15px "Noto Serif KR",serif;color:#2c322e;margin:0}.admin-pending-count{background:#f3e6c8;color:#9a6a1f;border-radius:999px;padding:2px 10px;font:600 12px Noto Sans KR,sans-serif}.admin-pending-empty{margin:12px 0 0;font:400 13px Noto Sans KR,sans-serif;color:#868b7e}.admin-pending-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.admin-pending-item{background:#fff;border:1px solid #ecdba8;border-radius:12px;padding:12px 14px}.admin-pending-item-meta{display:flex;gap:12px;font:600 12px Noto Sans KR,sans-serif;color:#868b7e}.admin-pending-item-content{font:400 13.5px Noto Sans KR,sans-serif;color:#2c322e;line-height:1.55;white-space:pre-wrap;margin:8px 0 10px}.admin-filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;background:#fafaf4;border:1px solid #e2e0d2;border-radius:16px;padding:14px 16px;margin-bottom:18px}.admin-filter-presets{display:flex;gap:6px}.admin-preset-button{border:1px solid #e2e0d2;background:#fff;color:#545a4e;border-radius:999px;padding:6px 12px;font:500 12.5px Noto Sans KR,sans-serif;cursor:pointer}.admin-preset-button:hover{background:#efede4}.admin-filter-fields{display:flex;align-items:center;gap:8px;flex:1;flex-wrap:wrap}.admin-filter-fields input[type=date]{border:1px solid #e2e0d2;border-radius:10px;background:#fff;padding:8px 10px;font-size:13.5px;color:#2c322e;outline:none}.admin-filter-tilde{color:#868b7e}.admin-search-input{border:1px solid #e2e0d2;border-radius:10px;background:#fff;padding:8px 12px;font-size:13.5px;color:#2c322e;outline:none;min-width:200px;flex:1}.admin-status-select{border:1px solid #e2e0d2;border-radius:10px;background:#fff;padding:8px 10px;font-size:13.5px;color:#2c322e;outline:none}.admin-filter-apply,.admin-filter-reset{border:none;border-radius:10px;padding:9px 14px;font:600 13px Noto Sans KR,sans-serif;cursor:pointer}.admin-filter-apply{background:#4e6657;color:#f4f4ee}.admin-filter-apply:hover{background:#3f5447}.admin-filter-reset{background:#fff;border:1px solid #e2e0d2;color:#545a4e}.admin-filter-reset:hover{background:#efede4}.admin-export-button{margin-left:auto;border:none;border-radius:10px;padding:10px 16px;font:600 13px Noto Sans KR,sans-serif;background:#2e3a2c;color:#e7e8df;cursor:pointer}.admin-export-button:hover{background:#1b241a}.admin-table-wrap{background:#fafaf4;border:1px solid #e2e0d2;border-radius:16px;overflow:auto}.admin-table-message{padding:40px 16px;text-align:center;color:#868b7e;font:400 13.5px Noto Sans KR,sans-serif}.admin-table{width:100%;min-width:720px;border-collapse:collapse;font:400 13.5px Noto Sans KR,sans-serif;color:#2c322e}.admin-table th{text-align:left;font:600 12px Noto Sans KR,sans-serif;color:#868b7e;padding:12px 16px;border-bottom:1px solid #e2e0d2;white-space:nowrap}.admin-table td{padding:12px 16px;border-bottom:1px solid #ece9dd;vertical-align:top}.admin-table tr:last-child td{border-bottom:none}.admin-table tr.is-hidden{background:#f6f5ec;color:#9aa199}.admin-cell-nowrap{white-space:nowrap}.admin-cell-content{max-width:420px;white-space:pre-wrap;line-height:1.55}.admin-status{display:inline-block;border-radius:999px;padding:3px 10px;font:600 11.5px Noto Sans KR,sans-serif}.admin-status-visible{background:#e3e6da;color:#4e6657}.admin-status-hidden{background:#ece5df;color:#9a7a63}.admin-status-pending{background:#f3e6c8;color:#9a6a1f}.admin-table tr.is-pending{background:#fdf8ec}.admin-actions{display:flex;gap:6px}.admin-actions button{border:1px solid #e2e0d2;background:#fff;border-radius:8px;padding:6px 10px;font:500 12px Noto Sans KR,sans-serif;color:#545a4e;cursor:pointer;white-space:nowrap}.admin-actions button:hover{background:#efede4}.admin-actions button.admin-delete{color:#b3564a;border-color:#e6cec8}.admin-actions button.admin-delete:hover{background:#fbeeec}
