@font-face{font-family:"DM Sans";src:url("assets/dm-sans.ttf") format("truetype");font-display:swap}
@font-face{font-family:"DM Serif Display";src:url("assets/dm-serif.ttf") format("truetype");font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("assets/ibm-plex-mono.ttf") format("truetype");font-display:swap}
:root{
  --ink:#1B2420; --muted:#5E6B64; --faint:#87948C;
  --paper:#F7F3E8; --card:#FFFFFF; --line:#E3DCC8; --line-soft:#EDE8D8;
  --teal:#173F35; --teal-2:#1F5A4A; --amber:#F6C453; --amber-soft:#FDF0C8;
  --clay:#C56A1A; --clay-soft:#FAE8D4;
  --radius:16px;
  --focus:#0F6FDE;
}
[hidden]{display:none !important}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"DM Serif Display",Georgia,serif;font-weight:400;letter-spacing:.01em;margin:0}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Topbar */
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:28px;padding:12px 28px;background:rgba(247,243,232,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}
.brand-mark{display:grid;place-items:center}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-text strong{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:22px}
.brand-text small{font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.24em;color:var(--muted)}
.topnav{display:flex;gap:4px;margin-left:8px}
.topnav a{padding:8px 13px;border-radius:999px;text-decoration:none;color:var(--muted);font-weight:600;font-size:14px}
.topnav a:hover{background:#EFE9D7;color:var(--ink)}
.topnav a.active{background:var(--teal);color:#fff}
.topbar-right{margin-left:auto;display:flex;align-items:center;gap:9px}
.live-dot{width:8px;height:8px;border-radius:50%;background:#2E9E5B;box-shadow:0 0 0 4px #DDEEDF}
.topbar-note{font-size:13px;color:var(--muted);font-weight:600}
.avatar-stack{display:flex;margin-left:8px}
.avatar{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;font-size:10.5px;font-weight:800;color:#fff;border:2px solid var(--paper);margin-left:-8px}
.av-1{background:#C56A1A}.av-2{background:#2B6CB0}.av-3{background:#6B46C1}.av-more{background:#173F35;font-size:9px}

/* Layout */
.layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:0;max-width:1440px;margin:0 auto;min-height:calc(100vh - 57px)}
.sidebar{border-right:1px solid var(--line);padding:26px 20px 32px;display:flex;flex-direction:column;gap:28px;background:#FBF8F0}
.side-heading{font-size:19px;margin-bottom:12px}
.queue-list{display:flex;flex-direction:column;gap:5px}
.queue-btn{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:11px;padding:9px 11px;cursor:pointer;font-weight:600;font-size:14px}
.queue-btn:hover{background:#F1EBDA}
.queue-btn.active{background:var(--teal);color:#fff}
.queue-btn .count{margin-left:auto;font-family:"IBM Plex Mono",monospace;font-size:12px;background:rgba(0,0,0,.07);padding:2px 8px;border-radius:999px}
.queue-btn.active .count{background:rgba(255,255,255,.22)}
.side-hint{font-size:12.5px;color:var(--faint);line-height:1.5;margin:10px 2px 0}
.project-list,.team-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.project-list li,.team-list li{display:flex;align-items:center;gap:9px;padding:6px 8px;font-size:14px;border-radius:8px}
.project-list li:hover,.team-list li:hover{background:#F1EBDA}
.project-list .count,.team-list .count{margin-left:auto;font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--faint)}
.proj-dot{width:9px;height:9px;border-radius:3px;flex:none}
.person-dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:9.5px;font-weight:800;color:#fff;flex:none}
.triage-card{margin-top:auto;background:var(--teal);color:#EAF2ED;border-radius:var(--radius);padding:18px;font-size:13.5px;line-height:1.6}
.triage-card p{margin:0}
.triage-eyebrow{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.22em;color:var(--amber);margin-bottom:8px !important}

/* Main */
.main{padding:34px 40px 40px;min-width:0}
.eyebrow{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.22em;color:var(--clay);margin:0 0 14px;font-weight:600}
.page-head h1{font-size:clamp(38px,5vw,58px);line-height:1.02}
.page-head h1 em{font-style:italic;color:var(--teal-2);border-bottom:5px solid var(--amber)}
.lede{color:var(--muted);font-size:16.5px;line-height:1.6;max-width:56ch;margin:16px 0 0}
.summary-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.chip-stat{display:flex;align-items:baseline;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:9px 14px;font-size:13px;color:var(--muted);font-weight:600}
.chip-stat b{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:21px;color:var(--ink)}

/* Toolbar */
.toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:end;margin:30px 0 8px;padding:18px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 3px rgba(27,36,32,.05)}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.search-field{flex:1 1 260px}
.input-wrap{position:relative;display:flex;align-items:center}
.input-icon{position:absolute;left:12px;color:var(--faint);pointer-events:none}
input[type="search"],select{background:#FFFEFB;border:1.5px solid #D8D0B8;border-radius:11px;padding:11px 13px;font-size:15px;min-height:46px}
input[type="search"]{width:100%;padding-left:37px;padding-right:36px}
input[type="search"]:hover,select:hover{border-color:#BDB294}
.clear-search{position:absolute;right:6px;background:none;border:none;font-size:21px;line-height:1;color:var(--muted);cursor:pointer;padding:6px 9px;border-radius:8px}
.result-count{margin:0 0 12px auto;font-size:13.5px;color:var(--muted);font-weight:600;white-space:nowrap}

/* Task list */
.task-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:11px}
.task-item{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 18px;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
.task-item:hover{border-color:#B9AE8C;box-shadow:0 6px 18px rgba(27,36,32,.08)}
.task-item.selected{border-color:var(--teal);box-shadow:0 0 0 1.5px var(--teal)}
.task-item.is-done{opacity:.82}
.task-title{font-size:20px;line-height:1.25}
.task-summary{color:var(--muted);font-size:14.5px;line-height:1.55;margin:6px 0 0;max-width:68ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.task-meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-top:12px}
.meta{font-size:12.5px;color:var(--muted);font-weight:600;display:inline-flex;align-items:center;gap:5px}
.meta-sep{color:#CFC6A8}
.tag{background:#F1EBDA;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:700;color:#6B5E2E}
.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 11px;font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.pill-todo{background:#EAF0F6;color:#2B5EA7}
.pill-in-progress{background:var(--amber-soft);color:#8A6400}
.pill-blocked{background:#FBE3E3;color:#B02A2A}
.pill-done{background:#E2F2E4;color:#1E7A34}
.prio{font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;border-radius:7px}
.prio-high{background:var(--clay-soft);color:#9A4E0E}
.prio-medium{background:#FEF6D8;color:#8A6400}
.prio-low{background:#EDF1EC;color:#5E6B64}
.task-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.open-btn{background:var(--teal);color:#fff;border:none;border-radius:10px;padding:10px 16px;font-weight:700;font-size:14px;cursor:pointer;white-space:nowrap}
.open-btn:hover{background:var(--teal-2)}
.due{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--muted);text-align:right}
.due strong{display:block;font-size:12.5px;color:var(--ink)}
.due.soon strong{color:var(--clay)}

/* Empty state */
.empty-state{margin-top:16px;text-align:center;background:var(--card);border:1.5px dashed #CFC6A8;border-radius:var(--radius);padding:44px 24px}
.empty-state h2{font-size:27px;margin:14px 0 8px}
.empty-state p{color:var(--muted);max-width:44ch;margin:0 auto 20px;line-height:1.6}
.btn-primary{background:var(--teal);color:#fff;border:none;border-radius:11px;padding:12px 20px;font-weight:700;cursor:pointer;font-size:15px}
.btn-primary:hover{background:var(--teal-2)}

/* Detail */
.backdrop{position:fixed;inset:0;background:rgba(23,42,36,.48);z-index:40}
.detail{position:fixed;top:0;right:0;height:100dvh;width:min(560px,100vw);background:#FFFEFB;z-index:50;overflow-y:auto;padding:30px 32px 44px;box-shadow:-16px 0 44px rgba(23,42,36,.25);animation:slide-in .28s cubic-bezier(.2,.9,.3,1)}
@keyframes slide-in{from{transform:translateX(36px);opacity:.4}to{transform:none;opacity:1}}
.detail-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.detail-kicker{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.2em;color:var(--clay);font-weight:600}
.close-btn{display:inline-flex;align-items:center;gap:7px;background:#F1EBDA;border:1px solid var(--line);border-radius:10px;padding:9px 14px;font-weight:700;cursor:pointer;font-size:14px}
.close-btn:hover{background:#E9E1CB}
.detail h2{font-size:31px;line-height:1.14;margin:10px 0 0}
.detail-pills{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}
.detail-body{margin-top:22px;font-size:15.5px;line-height:1.75;color:#33403A}
.detail-body p{margin:0 0 14px}
.detail-body p:last-child{margin-bottom:0}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.fact{background:#FBF8F0;border:1px solid var(--line-soft);border-radius:12px;padding:13px 15px}
.fact dt{font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin-bottom:5px}
.fact dd{margin:0;font-weight:700;font-size:14.5px}
.status-box{margin-top:24px;background:var(--amber-soft);border:1px solid #EBD489;border-radius:14px;padding:18px}
.status-box label{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7A5800;margin-bottom:8px}
.status-box select{width:100%;background:#fff}
.status-feedback{margin:10px 0 0;font-size:13.5px;font-weight:700;color:var(--teal);display:flex;gap:7px;align-items:center}
.status-feedback:empty{display:none}
.outcome-note{margin-top:22px;border-left:4px solid var(--amber);background:#FFFEFB;padding:4px 0 4px 14px}
.outcome-note h3{font-size:17px;margin-bottom:6px}
.outcome-note p{color:var(--muted);font-size:14px;line-height:1.6;margin:0}
.detail-comments{margin-top:22px;font-size:14px;color:var(--muted);display:flex;gap:8px;align-items:center}
.load-error{color:#B02A2A;font-weight:700;margin-top:18px}
.main-foot{margin-top:34px;padding-top:18px;border-top:1px solid var(--line);font-size:12.5px;color:var(--faint)}

/* Toast */
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:60;background:var(--teal);color:#fff;padding:13px 20px;border-radius:12px;font-weight:700;font-size:14.5px;box-shadow:0 10px 30px rgba(23,42,36,.3);display:flex;gap:9px;align-items:center;max-width:calc(100vw - 32px)}
.toast::before{content:"✓";background:#2E9E5B;border-radius:50%;width:21px;height:21px;display:grid;place-items:center;font-size:12px;flex:none}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}
}
@media (max-width:900px){
  .layout{grid-template-columns:1fr}
  .sidebar{border-right:none;border-bottom:1px solid var(--line);padding:20px 18px;gap:20px}
  .queue-list{flex-direction:row;flex-wrap:wrap}
  .queue-btn{width:auto}
  .queue-btn .count{margin-left:4px}
  .side-hint{display:none}
  #projects,#team{display:none}
  .triage-card{display:none}
  .main{padding:26px 18px 36px}
  .topbar{padding:10px 16px;gap:14px}
  .topnav{display:none}
  .topbar-note{display:none}
  .detail{width:100vw;padding:24px 20px 40px}
  .detail-grid{grid-template-columns:1fr 1fr}
  .task-item{grid-template-columns:1fr}
  .task-side{flex-direction:row;align-items:center;justify-content:space-between}
  .result-count{margin-left:0}
}
@media (max-width:480px){
  .detail-grid{grid-template-columns:1fr}
  .brand-text small{display:none}
  .avatar-stack{display:none}
}
