:root{font-family:Pretendard,'Noto Sans KR',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#202630;background:#fafaf9;--orange:#ef7300;--line:#e6e7e8;--muted:#777}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a:hover{color:#df6900}:focus-visible{outline:3px solid #ef7300;outline-offset:4px}
.site-header{background:#fff;border-bottom:1px solid #e9e9e7}.top{width:100%;min-height:136px;padding:42px 28px 28px 70px;display:flex;align-items:baseline;gap:clamp(34px,5vw,90px)}.brand{font-size:clamp(34px,2.7vw,39px);font-weight:850;letter-spacing:-2.5px;line-height:1.15;white-space:nowrap}.brand span{color:var(--orange)}.section-nav{display:flex;align-items:baseline;justify-content:flex-end;justify-content:safe flex-end;gap:clamp(20px,2.5vw,46px);margin-left:auto;min-width:0}.section-nav a{flex:0 0 auto;padding:0 0 12px;border-bottom:2px solid transparent;font-size:clamp(17px,1.35vw,26px);font-weight:850;letter-spacing:-1.15px;line-height:1.3;white-space:nowrap}.section-nav a.active{color:#e77300;border-bottom-color:var(--orange)}
main{max-width:1160px;margin:0 auto;padding:0 24px 90px;min-height:calc(100vh - 207px)}.hero{padding:104px 12px 95px;text-align:center;border-bottom:1px solid #eee}.hero h1{font-size:clamp(30px,4vw,52px);line-height:1.35;letter-spacing:-1.8px;margin:0 0 34px;font-weight:850}.primary{display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--orange);color:#fff;font-weight:800;border-radius:11px;padding:17px 48px;font-size:20px;box-shadow:0 6px 14px #ef730022}.primary:hover{background:#d96700;color:white}.secondary{display:inline-flex;align-items:center;justify-content:center;background:white;border:1px solid #d9d9d9;padding:15px 25px;border-radius:10px;font-weight:700}
.section{margin-top:51px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:16px}.section h2{font-size:26px;letter-spacing:-1px;margin:0}.muted{color:#777;font-size:14px}.report-tools{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 17px}.report-tools input,.report-tools select,.search-button{border:1px solid #dedede;background:#fff;border-radius:9px;padding:12px 14px;font-size:15px}.report-tools input{flex:1;min-width:190px}.report-tools select{min-width:150px}.search-button{font-weight:750;color:#c66300;background:#fff7ee;border-color:#f5d4b7}.report-table{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.tr{display:grid;grid-template-columns:80px minmax(0,1fr) 130px 130px;align-items:center;gap:12px;padding:19px 22px;border-bottom:1px solid #f0f0f0;font-size:14px}.tr:last-child{border:0}.tr.heading{background:#f7f7f6;font-weight:750;color:#666}.title-cell{font-size:15px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status,.pill{display:inline-block;background:#fff0df;color:#c66300;border-radius:20px;padding:5px 11px;font-size:12px;font-weight:750;width:max-content}.empty{padding:70px 20px;text-align:center;color:#8b8b8b}.list-footer{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.list-footer>a{white-space:nowrap;font-size:14px;font-weight:750;color:#bd5c00}
.info-wrap{max-width:850px;margin:66px auto 0}.info-wrap h1,.page-title{font-size:34px;letter-spacing:-1.2px;line-height:1.35;margin:0 0 12px;overflow-wrap:anywhere}.info-intro,.page-intro p{color:#68707b;line-height:1.7;margin-bottom:30px}.info-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:28px 32px;margin:15px 0}.info-card h2{font-size:19px;margin:0 0 12px}.info-card p{line-height:1.8;color:#555f6d;margin:0}.faq-item{border-bottom:1px solid #e9e9e9;padding:19px 0}.faq-item:last-child{border-bottom:0}.faq-item summary{cursor:pointer;font-weight:750}.faq-item p{padding:13px 0 0}.step-num{display:inline-block;color:#df6900;font-weight:800;margin-right:12px}.info-cta{margin-top:24px}.info-cta .primary{font-size:16px;padding:15px 30px}.type-action{display:flex;justify-content:space-between;align-items:center;gap:20px}.type-action h2{margin:0}.type-link{border:1px solid var(--orange);border-radius:8px;background:#fff7ee;color:#d96700;font-weight:800;padding:10px 16px;white-space:nowrap}.type-link:hover{background:#ffedd9}
.page{padding-top:65px}.page>.wrap{max-width:850px;margin:0 auto}.page-intro{margin-bottom:26px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1px;color:#bd5c00}.form-panel{background:white;border:1px solid var(--line);border-radius:14px;padding:34px;overflow-wrap:anywhere}.form-panel .primary{font-size:16px;padding:15px 27px}.field{margin-bottom:24px}.field label{display:block;font-weight:750;margin-bottom:9px}.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid #d8dadd;border-radius:8px;background:white;outline:none}.field textarea{min-height:180px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--orange);box-shadow:0 0 0 3px #ef73001a}.field label small{color:#c66300}.hint,.meta,.note{font-size:13px;color:var(--muted);line-height:1.6}.hint{margin:6px 0}.note{margin-top:15px}.check{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:14px;line-height:1.6}.check input{margin-top:4px;flex-shrink:0}.alert{background:#fff3e8;border:1px solid #f5d4b7;border-radius:9px;padding:12px 15px;margin-bottom:18px;line-height:1.6}.flash-wrap{max-width:898px;margin:24px auto 0;padding:0 24px}.message{padding:17px;border:1px solid var(--line);border-radius:12px;margin:12px 0;background:#fafafa}.message strong{color:#c35b12}.info{padding:24px;background:#fff7ef;border:1px solid #f5d4b7;border-radius:12px}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;background:#fff}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}th{background:#f7f7f6}td a{color:#bd5c00}.form-panel>form+form{margin-top:20px}.site-footer{text-align:center;border-top:1px solid #eee;padding:26px;color:#9b9b9b;font-size:12px;font-weight:650}
@media(max-width:1400px){.top{min-height:112px;padding:30px 28px 22px 36px;gap:42px}.brand{font-size:34px}.section-nav{gap:clamp(15px,2vw,28px)}.section-nav a{font-size:18px}}
@media(max-width:1050px){.top{padding:24px 26px 0;gap:15px;flex-direction:column;align-items:stretch}.brand{font-size:35px;align-self:flex-start}.section-nav{width:100%;overflow-x:auto;gap:24px;scrollbar-width:thin;padding-bottom:4px}.section-nav a{font-size:19px;padding:18px 0}}
@media(max-width:680px){main{padding:0 16px 60px}.top{padding:20px 18px 0}.brand{font-size:31px}.section-nav a{font-size:17px}.hero{padding:92px 0 80px}.hero h1{letter-spacing:-1.5px}.primary{max-width:100%;padding:17px 38px}.section{margin-top:38px}.section h2{font-size:22px}.tr{grid-template-columns:minmax(0,1fr) 85px;gap:8px;padding:16px}.tr>*:first-child,.tr>*:last-child{display:none}.report-tools input{width:100%;flex-basis:100%}.report-tools select{flex:1;min-width:0}.list-footer{align-items:flex-start;flex-direction:column;gap:0}.info-wrap{margin:35px auto 0}.info-card{padding:22px}.info-wrap h1,.page-title{font-size:28px}.type-action{align-items:flex-start;flex-direction:column}.page{padding-top:35px}.form-panel{padding:22px 17px}.field textarea{min-height:150px}}

/* Readable reporting guide: clear steps and subject-specific preparation. */
.guide-page { max-width: 960px; }
.guide-intro > .eyebrow { display: inline-block; margin-bottom: 14px; padding: 7px 16px; border-radius: 999px; background: #fff1e3; border: 1px solid #ffd2a6; color: #a84e00; font-size: 16px; font-weight: 800; letter-spacing: -.2px; }
.guide-intro > p { color: #626973; font-size: 17px; line-height: 1.8; margin: 16px 0 22px; }
.guide-shortcuts { display: flex; flex-wrap: wrap; gap: 8px; }
.guide-shortcuts a { padding: 9px 15px; border: 1px solid #e6e7e8; border-radius: 8px; background: #fff; font-size: 14px; font-weight: 650; }
.guide-shortcuts a:hover { border-color: #ef7300; background: #fff7ef; }
.guide-section { margin-top: 48px; scroll-margin-top: 24px; }
.guide-section-heading { display: flex; align-items: baseline; gap: 14px; }
.guide-number { flex-shrink: 0; color: #c45d00; font-size: 16px; font-weight: 850; }
.guide-section-heading h2 { margin: 0; font-size: 23px; line-height: 1.5; letter-spacing: -.7px; }
.guide-description { margin: 12px 0 22px; color: #626973; line-height: 1.8; }
.guide-basics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 0; }
.guide-basics > div { padding: 24px; background: #fff; border: 1px solid #e6e7e8; border-radius: 12px; }
.guide-basics dt { font-size: 16px; font-weight: 750; margin-bottom: 10px; }
.guide-basics dd { margin: 0; color: #626973; font-size: 15px; line-height: 1.8; }
.guide-tip { padding-left: 14px; border-left: 3px solid #ef7300; margin: 20px 0 0; color: #626973; font-size: 14px; line-height: 1.8; }
.guide-writing-list { margin: 0; padding: 4px 26px 4px 48px; background: #fff; border: 1px solid #e6e7e8; border-radius: 12px; }
.guide-writing-list li { padding: 20px 0 20px 5px; border-bottom: 1px solid #eee; line-height: 1.7; }
.guide-writing-list li:last-child { border: 0; }
.guide-writing-list li::marker { color: #c45d00; font-weight: 750; }
.guide-writing-list p { margin: 5px 0 0; color: #626973; font-size: 15px; }
.guide-example { padding: 26px 28px; margin-top: 16px; border: 1px solid #f2ddc8; background: #fff7ef; border-radius: 12px; }
.guide-example h3 { margin: 0 0 14px; font-size: 16px; }
.guide-example h3 span { margin-left: 8px; color: #7a6858; font-size: 12px; font-weight: 500; }
.guide-example p { margin: 0; color: #5b5148; line-height: 1.9; font-size: 15px; }
.guide-example .guide-example-request { border-top: 1px solid #f2ddc8; padding-top: 14px; margin-top: 16px; }
.guide-example-request strong { display: block; color: #9d4c00; margin-bottom: 3px; }
.guide-evidence { border: 1px solid #e6e7e8; border-radius: 14px; background: #fff; margin: 0; padding: 0 28px; }
.guide-evidence > div { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 24px; padding: 24px 0; border-bottom: 1px solid #eee; }
.guide-evidence > div:last-child { border: 0; }
.guide-evidence dt { justify-self: start; align-self: start; padding: 7px 12px; background: #fff1e3; border-radius: 8px; color: #a34e00; font-size: 14px; font-weight: 750; line-height: 1.6; }
.guide-evidence dd { margin: 0; font-size: 14px; color: #626973; line-height: 1.8; }
.guide-evidence dd p { font-size: 15px; color: #363e48; margin: 0 0 7px; }
.guide-evidence dd > span { color: #a34e00; font-weight: 650; margin-right: 7px; }
.guide-upload { padding: 24px 28px; margin-top: 18px; border-radius: 12px; background: #f0f1f0; }
.guide-upload h3 { font-size: 16px; margin: 0 0 12px; }
.guide-upload ul { margin: 0; padding-left: 19px; color: #626973; font-size: 14px; line-height: 1.9; }
.guide-upload li + li { margin-top: 8px; }
.guide-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid #e6e7e8; padding-top: 32px; margin-top: 44px; }
.guide-bottom h2 { font-size: 21px; margin: 0 0 10px; }
.guide-bottom p { font-size: 14px; color: #626973; line-height: 1.8; margin: 0; }
.guide-bottom .primary { flex-shrink: 0; font-size: 16px; padding: 16px 26px; }
.guide-disclaimer { color: #777; font-size: 12px; line-height: 1.8; margin: 22px 0 0; }
@media(max-width:680px) {
  .guide-intro > p { font-size: 16px; }
  .guide-section { margin-top: 36px; }
  .guide-section-heading { gap: 10px; }
  .guide-section-heading h2 { font-size: 20px; }
  .guide-basics { grid-template-columns: 1fr; gap: 10px; }
  .guide-basics > div { padding: 20px; }
  .guide-description { font-size: 15px; }
  .guide-writing-list { padding-left: 38px; padding-right: 20px; }
  .guide-example, .guide-upload { padding: 22px 20px; }
  .guide-evidence { padding: 0 20px; }
  .guide-evidence > div { grid-template-columns: 1fr; gap: 12px; padding: 22px 0; }
  .guide-evidence dt { font-size: 14px; }
  .guide-bottom { flex-direction: column; align-items: stretch; }
  .guide-bottom .primary { width: 100%; }
}

/* Original illustrated evidence guidance; text stays selectable and accessible. */
.evidence-step-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.evidence-step { display: flex; flex-direction: column; overflow: hidden; border: 1px solid #e6e7e8; border-radius: 16px; background: #fff; }
.evidence-illustration { aspect-ratio: 1 / 1; background-image: url('images/evidence-steps.png'); background-repeat: no-repeat; background-size: 300% 100%; background-color: #fff7ef; }
.evidence-illustration--whole { background-position: left center; }
.evidence-illustration--detail { background-position: center center; }
.evidence-illustration--record { background-position: right center; }
.evidence-step-copy { display: flex; flex-direction: column; flex: 1; padding: 24px 22px; }
.evidence-step-label { align-self: flex-start; font-size: 12px; font-weight: 750; color: #aa5100; background: #fff1e3; border-radius: 6px; padding: 5px 9px; }
.evidence-step h3 { font-size: 19px; line-height: 1.5; letter-spacing: -.6px; margin: 15px 0 10px; }
.evidence-step p { color: #626973; line-height: 1.8; font-size: 15px; margin: 0 0 20px; }
.evidence-caption { display: block; margin-top: auto; border-top: 1px solid #eee; padding-top: 14px; font-size: 13px; color: #a34e00; line-height: 1.7; }
.evidence-reminders { background: #fff7ef; border: 1px solid #f2ddc8; border-radius: 12px; padding: 24px 28px; margin-top: 18px; }
.evidence-reminders h3 { margin: 0 0 18px; font-size: 17px; }
.evidence-reminders ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.evidence-reminders strong { display: block; font-size: 15px; margin-bottom: 8px; color: #985000; }
.evidence-reminders li > span { display: block; font-size: 14px; line-height: 1.8; color: #62605b; }
.evidence-topics { border: 1px solid #e6e7e8; background: #fff; border-radius: 14px; overflow: hidden; }
.evidence-topic + .evidence-topic { border-top: 1px solid #e6e7e8; }
.evidence-topic summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; padding: 22px 26px; list-style: none; font-weight: 750; }
.evidence-topic summary::-webkit-details-marker { display: none; }
.evidence-topic summary:hover { background: #fffaf5; }
.evidence-topic summary:focus-visible { outline-offset: -4px; }
.evidence-topic[open] > summary { background: #fff7ef; color: #a34e00; }
.evidence-topic-action { font-size: 12px; color: #777; font-weight: 500; white-space: nowrap; }
.evidence-topic-chevron { display: inline-block; font-size: 19px; margin-left: 9px; }
.evidence-topic[open] .evidence-topic-chevron { transform: rotate(180deg); }
.evidence-topic-body { padding: 24px 28px 28px; }
.evidence-topic-body h3 { margin: 0 0 16px; font-size: 18px; line-height: 1.6; }
.evidence-topic-body ol { margin: 0; padding-left: 22px; line-height: 1.9; font-size: 15px; color: #535d68; }
.evidence-topic-body li + li { margin-top: 10px; }
.evidence-topic-body li::marker { color: #b65700; font-weight: 750; }
.evidence-topic-records { margin-top: 22px; padding: 18px 20px; background: #f7f7f6; border-radius: 9px; font-size: 14px; line-height: 1.8; color: #626973; }
.evidence-topic-records h4 { color: #343c45; font-size: 14px; margin: 0 0 8px; }
.evidence-topic-records p { margin: 0 0 8px; }
.evidence-topic-records > span { color: #a34e00; font-weight: 650; margin-right: 7px; }
@media(max-width:680px) {
  .evidence-step-grid { grid-template-columns: 1fr; gap: 20px; }
  .evidence-illustration { aspect-ratio: 1 / 1; width: min(100%,300px); margin: auto; }
  .evidence-step { background: #fff; }
  .evidence-step-copy { padding: 20px 22px 24px; }
  .evidence-step h3 { font-size: 21px; }
  .evidence-reminders { padding: 24px 22px; }
  .evidence-reminders ul { grid-template-columns: 1fr; gap: 20px; }
  .evidence-topic summary { padding: 20px; }
  .evidence-topic-body { padding: 20px; }
  .evidence-topic-records { padding: 16px; }
}

/* Larger section labels; mobile navigation shows four complete links. */
.section-nav a { font-size: clamp(20px, 1.5vw, 24px); }
@media (max-width: 1050px) {
  .section-nav a { font-size: 20px; }
}
@media (max-width: 680px) {
  /* 메뉴 개수는 관리자가 정하므로, 좁은 화면에서는 한 줄로 두고 옆으로 넘겨 보게 함. */
  .section-nav { display: flex; justify-content: flex-start; gap: 20px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .section-nav::-webkit-scrollbar { display: none; }
  .section-nav a { font-size: clamp(16px, 4.5vw, 18px); letter-spacing: -.8px; padding: 16px 0 14px; text-align: center; }
}
@media (max-width: 360px) {
  .section-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
  .section-nav a { font-size: 18px; }
}

/* Admin: editable site copy. */
.content-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
.content-tabs a { padding: 8px 14px; border: 1px solid #e6e7e8; border-radius: 8px; background: #fff; font-size: 14px; font-weight: 650; }
.content-section { margin-bottom: 22px; scroll-margin-top: 20px; }
.content-section h2 { margin: 0 0 24px; font-size: 22px; letter-spacing: -.6px; }
.content-section .field input, .content-section .field textarea { width: 100%; }
.content-section .field textarea { min-height: 0; line-height: 1.6; }
.field-tag { display: inline-block; margin-left: 4px; padding: 1px 7px; border-radius: 6px; background: #f1f1f0; color: #6b6f76; font-size: 12px; font-weight: 700; vertical-align: 1px; }
.field-tag.changed { background: #fff1e3; color: #b45400; }
.field-default { margin: 6px 0 0; color: #8a8f96; font-size: 13px; line-height: 1.6; white-space: pre-wrap; }
.content-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.content-preview { margin-left: auto; font-size: 14px; font-weight: 700; color: #bd5c00; }

/* Footer: policy links and operator information. */
.site-footer { display: grid; gap: 10px; justify-items: center; padding: 30px 20px 36px; line-height: 1.7; }
.footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; font-size: 13px; color: #555; }
.footer-links .strong { font-weight: 800; color: #333; }
.footer-notice { max-width: 720px; margin: 0; font-size: 12px; font-weight: 500; color: #8a8f96; }
.footer-info { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px 14px; margin: 0; font-size: 12px; font-weight: 500; color: #8a8f96; }
.footer-info:empty { display: none; }
.footer-copy { margin: 0; }

/* Policy documents and consent boxes. */
.policy-doc h2 { font-size: 19px; margin: 34px 0 10px; letter-spacing: -.4px; }
.policy-doc p, .policy-doc li { color: #4f5660; line-height: 1.85; font-size: 15px; }
.policy-doc ul { padding-left: 20px; margin: 8px 0; }
.takedown-guide { margin-bottom: 26px; }
.consent-box { border: 1px solid #e6e7e8; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #fcfcfb; }
.consent-box .check { margin: 0; }
.consent-detail { white-space: pre-line; margin: 8px 0 6px; color: #626973; font-size: 13px; line-height: 1.75; }
.consent-link { font-size: 13px; font-weight: 700; color: #bd5c00; }
.takedown-item { margin-bottom: 16px; }

/* Report form: must-read box and consent cards. */
.must-read { background: #fff7ef; border: 1px solid #ffd9b3; border-radius: 14px; padding: 4px 22px; margin-bottom: 18px; }
.must-read summary { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; cursor: pointer; list-style: none; }
.must-read summary::-webkit-details-marker { display: none; }
.must-read-title { font-weight: 800; color: #b45400; }
.must-read-toggle::after { content: '접기'; font-size: 13px; font-weight: 700; color: #b45400; }
.must-read:not([open]) .must-read-toggle::after { content: '펼치기'; }
.must-read ul { margin: 0 0 16px; padding-left: 18px; }
.must-read li { color: #5b5249; font-size: 14px; line-height: 1.75; padding: 2px 0; }
.consents { margin-top: 30px; padding-top: 26px; border-top: 1px solid #eee; }
.consents-title { font-size: 19px; margin: 0 0 12px; letter-spacing: -.4px; }
.consent-all { padding: 14px 16px; border-radius: 10px; background: #f6f6f5; font-weight: 750; margin-bottom: 12px; }
.consent-all em { font-style: normal; font-weight: 500; color: #8a8f96; font-size: 13px; }
.consent-card { border: 1px solid #e6e7e8; border-radius: 12px; padding: 16px 18px; margin-bottom: 10px; }
.consent-card h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: 16px; }
.badge-req, .badge-opt { display: inline-block; padding: 2px 8px; border-radius: 6px; font-size: 12px; font-weight: 800; }
.badge-req { background: #ef7300; color: #fff; }
.badge-opt { background: #f1f1f0; color: #6b6f76; }
.consent-table { border: 1px solid #ececea; border-radius: 9px; overflow: hidden; font-size: 13px; margin-bottom: 8px; }
.consent-table [role=row] { display: grid; grid-template-columns: 1.3fr 1fr 1fr; }
.consent-table-4 [role=row] { grid-template-columns: .8fr 1.3fr 1fr 1fr; }
.consent-table [role=row] > * { padding: 10px 12px; line-height: 1.6; color: #4f5660; }
.consent-table [role=row] > * + * { border-left: 1px solid #ececea; }
.consent-table .ct-head > * { background: #fbf3ea; color: #8a4a0b; font-weight: 800; }
.cell-line { display: block; }
.consent-note { margin: 0 0 8px; color: #626973; font-size: 13px; line-height: 1.75; }
.consent-card .check { margin: 4px 0 0; font-weight: 700; }
@media (max-width: 680px) {
  .consent-table .ct-head { display: none; }
  .consent-table [role=row], .consent-table-4 [role=row] { grid-template-columns: 1fr; }
  .consent-table [role=row] > * + * { border-left: 0; border-top: 1px solid #ececea; }
  .consent-table [role=cell]::before { content: attr(data-label); display: block; font-weight: 800; color: #8a4a0b; margin-bottom: 2px; }
}

/* Consumer board. */
.board { max-width: 860px; }
.board-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 60px 0 28px; }
.board-hero h1 { font-size: 34px; letter-spacing: -1.2px; margin: 0 0 10px; }
.board-hero p { margin: 0; color: #68707b; line-height: 1.7; }
.board-write-btn { flex-shrink: 0; padding: 14px 24px; font-size: 16px; }
.board-hot { background: linear-gradient(135deg, #fff4e8, #fffaf4); border: 1px solid #ffe2c4; border-radius: 16px; padding: 18px 20px; margin-bottom: 22px; }
.board-hot h2 { font-size: 15px; margin: 0 0 10px; color: #b45400; }
.hot-list { list-style: none; margin: 0; padding: 0; }
.hot-list a { display: flex; align-items: center; gap: 12px; padding: 9px 4px; border-radius: 8px; }
.hot-list a:hover { background: rgba(255,255,255,.7); color: inherit; }
.hot-rank { width: 24px; height: 24px; border-radius: 50%; background: #ef7300; color: #fff; font-size: 13px; font-weight: 800; display: grid; place-items: center; flex-shrink: 0; }
.hot-body { display: flex; align-items: center; gap: 8px; min-width: 0; flex: 1; }
.hot-body strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hot-meta { display: inline-flex; align-items: center; gap: 4px; color: #e0533d; font-size: 14px; font-weight: 750; }
.board-tools { display: grid; gap: 12px; margin-bottom: 16px; }
.cat-tabs { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.cat-tabs a { flex-shrink: 0; padding: 8px 15px; border-radius: 999px; border: 1px solid #e6e7e8; background: #fff; font-size: 14px; font-weight: 700; color: #4f5660; }
.cat-tabs a.on { background: #202630; border-color: #202630; color: #fff; }
.board-filter { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.sort-toggle { display: inline-flex; background: #f0f0ee; border-radius: 10px; padding: 3px; }
.sort-toggle a { padding: 7px 14px; border-radius: 8px; font-size: 14px; font-weight: 700; color: #6b6f76; }
.sort-toggle a.on { background: #fff; color: #202630; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.board-search { display: flex; gap: 6px; flex: 1; max-width: 360px; }
.board-search input { flex: 1; min-width: 0; padding: 10px 12px; border: 1px solid #dedede; border-radius: 9px; background: #fff; }
.board-search button { padding: 10px 14px; border: 1px solid #ffd9b3; border-radius: 9px; background: #fff7ef; color: #b45400; font-weight: 750; }
.post-list { display: grid; gap: 12px; }
.post-card { background: #fff; border: 1px solid #e6e7e8; border-radius: 14px; transition: border-color .15s, box-shadow .15s; }
.post-card:hover { border-color: #ffc994; box-shadow: 0 6px 18px rgba(239,115,0,.08); }
.post-link { display: block; padding: 18px 20px 6px; }
.post-link:hover { color: inherit; }
.post-top { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.post-meta { color: #8a8f96; font-size: 13px; }
.post-card h2 { font-size: 18px; margin: 0 0 6px; letter-spacing: -.4px; line-height: 1.45; overflow-wrap: anywhere; }
.post-excerpt { margin: 0; color: #626973; font-size: 14px; line-height: 1.7; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.post-actions { display: flex; align-items: center; gap: 6px; padding: 8px 14px 14px; }
.ico { flex-shrink: 0; }
.like-btn { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #ececea; background: #fff; border-radius: 999px; padding: 7px 13px; font-size: 14px; font-weight: 700; color: #6b6f76; }
.like-btn:hover:not(:disabled) { border-color: #f6b4a8; color: #e0533d; }
.like-btn.on { background: #fff0ed; border-color: #f6b4a8; color: #e0533d; }
.comment-count { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; font-size: 14px; font-weight: 700; color: #6b6f76; }
.cat-chip { display: inline-block; flex-shrink: 0; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 800; }
.cat-0 { background: #fff1e3; color: #b45400; }
.cat-1 { background: #e8f1ff; color: #2459b8; }
.cat-2 { background: #e7f6ec; color: #1d7a43; }
.cat-3 { background: #fdebf3; color: #b0306c; }
.cat-4 { background: #f0f0ee; color: #5b6068; }
.board-empty { text-align: center; padding: 56px 20px; background: #fff; border: 1px dashed #e0e0de; border-radius: 14px; color: #777; }
.board-empty .primary { margin-top: 8px; padding: 13px 24px; font-size: 15px; }
.pager { display: flex; justify-content: center; align-items: center; gap: 18px; margin: 26px 0 0; font-weight: 700; color: #6b6f76; }
.board-foot-note { margin: 28px 0 0; text-align: center; font-size: 13px; color: #8a8f96; }
.board-foot-note a { text-decoration: underline; }
.board-detail { max-width: 760px; padding-top: 44px; }
.back-link { display: inline-block; margin-bottom: 16px; font-weight: 700; color: #6b6f76; }
.post-full { background: #fff; border: 1px solid #e6e7e8; border-radius: 16px; padding: 28px 30px; }
.post-full h1 { font-size: 26px; letter-spacing: -.8px; line-height: 1.4; margin: 4px 0 18px; overflow-wrap: anywhere; }
.post-body { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.85; color: #33383f; }
.post-full-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 28px; padding-top: 20px; border-top: 1px solid #f0f0ee; }
.like-btn-big { padding: 11px 20px; font-size: 15px; }
.post-tools { display: flex; align-items: center; gap: 12px; }
.text-btn { border: 0; background: none; padding: 0; color: #8a8f96; font-size: 13px; font-weight: 600; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.muted-text { color: #8a8f96; font-size: 13px; }
.delete-box { position: relative; }
.delete-box summary { list-style: none; }
.delete-box summary::-webkit-details-marker { display: none; }
.delete-box form { position: absolute; right: 0; top: 24px; z-index: 5; display: flex; gap: 6px; background: #fff; border: 1px solid #e6e7e8; border-radius: 10px; padding: 8px; box-shadow: 0 8px 20px rgba(0,0,0,.08); }
.delete-box input { width: 140px; padding: 8px 10px; border: 1px solid #dedede; border-radius: 7px; }
.delete-box .secondary { padding: 8px 12px; font-size: 13px; }
.comments { margin-top: 26px; }
.comments h2 { display: flex; align-items: center; gap: 8px; font-size: 18px; margin: 0 0 12px; }
.comment { padding: 14px 4px; border-bottom: 1px solid #efefed; }
.comment-head { display: flex; align-items: center; gap: 8px; }
.comment-tools { margin-left: auto; display: flex; gap: 12px; }
.comment p { margin: 6px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.7; color: #3d434b; }
.comment-empty { color: #8a8f96; font-size: 14px; padding: 6px 4px 14px; }
.comment-form { display: grid; gap: 8px; margin-top: 16px; background: #fff; border: 1px solid #e6e7e8; border-radius: 14px; padding: 14px; }
.comment-ids { display: flex; gap: 8px; }
.comment-ids input, .comment-form textarea { flex: 1; min-width: 0; padding: 10px 12px; border: 1px solid #dedede; border-radius: 9px; background: #fff; }
.comment-form textarea { resize: vertical; }
.comment-form .primary { justify-self: end; padding: 11px 20px; font-size: 15px; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.write-form { margin-top: 18px; }
.cat-pick { border: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.cat-pick legend { font-weight: 750; margin-bottom: 9px; padding: 0; }
.cat-radio input { position: absolute; opacity: 0; }
.cat-radio .cat-chip { padding: 8px 15px; font-size: 14px; cursor: pointer; border: 2px solid transparent; }
.cat-radio input:checked + .cat-chip { border-color: currentColor; }
.cat-radio input:focus-visible + .cat-chip { outline: 3px solid #ef7300; outline-offset: 2px; }
.write-ids { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.board-rules { background: #f7f7f5; border-radius: 12px; padding: 14px 18px; margin: 4px 0 14px; }
.board-rules h2 { font-size: 15px; margin: 0 0 6px; }
.board-rules ul { margin: 0; padding-left: 18px; }
.board-rules li { font-size: 13px; color: #5b6068; line-height: 1.8; }
.admin-item { margin-bottom: 10px; padding: 20px 22px; }
.admin-item h3 { margin: 4px 0 8px; font-size: 16px; }
.admin-body { white-space: pre-wrap; color: #4f5660; font-size: 14px; }
.inline-actions { display: flex; gap: 8px; }
.inline-actions .secondary { padding: 8px 14px; font-size: 13px; }
.secondary.danger { color: #c0392b; border-color: #f0c4be; }
.strong-link { font-weight: 800; color: #bd5c00; }
@media (max-width: 680px) {
  .board-hero { flex-direction: column; align-items: stretch; padding-top: 40px; }
  .board-hero h1 { font-size: 28px; }
  .board-search { max-width: none; flex-basis: 100%; }
  .post-full { padding: 22px 18px; }
  .write-ids, .comment-ids { grid-template-columns: 1fr; flex-direction: column; }
}
.comment-tools, .post-tools { align-items: center; }
.comment-tools > form, .post-tools > form, .delete-box summary { display: flex; margin: 0; line-height: 1; }

/* Report list: summary counts, masked titles and step bars. */
.report-stats { display: flex; gap: 8px; margin: 0; }
.report-stats div { display: flex; align-items: baseline; gap: 6px; padding: 6px 12px; background: #fff; border: 1px solid #ececea; border-radius: 999px; font-size: 13px; }
.report-stats dt { color: #8a8f96; }
.report-stats dd { margin: 0; font-weight: 800; color: #202630; }
.case-cat { display: inline-block; margin-right: 8px; padding: 2px 8px; border-radius: 6px; background: #f3f3f1; color: #6b6f76; font-size: 12px; font-weight: 700; vertical-align: 1px; }
.private-title { display: inline-flex; align-items: center; gap: 5px; color: #9a9ea5; font-weight: 600; }
.step-bar { display: inline-flex; flex-direction: column; gap: 5px; }
.step-badge { display: inline-block; width: max-content; padding: 4px 10px; border-radius: 20px; background: #fff0df; color: #c66300; font-size: 12px; font-weight: 750; }
.step-bar.done .step-badge { background: #e7f6ec; color: #1d7a43; }
.step-dots { display: flex; gap: 3px; }
.step-dots i { width: 14px; height: 4px; border-radius: 2px; background: #ececea; }
.step-dots i.on { background: #ef7300; }
.step-bar.done .step-dots i.on { background: #2e9d5b; }
.stepper-panel { margin-bottom: 16px; }
.stepper { list-style: none; display: grid; grid-template-columns: repeat(6, 1fr); margin: 0; padding: 0; counter-reset: step; }
.stepper li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.stepper li + li::before { content: ''; position: absolute; top: 15px; right: 50%; width: 100%; height: 3px; background: #ececea; z-index: 0; }
.stepper li.done + li::before, .stepper li.done + li.now::before { background: #ef7300; }
.stepper-dot { position: relative; z-index: 1; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-size: 14px; font-weight: 800; background: #f1f1f0; color: #9a9ea5; border: 2px solid #fff; }
.stepper li.done .stepper-dot { background: #ef7300; color: #fff; }
.stepper li.now .stepper-dot { background: #fff; color: #ef7300; border-color: #ef7300; box-shadow: 0 0 0 5px #fff1e3; }
.stepper-label { font-size: 13px; font-weight: 700; color: #9a9ea5; line-height: 1.35; word-break: keep-all; }
.stepper li.done .stepper-label { color: #6b6f76; }
.stepper li.now .stepper-label { color: #202630; }
.stepper-desc { margin: 20px 0 0; padding: 14px 16px; background: #fff7ef; border-radius: 10px; color: #5b5249; line-height: 1.7; font-size: 14px; }
.stepper-desc b { color: #b45400; margin-right: 6px; }
@media (max-width: 680px) {
  .section-head { flex-wrap: wrap; }
  .report-stats div { padding: 5px 10px; }
  .step-dots { display: none; }
  .case-cat { display: none; }
  .stepper-label { font-size: 11px; }
  .stepper-dot { width: 26px; height: 26px; font-size: 12px; }
  .stepper li + li::before { top: 12px; }
}

/* Public report detail and visibility choice. */
.case-link { color: inherit; }
.case-link:hover { color: #df6900; text-decoration: underline; text-underline-offset: 3px; }
.tr:has(.case-link):hover { background: #fffaf4; }
.public-case-meta { display: flex; align-items: center; gap: 4px; margin: 14px 0 6px !important; font-size: 14px; }
.public-case h2 { font-size: 17px; margin: 0 0 10px; }
.public-case h2 + .public-case-body { margin-bottom: 26px; }
.public-case-body { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.85; color: #33383f; }
.public-case-body:last-child { margin-bottom: 0; }
.public-case-notice { margin: 14px 4px 0; font-size: 13px; color: #8a8f96; line-height: 1.7; }
.public-case-notice a { font-weight: 700; color: #bd5c00; }
.visibility-pick { border: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.visibility-pick legend { font-weight: 750; margin-bottom: 9px; padding: 0; }
.visibility-pick legend small { color: #c66300; }
.vis-option { display: flex; gap: 10px; align-items: flex-start; padding: 14px 16px; border: 1.5px solid #e2e3e5; border-radius: 12px; background: #fff; cursor: pointer; }
.vis-option input { margin-top: 4px; accent-color: #ef7300; }
.vis-option span { font-size: 13px; color: #626973; line-height: 1.6; }
.vis-option b { display: block; font-size: 15px; color: #202630; margin-bottom: 3px; }
.vis-option:has(input:checked) { border-color: #ef7300; background: #fff8f1; }
@media (max-width: 680px) { .visibility-pick { grid-template-columns: 1fr; } }
.visibility-pick label.vis-option { display: flex; margin: 0; font-weight: 400; }
.visibility-pick .vis-option input { width: auto; flex-shrink: 0; padding: 0; }

/* Home latest list and full report list page. */
.section-head h2 { display: flex; align-items: center; gap: 10px; }
.live-dot { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; background: #e7f6ec; color: #1d7a43; font-size: 12px; font-weight: 800; letter-spacing: 0; }
.live-dot::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #2e9d5b; animation: live-pulse 1.6s ease-in-out infinite; }
@keyframes live-pulse { 50% { opacity: .3; } }
@media (prefers-reduced-motion: reduce) { .live-dot::before { animation: none; } }
.see-all { font-size: 14px; font-weight: 750; color: #bd5c00; white-space: nowrap; }
[data-live-list] > .report-stats, .reports-page > .report-stats { margin-bottom: 12px; }
.reports-page { padding-top: 14px; }
.reports-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 40px 0 22px; }
.reports-head h1 { font-size: 34px; letter-spacing: -1.2px; margin: 0; }
.reports-head .primary { padding: 13px 22px; font-size: 15px; }
.pager b { color: #202630; }
.pager a, .pager b { min-width: 28px; text-align: center; }
@media (max-width: 680px) { .reports-head h1 { font-size: 26px; } .reports-head .primary { padding: 11px 16px; } }

/* Admin: list editor. */
.list-items { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 10px; }
.list-item { border: 1px solid #e6e7e8; border-radius: 12px; padding: 12px 14px; background: #fcfcfb; }
.list-item.li-new { border-color: #ffc994; background: #fffaf4; }
.list-item { position: relative; }
.li-tools { display: flex; justify-content: flex-end; gap: 6px; margin-bottom: 8px; }
.li-num { position: absolute; top: 14px; left: 14px; font-weight: 800; color: #bd5c00; }
.li-btn { border: 1px solid #dedede; background: #fff; border-radius: 7px; padding: 4px 10px; font-size: 13px; font-weight: 700; color: #4f5660; }
.li-btn:hover { border-color: #ef7300; color: #bd5c00; }
.li-del { color: #c0392b; border-color: #f0c4be; }
.li-fields { display: grid; gap: 10px; }
.li-field { display: grid; gap: 4px; font-size: 13px; font-weight: 700; color: #6b6f76; }
.li-field.wide { grid-column: 1 / -1; }
.li-field input, .li-field textarea, .li-field select { width: 100%; padding: 9px 11px; border: 1px solid #d8dadd; border-radius: 8px; background: #fff; font-weight: 400; color: #202630; line-height: 1.6; }
.li-field textarea { resize: vertical; }
.li-add { margin-bottom: 18px; padding: 10px 16px; font-size: 14px; }
.li-count { font-size: 14px; color: #8a8f96; font-weight: 600; }
.pre-line { white-space: pre-line; }
.compact .list-item { display: flex; align-items: center; gap: 12px; padding: 8px 10px; }
.compact .li-tools { order: 2; margin: 0; }
.compact .li-num { position: static; min-width: 22px; }
.compact .li-fields { flex: 1; display: block; }
.compact .li-field > span { position: absolute; left: -9999px; }

/* Home blocks: board cards, notice, process summary, FAQ preview. */
.home-blocks > .section:first-child { margin-top: 40px; }
.home-board-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.home-board-card { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px; background: #fff; border: 1px solid #e6e7e8; border-radius: 14px; }
.home-board-card:hover { color: inherit; border-color: #ffc994; box-shadow: 0 6px 18px rgba(239,115,0,.08); }
.home-board-card .cat-chip { align-self: flex-start; }
.home-board-card strong { font-size: 15px; line-height: 1.5; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; }
.home-board-meta { display: flex; align-items: center; gap: 4px; margin-top: auto; color: #8a8f96; font-size: 13px; }
.home-board-meta .ico { width: 14px; height: 14px; }
.home-notice { background: #fff7ef; border: 1px solid #ffd9b3; border-radius: 16px; padding: 26px 28px; }
.home-notice h2 { font-size: 21px; margin: 0 0 8px; }
.home-notice p { margin: 0 0 16px; color: #5b5249; line-height: 1.8; }
.home-notice p:last-child { margin-bottom: 0; }
.home-notice .primary { padding: 12px 22px; font-size: 15px; }
.home-process-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.home-process-steps li { background: #fff; border: 1px solid #e6e7e8; border-radius: 14px; padding: 18px 20px; }
.home-process-steps strong { display: block; margin: 6px 0 6px; font-size: 16px; }
.home-process-steps p { margin: 0; color: #626973; font-size: 14px; line-height: 1.7; }
.home-faq .info-card { margin: 0; }

/* Home hero with people illustrations on both sides (text and button stay centered). */
.hero-art { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: end; gap: 12px; padding: 64px 0 40px; }
.hero-art .hero-copy { align-self: center; padding: 0 8px 26px; }
.hero-art .hero-copy h1 { word-break: keep-all; }
.hero-side { display: block; width: 100%; max-width: 330px; height: auto; }
.hero-side-left { justify-self: end; }
.hero-side-right { justify-self: start; }
@media (max-width: 980px) {
  .hero-art { grid-template-columns: 1fr 1fr; padding: 70px 0 34px; gap: 6px; }
  .hero-art .hero-copy { grid-column: 1 / -1; order: -1; padding-bottom: 14px; }
  .hero-side { max-width: 260px; }
}
