:root{--navy:#12233F;--teal:#00B4A3;--ink:#203653;--muted:#687B8D;--bg:#F7F9FA;--line:#DDE7EC;--white:#fff;--soft:#EAF8F4}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}header{background:var(--navy);color:white;padding:22px max(20px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px}header h1{margin:4px 0 0;font-size:28px}header small{color:#7DE0D5;letter-spacing:.12em}button{border:0;border-radius:12px;padding:11px 16px;font-weight:700;cursor:pointer;background:var(--teal);color:white}header button{background:white;color:var(--navy)}nav{position:sticky;top:0;z-index:5;background:white;border-bottom:1px solid var(--line);display:flex;gap:5px;overflow:auto;padding:10px max(12px,calc((100vw - 1180px)/2))}nav button{white-space:nowrap;background:transparent;color:var(--muted)}nav button.active{background:var(--soft);color:#007F75}main{max-width:1180px;margin:auto;padding:28px 20px 80px}.view{display:none}.view.active{display:block}.hero,.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.hero h2,.sectionhead h2,.view>h2{font-size:32px;margin:6px 0}.hero p,.sectionhead p{margin:0;color:var(--muted);max-width:720px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.card,.row,.stat{background:white;border:1px solid var(--line);border-radius:18px;padding:20px}.card .top{display:flex;justify-content:space-between;gap:12px}.badge{font-size:12px;padding:5px 9px;border-radius:999px;background:var(--soft);color:#007F75;font-weight:800}.card h3,.row h3{margin:12px 0 6px}.meta{color:var(--muted);font-size:14px;line-height:1.6}.why{margin:14px 0;padding:12px;border-radius:12px;background:#EDF6FC;font-size:14px}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button{padding:8px 11px}.actions .ghost{background:#EDF1F4;color:var(--ink)}.list{display:grid;gap:10px}.row{display:flex;justify-content:space-between;align-items:center;gap:16px}.row p{margin:4px 0;color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px;background:white;font:inherit}.sectionhead input{max-width:340px}dialog{border:0;border-radius:20px;width:min(760px,94vw);padding:24px}dialog::backdrop{background:#12233Faa}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.formgrid label{font-size:13px;font-weight:700}.formgrid input,.formgrid select,.formgrid textarea{margin-top:6px}.formgrid .wide{grid-column:1/-1}textarea{min-height:82px}menu{display:flex;justify-content:flex-end;gap:10px;padding:12px 0 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat strong{font-size:34px;display:block;color:var(--navy)}.empty{text-align:center;padding:50px 20px;color:var(--muted);background:white;border:1px dashed var(--line);border-radius:18px}@media(max-width:720px){header{padding:18px 16px;align-items:flex-start}header h1{font-size:21px}header small{font-size:10px}.grid,.stats,.formgrid{grid-template-columns:1fr}.hero,.sectionhead{align-items:stretch;flex-direction:column}.sectionhead input{max-width:none}.row{align-items:flex-start;flex-direction:column}.actions{width:100%}.actions button{flex:1}main{padding:20px 14px 70px}.hero h2,.sectionhead h2,.view>h2{font-size:27px}}
/* Release 02 — People filters */
.people-filters{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:10px;margin:0 0 18px}.people-filters input,.people-filters select{width:100%;padding:12px 13px;border:1px solid #d8e3e8;border-radius:12px;background:#fff;font:inherit;color:#12233f}.people-filter-meta{margin:-6px 0 14px;color:#687b8d;font-size:14px}@media(max-width:900px){.people-filters{grid-template-columns:1fr 1fr}}@media(max-width:560px){.people-filters{grid-template-columns:1fr}}

/* Release 03 — reliable Quick Add Person cancel/close controls */
#personDlg form{position:relative}
.dialog-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border:0;border-radius:50%;background:#eef4f6;color:#12233f;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.dialog-close:hover,.dialog-close:focus{background:#dcebed;outline:2px solid #00b4a3;outline-offset:2px}
#cancelPerson.secondary{background:#eef4f6;color:#12233f;border:1px solid #d6e2e7}
#cancelPerson.secondary:hover{background:#dfeaec}
