/* Centinel Team Hub — single stylesheet (base layout + brand theme) */
:root{
  --bg:#f6f7f9; --surface:#ffffff; --surface2:#eef0f4;
  --text:#1c2430; --text2:#6b7280; --text3:#9aa1ad;
  --border:#e3e6ec; --accent:#3f5a8c; --head:#22304a;
  --blue:#378ADD; --teal:#1D9E75; --gray:#4A5568; --amber:#BA7517; --red:#E24B4A;
  --radius:12px;
}
*{box-sizing:border-box;}
body{margin:0; background:var(--bg); color:var(--text); letter-spacing:.005em;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.6; -webkit-font-smoothing:antialiased;}
.wrap{max-width:1020px; margin:0 auto; padding:32px 20px 64px;}
h1{font-size:24px; font-weight:600; color:var(--head); margin:0; letter-spacing:-.01em;}
h2{font-size:16px; font-weight:600; color:var(--head); margin:34px 0 12px; display:flex; align-items:center; gap:8px;}
.sub{font-size:12px; color:var(--text3);}
.head{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px;}
.tagline{font-size:10px; letter-spacing:.14em; color:var(--text2); font-weight:600; text-transform:uppercase; margin-top:1px;}
.seclabel{font-size:11px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; color:var(--text2); margin:22px 0 8px; display:flex; align-items:center; gap:6px;}
.seclabel .sub{text-transform:none; letter-spacing:normal; font-weight:400;}

.cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px;}
.card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:16px 18px; transition:border-color .15s, box-shadow .15s;}
.card .lbl{font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--accent);}
.card .val{font-size:26px; font-weight:650; color:var(--head); margin-top:4px; letter-spacing:-.01em;}
.card .note{font-size:12px; color:var(--text3); margin-top:2px;}
a.doccard{text-decoration:none; color:inherit; display:block;}
a.doccard:hover{border-color:var(--accent); box-shadow:0 6px 22px rgba(34,48,74,.08); transform:translateY(-2px);}

.panel{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:18px 20px; margin-top:8px;}
.chartbox{position:relative; width:100%; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:14px 14px 8px;}
.monthbars{display:flex; align-items:flex-end; gap:14px; height:150px; padding:14px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);}
.mb{flex:1; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:6px; height:100%;}
.mb .bar{width:100%; max-width:46px; background:var(--blue); border-radius:6px 6px 0 0; min-height:2px;}
.mb .n{font-weight:600; font-size:14px;}
.mb .lab{font-size:11px; color:var(--text2);}

table{width:100%; border-collapse:collapse; font-size:13px;}
th,td{text-align:right; padding:8px 6px; border-bottom:1px solid var(--border); white-space:nowrap;}
th{color:var(--text2); font-weight:600; font-size:11px; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; user-select:none;}
th:first-child,td:first-child{text-align:left;}
th.sorted::after{content:" \25BC"; font-size:9px; color:var(--text3);}
tbody tr:hover{background:var(--bg);}
tr.rowlink{cursor:pointer;}
tr.rowlink:hover{background:#eef2f8;}
tr.dim{opacity:.5;}
td.dt{color:var(--text2); white-space:nowrap; width:84px;}

.legend{display:flex; flex-wrap:wrap; gap:14px; margin:4px 0 8px; font-size:12px; color:var(--text2);}
.legend span{display:flex; align-items:center; gap:5px;}
.dot{width:10px; height:10px; border-radius:2px; display:inline-block;}
.foot{margin-top:22px; padding-top:12px; border-top:1px solid var(--border); font-size:12px; color:var(--text3);}
.pill{font-size:11px; padding:1px 7px; border-radius:20px; background:var(--surface2); color:var(--text2);}
.spill{font-size:11px; padding:1px 8px; border-radius:20px; background:var(--surface2); display:inline-flex; align-items:center; gap:5px;}
.spill::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--c,var(--gray));}
.tag{display:inline-block; font-size:11px; padding:1px 8px; border-radius:999px; background:var(--surface2); color:var(--text2); white-space:nowrap;}

.tabs{display:flex; gap:2px; border-bottom:1px solid var(--border); margin:22px 0 4px; flex-wrap:wrap;}
.tab{appearance:none; border:none; background:none; font:inherit; font-size:13px; font-weight:500; color:var(--text2); padding:10px 15px; cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px;}
.tab:hover{color:var(--head);}
.tab.active{color:var(--head); border-bottom-color:var(--accent); font-weight:600;}
.tabpanel{display:none;}
.tabpanel.active{display:block;}

.controls{display:flex; align-items:center; gap:8px; margin:8px 0 14px; flex-wrap:wrap;}
select,.btn,input[type=search]{font:inherit; font-size:13px; border:1px solid var(--border); background:var(--surface); color:var(--text); border-radius:9px; padding:5px 10px; cursor:pointer; display:inline-flex; align-items:center; gap:5px;}
input[type=search]{cursor:text; min-width:170px;}
.btn:hover{border-color:var(--accent); color:var(--accent);}
a{color:var(--accent);}
.linklike{appearance:none; border:none; background:none; color:var(--accent); cursor:pointer; font:inherit; font-size:12px; padding:0; text-decoration:underline;}
.row-x{appearance:none; border:none; background:none; color:var(--text3); cursor:pointer; font-size:13px; line-height:1; padding:3px 7px; border-radius:6px;}
.row-x:hover{background:#fbecec; color:var(--red);}
.stages{display:flex; flex-wrap:wrap; gap:6px 14px;}
.stages label{display:inline-flex; align-items:center; gap:5px; font-size:13px; color:var(--text); cursor:pointer;}
details summary{cursor:pointer; padding:4px 0;}
.stale-banner{display:none; background:#fbf3e3; border:1px solid rgba(186,117,23,.4); color:#7a5212; border-radius:9px; padding:8px 12px; font-size:12.5px; margin:10px 0 0;}
.stale-banner.show{display:block;}

/* action queue rows + check-offs */
.aqrow{display:flex; align-items:baseline; gap:9px; padding:7px 0; border-bottom:1px solid var(--border); font-size:13px;}
.aqrow.done{opacity:.45;}
.aqrow.done span{text-decoration:line-through;}
.aqcheck{appearance:none; border:none; background:none; font-size:15px; cursor:pointer; padding:0 2px; color:var(--text2); flex:none;}
.aqcheck:hover{color:var(--text);}
.chasebtn{font-size:11px; padding:2px 8px;}
#mtRecentTable th,#mtRecentTable td{white-space:normal; text-align:left;}
#mtRecentTable td.dt{white-space:nowrap;}
#tab-demos th,#tab-demos td{text-align:left;}

/* drill-down modal */
#dealModal{display:none; position:fixed; inset:0; background:rgba(28,36,48,.4); z-index:50; align-items:flex-start; justify-content:center; padding:60px 16px;}
#dealModal.show{display:flex;}
#dealModal .modalbox{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:20px 24px; max-width:520px; width:100%; max-height:80vh; overflow-y:auto; box-shadow:0 8px 40px rgba(28,36,48,.3);}
#dealModal h3{color:var(--head); margin:0 0 2px;}
table.kv{font-size:13px;}
table.kv td{text-align:left; white-space:normal;}
table.kv td:first-child{color:var(--text2); width:44%;}

/* tabler icon subset */
@font-face{font-family:"tabler-icons"; font-style:normal; font-weight:400; src:url("assets/tabler-subset.woff2") format("woff2");}
.ti{font-family:"tabler-icons"!important; font-style:normal; font-weight:400; font-variant:normal; text-transform:none; line-height:1; display:inline-block; -webkit-font-smoothing:antialiased;}
.ti-broadcast:before{content:"\f1e9"}.ti-calendar-month:before{content:"\fd2f"}.ti-chart-bar:before{content:"\ea59"}
.ti-chart-pie:before{content:"\ea5d"}.ti-filter:before{content:"\eaa5"}.ti-help-circle:before{content:"\f91d"}
.ti-list-details:before{content:"\ef40"}.ti-mail-forward:before{content:"\eeac"}.ti-phone-plus:before{content:"\ec06"}
.ti-plug-connected:before{content:"\f00a"}.ti-refresh:before{content:"\eb13"}.ti-users:before{content:"\ebf2"}

/* POC tracker */
.pocboard{display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; align-items:start;}
.poccol{background:var(--surface2); border-radius:var(--radius); padding:10px 9px; min-height:64px;}
.poccol .h{margin:0 0 8px; font-size:10.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--text2); display:flex; justify-content:space-between; gap:6px;}
.poccard{background:var(--surface); border:1px solid var(--border); border-radius:9px; padding:8px 9px; margin-bottom:7px;}
.poccard:last-child{margin-bottom:0;}
.poccard .n{font-size:12.5px; font-weight:600; color:var(--head); line-height:1.25;}
.poccard .m{font-size:11px; color:var(--text3); margin-top:3px;}
.pocbar{display:flex; align-items:center; gap:10px; padding:5px 0;}
.pocbar .lab{width:190px; font-size:12.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.pocbar .track{flex:1; height:9px; background:var(--surface2); border-radius:5px; overflow:hidden;}
.pocbar .fill{height:100%; border-radius:5px;}
.pocbar .d{width:54px; text-align:right; font-size:12px; color:var(--text2);}
@media (max-width:840px){.pocboard{grid-template-columns:repeat(3,minmax(0,1fr));} .pocbar .lab{width:118px;}}
