/* partners.techsub.it: the Channel Partnership Portal in the www.techsub.it look (Jamie 2026-10-29).
   Loaded AFTER techdesk.css: re-points the design tokens to the website's navy/amber/Poppins, keeps one light theme
   (the website has no dark mode, so the dark block below repeats the light tokens), and styles the website header,
   menu and amber footer band (classes prefixed ts- so they never collide with the hub's own). */
@font-face { font-family: "Poppins"; font-weight: 400; font-display: swap; src: url("/static/fonts/poppins-400.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 600; font-display: swap; src: url("/static/fonts/poppins-600.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 700; font-display: swap; src: url("/static/fonts/poppins-700.woff2") format("woff2"); }

:root {
  --brand: #12106b;          /* navy: header, primary actions, headings */
  --brand-hover: #1b1985;
  --brand-tint: #ecedf7;     /* icon tiles, SLA tags */
  --brand-ink: #ffffff;      /* text on --brand */
  --accent: #ffb300;         /* amber: header rule, mark, "ends soon" */
  --accent-ink: #12106b;
  --page: #f1f5f9;
  --card: #ffffff;
  --raised: #f8fafc;         /* table heads, zebra */
  --zebra: #fbfcfe;
  --border: #e2e8f0;
  --border-soft: #eef2f7;
  --border-input: #cbd5e1;
  --text: #334155;
  --muted: #586577;          /* 5.4:1 on --page, 5.9:1 on --card */
  --faint: #586577;
  --heading: #12106b;
  --link: #12106b;
  --link-hover: #1b1985;
  --primary: var(--brand);
  --primary-ink: #ffffff;
  --primary-hover: var(--brand-hover);
  --danger: #b91c1c;
  --danger-tint: #fef2f2;
  --focus: #12106b;
  --header-bg: var(--brand);
  --header-ink: #ffffff;
  --header-muted: #cbd5e1;
  --avatar: #2c2c75;
  --badge-soon-bg: #ffb300;  --badge-soon-ink: #12106b;
  --badge-warn-bg: #fff4d1;  --badge-warn-ink: #7a5300;
  --badge-ok-bg: #e7f5ee;    --badge-ok-ink: #14532d;
  --badge-exp-bg: #f1f5f9;   --badge-exp-ink: #475569;
  --bar-track: #eef2f7;
  --dot-1: #12106b; --dot-2: #5b5ba8; --dot-3: #a5a5d6; --dot-4: #cfcfe8; --dot-5: #94a3b8;
  --s-1: #12106b; --s-2: #3d3d8f; --s-3: #6f6fb8; --s-4: #a5a5d6; --s-other: #94a3b8; --seg-gap: #ffffff;
  --split-30: #ffb300; --split-60: #f8d77a; --split-90: #fbe9b5;
  --good: #14532d;
  --notice-bg: #ecedf7; --notice-ink: #12106b; --notice-rule: #12106b;
  --error-bg: #fef2f2; --error-ink: #7f1d1d; --error-rule: #b91c1c;
  --shadow: 0 1px 2px rgba(15, 23, 42, .04);
  --shadow-lg: 0 10px 30px rgba(24, 24, 84, .08);
  --radius: 12px;
  --radius-sm: 8px;
  --font: "Poppins", system-ui, -apple-system, sans-serif;
  --mono: Consolas, "SF Mono", Menlo, monospace;
  color-scheme: light;
  --ts-navy: #12106b; --ts-navy-3: #0d0b52; --ts-amber: #ffb300; --ts-white: #ffffff;
}
@media (prefers-color-scheme: dark) {
  :root {
  --brand: #12106b;          /* navy: header, primary actions, headings */
  --brand-hover: #1b1985;
  --brand-tint: #ecedf7;     /* icon tiles, SLA tags */
  --brand-ink: #ffffff;      /* text on --brand */
  --accent: #ffb300;         /* amber: header rule, mark, "ends soon" */
  --accent-ink: #12106b;
  --page: #f1f5f9;
  --card: #ffffff;
  --raised: #f8fafc;         /* table heads, zebra */
  --zebra: #fbfcfe;
  --border: #e2e8f0;
  --border-soft: #eef2f7;
  --border-input: #cbd5e1;
  --text: #334155;
  --muted: #586577;          /* 5.4:1 on --page, 5.9:1 on --card */
  --faint: #586577;
  --heading: #12106b;
  --link: #12106b;
  --link-hover: #1b1985;
  --primary: var(--brand);
  --primary-ink: #ffffff;
  --primary-hover: var(--brand-hover);
  --danger: #b91c1c;
  --danger-tint: #fef2f2;
  --focus: #12106b;
  --header-bg: var(--brand);
  --header-ink: #ffffff;
  --header-muted: #cbd5e1;
  --avatar: #2c2c75;
  --badge-soon-bg: #ffb300;  --badge-soon-ink: #12106b;
  --badge-warn-bg: #fff4d1;  --badge-warn-ink: #7a5300;
  --badge-ok-bg: #e7f5ee;    --badge-ok-ink: #14532d;
  --badge-exp-bg: #f1f5f9;   --badge-exp-ink: #475569;
  --bar-track: #eef2f7;
  --dot-1: #12106b; --dot-2: #5b5ba8; --dot-3: #a5a5d6; --dot-4: #cfcfe8; --dot-5: #94a3b8;
  --s-1: #12106b; --s-2: #3d3d8f; --s-3: #6f6fb8; --s-4: #a5a5d6; --s-other: #94a3b8; --seg-gap: #ffffff;
  --split-30: #ffb300; --split-60: #f8d77a; --split-90: #fbe9b5;
  --good: #14532d;
  --notice-bg: #ecedf7; --notice-ink: #12106b; --notice-rule: #12106b;
  --error-bg: #fef2f2; --error-ink: #7f1d1d; --error-rule: #b91c1c;
  --shadow: 0 1px 2px rgba(15, 23, 42, .04);
  --shadow-lg: 0 10px 30px rgba(24, 24, 84, .08);
  --radius: 12px;
  --radius-sm: 8px;
  --font: "Poppins", system-ui, -apple-system, sans-serif;
  --mono: Consolas, "SF Mono", Menlo, monospace;
  color-scheme: light;
  }
}

/* ---- website header (mirrors www.techsub.it) ---- */
.ts-site { background: var(--ts-navy); }
.ts-inner { max-width: 1320px; margin: 0 auto; padding: 18px 24px; display: flex; align-items: center; gap: 24px; }
.ts-logo img { display: block; height: 58px; width: auto; }
.ts-head-right { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.ts-topline { display: flex; gap: 32px; font-size: 17px; align-self: stretch; justify-content: flex-end; }
.ts-topline a, .ts-topline .ts-ww { color: var(--ts-white); text-decoration: none; }
.ts-topline .ts-ww { margin-right: auto; padding-left: 18%; }
.ts-menu ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 22px; }
.ts-menu > ul > li { position: relative; }
.ts-menu a, .ts-menu span { color: var(--ts-amber); font-weight: 700; font-size: 15px; text-decoration: none; cursor: pointer;
  padding: 6px 0; display: inline-block; white-space: nowrap; }
.ts-menu a:hover, .ts-menu span:hover, .ts-menu .ts-here > a, .ts-menu .ts-here > span { color: var(--ts-white); }
.ts-menu .ts-sub { display: none; position: absolute; left: -14px; top: 100%; z-index: 10; background: var(--ts-navy-3);
  padding: 8px 0; min-width: 250px; flex-direction: column; gap: 0; border-top: 3px solid var(--ts-amber); }
.ts-menu .ts-sub a { display: block; padding: 8px 16px; font-weight: 600; }
.ts-menu .ts-sub .ts-here a { color: var(--ts-white); }
.ts-menu .ts-has-sub:hover > .ts-sub, .ts-menu .ts-has-sub:focus-within > .ts-sub { display: flex; }
a.ts-call { display: inline-flex; align-items: center; gap: 8px; background: var(--ts-amber); color: var(--ts-navy); font-weight: 700;
  font-size: 17px; text-decoration: none; padding: 12px 28px; border-radius: 999px; white-space: nowrap; }
a.ts-call:hover { background: var(--ts-white); color: var(--ts-navy); }
.ts-site :focus-visible { outline: 2px solid var(--ts-amber); outline-offset: 2px; }
.ts-mobile { display: none; }

/* ---- portal bar (the hub's own nav, under the website header) ---- */
.site-header .brand-name { font-weight: 700; }

/* ---- footer: amber band like the website ---- */
.ts-footer { background: var(--ts-amber); color: #000; text-align: center; padding: 26px 16px 22px; font-size: 14px; margin-top: 32px; }
.ts-footer p { margin: 4px 0; }
.ts-footer a { color: #000; font-weight: 600; }
.ts-footer .ts-legal { font-size: 12px; opacity: .8; }

@media (max-width: 1180px) {
  .ts-head-right, a.ts-call { display: none; }
  .ts-inner { justify-content: space-between; padding: 14px 16px; }
  .ts-logo img { height: 42px; }
  .ts-mobile { display: block; position: relative; }
  .ts-mobile summary { list-style: none; cursor: pointer; background: var(--ts-amber); color: var(--ts-navy); font-weight: 700;
    padding: 9px 20px; border-radius: 999px; }
  .ts-mobile summary::-webkit-details-marker { display: none; }
  .ts-mobile ul { position: absolute; right: 0; top: calc(100% + 8px); z-index: 20; list-style: none; margin: 0; padding: 10px 0;
    background: var(--ts-navy-3); border-top: 3px solid var(--ts-amber); min-width: 260px; }
  .ts-mobile a { display: block; padding: 8px 18px; color: var(--ts-amber); font-weight: 600; text-decoration: none; }
  .ts-mobile .ts-indent a { padding-left: 34px; font-weight: 400; color: var(--ts-white); }
  .ts-mobile .ts-here a { color: var(--ts-white); }
}

/* PO inbox rows */
.table tr.is-filed td, .table tr.is-filed th { opacity: .55; }
.table tr.is-overdue th { box-shadow: inset 3px 0 0 var(--ts-amber); }
