body.mod{background:#f3f5f4}
.mod header a{text-decoration:none}
.mod-main{max-width:1200px;margin:0 auto;padding:20px 16px 60px}
.mod-card{background:#fff;border:1px solid #dde3e1;border-radius:12px;padding:16px}
.login{max-width:440px;margin:40px auto}.login button{width:100%;margin-top:14px}
#loginStatus{color:#8a2b1d;font-size:13px}
.mod-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:14px}
.mod-toolbar label{margin:0;display:flex;gap:6px;align-items:center;font-size:13px}
.mod-toolbar select{width:auto}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.kpi{background:#fff;border:1px solid #dde3e1;border-radius:12px;padding:14px}
.kpi b{display:block;font-size:28px}.kpi span{font-size:12px;color:#5c6b67}
.caution{background:#fff3e0;border:1px solid #f0c27a;border-radius:8px;padding:10px 12px;font-size:13px}
.breakdowns{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:12px}
.breakdowns h3{margin:0 0 10px;font-size:15px}
.muted{color:#7a8580;font-weight:400}
table.mini{width:100%;border-collapse:collapse;font-size:13px}
table.mini th,table.mini td{padding:5px 6px;border-bottom:1px solid #eee;text-align:left}
table.mini td:nth-child(2),table.mini td:nth-child(3){text-align:right;width:52px;font-variant-numeric:tabular-nums}
table.mini thead th{font-size:11px;color:#5c6b67;font-weight:600}
tr.small-n th::after{content:' ·  n<5';color:#b7791f;font-size:10px;font-weight:600}
.dist{display:flex;min-width:120px;height:20px;border-radius:5px;overflow:hidden;border:1px solid #ccc}
.dist i{font-style:normal;font-size:10px;font-weight:700;display:grid;place-content:center;color:#222;min-width:18px}
.table-wrap{overflow:auto;background:#fff;border:1px solid #dde3e1;border-radius:12px;max-height:70vh}
#rows{border-collapse:collapse;font-size:12px;min-width:1100px;width:100%}
#rows th{position:sticky;top:0;background:#eef3f1;text-align:left;padding:8px;white-space:nowrap}
#rows td{padding:7px 8px;border-top:1px solid #eee;vertical-align:top}
@media(max-width:700px){.breakdowns{grid-template-columns:1fr}}
/* City question picker map (small, for moderators) */
.mod-map-block{display:grid;grid-template-columns:1fr 250px;gap:14px;align-items:start}
.mod-map-wrap{position:relative;height:340px;border-radius:12px;overflow:hidden;border:1px solid #cfdcd9}
.mod-map-wrap .map{position:absolute;inset:0;cursor:crosshair}
.mod-map-wrap .map-controls{top:10px;right:10px}.mod-map-wrap .map-controls button{width:34px;height:34px;font-size:20px}
.mod-map-wrap .me,.mod-map-wrap .me-halo{display:none}
.mod-map-wrap .pin-radius{border-color:#54cec5;background:#54cec533;border-width:3px}
.mod-map-status{position:absolute;left:8px;bottom:8px;background:#fffffff0;border-radius:5px;padding:3px 8px;font-size:11px}
.mod-map-status:empty{display:none}
.mod-map-side label{margin:0 0 6px;font-size:13px}.mod-map-side input[type=range]{padding:0;border:0;accent-color:#2f8f86}
.inside-count{background:#f4f8f7;border-radius:8px;padding:8px 10px;font-size:13px;margin:10px 0}
@media(max-width:800px){.mod-map-block{grid-template-columns:1fr}.mod-map-wrap{height:280px}}
/* Version 5: city questions and follow-up */
.mission-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end}
.mission-form label{margin:0;font-size:12px}.mission-form .wide{grid-column:1/-1}.mission-form input,.mission-form select{margin-top:4px}
#mStatus{grid-column:1/-1;margin:0;font-size:13px;color:#8a2b1d}#mStatus:empty{display:none}
#missionRows{margin-top:12px;display:grid;gap:8px}
.mission-row{display:flex;gap:12px;align-items:center;border:1px solid #e3e8e6;border-radius:10px;padding:8px 12px;font-size:13px}
.mission-row div{flex:1}.mission-row small{display:block;color:#5c6b67}.mission-row.closed{opacity:.6}
.bulk{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px;padding:10px 12px}
.bulk select{width:auto}.bulk input#bNote{flex:1;min-width:220px}.bulk .check{margin:0}
#selCount{font-weight:700;font-size:13px}#bMsg{font-size:13px;color:#1e6b34}
#rows td:first-child,#rows th:first-child{width:28px}#rows input[type=checkbox]{width:auto}
#rows tr.selected td{background:#eef9f7}
/* ---- City question results (click a question) ---- */
.mission-item{border:1px solid #e3e8e6;border-radius:12px;overflow:hidden;background:#fff}
.mission-item.open{border-color:#54cec5;box-shadow:0 4px 14px #1d4a4414}
.mission-item .mission-row{width:100%;border:0;border-radius:0;background:none;text-align:left;cursor:pointer}
.mission-item .mission-row:hover{background:#f6fbfa}.mission-item.open .mission-row{background:#eef9f7}
.mcount{background:var(--pale);border-radius:20px;padding:4px 10px;font-size:12px;white-space:nowrap}.mcount b{font-size:15px}
.mission-row .chev{color:#2f6f69;font-size:14px}
.mres{padding:4px 14px 14px;border-top:1px dashed #d6e4e1}
.mres h4{margin:12px 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#5c6b67}
.mres-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.mres-kpis div{background:#f4f8f7;border-radius:10px;padding:8px 10px}.mres-kpis b{display:block;font-size:22px}.mres-kpis span{font-size:12px;color:#5c6b67}
.mres-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 16px}
.mres-list{display:grid;gap:6px;max-height:420px;overflow:auto}
.mres-item{display:grid;grid-template-columns:150px 1fr auto auto;gap:4px 10px;align-items:center;text-align:left;background:#fff;border:1px solid #e3e8e6;border-left:5px solid var(--app);border-radius:9px;padding:8px 10px;font-size:13px}
.mres-item:hover{background:#f6fbfa}.mres-item .when{font-size:12px;color:#4d5c58}.mres-item .who{font-size:12px;font-weight:700}
.mres-item .note,.mres-item .extra{grid-column:2/-1;font-size:12px}.mres-item .note{font-style:italic}.mres-item .extra{color:#5c6b67}.mres-item .extra:empty{display:none}
.mres-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.mres-actions button{padding:8px 12px;font-size:13px}
.wchips{display:flex;flex-wrap:wrap;gap:4px}
.wchip{display:inline-flex;align-items:center;gap:4px;background:#f3f6f5;border-radius:20px;padding:2px 9px;font-size:12px;font-weight:600;margin:0 4px 4px 0;white-space:nowrap}
.wchip b{color:#2f6f69}.wchip.zero{opacity:.45}
/* ---- Observations table ---- */
.obs-tools{margin-bottom:10px}
.obs-filters{display:grid;grid-template-columns:2fr repeat(5,1fr);gap:10px}
.obs-filters label{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#5c6b67}
.obs-filters input,.obs-filters select{margin-top:4px;padding:8px;font-size:13px;text-transform:none;letter-spacing:0}
.obs-options{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.opt-label{font-size:12px;font-weight:700;color:#5c6b67}
.obs-options .chip{margin:0}#tClear{font-size:12px;text-decoration:underline;background:none}
.obs-summary{margin:12px 0 0;font-size:13px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.obs-summary .dist{min-width:200px;flex:1;max-width:340px}
#rows{min-width:900px}
#rows th{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#4d5c58}
#rows td{font-size:12px;vertical-align:top}#rows td small{display:block;color:#5c6b67;margin-top:2px}
#rows td .note{display:block;color:#333;max-width:280px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
#rows th.g-participant,#rows td.g-participant{background:#faf8ff}
#rows th.g-context,#rows td.g-context{background:#f7fbfa}
#rows tr.obs-row{cursor:pointer}#rows tr.obs-row td:first-child{border-left:5px solid var(--app)}
#rows tr.obs-row:hover td{background:#f1f8f6}#rows tr.obs-row.open td{background:#e6f6f4;border-bottom:0}
#rows .chev-cell{color:#2f6f69;width:20px}
#rows tr.group-row td{background:#eef3f1;font-size:13px;border-top:2px solid #cfdcd9}#rows tr.group-row .dist{display:inline-flex;width:220px;vertical-align:middle;margin-left:8px}
#rows .pill{display:inline-block;white-space:nowrap}
.pill{font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.4px;border-radius:20px;padding:2px 8px;color:#222}
.pill.negative{background:#f6b3a7}.pill.mixed{background:#f8d29e}.pill.neutral{background:#f6ecc9}.pill.positive{background:#bfe3c8}
.stag{display:inline-block;font-weight:700;font-size:11px;border-radius:20px;padding:2px 8px;background:#eef0ff;color:#2d3a7a;white-space:nowrap}
.stag.changed{background:#dff3e4;color:#1e6b34}.stag.planned{background:#fff1d6;color:#7a4b00}
.flag{display:inline-block;font-size:10px;font-weight:700;border-radius:20px;padding:1px 7px;background:#fff2cb;color:#6b5100;margin-top:2px}.flag.test{background:#e8e4ff;color:#3d2f8f}
.abar{display:flex;height:8px;width:110px;border-radius:5px;overflow:hidden;border:1px solid #0001}
#rows tr.detail td{background:#fbfdfc;border-top:0;padding:0 8px 14px 13px;border-left:5px solid #54cec5}
.detail-grid{display:grid;grid-template-columns:240px 1.4fr 1fr;gap:18px;padding:10px 4px}
.detail-grid h4{margin:6px 0 8px;font-size:14px}
.detail-grid dl{margin:0;display:grid;gap:4px}.detail-grid dl div{display:grid;grid-template-columns:120px 1fr;gap:8px}
.detail-grid dt{font-weight:700;color:#5c6b67;font-size:12px}.detail-grid dd{margin:0;font-size:12px}
.d-puzzle .puzzle{margin:8px 0 0;transform:scale(.85);transform-origin:0 0}.d-puzzle .puzzle+p{margin:-20px 0 0;font-size:12px}.d-puzzle .small{margin:4px 0 8px}
.quick{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:12px}.quick span{font-size:12px;font-weight:700}
.quick button{padding:5px 10px;font-size:12px;border-width:1px}.quick button.on{background:var(--pale);border-color:#047a9d}.quick-error{color:#8a2b1d;font-size:12px}
.small{font-size:12px}.empty-row{padding:20px!important;text-align:center}
.pager{display:flex;justify-content:center;align-items:center;gap:14px;margin:12px 0}.pager button{padding:7px 14px}.pager button[hidden]{display:none}
@media(max-width:1000px){.obs-filters{grid-template-columns:1fr 1fr}.obs-filters .grow{grid-column:1/-1}.detail-grid{grid-template-columns:1fr}.mres-kpis{grid-template-columns:1fr 1fr}.mres-item{grid-template-columns:1fr}.mres-item .note,.mres-item .extra{grid-column:1}}
#rows td.g-obs:nth-child(2){min-width:128px}#rows td.g-obs .wchips{min-width:230px}#rows td.g-obs .wchip{margin:0}
.mod-photo img{display:block;width:100%;max-height:220px;object-fit:cover;border-radius:10px;border:1px solid #cfdcd9}
.photo-toggle{width:100%;margin:6px 0 2px;padding:6px 10px;font-size:12px;border-width:1px}
.flag.photo{background:#ffe9e5;color:#8a2b1d}.flag.photo.public{background:#dff3e4;color:#1e6b34}

/* ================= Version 5.4: moderation app ================= */
body.mod{--ink:#14202b;--muted:#5e6b78;--line:#e2e8ee;--bg:#f4f6f9;--side:#0f1b2d;--accent:#0f766e;--accent-soft:#e6f4f2;
 font-family:Inter,'Segoe UI',Aptos,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink)}
.mod h1,.mod h2,.mod h3{letter-spacing:-.01em}.mod h2{font-size:16px;margin:0}.mod h3{font-size:14px}
.mod .muted{color:var(--muted)}.mod .small{font-size:12px}.mod code{background:#eef2f5;border-radius:4px;padding:1px 5px;font-size:12px}
.mod kbd{display:inline-block;min-width:18px;padding:0 5px;border:1px solid #cdd6de;border-bottom-width:2px;border-radius:5px;background:#fff;font:600 11px/17px ui-monospace,Consolas,monospace;text-align:center;color:#334}
/* Sign in */
.login-screen{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#1d3a5a 0,#0f1b2d 55%);padding:20px}
.login-card{width:100%;max-width:400px;background:#fff;border-radius:16px;padding:28px;box-shadow:0 20px 60px #0007}
.login-card h1{font-size:22px;margin:18px 0 6px}.login-card p{font-size:13px;color:var(--muted);margin:0 0 14px}
.login-card .primary{width:100%;margin-top:14px;background:var(--accent);color:#fff;border-color:var(--accent)}
.login-hint{margin-top:14px!important;font-size:12px!important}#loginStatus{color:#b42318;font-size:13px}
.brand{display:flex;align-items:center;gap:10px}.brand b{display:block;font-size:15px}.brand small{display:block;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;opacity:.7}
.brand-mark{width:36px;height:36px;border-radius:10px;display:grid;place-content:center;font-size:20px;background:linear-gradient(135deg,#54cec5,#2b8a83)}
/* Shell */
.mod-app{display:grid;grid-template-columns:236px 1fr;min-height:100vh}
.mod-side{position:sticky;top:0;height:100vh;background:var(--side);color:#c8d3df;display:flex;flex-direction:column;padding:18px 12px}
.mod-side .brand{color:#fff;padding:2px 8px 18px;border-bottom:1px solid #ffffff14;margin-bottom:12px}
.mod-side nav{display:grid;gap:2px}
.mod-side nav button{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;color:#c8d3df;text-align:left;padding:9px 10px;border-radius:8px;font-size:14px;font-weight:500}
.mod-side nav button>span{width:18px;text-align:center;opacity:.8}
.mod-side nav button:hover{background:#ffffff0d;color:#fff}.mod-side nav button.on{background:#ffffff17;color:#fff;font-weight:650;box-shadow:inset 3px 0 0 #54cec5}
.badge{margin-left:auto;background:#e0483a;color:#fff;border-radius:20px;font-size:11px;padding:1px 8px;font-weight:700}.badge:empty{display:none}
.muted-badge{background:#ffffff1f;color:#dbe4ee}
.side-foot{margin-top:auto;display:grid;gap:2px;border-top:1px solid #ffffff14;padding-top:10px}
.side-link{background:none;border:0;color:#9fb0c2;text-align:left;padding:7px 10px;border-radius:8px;font-size:13px;text-decoration:none}.side-link:hover{background:#ffffff0d;color:#fff}
.mod-main{padding:0 28px 60px;min-width:0}
.mod-top{position:sticky;top:0;z-index:30;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:16px 0 14px;margin-bottom:14px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.top-title{display:flex;align-items:baseline;gap:12px}.top-title h1{font-size:22px;margin:0}.updated{font-size:12px;color:var(--muted)}
.top-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.field{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;font-weight:600;color:var(--muted)}
.field select{width:auto;max-width:280px;padding:7px 10px;font-size:13px;border:1px solid #cfd8e0;border-radius:8px;background:#fff;color:var(--ink);font-weight:500}
.toggle{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:500;color:var(--ink);cursor:pointer}
.toggle input{position:absolute;opacity:0;width:1px}.toggle span{width:34px;height:20px;border-radius:20px;background:#cfd8e0;position:relative;transition:.2s}
.toggle span::after{content:'';position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:.2s}
.toggle input:checked+span{background:var(--accent)}.toggle input:checked+span::after{left:16px}.toggle input:focus-visible+span{outline:3px solid #047a9d;outline-offset:2px}
.tool{border:1px solid #cfd8e0;background:#fff;color:var(--ink);border-radius:8px;padding:7px 12px;font-size:13px;font-weight:600;white-space:nowrap}
.tool:hover{border-color:#9fb0c2;background:#fafcfd}.primary-tool{background:var(--accent);border-color:var(--accent);color:#fff}.primary-tool:hover{background:#0c5f59;border-color:#0c5f59}
.link{background:none;border:0;color:var(--accent);font-weight:600;font-size:13px;padding:0;text-decoration:none}.link:hover{text-decoration:underline}
.mod-card{border-color:var(--line);border-radius:12px;box-shadow:0 1px 2px #0f1b2d0a;margin-bottom:16px}
.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.list-head2{margin:6px 2px 10px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-2>.mod-card{margin-bottom:0}.grid-2{margin-bottom:16px}
/* KPIs */
.mod .kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.mod .kpi{text-align:left;border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:#fff;box-shadow:0 1px 2px #0f1b2d0a;cursor:pointer;transition:.15s}
.mod .kpi:hover{border-color:#9fb0c2;transform:translateY(-1px)}.mod .kpi b{font-size:26px;line-height:1.1}.mod .kpi span{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-top:2px}
.mod .kpi small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.kpi.alert{border-color:#f5b8b0;background:#fff7f6}.kpi.alert b{color:#c0392b}.kpi.warn{border-color:#f3d39b;background:#fffaf0}.kpi.warn b{color:#a35f00}
/* Activity */
.bars{display:flex;align-items:flex-end;gap:3px;height:130px;padding-top:6px}
.barcol{flex:1;height:100%;display:flex;align-items:flex-end}.barcol i{display:flex;flex-direction:column-reverse;width:100%;min-height:2px;background:#9ad9d3;border-radius:3px 3px 0 0;overflow:hidden}
.barcol em{display:block;width:100%;background:#ef705b}.barcol:hover i{filter:brightness(.9)}
.bars-axis{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:6px}.key{display:inline-block;width:9px;height:9px;border-radius:2px;margin:0 3px 0 8px}.key.neg{background:#ef705b}.key.all{background:#9ad9d3}
/* Locations */
.by-location{display:grid;gap:10px;max-height:300px;overflow:auto}.loc-prov{display:grid;gap:2px}
.loc-row{display:grid;grid-template-columns:1fr 40px 140px;gap:10px;align-items:center;width:100%;text-align:left;background:none;border:0;border-radius:8px;padding:6px 8px;font-size:13px;color:var(--ink)}
.loc-row:hover{background:#f1f5f8}.loc-row.prov{background:#f6f8fa}.loc-row span:nth-child(2){text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}
.loc-row:not(.prov) span:first-child{padding-left:14px}.loc-row .dist{height:10px;min-width:0}.loc-row .dist i{font-size:0}
/* Hotspots and recent */
.hotspots{display:grid;gap:8px}.spot{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.spot .rank{width:24px;height:24px;border-radius:50%;background:#fde8e5;color:#b42318;font-weight:700;font-size:12px;display:grid;place-content:center}
.spot b{font-size:13px}.spot small{display:block;font-size:12px;color:var(--muted);margin:2px 0 5px}.spot .dist{height:10px}.spot .dist i{font-size:0}.neg-text{color:#b42318;font-weight:600}
.recent{display:grid;gap:6px}.recent-row{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center;text-align:left;background:#fff;border:1px solid var(--line);border-left:4px solid var(--app);border-radius:8px;padding:6px 10px;font-size:12px}
.recent-row:hover{background:#f8fafb}.recent-row .when{color:var(--muted)}.recent-row .where{color:var(--muted);font-size:11px;text-align:right}
.new{background:#e0483a;color:#fff;border-radius:10px;font-size:10px;padding:0 6px;margin-left:4px}
/* Review queue */
.queue-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-bottom:6px}
.seg-tabs{display:flex;flex-wrap:wrap;background:#e9eef2;border-radius:10px;padding:3px;gap:2px}
.seg-tabs button{border:0;background:none;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:600;color:var(--muted)}
.seg-tabs button b{background:#d5dde4;color:var(--ink);border-radius:10px;padding:0 7px;font-size:11px;margin-left:4px}
.seg-tabs button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px #0f1b2d1f}.seg-tabs button.on b{background:var(--accent);color:#fff}
.queue-help{margin:6px 2px 12px}.queue{display:grid;gap:12px}
.qcard{display:grid;grid-template-columns:220px 1fr;gap:16px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--app);border-radius:12px;padding:14px;box-shadow:0 1px 2px #0f1b2d0a;scroll-margin:90px 0 20px}
.qcard.active{border-color:#54cec5;box-shadow:0 0 0 3px #54cec544,0 6px 18px #0f1b2d14;border-left-color:var(--app)}
.qphoto{display:flex;flex-direction:column;gap:6px}.qphoto .mod-photo img{max-height:170px}
.nophoto{display:grid;place-content:center;height:120px;border:1px dashed #cfd8e0;border-radius:10px;color:var(--muted);font-size:12px}
.qphoto-btn{border:1px solid #cfd8e0;background:#fff;border-radius:8px;padding:5px 8px;font-size:12px;font-weight:600}.qphoto-btn.public{background:#e7f6ec;border-color:#a8dbb7}
.qtop{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.qtop .wchips{display:contents}
.qmeta{font-size:12px;color:var(--muted);margin:8px 0 0}.qmeta b{color:var(--ink)}.qtext{font-size:13px;font-style:italic;margin:8px 0 0;background:#f8fafb;border-radius:8px;padding:6px 10px}
.qactions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}.qlabel{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-right:2px}
.qs{border:1px solid #d5dde4;background:#fff;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:600}.qs:hover{border-color:#9fb0c2}.qs.on{background:var(--accent-soft);border-color:var(--accent);color:#0c5f59}.qs.clear{padding:4px 9px;color:var(--muted)}
.qfoot{display:flex;gap:8px;align-items:center;margin-top:10px}.qnote{flex:1;padding:7px 10px;font-size:13px;border:1px solid #d5dde4;border-radius:8px}
.more{justify-self:center}
.empty-state{text-align:center;padding:50px 20px;background:#fff;border:1px dashed #cfd8e0;border-radius:12px}.empty-state span{display:inline-grid;place-content:center;width:44px;height:44px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:22px;font-weight:800}
.empty-state b{display:block;margin-top:8px;font-size:15px}
/* Table additions */
.opt-sep{width:1px;height:20px;background:var(--line)}.place-chip{display:inline-flex;gap:6px;align-items:center;background:#fff1d6;border-radius:20px;padding:3px 6px 3px 10px;font-size:12px;font-weight:600}
.place-chip button{border:0;background:#0000;font-size:15px;line-height:1;padding:0 4px}
.flag.done{background:#e7f6ec;color:#1e6b34}.flag.note{background:#eef0ff;color:#2d3a7a}
.modwork{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-top:12px;background:#f6f8fa;border-radius:10px;padding:10px}
.modwork label{flex:1 1 100%;margin:0;font-size:12px}.modwork small{font-weight:400;color:var(--muted)}.modwork textarea{margin-top:4px;font-size:13px}
#bulkBar{position:sticky;top:76px;z-index:10}
.mod .bulk select{padding:7px 8px;font-size:13px}.mod .bulk input#bNote{padding:7px 10px;font-size:13px}
/* Toast and dialog */
.mod-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#14202b;color:#fff;border-radius:10px;padding:11px 16px;font-size:13px;display:flex;gap:14px;align-items:center;box-shadow:0 10px 30px #0004;transition:.2s;z-index:100}
.mod-toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}.mod-toast button{background:none;border:0;color:#7fe0d6;font-weight:700;font-size:13px}
.shortcuts{max-width:480px}.shortcuts h2{font-size:18px!important;margin:0 0 14px}.shortcuts dl{display:grid;gap:8px;margin:0}.shortcuts dl div{display:grid;grid-template-columns:170px 1fr;gap:10px;font-size:13px}.shortcuts dd{margin:0;color:var(--muted)}
/* Smaller screens: the sidebar becomes a top bar */
@media(max-width:1100px){.grid-2{grid-template-columns:1fr}}
@media(max-width:860px){
 .mod-app{grid-template-columns:1fr}.mod-side{position:sticky;height:auto;z-index:40;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px}
 .mod-side .brand{border:0;padding:0 6px 0 0;margin:0}.mod-side .brand small{display:none}.mod-side nav{display:flex;overflow:auto;flex:1}.mod-side nav button{white-space:nowrap;padding:7px 9px;font-size:13px}
 .side-foot{display:none}.mod-main{padding:0 12px 40px}.mod-top{top:52px}.qcard{grid-template-columns:1fr}.qfoot{flex-wrap:wrap}.loc-row{grid-template-columns:1fr 34px 90px}#bulkBar{position:static}
}
/* Fixes: the public app's header rules must not apply to the moderation top bar. */
.mod .mod-top{height:auto;border-bottom:1px solid var(--line)}.mod .mod-top button{font-size:13px}
.recent-row{grid-template-columns:105px 1fr}.recent-row .where{grid-column:2;text-align:left;margin-top:-2px}.recent-row .wchips{flex-wrap:wrap}
.recent-row .wchip{margin:0}
@media(max-width:860px){.mod .mod-top{position:static;padding:12px 0}.top-filters{width:100%}.field{flex:1 1 100%}.field select{flex:1;max-width:none}.recent-row{grid-template-columns:1fr}.recent-row .where{grid-column:1}}
.mod .kpis{grid-template-columns:repeat(auto-fit,minmax(128px,1fr))}.mod .kpi{padding:12px 14px}.mod .kpi b{font-size:24px}
@media(min-width:861px){.mod-app{background:linear-gradient(90deg,var(--side) 236px,var(--bg) 236px)}}

/* Language switch (French / English) */
.lang-btn{font:inherit;font-size:.82rem;font-weight:600;padding:.35rem .7rem;border-radius:999px;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer;opacity:.85}
.lang-btn:hover,.lang-btn:focus-visible{opacity:1}
.lang-slot{display:block;margin-bottom:.5rem}
.lang-short{display:none}
@media (max-width:600px){.lang-btn .lang-long{display:none}.lang-btn .lang-short{display:inline}}

/* 6.4: work at scale — progress, quick pass, period limit */
.q-progress{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted);margin:8px 0 2px}
.qp-bar{flex:0 0 160px;height:6px;border-radius:9px;background:var(--line);overflow:hidden}.qp-bar i{display:block;height:100%;background:var(--accent);border-radius:9px}
#qEasy{border-color:#e7b04b;background:#fff8e6}#qEasy:hover{background:#fdeec8}
.limit-note{flex-basis:100%;margin:6px 0 0;font-size:12.5px;background:#fff8e6;border:1px solid #f0d290;color:#7a5a12;border-radius:8px;padding:6px 10px}

/* 6.5: reports */
.qreport{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#fdf1f0;border:1px solid #f3c5c1;border-radius:9px;padding:7px 10px;margin:6px 0;font-size:12.5px;color:#7d1d16}
.qreport span{flex:1;min-width:200px}.qreport .hid{color:#b3261e}
.qreport.removed{background:#f1f4f7;border-color:var(--line);color:var(--muted)}
.tool.danger-tool{border-color:#e9b4af;color:#b3261e}.tool.danger-tool:hover{background:#fdecea}
.seg-tabs .rep-tab{color:#b3261e}.seg-tabs .rep-tab b{background:#b3261e;color:#fff}
.flag.rep{background:#fdecea;color:#8a1c14}
/* Version 8: retention, teams and events */
.retention{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.ret{border:1px solid var(--line,#dde3e1);border-radius:10px;padding:10px 12px;background:#fafcfc}
.ret b{display:block;font-size:24px;color:#0f1b2d}.ret span{display:block;font-size:12px;font-weight:700;color:#3b4a47}.ret small{display:block;font-size:11px;color:#6b7a77}
.mini-form{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;margin-bottom:12px}
.mini-form label{display:grid;gap:4px;font-size:12px;font-weight:700;margin:0}
.mini-form .wide,.mini-form button,.mini-form p{grid-column:1/-1}
.mini-form input,.mini-form select{padding:8px;border:1px solid #cfd8db;border-radius:8px;font:inherit}
.mini-list{display:grid;gap:6px}
.mini-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line,#dde3e1);border-radius:10px}
.mini-row.off{opacity:.55}
.mini-ico{font-size:22px}.mini-row b{font-size:13px}.mini-row small{display:block;font-size:11.5px;color:#5c6b67}
.mini-row code{font-weight:800;letter-spacing:1px;background:#eef4f4;padding:1px 5px;border-radius:5px}
.live{color:#1e7d4f}
@media(max-width:700px){.mini-form{grid-template-columns:1fr}}
