/* Society incident log, automatic report and society logo. Colours come from the site theme. */
.si-space{--si-accent:var(--theme-accent,#007e74);--si-soft:var(--theme-soft,#eff4f2);--si-line:var(--theme-border,#d8e2df);--si-warm:var(--theme-warm,#936214);--si-warm-bg:var(--theme-warm-bg,#fbf1dc);--si-danger:var(--theme-danger,#a9372c);--si-danger-bg:var(--theme-danger-bg,#fbe6e3);max-width:100%;overflow-wrap:anywhere}
.si-intro{max-width:760px;color:var(--theme-muted,var(--muted));margin:0 0 14px;font-size:.88rem;line-height:1.55}
.si-record>div,.si-report-tool>div{padding:4px 0 18px}
/* Record / edit form: one compact card. Fields are boxes on the panel's surface in both themes. */
.si-space{--si-field:var(--theme-surface,var(--paper,#fff));--si-text:var(--theme-text,var(--ink,#102c3b));--si-muted:var(--theme-muted,var(--muted,#5a6c75))}
.si-form{display:grid;gap:16px;min-width:0}
.si-form label{display:grid;gap:6px;font-size:.84rem;font-weight:600}
.si-form .si-cap{display:block;font-size:.82rem;font-weight:600;color:var(--si-text)}
#main-content .si-form :is(input:not([type=radio]):not([type=checkbox]),select,textarea){width:100%;min-height:42px;margin:0;padding:9px 12px;border:1px solid var(--si-line);border-radius:10px;background:var(--si-field);color:var(--si-text);font-size:.9rem;font-weight:400;line-height:1.45}
#main-content .si-form textarea{min-height:84px;resize:vertical}
#main-content .si-form :is(input,select,textarea):focus-visible{border-color:var(--si-accent);outline:2px solid var(--si-accent);outline-offset:1px}
.si-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr) minmax(0,1.5fr);gap:12px}
/* Severity: a three-part switch with a coloured dot and the word, so colour is never the only cue. */
.si-severity{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px}
.si-seg{display:inline-flex;flex-wrap:wrap;gap:3px;padding:3px;border:1px solid var(--si-line);border-radius:12px;background:var(--si-field)}
.si-form .si-seg label{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border-radius:9px;font-size:.86rem;font-weight:600;color:var(--si-muted);white-space:nowrap;cursor:pointer;transition:background-color .12s,color .12s}
.si-seg input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.si-seg i{flex:none;width:9px;height:9px;border-radius:50%;background:var(--si-accent)}
.si-seg [data-severity=medium] i{background:var(--si-warm)}
.si-seg [data-severity=high] i{background:var(--si-danger)}
.si-form .si-seg label:hover{color:var(--si-text)}
.si-form .si-seg label:has(input:checked){background:var(--theme-tint,#e2f3f0);color:var(--si-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--si-accent) 45%,transparent)}
.si-form .si-seg label[data-severity=medium]:has(input:checked){background:var(--si-warm-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--si-warm) 45%,transparent)}
.si-form .si-seg label[data-severity=high]:has(input:checked){background:var(--si-danger-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--si-danger) 45%,transparent)}
.si-seg label:has(input:focus-visible){outline:2px solid var(--si-accent);outline-offset:1px}
/* Text fields: the box holds the field and its typing tools (language, keyboard, voice). */
.si-text{display:grid;gap:6px;min-width:0}
.si-box{display:flex;flex-direction:column;min-width:0;border:1px solid var(--si-line);border-radius:10px;background:var(--si-field);overflow:hidden;transition:border-color .12s,box-shadow .12s}
.si-box:focus-within{border-color:var(--si-accent);box-shadow:0 0 0 1px var(--si-accent)}
.si-box:has(:user-invalid){border-color:var(--si-danger)}
#main-content .si-form .si-box>:is(input,textarea){border:0;border-radius:0;background:transparent}
#main-content .si-form .si-box>:is(input,textarea):focus-visible{outline:none}
#main-content .si-box>.jt-tools{grid-column:auto;margin:0;padding:2px 6px;gap:2px;border-top:1px solid color-mix(in srgb,var(--si-line) 70%,transparent)}
#main-content .si-box .jt-tools select{min-height:30px}
#main-content .si-box .jt-tools button{min-width:30px;min-height:30px}
#main-content .si-box>:is(.jt-keyboard,.jt-status,.jt-device-keyboard){margin:0 8px 8px}
#main-content .si-box>.jt-status:empty{display:none}
.si-oneline .si-box{flex-direction:row;flex-wrap:wrap;align-items:center}
.si-oneline .si-box>input{flex:1 1 220px;width:auto}
#main-content .si-oneline .si-box>.jt-tools{flex:none;flex-wrap:nowrap;border-top:0;border-left:1px solid color-mix(in srgb,var(--si-line) 70%,transparent);align-self:stretch}
#main-content .si-oneline .si-box>:is(.jt-keyboard,.jt-status,.jt-device-keyboard){flex-basis:100%}
.si-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.si-hint{margin:0;font-size:.8rem;color:var(--si-muted)}
.si-facts{display:flex;align-items:flex-start;gap:8px;margin-top:-4px}
.si-facts svg{flex:none;width:16px;height:16px;margin-top:1px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
/* Footer: who can see it, the share confirmation when needed, and Save. */
.si-foot{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;padding-top:14px;border-top:1px solid var(--si-line)}
.si-foot .si-who{flex:0 1 300px;min-width:200px}
.si-form .si-confirm{display:flex;grid-template-columns:none;align-items:flex-start;gap:10px;font-weight:500;font-size:.84rem;flex:1 1 240px;align-self:center;margin:0}
.si-form .si-confirm[hidden]{display:none}
.si-confirm input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--si-accent)}
.si-form-status,.si-feedback{margin:0;font-size:.85rem;color:var(--si-accent)}
.si-form-status:empty,.si-feedback:empty{display:none}
.si-form-status[data-error=true],.si-feedback[data-error=true]{color:var(--si-danger)}
.si-form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-left:auto}
.si-foot:not(:has(.si-who)) .si-form-actions{margin-left:0}
.si-filter,.si-periods{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 10px}
.si-chip{min-height:38px;padding:0 16px;border-radius:999px;border:1.5px solid var(--si-line);background:transparent;color:inherit;font:inherit;font-size:.86rem;font-weight:600;cursor:pointer}
.si-chip[aria-pressed=true]{background:var(--si-accent);border-color:var(--si-accent);color:var(--theme-on-accent,#fff)}
.si-custom{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:6px 0 12px}
.si-custom[hidden]{display:none}
.si-custom label{display:grid;gap:6px;font-size:.84rem;font-weight:600}
.si-day{margin:22px 0 6px}
.si-day-head{display:flex;align-items:baseline;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--si-line);position:sticky;top:0;z-index:1;background:var(--theme-surface,var(--paper,#fff))}
.si-day-head h3{font-size:1.02rem;margin:0}
.si-day-head span{font-size:.78rem;font-weight:700;color:var(--si-accent)}
.si-day-head small{margin-left:auto;color:var(--theme-muted,var(--muted));font-weight:700}
.si-list{list-style:none;margin:0;padding:0}
.si-item{display:grid;grid-template-columns:62px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--si-line);position:relative}
.si-item.si-editing{display:block}
.si-item::before{content:"";position:absolute;left:66px;top:22px;width:10px;height:10px;border-radius:50%;background:var(--si-accent)}
.si-item[data-severity=medium]::before{background:var(--si-warm)}
.si-item[data-severity=high]::before{background:var(--si-danger)}
.si-item[data-status=resolved]::before{opacity:.45}
.si-clock{font-size:.85rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--theme-muted,var(--muted));padding-top:2px}
.si-item>article{padding-left:22px;min-width:0}
.si-item h4{margin:6px 0 4px;font-size:1.05rem}
.si-tags{display:flex;flex-wrap:wrap;gap:6px}
.si-tag,.si-sev{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;font-size:.74rem;font-weight:700;background:var(--si-soft)}
.si-sev[data-severity=low]{color:var(--si-accent)}
.si-sev[data-severity=medium]{background:var(--si-warm-bg);color:var(--si-warm)}
.si-sev[data-severity=high]{background:var(--si-danger-bg);color:var(--si-danger)}
.si-status[data-status=resolved]{color:var(--si-accent)}
.si-status[data-status=open]{color:var(--si-warm)}
.si-vis[data-visibility=residents]{background:var(--theme-tint,#e2f3f0);color:var(--si-accent)}
.si-where{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:.85rem;color:var(--theme-muted,var(--muted))}
.si-where svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;flex:none}
.si-details{white-space:pre-wrap;margin:0 0 8px}
.si-note{margin:0 0 6px;font-size:.88rem;white-space:pre-wrap}
.si-meta{margin:6px 0 0;font-size:.78rem;color:var(--theme-muted,var(--muted))}
.si-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.si-inline:not(:empty){margin-top:12px;padding:14px;border-radius:14px;background:var(--si-soft)}
.si-empty{display:flex;flex-direction:column;align-items:center;gap:8px;margin:8px 0 0;padding:28px 20px;border:1.5px dashed var(--si-line);border-radius:16px;text-align:center;font-size:.9rem}
.si-empty svg{width:30px;height:30px;fill:none;stroke:var(--si-accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* Overview note for high-severity shared updates. */
.si-alert{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:14px 18px;border-radius:16px;background:var(--theme-danger-bg,#fbe6e3);color:var(--theme-text,var(--ink))}
.si-alert>svg{width:28px;height:28px;flex:none;color:var(--theme-danger,#a9372c)}
.si-alert p{margin:2px 0 0;font-size:.86rem}
.si-alert .button{margin-left:auto;white-space:nowrap}
/* Automatic report. */
.si-report{margin-top:14px;padding:26px;border:1px solid var(--theme-border,#d8e2df);border-radius:20px;background:var(--theme-surface,var(--paper,#fff));overflow-wrap:anywhere}
.si-report:focus{outline:none}
.si-report-head{display:flex;align-items:center;gap:18px;padding-bottom:16px;border-bottom:1px solid var(--theme-border,#d8e2df)}
.si-report-head h3{margin:4px 0;font-size:1.35rem}
.si-report-head p{margin:0;font-size:.84rem;color:var(--theme-muted,var(--muted))}
.si-report-head .eyebrow{margin:0}
.si-report-logo{width:72px;height:72px;object-fit:contain;border-radius:14px;background:#fff;padding:6px;flex:none}
.si-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.si-stats div{padding:14px 16px;border-radius:14px;background:var(--theme-soft,#eff4f2)}
.si-stats strong{display:block;font-size:1.7rem;line-height:1.1}
.si-stats span{font-size:.8rem;color:var(--theme-muted,var(--muted))}
.si-report h4{margin:20px 0 8px;font-size:.95rem}
.si-narrative{margin:0;max-width:880px;line-height:1.6}
.si-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px}
.si-breakdown ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.si-breakdown li{display:grid;grid-template-columns:minmax(0,1fr) 90px 30px;align-items:center;gap:10px;font-size:.86rem}
.si-breakdown li b{text-align:right}
.si-bar{height:8px;border-radius:4px;background:var(--theme-soft,#eff4f2);overflow:hidden}
.si-bar i{display:block;height:100%;width:0;border-radius:4px;background:var(--theme-accent,#007e74)}
.si-breakdown li[data-severity=high] .si-bar i{background:var(--theme-danger,#a9372c)}
.si-breakdown li[data-severity=medium] .si-bar i{background:var(--theme-warm,#936214)}
.si-table-scroll{overflow-x:auto}
.si-table{width:100%;min-width:720px;border-collapse:collapse;font-size:.84rem;overflow-wrap:break-word}
.si-table thead th,.si-table tbody th,.si-table td:nth-last-child(-n+1){white-space:nowrap}
.si-table td.si-wide{min-width:240px}
.si-table .si-nowrap{white-space:nowrap}
.si-table th,.si-table td{padding:9px 10px;border-bottom:1px solid var(--theme-border,#d8e2df);text-align:left;vertical-align:top}
.si-table thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--theme-muted,var(--muted))}
.si-table tbody th{white-space:nowrap}
.si-cell-details{color:var(--theme-muted,var(--muted));white-space:pre-wrap}
.si-generated{margin:18px 0 0;font-size:.78rem;color:var(--theme-muted,var(--muted))}
.si-report-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
/* Society logo: workspace header and Society setup. */
.sw-head-id{display:flex;align-items:center;gap:18px;min-width:0}
.sw-society-logo{width:72px;height:72px;object-fit:contain;border-radius:18px;background:#fff;padding:6px;flex:none;box-shadow:0 0 0 1px var(--theme-border,#d8e2df)}
.sw-logo-preview{display:flex;align-items:center;justify-content:center;width:132px;height:132px;margin:10px 0 14px;border-radius:20px;border:1.5px dashed var(--theme-border,#d8e2df);background:var(--theme-soft,#eff4f2);color:var(--theme-muted,var(--muted));font-size:.8rem;text-align:center;padding:8px}
.sw-logo-preview img{max-width:100%;max-height:100%;object-fit:contain;border-radius:12px;background:#fff}
.sw-logo-form{display:grid;gap:12px;max-width:560px}
.sw-logo-form label:not(.js-consent){display:grid;gap:6px;font-size:.86rem;font-weight:600}
@media(max-width:900px){.si-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .si-pair{grid-template-columns:1fr}
  .si-form-grid .si-where-field{grid-column:1/-1}
  .si-seg{display:flex;width:100%}.si-form .si-seg label{flex:1 1 0;justify-content:center;padding:0 8px}
  .si-foot .si-who{flex-basis:100%}.si-form-actions{margin-left:0;width:100%}.si-form-actions .button{flex:1 1 auto}
  .si-item{grid-template-columns:48px 1fr;gap:10px}
  .si-item::before{left:52px}
  .si-item>article{padding-left:16px}
  .si-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .si-report{padding:18px}
  .si-alert{flex-wrap:wrap}.si-alert .button{margin-left:0}
  .sw-society-logo{width:56px;height:56px;border-radius:14px}
}
/* Printing a report: only the report is printed (society-incidents.js clones it into .si-print-root). */
.si-print-root{display:none}
@media print{
  html.si-printing body>*:not(.si-print-root){display:none!important}
  html.si-printing .si-print-root{display:block}
  html.si-printing .si-report{border:0;padding:0;background:#fff;color:#111}
  html.si-printing .si-report-actions{display:none}
  html.si-printing .si-table-scroll{overflow:visible}
  html.si-printing .si-table{min-width:0;font-size:9pt}
  html.si-printing .si-table tr{break-inside:avoid}
  html.si-printing .si-stats div{background:none;border:1px solid #ccc}
  html.si-printing .si-bar{border:1px solid #bbb}
}
