:root{
  --navy:#122757; --gold:#FFD46C; --line:#d9deea; --mute:#4b5b80;
  --live:#1b8a55; --done:#122757; --doing:#e0a100; --review:#7a4fd0; --paused:#8a93a6;
  --pad:clamp(16px,4vw,40px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--navy);font:400 15px/1.55 "Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.wrap{max-width:1160px;margin:0 auto;padding:0 var(--pad)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
a{color:inherit}
:focus-visible{outline:2px solid var(--navy);outline-offset:3px}

.head{border-bottom:2px solid var(--gold);padding:clamp(28px,5vw,56px) 0 20px}
.head-in{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px}
h1{margin:0;font-size:clamp(28px,4.5vw,44px);line-height:1.1;font-weight:700;letter-spacing:-.02em}
.sub{margin:0;color:var(--mute);font-size:14px}
.tag{margin-left:12px;padding:2px 8px;border:1px solid var(--navy);color:var(--navy);font-size:12px;font-weight:600}

.summary{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--navy)}
.summary li{padding:14px 16px;border-left:1px solid var(--line)}
.summary li:first-child{border-left:0}
.summary b{display:block;font-size:clamp(26px,3.4vw,36px);line-height:1.1;font-weight:700;font-variant-numeric:tabular-nums}
.summary span{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:13px;color:var(--mute)}
.dot{width:9px;height:9px;border-radius:50%;flex:none;background:var(--c)}
[data-s="Live"]{--c:var(--live)} [data-s="Đã giao"]{--c:var(--done)} [data-s="Đang làm"]{--c:var(--doing)}
[data-s="Chờ duyệt"]{--c:var(--review)} [data-s="Tạm dừng"]{--c:var(--paused)}

.tools{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between;margin:32px 0 8px}
.chips{display:flex;flex-wrap:wrap;gap:4px 20px}
.chip{font:inherit;font-weight:500;color:var(--mute);background:none;border:0;border-bottom:2px solid transparent;padding:6px 0;cursor:pointer}
.chip:hover{color:var(--navy)}
.chip[aria-pressed="true"]{color:var(--navy);font-weight:600;border-bottom-color:var(--gold)}
.search input{font:inherit;width:300px;max-width:100%;padding:9px 12px;border:1px solid var(--navy);border-radius:0;background:#fff;color:var(--navy)}
.search input::placeholder{color:var(--mute)}

.group{margin-top:40px}
.group h2{display:flex;align-items:baseline;gap:12px;margin:0;padding-bottom:10px;border-bottom:2px solid var(--gold);font-size:20px;font-weight:700;letter-spacing:-.01em}
.group h2 small{font-size:14px;font-weight:500;color:var(--mute)}
.rows{list-style:none;margin:0;padding:0}
.row{display:grid;grid-template-columns:minmax(0,3fr) 130px minmax(0,5fr) 56px;gap:0 24px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line)}
.name{font-weight:600;overflow-wrap:anywhere}
.name a{text-decoration:none;border-bottom:1px solid transparent}
.name a:hover{border-bottom-color:var(--navy)}
.status{display:inline-flex;align-items:center;gap:8px;font-size:14px;white-space:nowrap}
.note{color:var(--mute);font-size:14px;overflow-wrap:anywhere}
.open{justify-self:end;font-size:14px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--gold);box-shadow:none}
.open:hover{border-bottom-color:var(--navy)}

.empty{margin:48px 0;padding:24px;border:1px solid var(--line);color:var(--mute)}
.foot{margin-top:72px;padding:20px 0 32px;border-top:1px solid var(--line);font-size:13px;color:var(--mute)}
.foot p{margin:0}
.credit{margin-top:4px!important;font-size:12px}

@media (max-width:860px){
  .summary{grid-template-columns:repeat(3,1fr)}
  .summary li{border-top:1px solid var(--line)}
  .summary li:nth-child(-n+3){border-top:0}
  .summary li:nth-child(4){border-left:0}
  .row{grid-template-columns:1fr auto;gap:6px 16px;padding:16px 0}
  .name{grid-column:1/-1}
  .status{grid-column:1;grid-row:2}
  .open{grid-column:2;grid-row:2}
  .note{grid-column:1/-1;grid-row:3}
  .note:empty{display:none}
  .search{flex:1 1 100%}.search input{width:100%}
}
@media (max-width:420px){
  .summary{grid-template-columns:repeat(2,1fr)}
  .summary li{border-top:1px solid var(--line);border-left:1px solid var(--line)}
  .summary li:nth-child(-n+2){border-top:0}
  .summary li:nth-child(odd){border-left:0}
  .summary li:nth-child(4){border-left:1px solid var(--line)}
}

/* tabs */
.tabbar{border-bottom:1px solid var(--line)}
.tabs{display:flex;gap:28px;overflow-x:auto}
.tabs [role=tab]{font:inherit;font-weight:500;color:var(--mute);background:none;border:0;border-bottom:3px solid transparent;padding:14px 0 11px;cursor:pointer;white-space:nowrap;margin-bottom:-1px}
.tabs [role=tab]:hover{color:var(--navy)}
.tabs [role=tab][aria-selected="true"]{color:var(--navy);font-weight:700;border-bottom-color:var(--gold)}
[hidden]{display:none!important}
[role=tabpanel]:focus-visible{outline-offset:6px}

/* trace */
.trace section{margin-top:44px}
.trace h2{margin:0 0 4px;padding-bottom:10px;border-bottom:2px solid var(--gold);font-size:20px;font-weight:700;letter-spacing:-.01em}
.trace h3{margin:28px 0 8px;font-size:16px;font-weight:700}
.timeline{list-style:none;margin:0;padding:0}
.timeline li{display:grid;grid-template-columns:200px minmax(0,1fr);gap:0 32px;padding:18px 0;border-bottom:1px solid var(--line)}
.timeline time{font-weight:700;font-variant-numeric:tabular-nums}
.timeline p{margin:0;max-width:68ch}
.timeline .start{border-left:3px solid var(--gold);padding-left:16px;margin-left:-19px}
.breaks{margin:0;padding:0;list-style:none;counter-reset:b}
.breaks li{counter-increment:b;display:grid;grid-template-columns:32px minmax(0,1fr);padding:14px 0;border-bottom:1px solid var(--line);font-weight:500}
.breaks li::before{content:counter(b);font-weight:700}
.tbl{overflow-x:auto}
.tbl table{width:100%;border-collapse:collapse;font-size:14px}
.tbl th,.tbl td{text-align:left;vertical-align:top;padding:12px 16px 12px 0;border-bottom:1px solid var(--line)}
.tbl thead th{border-bottom:1px solid var(--navy);color:var(--mute);font-weight:600;font-size:13px}
.tbl tbody th{font-weight:600}
.tbl a{font-weight:600;overflow-wrap:anywhere}
.none{color:var(--navy);font-weight:600;border-bottom:2px solid var(--gold)}
.rule{margin:20px 0 0;padding:12px 16px;border:1px solid var(--navy);max-width:68ch}
@media (max-width:760px){
  .timeline li{grid-template-columns:1fr;gap:4px}
  .timeline .start{margin-left:0}
  .tbl thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tbl tr{display:block;border:1px solid var(--line);margin-top:12px;padding:6px 14px}
  .tbl th,.tbl td{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;border:0;padding:6px 0}
  .tbl td::before,.tbl tbody th::before{content:attr(data-label);color:var(--mute);font-weight:500;font-size:13px}
}
