:root{
  --dunn-red:#bd272c;--red-text:#a31f24;--red-tint:#fbeceb;
  --ink:#202b39;--ink-soft:#46566b;--muted:#68788d;
  --line:#dce3ec;--line-strong:#c5d0de;
  --canvas:#f3f6fa;--surface:#fff;--gray-tint:#f0f2f5;
  --success:#107a3e;--success-tint:#e8f4ec;
  --gold-text:#7a5a00;--gold-tint:#fef9e1;--gold-line:#f5dc7a;
  --shadow:0 12px 40px rgba(32,49,72,.07);--radius:10px;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --frame:1420px;--gutter:56px;
}
*{box-sizing:border-box}
html{background:var(--canvas);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}
body{margin:0;min-height:100vh;background:var(--canvas);font-size:14px;line-height:1.45}
button,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}
button:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--dunn-red) 24%,transparent);outline-offset:2px}

/* Header + wordmark (matches Report) */
.site-header__inner{display:flex;width:min(var(--frame),100%);min-height:52px;margin:0 auto;padding:12px var(--gutter) 0;align-items:center;justify-content:space-between;gap:20px}
.mark{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1}
.mark__logo{display:block;width:auto;height:26px}
.signin__logo{display:block;width:auto;height:39px}
.mark__name{color:var(--ink);font-size:25px;font-weight:760;letter-spacing:-1.15px}
.mark__name::before{display:inline-block;width:8px;height:19px;margin-right:7px;border-radius:2px;background:var(--dunn-red);content:"";transform:translateY(1px)}
.mark__school{margin:5px 0 0 1px;color:var(--muted);font-size:8px;font-weight:750;letter-spacing:1.7px;text-transform:uppercase}
/* Account pill (matches Serve/Report) */
.account-menu{position:relative}
.account-menu summary{list-style:none}
.account-menu summary::-webkit-details-marker{display:none}
.account-button{display:flex;align-items:center;gap:9px;min-height:38px;padding:3px 10px 3px 4px;border:1px solid transparent;border-radius:999px;cursor:pointer;transition:background 120ms ease,border-color 120ms ease}
.account-button:hover,.account-menu[open] .account-button{background:rgba(255,255,255,.76);border-color:var(--line)}
.account-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:550}
.account-chevron{width:12px;height:12px;color:var(--muted);transform:rotate(90deg)}
.account-menu[open] .account-chevron{transform:rotate(-90deg)}
.account-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:50;display:grid;min-width:250px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 50px rgba(29,29,31,.24);animation:popover-in 150ms cubic-bezier(.2,0,0,1);transform-origin:top right}
.account-popover strong{font-size:13px}
.account-popover small{margin-top:2px;color:var(--muted);font-size:12px}
.account-signout{width:100%;min-height:38px;margin-top:12px;padding:8px 12px;color:#29374a;background:#fff;border:1px solid #d3dce7;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer}
.account-signout:hover{background:var(--gray-tint)}
@keyframes popover-in{from{opacity:0;transform:scale(.97) translateY(-3px)}}

/* Avatars: photo when available, initials otherwise */
.avatar{display:inline-grid;flex:none;place-items:center;overflow:hidden;color:var(--red-text);background:var(--surface);border:1px solid var(--line);border-radius:50%;font-weight:700;letter-spacing:.02em}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar--30{width:30px;height:30px;font-size:10.5px}
.avatar--36{width:36px;height:36px;font-size:12px}
.avatar--44{width:44px;height:44px;font-size:14px}

.frame{width:min(var(--frame),100%);margin:0 auto;padding:18px var(--gutter) 40px}
.loading{color:var(--muted)}

/* Buttons */
.button{display:inline-flex;align-items:center;justify-content:center;height:30px;padding:0 12px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);font-size:13px;font-weight:560;cursor:pointer;white-space:nowrap}
.button:hover{background:var(--gray-tint)}
.button--primary{background:var(--dunn-red);border-color:var(--dunn-red);color:#fff}
.button--primary:hover{background:#a82227}
.button--danger{background:var(--ink);border-color:var(--ink);color:#fff}
.button--danger:hover{background:#121a24}
.button--quiet{height:26px;padding:0 10px;font-size:12px}
.button--block{width:100%;height:36px;font-size:14px}
.button:disabled{opacity:.55;cursor:wait}

/* Sign-in (shared front-door spec) */
.signin{display:flex;justify-content:center;padding-top:12vh}
.signin__card{width:min(440px,100%);padding:34px 32px 30px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
.signin__brand{display:flex;flex-direction:column;gap:6px;margin-bottom:30px}
.mark__name--large{font-size:34px;letter-spacing:-1.5px}
.mark__name--large::before{width:10px;height:26px;margin-right:9px}
.signin__school{margin-left:1px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.13em;line-height:1;text-transform:uppercase}
.signin__headline{margin:0 0 8px;font-size:28px;font-weight:675;line-height:1.12;letter-spacing:-.032em}
.signin__tagline{max-width:40ch;margin:0 0 26px;color:var(--ink-soft);font-size:14.5px;line-height:1.55}
.signin__status{min-height:1em;margin:12px 0 0;color:var(--muted);font-size:13px}

/* Page head */
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:6px 0 12px}
.page-head h1{margin:0;font-size:20px;font-weight:700;letter-spacing:-.02em}
.page-head__sub{margin:2px 0 0;color:var(--muted);font-size:13px}
.pill{padding:3px 9px;border:1px solid var(--gold-line);border-radius:999px;background:var(--gold-tint);color:var(--gold-text);font-size:12px;font-weight:600}
.banner{margin:0 0 12px;padding:8px 12px;border:1px solid var(--gold-line);border-radius:8px;background:var(--gold-tint);color:var(--gold-text);font-size:13px}

/* Layout */
.layout{display:grid;grid-template-columns:420px minmax(0,1fr);gap:14px;align-items:start}
.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}

/* Queue */
.tabs{display:flex;gap:4px;padding:8px;border-bottom:1px solid var(--line)}
.tab{flex:1;height:28px;border:0;border-radius:6px;background:transparent;color:var(--ink-soft);font-size:13px;font-weight:600;cursor:pointer}
.tab:hover{background:var(--gray-tint)}
.tab[aria-selected="true"]{background:var(--gray-tint);color:var(--ink)}
.count{display:inline-block;min-width:18px;margin-left:4px;padding:0 5px;border-radius:999px;background:var(--line);color:var(--ink-soft);font-size:11px;line-height:18px}
.count--active{background:var(--dunn-red);color:#fff}
.queue__list{max-height:calc(100vh - 210px);overflow:auto;padding:6px}
.row{display:flex;gap:11px;align-items:flex-start;width:100%;padding:11px 12px;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer}
.row{position:relative}
.row+.row{margin-top:5px}
.row+.row::before{position:absolute;top:-3px;left:12px;right:12px;height:1px;background:var(--line);content:""}
.row:hover{background:var(--gray-tint)}
.row[aria-current="true"]{background:var(--gray-tint)}
.row__body{flex:1;min-width:0}
.row__top{display:flex;align-items:baseline;gap:8px}
.row__subject{flex:1;min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:650;line-height:1.3;overflow-wrap:anywhere}
.row__time{color:var(--muted);font-size:11.5px;white-space:nowrap}
.row__meta{display:flex;align-items:center;gap:6px;margin-top:4px;color:var(--ink-soft);font-size:12.5px}
.row__preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:4px;color:var(--muted);font-size:12.5px;line-height:1.4}
.row__outcome{display:flex;align-items:center;gap:6px;margin-top:5px;color:var(--muted);font-size:12px}
.row__meta span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.queue__empty{padding:18px 10px;color:var(--muted);font-size:13px;text-align:center}

/* Status chips: red = your turn, green = sent, gray = closed */
.chip{flex:none;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:600;line-height:17px}
.chip--waiting{background:var(--red-tint);color:var(--red-text)}
.chip--sent{background:var(--success-tint);color:var(--success)}
.chip--sending{background:var(--gold-tint);color:var(--gold-text)}
.chip--declined{background:var(--gray-tint);color:var(--ink-soft)}

/* Detail */
.detail{padding:16px 22px 18px;min-height:420px}
.empty{padding:70px 0;color:var(--muted);text-align:center}
.empty p{margin:0}.empty__title{margin-bottom:4px!important;color:var(--ink);font-size:15px;font-weight:650}
.sender{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.sender__text{flex:1;min-width:0}
.sender__name{font-size:14.5px;font-weight:650}
.sender__email{color:var(--muted);font-size:12.5px;overflow-wrap:anywhere}
.sender__time{color:var(--muted);font-size:12.5px;white-space:nowrap}
.detail__subject{margin:0 0 10px;font-size:19px;font-weight:700;line-height:1.25;letter-spacing:-.015em;overflow-wrap:anywhere}
.meta{display:grid;grid-template-columns:72px minmax(0,1fr);gap:3px 12px;margin:0;font-size:13px}
.meta dt{color:var(--muted)}
.meta dd{margin:0;overflow-wrap:anywhere}
.meta .sub{color:var(--muted)}
.outcome{margin-top:12px;padding:8px 12px;border-radius:8px;background:var(--gray-tint);font-size:13px}
.outcome--sent{background:var(--success-tint);color:var(--success)}
.outcome__note{margin:6px 0 0;padding:6px 10px;border-left:0;border-radius:6px;background:var(--surface);color:var(--ink);white-space:pre-wrap}
.body{margin-top:14px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.body iframe{display:block;width:100%;height:400px;border:0}
.attachments{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.attachments a{padding:3px 9px;border:1px solid var(--line);border-radius:6px;color:var(--ink-soft);font-size:12px;text-decoration:none}
.attachments a:hover{background:var(--gray-tint)}

/* Decision */
.actions__buttons{display:flex;gap:8px}
.actions__hint{color:var(--muted);font-size:12.5px}
.decide{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.choice[hidden]{display:none}
.choice{display:flex;flex-direction:column;gap:2px;padding:9px 12px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);text-align:left;cursor:pointer}
.choice b{font-size:13px;font-weight:650}
.choice span{color:var(--muted);font-size:12px}
.choice:hover{background:var(--gray-tint)}
.choice[aria-checked="true"]{border-color:var(--ink);background:var(--gray-tint);box-shadow:inset 0 0 0 1px var(--ink)}
.choice[data-choice="approve"][aria-checked="true"]{border-color:var(--dunn-red);box-shadow:inset 0 0 0 1px var(--dunn-red);background:var(--red-tint)}
.composer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:12px}
.composer--single{grid-template-columns:minmax(0,1fr)}
.mini-mail__label{margin:0 0 4px!important;color:var(--muted)}
.composer__main{display:flex;flex-direction:column;gap:12px}
.field label{display:block;margin-bottom:5px;font-size:13px;font-weight:600}
.field select{width:100%;height:32px;padding:0 10px;border:1px solid var(--line-strong);border-radius:7px;background:#fff;font:inherit;font-size:13px}
.field__hint{margin:5px 0 0;color:var(--gold-text);font-size:12px}
.field__hint:empty{display:none}
.quick{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:7px}
.quick button{height:24px;padding:0 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-soft);font-size:12px;cursor:pointer}
.quick button:hover{background:var(--gray-tint)}
.field textarea{display:block;width:100%;padding:8px 10px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;font-size:13.5px;line-height:1.45;resize:vertical}
.composer__bar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.composer__preview{padding:10px;border-radius:10px;background:var(--canvas)}
.composer__preview-label{margin:0 0 8px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.mini-mail{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:12px}
.mini-mail__bar{height:3px;background:var(--dunn-red)}
.mini-mail__inner{padding:12px 14px}
.mini-mail__subject{margin:0 0 2px;color:var(--muted);font-size:11px}
.mini-mail__headline{margin:4px 0 8px;font-size:14px;font-weight:700;line-height:1.3}
.mini-mail p{margin:0 0 8px;line-height:1.45}
.mini-mail__note{margin:0 0 8px;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:var(--canvas);white-space:pre-wrap}
.mini-mail__note:empty::before{content:"Your note appears here.";color:var(--muted)}
.mini-mail__foot{padding:8px 14px;border-top:1px solid var(--line);background:var(--canvas);color:var(--muted);font-size:11px}

@media (max-width:820px){
  :root{--gutter:16px}
  .layout{grid-template-columns:minmax(0,1fr)}
  .queue__list{max-height:none}
  .detail{padding:14px 16px}
  .body iframe{height:380px}
  .choices{grid-template-columns:repeat(2,minmax(0,1fr))}
  .composer{grid-template-columns:1fr}
  .composer__bar{flex-direction:column;align-items:stretch}
  .actions__buttons{justify-content:flex-end}
  .signin{padding-top:6vh}
  .signin__card{padding:30px 24px 26px}
  .signin__headline{font-size:25px}
  .account-name{display:none}
}
