.report-page {
  --report-ink: #173b55;
  --report-blue: #168fc0;
  --report-deep: #0879a9;
  --report-paper: #f8f7f1;
  --report-card: #fffefa;
  --report-muted: #587081;
  --report-line: #d9e3e4;
  --report-sage: #e7eee5;
  --report-sand: #f3e8d7;
  --report-coral: #bd765d;
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  color: var(--report-ink);
  background: radial-gradient(ellipse at 84% 10%, rgba(225,239,237,.72), transparent 34rem), var(--report-paper);
  font-family: "SOS Arabic", "Noto Naskh Arabic", Tahoma, sans-serif;
  isolation: isolate;
}
.report-page *, .report-page *::before, .report-page *::after { box-sizing: border-box; }
.report-page::before { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.11; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E"); }
.report-page button, .report-page input, .report-page textarea, .report-page select { font: inherit; }
.report-page :focus-visible { outline:3px solid var(--report-coral); outline-offset:3px; }
.report-topbar { width:min(1120px,calc(100% - 64px)); min-height:94px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:18px; border-bottom:1px solid rgba(23,59,85,.11); }
.report-brand { display:flex; align-items:center; gap:22px; min-width:0; }
.report-brand img { display:block; width:192px; max-height:none; height:auto; padding:0; border-radius:0; background:transparent; object-fit:contain; }
.area-badge { display:inline-flex; align-items:center; gap:7px; }
.area-badge svg { flex:0 0 auto; }
.report-back { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:8px 15px; border:1px solid #cad9dc; border-radius:999px; color:var(--report-ink); background:rgba(255,254,250,.72); text-decoration:none; transition:background .2s,border-color .2s,transform .2s; }
.report-back:hover { background:var(--report-card); border-color:#82b9ca; transform:translateY(-1px); }
.report-heading { margin:0; color:#244b62; font-size:17px; }
.report-form-topbar { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); }
.report-channel-title { margin:0; text-align:center; color:var(--report-ink); font-size:20px; font-weight:700; line-height:1.6; }
.report-header-actions { display:flex; align-items:center; justify-content:flex-end; gap:12px; flex-wrap:wrap; }
.report-footer { width:min(1120px,calc(100% - 36px)); margin:12px auto 0; padding:22px 12px; border-top:1px solid rgba(23,59,85,.11); color:#536c78; text-align:center; font-size:14px; line-height:1.8; }
.area-badge { color:var(--report-deep); background:#e7f4f8; border:1px solid #c8e2e9; border-radius:999px; padding:7px 14px; font-size:14px; white-space:nowrap; }
.progress-wrap { height:4px; background:#e1e9e5; }
.progress-fill { height:100%; width:0; background:var(--report-blue); transition:width .35s ease; }
.steps-bar { min-height:58px; display:flex; align-items:center; justify-content:center; gap:8px; }
.step-dot { width:29px; height:29px; display:grid; place-items:center; flex:0 0 auto; border:1px solid #cbd9d9; border-radius:50%; color:#71868b; background:#fffefa; font-size:12px; transition:background .2s,border-color .2s,color .2s; }
.step-dot.active { color:#fff; background:var(--report-deep); border-color:var(--report-deep); }
.step-dot.done { color:#fff; background:#4c968d; border-color:#4c968d; }
.step-line { width:32px; height:1px; background:#d4dfdc; }
.step-line.done { background:#4c968d; }
.container { width:min(780px,calc(100% - 48px)); margin:0 auto; padding:22px 0 64px; }
.form-intro { margin:0 0 22px; }
.form-intro h1 { margin:0 0 7px; color:#153d59; font-size:clamp(27px,4vw,36px); line-height:1.5; }
.form-intro p { margin:0; color:#536d7b; font-size:16px; line-height:1.8; }
.notice { display:flex; gap:12px; align-items:flex-start; padding:15px 17px; margin-bottom:19px; border:1px solid #e6dfcf; border-inline-start:3px solid var(--report-coral); border-radius:4px 14px 14px 4px; color:#536c78; background:rgba(255,254,250,.86); font-size:14px; line-height:1.8; }
.notice strong { color:#244b62; }
.notice svg { color:#a76f4c; flex:0 0 auto; margin-top:4px; }
.report-introduction { min-width:0; }
.report-introduction > p:first-child > strong { font-size:22px; line-height:1.6; }
.report-introduction p { margin:0; }
.report-introduction p + p { margin-top:16px; }
.card, .urgency-card, .submit-area { margin-bottom:16px; overflow:hidden; border:1px solid #d9e4e3; border-radius:19px; background:var(--report-card); box-shadow:0 9px 28px rgba(36,72,83,.045); animation:report-in .42s ease both; }
.card-header { padding:14px 22px; border-bottom:1px solid #e6ece7; background:#f2f6f0; color:#244b62; }
.card-header h2, .urgency-card h2 { display:flex; align-items:center; gap:11px; margin:0; font-size:17px; line-height:1.6; }
.section-mark { display:grid; place-items:center; width:34px; height:34px; flex:0 0 auto; border-radius:12px; color:#287f86; background:#e1efeb; }
.section-mark svg { width:19px; height:19px; }
.card-body { padding:22px; }
.form-group { margin-bottom:21px; }
.form-group:last-child { margin-bottom:0; }
.report-page label.field-label { display:block; margin:0 0 8px; color:#244b62; font-size:14px; font-weight:700; }
.required::after { content:" *"; color:#a8513f; }
.report-page input[type=text], .report-page input[type=date], .report-page input[type=number], .report-page select, .report-page textarea { width:100%; min-height:49px; padding:11px 14px; border:1px solid #bdced0; border-radius:11px; color:var(--report-ink); background:#fff; direction:inherit; text-align:start; transition:border-color .18s,box-shadow .18s,background .18s; }
.report-page textarea { min-height:104px; resize:vertical; line-height:1.8; }
.report-page input::placeholder,.report-page textarea::placeholder { color:#82939a; opacity:1; }
.report-page input:focus-visible,.report-page textarea:focus-visible,.report-page select:focus-visible { border-color:var(--report-blue); outline:3px solid rgba(22,143,192,.2); outline-offset:1px; }
.report-page .error-field { border-color:#a8513f!important; box-shadow:0 0 0 3px rgba(189,118,93,.13); }
.checkbox-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.check-item,.radio-item { display:flex; align-items:center; gap:10px; min-height:48px; padding:10px 13px; border:1px solid #d9e3e3; border-radius:12px; color:#38596a; background:#f8f8f1; cursor:pointer; transition:background .18s,border-color .18s,transform .18s; }
.check-item:hover,.radio-item:hover { border-color:#8dbfce; background:#eef6f3; }
.check-item:focus-within,.radio-item:focus-within { outline:3px solid rgba(22,143,192,.22); outline-offset:2px; }
.check-item.checked,.radio-item.selected { border-color:#75aeb5; background:#eaf4f1; }
.check-item input,.radio-item input { width:18px; height:18px; flex:0 0 auto; margin:0; accent-color:#0879a9; cursor:pointer; }
.check-label { font-size:14px; font-weight:700; }
.check-item small { display:block; margin-top:2px; color:#71858a; font-size:12px; line-height:1.5; }
.check-item > div { min-width:0; }
.radio-group { display:flex; flex-wrap:wrap; gap:9px; }
.radio-group.column { flex-direction:column; }
.radio-item label { margin:0!important; color:inherit!important; font-size:14px!important; font-weight:500!important; cursor:pointer; }
.radio-item.selected label { font-weight:700!important; }
.two-col { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.urgency-card { padding:20px 22px; border-color:#e5d5b7; background:#f8f2e3; }
.urgency-card h2 { margin:0 0 18px; color:#805f39; }
.urgency-card .section-mark { background:#f1e6ce; color:#9a7041; }
.conditional-field { overflow:hidden; max-height:0; opacity:0; transition:max-height .25s ease,opacity .25s ease,margin .25s ease; margin-top:0; }
.conditional-field.visible { max-height:100px; opacity:1; margin-top:10px; }
.conditional-field[aria-hidden="true"] { visibility:hidden; }
.anon-notice { display:none; padding:11px 14px; margin-top:10px; border:1px solid #cbded0; border-radius:11px; color:#466852; background:#edf3e9; font-size:13px; line-height:1.75; }
.anon-notice.show { display:block; }
.file-drop { display:block; width:100%; padding:23px 18px; border:1px dashed #9ab7b7; border-radius:14px; text-align:center; background:#f5f7ef; cursor:pointer; transition:border-color .18s,background .18s,transform .18s; }
.file-drop:hover,.file-drop.drag-over { border-color:#168fc0; background:#eaf4f2; }
.file-drop:focus-visible { outline:3px solid var(--report-coral); outline-offset:3px; }
.file-drop-icon { display:grid; place-items:center; width:42px; height:42px; margin:0 auto 9px; border-radius:15px; color:#287f86; background:#e1efeb; }
.file-drop-icon svg { width:22px; height:22px; }
.file-drop-text { color:#31576a; font-weight:700; font-size:14px; }
.file-drop-hint,.upload-note { display:block; margin:6px 0 0; color:#71858a; font-size:12px; line-height:1.7; }
.upload-note { margin-top:12px; padding:11px 13px; border-inline-start:2px solid #c89575; border-radius:4px 9px 9px 4px; color:#65564d; background:#f7f1e6; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.file-list { display:flex; flex-direction:column; gap:7px; margin-top:11px; }
.file-item { display:flex; align-items:center; gap:10px; padding:9px 12px; border:1px solid #d7e3d7; border-radius:10px; background:#f1f5ed; }
.file-item-name { flex:1; min-width:0; overflow:hidden; color:#466852; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.file-item-size { flex:0 0 auto; color:#71858a; font-size:12px; }
.file-remove { min-width:38px; min-height:38px; border:1px solid #e4c7bd; border-radius:10px; color:#8b4439; background:#fff8f3; cursor:pointer; }
.file-remove:hover { background:#f8e9e1; }
.inline-error { display:none; margin-top:8px; color:#8b4439; font-size:13px; }
.inline-error.show { display:block; }
.submit-area { padding:22px; }
.submit-btn { display:flex; justify-content:center; align-items:center; gap:10px; width:100%; min-height:54px; padding:13px 18px; border:0; border-radius:13px; color:#fffefa; background:#0879a9; font-size:16px; font-weight:700; cursor:pointer; transition:background .18s,transform .18s; }
.submit-btn:hover:not(:disabled) { background:#08678f; transform:translateY(-1px); }
.submit-btn:disabled { background:#829da1; cursor:wait; }
.submit-btn svg { width:20px; height:20px; }
.submit-note { margin:12px 0 0; color:#71858a; text-align:center; font-size:13px; line-height:1.75; }
.overlay { position:fixed; inset:0; z-index:20; display:none; align-items:center; justify-content:center; flex-direction:column; gap:17px; padding:24px; background:rgba(23,59,85,.82); }
.overlay.show { display:flex; }
.spinner { width:42px; height:42px; border:3px solid rgba(255,254,250,.35); border-top-color:#b9d8d0; border-radius:50%; animation:report-spin .8s linear infinite; }
.overlay-text { color:#fffefa; text-align:center; font-size:16px; font-weight:700; line-height:1.8; }
.overlay-text span { font-size:13px; font-weight:400; opacity:.8; }
.toast { position:fixed; z-index:30; left:50%; right:auto; bottom:max(18px,env(safe-area-inset-bottom)); width:max-content; max-width:min(90vw,480px); padding:12px 18px; border:1px solid rgba(255,255,255,.28); border-radius:12px; color:#fffefa; background:#173b55; text-align:center; line-height:1.6; opacity:0; transform:translate(-50%,8px); pointer-events:none; transition:opacity .2s,transform .2s; }
.toast.show { opacity:1; transform:translate(-50%,0); }
@keyframes report-in { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }
@keyframes report-spin { to { transform:rotate(360deg); } }
@media (max-width:960px) {
  .report-form-topbar { grid-template-columns:minmax(0,1fr) auto; padding-block:12px; }
  .report-channel-title { grid-column:1/-1; grid-row:2; font-size:19px; }
  .report-header-actions { gap:8px; }
}
@media (max-width:680px) {
  .report-topbar { width:calc(100% - 36px); min-height:78px; gap:10px; flex-wrap:wrap; padding-block:10px; }
  .report-brand { gap:12px; }
  .report-brand img { width:132px; }
  .report-form-topbar .report-header-actions { flex-direction:column; gap:5px; }
  .report-heading { display:none; }
  .report-back { min-height:42px; padding:7px 11px; font-size:14px; }
  .area-badge { max-width:38vw; overflow:hidden; text-overflow:ellipsis; font-size:13px; }
  .container { width:calc(100% - 36px); padding-top:18px; }
  .form-intro h1 { font-size:28px; }
  .form-intro p { font-size:15px; }
  .steps-bar { min-height:51px; gap:6px; }
  .step-line { width:20px; }
  .card,.urgency-card,.submit-area { border-radius:16px; margin-bottom:13px; }
  .card-header { padding:12px 15px; }
  .card-header h2,.urgency-card h2 { font-size:16px; }
  .card-body,.urgency-card,.submit-area { padding:17px; }
  .checkbox-group { grid-template-columns:1fr; }
  .two-col { grid-template-columns:1fr; gap:0; }
  .radio-group:not(.column) .radio-item { flex:1 1 135px; }
}
@media (max-width:380px) {
  .report-form-topbar .report-brand img { width:110px; }
}
@media (prefers-reduced-motion:reduce) {
  .report-page *, .report-page *::before, .report-page *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
}

.confirmation-page { padding:0 0 34px; }
.confirmation-brand img { display:block; width:192px; height:auto; }
.confirmation-main { width:min(720px,calc(100% - 48px)); margin:42px auto 0; }
.confirmation-card { padding:clamp(24px,5vw,46px); border:1px solid #d9e4e3; border-radius:23px; background:var(--report-card); box-shadow:0 12px 34px rgba(36,72,83,.065); animation:report-in .45s ease both; }
.confirmation-symbol { width:54px; height:54px; display:grid; place-items:center; margin:0 auto 16px; border-radius:19px; color:#287f86; background:#e1efeb; }
.confirmation-eyebrow { margin:0; text-align:center; color:var(--report-deep); font-size:14px; font-weight:700; }
.confirmation-card h1 { margin:7px 0 9px; color:#153d59; text-align:center; font-size:clamp(27px,5vw,37px); line-height:1.5; }
.confirmation-lead { max-width:550px; margin:0 auto 24px; color:#536d7b; text-align:center; font-size:16px; line-height:1.85; }
.confirmation-ref { padding:15px 18px; margin:0 0 17px; border:1px solid #c8e2e9; border-radius:14px; background:#eaf5f5; text-align:center; }
.confirmation-label { display:block; margin-bottom:4px; color:#557080; font-size:13px; font-weight:700; }
.confirmation-ref-value { display:block; color:#153d59; font-family:ui-monospace,"Courier New",monospace; font-size:clamp(19px,4vw,25px); letter-spacing:.055em; line-height:1.6; overflow-wrap:anywhere; }
.confirmation-urgent { display:flex; align-items:flex-start; gap:12px; padding:14px 15px; margin:0 0 17px; border:1px solid #e3d6b4; border-radius:13px; color:#65543e; background:#f8f2e3; line-height:1.75; }
.confirmation-urgent p { margin:0; }
.confirmation-urgent strong { color:#765b37; }
.confirmation-note-mark { flex:0 0 auto; color:#9a7041; margin-top:2px; }
.confirmation-track { padding:20px; margin:18px 0; border:1px solid #c8dfe4; border-radius:17px; background:#eef5f2; }
.confirmation-track-heading { display:flex; gap:12px; align-items:flex-start; }
.confirmation-track-symbol { width:40px; height:40px; flex:0 0 auto; display:grid; place-items:center; border-radius:14px; color:#287f86; background:#dcece7; }
.confirmation-track h2 { margin:0 0 3px; color:#244b62; font-size:17px; line-height:1.6; }
.confirmation-track-heading p { margin:0; color:#5c747c; font-size:14px; line-height:1.75; }
.confirmation-url { margin:14px 0 10px; padding:12px 14px; border:1px solid #cadbd7; border-radius:11px; color:#244b62; background:#fffefa; text-align:left; font:13px/1.6 ui-monospace,"Courier New",monospace; overflow-wrap:anywhere; user-select:all; }
.confirmation-copy { min-height:44px; padding:9px 16px; border:1px solid #86b8bd; border-radius:11px; color:#176f81; background:#fffefa; font-weight:700; cursor:pointer; transition:background .18s,border-color .18s,transform .18s; }
.confirmation-copy:hover { border-color:#168fc0; background:#e5f1ee; transform:translateY(-1px); }
.confirmation-feedback { min-height:1.5em; margin:5px 0 0; color:#536d7b; font-size:13px; line-height:1.6; }
.confirmation-no-track { margin:18px 0; padding:14px 16px; border:1px solid #e6dfcf; border-radius:12px; color:#536c78; background:#fbf6eb; line-height:1.75; }
.confirmation-privacy { display:flex; align-items:flex-start; gap:10px; padding:13px 15px; border:1px solid #e6dfcf; border-radius:13px; color:#536c78; background:#fbf6eb; line-height:1.75; }
.confirmation-privacy svg { flex:0 0 auto; margin-top:3px; color:#a76f4c; }
.confirmation-privacy p { margin:0; }
.confirmation-actions { display:flex; flex-direction:column; gap:10px; align-items:stretch; margin-top:20px; }
.confirmation-primary,.confirmation-secondary { min-height:48px; display:flex; align-items:center; justify-content:center; padding:10px 17px; border-radius:12px; text-align:center; text-decoration:none; font-weight:700; transition:background .18s,border-color .18s,transform .18s; }
.confirmation-primary { border:1px solid #0879a9; color:#fffefa!important; background:#0879a9; }
.confirmation-primary:hover { background:#08678f; transform:translateY(-1px); }
.confirmation-secondary { border:1px solid #bdced0; color:#176f81!important; background:#fffefa; }
.confirmation-secondary:hover { border-color:#82b9ca; background:#eef6f3; }
.confirmation-footer { margin-top:23px; color:#7b8c8e; text-align:center; font-size:12px; }
.confirmation-page a:focus-visible,.confirmation-page button:focus-visible { outline:3px solid var(--report-coral); outline-offset:3px; }
@media(max-width:680px) {
  .confirmation-brand img { width:148px; }
  .confirmation-main { width:calc(100% - 36px); margin-top:22px; }
  .confirmation-card { padding:25px 19px; border-radius:18px; }
  .confirmation-track { padding:15px; }
}
