﻿* { 
 box-sizing: border-box; 
} 
 
body { 
 margin: 0; 
 font-family: Arial, sans-serif; 
 background: #eef4f8; 
 color: #172033; 
} 
 
.hero { 
 background: #172033; 
 color: white; 
 padding: 30px 32px; 
 display: flex; 
 justify-content: space-between; 
 align-items: center; 
 gap: 18px; 
} 
 
.hero h1 { 
 margin: 0; 
 font-size: 42px; 
} 
 
.hero p { 
 margin: 8px 0 0; 
 font-size: 18px; 
 color: #d7e1ea; 
} 
 
nav { 
 display: flex; 
 gap: 10px; 
} 
 
.nav-link { 
 color: white; 
 text-decoration: none; 
 border: 1px solid rgba(255,255,255,0.35); 
 padding: 10px 14px; 
 border-radius: 999px; 
 font-weight: bold; 
} 
 
.nav-link:hover, 
.nav-link.active { 
 background: #ff9900; 
 color: #172033; 
 border-color: #ff9900; 
} 
 
.layout { 
 max-width: 1150px; 
 margin: 28px auto; 
 padding: 0 18px; 
 display: grid; 
 grid-template-columns: 1fr 1.4fr; 
 gap: 20px; 
} 
 
.dashboard { 
 max-width: 950px; 
 margin: 28px auto; 
 padding: 0 18px; 
} 
 
.card { 
 background: white; 
 border-radius: 14px; 
 padding: 24px; 
 box-shadow: 0 8px 24px rgba(0,0,0,0.08); 
} 
 
.wide { 
 max-width: 1150px; 
 margin: 20px auto; 
} 
 
.section-header { 
 display: flex; 
 justify-content: space-between; 
 gap: 16px; 
 align-items: flex-start; 
} 
 
h2 { 
 margin-top: 0; 
} 
 
label { 
 display: block; 
 font-weight: bold; 
 margin-top: 16px; 
} 
 
input, 
select { 
 width: 100%; 
 padding: 12px; 
 margin-top: 6px; 
 border: 2px solid #d8e0e8; 
 border-radius: 8px; 
 font-size: 16px; 
} 
 
button { 
 margin-top: 18px; 
 background: #ff9900; 
 color: #172033; 
 border: none; 
 border-radius: 8px; 
 padding: 12px 18px; 
 font-size: 16px; 
 font-weight: bold; 
 cursor: pointer; 
} 
 
button:hover { 
 background: #ec7211; 
} 
 
button:disabled { 
 background: #ccd3da; 
 color: #667; 
 cursor: not-allowed; 
} 
 
button.secondary { 
 background: #172033; 
 color: white; 
} 
 
button.secondary:hover { 
 background: #2c3d55; 
} 
 
button.small { 
 padding: 9px 13px; 
 font-size: 14px; 
 margin-top: 0; 
} 
 
button.danger { 
 background: #b42318; 
 color: white; 
} 
 
button.danger:hover { 
 background: #8f1d14; 
} 
 
.status { 
 margin-top: 16px; 
 padding: 12px; 
 border-radius: 8px; 
 display: none; 
} 
 
.status.success { 
 display: block; 
 background: #d4edda; 
 color: #155724; 
} 
 
.status.error { 
 display: block; 
 background: #f8d7da; 
 color: #721c24; 
} 
 
.status.loading { 
 display: block; 
 background: #fff3cd; 
 color: #856404; 
} 
 
.my-ticket { 
 margin-top: 20px; 
 padding: 16px; 
 border: 2px solid #ff9900; 
 background: #fff8eb; 
 border-radius: 10px; 
} 
 
.my-ticket h3 { 
 margin-top: 0; 
} 
 
.queue-list { 
 margin-top: 18px; 
} 
 
.ticket { 
 border: 1px solid #d8e0e8; 
 border-radius: 10px; 
 padding: 14px; 
 margin-bottom: 12px; 
 background: #fafcff; 
} 
 
.ticket.highlight-ticket { 
 border-color: #ff9900; 
 background: #fff8eb; 
} 
 
.ticket-top { 
 display: flex; 
 justify-content: space-between; 
 align-items: center; 
 gap: 10px; 
 flex-wrap: wrap; 
} 
 
.ticket strong { 
 font-size: 18px; 
} 
 
.ticket .meta { 
 color: #566; 
 margin-top: 5px; 
} 
 
.status-pill, 
.you-badge { 
 display: inline-block; 
 margin-top: 8px; 
 padding: 5px 9px; 
 border-radius: 999px; 
 background: #e8eef5; 
 font-size: 13px; 
 font-weight: bold; 
} 
 
.you-badge { 
 background: #ff9900; 
 color: #172033; 
 margin-top: 0; 
} 
 
.staff-actions { 
 margin-top: 12px; 
} 
 
.staff-actions button { 
 margin-right: 8px; 
 margin-top: 8px; 
 padding: 8px 12px; 
 font-size: 14px; 
} 
 
.staff-note { 
 background: #eef4f8; 
 padding: 12px; 
 border-left: 4px solid #ff9900; 
 border-radius: 8px; 
 margin: 16px 0; 
} 
 
footer { 
 text-align: center; 
 padding: 24px; 
 color: #566; 
} 
 
@media (max-width: 800px) { 
 .layout { 
   grid-template-columns: 1fr; 
 } 
 
 .hero { 
   flex-direction: column; 
   align-items: flex-start; 
 } 
 
 nav { 
   flex-wrap: wrap; 
 } 
 
 .section-header { 
   flex-direction: column; 
 } 
} 
 
.directory-container { 
 max-width: 1050px; 
 margin: 28px auto; 
 padding: 0 18px; 
} 
 
.search-box { 
 margin: 14px 0 22px; 
} 
 
.directory-list { 
 display: grid; 
 gap: 14px; 
} 
 
.provider-card { 
 display: flex; 
 justify-content: space-between; 
 gap: 18px; 
 align-items: center; 
 border: 1px solid #d8e0e8; 
 border-radius: 12px; 
 padding: 18px; 
 background: #fafcff; 
} 
 
.provider-card h3 { 
 margin: 0 0 8px; 
} 
 
.provider-card p { 
 margin: 10px 0 0; 
 color: #344054; 
} 
 
.category-pill { 
 display: inline-block; 
 background: #e8eef5; 
 color: #172033; 
 padding: 5px 9px; 
 border-radius: 999px; 
 font-size: 13px; 
 font-weight: bold; 
} 
 
.provider-actions { 
 display: flex; 
 flex-direction: column; 
 gap: 10px; 
 min-width: 180px; 
} 
 
.action-link { 
 display: inline-block; 
 text-align: center; 
 text-decoration: none; 
 border-radius: 8px; 
 padding: 11px 14px; 
 font-weight: bold; 
} 
 
.action-link.primary { 
 background: #ff9900; 
 color: #172033; 
} 
 
.action-link.primary:hover { 
 background: #ec7211; 
} 
 
.action-link.secondary-link { 
 background: #172033; 
 color: white; 
} 
 
.action-link.secondary-link:hover { 
 background: #2c3d55; 
} 
 
@media (max-width: 800px) { 
 .provider-card { 
   flex-direction: column; 
   align-items: stretch; 
 } 
 
 .provider-actions { 
   width: 100%; 
 } 
} 

.next-notice {
  margin-top: 12px;
  padding: 10px;
  background: #d1fae5;
  color: #065f46;
  border-left: 4px solid #10b981;
  border-radius: 8px;
  font-weight: bold;
}

.exit-panel {
  margin: 18px 0;
  padding: 16px;
  background: #fff8eb;
  border-left: 4px solid #ff9900;
  border-radius: 10px;
}

.exit-panel h3 {
  margin-top: 0;
}

.exit-panel ul {
  margin-bottom: 0;
}

.exit-panel li {
  margin-bottom: 6px;
}

/* Navigation button alignment fix */
.nav-link,
.nav-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 44px;
  line-height: 1;
}

.nav-button {
  margin-top: 0;
}

.directory-category {
  margin-top: 28px;
}

.directory-category-title {
  margin: 0 0 14px;
  padding-bottom: 8px;
  border-bottom: 2px solid #d8e0e8;
  color: #172033;
}

.wait-profile {
  margin-top: 10px;
  font-size: 14px;
  color: #344054;
}

.wait-profile span {
  display: block;
  margin-top: 4px;
  color: #667085;
}

#registerPanel input {
  margin-bottom: 10px;
}

button.warning {
  background: #facc15;
  color: #172033;
}

button.warning:hover {
  background: #eab308;
}
