:root {
      --bg: #f4f4f4;
      --sidebar-bg: #2e2e2e;
      --surface: rgba(255, 255, 255, 0.72);
      --surface-solid: #ffffff;
      --surface-soft: rgba(255, 255, 255, 0.48);
      --text: #2e2e2e;
      --muted: #555555;
      --muted-2: #888888;
      --border: rgba(46, 46, 46, 0.12);
      --border-strong: rgba(46, 46, 46, 0.22);
      --accent: #f7be39;
      --accent-dark: #2e2e2e;
      --accent-soft: rgba(247, 190, 57, 0.22);
      --success: #32c671;
      --warning: #f7be39;
      --danger: #da4453;
      --radius-sm: 10px;
      --radius: 10px;
      --radius-lg: 10px;
      --shadow-sm: 0 1px 2px rgba(46, 46, 46, 0.05);
      --shadow: 0 18px 45px rgba(46, 46, 46, 0.10);
      --glass-shadow: 0 18px 50px rgba(46, 46, 46, 0.11);
      --focus: 0 0 0 4px rgba(37, 99, 235, 0.16);
    }

    * { box-sizing: border-box; }

    html { scroll-behavior: smooth; }

    body {
      margin: 0;
      min-height: 100vh;
      background: var(--bg);
      color: var(--text);
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
      font-size: 14px;
      line-height: 1.5;
    }

    a { color: inherit; text-decoration: none; }

    button,
    input {
      font: inherit;
    }

    button:focus-visible,
    input:focus-visible,
    a:focus-visible {
      outline: none;
      box-shadow: var(--focus);
    }

    .app-shell {
      display: grid;
      grid-template-columns: 280px minmax(0, 1fr);
      min-height: 100vh;
    }

    .sidebar {
      position: sticky;
      top: 0;
      height: 100vh;
      padding: 22px;
      border-right: 1px solid var(--border);
      background: rgba(46, 46, 46, 0.96);
      backdrop-filter: blur(16px);
      display: flex;
      flex-direction: column;
      gap: 22px;
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .brand-mark {
      width: 42px;
      height: 42px;
      border-radius: 10px;
      display: grid;
      place-items: center;
      background: var(--accent);
      color: #2e2e2e;
      font-weight: 800;
      letter-spacing: -0.04em;
      box-shadow: var(--shadow-sm);
    }

    .brand-title {
      font-weight: 760;
      font-size: 15px;
      letter-spacing: -0.01em;
    }

    .brand-subtitle {
      color: var(--muted);
      font-size: 12px;
      margin-top: 1px;
    }

    .nav-section-label {
      margin: 0 0 8px;
      color: var(--muted-2);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .nav-list {
      display: grid;
      gap: 6px;
    }

    .nav-link {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 10px 11px;
      color: var(--muted);
      border-radius: 10px;
      transition: background 0.16s ease, color 0.16s ease;
    }

    .nav-link:hover,
    .nav-link.active {
      color: var(--text);
      background: var(--surface-soft);
    }

    .nav-link span:first-child {
      display: inline-flex;
      align-items: center;
      gap: 9px;
    }

    .nav-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: currentColor;
      opacity: 0.42;
    }

    .nav-count {
      font-size: 12px;
      color: var(--muted-2);
    }

    .sidebar-note {
      margin-top: auto;
      padding: 14px;
      border: 1px solid var(--border);
      border-radius: var(--radius);
      background: var(--surface-soft);
    }

    .sidebar-note strong {
      display: block;
      margin-bottom: 4px;
      font-size: 13px;
    }

    .sidebar-note p {
      margin: 0;
      color: var(--muted);
      font-size: 12px;
    }

    .main {
      min-width: 0;
      padding: 28px;
      background:
        radial-gradient(circle at 20% 0%, rgba(247, 190, 57, 0.16), transparent 34%),
        radial-gradient(circle at 95% 12%, rgba(54, 187, 247, 0.12), transparent 30%),
        var(--bg);
    }

    .topbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      margin-bottom: 22px;
    }

    .breadcrumbs {
      color: var(--muted);
      font-size: 13px;
    }

    .topbar-actions {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap;
    }

    .button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-height: 38px;
      padding: 9px 13px;
      border: 1px solid var(--border);
      border-radius: 10px;
      background: var(--surface);
      color: var(--text);
      cursor: pointer;
      box-shadow: var(--shadow-sm);
      transition: border-color 0.16s ease, background 0.16s ease, transform 0.12s ease;
    }

    .button:hover {
      border-color: var(--border-strong);
      background: var(--surface-soft);
    }

    .button:active { transform: translateY(1px); }

    .button.primary {
      background: var(--accent);
      border-color: var(--accent);
      color: #fff;
    }

    .button.primary:hover {
      background: var(--accent-dark);
      border-color: var(--accent);
    }

    .hero {
      position: relative;
      overflow: hidden;
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      background: var(--surface);
      box-shadow: var(--shadow);
      padding: 28px;
      margin-bottom: 18px;
    }

    .hero-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.6fr);
      gap: 24px;
      align-items: stretch;
    }

    .eyebrow {
      display: inline-flex;
	  border: 1px solid;
      align-items: center;
      gap: 8px;
      margin-bottom: 14px;
      padding: 6px 10px;
      border-radius: 999px;
      background: rgba(247, 190, 57, 0.12);
      color: var(--accent);
      font-size: 12px;
      font-weight: 700;
    }

    .pulse {
      width: 8px;
      height: 8px;
      border-radius: 999px;
      background: var(--success);
      box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.12);
    }

    .hero h1 {
      margin: 0;
      max-width: 860px;
      font-size: clamp(34px, 5vw, 58px);
      line-height: 0.98;
      letter-spacing: -0.055em;
    }

    .hero-copy {
      margin: 18px 0 0;
      max-width: 760px;
      color: var(--muted);
      font-size: 16px;
    }

    .hero-actions {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      margin-top: 24px;
    }

    .hero-card {
      border: 1px solid var(--border);
      border-radius: var(--radius);
      background: var(--surface-soft);
      padding: 18px;
      display: grid;
      align-content: space-between;
      gap: 18px;
    }

    .hero-card-label {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.08em;
    }

    .hero-card-number {
      margin-top: 8px;
      font-size: 42px;
      line-height: 1;
      letter-spacing: -0.05em;
      font-weight: 780;
    }

    .hero-card-caption {
      margin-top: 7px;
      color: var(--muted);
      font-size: 13px;
    }

    .status-list {
      display: grid;
    }

    .status-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 10px 0;
      border-top: 1px solid var(--border);
      color: var(--muted);
      font-size: 13px;
    }

    .status-item strong { color: var(--text); font-weight: 650; }

    .stats-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
      margin-bottom: 18px;
    }

    .stat-card {
      border: 1px solid var(--border);
      border-radius: var(--radius);
      background: var(--surface);
      padding: 16px;
      box-shadow: var(--shadow-sm);
    }

    .stat-label {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
    }

    .stat-value {
      margin-top: 8px;
      font-size: 26px;
      font-weight: 760;
      letter-spacing: -0.04em;
    }

    .toolbar {
      display: grid;
      grid-template-columns: minmax(260px, 1fr) auto;
      gap: 12px;
      margin-bottom: 14px;
    }

    .searchbox {
      position: relative;
    }

    .searchbox svg {
      position: absolute;
      left: 14px;
      top: 50%;
      transform: translateY(-50%);
      width: 18px;
      height: 18px;
      color: var(--muted-2);
      pointer-events: none;
    }

    .searchbox input {
      width: 100%;
      min-height: 46px;
      padding: 11px 14px 11px 42px;
      border: 1px solid var(--border);
      border-radius: 10px;
      background: var(--surface);
      color: var(--text);
      box-shadow: var(--shadow-sm);
    }

    .searchbox input::placeholder { color: var(--muted-2); }

    .filters {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
    }

    .filter-chip {
      min-height: 46px;
      padding: 10px 13px;
      border: 1px solid var(--border);
      border-radius: 10px;
      background: var(--surface);
      color: var(--muted);
      cursor: pointer;
      box-shadow: var(--shadow-sm);
      transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
    }

    .filter-chip:hover,
    .filter-chip.active {
      color: var(--accent);
      border-color: rgba(247, 190, 57, 0.4);
      background: rgba(247, 190, 57, 0.12);
    }

    .section-heading {
      display: flex;
      justify-content: space-between;
      align-items: end;
      gap: 12px;
      margin: 22px 0 12px;
    }

    .section-heading h2 {
      margin: 0;
      font-size: 18px;
      letter-spacing: -0.025em;
    }

    .section-heading p {
      margin: 4px 0 0;
      color: var(--muted);
      font-size: 13px;
    }

    .tool-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
    }

    .tool-card {
      display: flex;
      flex-direction: column;
      min-height: 184px;
      border: 1px solid var(--border);
      border-radius: var(--radius);
      background: var(--surface);
      padding: 16px;
      box-shadow: var(--shadow-sm);
      transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
    }

    .tool-card:hover {
      border-color: rgba(247, 190, 57, 0.55);
      box-shadow: 0 20px 46px rgba(46, 46, 46, 0.14);
      background: rgba(255, 255, 255, 0.82);
    }

    .tool-top {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 12px;
      margin-bottom: 13px;
    }

    .tool-icon {
      width: 38px;
      height: 38px;
      border-radius: 10px;
      background: var(--surface-soft);
      border: 1px solid var(--border);
      display: grid;
      place-items: center;
      color: var(--accent);
      font-weight: 800;
      letter-spacing: -0.04em;
    }

    .badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 5px 9px;
      border: 1px solid var(--border);
      border-radius: 999px;
      color: var(--muted);
      background: var(--surface);
      font-size: 12px;
      white-space: nowrap;
    }

    .tool-card h3 {
      margin: 0;
      font-size: 15px;
      letter-spacing: -0.015em;
    }

    .tool-card p {
      margin: 7px 0 16px;
      color: var(--muted);
      font-size: 13px;
    }

    .tool-footer {
      margin-top: auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      color: var(--muted-2);
      font-size: 12px;
    }

    .open-link {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: var(--accent);
      font-weight: 700;
    }

    .open-link svg {
      width: 15px;
      height: 15px;
    }

    .empty-state {
      display: none;
      border: 1px dashed var(--border-strong);
      border-radius: var(--radius);
      background: var(--surface);
      padding: 24px;
      text-align: center;
      color: var(--muted);
    }

    .empty-state.show { display: block; }

    .mobile-header {
      display: none;
      align-items: center;
      justify-content: space-between;
      padding: 16px;
      border-bottom: 1px solid var(--border);
      background: rgba(46, 46, 46, 0.96);
      backdrop-filter: blur(16px);
      position: sticky;
      top: 0;
      z-index: 10;
    }

    @media (max-width: 1120px) {
      .app-shell { grid-template-columns: 1fr; }
      .sidebar { display: none; }
      .mobile-header { display: flex; }
      .main { padding: 20px; }
      .hero-grid { grid-template-columns: 1fr; }
      .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }

    @media (max-width: 720px) {
      .main { padding: 16px; }
      .topbar { align-items: flex-start; flex-direction: column; }
      .hero { padding: 20px; }
      .hero h1 { font-size: 38px; }
      .toolbar { grid-template-columns: 1fr; }
      .filters { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 2px; }
      .filter-chip { white-space: nowrap; }
      .stats-grid { grid-template-columns: 1fr; }
      .tool-grid { grid-template-columns: 1fr; }
    }

    /* Brand palette stabilisation */
    .brand-mark {
      background: var(--accent);
      color: #2e2e2e;
    }

    .button.primary {
      background: var(--accent);
      border-color: rgba(46, 46, 46, 0.08);
      color: #2e2e2e;
      font-weight: 750;
      box-shadow: 0 10px 26px rgba(247, 190, 57, 0.28);
    }

    .button.primary:hover {
      background: #e9ad20;
      border-color: rgba(46, 46, 46, 0.12);
      color: #2e2e2e;
    }

    .eyebrow,
    .filter-chip:hover,
    .filter-chip.active {
      color: var(--accent);
      border-color: rgba(247, 190, 57, 0.42);
      background: rgba(247, 190, 57, 0.12);
    }

    .sidebar,
    .mobile-header {
      background: rgba(46, 46, 46, 0.96);
      color: #f9f9f9;
    }

    .sidebar .brand-title,
    .mobile-header .brand-title,
    .sidebar .nav-link:hover,
    .sidebar .nav-link.active {
      color: #f9f9f9;
    }

    .sidebar .brand-subtitle,
    .mobile-header .brand-subtitle,
    .sidebar .nav-link,
    .sidebar .sidebar-note p,
    .sidebar .nav-count {
      color: #cccccc;
    }

    .sidebar .nav-section-label {
      color: #888888;
    }

    .sidebar .nav-link:hover,
    .sidebar .nav-link.active,
    .sidebar .sidebar-note {
      background: rgba(255, 255, 255, 0.07);
      border-color: rgba(255, 255, 255, 0.1);
    }

    .hero,
    .hero-card,
    .stat-card,
    .tool-card,
    .searchbox input,
    .filter-chip,
    .button,
    .badge,
    .empty-state {
      background: var(--surface);
      border-color: rgba(255, 255, 255, 0.68);
      box-shadow: var(--glass-shadow);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
    }

    .hero-card,
    .tool-icon {
      background: rgba(255, 255, 255, 0.44);
      border-color: rgba(255, 255, 255, 0.72);
    }

    .tool-icon,
    .open-link {
      color: var(--accent);
    }

    .tool-card svg,
    .open-link svg,
    .searchbox svg {
      width: 16px;
      height: 16px;
      flex: 0 0 16px;
      display: inline-block;
    }

    .searchbox svg {
      width: 18px;
      height: 18px;
      flex-basis: 18px;
    }

    .tool-icon {
      width: 38px;
      height: 38px;
      min-width: 38px;
      min-height: 38px;
    }

    .tool-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
    }

    @media (max-width: 1120px) {
      .tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }

    @media (max-width: 720px) {
      .tool-grid { grid-template-columns: 1fr; }
    }