    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --green:#1a3a2a; --green-mid:#2d5a3d; --green-light:#4a7c5e;
      --gold:#c9a84c; --gold-light:#e8d5a3;
      --cream:#faf7f2; --cream-dark:#f0ebe0;
      --red:#8b2020; --text:#1a1a1a; --text-muted:#666;
      --border:#d4c9b0; --radius:6px; --shadow:0 2px 8px rgba(0,0,0,.07);
    }
    body { font-family:'DM Sans',sans-serif; background:var(--cream); color:var(--text); font-size:14px; min-height:100vh; }
    header { background:var(--green); color:#fff; position:sticky; top:0; z-index:100; box-shadow:0 2px 12px rgba(0,0,0,.2); }
    .header-inner { max-width:1300px; margin:0 auto; padding:0 2rem; display:flex; align-items:center; height:62px; }
    .logo { font-family:'Cormorant Garamond',serif; font-size:1.35rem; font-weight:600; color:var(--gold-light); text-decoration:none; white-space:nowrap; }
    .btn-submit { background:var(--gold); color:var(--green); font-family:'DM Sans',sans-serif; font-weight:600; font-size:.85rem; padding:.5rem 1.15rem; border-radius:var(--radius); text-decoration:none; white-space:nowrap; }
.btn-submit:hover { background:#d4af56; }
.btn-submit-outline { background:transparent; color:var(--gold); font-family:'DM Sans',sans-serif; font-weight:600; font-size:.85rem; padding:.5rem 1.15rem; border-radius:var(--radius); border:1.5px solid var(--gold); text-decoration:none; white-space:nowrap; }
.btn-submit-outline:hover { background:rgba(201,168,76,.12); }
.page-title-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.25rem; flex-wrap:wrap; }
.page-title-row .page-title { margin-bottom:0; }
.title-btn-group { display:flex; gap:.6rem; align-items:center; }
    .flag-stripe { height:4px; background:linear-gradient(to right,#009246 33.3%,#fff 33.3% 66.6%,#ce2b37 66.6%); }
    main { max-width:1300px; margin:0 auto; padding:2rem 2rem 4rem; }
    .page-title { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:600; color:var(--green); margin-bottom:.25rem; }
    .page-subtitle { font-size:.88rem; color:var(--text-muted); margin-bottom:1.75rem; line-height:1.6; }
    .consulate-tabs { display:flex; gap:.4rem; flex-wrap:wrap; border-bottom:2px solid var(--border); margin-bottom:2rem; }
    .tab-btn { font-family:'DM Sans',sans-serif; font-size:.83rem; font-weight:500; padding:.55rem 1rem; border:none; background:none; color:var(--text-muted); cursor:pointer; border-bottom:3px solid transparent; margin-bottom:-2px; border-radius:var(--radius) var(--radius) 0 0; transition:color .15s,border-color .15s; white-space:nowrap; }
    .tab-btn:hover { color:var(--green); }
    .tab-btn.active { color:var(--green); border-bottom-color:var(--green); font-weight:600; }
    .stats-bar { display:flex; align-items:center; background:#fff; border:1px solid var(--border); border-radius:8px; padding:.9rem 1.5rem; margin-bottom:1.5rem; box-shadow:var(--shadow); flex-wrap:wrap; gap:.5rem; }
    .stat { text-align:center; padding:0 1.5rem; }
    .stat-value { display:block; font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:600; color:var(--green); line-height:1; }
    .stat-label { display:block; font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted); margin-top:.25rem; }
    .stat-divider { width:1px; height:40px; background:var(--border); }
    .filter-bar { display:flex; gap:.6rem; flex-wrap:wrap; margin-bottom:1.25rem; align-items:center; }
    .search-input { border:1px solid var(--border); border-radius:var(--radius); padding:.5rem .75rem; font-family:'DM Sans',sans-serif; font-size:.85rem; width:220px; background:#fff; }
    .search-input:focus { outline:none; border-color:var(--green-light); }
    .filter-select { border:1px solid var(--border); border-radius:var(--radius); padding:.5rem .7rem; font-family:'DM Sans',sans-serif; font-size:.85rem; background:#fff; color:var(--text); }
    .section-header { display:flex; align-items:center; gap:.75rem; margin:1.75rem 0 .6rem; }
    .section-title { font-family:'Cormorant Garamond',serif; font-size:1.3rem; font-weight:600; color:var(--green); }
    .section-count { background:var(--green); color:#fff; font-size:.72rem; font-weight:700; padding:.15rem .55rem; border-radius:99px; }
    .table-wrap { overflow-x:auto; border-radius:8px; border:1px solid var(--border); box-shadow:var(--shadow); }
    table { width:100%; border-collapse:collapse; background:#fff; }
    thead { background:var(--green); color:#fff; }

    /* ── Column-specific widths & padding ── */
    th { padding:.55rem .65rem; text-align:left; font-size:.73rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; user-select:none; }
    td { padding:.5rem .65rem;  border-bottom:1px solid var(--cream-dark); font-size:.84rem; vertical-align:middle; }

    /* Name — fixed width, consistent across all consulates */
    th.col-name, td.col-name { width:250px; min-width:250px; }

    /* Date columns — tighter horizontal padding to save space */
    th.col-date, td.col-date { padding-left:.4rem; padding-right:.4rem; white-space:nowrap; }

    /* Short columns */
    th.col-short, td.col-short { padding-left:.5rem; padding-right:.5rem; white-space:nowrap; }

    th.sortable { cursor:pointer; }
    th.sortable:hover { background:var(--green-mid); }
    th .sa { font-style:normal; opacity:.35; margin-left:.2em; }
    th.sort-asc  .sa { opacity:1; }
    th.sort-asc  .sa::after { content:'↑'; }
    th.sort-desc .sa { opacity:1; }
    th.sort-desc .sa::after { content:'↓'; }
    th:not(.sort-asc):not(.sort-desc) .sa::after { content:'↕'; }
    tr:last-child td { border-bottom:none; }
    tr:hover td { background:#faf9f6; }
    .badge { display:inline-block; font-size:.7rem; font-weight:600; padding:.18rem .5rem; border-radius:99px; white-space:nowrap; text-transform:uppercase; letter-spacing:.03em; }
    .badge-pending    { background:#fff3cd; color:#7a5c00; }
    .badge-recognized { background:#d4edda; color:#1a5c2e; }
    .badge-denied     { background:#f8d7da; color:var(--red); }
    .days-pill { font-size:.78rem; padding:.15rem .5rem; border-radius:99px; white-space:nowrap; }
    .days-pill.safe { background:#d4edda; color:#1a5c2e; }
    .days-pill.warn { background:#f8d7da; color:var(--red); font-weight:600; }
    .days-pill.done { background:var(--cream-dark); color:var(--text-muted); }
    .minor-badge { font-size:.7rem; font-weight:600; padding:.15rem .45rem; border-radius:99px; }
    .minor-yes { background:#f8d7da; color:var(--red); }
    .minor-no  { background:#d4edda; color:#1a5c2e; }
    .minor-unk { background:var(--cream-dark); color:var(--text-muted); }
    .share-banner { background:var(--cream-dark); border:1px solid var(--border); border-radius:var(--radius); padding:.5rem 1rem; font-size:.8rem; color:var(--text-muted); display:flex; align-items:center; gap:.6rem; margin-bottom:1rem; flex-wrap:wrap; }
    .share-banner a { color:var(--green); font-weight:600; }
    .loading-state { padding:3rem; text-align:center; color:var(--text-muted); }
    .loading-spinner { display:inline-block; width:28px; height:28px; border:3px solid var(--cream-dark); border-top-color:var(--green); border-radius:50%; animation:spin .7s linear infinite; margin-bottom:.75rem; }
    @keyframes spin { to { transform:rotate(360deg); } }
    .external-panel { background:#fff; border:1px solid var(--border); border-radius:8px; padding:3rem 2rem; text-align:center; box-shadow:var(--shadow); }
    .external-panel h2 { font-family:'Cormorant Garamond',serif; font-size:1.5rem; color:var(--green); margin-bottom:.75rem; }
    .external-panel p { color:var(--text-muted); font-size:.88rem; margin-bottom:1.5rem; line-height:1.6; max-width:460px; margin-left:auto; margin-right:auto; }
    .btn-external { display:inline-block; background:var(--green); color:#fff; padding:.6rem 1.4rem; border-radius:var(--radius); text-decoration:none; font-size:.85rem; font-weight:500; }
    .btn-external:hover { background:var(--green-mid); }
    footer { text-align:center; padding:2rem; font-size:.78rem; color:var(--text-muted); border-top:1px solid var(--border); line-height:1.8; }
    footer a { color:var(--text-muted); }
    @media (max-width:640px) {
      .hide-mobile { display:none; }
      main { padding:1rem 1rem 3rem; }
      .stat { padding:0 .75rem; }
      .stat-value { font-size:1.5rem; }
    }
