/* ITFreeTools premium interface layer — intentionally loaded last. */
:root {
  color-scheme: light;
  --itft-brand-navy: #0b1220;
  --itft-brand-navy-deep: #050914;
  --itft-brand-teal: #149c91;
  --itft-brand-teal-dark: #08766f;
  --itft-brand-teal-bright: #7bd6cc;
  --itft-brand-gold: #f4be58;
  --itft-brand-ink: #172033;
  --itft-brand-muted: #617086;
  --itft-brand-border: #dce3ee;
  --itft-brand-border-strong: #bec9d9;
  --itft-brand-surface: #ffffff;
  --itft-brand-surface-soft: #f7f9fc;
  --itft-brand-bg: #f3f6fb;
  --itft-brand-success: #0f8a68;
  --itft-brand-warning: #a15c08;
  --itft-brand-danger: #b33a48;
  --itft-brand-radius-sm: 8px;
  --itft-brand-radius: 12px;
  --itft-brand-radius-lg: 18px;
  --itft-brand-shadow-sm: 0 1px 2px rgba(15, 23, 42, .045), 0 5px 16px rgba(15, 23, 42, .035);
  --itft-brand-shadow: 0 16px 44px rgba(15, 23, 42, .09);
  --itft-brand-shadow-lg: 0 28px 80px rgba(2, 6, 23, .2);
  --itft-content: 1320px;
  --itft-font: Inter, Aptos, "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, sans-serif;
  --itft-focus: 0 0 0 3px rgba(20, 156, 145, .2);
}

html { background: var(--itft-brand-bg); }
body.has-itft-shell {
  --navy: var(--itft-brand-navy);
  --navy-2: var(--itft-brand-navy);
  --dark: var(--itft-brand-navy-deep);
  --blue: var(--itft-brand-teal);
  --teal: var(--itft-brand-teal);
  --teal-dark: var(--itft-brand-teal-dark);
  --gold: var(--itft-brand-gold);
  --ink: var(--itft-brand-ink);
  --muted: var(--itft-brand-muted);
  --line: var(--itft-brand-border);
  color: var(--itft-brand-ink);
  background:
    radial-gradient(circle at 7% 2%, rgba(79, 110, 247, .055), transparent 23rem),
    radial-gradient(circle at 96% 15%, rgba(14, 165, 233, .045), transparent 26rem),
    var(--itft-brand-bg);
  font-family: var(--itft-font);
  font-size: 14px;
  line-height: 1.48;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body.has-itft-shell :where(h1, h2, h3, h4, h5, h6) {
  color: var(--itft-brand-navy);
  font-family: var(--itft-font);
  font-weight: 740;
  letter-spacing: -.032em;
}

body.has-itft-shell :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--itft-brand-teal);
  outline-offset: 2px;
}

body.has-itft-shell ::selection { color: #fff; background: var(--itft-brand-teal-dark); }

/* Unified product shell */
.itft-shell-header {
  background: rgba(5, 9, 20, .94);
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  box-shadow: 0 8px 30px rgba(2, 6, 23, .2);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  backdrop-filter: blur(18px) saturate(135%);
}

.itft-shell-header__inner { width: min(var(--itft-content), calc(100% - 32px)); min-height: 62px; gap: 18px; }
.itft-shell-brand { gap: 10px; }
.itft-shell-brand__mark {
  width: 34px;
  height: 34px;
  color: #fff;
  background: linear-gradient(145deg, #6d8bff, #3551d0 72%);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 10px;
  box-shadow: 0 8px 22px rgba(79, 110, 247, .28), inset 0 1px rgba(255,255,255,.22);
}
.itft-shell-brand__text > span { color: #f8fbff; font-size: .86rem; font-weight: 760; }
.itft-shell-brand__text small { color: #8fa0b8; font-size: .55rem; letter-spacing: .08em; }
.itft-shell-nav { gap: 3px; padding: 4px; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.075); border-radius: 10px; }
.itft-shell-nav a { min-height: 32px; padding: 6px 10px; color: #aab7c9; border: 0; border-radius: 7px; font-size: .72rem; font-weight: 620; }
.itft-shell-nav a:hover { color: #fff; background: rgba(255,255,255,.075); }
.itft-shell-nav a[aria-current="page"] { color: #fff; background: rgba(103, 167, 255, .18); box-shadow: inset 0 0 0 1px rgba(103,167,255,.2); }
.itft-export summary { min-height: 34px; padding: 6px 10px; color: #dbe6f4; background: rgba(255,255,255,.065); border: 1px solid rgba(255,255,255,.1); border-radius: 8px; }
.itft-export[open] summary, .itft-export summary:hover { color: #fff; background: rgba(79,110,247,.22); }
.itft-export__menu { border: 1px solid var(--itft-brand-border); border-radius: 12px; box-shadow: var(--itft-brand-shadow-lg); }

.itft-page-context {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 84% -70%, rgba(103,167,255,.32), transparent 30%),
    linear-gradient(112deg, #0b1220 0%, #111d35 56%, #14284d 100%);
  border-bottom: 1px solid rgba(103,167,255,.45);
}
.itft-page-context::after { content:""; position:absolute; inset:0; opacity:.3; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:32px 32px; mask-image:linear-gradient(90deg,transparent,#000 55%,transparent); }
.itft-page-context__inner { position:relative; z-index:1; min-height: 82px; padding-block: 14px; }
body.has-itft-shell .itft-page-context h1 { color:#fff; font-size:clamp(1.38rem,2.2vw,1.85rem); }
.itft-page-context p { color:#aebcd0; }
.seo-breadcrumb { margin-top: 11px; color: #77869a; }
.seo-breadcrumb a { color: var(--itft-brand-teal-dark); }
.public-purpose-note { margin-bottom: 14px; color:#435269; background:rgba(255,255,255,.84); border-color:var(--itft-brand-border); border-left-color:var(--itft-brand-teal); box-shadow:var(--itft-brand-shadow-sm); backdrop-filter:blur(8px); }

.itft-shell-footer { margin-top: 48px; padding-block: 28px 20px; color:#9baac0; background:linear-gradient(145deg,#050914,#0b1426); border-top:1px solid rgba(103,167,255,.35); }
.itft-shell-footer__title { color:#fff; letter-spacing:-.02em; }
.itft-shell-footer__links a { color:#aebbd0; }
.itft-shell-footer__links a:hover { color:#fff; }

/* Shared components */
body.has-itft-shell :where(.panel,.form-card,.tool-card,.card,.guide,.content-card,.source-section,.content-section) {
  background: rgba(255,255,255,.94);
  border: 1px solid var(--itft-brand-border);
  border-radius: var(--itft-brand-radius);
  box-shadow: var(--itft-brand-shadow-sm);
}
body.has-itft-shell :where(.panel,.form-card,.tool-card,.card,.guide,.content-card) { transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
body.has-itft-shell :where(.tool-card,.guide):hover { border-color:#b7c5da; box-shadow:var(--itft-brand-shadow); transform:translateY(-2px); }
body.has-itft-shell :where(.eyebrow,.tool-category) { color:var(--itft-brand-teal-dark); font-size:.61rem; font-weight:820; letter-spacing:.13em; }

body.has-itft-shell :where(input,select,textarea) {
  min-height: 38px;
  color: #1d293d;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  box-shadow: inset 0 1px 2px rgba(15,23,42,.025);
}
body.has-itft-shell :where(input,select,textarea):hover:not(:disabled) { border-color:#a8b5c8; }
body.has-itft-shell :where(input,select,textarea):focus { border-color:var(--itft-brand-teal)!important; box-shadow:var(--itft-focus)!important; }
body.has-itft-shell :where(input,select,textarea):disabled { color:#7c8899; background:#eef2f7; }

body.has-itft-shell :where(button,.btn,.button,.small) { border-radius:8px; font-weight:680; letter-spacing:0; }
body.has-itft-shell :where(.primary,.cta,button[type="submit"],#validate-button,#generate-button,#download-xml):not(.remove):not(.remove-line):not(.close) {
  color:#fff;
  background:linear-gradient(135deg,#5877ff,#3c57d8);
  border-color:#3c57d8;
  box-shadow:0 6px 16px rgba(79,110,247,.18);
}
body.has-itft-shell :where(.primary,.cta,button[type="submit"],#validate-button,#generate-button,#download-xml):not(.remove):not(.remove-line):not(.close):hover:not(:disabled) { background:linear-gradient(135deg,#4666f4,#3048bc); border-color:#3048bc; box-shadow:0 9px 22px rgba(79,110,247,.24); transform:translateY(-1px); }
body.has-itft-shell :where(.secondary,.small,.btn.secondary,.clear,.itft-export__button) { color:#25324a; background:#fff; border-color:#cbd5e1; box-shadow:0 1px 2px rgba(15,23,42,.04); }
body.has-itft-shell :where(.secondary,.small,.btn.secondary,.clear,.itft-export__button):hover:not(:disabled) { color:var(--itft-brand-teal-dark); background:#f7f9ff; border-color:#a9b9ef; }
body.has-itft-shell :where(.download,a.download) { color:#fff; background:var(--itft-brand-success); border-color:var(--itft-brand-success); box-shadow:0 5px 14px rgba(15,138,104,.16); }
body.has-itft-shell :where(.download,a.download):hover { color:#fff; background:#0b6f55; border-color:#0b6f55; }
body.has-itft-shell :where(.danger,.remove,.remove-line) { color:var(--itft-brand-danger); background:#fff6f7; border-color:#efbcc3; }
body.has-itft-shell :where(.danger,.remove,.remove-line):hover:not(:disabled) { color:#fff; background:var(--itft-brand-danger); border-color:var(--itft-brand-danger); }
body.has-itft-shell :where(button,.btn,.button,a.download):disabled,
body.has-itft-shell :where(button,.btn,.button,a.download)[aria-disabled="true"] { color:#7d899a!important; background:#e8edf4!important; border-color:#d5dce7!important; box-shadow:none!important; cursor:not-allowed; transform:none!important; }
body.has-itft-shell :where(button,.btn,.button):active:not(:disabled) { transform:translateY(0); box-shadow:none; }

/* High-specificity semantic palette: prevents legacy tool styles changing action colours. */
body.has-itft-shell :is(button,a).primary,
body.has-itft-shell a.cta,
body.has-itft-shell button[type="submit"]:not(.remove):not(.remove-line):not(.close),
body.has-itft-shell :is(#validate-button,#generate-button,#download-xml) {
  color:#fff!important;
  background:linear-gradient(135deg,#5877ff,#3c57d8)!important;
  border-color:#3c57d8!important;
}
body.has-itft-shell :is(button,a).secondary,
body.has-itft-shell :is(button,a).small,
body.has-itft-shell :is(button,a).clear,
body.has-itft-shell button.itft-export__button {
  color:#25324a!important;
  background:#fff!important;
  border-color:#cbd5e1!important;
}
body.has-itft-shell :is(button,a).download {
  color:#fff!important;
  background:var(--itft-brand-success)!important;
  border-color:var(--itft-brand-success)!important;
}
body.has-itft-shell :is(button,a):is(.danger,.remove,.remove-line) {
  color:var(--itft-brand-danger)!important;
  background:#fff6f7!important;
  border-color:#efbcc3!important;
}
body.has-itft-shell :is(button,a):is(.danger,.remove,.remove-line):hover:not(:disabled) {
  color:#fff!important;
  background:var(--itft-brand-danger)!important;
  border-color:var(--itft-brand-danger)!important;
}

/* Keep every application canvas centered after the shared shell resets main margins. */
body.itft-india-gst-invoice .gst-main {
  width:min(1280px,calc(100% - 28px));
  margin-inline:auto;
}

body.has-itft-shell :where(.notice,.demo-note,.sample-note,.error-summary,.rcm) { border-radius:9px; box-shadow:none; }
body.has-itft-shell :where(.table-wrap,.table-scroll,.table-container) { border-color:#d7dfeb; border-radius:10px; box-shadow:0 1px 3px rgba(15,23,42,.035); }
body.has-itft-shell table th { color:#dce7f7; background:#111b2f; border-color:#263249; font-weight:740; letter-spacing:.035em; }
body.has-itft-shell table tbody tr { transition:background-color 100ms ease; }
body.has-itft-shell table tbody tr:hover { background:#f8faff; }
body.has-itft-shell details { border-color:var(--itft-brand-border); }
body.has-itft-shell details[open] > summary { color:var(--itft-brand-teal-dark); background:#f3f6ff; }

/* Portal — compact, editorial, product-led */
body.itft-portal-page .itft-shell-header { position:sticky; }
body.itft-portal-page .site-header > .nav { display:none; }
body.itft-portal-page .site-header { overflow:hidden; background:linear-gradient(135deg,#050914 0%,#0c1830 58%,#102a50 100%); }
body.itft-portal-page .site-header::before { background:radial-gradient(circle at 76% 35%,rgba(79,110,247,.25),transparent 24rem),radial-gradient(circle at 28% 8%,rgba(14,165,233,.12),transparent 22rem); }
body.itft-portal-page .hero { min-height:500px; grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr); gap:54px; padding-block:58px 68px; }
body.itft-portal-page .hero h1 { max-width:760px; color:#fff; font-family:var(--itft-font); font-size:clamp(2.7rem,5.3vw,4.9rem); font-weight:720; line-height:.98; letter-spacing:-.058em; }
body.itft-portal-page .hero h1 em { color:#8fb8ff; font-family:inherit; font-style:normal; font-weight:600; }
body.itft-portal-page .hero-lead { max-width:690px; margin:22px 0 0; color:#aab8cd; font-size:.98rem; line-height:1.65; }
body.itft-portal-page .hero-actions { margin-top:24px; }
body.itft-portal-page .hero .button { min-height:42px; padding:9px 15px; }
body.itft-portal-page .hero .button.primary { color:#fff; background:linear-gradient(135deg,#6282ff,#4160df); box-shadow:0 12px 28px rgba(79,110,247,.28); }
body.itft-portal-page .hero .button.ghost { color:#c5d0df; background:rgba(255,255,255,.035); border-color:rgba(255,255,255,.14); }
body.itft-portal-page .trust-list { gap:14px; margin-top:26px; color:#8999ae; }
body.itft-portal-page .trust-list span { color:#91b8ff; background:rgba(79,110,247,.15); }
body.itft-portal-page .hero-visual { min-height:340px; }
body.itft-portal-page .orbit-one { width:350px; height:350px; border-color:rgba(125,157,255,.12); }
body.itft-portal-page .orbit-two { width:270px; height:270px; border-color:rgba(125,157,255,.13); }
body.itft-portal-page .main-card { width:300px; padding:24px; border-radius:20px; background:linear-gradient(145deg,rgba(25,39,70,.98),rgba(9,17,35,.98)); box-shadow:0 30px 75px rgba(0,0,0,.34); }
body.itft-portal-page .main-card > strong { margin:9px 0 18px; font-family:var(--itft-font); font-size:1.65rem; font-weight:680; }
body.itft-portal-page .mini { min-height:70px; padding:11px; border-radius:11px; background:rgba(255,255,255,.07)!important; border:1px solid rgba(255,255,255,.08); }
body.itft-portal-page .mini-grid { gap:7px; }
body.itft-portal-page .float-card { border-color:rgba(255,255,255,.1); background:rgba(10,18,36,.88); border-radius:10px; box-shadow:0 16px 40px rgba(0,0,0,.25); }
body.itft-portal-page .hero-strip { background:#050a14; }
body.itft-portal-page .strip-inner { min-height:40px; color:#65748a; }

body.itft-portal-page .tools-section { padding-block:74px 66px; }
body.itft-portal-page .section-heading { grid-template-columns:1fr minmax(300px,.58fr); gap:44px; }
body.itft-portal-page :where(.section-heading h2,.principles-copy h2,.about-copy h2,.privacy-grid h2,.disclaimer-heading h2) { font-family:var(--itft-font); font-size:clamp(1.9rem,3.3vw,3rem); font-weight:720; letter-spacing:-.05em; line-height:1.06; }
body.itft-portal-page .tool-controls { margin:30px 0 18px; padding:8px; background:rgba(255,255,255,.72); border:1px solid var(--itft-brand-border); border-radius:13px; box-shadow:var(--itft-brand-shadow-sm); backdrop-filter:blur(8px); }
body.itft-portal-page .search { width:min(440px,100%); }
body.itft-portal-page .search input { height:40px; border:0; background:transparent; box-shadow:none; }
body.itft-portal-page .filter-buttons { gap:4px; }
body.itft-portal-page .filter { min-height:34px; padding:6px 11px; border-color:transparent; border-radius:8px; background:transparent; }
body.itft-portal-page .filter:hover { color:#243047; background:#edf1f7; }
body.itft-portal-page .filter.active { color:#fff; background:linear-gradient(135deg,#5877ff,#3c57d8); border-color:#3c57d8; box-shadow:0 4px 12px rgba(79,110,247,.2); }
body.itft-portal-page .tools-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
body.itft-portal-page .tool-card { min-height:306px; padding:22px; overflow:hidden; border-color:#dce3ee; border-radius:14px; }
body.itft-portal-page .tool-card::before { content:""; position:absolute; width:150px; height:150px; right:-75px; top:-75px; border-radius:50%; background:radial-gradient(circle,rgba(79,110,247,.1),transparent 68%); pointer-events:none; }
body.itft-portal-page .tool-card { position:relative; }
body.itft-portal-page .tool-icon { width:43px; height:43px; border-radius:11px; background:linear-gradient(145deg,#243553,#111b30)!important; box-shadow:0 7px 18px rgba(15,23,42,.16); }
body.itft-portal-page .tool-badge { color:#64748b; background:#f2f5f9; border:1px solid #e4e9f1; }
body.itft-portal-page .tool-category { margin:17px 0 4px; color:var(--itft-brand-teal-dark); }
body.itft-portal-page .tool-card h3 {
  min-height:2.35em;
  margin:9px 0 10px;
  padding:10px 12px;
  color:#f8fbff;
  background:linear-gradient(135deg,#111b2f,#1d3157);
  border:1px solid rgba(103,167,255,.18);
  border-radius:10px;
  box-shadow:0 8px 20px rgba(15,23,42,.13);
  font-family:var(--itft-font);
  font-size:1.05rem;
  font-weight:720;
  line-height:1.22;
}
body.itft-portal-page .tool-description { margin:10px 0 6px; color:#647187; font-size:.79rem; line-height:1.53; }
body.itft-portal-page .tool-card ul { margin:4px 0 15px; }
body.itft-portal-page .tool-card li { padding:3px 0 3px 15px; color:#4c596d; font-size:.71rem; }
body.itft-portal-page .tool-card li::before { top:9px; width:4px; height:4px; background:#6d85f4; }
body.itft-portal-page .card-link { min-height:38px; margin-top:auto; padding:7px 8px 7px 11px; color:#23304a; background:#f5f7fb; border:1px solid #e0e6ef; border-radius:9px; font-size:.72rem; }
body.itft-portal-page .card-link:hover { color:#fff; background:#111b2f; border-color:#111b2f; }
body.itft-portal-page .card-link span { width:25px; height:25px; color:#fff; background:linear-gradient(135deg,#5877ff,#3c57d8); }

body.itft-portal-page .discovery-section { padding-block:0 66px; }
body.itft-portal-page .discovery-grid { padding:30px; background:#fff; border:1px solid var(--itft-brand-border); border-radius:16px; box-shadow:var(--itft-brand-shadow-sm); }
body.itft-portal-page .discovery-links { gap:8px; }
body.itft-portal-page .discovery-links a { padding:13px 14px; background:#f7f9fc; border:1px solid #e4e9f1; border-radius:10px; }
body.itft-portal-page .discovery-links a:hover { background:#f2f5ff; border-color:#b9c6f4; transform:translateY(-1px); }

body.itft-portal-page .principles-section { padding-block:68px; background:linear-gradient(140deg,#080e1b,#101c33); }
body.itft-portal-page .principles-grid { grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr); gap:60px; }
body.itft-portal-page .principles-copy h2 { color:#fff; }
body.itft-portal-page .principle-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
body.itft-portal-page .principle-list article { display:block; padding:18px; border:1px solid rgba(255,255,255,.09); border-radius:12px; background:rgba(255,255,255,.035); }
body.itft-portal-page .principle-list article > span { display:block; margin-bottom:22px; color:#84a7ff; font-family:var(--itft-font); font-size:.68rem; font-weight:760; }
body.itft-portal-page .principle-list h3 { color:#fff; }

body.itft-portal-page .about-section { padding-block:68px; }
body.itft-portal-page .about-card { grid-template-columns:150px 1fr; gap:38px; padding:38px; background:linear-gradient(135deg,#eef2ff,#f7f9fc 55%); border:1px solid #dce3f0; border-radius:18px; }
body.itft-portal-page .about-mark { width:130px; height:130px; background:linear-gradient(145deg,#101b30,#1b3158); box-shadow:0 18px 44px rgba(15,23,42,.16); }
body.itft-portal-page .about-mark span { color:#91b4ff; font-family:var(--itft-font); font-size:2.8rem; font-weight:720; }

body.itft-portal-page .privacy-section { padding-block:68px; background:#eef2f7; }
body.itft-portal-page .privacy-grid { display:grid; grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr); gap:48px; }
body.itft-portal-page .privacy-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
body.itft-portal-page .privacy-points article { padding:18px; background:#fff; border:1px solid #dce3ee; border-radius:12px; box-shadow:var(--itft-brand-shadow-sm); }
body.itft-portal-page .privacy-points h3 { margin-top:0; font-size:.84rem; }
body.itft-portal-page .privacy-points p { margin-bottom:0; color:#647187; font-size:.74rem; }

body.itft-portal-page .disclaimer-section { padding-block:68px; background:linear-gradient(145deg,#0b1220,#101d35); }
body.itft-portal-page .disclaimer-heading { margin-bottom:30px; }
body.itft-portal-page .disclaimer-grid { gap:9px; }
body.itft-portal-page .disclaimer-grid article { padding:18px; border-radius:12px; background:rgba(255,255,255,.035); }
body.itft-portal-page .disclaimer-grid article > span { background:rgba(79,110,247,.16); color:#9ab7ff; }
body.itft-portal-page .disclaimer-callout { margin-top:10px; padding:14px 16px; border-radius:10px; }
body.itft-portal-page .site-footer { padding-top:52px; background:#050914; }

/* Office suite */
body.itft-office-tools .layout { gap:16px; }
body.itft-office-tools .sidebar { top:76px; padding:8px; background:rgba(255,255,255,.86); border-color:var(--itft-brand-border); border-radius:12px; box-shadow:var(--itft-brand-shadow-sm); backdrop-filter:blur(10px); }
body.itft-office-tools .nav-button { min-height:38px; padding:7px 9px; color:#5f6d82; border-radius:8px; }
body.itft-office-tools .nav-button:hover { color:#24314a; background:#eef2f8; }
body.itft-office-tools .nav-button.active { color:#fff; background:linear-gradient(135deg,#5877ff,#3c57d8); border-color:#3c57d8; box-shadow:0 7px 18px rgba(79,110,247,.2); }
body.itft-office-tools .tool-grid { gap:12px; }
body.itft-office-tools .tool-card { padding:16px; border-radius:12px; }
body.itft-office-tools .tool-number { background:linear-gradient(135deg,#5877ff,#3c57d8); border-radius:8px; }
body.itft-office-tools .metric { background:#f7f9fc; }

/* UAE VAT and AI directory */
body.itft-vat-tax-invoice .hero, body.itft-ai-tools-directory .hero { background:linear-gradient(135deg,#eef2ff 0%,#f7f9fc 64%,#edf7ff 100%); border-color:#d8e2f2; border-radius:14px; }
body.itft-vat-tax-invoice #invoiceForm fieldset { background:#fbfcfe; border-color:#dde4ef; border-radius:10px; }
body.itft-vat-tax-invoice #invoiceForm legend { color:var(--itft-brand-teal-dark); }
body.itft-vat-tax-invoice .entry, body.itft-vat-tax-invoice .totals { background:#fff; border-color:#dce3ee; box-shadow:var(--itft-brand-shadow-sm); }
body.itft-vat-tax-invoice .sheet { border:1px solid #cbd5e1; border-radius:3px; box-shadow:0 20px 55px rgba(15,23,42,.1); }
body.itft-ai-tools-directory .filters { background:#f7f9fc; border-color:#dce3ee; }
body.itft-ai-tools-directory .tool-card { border-radius:12px; }
body.itft-ai-tools-directory .dialog { border-radius:16px; box-shadow:var(--itft-brand-shadow-lg); }
body.itft-ai-tools-directory .dialog-head { background:linear-gradient(135deg,#0b1220,#192b4d); }

/* India GST and PINT-AE workspaces */
body.itft-india-gst-invoice .legal-banner, body.itft-pint-ae-validator .legal-banner { background:#fff9e8; border-color:#ead9a8; border-left-color:#e2a52d; }
body.itft-india-gst-invoice .status-strip article, body.itft-pint-ae-validator .status-grid > div, body.itft-pint-ae-validator .corner-list > li, body.itft-pint-ae-validator .level-grid > div { background:#f8faff; border-color:#dfe5ef; box-shadow:none; }
body.itft-india-gst-invoice .line-table th { color:#dce7f7; background:#111b2f; text-transform:uppercase; letter-spacing:.045em; }
body.itft-india-gst-invoice .total-tile, body.itft-pint-ae-validator .totals-preview > div { background:linear-gradient(145deg,#111b2f,#1b2b4b); }
body.itft-india-gst-invoice .sticky-actions { background:rgba(255,255,255,.9); border-color:#d7dfeb; box-shadow:0 12px 34px rgba(15,23,42,.1); backdrop-filter:blur(14px); }
body.itft-pint-ae-validator .panel { position:relative; border-top:1px solid var(--itft-brand-border); }
body.itft-pint-ae-validator .panel::before { content:""; position:absolute; top:-1px; left:16px; width:44px; height:2px; background:linear-gradient(90deg,#4f6ef7,#67a7ff); border-radius:2px; }
body.itft-pint-ae-validator .xml-output { color:#dce7f7; background:#07101f; border-color:#1e2b42; border-radius:8px; }
body.itft-pint-ae-validator .locked-values > div { background:#f7f9fc; border-color:#dce3ee; }

@media (prefers-reduced-motion: no-preference) {
  body.has-itft-shell :where(.panel,.form-card,.tool-card,.content-card) { animation:itft-premium-in 260ms cubic-bezier(.2,.75,.25,1) both; }
  body.has-itft-shell :where(button,.btn,.button,.nav-button,.filter,a) { transition-duration:150ms; }
  @keyframes itft-premium-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
}

@media (max-width: 1080px) {
  body.itft-portal-page .tools-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.itft-portal-page .privacy-points, body.itft-portal-page .principle-list { grid-template-columns:1fr; }
}

@media (max-width: 900px) {
  .itft-shell-header__inner { min-height:58px; }
  body.itft-portal-page .hero { grid-template-columns:1fr; gap:28px; min-height:0; padding-block:54px; }
  body.itft-portal-page .hero-copy { text-align:center; }
  body.itft-portal-page .hero-lead { margin-inline:auto; }
  body.itft-portal-page .hero-actions, body.itft-portal-page .trust-list { justify-content:center; }
  body.itft-portal-page .hero-visual { min-height:315px; }
  body.itft-portal-page .section-heading, body.itft-portal-page .principles-grid, body.itft-portal-page .privacy-grid { grid-template-columns:1fr; gap:26px; }
  body.itft-portal-page .principle-list, body.itft-portal-page .privacy-points { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.itft-office-tools .sidebar { position:relative; inset:auto; width:100%; height:auto; display:flex; margin-bottom:12px; overflow-x:auto; }
}

@media (max-width: 720px) {
  .itft-shell-header__inner { width:calc(100% - 20px); padding-block:7px; }
  .itft-shell-brand__text small { display:none; }
  .itft-page-context__inner { min-height:70px; }
  body.itft-portal-page .hero { padding-block:42px; }
  body.itft-portal-page .hero h1 { font-size:clamp(2.35rem,13vw,3.45rem); }
  body.itft-portal-page .hero-visual { min-height:285px; transform:scale(.9); margin-block:-18px; }
  body.itft-portal-page .tools-section, body.itft-portal-page .about-section, body.itft-portal-page .privacy-section, body.itft-portal-page .principles-section, body.itft-portal-page .disclaimer-section { padding-block:52px; }
  body.itft-portal-page .tool-controls { align-items:stretch; padding:7px; }
  body.itft-portal-page .tools-grid { grid-template-columns:1fr; }
  body.itft-portal-page .tool-card { min-height:0; }
  body.itft-portal-page .tool-card h3 { min-height:0; }
  body.itft-portal-page .principle-list, body.itft-portal-page .privacy-points { grid-template-columns:1fr; }
  body.itft-portal-page .about-card { grid-template-columns:1fr; gap:24px; padding:26px 20px; }
  body.itft-portal-page .about-mark { width:105px; height:105px; margin:auto; }
  body.itft-portal-page .disclaimer-grid { grid-template-columns:1fr; }
  body.has-itft-shell .preview-table tbody tr, body.itft-vat-tax-invoice .entry tr.line, body.itft-india-gst-invoice .line-table tbody tr, body.itft-pint-ae-validator .line-table tbody tr { box-shadow:var(--itft-brand-shadow-sm); }
}

@media (max-width: 430px) {
  body.itft-portal-page .hero-actions { flex-direction:column; }
  body.itft-portal-page .hero .button { width:100%; }
  body.itft-portal-page .main-card { width:280px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

@media print {
  body.has-itft-shell { background:#fff!important; }
  body.has-itft-shell :where(.sheet,.invoice-sheet,.invoice-preview,.panel) { box-shadow:none!important; }
}

/* Colorful teal-and-gold brand refresh — final cascade layer. */
.itft-shell-brand__mark {
  background:linear-gradient(145deg,#1db7aa,#08766f 72%);
  box-shadow:0 8px 22px rgba(20,156,145,.26),inset 0 1px rgba(255,255,255,.22);
}
.itft-shell-nav a[aria-current="page"] {
  color:#fff;
  background:rgba(123,214,204,.16);
  box-shadow:inset 0 0 0 1px rgba(123,214,204,.22);
}
.itft-export summary {
  min-height:36px;
  padding:7px 13px;
  color:#172033;
  background:var(--itft-brand-gold);
  border:1px solid #ffd982;
  border-radius:9px;
  box-shadow:inset 0 1px rgba(255,255,255,.45),0 5px 14px rgba(0,0,0,.14);
  font-weight:780;
}
.itft-export[open] summary,.itft-export summary:hover {
  color:#172033;
  background:#ffd06f;
  border-color:#ffe09a;
}
.itft-page-context {
  background:radial-gradient(circle at 84% -70%,rgba(123,214,204,.3),transparent 30%),linear-gradient(112deg,#071a29 0%,#0b2636 56%,#0c3b43 100%);
  border-bottom-color:rgba(123,214,204,.4);
}
body.has-itft-shell :where(button,.btn,.button,.small) {
  border-style:solid;
  border-width:1px;
  border-color:#b8d8d4;
  font-weight:740;
}
body.has-itft-shell :is(button,a).primary,
body.has-itft-shell a.cta,
body.has-itft-shell button[type="submit"]:not(.remove):not(.remove-line):not(.close),
body.has-itft-shell :is(#validate-button,#generate-button,#download-xml) {
  color:#fff!important;
  background:linear-gradient(135deg,#18aa9e,#087c74)!important;
  border-color:#087c74!important;
  box-shadow:0 6px 16px rgba(20,156,145,.2);
}
body.has-itft-shell :is(button,a).primary:hover:not(:disabled),
body.has-itft-shell a.cta:hover,
body.has-itft-shell button[type="submit"]:not(.remove):not(.remove-line):not(.close):hover:not(:disabled),
body.has-itft-shell :is(#validate-button,#generate-button,#download-xml):hover:not(:disabled) {
  background:linear-gradient(135deg,#12988e,#066860)!important;
  border-color:#066860!important;
  box-shadow:0 9px 22px rgba(20,156,145,.25);
}
body.has-itft-shell :is(button,a).secondary,
body.has-itft-shell :is(button,a).small,
body.has-itft-shell :is(button,a).clear,
body.has-itft-shell button.itft-export__button {
  color:#173d42!important;
  background:#fff!important;
  border-color:#b8d8d4!important;
  box-shadow:0 1px 2px rgba(7,53,58,.05);
}
body.has-itft-shell :is(button,a).secondary:hover:not(:disabled),
body.has-itft-shell :is(button,a).small:hover:not(:disabled),
body.has-itft-shell :is(button,a).clear:hover:not(:disabled),
body.has-itft-shell button.itft-export__button:hover:not(:disabled) {
  color:#075f59!important;
  background:#f0fbf9!important;
  border-color:#78bdb6!important;
}

/* Homepage: restore the richer reference composition with crisp sans typography. */
body.itft-portal-page .site-header {
  overflow:hidden;
  background:linear-gradient(118deg,#061a2b 0%,#062234 62%,#07303a 100%);
}
body.itft-portal-page .site-header::before {
  background:radial-gradient(circle at 77% 31%,rgba(35,178,159,.19),transparent 27rem),linear-gradient(115deg,transparent 42%,rgba(255,255,255,.025) 42.2%,transparent 42.6%);
}
body.itft-portal-page .hero {
  min-height:650px;
  grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);
  gap:76px;
  padding-block:80px 96px;
}
body.itft-portal-page .hero h1 {
  max-width:780px;
  color:#fff;
  font-family:var(--itft-font);
  font-size:clamp(3rem,5.7vw,5.35rem);
  font-weight:770;
  line-height:.98;
  letter-spacing:-.062em;
}
body.itft-portal-page .hero h1 em {
  color:var(--itft-brand-teal-bright);
  font-family:inherit;
  font-style:normal;
  font-weight:720;
}
body.itft-portal-page .hero-lead {
  max-width:680px;
  margin:27px 0 0;
  color:#bad0db;
  font-size:1.02rem;
  line-height:1.72;
}
body.itft-portal-page .hero-actions { margin-top:28px; }
body.itft-portal-page .hero .button { min-height:46px; padding:11px 17px; border-radius:10px; }
body.itft-portal-page .hero .button.primary {
  background:linear-gradient(135deg,#19aa9f,#098178)!important;
  border-color:#1bb8ab!important;
  box-shadow:0 12px 28px rgba(8,124,116,.28);
}
body.itft-portal-page .hero .button.ghost {
  color:#e5eff3;
  background:transparent;
  border-color:rgba(255,255,255,.28);
}
body.itft-portal-page .hero .button.ghost:hover {
  color:#fff;
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.48);
}
body.itft-portal-page .trust-list { gap:18px; margin-top:32px; color:#9bb3c1; }
body.itft-portal-page .trust-list span { color:#76ddcf; background:rgba(20,156,145,.18); }
body.itft-portal-page .hero-visual { min-height:430px; }
body.itft-portal-page .orbit-one { width:430px; height:430px; border-color:rgba(123,214,204,.14); }
body.itft-portal-page .orbit-two { width:330px; height:330px; border-color:rgba(123,214,204,.14); }
body.itft-portal-page .main-card {
  width:335px;
  padding:30px;
  border-radius:27px;
  background:linear-gradient(145deg,rgba(25,61,84,.98),rgba(10,35,56,.98));
  border-color:rgba(123,214,204,.18);
  box-shadow:0 35px 80px rgba(0,0,0,.3);
  transform:rotate(-2deg);
}
body.itft-portal-page .main-card>strong {
  margin:12px 0 25px;
  font-family:var(--itft-font);
  font-size:1.9rem;
  font-weight:680;
  line-height:1.13;
  letter-spacing:-.035em;
}
body.itft-portal-page .mini {
  min-height:85px;
  padding:14px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.1);
  box-shadow:inset 0 1px rgba(255,255,255,.08);
}
body.itft-portal-page .mini.blue { background:#3564a7!important; }
body.itft-portal-page .mini.gold { background:#9a6b27!important; }
body.itft-portal-page .mini.green { background:#19705d!important; }
body.itft-portal-page .mini.violet { background:#5d49a2!important; }
body.itft-portal-page .mini-grid { gap:9px; }
body.itft-portal-page .float-card {
  border-color:rgba(123,214,204,.22);
  background:rgba(18,51,75,.94);
  border-radius:13px;
  box-shadow:0 18px 42px rgba(0,0,0,.27);
}
body.itft-portal-page .hero-strip { background:#061725; border-top-color:rgba(123,214,204,.1); }
body.itft-portal-page .strip-inner { min-height:48px; color:#7893a2; }
body.itft-portal-page .filter.active {
  color:#fff;
  background:linear-gradient(135deg,#18aa9e,#087c74);
  border-color:#087c74;
  box-shadow:0 4px 12px rgba(20,156,145,.22);
}
body.itft-portal-page .tools-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
body.itft-portal-page .tool-card {
  position:relative;
  min-height:390px;
  padding:27px;
  overflow:hidden;
  border-color:#d8e3e7;
  border-radius:17px;
}
body.itft-portal-page .tool-card::before {
  width:170px;
  height:170px;
  right:-85px;
  top:-85px;
  background:radial-gradient(circle,rgba(20,156,145,.1),transparent 68%);
}
body.itft-portal-page .tool-icon { width:52px; height:52px; border-radius:14px; box-shadow:0 8px 18px rgba(15,23,42,.14); }
body.itft-portal-page .tool-icon.blue { background:linear-gradient(145deg,#3c70ba,#2b5797)!important; }
body.itft-portal-page .tool-icon.gold { background:linear-gradient(145deg,#c68a2d,#9a661b)!important; }
body.itft-portal-page .tool-icon.green { background:linear-gradient(145deg,#23866f,#176453)!important; }
body.itft-portal-page .tool-icon.violet { background:linear-gradient(145deg,#715db6,#554394)!important; }
body.itft-portal-page .tool-card h3 {
  min-height:0;
  margin:7px 0 9px;
  padding:0;
  color:#172033;
  background:none;
  border:0;
  border-radius:0;
  box-shadow:none;
  font-family:var(--itft-font);
  font-size:1.32rem;
  font-weight:760;
  line-height:1.22;
  letter-spacing:-.035em;
}
body.itft-portal-page .tool-description { margin:10px 0 6px; color:#5f7080; font-size:.86rem; line-height:1.62; }
body.itft-portal-page .tool-card ul { margin:8px 0 20px; }
body.itft-portal-page .tool-card li { padding:4px 0 4px 18px; color:#435566; font-size:.78rem; }
body.itft-portal-page .tool-card li::before { top:10px; width:5px; height:5px; background:var(--itft-brand-teal); }
body.itft-portal-page .card-link {
  min-height:42px;
  margin-top:auto;
  padding:8px 9px 8px 12px;
  color:#173d42;
  background:#f4faf9;
  border:1px solid #c9e5e1;
  border-radius:10px;
  font-size:.76rem;
}
body.itft-portal-page .card-link:hover { color:#fff; background:#087c74; border-color:#087c74; }
body.itft-portal-page .card-link span { width:27px; height:27px; color:#fff; background:linear-gradient(135deg,#18aa9e,#087c74); }
body.itft-portal-page .principles-section { background:linear-gradient(140deg,#061725,#0b2a38); }
body.itft-portal-page .principle-list article>span { color:#7bd6cc; }
body.itft-portal-page .about-card { background:linear-gradient(135deg,#e9f8f5,#f7faf9 55%); border-color:#cce5e1; }
body.itft-portal-page .about-mark { background:linear-gradient(145deg,#082235,#0b4b50); box-shadow:0 18px 44px rgba(7,53,58,.17); }
body.itft-portal-page .about-mark span { color:#7bd6cc; }
body.itft-portal-page .disclaimer-section { background:linear-gradient(145deg,#071a29,#0c3040); }
body.itft-portal-page .disclaimer-grid article>span { background:rgba(20,156,145,.18); color:#8de0d6; }
body.itft-portal-page .site-footer { background:#051521; }

/* The same crisp action palette across all application categories. */
body.itft-office-tools .nav-button.active,
body.itft-office-tools .tool-number {
  color:#fff;
  background:linear-gradient(135deg,#18aa9e,#087c74);
  border:1px solid #1bb8ab!important;
  box-shadow:0 7px 18px rgba(20,156,145,.2);
}
body.itft-office-tools .nav-button:not(.active) {
  border:1px solid #d3e4e2!important;
  background:#fff!important;
}
body.itft-vat-tax-invoice .hero,
body.itft-ai-tools-directory .hero {
  background:linear-gradient(135deg,#e9f8f5 0%,#f7faf9 64%,#edf8f6 100%);
  border-color:#cfe5e1;
}
body.itft-pint-ae-validator .panel::before { background:linear-gradient(90deg,#149c91,#7bd6cc); }

@media (max-width:900px) {
  body.itft-portal-page .hero {
    grid-template-columns:1fr;
    gap:30px;
    min-height:0;
    padding-block:58px;
  }
  body.itft-portal-page .hero-copy { text-align:center; }
  body.itft-portal-page .hero-lead { margin-inline:auto; }
  body.itft-portal-page .hero-actions,body.itft-portal-page .trust-list { justify-content:center; }
  body.itft-portal-page .hero-visual { min-height:390px; }
}
@media (max-width:720px) {
  body.itft-portal-page .hero { padding-block:45px; }
  body.itft-portal-page .hero h1 { font-size:clamp(2.55rem,13vw,3.7rem); }
  body.itft-portal-page .hero-visual { min-height:310px; transform:scale(.88); margin-block:-10px; }
  body.itft-portal-page .tools-grid { grid-template-columns:1fr; }
  body.itft-portal-page .tool-card { min-height:0; padding:22px; }
}
@media (max-width:430px) {
  body.itft-portal-page .hero h1 { font-size:clamp(2.35rem,13vw,3.25rem); }
  body.itft-portal-page .main-card { width:290px; }
  body.itft-portal-page .hero-visual { margin-inline:-18px; }
}
