.club-competitors-table td,
.club-competitors-table th {
  font-size: 0.5rem !important;
  font-family: Arial, Helvetica, sans-serif !important;
  color: #1f2937 !important;
}

.club-competitors-table td:nth-child(1) {
  min-width: 38px;
  max-width: 44px;
  width: 5%;
  text-align: center;
  font-size: 0.93rem;
  padding: 7px 2px;
}

.club-competitors-table td:nth-child(2) {
  min-width: 160px;
  width: 38%;
  font-size: 1.13rem;
  font-weight: 700;
  padding: 9px 8px;
  white-space: normal;
}

.club-competitors-table td:nth-child(3) {
  min-width: 38px;
  width: 8%;
  text-align: center;
  font-size: 1.18rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #1f2937;
}

.club-competitors-table td:nth-child(4) {
  min-width: 90px;
  width: 16%;
  font-size: 1.13rem;
  font-weight: 700;
  padding: 9px 8px;
  color: #1f2937;
}

.club-competitors-table td:nth-child(6),
.club-competitors-table th:nth-child(6) {
  min-width: 38px;
  max-width: 48px;
  width: 7%;
  text-align: center;
  padding: 7px 2px;
}

.club-competitors-table td.table-action-icons {
  text-align: center;
  vertical-align: middle;
}

.club-competitors-table td.table-action-icons > div {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.official-license-num-text{
  font-size:.7rem !important;
  font-weight:600;
}
:root{
  --primary:#121826;
  --primary-2:#1f2937;
  --accent:#d62828;
  --accent-dark:#b71c1c;
  --bg:#f5f7fb;
  --card:#ffffff;
  --text:#1f2937;
  --muted:#6b7280;
  --border:#e5e7eb;
  --success:#16a34a;
  --warning:#d97706;
  --info:#2563eb;
  --shadow:0 10px 30px rgba(15,23,42,.08);
  --radius:18px;
  --page-max-width:1360px;
  --page-gutter:28px;
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

html.auth-session{
  font-size:112.5%;
}

body{
  margin:0;
  padding:0;
  font-family:Arial, Helvetica, sans-serif;
  font-size:16px;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}

img{
  max-width:100%;
  display:block;
}

a{
  text-decoration:none;
  color:inherit;
}

button,
input,
select{
  font:inherit;
}

.container{
  width:min(var(--page-max-width), 80%);
  max-width:none;
  margin:0 auto;
  padding-left:0;
  padding-right:0;
}

/* HEADER */
.topbar{
  background:linear-gradient(135deg, var(--primary), var(--primary-2));
  color:#fff;
  position:sticky;
  top:0;
  z-index:1000;
  box-shadow:0 4px 14px rgba(0,0,0,.12);
}

.topbar-inner{
  width:min(var(--page-max-width), 80%);
  max-width:none;
  margin:0 auto;
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  position:relative;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
  min-width:0;
  text-decoration:none;
}

.brand:visited,
.brand:hover,
.brand:focus,
.brand:active{
  color:#fff;
  text-decoration:none;
}

.brand-logo{
  width:52px;
  height:52px;
  object-fit:contain;
  border-radius:12px;
  background:rgba(255,255,255,.08);
  padding:4px;
}

.brand-text{
  min-width:0;
}

.brand-title{
  margin:0;
  font-size:1.12rem;
  font-weight:700;
  line-height:1.2;
}

.brand-subtitle{
  margin:2px 0 0;
  font-size:.94rem;
  color:rgba(255,255,255,.78);
}

.topbar .nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex:1 1 auto;
  gap:8px;
}

.topbar .nav a{
  padding:12px 15px;
  border-radius:12px;
  color:#fff;
  text-decoration:none;
  transition:.2s ease;
  font-weight:600;
  font-size:1.05rem;
}

.topbar .nav a:hover,
.topbar .nav a.active{
  background:rgba(255,255,255,.12);
  text-decoration:none;
}

.account-menu{
  position:relative;
}

.account-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  background:rgba(255,255,255,.10);
  color:#fff;
  cursor:pointer;
  font-weight:700;
}

.account-toggle:hover,
.account-menu.open .account-toggle{
  background:rgba(255,255,255,.16);
}

.account-avatar{
  width:42px;
  height:42px;
  border-radius:50%;
  object-fit:cover;
  border:2px solid rgba(255,255,255,.65);
  background:#fff;
}

.account-name{
  max-width:180px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.9rem;
}

.account-caret{
  font-size:.9rem;
}

.account-dropdown{
  display:none;
  position:absolute;
  left:0;
  right:auto;
  top:calc(100% + 10px);
  min-width:230px;
  padding:8px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 40px rgba(15,23,42,.18);
  z-index:1100;
}

.account-menu.open .account-dropdown{
  display:grid;
  gap:4px;
}

.topbar .nav .account-dropdown a{
  color:var(--text);
  border-radius:10px;
  padding:12px 14px;
  display:flex;
  justify-content:flex-start;
  text-align:left;
  font-size:1rem;
  font-weight:700;
  text-decoration:none;
}

.topbar .nav .account-dropdown a:hover{
  background:#f8fafc;
  text-decoration:none;
}

.menu-toggle{
  display:none;
  border:none;
  background:rgba(255,255,255,.12);
  color:#fff;
  width:42px;
  height:42px;
  border-radius:10px;
  cursor:pointer;
  font-size:1.2rem;
}

/* MAIN */
.page-content{
  padding:28px 0 44px;
}

 .page-hero{
  background:linear-gradient(135deg, #ffffff, #eef3fb);
  border:1px solid var(--border);
  border-radius:24px;
  padding:28px;
  box-shadow:var(--shadow);
  margin-bottom:24px;
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:24px;
  align-items:center;
}

.page-hero h1{
  margin:0 0 10px;
  font-size:clamp(2.4rem, 4vw, 3.5rem);
  line-height:1.15;
}

.page-hero p{
  margin:0;
  color:var(--muted);
  font-size:1.25rem;
}

.hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}

.hero-side{
  display:flex;
  justify-content:flex-end;
}

.hero-highlight{
  width:100%;
  max-width:280px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:20px;
  padding:18px;
  box-shadow:0 8px 24px rgba(15,23,42,.05);
}

.hero-highlight small{
  display:block;
  color:var(--muted);
  margin-bottom:8px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.hero-highlight strong{
  display:block;
  font-size:2rem;
  color:var(--accent);
  line-height:1.1;
}

.hero-highlight span{
  display:block;
  margin-top:8px;
  color:var(--muted);
} 

.hero-banner{
  position:relative;
  min-height:480px;
  border-radius:28px;
  overflow:hidden;
  margin-bottom:28px;
  background:
    linear-gradient(135deg, rgba(10,15,25,.35), rgba(10,15,25,.7)),
    url('../../assets/images/hero-motorsport.jpg') center center / cover no-repeat;
  box-shadow:0 18px 40px rgba(15,23,42,.18);
  display:flex;
  align-items:center;
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(8,12,20,.82) 0%, rgba(8,12,20,.58) 45%, rgba(8,12,20,.28) 100%);
}

.hero-content{
  position:relative;
  z-index:2;
  width:100%;
  padding:42px;
  display:grid;
  grid-template-columns:1.5fr .9fr;
  gap:24px;
  align-items:end;
}

.hero-text{
  color:#fff;
  max-width:760px;
}

.hero-kicker{
  display:inline-block;
  margin-bottom:14px;
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  border-radius:999px;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.hero-text h1{
  margin:0 0 14px;
  font-size:clamp(2rem, 4vw, 3.5rem);
  line-height:1.05;
  letter-spacing:-.02em;
}

.hero-text p{
  margin:0;
  max-width:680px;
  color:rgba(255,255,255,.88);
  font-size:1.12rem;
  line-height:1.7;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:24px;
}

.hero-outline{
  background:rgba(255,255,255,.08);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
}

.hero-outline:hover{
  background:rgba(255,255,255,.14);
}

.hero-stats-box{
  display:grid;
  gap:14px;
  align-self:center;
}

.hero-stat{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  border-radius:20px;
  padding:18px 18px;
  color:#fff;
}

.hero-stat small{
  display:block;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:rgba(255,255,255,.72);
  margin-bottom:8px;
  font-weight:700;
}

.hero-stat strong{
  display:block;
  font-size:2rem;
  line-height:1.1;
  color:#fff;
}

.hero-stat span{
  display:block;
  margin-top:6px;
  color:rgba(255,255,255,.82);
  font-size:.92rem;
}

@media (max-width: 992px){
  .hero-content{
    grid-template-columns:1fr;
    align-items:start;
  }

  .hero-stats-box{
    grid-template-columns:repeat(3, 1fr);
  }
}

@media (max-width: 768px){
  .hero-banner{
    min-height:auto;
  }

  .hero-content{
    padding:26px 20px;
  }

  .hero-stats-box{
    grid-template-columns:1fr;
  }

  .hero-text p{
    font-size:1.04rem;
  }
}

@media (max-width: 576px){
  .hero-text h1{
    font-size:1.9rem;
  }

  .hero-actions{
    flex-direction:column;
  }

  .hero-actions .btn{
    width:100%;
  }
}

/* BUTTONS */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:56px;
  padding:14px 20px;
  border-radius:10px;
  border:none;
  cursor:pointer;
  font-weight:700;
  font-size:1.0rem;
  transition:.2s ease;
}

.btn-primary{
  background:var(--accent);
  color:#fff;
}

.btn-primary:hover{
  background:var(--accent-dark);
}

.btn-outline{
  background:#fff;
  color:var(--text);
  border:1px solid var(--border);
}

.btn-outline:hover{
  background:#f9fafb;
}

/* CARDS */
.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:0 8px 24px rgba(15,23,42,.05);
}

.section-card{
  padding:22px;
  margin-bottom:24px;
}

.section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
}

.section-head h2,
.section-head h3{
  margin:0;
  font-size:1.55rem;
}

.section-head p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:1.14rem;
}

.sysadmin-section-head{
  align-items:flex-start;
  gap:14px;
}

.sysadmin-section-head h2{
  font-size:1.35rem;
  line-height:1.25;
  letter-spacing:normal;
  text-transform:none;
  margin:0;
}

.sysadmin-section-head .badge{
  align-self:flex-start;
  margin-top:2px;
}

/* STATS */
.stats-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:18px;
  margin-bottom:24px;
}

.stat-card{
  padding:22px;
  position:relative;
  overflow:hidden;
}

.stat-card::before{
  content:"";
  position:absolute;
  right:-28px;
  top:-28px;
  width:90px;
  height:90px;
  border-radius:50%;
  background:rgba(214,40,40,.08);
}

.stat-label{
  display:inline-block;
  color:var(--accent);
  font-size:1.02rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.stat-value{
  margin:10px 0 6px;
  font-size:2.2rem;
  font-weight:700;
  line-height:1.1;
  color:var(--primary);
}

.stat-help{
  margin:0;
  color:var(--muted);
  font-size:1.14rem;
}

/* DISCIPLINE BLOCKS */
.panel-grid{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:18px;
  margin-bottom:24px;
}

.mini-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

.mini-stat{
  background:#fafafa;
  border:1px solid var(--border);
  border-radius:14px;
  padding:18px;
  text-align:center;
}

.mini-stat strong{
  display:block;
  margin-bottom:8px;
  font-size:1.05rem;
}

.mini-stat span{
  display:block;
  font-size:1.7rem;
  font-weight:700;
  color:var(--accent);
}

.quick-actions{
  display:flex;
  flex-direction:column;
  gap:12px;
}

/* TABLE */
.table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.modern-table{
  width:100%;
  min-width:760px;
  border-collapse:collapse;
}

.modern-table th,
.modern-table td{
  padding:16px 14px;
  text-align:left;
  vertical-align:top;
  border-bottom:1px solid var(--border);
}

.modern-table thead th{
  background:#2d3a4a;
  color:#e8edf2;
  text-transform:uppercase;
  font-size:1.02rem;
  letter-spacing:.04em;
}

.modern-table tbody tr:hover{
  background:#fcfcfd;
}

.badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 10px;
  border-radius:999px;
  font-size:1.02rem;
  font-weight:700;
  white-space:nowrap;
}

.badge-next{
  background:#eff6ff;
  color:#1d4ed8;
}

.badge-pending{
  background:#fff7ed;
  color:#c2410c;
}

.badge-done{
  background:#f0fdf4;
  color:#15803d;
}

.year-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background:#fef2f2;
  color:var(--accent);
  border:1px solid #fecaca;
  font-size:.94rem;
  font-weight:700;
}

/* MOBILE EVENT CARDS */
.event-list-mobile{
  display:none;
  gap:14px;
}

.event-card{
  border:1px solid var(--border);
  border-radius:16px;
  padding:16px;
  background:#fff;
}

.event-date{
  color:var(--accent);
  font-size:.95rem;
  font-weight:700;
  margin-bottom:8px;
}

.event-card h4{
  margin:0 0 10px;
  font-size:1.12rem;
  line-height:1.35;
}

.event-card p{
  margin:6px 0;
  color:var(--muted);
  font-size:1rem;
}

/* FOOTER */
.footer{
  background:#fff;
  border-top:1px solid var(--border);
  padding:22px 0 28px;
  text-align:center;
  color:var(--muted);
  font-size:1.05rem;
}

.footer-portal-links{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 14px;
}

.footer-portal-links a{
  color:var(--accent);
  font-weight:700;
}

.footer-portal-links a:hover{
  color:var(--accent-dark);
  text-decoration:none;
}

.legal-page{
  max-width:920px;
  margin:0 auto 32px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:0 8px 24px rgba(15,23,42,.05);
  padding:34px;
  font-size:1.12rem;
}

.legal-page h1{
  margin:0 0 6px;
  font-size:2.3rem;
  line-height:1.15;
}

.legal-page h2{
  margin:34px 0 10px;
  padding-top:20px;
  border-top:1px solid var(--border);
  font-size:1.45rem;
}

.legal-page h3{
  margin:22px 0 8px;
  font-size:1.18rem;
}

.legal-page p{
  margin:0 0 14px;
}

.legal-page ul{
  margin:0 0 18px 24px;
  padding:0;
}

.legal-page li{
  margin-bottom:6px;
}

.legal-page a{
  color:var(--accent);
  font-weight:700;
}

.legal-effective{
  color:var(--muted);
  font-size:1rem;
}

/* LEGACY PAGES */
.legacy-page > section:not(.auth-shell):not(.dashboard-shell),
.legacy-page > form,
.legacy-page > div:not(.legacy-header):not(.loader){
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:0 8px 24px rgba(15,23,42,.05);
  padding:22px;
  margin-bottom:24px;
}

.legacy-page .row > [class*="col-"][style*="background-color"]{
  border-radius:14px;
  box-shadow:0 8px 24px rgba(15,23,42,.05);
}

.legacy-page h1,
.legacy-page h2,
.legacy-page h3,
.legacy-page h4{
  color:var(--text);
}

.legacy-page{
  font-size:1.0625rem;
}

.legacy-page table{
  background:#fff;
}

.legacy-page .table-responsive{
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  overflow-x:auto;
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}

.legacy-page .table-responsive > .table{
  margin-bottom:0;
}

.legacy-page .table > thead > tr > th,
.legacy-page .table > thead > tr > td{
  background:#f8fafc;
  color:var(--muted);
  border-bottom:1px solid var(--border);
  font-size:1rem;
  font-weight:700;
  text-transform:uppercase;
}

.legacy-page .table > tbody > tr > td,
.legacy-page .table > tbody > tr > th,
.legacy-page td,
.legacy-page th{
  font-size:1.05rem;
}

.legacy-page .table > tbody > tr > td,
.legacy-page .table > tbody > tr > th{
  border-top:1px solid var(--border);
}

.legacy-page input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
.legacy-page select,
.legacy-page textarea{
  border:1px solid var(--border);
  border-radius:10px;
  min-height:48px;
  padding:10px 12px;
  color:var(--text);
}

.legacy-page input:focus,
.legacy-page select:focus,
.legacy-page textarea:focus{
  outline:none;
  border-color:#94a3b8;
  box-shadow:0 0 0 3px rgba(148,163,184,.14);
}

.legacy-page button,
.legacy-page input[type="submit"],
.legacy-page input[type="button"],
.legacy-page .buttonlink{
  border-radius:10px;
  min-height:44px;
  padding:10px 14px;
  font-size:1rem;
}

.legacy-page [style*="font-size: 11px"],
.legacy-page [style*="font-size:11px"],
.legacy-page [style*="font-size: 12px"],
.legacy-page [style*="font-size:12px"]{
  font-size:1rem !important;
}

/* FORMS - READY FOR REGISTRATION/LOGIN */
.auth-shell{
  display:flex;
  justify-content:center;
  align-items:flex-start;
  padding:30px 0 48px;
}

.auth-card{
  width:min(480px, 100%);
  padding:28px;
}

.login-shell{
  min-height:calc(100vh - 170px);
  align-items:center;
}

.login-card{
  width:min(520px, 100%);
  padding:34px;
  font-size:1.3rem;
}

.alert{
  padding:14px 16px;
  border-radius:12px;
  margin-bottom:18px;
  font-size:1.05rem;
  border:1px solid transparent;
}

.alert-success{
  background:#f0fdf4;
  color:#166534;
  border-color:#bbf7d0;
}

.alert-error{
  background:#fef2f2;
  color:#991b1b;
  border-color:#fecaca;
}

.auth-card.auth-wide{
  width:min(920px, 100%);
}

.auth-header{
  text-align:center;
  margin-bottom:24px;
}

.auth-header h1{
  margin:0 0 8px;
  font-size:2.8rem;
}

.auth-header p{
  margin:0;
  color:var(--muted);
  font-size:1.3rem;
}

.auth-brand{
  width:82px;
  margin:0 auto 16px;
}

.auth-form{
  display:grid;
  gap:20px;
}

.form-section{
  background:#fbfcfe;
  border:1px solid var(--border);
  border-radius:16px;
  padding:18px;
}

.form-section h3{
  margin:0 0 14px;
  font-size:1.15rem;
}

.form-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:16px;
}

.form-group{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.form-group.full{
  grid-column:1 / -1;
}

.form-group label{
  font-weight:700;
  font-size:1.3rem;
}

.form-group input,
.form-group select,
.form-group textarea{
  width:100%;
  min-height:66px;
  padding:17px 18px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  color:var(--text);
  outline:none;
  font-size:1.28rem;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  border-color:#94a3b8;
  box-shadow:0 0 0 4px rgba(148,163,184,.15);
}

.form-group small{
  color:#1d4ed8;
  font-size:10px;
  font-style:italic;
  line-height:1.2;
}

.role-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:12px;
}

.radio-card{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:52px;
  padding:14px 15px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:12px;
  cursor:pointer;
  font-size:1.05rem;
}

.btn-block{
  width:100%;
}

.password-field{
  display:flex;
  align-items:center;
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}

.password-field input{
  border:none !important;
  box-shadow:none !important;
  flex:1;
}

.toggle-pass{
  border:none;
  background:#f3f4f6;
  min-width:64px;
  height:66px;
  cursor:pointer;
  font-weight:700;
}

.auth-links{
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

.auth-links.login-links{
  justify-content:center;
  margin-top:18px;
}

.auth-links.password-help-link{
  justify-content:flex-start;
  margin-top:8px;
  font-size:1rem;
}

.auth-links a,
.auth-alt a{
  color:var(--accent);
  font-weight:700;
}

.auth-alt{
  margin:0;
  text-align:center;
  color:var(--muted);
}

.portal-note{
  margin-top:22px;
  padding:16px;
  border:1px solid #fecaca;
  border-radius:14px;
  background:#fff7f7;
  text-align:center;
}

.portal-note strong{
  display:block;
  color:var(--accent);
  margin-bottom:6px;
}

.portal-note p{
  margin:0 0 10px;
  color:var(--muted);
}

.portal-note a{
  color:var(--accent);
  font-weight:700;
}

/* DASHBOARD */
.dashboard-shell{
  display:block;
  font-size:1.0625rem;
}

.dashboard-hero{
  margin-bottom:24px;
}

.dashboard-shell:not(.official-dashboard) .dashboard-hero h1{
  font-size:2rem;
  font-weight:700;
  line-height:1.15;
}

.dashboard-shell:not(.official-dashboard) .dashboard-hero p,
.dashboard-shell:not(.official-dashboard) .member-details span{
  font-size:.95rem;
  line-height:1.5;
}

.dashboard-shell:not(.official-dashboard) .year-select-form label{
  font-size:.78rem;
  font-weight:700;
}

.dashboard-shell:not(.official-dashboard) .year-select-form select{
  min-height:52px;
  font-size:1rem;
  font-weight:700;
}

.year-select-form{
  display:grid;
  gap:8px;
}

.year-select-form label{
  color:var(--muted);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:1.18rem;
}

.year-select-form select{
  width:100%;
  min-height:68px;
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px 14px;
  color:var(--text);
  background:#fff;
  font-weight:800;
  font-size:1.7rem;
}

.member-details{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.member-details span{
  display:inline-flex;
  gap:6px;
  align-items:center;
  padding:10px 13px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--border);
  color:var(--muted);
  font-size:1.28rem;
}

.member-details strong{
  color:var(--text);
}

.dashboard-actions{
  display:flex;
  flex-wrap:nowrap;
  gap:12px;
  align-items:center;
  overflow-x:auto;
}

.dashboard-actions .btn{
  min-width:auto;
  min-height:44px;
  padding:10px 12px;
  font-size:.9rem !important;
  white-space:nowrap;
  line-height:1.2;
}

.dashboard-actions .btn-license-status{
  background:#2563eb;
  color:#fff;
  border:1px solid #1d4ed8;
}

.dashboard-actions .btn-license-status:hover{
  background:#1d4ed8;
  color:#fff;
}

.dashboard-actions .btn-official-area{
  background:#16a34a;
  color:#fff;
  border:1px solid #15803d;
}

.dashboard-actions .btn-official-area:hover{
  background:#15803d;
  color:#fff;
}

.dashboard-actions .btn-edit-biodata{
  background:#0f766e;
  color:#fff;
  border:1px solid #0f766e;
}

.dashboard-actions .btn-edit-biodata:hover{
  background:#115e59;
  color:#fff;
}

.dashboard-actions .btn-apply-license{
  background:#16a34a;
  color:#fff;
  border:1px solid #15803d;
}

.dashboard-actions .btn-apply-license:hover{
  background:#15803d;
  color:#fff;
}

.dashboard-actions .btn-update-profile{
  background:#d97706;
  color:#fff;
  border:1px solid #b45309;
}

.dashboard-actions .btn-update-profile:hover{
  background:#b45309;
  color:#fff;
}

.dashboard-note{
  margin:16px 0 0;
  color:var(--warning);
  font-weight:700;
}

.dashboard-table-wrap{
  display:block;
  margin-top:14px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
}

.dashboard-license-table{
  min-width:760px;
}

.member-license-table{
  table-layout:fixed;
}

.member-license-table th,
.member-license-table td{
  vertical-align:middle;
}

.member-license-table-basic .dashboard-license-col-license{
  width:24%;
}

.member-license-table-basic .dashboard-license-col-year{
  width:7%;
  text-align:center;
}

.member-license-table .dashboard-license-col-status,
.member-license-table .dashboard-license-col-payment,
.member-license-table .dashboard-license-col-next,
.member-license-table .dashboard-license-col-action{
  text-align:center;
}

.member-license-table-basic .dashboard-license-col-status{
  width:11%;
}

.member-license-table-basic .dashboard-license-col-payment{
  width:12%;
}

.member-license-table-basic .dashboard-license-col-next{
  width:12%;
}

.member-license-table-basic .dashboard-license-col-action{
  width:12%;
}

.member-license-table-with-competitor .dashboard-license-col-competitor{
  width:16%;
}

.member-license-table-with-competitor .dashboard-license-col-license{
  width:20%;
}

.member-license-table-with-competitor .dashboard-license-col-year{
  width:6%;
  text-align:center;
}

.member-license-table-with-competitor .dashboard-license-col-status{
  width:10%;
}

.member-license-table-with-competitor .dashboard-license-col-payment{
  width:11%;
}

.member-license-table-with-competitor .dashboard-license-col-next{
  width:9%;
}

.member-license-table-with-competitor .dashboard-license-col-action{
  width:8%;
}

.member-license-table .table-action-icons{
  justify-content:center;
}

.dashboard-license-table th,
.dashboard-license-table td{
  font-size:1.26rem;
}

.muted-text{
  color:var(--muted);
  font-size:.9rem;
}

.dashboard-badge-date{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:.78rem;
  font-weight:700;
  line-height:1.2;
}

.badge-stop{
  background:#fef2f2;
  color:#b91c1c;
}

.empty-state{
  margin:0;
  color:var(--muted);
  font-size:1.14rem;
}

.license-empty-state{
  color:#b91c1c;
  font-weight:600;
  font-size:.9rem;
  font-style:italic;
}

.inline-action{
  color:var(--accent);
  font-weight:700;
}

.icon-action-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border:1px solid var(--border);
  border-radius:12px;
  color:var(--accent);
  background:#fff;
  flex:0 0 auto;
}

.icon-action-link:hover{
  background:#fef2f2;
}

.action-eye-icon{
  width:24px;
  height:24px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.competitor-status-list{
  display:grid;
  gap:16px;
}

.competitor-status-card{
  border:1px solid var(--border);
  border-radius:16px;
  padding:26px;
  background:#fbfcfe;
}

.competitor-status-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
}

.competitor-status-head h3,
.official-list-block h3{
  margin:0 0 4px;
  font-size:1.25rem;
}

.competitor-status-head p{
  margin:0;
  color:var(--muted);
  font-size:.95rem;
}

.dashboard-competitor-person{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}

.dashboard-competitor-person img{
  width:78px;
  height:78px;
  object-fit:cover;
  border-radius:50%;
  border:2px solid var(--border);
  background:#f8fafc;
  flex:0 0 auto;
}

.dashboard-table-person{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:190px;
  font-size:.95rem;
}

.dashboard-table-person img{
  width:54px;
  height:54px;
  object-fit:cover;
  border-radius:50%;
  border:2px solid var(--border);
  background:#f8fafc;
  flex:0 0 auto;
}

.dashboard-table-tools{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  margin:0 0 14px;
  flex-wrap:wrap;
}

.dashboard-table-tools label{
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:1.08rem;
  font-weight:700;
}

.dashboard-table-tools input,
.dashboard-table-tools select{
  min-height:46px;
  border:1px solid var(--border);
  border-radius:10px;
  padding:8px 12px;
  background:#fff;
  color:var(--text);
  font-size:1.08rem;
  font-weight:400;
}

.dashboard-table-tools input{
  min-width:320px;
}

.dashboard-table-tools input[type="search"]{
  -webkit-appearance:none;
  appearance:none;
  padding-left:50px !important;
  padding-right:12px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23738394' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:16px center;
  background-size:18px 18px;
}

.dashboard-table-tools input[type="search"]::placeholder{
  font-weight:400 !important;
  opacity:1;
  color:var(--muted);
}

.dashboard-table-tools input[type="search"]::-webkit-search-decoration,
.dashboard-table-tools input[type="search"]::-webkit-search-cancel-button{
  -webkit-appearance:none;
}

.sortable-heading{
  cursor:pointer;
  user-select:none;
  position:relative;
}

.sortable-heading.sort-asc,
.sortable-heading.sort-desc {
  background-color: rgba(0, 86, 179, 0.1);
  font-weight: 600;
}

.sortable-heading.sort-asc::after{
  content:" ▲";
  font-size: 0.75em;
  color: #0056b3;
}

.sortable-heading.sort-desc::after{
  content:" ▼";
  font-size: 0.75em;
  color: #0056b3;
}

/* STATS */

.table-pager{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:12px;
  margin-top:12px;
  color:var(--muted);
  font-size:1.08rem;
  font-weight:700;
}

.table-pager button{
  min-height:42px;
  border:1px solid var(--border);
  border-radius:10px;
  padding:8px 14px;
  background:#fff;
  color:var(--text);
  font-weight:800;
  cursor:pointer;
}

.table-pager button:hover:not(:disabled){
  background:#f8fafc;
}

.table-pager button:disabled{
  cursor:not-allowed;
  opacity:.45;
}

.admin-action-icon .admin-icon-svg{
  width:22px;
  height:22px;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  fill:none;
}

.admin-action-activate{
  color:var(--success);
}

.admin-action-deactivate{
  color:var(--accent);
}

.admin-action-competitors{
  color:#0f766e;
}

.compact-actions{
  justify-content:flex-end;
}

.compact-actions .btn{
  min-width:auto;
  min-height:44px;
  padding:10px 12px;
  font-size:.9rem !important;
  white-space:nowrap;
}

.badge-process{
  background:#fee2e2;
  color:#b91c1c;
  border:1px solid #fecaca;
}

.print-license-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
}

.print-license-link img{
  width:28px;
  height:28px;
  object-fit:contain;
}

.table-action-icons{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:nowrap;
}

.dashboard-modal{
  position:fixed;
  inset:0;
  z-index:1200;
  background:rgba(15, 23, 42, .5);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.dashboard-modal[hidden]{
  display:none !important;
}

.dashboard-modal-dialog{
  width:min(980px, 100%);
  max-height:90vh;
  overflow:auto;
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:0 24px 64px rgba(15, 23, 42, .25);
}

.dashboard-modal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 18px;
  border-bottom:1px solid var(--border);
}

.dashboard-modal-header h3{
  margin:0;
  font-size:1.15rem;
}

.dashboard-modal-close{
  width:40px;
  height:40px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fff;
  color:var(--text);
  font-size:0;
  line-height:0;
  cursor:pointer;
}

.dashboard-modal-close-icon{
  width:20px;
  height:20px;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  fill:none;
}

.dashboard-modal-close:hover{
  background:#f8fafc;
}

.dashboard-modal-body{
  padding:16px;
}

body.dashboard-modal-open{
  overflow:hidden;
}

.btn-icon-only{
  width:46px;
  min-width:46px;
  padding:0;
}

.official-export-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}

.official-export-btn{
  min-height:46px;
}

.official-export-excel{
  color:#15803d;
}

.official-export-pdf{
  color:#b91c1c;
}

.button-icon{
  width:22px;
  height:22px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.has-auto-button-icon:not(input){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.auto-button-icon{
  width:1.15em;
  height:1.15em;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

input.has-auto-button-icon[type="submit"],
input.has-auto-button-icon[type="button"]{
  background-repeat:no-repeat !important;
  background-position:14px center !important;
  background-size:1.1em 1.1em !important;
  padding-left:42px !important;
}

.license-status-shell{
  font-size:1.0625rem;
}

.license-status-shell .section-head .btn,
.license-status-shell .dashboard-actions .btn,
.license-status-shell .compact-actions .btn{
  min-height:44px;
  padding:10px 12px;
  font-size:.9rem !important;
  line-height:1.2;
  white-space:nowrap;
}

.license-status-shell .dashboard-actions,
.license-status-shell .compact-actions{
  flex-wrap:nowrap;
  overflow-x:auto;
}

.license-status-shell .competitor-status-head h3{
  font-size:1.25rem;
}

.license-status-shell .competitor-status-head p{
  font-size:.95rem;
}

.license-status-shell .license-empty-state{
  font-size:.9rem;
  font-style:italic;
}

.license-status-shell .table-action-icons .icon-action-link,
.license-status-shell .table-action-icons .print-license-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  padding:0 !important;
  border-radius:10px !important;
  border:1px solid var(--border) !important;
  background:#fff !important;
  color:var(--accent) !important;
  text-decoration:none !important;
}

.license-status-shell .table-action-icons .icon-action-link:hover,
.license-status-shell .table-action-icons .print-license-link:hover{
  background:#f8fafc !important;
  border-color:#cbd5e1 !important;
}

.license-status-shell .table-action-icons .icon-action-link img,
.license-status-shell .table-action-icons .print-license-link img{
  width:22px !important;
  height:22px !important;
  object-fit:contain;
}

.license-status-shell .table-action-icons{
  justify-content:flex-start;
}

.license-status-shell .table-action-icons .muted-text{
  font-size:.85rem;
  font-style:italic;
}

.license-status-shell .table-action-icons .btn-status-action{
  min-height:36px !important;
  padding:6px 10px !important;
  border-radius:8px !important;
  font-size:.82rem !important;
  font-weight:700;
  line-height:1.15;
  white-space:nowrap;
}

.license-status-shell .btn-status-action.btn-outline{
  background:#fff !important;
  color:var(--text) !important;
  border:1px solid var(--border) !important;
}

.license-status-shell .table-action-icons .btn-status-action.btn-outline:hover{
  background:#f8fafc !important;
  border-color:#cbd5e1 !important;
}

.license-status-shell .btn-status-edit{
  background:#0f766e !important;
  color:#fff !important;
  border:1px solid #0f766e !important;
}

.license-status-shell .btn-status-edit:hover{
  background:#115e59 !important;
  color:#fff !important;
  border-color:#115e59 !important;
}

.license-status-shell .btn-status-apply{
  background:#16a34a !important;
  color:#fff !important;
  border:1px solid #15803d !important;
}

.license-status-shell .btn-status-apply:hover{
  background:#15803d !important;
  color:#fff !important;
  border-color:#15803d !important;
}

.license-status-card{
  background:#fff;
}

.license-status-head{
  align-items:center;
}

.license-status-person{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}

.license-status-person img{
  width:74px;
  height:74px;
  object-fit:cover;
  border-radius:14px;
  border:1px solid var(--border);
  background:#f8fafc;
  flex:0 0 auto;
}

.license-status-table{
  min-width:860px;
}

.icon-action-link img{
  width:28px;
  height:28px;
  object-fit:contain;
}

.bioform-shell{
  font-size:1.2rem;
}

.bioform .form-section{
  padding:18px;
}

.bioform .bio-row{
  display:grid;
  gap:14px;
  margin-bottom:16px;
}

.bioform .bio-row:last-child{
  margin-bottom:0;
}

.bioform .bio-row-three{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.bioform .bio-row-single{
  grid-template-columns:minmax(0, 1fr);
  max-width:33%;
}

.bioform .form-group{
  gap:6px;
}

.bioform .form-group label{
  font-size:1.04rem;
}

.bioform .form-group input,
.bioform .form-group select,
.bioform .form-group textarea{
  min-height:48px;
  padding:10px 12px;
  border-radius:10px;
  font-size:1rem;
}

.bioform-photo-row{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:22px;
  align-items:center;
}

.bioform-photo{
  width:160px;
  height:160px;
  border-radius:50%;
  overflow:hidden;
  border:2px solid var(--border);
  background:#f8fafc;
}

.bioform-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.application-shell .form-section{
  padding:20px;
}

.application-row,
.application-upload-grid{
  display:grid;
  gap:16px;
}

.application-row{
  margin-bottom:16px;
}

.application-row:last-child{
  margin-bottom:0;
}

.application-row-four{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

.application-row-three{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.application-shell .form-group label{
  white-space:nowrap;
  font-size:.98rem;
}

.application-shell .form-group input:disabled{
  background:#f3f4f6;
  color:var(--muted);
  cursor:not-allowed;
}

.application-shell .btn:disabled{
  opacity:.55;
  cursor:not-allowed;
  filter:grayscale(.2);
}

.application-upload-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.form-section-note{
  margin:0 0 16px;
  color:var(--muted);
  font-size:1.05rem;
}

.application-upload-card{
  display:grid;
  gap:8px;
  padding:16px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
}

.application-upload-card label{
  font-weight:800;
  font-size:1.08rem;
}

.application-upload-card input[type="file"]{
  width:100%;
  min-height:48px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#f8fafc;
  font-size:1rem;
}

.application-upload-card small,
.application-upload-status{
  color:var(--muted);
  font-size:.98rem;
}

.application-attachment-preview{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:104px;
  padding:10px;
  border:1px dashed var(--border);
  border-radius:10px;
  background:#f8fafc;
  overflow:hidden;
}

.application-attachment-preview img{
  width:92px;
  height:82px;
  border-radius:8px;
  object-fit:cover;
  border:1px solid var(--border);
  background:#fff;
}

.pdf-preview{
  display:grid;
  place-items:center;
  width:72px;
  height:82px;
  border-radius:8px;
  background:#fee2e2;
  color:#991b1b;
  font-weight:900;
  border:1px solid #fecaca;
  flex:0 0 auto;
}

.application-progress{
  display:none;
  margin-top:18px;
  padding:14px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  color:var(--muted);
  font-weight:700;
}

.application-progress.is-visible{
  display:grid;
  gap:8px;
}

.application-progress-track{
  height:12px;
  overflow:hidden;
  border-radius:999px;
  background:#e5e7eb;
}

.application-progress-bar{
  width:0;
  height:100%;
  border-radius:999px;
  background:var(--success);
  transition:width .2s ease;
}

.application-upload-status a,
.agreement-links a{
  color:var(--accent);
  font-weight:800;
}

.agreement-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:16px;
}

.agreement-checks{
  display:grid;
  gap:10px;
  width:100%;
}

.check-row{
  display:flex;
  align-items:center;
  gap:12px;
  margin:12px 0 0;
  padding:14px;
  width:100%;
  max-width:100%;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  cursor:pointer;
  font-weight:700;
  overflow:hidden;
}

.check-row span{
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:1rem;
  line-height:1.25;
}

.check-row input{
  width:22px;
  height:22px;
  margin:0;
  flex:0 0 auto;
}

.phone-input{
  display:flex;
  align-items:stretch;
  min-height:48px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}

.phone-input select,
.phone-input input{
  min-width:0;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent;
}

.phone-input select{
  width:128px;
  flex:0 0 128px;
  border-right:1px solid var(--border) !important;
}

.phone-input input{
  flex:1 1 auto;
}

.upload-status{
  display:none;
  margin-top:10px;
  padding:10px 12px;
  border-radius:10px;
  background:#eff6ff;
  color:#1d4ed8;
  font-weight:700;
}

.upload-status.is-visible{
  display:block;
}

.upload-iframe{
  width:1px;
  height:1px;
  border:0;
  position:absolute;
  left:-9999px;
}

@media (max-width: 768px){
  .bioform .bio-row-three,
  .bioform .bio-row-single{
    grid-template-columns:1fr;
    max-width:none;
  }

  .application-row,
  .application-upload-grid{
    grid-template-columns:1fr;
  }

  .bioform-photo-row{
    grid-template-columns:1fr;
  }

  .bioform-photo{
    width:140px;
    height:140px;
  }

  .phone-input select{
    width:118px;
    flex-basis:118px;
  }
}

.official-list-block{
  margin-top:18px;
}

/* RESPONSIVE */
@media (max-width: 992px){
  .stats-grid{
    grid-template-columns:repeat(2, 1fr);
  }

  .panel-grid{
    grid-template-columns:1fr;
  }

  .page-hero{
    grid-template-columns:1fr;
  }

  .hero-side{
    padding-top: 5px;
    padding-bottom: 5px;
    justify-content:flex-start;
  }
}

@media (max-width: 768px){
  :root{
    --page-gutter:22px;
  }

  body{
    font-size:16px;
  }

  .container{
    width:min(var(--page-max-width), calc(100% - var(--page-gutter)));
  }

  .topbar-inner{
    width:min(var(--page-max-width), calc(100% - var(--page-gutter)));
  }

  .menu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    font-size:1.35rem;
  }

  .topbar .nav{
    display:none;
    position:absolute;
    top:74px;
    left:0;
    right:0;
    background:var(--primary);
    padding:14px 16px 18px;
    flex-direction:column;
    align-items:stretch;
    border-top:1px solid rgba(255,255,255,.08);
  }

  .topbar .nav.show{
    display:flex;
  }

  .topbar .nav a{
    width:100%;
    min-height:50px;
    display:flex;
    align-items:center;
  }

  .account-menu{
    width:100%;
  }

  .account-toggle{
    width:100%;
    justify-content:space-between;
  }

  .account-name{
    max-width:none;
    flex:1;
    text-align:left;
    font-size:.95rem;
  }

  .account-dropdown{
    position:static;
    margin-top:8px;
    box-shadow:none;
    border-color:rgba(255,255,255,.16);
  }

  .table-wrap{
    display:block;
    overflow-x:auto;
    border-radius:12px;
  }

  .dashboard-table-wrap{
    display:block;
  }

  .event-list-mobile{
    display:grid;
  }

  .form-grid,
  .role-grid{
    grid-template-columns:1fr;
  }

  .section-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .section-head .btn{
    width:100%;
  }

  .dashboard-actions .btn{
    width:100%;
    min-width:0;
  }

  .modern-table th,
  .modern-table td{
    padding:18px 14px;
  }

  .dashboard-table-tools{
    align-items:stretch;
  }

  .dashboard-table-tools label,
  .dashboard-table-tools input,
  .dashboard-table-tools select{
    width:100%;
    min-width:0;
  }

  .table-pager{
    justify-content:center;
    flex-wrap:wrap;
  }
}

@media (max-width: 576px){
  :root{
    --page-gutter:18px;
  }

  .container{
    width:min(var(--page-max-width), calc(100% - var(--page-gutter)));
  }

  .topbar-inner{
    width:min(var(--page-max-width), calc(100% - var(--page-gutter)));
  }

  .page-content{
    padding-top:16px;
  }

  .page-hero,
  .section-card,
  .stat-card,
  .auth-card{
    padding:18px 16px;
  }

  .stats-grid,
  .mini-stats{
    grid-template-columns:1fr;
  }

  .brand-title{
    font-size:1.06rem;
  }

  .brand-subtitle{
    font-size:.9rem;
  }

  .hero-actions{
    flex-direction:column;
  }

  .hero-actions .btn{
    width:100%;
  }

  .page-hero h1{
    font-size:2.4rem;
  }

  .section-head h2,
  .section-head h3{
    font-size:1.8rem;
  }

  .auth-header h1{
    font-size:2.45rem;
  }

  .login-card{
    padding:24px 18px;
  }

  .competitor-status-head{
    flex-direction:column;
  }

  .compact-actions{
    justify-content:flex-start;
  }
}

.check-card{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:52px;
  padding:14px 15px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:12px;
  cursor:pointer;
  font-size:1.05rem;

  flex-direction:row; /* IMPORTANT */
}

.check-card input{
  display:inline-block !important; /* FORCE inline */
  width:18px;
  height:18px;
  margin:0;
  flex-shrink:0;
}

.check-card span{
  display:inline-block;
}

.inline-error{
  margin-top:10px;
  padding:10px 12px;
  border-radius:10px;
  background:#fef2f2;
  border:1px solid #fecaca;
  color:#991b1b;
  font-size:.9rem;
}

input[type="checkbox"]{
  width:auto;
}

.role-grid-checkboxes .check-card{
  display:flex;
  align-items:center;
  flex-direction:row;
  gap:10px;
  min-height:52px;
  padding:14px 15px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:12px;
  cursor:pointer;
  transition:.2s ease;
}

.role-grid-checkboxes .check-card input[type="checkbox"]{
  width:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  height:18px !important;
  min-height:18px !important;
  display:inline-block !important;
  vertical-align:middle !important;
  margin:0 !important;
  padding:0 !important;
  flex:0 0 18px !important;
  accent-color:var(--accent);
}

.role-grid-checkboxes .check-card span{
  display:inline-block !important;
  width:auto !important;
  line-height:1.3;
}

.icon-pass{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:52px;
  padding:0;
  font-size:1.1rem;
  background:#f3f4f6;
}

.eye-icon{
  width:22px;
  height:22px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.login-eye-hidden{
  display:none;
}

.official-eye-hidden{
  display:none;
}

.icon-pass.is-visible .login-eye-visible{
  display:none;
}

.icon-pass.is-visible .login-eye-hidden{
  display:block;
}

.icon-pass.is-visible .official-eye-visible{
  display:none;
}

.icon-pass.is-visible .official-eye-hidden{
  display:block;
}

.official-dashboard .official-table-wrap{
  overflow-x:auto;
}

.official-dashboard,
.official-dashboard button,
.official-dashboard input,
.official-dashboard select,
.official-dashboard textarea,
.official-dashboard table,
.official-dashboard caption,
.official-dashboard th,
.official-dashboard td,
.official-dashboard a{
  font-family:var(--portal-font-family) !important;
}

.official-dashboard{
  font-size:1rem !important;
  color:var(--text);
}

.official-dashboard .official-hero h1{
  font-size:2rem !important;
  font-weight:700;
  line-height:1.15;
}

.official-dashboard .official-hero p,
.official-dashboard .member-details span,
.official-dashboard .section-head p{
  font-size:.95rem !important;
  line-height:1.5;
}

.official-dashboard .section-head h2{
  font-size:1.25rem !important;
  font-weight:700;
}

.official-dashboard .stat-label{
  font-size:.78rem !important;
  font-weight:700;
}

.official-dashboard .stat-value{
  font-size:2rem !important;
  font-weight:700;
}

.official-dashboard .stat-help{
  font-size:.95rem !important;
}

.official-dashboard .official-year-form label{
  font-size:.78rem !important;
  font-weight:700;
}

.official-dashboard .official-year-form select{
  font-size:1rem !important;
  font-weight:700;
}

.official-license-table{
  min-width:980px;
  width:100%;
  table-layout:fixed;
  border-collapse:collapse;
  margin:0;
}

.official-main-license-table{
  min-width:1120px;
}

.official-license-table th:nth-child(1),
.official-license-table td:nth-child(1):not([colspan]){
  width:13% !important;
  text-align:center;
}

.official-license-table th:nth-child(2),
.official-license-table td:nth-child(2){
  width:12% !important;
}

.official-license-table th:nth-child(3),
.official-license-table td:nth-child(3){
  width:20% !important;
}

.official-license-table th:nth-child(5),
.official-license-table td:nth-child(5):not([colspan]),
.official-license-table th:nth-child(6),
.official-license-table td:nth-child(6):not([colspan]),
.official-license-table th:nth-child(7),
.official-license-table td:nth-child(7):not([colspan]),
.official-license-table th:nth-child(8),
.official-license-table td:nth-child(8):not([colspan]){
  width:10% !important;
  text-align:center;
}

.official-main-license-table th:nth-child(1),
.official-main-license-table td:nth-child(1):not([colspan]){
  width:7% !important;
  text-align:center;
}

.official-main-license-table th:nth-child(2),
.official-main-license-table td:nth-child(2):not([colspan]){
  width:12% !important;
  text-align:center;
}

.official-main-license-table th:nth-child(3),
.official-main-license-table td:nth-child(3):not([colspan]){
  width:10% !important;
}

.official-main-license-table th:nth-child(4),
.official-main-license-table td:nth-child(4):not([colspan]){
  width:14% !important;
}

.official-main-license-table th:nth-child(5),
.official-main-license-table td:nth-child(5):not([colspan]){
  width:8% !important;
  text-align:center;
}

.official-main-license-table th:nth-child(6),
.official-main-license-table td:nth-child(6):not([colspan]),
.official-main-license-table th:nth-child(7),
.official-main-license-table td:nth-child(7):not([colspan]),
.official-main-license-table th:nth-child(8),
.official-main-license-table td:nth-child(8):not([colspan]),
.official-main-license-table th:nth-child(9),
.official-main-license-table td:nth-child(9):not([colspan]){
  width:9% !important;
  text-align:center;
}

.official-main-license-table th:nth-child(10),
.official-main-license-table td:nth-child(10):not([colspan]){
  width:8% !important;
  text-align:center;
}

.official-license-table td[colspan]{
  text-align:left !important;
}

.official-name-main{
  display:inline-block;
  white-space:nowrap;
}

.official-name-surname{
  display:inline-block;
}

.official-license-table caption{
  caption-side:top;
  padding:12px 0;
  color:var(--muted);
  font-size:.95rem !important;
  font-weight:700;
  line-height:1.45;
  text-align:left;
}

.official-license-table caption a{
  font-size:.95rem !important;
  font-weight:700;
}

.official-license-table th{
  background:#334155;
  color:#ffffff !important;
  font-size:.85rem !important;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  vertical-align:top;
  padding:8px 6px;
  word-wrap:break-word;
}

.official-license-table td{
  color:var(--text);
  font-size:.75rem !important;
  vertical-align:top;
}

.official-license-table td:nth-child(2),
.official-main-license-table td:nth-child(3),
.official-main-license-table td:nth-child(4),
.official-main-license-table td:nth-child(5){
  font-size:.82rem !important;
  line-height:1.28;
  letter-spacing:0;
  vertical-align:middle;
}

.official-main-license-table td:nth-child(5):not([colspan]){
  font-size:.82rem !important;
  line-height:1.28;
}

.official-applicant-photo-cell{
  text-align:center;
  vertical-align:middle !important;
  padding:6px 5px !important;
}

.official-applicant-photo{
  width:54px;
  height:62px;
  border-radius:6px;
  object-fit:cover;
  border:1px solid var(--border);
  background:#f8fafc;
  display:inline-block;
  box-shadow:0 2px 8px rgba(15,23,42,.08);
}

.official-license-table td,
.official-license-table th{
  padding:8px 7px !important;
  border-color:var(--border) !important;
}

.official-license-table a{
  color:var(--accent);
  font-size:.82rem !important;
  font-weight:700;
}

.official-main-license-table .official-name-main{
  font-size:.82rem !important;
  font-weight:700;
  line-height:1.28;
}

.official-main-license-table .official-name-surname{
  font-size:.82rem !important;
  font-weight:800;
  line-height:1.28;
}

.official-main-license-table .official-discipline{
  font-size:.82rem !important;
  line-height:1.28;
}

.official-main-license-table .official-license-num-text,
.official-main-license-table .official-applied-date,
.official-main-license-table .official-inprocess-badge{
  font-size:.82rem !important;
  line-height:1.28;
}

.official-status-cell{
  min-width:86px;
  text-align:center;
}

.official-status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:70px;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid transparent;
  font-size:.7rem !important;
  font-weight:800;
  line-height:1.15;
}

.official-status-date{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:.7rem !important;
  font-weight:700;
  line-height:1.2;
}

.official-applied-date{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:.7rem;
  font-weight:400;
}

.official-inprocess-badge{
  font-size:.7rem !important;
  font-weight:700;
}

.official-discipline{
  color:#1d4ed8;
  font-weight:700;
  font-style:italic;
}

.official-status-actions{
  margin-top:6px;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  flex-wrap:nowrap;
  gap:4px;
}

.official-action-link-text{
  display:inline-block;
  color:#b45309 !important;
  font-size:.7rem !important;
  line-height:1.2;
}

.official-status-pending{
  background:#fef2f2;
  border-color:#fecaca;
  color:#b91c1c;
}

.official-status-approved{
  background:#f0fdf4;
  border-color:#bbf7d0;
  color:#15803d;
}

.official-status-rejected{
  background:#fff1f2;
  border-color:#fecdd3;
  color:#be123c;
}

.official-status-cancelled,
.official-status-neutral{
  background:#f8fafc;
  border-color:#e2e8f0;
  color:#475569;
}

.official-action-empty{
  min-width:42px;
  color:transparent;
}

.official-action-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:8px;
  border:1px solid #bbf7d0;
  background:#f0fdf4;
  color:#15803d !important;
  font-size:.78rem;
}

.official-action-icon:hover{
  background:#dcfce7;
  border-color:#86efac;
}

.official-action-reject{
  background:#fef2f2;
  border-color:#fecaca;
  color:#b91c1c !important;
}

.official-action-reject:hover{
  background:#fee2e2;
  border-color:#fca5a5;
}

.official-action-cancel{
  background:#fffbeb;
  border-color:#fde68a;
  color:#b45309 !important;
}

.official-action-cancel:hover{
  background:#fef3c7;
  border-color:#fcd34d;
}

.official-action-svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.official-license-table .icon-action-link,
.official-license-table .official-action-icon{
  width:24px;
  height:24px;
  border-radius:8px;
}

.official-license-table td.table-action-icons .icon-action-link,
.official-license-table td.table-action-icons .official-print-link,
.official-license-table td.table-action-icons .print-license-link{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#2563eb !important;
}

.official-license-table td.table-action-icons .icon-action-link:hover,
.official-license-table td.table-action-icons .official-print-link:hover,
.official-license-table td.table-action-icons .print-license-link:hover{
  background:rgba(37, 99, 235, .08) !important;
}

.official-license-table .action-eye-icon,
.official-license-table .official-action-svg{
  width:16px;
  height:16px;
}

.official-inline-form{
  width:70px;
  margin-top:5px;
  text-align:left;
}

.official-license-table tr td[colspan] strong{
  display:block;
  padding:10px 12px;
  border-radius:10px;
  background:#f8fafc;
  color:var(--heading);
}

.official-year-form{
  min-width:220px;
  padding:18px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
}

.official-login-shell{
  min-height:calc(100vh - 170px);
}

.icon-pass:hover{
  background:#e5e7eb;
}

.password-field{
  display:flex;
  align-items:center;
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}

.password-field input{
  flex:1;
  border:none !important;
  box-shadow:none !important;
  min-height:46px;
}

.password-field input:focus{
  outline:none;
}

/* TYPOGRAPHY CALIBRATION */
:root{
  --text:#26313f;
  --muted:#667085;
  --heading:#182230;
  --portal-font-family:Arial, Helvetica, sans-serif;
  --portal-body-size:18px;
  --portal-table-size:1rem;
  --portal-table-head-size:.85rem;
  --portal-control-size:1.4rem;
  --portal-button-size:calc(var(--portal-control-size) * .75);
}

html.auth-session{
  font-size:100%;
}

body{
  font-family:var(--portal-font-family) !important;
  font-size:var(--portal-body-size) !important;
  line-height:1.55 !important;
  color:var(--text) !important;
}

h1,
h2,
h3,
h4,
h5,
h6{
  color:var(--heading);
  font-weight:700;
}

.brand-title{
  font-size:1.12rem;
  font-weight:700;
}

.brand-subtitle{
  font-size:.94rem;
  color:rgba(255,255,255,.74);
}

.topbar .nav a{
  font-size:1.05rem;
  font-weight:600;
}

.page-hero h1,
.hero-text h1{
  font-size:clamp(2rem, 3vw, 3rem);
  font-weight:700;
}

.page-hero p,
.hero-text p{
  font-size:1rem;
  color:var(--muted);
}

.hero-text p,
.hero-stat span{
  color:rgba(255,255,255,.82);
}

.btn{
  min-height:62px;
  padding:14px 20px;
  font-size:var(--portal-control-size) !important;
  font-weight:700;
}

.section-head h2,
.section-head h3{
  font-size:1.25rem;
  font-weight:700;
}

.section-head p,
.stat-help,
.event-card p,
.footer{
  font-size:.95rem;
  color:var(--muted);
}

.stat-label,
.modern-table thead th,
.year-select-form label{
  font-size:var(--portal-table-head-size) !important;
  font-weight:700;
  color:var(--muted);
}

.stat-value{
  font-size:2rem;
  font-weight:700;
  color:var(--heading);
}

.badge{
  font-size:.82rem;
  font-weight:700;
}

.auth-card,
.login-card{
  font-size:1.4rem;
}

.auth-header h1{
  font-size:2.4rem;
  font-weight:700;
  color:var(--heading);
}

.auth-header p{
  font-size:1.35rem;
  color:var(--muted);
}

.form-group label{
  font-size:1.4rem !important;
  font-weight:700;
  color:var(--heading);
}

.form-group input,
.form-group select,
.form-group textarea{
  min-height:62px;
  padding:16px 18px;
  font-size:var(--portal-control-size) !important;
  color:var(--text);
}

.auth-alt,
.portal-note p,
.member-details span,
.dashboard-note{
  font-size:1.3rem;
}

.form-group small{
  color:#1d4ed8;
  font-size:10px !important;
  font-style:italic;
  line-height:1.2;
}

.toggle-pass{
  min-width:62px;
  height:62px;
}

.portal-note strong,
.auth-links a,
.auth-alt a,
.portal-note a{
  font-weight:700;
}

.dashboard-shell{
  font-size:1rem;
}

.member-details span{
  color:var(--muted);
}

.member-details strong{
  color:var(--heading);
  font-weight:700;
}

.year-select-form select{
  min-height:48px;
  font-size:1rem;
  font-weight:700;
}

.dashboard-actions .btn{
  font-size:.9rem !important;
}

.page-content,
.legacy-page,
.dashboard-shell,
.auth-shell{
  font-family:var(--portal-font-family) !important;
  font-size:1.4rem !important;
  color:var(--text);
}

.legacy-page td,
.legacy-page th,
.legacy-page .table > tbody > tr > td,
.legacy-page .table > tbody > tr > th,
.modern-table td,
.modern-table th,
.dashboard-license-table td,
.dashboard-license-table th{
  font-size:var(--portal-table-size) !important;
  color:var(--text);
}

.legacy-page .table > thead > tr > th,
.legacy-page .table > thead > tr > td,
.modern-table thead th{
  font-size:var(--portal-table-head-size) !important;
  color:var(--muted);
  font-weight:700;
}

.legacy-page .official-license-table > thead > tr > th,
.dashboard-shell .official-license-table > thead > tr > th{
  background:#334155 !important;
  color:#fff !important;
}

.legacy-page input,
.legacy-page select,
.legacy-page textarea,
.legacy-page button,
.legacy-page .buttonlink{
  font-family:var(--portal-font-family) !important;
  font-size:var(--portal-control-size) !important;
}

.legacy-page p,
.legacy-page li,
.legacy-page label,
.legacy-page caption{
  font-family:var(--portal-font-family) !important;
}

@media (max-width: 768px){
  body{
    font-size:15.5px;
  }

  .auth-header h1{
    font-size:2rem;
  }

  .page-hero h1,
  .hero-text h1{
    font-size:1.8rem;
  }
}

.btn,
.buttonlink,
button,
input[type="submit"],
input[type="button"]{
  font-size:var(--portal-button-size) !important;
}

.official-reasons-button,
.btn-status-action{
  white-space:nowrap;
}

.official-filter-tools{
  display:flex;
  flex-direction:column;
  width:100%;
  gap:12px;
  align-items:stretch;
  overflow:visible;
  padding-bottom:6px;
}

.official-competitor-filter-tools{
  margin-top:10px;
}

.official-table-pager{
  margin:10px 0 14px;
  font-size:.8rem !important;
  font-weight:400 !important;
  color:var(--muted);
}

.official-table-pager span,
.official-table-pager button{
  font-size:.8rem !important;
  font-weight:400 !important;
}

.official-table-pager button{
  min-height:30px;
  padding:4px 8px;
}

.official-competitor-table-wrap{
  overflow-x:auto;
}

.official-filter-tools label{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
  max-width:100%;
  width:100%;
  font-size:.95rem !important;
}

.official-filter-tools input,
.official-filter-tools select{
  width:100%;
  min-width:0;
  max-width:100%;
  min-height:36px;
  box-sizing:border-box;
  padding:3px 6px;
  font-size:.95rem !important;
}

.official-license-filter-tools{
  display:grid !important;
  grid-template-columns:minmax(240px, 2.2fr) minmax(150px, 1fr) minmax(150px, 1fr) minmax(150px, 1fr) minmax(92px, 110px) auto;
  gap:14px;
  align-items:end;
  justify-items:stretch;
  width:100%;
  min-width:0;
  justify-content:stretch;
  margin:0 0 12px;
}

.official-license-filter-tools > label{
  display:flex !important;
  flex-direction:column;
  gap:6px;
  float:none !important;
  margin:0 !important;
  width:100%;
  min-width:0;
  max-width:100%;
}

.official-license-filter-tools .official-filter-compact{
  min-width:0;
  width:100%;
}

.official-license-filter-tools input,
.official-license-filter-tools select{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}

.official-filter-token{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}

.official-filter-reset{
  align-self:stretch;
  width:100%;
  min-height:36px;
  padding:4px 12px !important;
  font-size:.95rem !important;
  font-weight:400 !important;
  white-space:nowrap;
}

@media (min-width: 992px){
  .official-license-filter-tools{
    grid-template-columns:minmax(240px, 2.2fr) minmax(150px, 1fr) minmax(150px, 1fr) minmax(150px, 1fr) minmax(92px, 110px) auto;
  }

  .official-license-filter-tools .official-filter-reset{
    align-self:end;
    width:auto;
  }
}

@media (max-width: 991px){
  .official-license-filter-tools{
    grid-template-columns:minmax(0, 1fr);
    align-items:stretch;
    gap:10px;
    margin:0 0 10px;
  }

  .official-license-filter-tools .official-filter-reset{
    width:100%;
    align-self:stretch;
  }
}

.official-modal-label{
  display:block;
  width:auto;
  float:none;
  margin:0 0 6px;
  font-weight:700;
}

.official-modal-textarea{
  width:100%;
  min-height:96px;
  resize:vertical;
}

.btn .admin-icon-svg,
.dashboard-actions .admin-icon-svg{
  width:18px;
  height:18px;
  flex:0 0 18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.modern-table tbody td,
.dashboard-license-table tbody td,
.license-status-table tbody td,
.official-license-table td,
.club-competitors-table td{
  font-size:.9rem !important;
  line-height:1.35;
}

.modern-table thead th,
.dashboard-license-table thead th,
.license-status-table thead th,
.official-license-table th,
.club-competitors-table th{
  font-size:.82rem !important;
  line-height:1.25;
}

.official-license-table a,
.official-main-license-table .official-name-main,
.official-main-license-table .official-name-surname,
.official-main-license-table .official-discipline,
.official-main-license-table .official-license-num-text,
.official-main-license-table .official-applied-date,
.official-main-license-table .official-inprocess-badge,
.official-status-badge,
.official-status-date,
.official-action-link-text{
  font-size:.82rem !important;
  line-height:1.25;
}

.pwa-install-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:6px;
  background:#d62828;
  color:#fff;
  font:inherit;
  font-weight:700;
  line-height:1.1;
  cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}

.pwa-install-button:hover,
.pwa-install-button:focus{
  background:#b71c1c;
  color:#fff;
  transform:translateY(-1px);
}

@media (max-width: 768px){
  .official-dashboard .official-hero h1{
    font-size:1.5rem !important;
  }

  .official-dashboard .official-hero p,
  .official-dashboard .member-details span,
  .official-dashboard .section-head p{
    font-size:.85rem !important;
  }

  .official-dashboard .stat-card{
    padding:12px;
  }

  .official-dashboard .stat-value{
    font-size:1.35rem !important;
  }

  .official-dashboard .stat-help{
    display:none;
  }

  .official-filter-tools{
    flex-direction:column;
    margin-inline:0;
    gap:10px;
  }

  .official-license-filter-tools{
    gap:10px;
  }

  .official-license-filter-tools label:first-child{
    min-width:0;
  }

  .official-license-filter-tools label:nth-child(1),
  .official-license-filter-tools label:nth-child(4){
    width:100%;
  }

  .official-license-filter-tools .official-filter-compact{
    min-width:0;
    flex-basis:auto;
  }

  .official-filter-tools label{
    min-width:0;
    font-size:.84rem !important;
  }

  .official-filter-tools input,
  .official-filter-tools select{
    min-height:30px;
    font-size:.84rem !important;
  }

  .official-filter-reset{
    width:100%;
    min-height:30px;
    font-size:.84rem !important;
    font-weight:400 !important;
    padding:3px 7px !important;
  }

  .official-license-table th{
    font-size:.68rem !important;
    padding:6px 5px !important;
  }

  .official-license-table td{
    font-size:.72rem !important;
    padding:6px 5px !important;
  }

  .official-applicant-photo{
    width:42px;
    height:48px;
  }

  .official-license-table .icon-action-link,
  .official-license-table .official-action-icon{
    width:24px;
    height:24px;
  }

  .official-reasons-button,
  .license-status-shell .table-action-icons .btn-status-action{
    min-height:28px;
    padding:4px 7px !important;
    font-size:.7rem !important;
  }

  .license-status-shell .competitor-status-head{
    align-items:flex-start;
  }

  .license-status-shell .dashboard-actions.compact-actions{
    gap:6px;
  }
}
