/* alerts.css — Alerts & Follow-up (calendar-driven) */
.alapp{max-width:1040px;margin:0 auto;padding:26px 30px 80px}
.alapp a:not(.app-tab):not(.al-act){color:var(--nwdc);text-decoration:none}
.alapp a:not(.app-tab):not(.al-act):hover{color:var(--ink)}

.al-mast{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:16px;flex-wrap:wrap}
.al-brand{display:flex;align-items:center;gap:13px}
.al-brand .logos{display:flex;align-items:center;gap:8px}
.al-brand .logos img{height:44px;width:auto;display:block}
.al-brand h1{font-family:var(--hero);font-weight:400;font-size:25px;margin:0;letter-spacing:-.01em;line-height:1}
.al-brand .sub{font-size:12.5px;color:var(--ink-2);margin-top:4px}
.al-mast .right{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}

.al-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;flex-wrap:wrap}
#alTabs{display:inline-flex;background:var(--canvas);border:1px solid var(--line);border-radius:9px;padding:3px}
#alTabs button{border:0;background:transparent;padding:7px 15px;border-radius:7px;font-family:var(--ui);font-size:12.5px;font-weight:600;color:var(--ink-2);cursor:pointer;white-space:nowrap}
#alTabs button.active{background:var(--nwdc);color:#fff}
#alTabs .cnt{opacity:.75;font-weight:500;margin-left:5px}
.al-urgent{font-size:12px;font-weight:600;color:var(--red);background:var(--red-soft);border-radius:20px;padding:5px 12px}
.al-barright{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.al-sort{font-family:var(--ui);font-size:12.5px;border:1px solid var(--line-strong);border-radius:8px;padding:7px 10px;background:var(--surface);color:var(--ink);cursor:pointer}
.al-expand{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;padding:7px 13px;font-family:var(--ui);font-size:12.5px;font-weight:500;color:var(--ink);cursor:pointer}
.al-expand:hover{border-color:var(--ink-3)}
.al-expand[hidden]{display:none}

/* ---- collapsed one-line summary (default) ---- */
.al-sum{display:flex;align-items:center;gap:10px;cursor:pointer;min-width:0}
.al-sumtitle{flex:1;min-width:0;font-size:13.5px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.al-sumowner{font-size:11.5px;color:var(--ink-2);background:var(--canvas);border-radius:20px;padding:3px 9px;white-space:nowrap;flex:0 0 auto}
.al-caret{font-family:var(--mono);font-size:14px;line-height:1;color:var(--ink-3);width:14px;text-align:center;flex:0 0 auto}
.al-row.open .al-sumtitle{white-space:normal;overflow:visible}
/* collapsed is the default view — belt-and-suspenders so a stale render
   can never show an expanded body */
.al-row:not(.open) .al-body{display:none}
.al-body{display:flex;flex-direction:column;gap:6px;margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}
.al-actrow{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:2px}
.al-row.is-past{border-left-color:var(--ink-3);background:#FBFAF7}
.al-row.is-past .al-sumtitle{color:var(--ink-2)}

.al-addrow{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:12px 14px;margin-bottom:16px;flex-wrap:wrap}
/* author display rules beat the UA [hidden] rule, so restate it explicitly */
.al-addrow[hidden]{display:none}
.al-addrow input[type=text]{flex:1;min-width:220px;font-family:var(--ui);font-size:14px;border:1px solid var(--line-strong);border-radius:8px;padding:9px 11px;background:var(--surface);color:var(--ink)}
.al-addrow input[type=date],.al-addrow select{font-family:var(--ui);font-size:13px;border:1px solid var(--line-strong);border-radius:8px;padding:8px 9px;background:var(--surface);color:var(--ink)}
.al-addrow button{border:0;border-radius:8px;background:var(--nwdc);color:#fff;font-family:var(--ui);font-size:13.5px;font-weight:600;padding:9px 18px;cursor:pointer}

/* rows */
.al-row{display:flex;align-items:flex-start;gap:12px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:11px 15px;margin-bottom:7px}
.al-row.sev-high{border-left-color:var(--red)}
.al-row.sev-med{border-left-color:var(--amber)}
.al-row.is-done{opacity:.7;border-left-color:var(--green)}

.al-check{flex:0 0 auto;width:22px;height:22px;margin-top:2px;border:1.5px solid var(--line-strong);border-radius:6px;background:var(--surface);cursor:pointer;color:#fff;font-size:13px;line-height:1;display:grid;place-items:center;padding:0}
.al-check:hover{border-color:var(--nwdc)}
.al-check.on{background:var(--green);border-color:var(--green)}

.al-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.al-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.al-kind{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:3px 8px;border-radius:20px;background:var(--canvas);color:var(--ink-2);white-space:nowrap;flex:0 0 auto}
.al-kind.k-needs{background:var(--red-soft);color:var(--red)}
.al-kind.k-conflict{background:var(--red-soft);color:var(--red)}
.al-kind.k-clash{background:var(--amber-soft);color:var(--amber)}
.al-kind.k-cover{background:var(--amber-soft);color:var(--amber)}
.al-kind.k-unmatched{background:var(--nwdc-soft);color:var(--nwdc)}
.al-kind.k-follow{background:var(--canvas);color:var(--ink-2)}
.al-date{font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;flex:0 0 auto}

.al-title{font-size:14.5px;font-weight:500;color:var(--ink);line-height:1.4}
.al-row.is-done .al-title{color:var(--ink-2)}
.al-detail{font-size:12.5px;color:var(--ink-2);line-height:1.5}
.al-suggest{font-size:12.5px;color:var(--ink);line-height:1.5;background:var(--canvas);border-radius:8px;padding:7px 11px;margin-top:2px}
.al-sugglbl{font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-right:7px}
.al-donetag{font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--green)}

.al-note{font-size:12.5px;color:var(--ink-2);line-height:1.5;outline:none;border-radius:4px;min-height:17px}
.al-note:empty:before{content:attr(data-placeholder);color:var(--ink-3);font-style:italic}
.al-note:focus{background:var(--canvas);box-shadow:0 0 0 2px var(--canvas)}

.al-acts{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:3px}
.al-act{border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:4px 10px;font-family:var(--ui);font-size:11.5px;font-weight:500;color:var(--ink-2);cursor:pointer;text-decoration:none;display:inline-block}
.al-act:hover{color:var(--ink);border-color:var(--line-strong)}

.al-right{flex:0 0 auto;display:flex;align-items:center;gap:8px}
.al-owner{font-family:var(--ui);font-size:12.5px;border:1px solid var(--line-strong);border-radius:7px;padding:5px 8px;background:var(--surface);color:var(--ink);max-width:150px;cursor:pointer}
.al-ownertag{font-size:12px;font-weight:500;color:var(--ink-2);background:var(--canvas);border-radius:20px;padding:4px 11px;white-space:nowrap}

.al-empty{text-align:center;color:var(--ink-3);font-size:13.5px;padding:40px 20px;background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius)}

body.readonly .al-addrow,body.readonly .al-acts{display:none}
body.readonly .al-check{pointer-events:none;opacity:.55}

@media print{
  .al-mast .right,#alTabs,.al-addrow,.al-acts,.al-owner{display:none !important}
  .al-row{break-inside:avoid;box-shadow:none}
}
@media (max-width:860px){
  .alapp{padding:16px 14px 56px}
  .al-mast{flex-direction:column;align-items:stretch}
  .al-row{flex-wrap:wrap}
  .al-right{width:100%;justify-content:flex-end}
}
