:root{
  --report-primary:#2563eb;
  --report-primary-soft:#eff6ff;
  --report-success:#16a34a;
  --report-success-soft:#f0fdf4;
  --report-danger:#b91c1c;
  --report-warning:#b45309;
  --report-line:#dbe4ee;
  --report-bg:#f5f8fc;
  --report-ink:#0f172a;
  --report-muted:#64748b;
}
.report-form-root{display:block}
.report-status{margin:0 0 14px 0;padding:12px 14px;border-radius:14px;font-weight:900}
.report-status.is-error{background:#fff7f7;border:1px solid #ffd6d6;color:#7a1f1f}
.report-status.is-success{background:#f5fff7;border:1px solid #d2f1d8;color:#166534}
.report-shell{padding:18px;border:1px solid #e5e7eb;border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.06)}
.report-empty-state{text-align:center;color:#475569}.report-empty-state__icon{font-size:2rem}
.report-step-mobile{display:none;margin:0 0 10px 0;color:var(--report-muted);font-weight:900;font-size:.9rem}
.report-steps{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:0;margin:0 0 16px 0}
.report-step{position:relative;display:flex;gap:10px;align-items:center;justify-content:flex-start;padding:12px 14px;border:1px solid var(--report-line);border-radius:16px;background:#fff;transition:.16s ease;cursor:pointer;min-height:58px}
.report-step__num{width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;background:#e2e8f0;color:#0f172a;flex:0 0 32px;font-size:.92rem}
.report-step__text strong{display:block;font-size:1rem;color:var(--report-ink);line-height:1.1}
.report-step__text small{display:none}
.report-step.is-active{border-color:#93c5fd;background:#f8fbff;box-shadow:0 0 0 3px rgba(37,99,235,.07)}
.report-step.is-active .report-step__num{background:var(--report-primary);color:#fff}
.report-step.is-complete{border-color:#bbf7d0;background:var(--report-success-soft)}
.report-step.is-complete .report-step__num{background:var(--report-success);color:#fff}
.report-step.is-disabled{opacity:.6;cursor:default}
.report-step[title]{position:relative}.report-step[title]:hover::after{content:attr(title);position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);padding:8px 10px;border-radius:10px;background:#0f172a;color:#fff;font-size:12px;line-height:1;font-weight:800;white-space:nowrap;box-shadow:0 12px 30px rgba(2,6,23,.25);z-index:30}.report-step[title]:hover::before{content:'';position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%);border:6px solid transparent;border-top-color:#0f172a;z-index:30}
.report-panel{display:none;padding:16px;border:1px solid #eef2f7;border-radius:18px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
.report-panel.is-active{display:block}
.report-panel__header{margin-bottom:14px}
.report-panel__eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:900;color:var(--report-primary);text-transform:uppercase;letter-spacing:.04em}
.report-panel__title{margin:6px 0 0 0;font-size:1.32rem;line-height:1.15;color:var(--report-ink)}
.report-panel__intro{margin:8px 0 0 0;color:#475569;line-height:1.55;max-width:760px;font-size:.96rem}
.report-label{display:block;font-weight:900;color:var(--report-ink)}
.report-label--spaced{margin-top:16px}
.report-address-field{position:relative}
.report-input{width:100%;margin-top:8px;border:1px solid #d6deea;border-radius:14px;padding:14px 15px;background:#fff;color:#0f172a;box-sizing:border-box;transition:border-color .15s ease, box-shadow .15s ease}
.report-input:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.report-input--lg{min-height:170px;resize:vertical}
.report-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px}
.report-map-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}
.report-map-help{margin-top:10px}.report-map{position:relative;width:100% !important;min-width:100%;max-width:none;height:400px;border:1px solid #dbe4ee;border-radius:18px;background:#f8fafc;margin-top:12px;overflow:hidden;display:block}.report-map .leaflet-container{width:100%!important;height:100%!important}.report-map .leaflet-tile,.report-map .leaflet-marker-icon,.report-map .leaflet-marker-shadow{max-width:none !important;width:auto !important;height:auto !important}
.report-map-msg{margin-top:8px}
.report-suggest{position:absolute;left:0;right:0;top:100%;margin-top:6px;background:#fff;border:1px solid #dbe4ee;border-radius:14px;box-shadow:0 18px 40px rgba(15,23,42,.12);overflow:hidden;z-index:40}
.report-suggest[hidden]{display:none !important}
.report-suggest__item{display:block;width:100%;padding:12px 14px;border:0;background:#fff;text-align:left;cursor:pointer;font-weight:800;color:#0f172a}
.report-suggest__item:hover,.report-suggest__item:focus{background:#f8fafc}
.report-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.report-type-card{position:relative;display:block;border:1px solid #dbe4ee;border-radius:18px;background:#fff;padding:16px 18px;cursor:pointer;transition:.16s ease;min-height:98px;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.report-type-card:hover{transform:translateY(-1px);border-color:#93c5fd;box-shadow:0 14px 30px rgba(15,23,42,.08)}
.report-type-card.is-selected{border-color:#60a5fa;background:#f8fbff;box-shadow:0 0 0 3px rgba(37,99,235,.09)}
.report-type-card__input{position:absolute;inset:0;opacity:0;cursor:pointer}
.report-type-card__tick{position:absolute;top:14px;right:14px;width:26px;height:26px;border-radius:999px;background:#e2e8f0;color:#94a3b8;display:inline-flex;align-items:center;justify-content:center;font-weight:900;transition:.15s ease}
.report-type-card.is-selected .report-type-card__tick{background:#16a34a;color:#fff}
.report-type-card__body strong{display:block;font-size:1.02rem;color:var(--report-ink);line-height:1.25;padding-right:34px}
.report-type-card__body small{display:block;margin-top:8px;color:var(--report-muted);font-weight:700;line-height:1.45}
.report-upload-wrap{padding:18px;border:1px dashed #cbd5e1;border-radius:18px;background:#fafcff}
.report-upload-head{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px}.report-upload-head h3{margin:0;font-size:1.08rem}.report-upload-head p{margin:6px 0 0 0;color:#64748b}
.report-upload-limit{display:inline-flex;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #e5e7eb;color:#475569;font-weight:800;font-size:.88rem}
.report-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.report-upload-card{position:relative;display:flex;align-items:center;justify-content:center;min-height:150px;border:2px dashed #cbd5e1;border-radius:18px;background:#fff;overflow:hidden;cursor:pointer;transition:.16s ease}
.report-upload-card:hover{border-color:#93c5fd;background:#f8fbff}.report-upload-card.has-file{border-style:solid;border-color:#bfdbfe;background:#eff6ff}
.report-upload-card__input{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:1}
.report-upload-card__placeholder{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;color:#64748b;font-weight:900;text-align:center;padding:18px}
.report-upload-card__icon{width:38px;height:38px;border-radius:999px;background:#eff6ff;color:#2563eb;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:900}
.report-upload-card__preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.report-upload-card__filename{position:absolute;left:10px;right:10px;bottom:54px;padding:8px 10px;border-radius:12px;background:rgba(15,23,42,.74);color:#fff;font-size:.88rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:3}
.report-upload-card__remove{position:absolute;right:10px;bottom:10px;min-width:92px;height:34px;padding:0 12px;border:0;border-radius:999px;background:rgba(15,23,42,.82);color:#fff;font-size:.88rem;font-weight:900;display:none;align-items:center;justify-content:center;cursor:pointer;z-index:4;pointer-events:auto}
.report-upload-card.has-file .report-upload-card__remove{display:inline-flex}
.report-summary-card{margin-top:18px;padding:16px;border:1px solid #dbe4ee;border-radius:18px;background:#f8fafc}
.report-summary-card h3{margin:0 0 10px 0;font-size:1.05rem}.report-summary-list{display:grid;gap:10px}.report-summary-list div{display:grid;gap:4px}.report-summary-list span{font-size:.9rem;font-weight:800;color:#64748b}.report-summary-list strong{font-size:1rem;line-height:1.45;color:#0f172a}
.report-consent{display:flex;gap:10px;align-items:flex-start;font-weight:800;color:#334155;margin-top:18px}.report-consent input{margin-top:4px;flex:0 0 auto}
.report-error{min-height:18px;margin-top:7px;color:var(--report-danger);font-weight:800;font-size:.92rem}.report-field-invalid{border-color:#ef4444 !important;box-shadow:0 0 0 3px rgba(239,68,68,.10) !important}
.report-step-actions{display:flex;margin-top:18px;justify-content:space-between;gap:10px;align-items:center}
.report-step-actions .btn[data-role="next-btn"],.report-step-actions .btn[data-role="submit-btn"]{margin-left:auto}
.report-step-actions .btn[data-role="prev-btn"]{margin-right:auto}
.report-step-actions .btn[hidden]{display:none !important}
.report-success-card{text-align:center;padding:30px 20px;background:linear-gradient(180deg,#f5fff7,#fff);border:1px solid #d2f1d8;border-radius:20px}
.report-success-card__icon{width:74px;height:74px;border-radius:999px;background:#16a34a;color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:900;margin:0 auto 14px auto}
.report-success-card h2{margin:0;font-size:1.5rem}.report-success-card p{margin:10px auto 0 auto;max-width:620px;color:#475569;line-height:1.6}
.report-success-card__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.report-followup-page{max-width:1080px;margin:24px auto 44px auto}
.report-followup-head{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;margin-bottom:16px}
.report-followup-status{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;font-weight:900;font-size:.92rem;border:1px solid #e5e7eb}
.report-followup-status.is-new{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.report-followup-status.is-progress{background:#fff7ed;border-color:#fed7aa;color:#b45309}.report-followup-status.is-done{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.report-followup-status.is-closed{background:#f8fafc;border-color:#e2e8f0;color:#475569}
.report-followup-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:16px}
.report-message-list{display:grid;gap:14px}.report-message{display:flex;gap:12px;align-items:flex-start}.report-message__badge{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:900;border:1px solid #e5e7eb;background:#fff;flex:0 0 38px}
.report-message.admin .report-message__badge{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.report-message.citizen .report-message__badge{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
.report-message__box{flex:1;padding:14px;border:1px solid #e5e7eb;border-radius:16px;background:#fff}.report-message__meta{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-bottom:8px}.report-message__author{font-weight:900}.report-message__email,.report-message__date{color:#64748b;font-size:.92rem}
.report-message__attachments{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:10px}
.report-attachment-thumb{display:block;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#f8fafc}.report-attachment-thumb img{width:100%;height:120px;object-fit:cover;display:block}
.report-existing-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:12px}.report-existing-item{position:relative;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;background:#fff}.report-existing-item img{width:100%;height:120px;object-fit:cover;display:block}.report-existing-item__remove{position:absolute;right:8px;top:8px;background:rgba(15,23,42,.8);color:#fff;border:0;border-radius:999px;padding:6px 9px;font-size:.78rem;font-weight:900;cursor:pointer}
.report-existing-item.is-removed{opacity:.45}.report-existing-item.is-removed::after{content:'Retirée';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#991b1b;color:#fff;padding:6px 10px;border-radius:999px;font-weight:900}
.report-textarea{width:100%;min-height:170px;border:1px solid #d6deea;border-radius:16px;padding:14px 15px;background:#fff;color:#0f172a;box-sizing:border-box;resize:vertical;font:inherit}.report-textarea:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.report-launch-page{max-width:980px;margin:24px auto 40px auto}.report-launch-card{padding:26px;border:1px solid #e5e7eb;border-radius:24px;background:#fff;box-shadow:0 20px 50px rgba(15,23,42,.07)}.report-launch-card h1{margin:0 0 10px 0;font-size:clamp(2rem,4vw,3rem);line-height:1.05;color:#0f172a}.report-launch-card p{margin:0;color:#334155;line-height:1.7;font-size:1.05rem}.report-launch-actions{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}
.report-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);display:none;align-items:center;justify-content:center;z-index:1000;padding:16px}.report-modal-overlay.is-open{display:flex}.report-modal{width:min(980px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:24px;box-shadow:0 24px 80px rgba(15,23,42,.28);padding:10px}.report-modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 6px 8px 6px;position:sticky;top:0;background:#fff;z-index:5;border-bottom:1px solid #eef2f7;margin-bottom:6px}.report-modal__title{margin:0;font-size:1.15rem;font-weight:900;color:#0f172a}.report-modal__desc{margin:4px 0 0 0;color:#64748b;font-weight:700;line-height:1.45}.report-modal__close{width:42px;height:42px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;font-size:1.15rem;cursor:pointer}.report-modal .report-shell{box-shadow:none;border:0;padding:6px 4px 6px}
@media (max-width:980px){.report-steps{grid-template-columns:repeat(5,minmax(0,1fr))}.report-followup-grid{grid-template-columns:1fr}.report-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.report-step-mobile{display:block}.report-steps{display:none}.report-grid2,.report-upload-grid{grid-template-columns:1fr}.report-shell{padding:14px}.report-panel{padding:14px}.report-map{height:280px}.report-step-actions{flex-wrap:wrap}.report-step-actions .btn{width:100%}.report-step-actions .btn[data-role="next-btn"],.report-step-actions .btn[data-role="submit-btn"],.report-step-actions .btn[data-role="prev-btn"]{margin-left:0;margin-right:0}.report-modal{width:min(96vw,96vw);max-height:92vh}.report-modal__head{padding:6px 4px 8px 4px}}

.report-inline-help{padding:12px 14px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-weight:700;line-height:1.55}
.report-followup-form{padding:18px;border:1px solid #e5e7eb;border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.04)}
.report-followup-form .report-textarea{min-height:220px;font-size:1rem;line-height:1.55}

.report-upload-card__preview[data-img-preview-url]{cursor:zoom-in;}
.report-step-mobile{font-size:12px;font-weight:800;color:#64748b;margin-bottom:12px;}
