:root{--navy:#07182f;--navy-2:#0b2343;--ink:#111827;--ink-soft:#29364a;--muted:#738096;--line:#dfe5ec;--line-strong:#c7d0da;--soft:#f4f6f8;--soft-2:#eef2f5;--silver:#d7dde3;--silver-dark:#aeb8c3;--silver-light:#f8fafb;--blue:#345f8c;--white:#fff;--shadow:0 18px 50px rgba(17,24,39,.08);--shadow-soft:0 8px 24px rgba(17,24,39,.045);--metal:linear-gradient(145deg,#fbfcfd 0%,#e9edf1 48%,#f9fbfc 100%);--metal-dark:linear-gradient(145deg,#d7dde3 0%,#aeb8c3 48%,#eef2f5 100%)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,"Segoe UI",sans-serif;color:var(--ink);background:linear-gradient(180deg,#f7f9fb 0%,#eef2f5 100%);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input{font:inherit}button{cursor:pointer}.hidden{display:none!important}.gate{min-height:100vh;display:grid;place-items:center;padding:36px;background:radial-gradient(circle at top left,rgba(255,255,255,.96),rgba(239,243,247,.92) 42%,#e9eef3 100%)}.gate-card{width:min(540px,100%);background:rgba(255,255,255,.9);backdrop-filter:blur(18px);border:1px solid rgba(190,199,210,.8);border-radius:28px;padding:46px;box-shadow:0 30px 80px rgba(17,24,39,.12),inset 0 1px 0 rgba(255,255,255,.9)}.brand{display:flex;align-items:center;gap:13px;margin-bottom:34px}.brand-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#122744,#06172c);display:grid;place-items:center;color:#fff;font-weight:800;letter-spacing:-1px;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 8px 18px rgba(7,24,47,.18)}.brand strong{display:block;font-size:20px;letter-spacing:-.02em}.brand span{font-size:11px;letter-spacing:.02em;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:800;color:#5e6e80}h1{font-size:36px;line-height:1.04;letter-spacing:-.045em;margin:9px 0 13px;font-weight:760}.gate-card>p{color:var(--muted);line-height:1.65;margin:0 0 30px}.field{display:grid;gap:8px;margin:18px 0}.field span{font-size:12px;font-weight:700;color:var(--ink-soft)}.field input,.table-tools input,.repo-search input{width:100%;border:1px solid var(--line-strong);border-radius:13px;padding:13px 15px;outline:none;background:rgba(255,255,255,.9);box-shadow:inset 0 1px 2px rgba(17,24,39,.025);transition:.18s ease}.field input:focus,.table-tools input:focus,.repo-search input:focus{border-color:#8ca0b6;box-shadow:0 0 0 4px rgba(52,95,140,.08),inset 0 1px 2px rgba(17,24,39,.03)}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.role{border:1px solid var(--line-strong);background:var(--metal);border-radius:16px;padding:16px;text-align:left;color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.8);transition:.18s ease}.role:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(17,24,39,.06),inset 0 1px 0 rgba(255,255,255,.9)}.role.active{border-color:#8795a5;box-shadow:inset 0 0 0 1px #bac4cf,0 8px 18px rgba(17,24,39,.055);background:linear-gradient(145deg,#fff,#e9eef2)}.role strong{display:block;margin-bottom:5px}.role small{color:var(--muted);line-height:1.4}.primary,.action{border:1px solid #0a1e37;border-radius:13px;background:linear-gradient(180deg,#0f2a4c 0%,#07182f 100%);color:#fff;padding:14px 18px;font-weight:750;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 18px rgba(7,24,47,.18);transition:.18s ease}.primary{width:100%}.primary:hover,.action:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 11px 24px rgba(7,24,47,.22)}.app{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.sidebar{background:linear-gradient(180deg,#06162c 0%,#0a213f 100%);color:#fff;padding:28px 20px;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.06);box-shadow:6px 0 30px rgba(9,21,38,.08)}.sidebar .brand{margin-bottom:36px}.sidebar .brand-mark{background:var(--metal);color:var(--navy);box-shadow:inset 0 1px 0 #fff,0 7px 16px rgba(0,0,0,.13)}.sidebar .brand strong{color:#fff}.sidebar .brand span{color:#9fb0c4}.nav{display:grid;gap:5px}.nav button{border:1px solid transparent;background:transparent;color:#b7c4d4;padding:12px 13px;border-radius:11px;text-align:left;font-size:13px;font-weight:650;transition:.18s ease}.nav button.active,.nav button:hover{background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.075));border-color:rgba(255,255,255,.08);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}.sidebar-foot{margin-top:auto;color:#95a7bc;font-size:11px;line-height:1.55;padding:0 4px}.main{min-width:0;background:linear-gradient(180deg,#f9fafb 0%,#f1f4f7 100%)}.topbar{height:80px;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:10}.topbar h2{font-size:18px;margin:0;letter-spacing:-.02em}.user-chip{display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;background:var(--metal);border:1px solid var(--line-strong);display:grid;place-items:center;font-weight:800;color:var(--navy);box-shadow:inset 0 1px 0 #fff}.user-chip strong{font-size:12px}.user-chip small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.user-chip>.role{padding:9px 12px;border-radius:10px;font-size:11px}.content{padding:38px 38px 52px;max-width:1540px}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.hero h1{font-size:34px;margin:6px 0 8px}.hero p{color:var(--muted);margin:0;max-width:760px;line-height:1.55}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.metric,.panel,.sow-panel{background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.95)}.metric{padding:22px;position:relative;overflow:hidden}.metric:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,#c8d0d8,transparent)}.metric span{font-size:11px;color:var(--muted);font-weight:750;letter-spacing:.015em}.metric strong{display:block;font-size:30px;margin-top:9px;letter-spacing:-.035em}.panel{padding:24px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-head h3{margin:0;font-size:16px;letter-spacing:-.02em}.panel-head p,.subcopy{margin:5px 0 0;color:var(--muted);font-size:11px}.empty{border:1px dashed #c7d0da;border-radius:15px;padding:36px;text-align:center;color:var(--muted);background:linear-gradient(180deg,#fbfcfd,#f5f7f9)}.submission{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.drop{border:1.5px dashed #b9c4cf;border-radius:18px;padding:42px;text-align:center;background:linear-gradient(180deg,#fbfcfd,#f4f7f9);box-shadow:inset 0 1px 0 #fff;transition:.18s ease}.drop:hover{border-color:#8fa0b2;background:linear-gradient(180deg,#fff,#f2f5f8)}.drop strong{display:block;font-size:18px;margin-bottom:7px;letter-spacing:-.02em}.drop p{color:var(--muted);font-size:12px;line-height:1.5}.file-input{margin-top:15px}.note{font-size:11px;color:var(--muted);line-height:1.55}.steps{display:grid;gap:11px}.step{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:13px;background:linear-gradient(180deg,#f8fafb,#f1f4f6);border:1px solid #e4e9ee}.step-num{width:27px;height:27px;border-radius:50%;background:linear-gradient(180deg,#143252,#081a31);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800;box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}.step strong{font-size:12px}.step small{display:block;color:var(--muted);margin-top:3px;line-height:1.35}.active-hero{align-items:center}.table-tools{display:flex;gap:10px}.table-tools input{width:290px}.filter-btn,.open-btn{border:1px solid var(--line-strong);background:var(--metal);color:var(--ink);border-radius:11px;padding:10px 13px;font-weight:720;box-shadow:inset 0 1px 0 #fff;transition:.16s ease}.filter-btn:hover,.open-btn:hover{transform:translateY(-1px);border-color:#aeb8c3;box-shadow:0 6px 14px rgba(17,24,39,.06),inset 0 1px 0 #fff}.sow-panel{overflow:hidden}.sow-table-wrap{overflow:auto}.sow-table{width:100%;border-collapse:collapse;min-width:1120px}.sow-table th{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#6f7c8d;background:linear-gradient(180deg,#f8fafb,#f0f3f6);text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);white-space:nowrap}.sow-table td{padding:16px;border-bottom:1px solid #e9edf1;font-size:12px;vertical-align:middle}.sow-table tbody tr{transition:.14s ease}.sow-table tbody tr:hover{background:#f8fafc}.sow-table td strong{font-weight:760}.status-chip,.funding-chip{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;white-space:nowrap;border:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.status-chip.new{background:#f5ecd8;color:#7a5c20;border-color:#ead9b5}.status-chip.redline{background:#e8eef5;color:#385a7c;border-color:#d2dce7}.status-chip.approval{background:#ece8f3;color:#5e4d76;border-color:#ddd5ea}.status-chip.ready{background:#e8f1eb;color:#356248;border-color:#d4e5d9}.status-chip.review{background:#edf0f3;color:#596779;border-color:#dfe4e9}.funding-chip.approved{background:#e9f1ec;color:#3d674e;border-color:#d7e5dc}.funding-chip.pending{background:#f5eedf;color:#806326;border-color:#e8dbc0}.open-btn{padding:8px 12px}.open-btn:hover{background:linear-gradient(180deg,#102d4f,#07182f);color:#fff;border-color:#0b2343}.table-footer{display:flex;justify-content:space-between;gap:20px;padding:13px 16px;color:var(--muted);font-size:10px;background:linear-gradient(180deg,#fafbfc,#f3f6f8);border-top:1px solid #edf0f3}.repository-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-bottom:18px}.repository-drop.dragging{border-color:#8296aa;background:#f0f4f7;box-shadow:0 0 0 4px rgba(52,95,140,.07)}.repo-state{margin-top:14px;padding:14px;border-radius:13px;background:linear-gradient(180deg,#f6f8fa,#eef2f5);border:1px solid #e1e6eb;display:grid;gap:4px;color:var(--muted);font-size:11px}.repo-state strong{color:var(--ink)}.repo-state small{line-height:1.45}.template-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.template-grid button{border:1px solid var(--line-strong);background:var(--metal);border-radius:13px;padding:17px;text-align:left;font-weight:760;color:var(--navy);box-shadow:inset 0 1px 0 #fff;transition:.16s ease}.template-grid button:hover{transform:translateY(-1px);border-color:#aeb8c3;box-shadow:0 7px 16px rgba(17,24,39,.05),inset 0 1px 0 #fff}.repo-search-panel{margin-top:18px}.repo-search{display:flex;gap:10px;margin-bottom:18px}.repo-search input{flex:1}.repo-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.memory-card{border:1px solid var(--line);border-radius:15px;padding:16px;background:linear-gradient(180deg,#fff,#f6f8fa);min-width:0;box-shadow:inset 0 1px 0 #fff;transition:.16s ease}.memory-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(17,24,39,.05),inset 0 1px 0 #fff}.memory-card strong{display:block;margin:6px 0 8px;letter-spacing:-.01em}.memory-card p{margin:0 0 10px;font-size:11px;line-height:1.55;color:#4f5f72}.memory-card small{color:var(--muted);font-size:9px}.memory-type{display:inline-block;font-size:8px;letter-spacing:.11em;text-transform:uppercase;font-weight:800;color:#65778b}@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{display:none}.metrics{grid-template-columns:1fr 1fr}.submission,.repository-grid{grid-template-columns:1fr}.hero,.active-hero{align-items:flex-start;flex-direction:column}.table-tools{width:100%}.table-tools input{width:100%}.repo-results{grid-template-columns:1fr}.repo-search{flex-direction:column}}
.ciq-package-links{display:flex;flex-wrap:wrap;gap:6px;min-width:180px}
.ciq-package-link{display:inline-flex;align-items:center;padding:6px 9px;border:1px solid #d4deea;border-radius:8px;background:#fff;color:#0d4781;font-size:11px;font-weight:750;text-decoration:none;white-space:nowrap}
.ciq-package-link:hover{border-color:#9fb8d3;background:#f5f9fd}

.ciq-package-doc-actions{display:inline-flex;align-items:center;gap:4px}
.ciq-open-package-doc{font-family:inherit;cursor:pointer}
.ciq-package-download{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid #d4deea;border-radius:7px;background:#fff;color:#60758d;font-size:13px;font-weight:800;text-decoration:none}
.ciq-package-download:hover{background:#f5f9fd;border-color:#9fb8d3;color:#0d4781}

.ciq-package-empty{border-style:dashed;opacity:.9}

.ciq-approvals-btn{
  border:1px solid #cbd8e6;
  background:#fff;
  color:#173250;
  border-radius:9px;
  padding:7px 10px;
  font:inherit;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
  cursor:pointer
}
.ciq-approvals-btn:hover{background:#f5f9fd;border-color:#9cb7d3}

.ciq-approval-modal{
  position:fixed;
  inset:0;
  z-index:15000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(11,31,54,.48)
}
.ciq-approval-modal.open{display:flex}

.ciq-approval-shell{
  width:min(900px,96vw);
  max-height:88vh;
  overflow:hidden;
  background:#fff;
  border:1px solid #dce5ef;
  border-radius:20px;
  box-shadow:0 30px 80px rgba(15,35,60,.24)
}

.ciq-approval-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  padding:24px 26px;
  border-bottom:1px solid #e4eaf1
}
.ciq-approval-head h2{margin:4px 0;color:#10233f;font-size:21px}
.ciq-approval-head p{margin:5px 0 0;color:#6b7c90;font-size:13px}
.ciq-approval-head button{
  border:1px solid #cbd8e6;
  background:#fff;
  color:#173250;
  border-radius:9px;
  padding:8px 12px;
  font-weight:800;
  cursor:pointer
}

.ciq-approval-body{padding:22px 26px;overflow:auto;max-height:68vh}
.ciq-approval-table-wrap{overflow:auto;border:1px solid #e1e8f0;border-radius:14px}
.ciq-approval-table{width:100%;border-collapse:collapse}
.ciq-approval-table th{
  text-align:left;
  padding:11px 13px;
  background:#f7f9fc;
  color:#68798e;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em
}
.ciq-approval-table td{
  padding:13px;
  border-top:1px solid #edf1f5;
  color:#243b55;
  font-size:13px
}
.ciq-approval-table td strong{display:block;color:#10233f}
.ciq-approval-table td small{display:block;margin-top:3px;color:#7b8b9e}

.ciq-approval-status{
  display:inline-flex;
  padding:5px 8px;
  border-radius:999px;
  background:#fff4dc;
  color:#8b5b00;
  font-size:11px;
  font-weight:850
}
.ciq-approval-status.approved{background:#e7f7ee;color:#17643a}

.ciq-approval-empty{
  padding:30px;
  text-align:center;
  border:1px dashed #c9d5e3;
  border-radius:14px;
  color:#66798f
}
.ciq-approval-empty strong{display:block;color:#173250;margin-bottom:6px}
.ciq-approval-empty p{margin:0;line-height:1.5}

.ciq-approval-head-actions{display:flex;gap:8px;align-items:center}
.ciq-approval-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:16px;border:1px solid #dfe7f0;border-radius:13px;background:#f8fafc}
.ciq-approval-footer>div{display:grid;gap:3px}.ciq-approval-footer small{color:#738398}
.ciq-approval-warning{display:grid;gap:3px;margin-top:15px;padding:13px 15px;border:1px solid #f2d597;border-radius:12px;background:#fff9e9;color:#72500d}
.ciq-approval-warning span{font-size:12px}
.ciq-approval-status.not-required{background:#eef2f6;color:#687789}
.ciq-approval-status.changes{background:#fff0ef;color:#a52b2b}
.ciq-approval-not-required{opacity:.62}
.ciq-approval-complete{display:inline-flex;padding:7px 11px;border-radius:999px;background:#e7f7ee;color:#17643a;font-size:12px;font-weight:850}
.ciq-approval-footer button:disabled{opacity:.5;cursor:not-allowed}



/* DocuSign package action */
.ciq-package-btn{
  min-height:34px;
  padding:0 13px;
  border:1px solid #b8c7d8;
  border-radius:9px;
  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f5f8fb 100%
    );
  color:#173b63;
  font-size:12px;
  font-weight:750;
  letter-spacing:.01em;
  box-shadow:
    0 2px 5px rgba(18,48,78,.08);
  cursor:pointer;
  white-space:nowrap;
  transition:
    transform .12s ease,
    box-shadow .12s ease,
    border-color .12s ease;
}

.ciq-package-btn:hover{
  border-color:#8fa9c5;
  box-shadow:
    0 4px 10px rgba(18,48,78,.12);
  transform:translateY(-1px);
}

.ciq-package-btn:active{
  transform:translateY(0);
  box-shadow:
    0 2px 5px rgba(18,48,78,.08);
}

.ciq-package-btn:focus-visible{
  outline:2px solid #2f6fa8;
  outline-offset:2px;
}
