/* IDRN Global Connections palette, Segoe typography, grid background and logo. */
:root{color-scheme:dark;--navy:#071625;--blue:#0f5b8d;--accent:#20b9ba;--sky:#81c9db;--gold:#f1c75b;--text:#f7fbff;--muted:#a9bacd;--line:rgba(129,201,219,.28);font-family:'Segoe UI','Segoe UI Variable',Arial,sans-serif}
*{box-sizing:border-box}body{margin:0 auto;max-width:1800px;padding:24px;color:var(--text);font-size:16px;line-height:1.5;background:linear-gradient(rgba(106,174,199,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(106,174,199,.08) 1px,transparent 1px),radial-gradient(circle at 52% 28%,rgba(32,185,186,.18),transparent 42%),linear-gradient(135deg,#06111e,#092238 52%,#071321);background-size:34px 34px,34px 34px,auto,auto}
header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:8px 0 22px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:18px}.brand img{object-fit:contain;flex-shrink:0}h1{margin:0;font-size:2rem}h2{margin:0 0 12px}h3{margin:18px 0 8px}.eyebrow{font-size:.75rem;letter-spacing:.12em;color:var(--sky);font-weight:750}a{color:var(--sky)}button,input,select,textarea{font:inherit}button{cursor:pointer;padding:9px 14px;border:1px solid var(--line);border-radius:6px;background:#12344c;color:var(--text);min-height:42px;font-weight:650}button:hover{background:var(--blue)}button.primary,button[aria-pressed=true]{background:var(--accent);color:#06111e;border-color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.calendar-scroll:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.notice{padding:14px 18px;background:#263344;border-left:4px solid var(--gold);border-radius:6px;color:#fff2cb}
.layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,1fr);gap:22px;align-items:start}.layout>*,article,.browse{min-width:0}.panel{background:rgba(7,22,37,.95);border:1px solid var(--line);border-radius:10px;padding:20px;margin-bottom:16px;overflow-wrap:anywhere}.filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}.filters label,dialog label,.calendar-toolbar label{display:grid;gap:5px;font-size:.9rem;font-weight:600}input,select,textarea{padding:9px;border:1px solid #51798f;border-radius:5px;min-width:0;width:100%;background:#0d2a3e;color:var(--text)}input[type=checkbox]{width:auto;accent-color:var(--accent)}input:disabled{opacity:.55}textarea{min-height:90px;resize:vertical}select[multiple]{min-height:140px}option{background:#0d2a3e;color:var(--text)}.muted,small{color:var(--muted)}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:14px 0}.row{border-top:1px solid var(--line);padding:14px 0}.row p{margin:4px 0}.badge{display:inline-block;font-size:.8rem;padding:3px 8px;background:#17415b;border-radius:12px;color:#def7ff}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.zone-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:center}#zone-preview{color:var(--gold);font-size:.9rem}
dialog{width:min(800px,95vw);max-height:90vh;overflow:auto;border:1px solid var(--sky);border-radius:10px;padding:24px;background:#081d30;color:var(--text);box-shadow:0 18px 45px #0007}dialog::backdrop{background:#020b14c9}#fields{display:grid;gap:12px}fieldset{display:grid;gap:12px;border:1px solid var(--line);border-radius:7px;padding:16px}legend{color:var(--sky);font-weight:750;padding:0 7px}#form-error{color:#ffc4b6}#message{color:var(--gold)}#message:empty{display:none}[hidden]{display:none!important}dl{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px}dt{font-weight:650;color:var(--muted)}dd{margin:0;overflow-wrap:anywhere;white-space:pre-line}
.calendar-toolbar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;align-items:center}.calendar-toolbar label{max-width:270px}.calendar-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:7px}.month-calendar{border-collapse:collapse;table-layout:fixed;width:100%;min-width:700px}.month-calendar caption{text-align:left;padding:10px;color:var(--muted)}.month-calendar th{background:#11324c;color:var(--sky);padding:8px}.month-calendar td{height:112px;vertical-align:top;border:1px solid var(--line);padding:5px}.month-calendar time{font-weight:700;font-size:.85rem}.outside-month{background:#06111e}.outside-month>time{color:#7d92a5}.event-card{display:block;width:100%;text-align:left;margin:7px 0;padding:8px;background:#12334b;border-left:4px solid var(--sky);font-size:.82rem;overflow-wrap:anywhere;white-space:normal}.event-card strong{display:block}.event-card span{display:block;font-size:.74rem;opacity:.9}.event-card[aria-pressed=true]{background:#17455c;color:#fff;border-top-color:var(--sky);border-right-color:var(--sky);border-bottom-color:var(--sky)}.category-meet-up{border-left-color:#20b9ba}.category-meeting{border-left-color:#b6a3ff}.category-training{border-left-color:#f1c75b}.category-response{border-left-color:#ef6945}.category-conference{border-left-color:#81c9db}.agenda-entry{padding:14px 0;border-top:1px solid var(--line)}.agenda-entry>p{font-weight:750;color:var(--sky);margin:0}.agenda .event-card{font-size:1rem}.view-controls button[aria-pressed=true]{background:var(--accent);color:#06111e}
@media(max-width:1150px){.layout{grid-template-columns:minmax(0,1fr)}.month-calendar{min-width:760px}}@media(max-width:600px){body{padding:12px}header{align-items:start;flex-direction:column}.brand{gap:12px}.brand img{width:62px;height:62px}.panel{padding:14px}.grid,.filters,.zone-row{grid-template-columns:1fr}h1{font-size:1.55rem}dl{grid-template-columns:100px minmax(0,1fr)}dialog{padding:16px}.calendar-toolbar{display:block}.calendar-toolbar label{max-width:none}}
/* Give the month view full width so event titles remain readable. */
.layout{grid-template-columns:minmax(0,1fr)}article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}article>.panel:first-child{grid-column:1/-1}.month-calendar .event-card strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.month-calendar td{height:130px}.month-calendar .event-card{font-size:.85rem}.month-calendar .event-card span{font-size:.78rem}@media(max-width:760px){article{grid-template-columns:minmax(0,1fr)}}
/* Category fills stay consistent across calendar, agenda, detail badge and legend. */
.category-conference{--category-fill:#81c9db;--category-edge:#287d9c}
.category-meet-up{--category-fill:#57d5b2;--category-edge:#168464}
.category-meeting{--category-fill:#c9b6ff;--category-edge:#7655bc}
.category-training{--category-fill:#f1c75b;--category-edge:#9c7512}
.category-response{--category-fill:#ff9b78;--category-edge:#b84e2a}
.event-card[class*="category-"]{background:var(--category-fill);color:#06111e;border:1px solid var(--category-fill);border-left:6px solid var(--category-edge)}
.event-card[class*="category-"]:hover{filter:brightness(1.08)}
.event-card[class*="category-"][aria-pressed=true]{background:var(--category-fill);color:#06111e;border-color:#fff;border-left-color:var(--category-edge);box-shadow:inset 0 0 0 2px #06111e}
.badge[class*="category-"]{background:var(--category-fill);color:#06111e}
.category-legend{display:flex;flex-wrap:wrap;gap:10px 20px;list-style:none;margin:14px 0;padding:12px 14px;background:#0d2639;border:1px solid var(--line);border-radius:6px}
.category-legend li{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:650}
.category-swatch{display:inline-block;width:18px;height:18px;background:var(--category-fill);border-left:4px solid var(--category-edge);border-radius:3px;flex-shrink:0}

/* Keep explicit create/save/cancel controls visible while long editor fields scroll. */
#editor{padding:0;overflow:hidden;max-height:calc(100dvh - 24px)}
#edit-form{display:flex;flex-direction:column;max-height:calc(100dvh - 26px);min-height:0;margin:0;padding:20px}
#form-title{flex-shrink:0}
#fields{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 6px 12px}
#edit-form .editor-actions{flex-shrink:0;margin:0;padding-top:14px;border-top:1px solid var(--line);background:#081d30}
#form-error{flex-shrink:0;max-height:18dvh;overflow-y:auto;margin:10px 0 0}
#form-error:empty{display:none}
@media(max-width:600px){#edit-form{padding:14px}}

/* Keep each participant on one compact row; small screens scroll this list only. */
.participant-list{overflow-x:auto;margin:12px 0}
.participant-list ul{list-style:none;margin:0;padding:0}
.participant-line{display:grid;grid-template-columns:minmax(180px,1fr) 150px 155px 170px;align-items:center;gap:12px;min-width:710px;padding:7px 0;border-bottom:1px solid var(--line)}
.participant-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.participant-line button{margin:0;padding:6px 10px;white-space:nowrap}

.people-panel{grid-column:1/-1}
