*{box-sizing:border-box}body{font:14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;margin:0;color:#1d2733;background:#ffffff}
header{display:flex;gap:16px;align-items:center;background:#002D62;color:#fff;padding:8px 16px;flex-wrap:wrap}header a{color:#fff;text-decoration:none}
.brand{font-weight:700}nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap}nav a:hover{text-decoration:underline}
details.more{position:relative}details.more summary{cursor:pointer}details.more[open]>a{display:block;background:#002D62;padding:4px 8px}
details.more[open]{z-index:9}details.more[open]>*:not(summary){position:relative}
.search input{padding:5px 8px;width:240px;border-radius:4px;border:0}button.link{background:none;border:0;color:inherit;cursor:pointer;text-decoration:underline}
.badge{background:#e53935;border-radius:9px;padding:0 6px;font-size:12px}.banner{background:#fff3cd;padding:6px 16px;border-bottom:1px solid #e6d28a}
main{padding:12px 20px}h1{margin:6px 0 12px;font-size:22px}h1 small,h2 small{font-weight:400;color:#667;font-size:13px}h2{font-size:17px;margin:18px 0 8px}
.kpis{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.kpi{background:#fff;border:1px solid #dde3ea;border-radius:8px;padding:8px 14px;min-width:120px}
.kpi b{display:block;font-size:22px}.kpi span{color:#556;font-size:12px}.kpi.bad{border-color:#e53935;background:#fdecea}.kpi.good{border-color:#2e7d32;background:#e8f5e9}
table.grid{border-collapse:collapse;background:#fff;width:100%}table.grid th,table.grid td{border:1px solid #e1e6ec;padding:4px 6px;vertical-align:top;text-align:left}
table.grid th{background:#eef2f6;position:sticky;top:0}table.grid th a{color:#1d2733}table.compact td{text-align:center}td.bad,tr.overdue td{background:#fdecea}
tr.grp td{background:#dfe9f3}.scroll{overflow:auto;max-height:72vh}td.editable{cursor:text;background:#fffef2}td.editable:hover{outline:1px dashed #b9a}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:8px}.filters details{width:100%}.colpick{columns:4;font-size:12px}
.chip{background:#dfe9f3;border-radius:10px;padding:2px 8px;margin-right:4px}.exp{margin-left:auto}
.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:900px){.two{grid-template-columns:1fr}}
ul.alerts{list-style:none;padding:0}ul.alerts li{background:#fff;border-left:4px solid #90a4ae;margin:3px 0;padding:4px 8px}
li.high,.alert.high{border-left-color:#e53935!important}li.medium,.alert.medium{border-left-color:#fb8c00!important}li.low,.alert.low{border-left-color:#43a047!important}
.alert{background:#fff;border-left:4px solid;padding:6px 10px}.muted{color:#778}.card{background:#fff;border:1px solid #dde3ea;border-radius:6px;padding:8px;margin:6px 0}
table.kv{background:#fff;border-collapse:collapse;width:100%}table.kv th{text-align:left;width:32%;color:#556;font-weight:500;vertical-align:top}table.kv td,table.kv th{border-bottom:1px solid #eef;padding:3px 6px}
.quote{font-style:italic;white-space:pre-wrap}form.inline{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap;margin:4px 0}
form.stack{display:flex;flex-direction:column;gap:5px;max-width:520px}form.stack.wide{max-width:900px}form.stack textarea{width:100%;font:13px/1.45 ui-monospace,monospace}
.pipeline{display:flex;gap:6px;flex-wrap:wrap}.stage{background:#fff;border:1px solid #cfd8e3;border-radius:6px;padding:6px 10px;color:#1d2733;text-decoration:none}.stage b{display:block;font-size:18px}
button{background:#002D62;color:#fff;border:0;border-radius:4px;padding:5px 12px;cursor:pointer}button[disabled]{background:#aab}button.danger{background:#c62828}
.status.sent{color:#2e7d32}.status.blocked,.status.failed{color:#c62828}.approve{border-color:#c62828}.err{color:#c62828}
body.login{display:grid;place-items:center;height:100vh}body.login form{width:320px;display:flex;flex-direction:column;gap:8px;padding:24px}body.login input{width:100%;padding:6px}
form.stack input:not([type=checkbox]):not([type=file]){width:100%;padding:4px}

/* stat tiles: distinct colors (dark text, AA contrast), drag handle */
.kpis.tiles{align-items:stretch}.kpis.tiles .kpi{position:relative;padding:10px 30px 10px 14px;border-width:1px;border-left-width:5px;color:#1d2733}
.kpis.tiles .kpi span{color:#2c3a48}
.kpi.c0{background:#e6ecf5;border-color:#002D62}.kpi.c1{background:#fde7e7;border-color:#EA0101}.kpi.c2{background:#dde6f3;border-color:#2b4f8a}
.kpi.c3{background:#fbeceb;border-color:#a3141b}.kpi.c4{background:#e1f3f4;border-color:#0e7c86}.kpi.c5{background:#fdf3dc;border-color:#c99400}
.kpi.c6{background:#eef1f6;border-color:#5b6b82}.kpi.c7{background:#fde9ec;border-color:#c43c55}.kpi.c8{background:#e4eefb;border-color:#3a78c2}.kpi.c9{background:#e8f4ec;border-color:#2e7d4f}
.kpis.tiles .kpi.bad{background:#fdecea;border-color:#c62828}
.kpi .handle{position:absolute;top:6px;right:7px;color:#56636f;cursor:grab;padding:2px 3px;border-radius:3px;line-height:0}
.kpi .handle:hover,.kpi .handle:focus{background:rgba(0,0,0,.08);color:#1d2733;outline:none}.kpi.dragging{opacity:.45;outline:2px dashed #002D62}
.tile-reset{color:#002D62!important;font-size:12px;align-self:flex-end;margin-left:4px}
/* login extras */
.pwwrap{position:relative;display:block}.pwwrap input{padding-right:34px!important}
.pwwrap .eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;color:#56636f;padding:3px 5px;line-height:0}
.pwwrap .eye.on{color:#002D62}.pwwrap .eye:hover{background:#eef2f6}a.small{font-size:12px;color:#002D62;align-self:center}p.ok{color:#2e7d32}

/* ---- Lifeguard-Pro brand: navy #002D62, red #EA0101 (from lifeguard-pro.org CSS; logo pixels #002E63 / #EB0102) ---- */
:root{--lgp-navy:#002D62;--lgp-red:#EA0101;--lgp-red-dark:#C30010}
header{background:var(--lgp-navy);border-bottom:4px solid var(--lgp-red);padding:6px 16px}
.brand{display:flex;align-items:center;gap:10px}.brand img{height:40px;width:auto;display:block}.brand .sub{font-weight:600;font-size:13px;opacity:.9;white-space:nowrap}
nav a{padding:2px 0;border-bottom:2px solid transparent}nav a:hover{text-decoration:none;border-bottom-color:var(--lgp-red)}
details.more[open]>a{background:var(--lgp-navy)}
button{background:var(--lgp-red-dark)}button:hover{background:#a3000d}button.link{background:none}button.link:hover{background:none}
h1{color:var(--lgp-navy);border-left:5px solid var(--lgp-red);padding-left:10px}h2{color:var(--lgp-navy)}
table.grid th{background:#e9eef6;color:var(--lgp-navy)}a{color:#1f4f99}main a:hover{color:var(--lgp-red-dark)}
.badge{background:var(--lgp-red)}.stage{border-top:3px solid var(--lgp-navy)}
body.login{background:linear-gradient(180deg,#002D62 0,#002D62 38%,#ffffff 38%)}
body.login form{border-top:5px solid var(--lgp-red);box-shadow:0 8px 30px rgba(0,45,98,.18)}
body.login .logo{width:120px;height:120px;align-self:center;margin:-4px 0 2px}body.login h2{text-align:center;color:var(--lgp-navy);margin:0 0 6px}

/* inbox / threads / pending queue */
pre.mailbody{white-space:pre-wrap;word-break:break-word;font:13px/1.45 ui-monospace,Menlo,monospace;background:#f8fafc;border:1px solid #e1e6ec;padding:8px;max-height:420px;overflow:auto;margin:4px 0}
.thread .msg{border-left:4px solid #002D62;background:#fff;margin:6px 0;padding:6px 10px;border:1px solid #e1e6ec;border-left-width:4px}
.thread .msg.in{border-left-color:#EA0101;margin-left:28px}.thread .meta{font-size:12px;color:#445}
table.pending td.actions{min-width:230px}form.approve-row{display:flex;flex-direction:column;gap:4px;margin-bottom:4px;border:1px solid #f3c2c2;padding:5px;border-radius:5px;background:#fff7f7}
form.approve-row label{font-size:12px}a.btn{display:inline-block;background:#002D62;color:#fff;border-radius:4px;padding:3px 10px;text-decoration:none;font-size:13px}
details.preview summary{cursor:pointer;color:#002D62;font-weight:600}

/* state flags */
.state{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
img.flag,.flag.noflag{width:24px;height:16px;object-fit:cover;border-radius:3px;border:1px solid rgba(0,0,0,.18);box-shadow:0 0 0 1px rgba(255,255,255,.6) inset;flex:none;display:inline-block;background:#eef1f6}
img.flag.big{width:48px;height:32px;border-radius:4px;margin-right:10px;vertical-align:middle}
a.statelink{text-decoration:none}a.statelink:hover span span{text-decoration:underline}ul.alerts .state{margin-right:4px}

/* reorderable columns */
th.movable{white-space:nowrap}.colhandle{display:inline-block;color:#8a97a6;cursor:grab;margin-right:4px;padding:1px 2px;border-radius:3px;line-height:0;vertical-align:middle}
.colhandle:hover,.colhandle:focus{color:#002D62;background:rgba(0,45,98,.1);outline:none}th.coldrag{background:#fde7e7!important}
.colreset{display:block;margin:0 0 3px auto;font-size:12px;color:#002D62!important}
.colreset[hidden]{display:none!important}
