
:root {
  --bg:#f8f8f0; --bg-in:#f3f3eb; --surface:#ffffff;
  --border:rgba(58,46,38,0.09); --border-md:rgba(58,46,38,0.14);
  --text-1:#2c2318; --text-2:#7a6a5a; --text-3:#b0a090;
  --green:#7bb241; --green-dk:#5e8c2f; --green-lt:rgba(123,178,65,0.13); --green-mid:rgba(123,178,65,0.22);
  --teal:#0891b2; --teal-dk:#0e7490; --teal-lt:rgba(8,145,178,0.1); --teal-mid:rgba(8,145,178,0.18);
  --plum:#7c3aed; --plum-dk:#6d28d9; --plum-lt:rgba(124,58,237,0.09); --plum-mid:rgba(124,58,237,0.16);
  --amber:#c8820a; --amber-lt:rgba(200,130,10,0.12);
  --red:#c0392b; --red-lt:rgba(192,57,43,0.10);
  --blue:#2a6ea8; --blue-lt:rgba(42,110,168,0.10);
  --sh-sm:0 1px 3px rgba(44,35,24,0.07),0 1px 2px rgba(44,35,24,0.04);
  --sh-md:0 4px 16px rgba(44,35,24,0.1),0 1px 4px rgba(44,35,24,0.05);
  --sh-lg:0 12px 40px rgba(44,35,24,0.13),0 2px 8px rgba(44,35,24,0.06);
  --sh-xl:0 24px 64px rgba(44,35,24,0.18),0 4px 16px rgba(44,35,24,0.08);
  --r-sm:8px; --r-md:12px; --r-lg:18px; --r-xl:24px;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display',system-ui,sans-serif;background:var(--bg);color:var(--text-1);min-height:100vh;-webkit-font-smoothing:antialiased;}

/* SIDEBAR */
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;color:var(--text-1);}
.hamburger:hover{background:var(--bg2);}
.hamburger svg{display:block;}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:244px;background:rgba(248,248,240,0.88);backdrop-filter:blur(32px) saturate(160%);-webkit-backdrop-filter:blur(32px) saturate(160%);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:100;}
.sidebar-brand{padding:18px 18px 15px;border-bottom:1px solid var(--border);}
.brand-logo{width:160px;height:auto;display:block;}
.sidebar-section{padding:13px 10px 2px;}
.ssl{font-size:10px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:0.8px;padding:0 8px;margin-bottom:2px;}
.nav-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--r-sm);cursor:pointer;font-size:13px;font-weight:400;color:var(--text-2);user-select:none;transition:background 0.13s,color 0.13s;}
.nav-item:hover{background:rgba(44,35,24,0.06);color:var(--text-1);}
.nav-item.active-pq{background:var(--green-mid);color:var(--green-dk);font-weight:500;}
.nav-item.active-mq{background:var(--teal-mid);color:var(--teal-dk);font-weight:500;}
.nav-item.active-foi{background:var(--plum-mid);color:var(--plum-dk);font-weight:500;}
.nav-item.active-all{background:rgba(44,35,24,0.09);color:var(--text-1);font-weight:500;}
.nav-item svg{width:14px;height:14px;flex-shrink:0;opacity:0.6;}
.nav-item.active-pq svg,.nav-item.active-mq svg,.nav-item.active-foi svg,.nav-item.active-all svg{opacity:1;}
.nav-badge{margin-left:auto;color:white;font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;min-width:17px;text-align:center;}
.nav-badge.g{background:var(--green);} .nav-badge.t{background:var(--teal);} .nav-badge.p{background:var(--plum);} .nav-badge.a{background:var(--amber);}
.sidebar-bottom{margin-top:auto;border-top:1px solid var(--border);padding:12px 10px 14px;}
.user-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--r-sm);cursor:pointer;}
.user-row:hover{background:rgba(44,35,24,0.05);}
.avatar{width:27px;height:27px;border-radius:50%;background:linear-gradient(135deg,var(--green),var(--green-dk));color:white;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.user-name{font-size:12.5px;font-weight:500;} .user-role{font-size:11px;color:var(--text-3);}

/* TOPBAR */
.main{margin-left:244px;min-height:100vh;display:flex;flex-direction:column;}
.topbar{position:sticky;top:0;background:rgba(248,248,240,0.88);backdrop-filter:blur(32px) saturate(160%);-webkit-backdrop-filter:blur(32px) saturate(160%);border-bottom:1px solid var(--border);padding:0 28px;height:52px;display:flex;align-items:center;gap:12px;z-index:50;}
.topbar-title{font-size:16px;font-weight:600;letter-spacing:-0.3px;flex:1;}
.search-wrap{position:relative;width:200px;}
.search-wrap svg{position:absolute;left:9px;top:50%;transform:translateY(-50%);width:13px;height:13px;color:var(--text-3);pointer-events:none;}
.search-input{width:100%;background:rgba(44,35,24,0.06);border:none;border-radius:var(--r-sm);padding:6px 10px 6px 27px;font-size:13px;font-family:inherit;color:var(--text-1);outline:none;transition:background 0.13s;}
.search-input:focus{background:rgba(44,35,24,0.1);}
.search-input::placeholder{color:var(--text-3);}
.btn{display:inline-flex;align-items:center;gap:5px;padding:6px 13px;border-radius:var(--r-sm);font-size:12.5px;font-weight:500;font-family:inherit;cursor:pointer;border:none;transition:all 0.13s;white-space:nowrap;}
.btn-primary{background:var(--green);color:white;} .btn-primary:hover{background:var(--green-dk);transform:translateY(-0.5px);}
.btn-primary.mq{background:var(--teal);} .btn-primary.mq:hover{background:var(--teal-dk);}
.btn-primary.foi{background:var(--plum);} .btn-primary.foi:hover{background:var(--plum-dk);}
.btn-primary.ai{background:linear-gradient(135deg,#7c3aed,#0891b2);} .btn-primary.ai:hover{background:linear-gradient(135deg,#6d28d9,#0e7490);}
.btn-secondary{background:rgba(44,35,24,0.07);color:var(--text-1);} .btn-secondary:hover{background:rgba(44,35,24,0.13);}
.btn-ghost{background:transparent;color:var(--green-dk);padding:6px 9px;} .btn-ghost:hover{background:var(--green-lt);}
.btn-danger{background:var(--red-lt);color:var(--red);} .btn-danger:hover{background:rgba(192,57,43,0.18);}
.btn svg{width:13px;height:13px;}
.notif-wrap{position:relative;width:31px;height:31px;border-radius:var(--r-sm);background:rgba(44,35,24,0.06);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.13s;}
.notif-wrap:hover{background:rgba(44,35,24,0.12);}
.notif-wrap svg{width:14px;height:14px;color:var(--text-2);}
.notif-pip{position:absolute;top:7px;right:7px;width:6px;height:6px;background:var(--red);border-radius:50%;border:1.5px solid var(--bg);}

/* CONTENT */
.content{padding:24px 28px;flex:1;}
.view{display:none;}
.view.active{display:block;animation:fadeUp 0.18s ease;}
@keyframes fadeUp{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}

/* STATS */
.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:20px;}
.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px;box-shadow:var(--sh-sm);transition:box-shadow 0.18s,transform 0.18s;cursor:default;}
.stat-card:hover{box-shadow:var(--sh-md);transform:translateY(-1px);}
.stat-label{font-size:11px;color:var(--text-3);font-weight:500;margin-bottom:6px;}
.stat-value{font-size:26px;font-weight:700;letter-spacing:-0.9px;line-height:1;margin-bottom:4px;}
.stat-meta{font-size:11px;color:var(--text-3);}
.stat-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:3px;margin-bottom:1px;}
.type-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;}
.type-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 18px;box-shadow:var(--sh-sm);display:flex;align-items:center;gap:14px;cursor:pointer;transition:box-shadow 0.18s,transform 0.18s;}
.type-card:hover{box-shadow:var(--sh-md);transform:translateY(-1px);}
.type-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.type-icon svg{width:18px;height:18px;}
.type-card-label{font-size:11px;color:var(--text-3);font-weight:500;margin-bottom:2px;}
.type-card-count{font-size:22px;font-weight:700;letter-spacing:-0.6px;line-height:1.1;}
.type-card-sub{font-size:11px;color:var(--text-3);margin-top:1px;}

/* SECTION */
.section-header{display:flex;align-items:center;margin-bottom:12px;gap:10px;}
.section-title{font-size:14.5px;font-weight:600;letter-spacing:-0.3px;flex:1;}

/* TABLE */
.table-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden;}
.filter-row{display:flex;gap:6px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap;}
.filter-chip{padding:4px 11px;border-radius:20px;font-size:11.5px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--text-2);font-family:inherit;transition:all 0.12s;}
.filter-chip:hover{border-color:var(--green);color:var(--green-dk);}
.filter-chip.active{background:var(--green);border-color:var(--green);color:white;}
.filter-chip.active.t{background:var(--teal);border-color:var(--teal);}
.filter-chip.active.p{background:var(--plum);border-color:var(--plum);}
.bulk-bar{display:none;align-items:center;gap:8px;padding:8px 14px;background:rgba(44,35,24,0.04);border-bottom:1px solid var(--border);}
.bulk-bar.visible{display:flex;}
.bulk-label{font-size:12px;font-weight:600;color:var(--text-2);margin-right:4px;}
table{width:100%;border-collapse:collapse;}
thead tr{border-bottom:1px solid var(--border);}
th{text-align:left;padding:8px 14px;font-size:10px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:0.5px;white-space:nowrap;}
th.cb-th{padding:8px 8px 8px 14px;width:32px;}
tbody tr{border-bottom:1px solid var(--border);transition:background 0.1s;cursor:pointer;}
tbody tr:last-child{border-bottom:none;}
tbody tr:hover{background:rgba(123,178,65,0.04);}
tbody tr.selected{background:rgba(123,178,65,0.08);}
td{padding:10px 14px;font-size:12.5px;vertical-align:middle;}
td.cb-td{padding:10px 8px 10px 14px;width:32px;}
.rec-id{font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:0.3px;}
.rec-id.pq{color:var(--green-dk);} .rec-id.mq{color:var(--teal-dk);} .rec-id.foi{color:var(--plum-dk);}
.rec-text{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
input[type=checkbox]{width:14px;height:14px;accent-color:var(--green);cursor:pointer;}

/* BADGES */
.badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:500;white-space:nowrap;}
.bdot{width:5px;height:5px;border-radius:50%;flex-shrink:0;}
.b-new{background:var(--blue-lt);color:var(--blue);} .b-new .bdot{background:var(--blue);}
.b-triage{background:rgba(91,51,184,0.1);color:#4c1d95;} .b-triage .bdot{background:#6d28d9;}
.b-drafting{background:var(--amber-lt);color:var(--amber);} .b-drafting .bdot{background:var(--amber);}
.b-clreview{background:var(--green-lt);color:var(--green-dk);} .b-clreview .bdot{background:var(--green);}
.b-ceoreview{background:var(--red-lt);color:var(--red);} .b-ceoreview .bdot{background:var(--red);}
.b-submitted{background:rgba(94,140,47,0.12);color:var(--green-dk);} .b-submitted .bdot{background:var(--green-dk);}
.b-mq-pr{background:var(--teal-lt);color:var(--teal-dk);} .b-mq-pr .bdot{background:var(--teal);}
.b-mq-sign{background:var(--red-lt);color:var(--red);} .b-mq-sign .bdot{background:var(--red);}
.b-mq-resp{background:rgba(8,145,178,0.14);color:var(--teal-dk);} .b-mq-resp .bdot{background:var(--teal-dk);}
.b-foi-ack{background:rgba(109,40,217,0.1);color:#4c1d95;} .b-foi-ack .bdot{background:#7c3aed;}
.b-foi-info{background:var(--amber-lt);color:var(--amber);} .b-foi-info .bdot{background:var(--amber);}
.b-foi-legal{background:var(--plum-lt);color:var(--plum-dk);} .b-foi-legal .bdot{background:var(--plum);}
.b-foi-draft{background:var(--amber-lt);color:var(--amber);} .b-foi-draft .bdot{background:var(--amber);}
.b-foi-resp{background:rgba(109,40,217,0.13);color:var(--plum-dk);} .b-foi-resp .bdot{background:var(--plum-dk);}
.b-urgent{background:var(--red-lt);color:var(--red);font-weight:600;}
.b-high{background:var(--amber-lt);color:var(--amber);}
.b-normal{background:rgba(44,35,24,0.06);color:var(--text-2);}
.b-low{background:var(--green-lt);color:var(--green-dk);}
.b-type-pq{background:var(--green-lt);color:var(--green-dk);font-weight:600;}
.b-type-mq{background:var(--teal-lt);color:var(--teal-dk);font-weight:600;}
.b-type-foi{background:var(--plum-lt);color:var(--plum-dk);font-weight:600;}

/* Priority row indicators */
.prio-bar{width:3px;border-radius:2px;flex-shrink:0;}
td.prio-cell{padding:0 0 0 14px;width:11px;}
.prio-bar-wrap{display:flex;align-items:stretch;height:32px;}
tr.row-urgent:hover{background:rgba(192,57,43,0.04)!important;}
tr.row-high:hover{background:rgba(200,130,10,0.04)!important;}

/* SLA */
.sla-wrap{display:flex;align-items:center;gap:6px;min-width:110px;}
.sla-bar{flex:1;height:3px;border-radius:2px;background:rgba(44,35,24,0.08);overflow:hidden;}
.sla-fill{height:100%;border-radius:2px;}
.sla-fill.g{background:var(--green);} .sla-fill.a{background:var(--amber);} .sla-fill.r{background:var(--red);}
.sla-label{font-size:10.5px;color:var(--text-3);white-space:nowrap;min-width:38px;text-align:right;}
.sla-label.urgent{color:var(--red);font-weight:700;}
.sla-label.warn{color:var(--amber);font-weight:600;}

/* PIPELINE */
.pipeline-type-tabs{display:flex;gap:0;margin-bottom:14px;border-bottom:1px solid var(--border);}
.pt-tab{padding:7px 14px;font-size:12.5px;font-weight:500;font-family:inherit;background:none;border:none;cursor:pointer;color:var(--text-2);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all 0.13s;}
.pt-tab:hover{color:var(--text-1);}
.pt-tab.active-pq{color:var(--green-dk);border-bottom-color:var(--green-dk);}
.pt-tab.active-mq{color:var(--teal-dk);border-bottom-color:var(--teal-dk);}
.pt-tab.active-foi{color:var(--plum-dk);border-bottom-color:var(--plum-dk);}
.pipeline-grid{display:grid;gap:8px;align-items:start;}
.pipeline-grid.cols-6{grid-template-columns:repeat(6,1fr);}
.pipeline-col{background:rgba(44,35,24,0.04);border-radius:var(--r-md);overflow:hidden;}
.pipeline-header{padding:10px 10px 8px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--border);}
.ps-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.ps-name{font-size:11px;font-weight:600;flex:1;}
.ps-count{font-size:10.5px;font-weight:600;color:var(--text-3);background:rgba(44,35,24,0.07);padding:1px 5px;border-radius:7px;}
.pipeline-cards{padding:6px;display:flex;flex-direction:column;gap:5px;min-height:44px;}
.pipeline-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:9px;cursor:pointer;box-shadow:var(--sh-sm);transition:all 0.13s;border-left:3px solid transparent;}
.pipeline-card:hover{box-shadow:var(--sh-md);transform:translateY(-1px);}
.pipeline-card.urgent-card{border-left-color:var(--red);}
.pipeline-card.high-card{border-left-color:var(--amber);}
.pc-id{font-size:9px;font-weight:700;letter-spacing:0.3px;margin-bottom:3px;}
.pc-id.pq{color:var(--green-dk);} .pc-id.mq{color:var(--teal-dk);} .pc-id.foi{color:var(--plum-dk);}
.pc-title{font-size:11px;color:var(--text-1);line-height:1.35;margin-bottom:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pc-footer{display:flex;align-items:center;justify-content:space-between;}
.pc-assignee{font-size:9px;color:var(--text-3);}
.pc-sla{font-size:9px;font-weight:600;}
.pc-sla.g{color:var(--green-dk);} .pc-sla.a{color:var(--amber);} .pc-sla.r{color:var(--red);}
.pipeline-empty{text-align:center;padding:16px 6px;color:var(--text-3);font-size:10.5px;}

/* TWO COL */
.two-col{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;align-items:start;}

/* FLOW WIDGET */
.flow-widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px;box-shadow:var(--sh-sm);}
.flow-label{font-size:10.5px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:12px;}
.flow-steps{display:flex;flex-direction:column;}
.flow-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;position:relative;}
.flow-step:not(:last-child)::after{content:'';position:absolute;left:12px;top:29px;bottom:-2px;width:1px;background:var(--border);}
.fsi{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;position:relative;z-index:1;}
.fsi.done{background:var(--green);color:white;}
.fsi.active{background:var(--green-dk);color:white;box-shadow:0 0 0 3px var(--green-lt);}
.fsi.active.mq{background:var(--teal-dk);box-shadow:0 0 0 3px var(--teal-lt);}
.fsi.active.foi{background:var(--plum-dk);box-shadow:0 0 0 3px var(--plum-lt);}
.fsi.pending{background:rgba(44,35,24,0.07);color:var(--text-3);}
.fs-name{font-size:12.5px;font-weight:500;margin-bottom:1px;}
.fs-desc{font-size:11px;color:var(--text-3);}

/* ANALYTICS */
.analytics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:18px;}
.analytics-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 20px;box-shadow:var(--sh-sm);}
.ac-title{font-size:11.5px;font-weight:600;color:var(--text-2);margin-bottom:14px;text-transform:uppercase;letter-spacing:0.4px;}
.bar-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.bar-label{font-size:12px;color:var(--text-2);width:110px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bar-track{flex:1;height:6px;border-radius:3px;background:rgba(44,35,24,0.07);overflow:hidden;}
.bar-fill{height:100%;border-radius:3px;transition:width 0.6s ease;}
.bar-val{font-size:11px;font-weight:600;color:var(--text-2);min-width:28px;text-align:right;}
.metric-row{display:flex;gap:12px;flex-wrap:wrap;}
.metric-cell{flex:1;min-width:80px;background:var(--bg);border-radius:var(--r-md);padding:12px 14px;}
.mc-label{font-size:10.5px;color:var(--text-3);margin-bottom:4px;}
.mc-value{font-size:20px;font-weight:700;letter-spacing:-0.5px;}

/* TEAM */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;}
.team-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px;box-shadow:var(--sh-sm);transition:box-shadow 0.18s,transform 0.18s;}
.team-card:hover{box-shadow:var(--sh-md);transform:translateY(-1px);}
.team-av{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:white;margin-bottom:10px;}
.team-name{font-size:14px;font-weight:600;letter-spacing:-0.2px;margin-bottom:2px;}
.team-role{font-size:11px;color:var(--text-2);margin-bottom:10px;}
.team-topics{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:10px;}
.t-tag{padding:2px 7px;background:var(--bg);border-radius:5px;font-size:10.5px;font-weight:500;color:var(--text-2);}
.team-stat{font-size:11px;color:var(--text-3);display:flex;gap:10px;padding-top:8px;border-top:1px solid var(--border);}
.team-stat strong{color:var(--text-1);}
.workload-bar{height:4px;border-radius:2px;margin-top:6px;background:rgba(44,35,24,0.07);overflow:hidden;}
.workload-fill{height:100%;border-radius:2px;background:var(--green);transition:width 0.5s;}
.workload-fill.busy{background:var(--amber);}
.workload-fill.overloaded{background:var(--red);}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(44,35,24,0.28);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:200;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.18s;}
.modal-overlay.open{opacity:1;pointer-events:auto;}
.modal{background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--sh-xl);width:740px;max-width:calc(100vw - 48px);max-height:calc(100vh - 80px);display:flex;flex-direction:column;transform:scale(0.96) translateY(8px);transition:transform 0.2s cubic-bezier(0.34,1.56,0.64,1);border:1px solid var(--border);}
.modal-overlay.open .modal{transform:scale(1) translateY(0);}
.modal-header{padding:20px 22px 0;display:flex;align-items:flex-start;gap:12px;}
.modal-icon{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.modal-icon svg{width:20px;height:20px;}
.modal-title{font-size:16px;font-weight:700;letter-spacing:-0.35px;margin-bottom:2px;}
.modal-sub{font-size:12.5px;color:var(--text-2);}
.modal-close{margin-left:auto;width:26px;height:26px;border-radius:50%;background:rgba(44,35,24,0.07);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-2);flex-shrink:0;margin-top:1px;transition:background 0.12s;}
.modal-close:hover{background:rgba(44,35,24,0.14);}
.modal-close svg{width:12px;height:12px;}
.modal-tabs{display:flex;padding:14px 22px 0;border-bottom:1px solid var(--border);margin-top:14px;gap:0;}
.tab-btn{padding:7px 12px;font-size:12.5px;font-weight:500;font-family:inherit;background:none;border:none;cursor:pointer;color:var(--text-2);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all 0.13s;white-space:nowrap;}
.tab-btn:hover{color:var(--text-1);}
.tab-btn.active{color:var(--green-dk);border-bottom-color:var(--green-dk);}
.tab-btn.active.mq{color:var(--teal-dk);border-bottom-color:var(--teal-dk);}
.tab-btn.active.foi{color:var(--plum-dk);border-bottom-color:var(--plum-dk);}
.modal-body{padding:18px 22px 22px;overflow-y:auto;flex:1;}
.tab-content{display:none;}
.tab-content.active{display:block;}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:13px;}
.info-cell{background:var(--bg);border-radius:var(--r-md);padding:10px 12px;}
.ic-label{font-size:10px;color:var(--text-3);font-weight:600;margin-bottom:4px;text-transform:uppercase;letter-spacing:0.45px;}
.ic-value{font-size:12.5px;font-weight:500;}
.q-box{background:var(--bg);border-radius:var(--r-md);padding:12px 14px;font-size:13px;line-height:1.6;margin-bottom:14px;}
.q-box.pq-border{border-left:3px solid var(--green);}
.q-box.mq-border{border-left:3px solid var(--teal);}
.q-box.foi-border{border-left:3px solid var(--plum);}

/* Links section in modal */
.links-section{margin-top:14px;}
.links-label{font-size:10.5px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:8px;}
.links-list{display:flex;flex-direction:column;gap:5px;}
.link-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg);border-radius:var(--r-sm);font-size:12px;cursor:pointer;transition:background 0.12s;}
.link-item:hover{background:var(--bg-in);}
.link-item-id{font-weight:700;} .link-item-id.pq{color:var(--green-dk);} .link-item-id.mq{color:var(--teal-dk);} .link-item-id.foi{color:var(--plum-dk);}
.link-item-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);}
.link-remove{background:none;border:none;color:var(--text-3);cursor:pointer;font-size:14px;line-height:1;padding:0 2px;transition:color 0.12s;}
.link-remove:hover{color:var(--red);}
.link-add-row{display:flex;gap:6px;margin-top:6px;}
.link-search-input{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:6px 10px;font-size:12px;font-family:inherit;outline:none;}
.link-search-input:focus{border-color:var(--green);}
.link-suggestions{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--sh-md);overflow:hidden;margin-top:4px;}
.link-sug-item{padding:8px 12px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border);}
.link-sug-item:last-child{border-bottom:none;}
.link-sug-item:hover{background:var(--bg);}

.draft-area{width:100%;min-height:140px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);padding:12px;font-size:12.5px;font-family:inherit;color:var(--text-1);resize:vertical;outline:none;transition:border-color 0.13s,background 0.13s;line-height:1.6;}
.draft-area:focus{border-color:var(--green);background:var(--surface);}
.draft-area.mq:focus{border-color:var(--teal);}
.draft-area.foi:focus{border-color:var(--plum);}
.draft-actions{display:flex;gap:7px;margin-top:8px;justify-content:flex-end;}
.audit-list{display:flex;flex-direction:column;}
.audit-item{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);}
.audit-item:last-child{border-bottom:none;}
.a-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0;margin-top:5px;}
.a-dot.mq{background:var(--teal);} .a-dot.foi{background:var(--plum);}
.a-text{font-size:12.5px;flex:1;}
.a-actor{font-weight:600;}
.a-time{font-size:10.5px;color:var(--text-3);white-space:nowrap;}

/* FOI Exemptions */
.exemption-grid{display:flex;flex-direction:column;gap:6px;margin-top:12px;}
.exemption-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg);border-radius:var(--r-sm);font-size:12px;}
.exemption-row input[type=checkbox]{accent-color:var(--plum);}
.exemption-label{flex:1;color:var(--text-1);}
.exemption-article{font-size:10px;color:var(--text-3);white-space:nowrap;}
.exemption-disc-wrap{margin-top:10px;}
.disc-label{font-size:11px;font-weight:600;color:var(--text-2);margin-bottom:6px;}
.disc-btns{display:flex;gap:6px;}
.disc-btn{padding:5px 12px;border-radius:20px;font-size:11.5px;font-weight:500;border:1px solid var(--border);background:transparent;color:var(--text-2);font-family:inherit;cursor:pointer;transition:all 0.12s;}
.disc-btn.active{background:var(--plum);border-color:var(--plum);color:white;}

/* REASSIGN MODAL */
.assignee-list{display:flex;flex-direction:column;gap:5px;margin-top:4px;}
.assignee-opt{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-sm);cursor:pointer;border:1px solid var(--border);background:transparent;font-family:inherit;transition:all 0.12s;width:100%;}
.assignee-opt:hover{background:var(--bg);border-color:var(--border-md);}
.assignee-opt.selected{background:var(--green-lt);border-color:var(--green);}
.ao-av{width:30px;height:30px;border-radius:50%;color:white;font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ao-name{font-size:13px;font-weight:500;flex:1;text-align:left;}
.ao-load{font-size:11px;color:var(--text-3);}
.ao-load-bar{width:48px;height:4px;border-radius:2px;background:rgba(44,35,24,0.08);overflow:hidden;margin-top:2px;}
.ao-load-fill{height:100%;border-radius:2px;background:var(--green);}
.ao-load-fill.busy{background:var(--amber);}
.ao-load-fill.over{background:var(--red);}

/* NEW RECORD */
.type-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px;}
.type-opt{border:2px solid var(--border);border-radius:var(--r-md);padding:12px 14px;cursor:pointer;transition:all 0.14s;text-align:center;background:transparent;font-family:inherit;}
.type-opt:hover{border-color:var(--border-md);background:var(--bg);}
.type-opt.sel-pq{border-color:var(--green);background:var(--green-lt);}
.type-opt.sel-mq{border-color:var(--teal);background:var(--teal-lt);}
.type-opt.sel-foi{border-color:var(--plum);background:var(--plum-lt);}
.type-opt-icon{font-size:20px;margin-bottom:4px;}
.type-opt-label{font-size:12px;font-weight:600;color:var(--text-1);}
.type-opt-sub{font-size:10.5px;color:var(--text-3);margin-top:1px;}
.form-section{display:none;}
.form-section.active{display:block;}
.form-field{margin-bottom:12px;}
.form-label{font-size:10.5px;font-weight:600;color:var(--text-2);display:block;margin-bottom:4px;text-transform:uppercase;letter-spacing:0.4px;}
.form-input,.form-select,.form-textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 10px;font-size:12.5px;font-family:inherit;color:var(--text-1);outline:none;transition:border-color 0.13s,background 0.13s;appearance:none;}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--green);background:var(--surface);}
.form-input.mq:focus,.form-select.mq:focus,.form-textarea.mq:focus{border-color:var(--teal);}
.form-input.foi:focus,.form-select.foi:focus,.form-textarea.foi:focus{border-color:var(--plum);}
.form-textarea{min-height:88px;resize:vertical;line-height:1.5;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.form-actions{display:flex;gap:7px;justify-content:flex-end;padding-top:3px;}

/* AI REPORT MODAL */
.ai-modal-header-strip{padding:14px 18px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;}
.ai-gradient-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#7c3aed,#0891b2);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ai-gradient-icon svg{width:18px;height:18px;color:white;}
.ai-modal-title{font-size:15px;font-weight:700;letter-spacing:-0.3px;}
.ai-modal-sub{font-size:12px;color:var(--text-2);}
.ai-query-area{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);padding:12px;min-height:80px;font-size:13px;font-family:inherit;color:var(--text-1);resize:vertical;outline:none;transition:border-color 0.13s;width:100%;line-height:1.6;}
.ai-query-area:focus{border-color:var(--plum);}
.ai-run-btn{width:100%;padding:10px;border-radius:var(--r-sm);background:linear-gradient(135deg,#7c3aed,#0891b2);color:white;font-size:13px;font-weight:600;font-family:inherit;border:none;cursor:pointer;transition:opacity 0.13s;display:flex;align-items:center;justify-content:center;gap:8px;}
.ai-run-btn:hover{opacity:0.9;}
.ai-run-btn:disabled{opacity:0.5;cursor:not-allowed;}
.ai-report-out{background:var(--bg);border-radius:var(--r-md);padding:16px;min-height:100px;font-size:13px;line-height:1.7;color:var(--text-1);border:1px solid var(--border);white-space:pre-wrap;display:none;}
.ai-report-out.visible{display:block;}
.ai-typing{display:none;align-items:center;gap:8px;padding:12px 0;color:var(--text-3);font-size:12.5px;}
.ai-typing.visible{display:flex;}
.ai-dot{width:6px;height:6px;border-radius:50%;background:var(--plum);animation:pulse 1.2s ease-in-out infinite;}
.ai-dot:nth-child(2){animation-delay:0.2s;background:var(--teal);}
.ai-dot:nth-child(3){animation-delay:0.4s;background:var(--green);}
@keyframes pulse{0%,100%{opacity:0.3;transform:scale(0.8)}50%{opacity:1;transform:scale(1)}}
.ai-section-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;}
.ai-chip{padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid;transition:all 0.12s;}
.ai-chip.pq{border-color:var(--green);color:var(--green-dk);background:var(--green-lt);}
.ai-chip.pq.active{background:var(--green);color:white;}
.ai-chip.mq{border-color:var(--teal);color:var(--teal-dk);background:var(--teal-lt);}
.ai-chip.mq.active{background:var(--teal);color:white;}
.ai-chip.foi{border-color:var(--plum);color:var(--plum-dk);background:var(--plum-lt);}
.ai-chip.foi.active{background:var(--plum);color:white;}
.ai-chip.stories{border-color:var(--amber);color:#92600a;background:#fff8e6;}
.ai-chip.stories.active{background:var(--amber);color:white;}
.ai-related-list{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;max-height:160px;overflow-y:auto;}
.ai-rel-item{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);font-size:12px;cursor:pointer;transition:background 0.12s;}
.ai-rel-item:hover{background:var(--bg);}
.ai-rel-item input[type=checkbox]{accent-color:var(--plum);flex-shrink:0;}
.ai-rel-id{font-weight:700;flex-shrink:0;}
.ai-rel-id.pq{color:var(--green-dk);} .ai-rel-id.mq{color:var(--teal-dk);} .ai-rel-id.foi{color:var(--plum-dk);}
.ai-rel-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);}

/* SEGMENT */
.seg-ctrl{display:flex;background:rgba(44,35,24,0.07);border-radius:var(--r-sm);padding:2px;gap:1px;}
.seg-btn{padding:4px 10px;border-radius:5px;font-size:11.5px;font-weight:500;font-family:inherit;border:none;cursor:pointer;color:var(--text-2);background:transparent;transition:all 0.12s;}
.seg-btn.active{background:var(--surface);color:var(--text-1);box-shadow:var(--sh-sm);}

/* TOAST */
.toast-wrap{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:6px;z-index:9999;pointer-events:none;}
.toast{background:rgba(44,35,24,0.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#f8f8f0;padding:10px 14px;border-radius:var(--r-md);font-size:12.5px;font-weight:500;box-shadow:var(--sh-lg);display:flex;align-items:center;gap:7px;animation:toastIn 0.26s cubic-bezier(0.34,1.56,0.64,1);pointer-events:auto;max-width:280px;}
@keyframes toastIn{from{opacity:0;transform:translateY(10px) scale(0.95)}to{opacity:1;transform:translateY(0) scale(1)}}
.toast svg{width:12px;height:12px;flex-shrink:0;color:var(--green);}

.flex-row{display:flex;align-items:center;gap:8px;}
.divider{width:1px;height:18px;background:var(--border);margin:0 2px;}
::-webkit-scrollbar{width:4px;height:4px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(44,35,24,0.16);border-radius:3px;}

@media(max-width:1300px){.stats-grid{grid-template-columns:repeat(3,1fr)}.pipeline-grid.cols-6{grid-template-columns:repeat(3,1fr)}.team-grid{grid-template-columns:repeat(2,1fr)}.analytics-grid{grid-template-columns:1fr}}
@media(max-width:900px){.two-col{grid-template-columns:1fr}.type-strip{grid-template-columns:1fr 1fr}}
@media(max-width:768px){
  /* Modal tabs scroll horizontally */
  .modal-tabs{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;}
  .modal-tabs::-webkit-scrollbar{display:none;}
  .tab-btn{flex-shrink:0;}
  /* Info grid stacks to 2 columns */
  .info-grid{grid-template-columns:1fr 1fr!important;}
  /* Action buttons wrap */
  .flex-row{flex-wrap:wrap;gap:6px!important;}
  .flex-row .btn{font-size:12px!important;padding:5px 10px!important;}
  /* Modal header wraps */
  .modal-header{flex-wrap:wrap;}
  /* Delete button doesn't overflow */
  #m-delete-btn{margin-left:0!important;}
  /* Draft area full width */
  .draft-area{width:100%;box-sizing:border-box;}
  /* Form rows stack */
  .form-row{flex-direction:column;}
  /* Sidebar hidden by default on mobile */
  .sidebar{transform:translateX(-100%);transition:transform 0.25s ease;z-index:200;}
  .sidebar.mobile-open{transform:translateX(0);}
  .sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.4);z-index:199;}
  .sidebar-overlay.visible{display:block;}
  /* Main fills full width */
  .main{margin-left:0;}
  /* Topbar */
  .topbar{padding:0 12px;gap:8px;}
  .search-wrap{display:none;}
  /* Hamburger button */
  .hamburger{display:flex!important;}
  /* Content padding */
  .content{padding:12px;}
  /* Stats grid single column */
  .stats-grid{grid-template-columns:1fr 1fr!important;}
  /* Tables scroll horizontally */
  .table-wrap{overflow-x:auto;}
  /* Modals full screen */
  .modal{width:100vw!important;max-width:100vw!important;margin:0!important;border-radius:0!important;max-height:100vh!important;}
  .modal-overlay{align-items:flex-start!important;padding:0!important;}
  /* Pipeline scrollable */
  .pipeline-grid{display:flex!important;overflow-x:auto;gap:10px;padding-bottom:12px;}
  .pipeline-col{min-width:200px;flex-shrink:0;}
  /* Team grid single column */
  .team-grid{grid-template-columns:1fr!important;}
  /* Analytics grid */
  .analytics-grid{grid-template-columns:1fr!important;}
  /* Hide some topbar buttons */
  .topbar .btn-secondary:not(.mobile-show){display:none;}
  /* Section header */
  .section-header{flex-wrap:wrap;}
  /* New record button text */
  #new-btn span{display:none;}
}

/* CONFIRM MODAL */
.confirm-body{padding:22px 24px 20px}
.confirm-icon{width:42px;height:42px;border-radius:11px;background:var(--amber-lt);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.confirm-icon svg{width:20px;height:20px;stroke:var(--amber)}
.confirm-title{font-size:15px;font-weight:700;letter-spacing:-0.3px;margin-bottom:7px}
.confirm-msg{font-size:13px;color:var(--text-2);line-height:1.55;margin-bottom:20px}
.confirm-actions{display:flex;gap:8px;justify-content:flex-end}

/* REQUESTER HISTORY */
.req-history-section{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}
.req-hist-header{font-size:10.5px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:8px;display:flex;align-items:center;gap:5px;cursor:pointer;user-select:none}
.req-hist-header:hover{color:var(--text-2)}
.req-hist-header svg{transition:transform 0.15s}
.req-hist-header.open svg{transform:rotate(90deg)}
.req-history-list{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.req-hist-item{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--bg);border-radius:var(--r-sm);font-size:12px;cursor:pointer;transition:background 0.12s;overflow:hidden}
.req-hist-item:hover{background:var(--bg-in)}
.req-hist-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--text-2)}

/* PARLIAMENT SITTING STRIP */
.parl-strip{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:9px 14px;margin-bottom:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.parl-label{font-size:10px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:0.6px;flex-shrink:0}
.parl-date{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:12px;font-size:11px;font-weight:600}
.parl-date.upcoming{background:var(--green-lt);color:var(--green-dk)}
.parl-date.soon{background:var(--red-lt);color:var(--red)}
.parl-date.today{background:var(--green);color:white}
.parl-pq-warning{font-size:10.5px;color:var(--amber);font-weight:600;margin-left:auto}

/* DATE RANGE FILTER */
.date-filter-wrap{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}
.date-filter-label{font-size:11px;color:var(--text-3);white-space:nowrap}
.date-filter-input{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);padding:4px 7px;font-size:11.5px;font-family:inherit;color:var(--text-1);outline:none;transition:border-color 0.13s;cursor:pointer}
.date-filter-input:focus{border-color:var(--green)}

/* TOAST UNDO */
.toast-undo{background:rgba(255,255,255,0.15);border:none;border-radius:5px;color:white;font-size:11px;font-weight:600;cursor:pointer;padding:3px 8px;margin-left:4px;font-family:inherit;flex-shrink:0}
.toast-undo:hover{background:rgba(255,255,255,0.28)}

/* IMPORT VALIDATION PREVIEW */
.import-preview{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:14px;overflow:hidden}
.import-preview-head{padding:10px 14px;border-bottom:1px solid var(--border);font-size:11.5px;font-weight:600;display:flex;align-items:center;justify-content:space-between}
.import-preview-body{max-height:180px;overflow-y:auto}
.import-val-row{display:flex;align-items:center;gap:8px;padding:6px 14px;font-size:11.5px;border-bottom:1px solid var(--border)}
.import-val-row:last-child{border-bottom:none}
.import-val-icon{font-size:12px;flex-shrink:0}
.import-val-msg{color:var(--text-2);flex:1}
.import-val-ok .import-val-icon{color:var(--green-dk)}
.import-val-warn .import-val-icon{color:var(--amber)}
.import-val-err .import-val-icon{color:var(--red)}

/* FOI STATUTORY DEADLINE BADGE */
.foi-deadline-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;background:var(--plum-lt);border-radius:var(--r-sm);font-size:11px;font-weight:600;color:var(--plum-dk);margin-top:6px}
.foi-deadline-badge.overdue{background:var(--red-lt);color:var(--red)}
.foi-deadline-badge.warning{background:var(--amber-lt);color:var(--amber)}

/* PDF PRINT BUTTON */
.draft-pdf-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);font-size:11.5px;font-weight:500;font-family:inherit;cursor:pointer;color:var(--text-2);transition:all 0.12s}
.draft-pdf-btn:hover{background:var(--surface);border-color:var(--border-md)}

/* PRINT STYLES */
@media print{
  .sidebar,.topbar,.bulk-bar,.filter-row,.draft-actions,.btn,.modal-overlay:not(.open),.toast-wrap,.parl-strip{display:none!important}
  .main{margin-left:0!important}
  .content{padding:0!important}
  .modal{max-height:none;overflow:visible;box-shadow:none;border:none;max-width:100%}
  .tab-content:not(.active){display:none}
  body::before{content:'Project Green — Correspondence Response';display:block;font-size:10px;color:#aaa;margin-bottom:8px}
}
