/* ===== ADMIN & AUTH STYLES ===== */

/* Auth page layout — clean formless design */
.auth-page {
   min-height: 100vh;
   display: flex;
   align-items: center;
   justify-content: center;
   background: var(--white);
   padding: 40px 20px;
   position: relative
}

.auth-back {
   position: absolute;
   top: 20px;
   right: 24px;
   width: 40px;
   height: 40px;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   border: 1.5px solid rgba(0, 0, 0, .1);
   background: transparent;
   cursor: pointer;
   transition: all .2s;
   text-decoration: none;
   color: var(--dark)
}

.auth-back:hover {
   border-color: rgba(0, 0, 0, .3);
   color: var(--dark)
}

.auth-back .lucide {
   width: 18px;
   height: 18px
}

.auth-card {
   padding: 0;
   width: 100%;
   max-width: 360px
}

.auth-card h1 {
   font-size: 26px;
   font-weight: 700;
   margin-bottom: 24px;
   text-align: left
}

.auth-card .auth-sub {
   text-align: center;
   color: var(--text-muted);
   margin-bottom: 30px;
   font-size: 14px;
   display: none
}

.auth-card .auth-logo {
   display: block;
   margin: 0 auto 32px;
   height: 40px
}

/* Google auth button */
.auth-google {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   width: 100%;
   padding: 14px 20px;
   border: 1.5px solid rgba(0, 0, 0, .12);
   border-radius: 10px;
   background: var(--white);
   font-size: 14px;
   font-weight: 500;
   font-family: var(--font);
   cursor: pointer;
   transition: all .2s;
   color: var(--dark);
   text-decoration: none
}

.auth-google:hover {
   border-color: rgba(0, 0, 0, .25);
   background: var(--gray-light);
   color: var(--dark)
}

.auth-google img {
   width: 20px;
   height: 20px
}

/* Divider */
.auth-divider {
   display: flex;
   align-items: center;
   gap: 16px;
   margin: 24px 0
}

.auth-divider::before,
.auth-divider::after {
   content: '';
   flex: 1;
   height: 1px;
   background: rgba(0, 0, 0, .1)
}

.auth-divider span {
   font-size: 13px;
   color: var(--text-muted);
   white-space: nowrap
}

/* Form styles */
.form-group {
   margin-bottom: 20px
}

.form-group label {
   display: block;
   font-size: 13px;
   font-weight: 500;
   margin-bottom: 8px;
   color: var(--dark)
}

.form-input,
.form-select,
.form-textarea {
   width: 100%;
   padding: 14px 16px;
   border: 1.5px solid rgba(0, 0, 0, .12);
   border-radius: 10px;
   font-size: 14px;
   font-family: var(--font);
   background: var(--white);
   transition: border-color .3s;
   outline: none;
   box-sizing: border-box
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
   border-color: var(--gold);
   box-shadow: 0 0 0 3px rgba(210, 169, 86, .1)
}

.form-textarea {
   min-height: 120px;
   resize: vertical
}

.form-select {
   appearance: none;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
   background-repeat: no-repeat;
   background-position: right 14px center
}

.form-check {
   display: flex;
   align-items: center;
   gap: 8px;
   font-size: 13px;
   color: var(--text-muted)
}

.form-check input[type="checkbox"] {
   width: 16px;
   height: 16px;
   accent-color: var(--dark)
}

.form-error {
   color: #dc2626;
   font-size: 12px;
   margin-top: 4px
}

.form-hint {
   color: var(--text-muted);
   font-size: 12px;
   margin-top: 4px
}

.form-row {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 16px
}

/* Auth form row (remember me + forgot) */
.auth-row {
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-bottom: 24px
}

.auth-row a {
   font-size: 13px;
   color: var(--dark);
   font-weight: 500
}

.auth-row a:hover {
   color: var(--gold)
}

.btn-full {
   width: 100%;
   justify-content: center
}

.btn-auth {
   width: 100%;
   padding: 16px;
   border-radius: 100px;
   background: var(--dark);
   color: var(--white);
   font-size: 15px;
   font-weight: 600;
   font-family: var(--font);
   border: none;
   cursor: pointer;
   transition: all .3s;
   text-align: center;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 8px
}

.btn-auth:hover {
   background: var(--gold);
   color: var(--dark)
}

.btn-auth .spinner {
   display: none;
   width: 16px;
   height: 16px;
   border: 2px solid rgba(255, 255, 255, .3);
   border-top-color: #fff;
   border-radius: 50%;
   animation: auth-spin .6s linear infinite
}

.btn-auth.loading {
   pointer-events: none;
   opacity: .85
}

.btn-auth.loading .spinner {
   display: block
}

.btn-auth.loading .btn-text {
   opacity: .7
}

@keyframes auth-spin {
   to {
      transform: rotate(360deg)
   }
}

.auth-links {
   text-align: center;
   margin-top: 28px;
   font-size: 14px;
   color: var(--text-muted)
}

.auth-links a {
   color: var(--dark);
   font-weight: 600;
   text-decoration: none
}

.auth-links a:hover {
   color: var(--gold)
}

/* Auth alert boxes */
.auth-alert {
   padding: 12px 16px;
   border-radius: 10px;
   margin-bottom: 20px;
   font-size: 14px
}

.auth-alert-error {
   background: #fee2e2;
   color: #991b1b;
   border: 1px solid #fca5a5
}

.auth-alert-success {
   background: #dcfce7;
   color: #166534;
   border: 1px solid #86efac
}

/* Auth responsive */
@media(max-width:520px) {
   .auth-page {
      padding: 30px 24px
   }

   .auth-card {
      max-width: 320px
   }

   .auth-card h1 {
      font-size: 22px
   }

   .auth-back {
      top: 16px;
      right: 16px
   }
}

/* ============================================================
   ADMIN PANEL — WordPress-inspired layout
   ============================================================ */

/* --- Admin Body & Background --- */
.admin-body {
   margin: 0;
   background: #f0f2f5;
   min-height: 100vh
}

/* --- Admin Top Bar --- */
.admin-topbar {
   position: sticky;
   top: 0;
   z-index: 1000;
   height: 48px;
   background: #1e293b;
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 0 16px;
   box-shadow: 0 1px 3px rgba(0, 0, 0, .2)
}

.topbar-left,
.topbar-right {
   display: flex;
   align-items: center;
   gap: 12px
}

.topbar-toggle {
   background: none;
   border: none;
   color: rgba(255, 255, 255, .7);
   cursor: pointer;
   padding: 4px;
   border-radius: 6px;
   display: flex;
   align-items: center;
   transition: all .15s
}

.topbar-toggle:hover {
   color: #fff;
   background: rgba(255, 255, 255, .1)
}

.topbar-brand {
   display: flex;
   align-items: center;
   gap: 8px;
   text-decoration: none;
   color: #fff;
   font-weight: 600;
   font-size: 14px
}

.topbar-logo {
   height: 22px;
   filter: brightness(0) invert(1)
}

.topbar-sep {
   width: 1px;
   height: 20px;
   background: rgba(255, 255, 255, .15)
}

.topbar-link {
   display: flex;
   align-items: center;
   gap: 5px;
   color: rgba(255, 255, 255, .6);
   font-size: 12px;
   text-decoration: none;
   transition: color .15s
}

.topbar-link:hover {
   color: #fff
}

/* Notification bell */
.topbar-notif {
   position: relative
}

.topbar-notif-btn {
   background: none;
   border: none;
   color: rgba(255, 255, 255, .7);
   cursor: pointer;
   padding: 6px;
   border-radius: 8px;
   display: flex;
   align-items: center;
   position: relative;
   transition: all .15s
}

.topbar-notif-btn:hover {
   color: #fff;
   background: rgba(255, 255, 255, .1)
}

.topbar-badge {
   position: absolute;
   top: 1px;
   right: 1px;
   min-width: 16px;
   height: 16px;
   background: #ef4444;
   color: #fff;
   font-size: 10px;
   font-weight: 700;
   border-radius: 99px;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 0 4px;
   line-height: 1
}

/* User button */
.topbar-user {
   position: relative
}

.topbar-user-btn {
   background: none;
   border: none;
   color: rgba(255, 255, 255, .8);
   cursor: pointer;
   display: flex;
   align-items: center;
   gap: 8px;
   padding: 4px 8px;
   border-radius: 8px;
   font-family: var(--font);
   transition: all .15s
}

.topbar-user-btn:hover {
   background: rgba(255, 255, 255, .1);
   color: #fff
}

.topbar-user-avatar {
   width: 28px;
   height: 28px;
   border-radius: 50%;
   background: var(--gold);
   color: #1e293b;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 11px;
   font-weight: 700;
   flex-shrink: 0
}

.topbar-user-name {
   font-size: 13px;
   font-weight: 500
}

/* Dropdowns */
.topbar-dropdown {
   display: none;
   position: absolute;
   top: calc(100% + 8px);
   left: 0;
   min-width: 260px;
   background: #fff;
   border: 1px solid rgba(0, 0, 0, .08);
   border-radius: 12px;
   box-shadow: 0 12px 40px rgba(0, 0, 0, .15);
   overflow: hidden;
   z-index: 999
}

.topbar-dropdown.open {
   display: block;
   animation: dropIn .15s ease-out
}

.topbar-dropdown-right {
   left: auto;
   right: 0
}

.topbar-dropdown-header {
   padding: 12px 16px;
   font-size: 12px;
   font-weight: 600;
   color: #64748b;
   text-transform: uppercase;
   letter-spacing: .5px;
   border-bottom: 1px solid rgba(0, 0, 0, .06);
   background: #f8fafc
}

.topbar-dropdown-item {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 10px 16px;
   font-size: 13px;
   color: #334155;
   text-decoration: none;
   transition: background .1s;
   cursor: pointer
}

.topbar-dropdown-item:hover {
   background: #f1f5f9;
   color: #000000ff
}

@keyframes dropIn {
   from {
      opacity: 0;
      transform: translateY(-4px)
   }

   to {
      opacity: 1;
      transform: translateY(0)
   }
}

/* --- Admin Layout (sidebar + main) --- */
.admin-wrapper {
   display: grid;
   grid-template-columns: 250px 1fr;
   min-height: calc(100vh - 48px)
}

/* --- Admin Sidebar --- */
.admin-sidebar {
   background: #fff;
   border-right: 1px solid #e2e8f0;
   position: sticky;
   top: 48px;
   height: calc(100vh - 48px);
   transition: width .2s ease, transform .2s ease;
   overflow: hidden
}

.admin-sidebar .sidebar-scroll {
   height: 100%;
   overflow-y: auto;
   scrollbar-width: none;
   -ms-overflow-style: none
}

.admin-sidebar .sidebar-scroll::-webkit-scrollbar {
   display: none
}

.admin-sidebar .sb-track {
   position: absolute;
   top: 4px;
   bottom: 4px;
   right: 2px;
   width: 5px;
   z-index: 5;
   pointer-events: none;
   opacity: 0;
   transition: opacity 1.5s ease 1s
}

.admin-sidebar:hover .sb-track,
.admin-sidebar .sb-track.sb-visible {
   opacity: 1;
   transition: opacity 0s
}

.admin-sidebar .sb-thumb {
   position: absolute;
   right: 0;
   width: 5px;
   min-height: 24px;
   background: rgba(0, 0, 0, .15);
   border-radius: 3px;
   cursor: pointer;
   pointer-events: auto;
   transition: background .15s
}

.admin-sidebar .sb-thumb:hover {
   background: rgba(0, 0, 0, .28)
}

.admin-sidebar.collapsed {
   width: 64px
}

.admin-nav {
   padding: 8px
}

.admin-nav-label {
   padding: 6px 12px;
   margin: 14px 0 4px;
   font-size: 10px;
   text-transform: uppercase;
   letter-spacing: 1.5px;
   color: #94a3b8;
   font-weight: 600
}

.admin-nav-label:first-child {
   margin-top: 4px
}

.admin-nav-item {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 9px 12px;
   color: #475569;
   text-decoration: none;
   border-radius: 8px;
   font-size: 13px;
   font-weight: 500;
   transition: all .15s;
   margin-bottom: 1px;
   position: relative
}

.admin-nav-item:hover {
   background: #f1f5f9;
   color: #000000ff
}

.admin-nav-item.active {
   background: #000000ff;
   color: #fff;
   font-weight: 600
}

.admin-nav-item .lucide {
   width: 18px;
   height: 18px;
   opacity: .65;
   flex-shrink: 0
}

.admin-nav-item.active .lucide {
   opacity: 1
}

.admin-nav-badge {
   margin-left: auto;
   min-width: 18px;
   height: 18px;
   padding: 0 5px;
   background: #ef4444;
   color: #fff;
   font-size: 10px;
   font-weight: 700;
   border-radius: 99px;
   display: flex;
   align-items: center;
   justify-content: center
}

.admin-nav .nav-sep {
   height: 1px;
   background: #e2e8f0;
   margin: 8px 12px
}

/* Sidebar dropdown/submenu */
.admin-nav-group {}

.admin-nav-group-toggle {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 9px 12px;
   color: #475569;
   text-decoration: none;
   border-radius: 8px;
   font-size: 13px;
   font-weight: 500;
   transition: all .15s;
   margin-bottom: 1px;
   cursor: pointer;
   -webkit-tap-highlight-color: transparent;
   width: 100%;
   border: none;
   background: none;
   font-family: var(--font)
}

.admin-nav-group-toggle:hover {
   background: #f1f5f9;
   color: #000000ff
}

.admin-nav-group.open .admin-nav-group-toggle,
.admin-nav-group-toggle.active {
   background: rgba(15, 23, 42, .05);
   color: #000000ff;
   font-weight: 600
}

.admin-nav-group-toggle .lucide {
   width: 18px;
   height: 18px;
   opacity: .65;
   flex-shrink: 0
}

.admin-nav-group-toggle .nav-arrow {
   margin-left: auto;
   width: 16px;
   height: 16px;
   opacity: .4;
   transition: transform .2s;
   flex-shrink: 0
}

.admin-nav-group.open .nav-arrow {
   transform: rotate(180deg);
   opacity: .6
}

.admin-nav-sub {
   max-height: 0;
   overflow: hidden;
   transition: max-height .25s ease
}

.admin-nav-group.open .admin-nav-sub {
   max-height: 200px
}

.admin-nav-sub a {
   display: flex;
   align-items: center;
   gap: 8px;
   padding: 7px 12px 7px 40px;
   color: #64748b;
   text-decoration: none;
   font-size: 12.5px;
   font-weight: 500;
   border-radius: 6px;
   transition: all .15s;
   margin-bottom: 1px
}

.admin-nav-sub a:hover {
   background: #f1f5f9;
   color: #000000ff
}

.admin-nav-sub a.active {
   color: #000000ff;
   font-weight: 600;
   background: rgba(15, 23, 42, .05)
}

.admin-nav-sub a .lucide {
   width: 15px;
   height: 15px;
   opacity: .5
}

/* --- Admin Main Content --- */
.admin-main {
   background: #f0f2f5;
   overflow-x: hidden
}

.admin-content {
   max-width: 1200px;
   margin: 0 auto;
   padding: 24px 28px 40px
}

/* Content header */
.panel-header {
   margin-bottom: 20px;
   display: flex;
   justify-content: space-between;
   align-items: flex-end;
   gap: 16px
}

.panel-header h1 {
   margin: 0 0 2px;
   font-size: 22px;
   line-height: 1.3;
   font-weight: 700;
   color: #000000ff
}

.panel-header p {
   margin: 0;
   font-size: 14px;
   color: #64748b
}

/* Glass cards */
.panel-card {
   background: #fff;
   border: 1px solid #e2e8f0;
   border-radius: 12px;
   padding: 20px;
   margin-bottom: 16px;
   box-shadow: 0 1px 3px rgba(0, 0, 0, .04)
}

.panel-card-header {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 14px;
   padding-bottom: 12px;
   border-bottom: 1px solid #f1f5f9
}

.panel-card-title {
   margin: 0;
   font-size: 15px;
   font-weight: 600;
   color: #000000ff
}

.panel-card-link {
   font-size: 12px;
   color: var(--gold);
   text-decoration: none;
   font-weight: 600
}

.panel-card-link:hover {
   color: #000000ff
}

.panel-card h2 {
   margin: 0 0 16px;
   font-size: 15px;
   font-weight: 600;
   color: #000000ff
}

/* Stats grid */
.stats-grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 16px;
   margin-bottom: 24px
}

.stat-card {
   background: #fff;
   border: 1px solid #e2e8f0;
   border-radius: 12px;
   padding: 20px;
   display: flex;
   flex-direction: column;
   box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
   transition: box-shadow .15s
}

.stat-card:hover {
   box-shadow: 0 4px 12px rgba(0, 0, 0, .08)
}

.stat-card .stat-icon {
   width: 40px;
   height: 40px;
   border-radius: 10px;
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 12px
}

.stat-card .stat-icon .lucide {
   width: 20px;
   height: 20px
}

.stat-card .stat-label {
   font-size: 12px;
   color: #64748b;
   margin-bottom: 6px;
   font-weight: 500
}

.stat-card .stat-value {
   font-size: 26px;
   font-weight: 700;
   color: #000000ff;
   line-height: 1
}

.stat-card .stat-sub {
   font-size: 12px;
   color: #9ca3af;
   margin-top: 6px
}

.stat-card .stat-trend {
   font-size: 12px;
   font-weight: 600;
   margin-top: 6px;
   display: flex;
   align-items: center;
   gap: 4px
}

.stat-card .stat-trend.up {
   color: #10b981
}

.stat-card .stat-trend.down {
   color: #ef4444
}

/* Dashboard widget grid */
.dash-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 16px;
   margin-bottom: 16px
}

.dash-grid-3 {
   grid-template-columns: 2fr 1fr
}

.dash-grid-full {
   grid-template-columns: 1fr
}

/* Welcome panel */
.welcome-panel {
   background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
   border: none;
   color: #fff;
   border-radius: 12px;
   padding: 28px;
   margin-bottom: 24px;
   position: relative;
   overflow: hidden
}

.welcome-panel::after {
   content: '';
   position: absolute;
   top: -50%;
   right: -10%;
   width: 300px;
   height: 300px;
   background: radial-gradient(circle, rgba(210, 169, 86, .15) 0%, transparent 70%);
   pointer-events: none
}

.welcome-panel h2 {
   margin: 0 0 8px;
   font-size: 20px;
   font-weight: 700;
   color: #fff
}

.welcome-panel p {
   margin: 0 0 20px;
   color: rgba(255, 255, 255, .65);
   font-size: 14px;
   max-width: 500px
}

.welcome-actions {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   position: relative;
   z-index: 1
}

.welcome-action {
   display: flex;
   align-items: center;
   gap: 8px;
   padding: 10px 18px;
   background: rgba(255, 255, 255, .1);
   border: 1px solid rgba(255, 255, 255, .15);
   border-radius: 8px;
   color: rgba(255, 255, 255, .9);
   text-decoration: none;
   font-size: 13px;
   font-weight: 500;
   transition: all .15s
}

.welcome-action:hover {
   background: rgba(255, 255, 255, .2);
   color: #fff;
   transform: translateY(-1px)
}

.welcome-action .lucide {
   width: 16px;
   height: 16px
}

/* Quick Draft */
.quick-draft textarea {
   min-height: 80px;
   resize: vertical;
   font-size: 13px;
   padding: 10px 12px
}

.quick-draft .form-input,
.quick-draft .form-textarea {
   padding: 10px 12px;
   border-radius: 8px;
   font-size: 13px
}

.quick-draft .form-group {
   margin-bottom: 12px
}

/* Activity feed */
.activity-item {
   display: flex;
   gap: 12px;
   padding: 10px 0;
   border-bottom: 1px solid #f1f5f9
}

.activity-item:last-child {
   border-bottom: none
}

.activity-icon {
   width: 32px;
   height: 32px;
   border-radius: 8px;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0
}

.activity-icon .lucide {
   width: 16px;
   height: 16px
}

.activity-text {
   font-size: 13px;
   color: #334155;
   line-height: 1.5
}

.activity-text strong {
   color: #000000ff
}

.activity-time {
   font-size: 11px;
   color: #94a3b8;
   margin-top: 2px
}

/* At a Glance */
.glance-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 0
}

.glance-item {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 10px 12px;
   border-radius: 8px;
   text-decoration: none;
   color: #334155;
   transition: background .1s
}

.glance-item:hover {
   background: #f1f5f9
}

.glance-item .lucide {
   width: 18px;
   height: 18px;
   color: var(--gold)
}

.glance-count {
   font-size: 18px;
   font-weight: 700;
   color: #000000ff
}

.glance-label {
   font-size: 12px;
   color: #64748b
}

/* Data table */
.data-table {
   width: 100%;
   border-collapse: collapse;
   font-size: 13px;
   color: #000000ff
}

.data-table th {
   text-align: left;
   padding: 10px 12px;
   background: #f8fafc;
   border-bottom: 2px solid #e2e8f0;
   font-weight: 600;
   color: #475569;
   font-size: 11px;
   text-transform: uppercase;
   letter-spacing: .5px
}

.data-table td {
   padding: 12px;
   border-bottom: 1px solid #f1f5f9;
   vertical-align: middle;
   font-size: 13px
}

.data-table tr:hover td {
   background: #f8fafc
}

.data-table .actions {
   display: flex;
   gap: 6px;
   flex-wrap: wrap
}

.data-table .actions a,
.data-table .actions button {
   padding: 5px 10px;
   font-size: 12px;
   border-radius: 6px;
   font-family: var(--font);
   cursor: pointer;
   text-decoration: none;
   border: none;
   font-weight: 500;
   transition: all .15s
}

.data-table .actions .btn-edit {
   background: #eff6ff;
   color: #2563eb
}

.data-table .actions .btn-edit:hover {
   background: #dbeafe
}

.data-table .actions .btn-delete {
   background: #fef2f2;
   color: #dc2626
}

.data-table .actions .btn-delete:hover {
   background: #fee2e2
}

.data-table .actions .btn-view {
   background: #f0fdf4;
   color: #16a34a
}

.data-table .actions .btn-view:hover {
   background: #dcfce7
}

/* Bulk action checkbox */
.data-table .bulk-check {
   width: 18px;
   height: 18px;
   accent-color: #000000ff;
   cursor: pointer
}

.bulk-bar {
   display: none;
   align-items: center;
   gap: 12px;
   padding: 10px 16px;
   background: #eff6ff;
   border: 1px solid #bfdbfe;
   border-radius: 8px;
   margin-bottom: 16px;
   font-size: 13px;
   color: #1e40af
}

.bulk-bar.show {
   display: flex
}

.bulk-bar select,
.bulk-bar button {
   padding: 6px 12px;
   border-radius: 6px;
   font-size: 12px;
   font-family: var(--font);
   border: 1px solid #93c5fd;
   background: #fff;
   cursor: pointer
}

.bulk-bar button {
   background: #2563eb;
   color: #fff;
   border: none;
   font-weight: 600
}

.bulk-bar button:hover {
   background: #1d4ed8
}

/* Status badges */
.badge {
   display: inline-flex;
   padding: 2px 8px;
   border-radius: 4px;
   font-size: 11px;
   font-weight: 600;
   background: #f1f5f9;
   color: #475569
}

.status {
   display: inline-flex;
   align-items: center;
   gap: 4px;
   padding: 3px 10px;
   border-radius: 999px;
   font-size: 11px;
   font-weight: 600;
   border: 1px solid transparent
}

.status-published,
.status-active,
.status-completed,
.status-paid,
.status-checked_in {
   background: #ecfdf5;
   color: #065f46;
   border-color: #a7f3d0
}

.status-draft,
.status-pending,
.status-unpaid {
   background: #fffbeb;
   color: #92400e;
   border-color: #fde68a
}

.status-cancelled,
.status-failed,
.status-rejected,
.status-refunded {
   background: #fef2f2;
   color: #991b1b;
   border-color: #fecaca
}

.status-archived,
.status-waitlisted {
   background: #f3f4f6;
   color: #4b5563;
   border-color: #d1d5db
}

.status-processing {
   background: #eff6ff;
   color: #1e40af;
   border-color: #bfdbfe
}

/* Toolbar row */
.toolbar {
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-bottom: 16px;
   flex-wrap: wrap;
   gap: 12px
}

.toolbar .search-box {
   display: flex;
   align-items: center;
   gap: 8px;
   background: #fff;
   border: 1px solid #e2e8f0;
   border-radius: 8px;
   padding: 8px 14px;
   transition: border-color .15s
}

.toolbar .search-box:focus-within {
   border-color: var(--gold);
   box-shadow: 0 0 0 3px rgba(210, 169, 86, .1)
}

.toolbar .search-box input {
   border: none;
   outline: none;
   font-size: 13px;
   font-family: var(--font);
   background: transparent;
   min-width: 200px
}

.toolbar .filter-group {
   display: flex;
   gap: 6px
}

/* Empty state */
.empty-state {
   text-align: center;
   padding: 60px 20px;
   color: #94a3b8
}

.empty-state .lucide {
   width: 48px;
   height: 48px;
   margin-bottom: 16px;
   opacity: .3
}

.empty-state h3 {
   font-size: 18px;
   margin-bottom: 8px;
   color: #000000ff
}

.empty-state p {
   font-size: 14px;
   margin-bottom: 20px
}

/* Form groups inside panel */
.panel-card .form-group {
   margin-bottom: 16px
}

.panel-card .form-group label {
   display: block;
   margin-bottom: 6px;
   font-size: 13px;
   font-weight: 600;
   color: #374151
}

/* Panel button */
.panel-btn {
   display: inline-block;
   padding: 10px 18px;
   background: #000000ff;
   color: #fff;
   border: none;
   border-radius: 8px;
   font-size: 13px;
   font-weight: 600;
   font-family: var(--font);
   cursor: pointer;
   text-decoration: none;
   transition: all .15s
}

.panel-btn:hover {
   background: #1e293b;
   color: #fff
}

.panel-btn-sm {
   padding: 6px 12px;
   font-size: 12px
}

.panel-btn-primary {
   background: var(--gold);
   color: #000
}

.panel-btn-primary:hover {
   filter: brightness(1.1);
   color: #000
}

.panel-btn-danger {
   background: #dc2626
}

.panel-btn-danger:hover {
   background: #b91c1c
}

/* Order detail styles */
.order-meta {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
   gap: 16px;
   margin-bottom: 20px
}

.order-meta-item {
   padding: 14px;
   background: #f8fafc;
   border-radius: 8px;
   border: 1px solid #e2e8f0
}

.order-meta-item .meta-label {
   font-size: 11px;
   text-transform: uppercase;
   letter-spacing: .5px;
   color: #64748b;
   font-weight: 600;
   margin-bottom: 4px
}

.order-meta-item .meta-value {
   font-size: 15px;
   font-weight: 600;
   color: #000000ff
}

/* Export button */
.btn-export {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   padding: 8px 14px;
   background: #fff;
   border: 1px solid #e2e8f0;
   border-radius: 8px;
   color: #475569;
   font-size: 12px;
   font-weight: 500;
   font-family: var(--font);
   cursor: pointer;
   text-decoration: none;
   transition: all .15s
}

.btn-export:hover {
   background: #f8fafc;
   border-color: #cbd5e1;
   color: #000000ff
}

.btn-export .lucide {
   width: 14px;
   height: 14px
}

/* Site health */
.health-item {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 8px 0;
   border-bottom: 1px solid #f1f5f9;
   font-size: 13px
}

.health-item:last-child {
   border-bottom: none
}

.health-dot {
   width: 8px;
   height: 8px;
   border-radius: 50%;
   flex-shrink: 0
}

.health-dot.good {
   background: #10b981
}

.health-dot.warn {
   background: #f59e0b
}

.health-dot.bad {
   background: #ef4444
}

/* ============================================================
   CLIENT DASHBOARD — panel layout
   ============================================================ */

/* Background */
.panel-bg {
   margin: 0;
   background: #f8fafc;
   min-height: 100vh
}

/* Container: sidebar + main */
.panel-container {
   display: grid;
   grid-template-columns: 260px 1fr;
   min-height: 100vh
}

/* Sidebar */
.panel-sidebar {
   background: #fff;
   border-right: 1px solid #e2e8f0;
   position: sticky;
   top: 0;
   height: 100vh;
   overflow-y: auto;
   display: flex;
   flex-direction: column;
   z-index: 100
}

/* Sidebar logo */
.panel-sidebar-logo {
   padding: 20px 20px 0
}

.panel-sidebar-logo a {
   text-decoration: none
}

/* User card at top of sidebar */
.panel-user-card {
   display: flex;
   align-items: center;
   gap: 12px;
   padding: 20px 20px 18px;
   border-bottom: 1px solid #f1f5f9
}

.panel-user-avatar {
   width: 42px;
   height: 42px;
   border-radius: 50%;
   background: linear-gradient(135deg, #1e293b, #334155);
   color: #fff;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 14px;
   font-weight: 700;
   flex-shrink: 0;
   letter-spacing: .5px
}

.panel-user-name {
   margin: 0;
   font-size: 14px;
   font-weight: 600;
   color: #000000ff;
   line-height: 1.3
}

.panel-user-email {
   margin: 2px 0 0;
   font-size: 12px;
   color: #94a3b8;
   line-height: 1.3;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
   max-width: 160px
}

/* Mobile toggle (hidden on desktop) */
.panel-mobile-toggle {
   display: none
}

/* Navigation */
.panel-nav {
   padding: 12px 10px;
   flex: 1;
   display: flex;
   flex-direction: column
}

.panel-nav a {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 10px 14px;
   color: #475569;
   text-decoration: none;
   border-radius: 8px;
   font-size: 13px;
   font-weight: 500;
   transition: all .15s;
   margin-bottom: 2px
}

.panel-nav a .lucide {
   width: 18px;
   height: 18px;
   opacity: .55;
   flex-shrink: 0
}

.panel-nav a:hover {
   background: #f1f5f9;
   color: #000000ff
}

.panel-nav a:hover .lucide {
   opacity: .8
}

.panel-nav a.active {
   background: linear-gradient(135deg, #000000ff, #1e293b);
   color: #fff;
   font-weight: 600;
   box-shadow: 0 2px 8px rgba(15, 23, 42, .2)
}

.panel-nav a.active .lucide {
   opacity: 1
}

.panel-nav .nav-sep {
   height: 1px;
   background: #f1f5f9;
   margin: 10px 14px
}

/* Main content area */
.panel-main {
   background: #f8fafc;
   padding: 32px 36px 48px;
   min-height: 100vh;
   overflow-x: hidden;
   max-width: 100%
}

/* Dashboard-specific grid helpers */
.dash-profile-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 20px
}

.dash-ticket-grid {
   display: grid;
   grid-template-columns: auto 1fr auto;
   gap: 20px;
   align-items: center
}

.dash-enrollment-card {
   display: flex;
   gap: 20px;
   align-items: center
}

.dash-enrollment-card .enroll-info {
   flex: 1;
   min-width: 0
}

.dash-enrollment-card .enroll-info h3 {
   font-size: 15px;
   margin: 0 0 4px;
   font-weight: 600;
   color: #000000ff
}

.dash-enrollment-card .enroll-info p {
   margin: 0;
   font-size: 12px;
   color: #94a3b8
}

.dash-enrollment-card .enroll-meta {
   display: flex;
   gap: 8px;
   margin-top: 8px;
   flex-wrap: wrap
}

.dash-enrollment-card .enroll-date {
   text-align: right;
   font-size: 12px;
   color: #94a3b8;
   white-space: nowrap
}

.dash-enrollment-card .enroll-img {
   width: 72px;
   height: 72px;
   object-fit: cover;
   border-radius: 12px;
   flex-shrink: 0
}

/* --- Mobile responsive --- */
@media(max-width:992px) {
   .admin-wrapper {
      grid-template-columns: 1fr
   }

   .admin-sidebar {
      display: none;
      position: fixed;
      top: 48px;
      left: 0;
      bottom: 0;
      width: 260px;
      z-index: 900;
      box-shadow: 4px 0 20px rgba(0, 0, 0, .15)
   }

   .admin-sidebar.mobile-open {
      display: block
   }

   .admin-overlay {
      display: none;
      position: fixed;
      inset: 0;
      top: 48px;
      background: rgba(0, 0, 0, .3);
      z-index: 899
   }

   .admin-overlay.show {
      display: block
   }

   .admin-content {
      padding: 20px 16px
   }

   .stats-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr))
   }

   .dash-grid {
      grid-template-columns: 1fr
   }

   .dash-grid-3 {
      grid-template-columns: 1fr
   }

   .topbar-user-name {
      display: none
   }

   .welcome-panel {
      padding: 20px
   }

   /* Dashboard panel mobile */
   .panel-container {
      grid-template-columns: 1fr
   }

   .panel-sidebar {
      position: sticky;
      top: 0;
      height: auto;
      max-height: none;
      border-right: none;
      border-bottom: 1px solid #e2e8f0;
      box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
      z-index: 1000;
      overflow: visible
   }

   .panel-sidebar-logo {
      display: none
   }

   .panel-sidebar .panel-user-card {
      padding: 14px 20px
   }

   .panel-mobile-toggle {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      padding: 10px 20px;
      background: none;
      border: none;
      border-top: 1px solid #f1f5f9;
      font-family: var(--font);
      font-size: 13px;
      font-weight: 600;
      color: #475569;
      cursor: pointer
   }

   .panel-mobile-toggle .lucide {
      width: 16px;
      height: 16px
   }

   .panel-nav {
      display: none;
      padding: 4px 10px 12px
   }

   .panel-nav.mobile-open {
      display: flex
   }

   .panel-main {
      padding: 24px 20px 40px;
      min-height: auto
   }
}

@media(max-width:600px) {
   .admin-content {
      padding: 16px 12px
   }

   .panel-header {
      flex-direction: column;
      align-items: flex-start;
      gap: 12px
   }

   .panel-header h1 {
      font-size: 18px
   }

   .stats-grid {
      grid-template-columns: 1fr 1fr
   }

   .panel-card {
      padding: 16px;
      border-radius: 10px
   }

   .stat-card {
      padding: 14px
   }

   .stat-card .stat-value {
      font-size: 20px
   }

   .data-table {
      display: block;
      width: 100%
   }

   .data-table thead {
      display: none
   }

   .data-table tbody,
   .data-table tr,
   .data-table td {
      display: block;
      width: 100%
   }

   .data-table tr {
      padding: 12px;
      margin-bottom: 12px;
      border: 1px solid #e2e8f0;
      border-radius: 10px;
      background: #fff
   }

   .data-table td {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      padding: 6px 0;
      border: none;
      align-items: flex-start
   }

   .data-table td::before {
      content: attr(data-label);
      font-weight: 600;
      color: #64748b;
      font-size: 12px
   }

   .form-row {
      grid-template-columns: 1fr
   }

   .welcome-actions {
      gap: 6px
   }

   .welcome-action {
      padding: 8px 12px;
      font-size: 12px
   }

   .order-meta {
      grid-template-columns: 1fr 1fr
   }

   /* Dashboard panel small screens */
   .panel-main {
      padding: 20px 16px 36px
   }

   .dash-profile-grid {
      grid-template-columns: 1fr
   }

   .dash-ticket-grid {
      grid-template-columns: 1fr
   }

   .dash-enrollment-card {
      flex-direction: column;
      align-items: flex-start
   }

   .dash-enrollment-card .enroll-date {
      text-align: left
   }

   .stats-grid {
      grid-template-columns: 1fr
   }
}

/* ============================================================
   MEDIA SELECTOR MODAL
   ============================================================ */
.media-modal-overlay {
   display: none;
   position: fixed;
   inset: 0;
   z-index: 9999;
   background: rgba(0, 0, 0, .5);
   backdrop-filter: blur(2px);
   align-items: center;
   justify-content: center
}

.media-modal-overlay.open {
   display: flex;
   animation: mediaFadeIn .2s ease-out
}

@keyframes mediaFadeIn {
   from {
      opacity: 0
   }

   to {
      opacity: 1
   }
}

.media-modal {
   display: flex;
   flex-direction: column;
   width: calc(100vw - 60px);
   max-width: 1100px;
   height: calc(100vh - 80px);
   max-height: 750px;
   background: #fff;
   border-radius: 16px;
   box-shadow: 0 25px 60px rgba(0, 0, 0, .25);
   overflow: hidden;
   animation: mediaSlideUp .25s ease-out
}

@keyframes mediaSlideUp {
   from {
      opacity: 0;
      transform: translateY(20px)
   }

   to {
      opacity: 1;
      transform: translateY(0)
   }
}

.media-modal-header {
   display: flex;
   align-items: center;
   gap: 20px;
   padding: 16px 20px;
   background: #f8fafc;
   border-bottom: 1px solid #e2e8f0;
   flex-shrink: 0
}

.media-modal-header h2 {
   margin: 0;
   font-size: 16px;
   font-weight: 700;
   color: #000000ff;
   white-space: nowrap
}

.media-modal-tabs {
   display: flex;
   gap: 2px;
   flex: 1
}

.media-tab {
   padding: 7px 16px;
   font-size: 13px;
   font-weight: 500;
   color: #64748b;
   background: none;
   border: none;
   border-radius: 6px;
   cursor: pointer;
   font-family: var(--font);
   transition: all .15s
}

.media-tab:hover {
   color: #000000ff;
   background: #e2e8f0
}

.media-tab.active {
   color: #fff;
   background: #000000ff
}

.media-modal-close {
   margin-left: auto;
   width: 32px;
   height: 32px;
   display: flex;
   align-items: center;
   justify-content: center;
   border: none;
   background: #f1f5f9;
   border-radius: 8px;
   font-size: 20px;
   cursor: pointer;
   color: #475569;
   transition: all .15s;
   line-height: 1
}

.media-modal-close:hover {
   background: #e2e8f0;
   color: #000000ff
}

.media-modal-body {
   flex: 1;
   overflow: hidden;
   display: flex;
   min-height: 0
}

.media-tab-content {
   display: none;
   flex: 1;
   overflow-y: auto;
   padding: 16px 20px;
   flex-direction: column
}

.media-tab-content.active {
   display: flex
}

.media-toolbar {
   display: flex;
   gap: 12px;
   margin-bottom: 16px;
   flex-shrink: 0
}

.media-search {
   flex: 1
}

.media-search input {
   width: 100%
}

.media-grid {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
   gap: 12px;
   flex: 1;
   overflow-y: auto;
   align-content: start
}

.media-grid-item {
   border: 2px solid #e2e8f0;
   border-radius: 10px;
   overflow: hidden;
   cursor: pointer;
   transition: all .15s;
   background: #f8fafc
}

.media-grid-item:hover {
   border-color: #94a3b8;
   box-shadow: 0 2px 8px rgba(0, 0, 0, .08)
}

.media-grid-item.selected {
   border-color: #000000ff;
   box-shadow: 0 0 0 2px rgba(15, 23, 42, .2)
}

.media-grid-item img {
   width: 100%;
   height: 110px;
   object-fit: cover;
   display: block
}

.media-grid-file {
   height: 110px;
   display: flex;
   align-items: center;
   justify-content: center;
   background: #f1f5f9
}

.media-grid-name {
   padding: 6px 8px;
   font-size: 11px;
   color: #475569;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
   border-top: 1px solid #f1f5f9
}

.media-pagination {
   display: flex;
   gap: 4px;
   justify-content: center;
   padding: 12px 0;
   flex-shrink: 0
}

/* Base custom dashboard pagination */
.custom-pagination {
   display: flex;
   gap: 6px;
   align-items: center;
   justify-content: center;
}

.page-btn,
.media-page-btn {
   width: 32px;
   height: 32px;
   display: flex;
   align-items: center;
   justify-content: center;
   border: 1px solid #e2e8f0;
   background: #fff;
   border-radius: 6px;
   font-size: 13px;
   font-weight: 600;
   cursor: pointer;
   color: #475569;
   font-family: var(--font);
   text-decoration: none;
   transition: all .15s;
   padding: 0;
}

.page-btn[disabled],
.media-page-btn[disabled] {
   opacity: 0.5;
   cursor: not-allowed;
   background: #f8fafc;
   border-color: #f1f5f9;
}

.page-btn:not([disabled]):hover,
.media-page-btn:not([disabled]):hover {
   background: #f1f5f9;
   color: #0f172a;
}

.page-btn.active,
.media-page-btn.active {
   background: #000000ff;
   color: #fff;
   border-color: #000000ff
}

.media-upload-zone {
   border: 2px dashed #cbd5e1;
   border-radius: 12px;
   padding: 40px;
   text-align: center;
   cursor: pointer;
   transition: all .2s;
   flex: 1;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center
}

.media-upload-zone:hover,
.media-upload-zone.drag-over {
   border-color: #000000ff;
   background: #f8fafc
}

.media-modal-sidebar {
   width: 260px;
   padding: 16px;
   border-left: 1px solid #e2e8f0;
   overflow-y: auto;
   background: #f8fafc;
   flex-shrink: 0
}

.media-spinner {
   width: 32px;
   height: 32px;
   border: 3px solid #e2e8f0;
   border-top-color: #000000ff;
   border-radius: 50%;
   animation: mediaSpin .6s linear infinite;
   margin: 0 auto
}

@keyframes mediaSpin {
   to {
      transform: rotate(360deg)
   }
}

/* Image picker field */
.media-picker {
   position: relative
}

.media-picker-preview {
   width: 100%;
   height: 160px;
   border: 2px dashed #e2e8f0;
   border-radius: 10px;
   display: flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   overflow: hidden;
   transition: all .15s;
   background: #f8fafc
}

.media-picker-preview:hover {
   border-color: #94a3b8;
   background: #f1f5f9
}

.media-picker-preview img {
   width: 100%;
   height: 100%;
   object-fit: cover
}

.media-picker-preview .placeholder {
   text-align: center;
   color: #94a3b8;
   font-size: 13px
}

.media-picker-actions {
   display: flex;
   gap: 6px;
   margin-top: 6px
}

.media-picker-actions button {
   padding: 4px 10px;
   font-size: 11px;
   font-weight: 600;
   border: 1px solid #e2e8f0;
   border-radius: 6px;
   background: #fff;
   cursor: pointer;
   font-family: var(--font);
   color: #475569;
   transition: all .15s
}

.media-picker-actions button:hover {
   background: #f1f5f9;
   border-color: #94a3b8
}

.media-picker-actions .remove-btn {
   color: #dc2626;
   border-color: #fecaca
}

.media-picker-actions .remove-btn:hover {
   background: #fef2f2
}

@media(max-width:768px) {
   .media-modal {
      width: calc(100vw - 20px);
      height: calc(100vh - 40px);
      border-radius: 12px
   }

   .media-modal-header {
      flex-wrap: wrap;
      gap: 10px
   }

   .media-modal-sidebar {
      width: 100%;
      border-left: none;
      border-top: 1px solid #e2e8f0
   }

   .media-modal-body {
      flex-direction: column
   }

   .media-grid {
      grid-template-columns: repeat(auto-fill, minmax(100px, 1fr))
   }
}

/* ============================================================
   COLLAPSIBLE META BOXES (WordPress-style)
   ============================================================ */
.meta-box {
   background: #fff;
   border: 1px solid #e2e8f0;
   border-radius: 12px;
   margin-bottom: 16px;
   box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
   overflow: hidden;
   transition: box-shadow .15s
}

.meta-box:hover {
   box-shadow: 0 2px 8px rgba(0, 0, 0, .06)
}

.meta-box-header {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 14px 20px;
   cursor: pointer;
   user-select: none;
   border-bottom: 1px solid #f1f5f9;
   transition: background .15s
}

.meta-box-header:hover {
   background: #f8fafc
}

.meta-box-title {
   margin: 0;
   font-size: 14px;
   font-weight: 600;
   color: #000000ff;
   display: flex;
   align-items: center;
   gap: 8px
}

.meta-box-toggle {
   background: none;
   border: none;
   cursor: pointer;
   padding: 4px;
   border-radius: 6px;
   color: #94a3b8;
   transition: all .2s;
   display: flex;
   align-items: center
}

.meta-box-toggle:hover {
   color: #000000ff;
   background: #e2e8f0
}

.meta-box-arrow {
   transition: transform .25s ease
}

.meta-box.collapsed .meta-box-arrow {
   transform: rotate(-90deg)
}

.meta-box-body {
   overflow: hidden;
   transition: max-height .3s ease, opacity .25s ease;
   max-height: 2000px;
   opacity: 1
}

.meta-box.collapsed .meta-box-body {
   max-height: 0;
   opacity: 0
}

.meta-box.collapsed .meta-box-header {
   border-bottom-color: transparent
}

.meta-box-inner {
   padding: 20px
}

.meta-box-inner .form-group:last-child {
   margin-bottom: 0
}

/* ============================================================
   CHECK-IN SCANNER
   ============================================================ */
.checkin-scanner-wrap {
   position: relative;
   width: 100%;
   max-width: 400px;
   margin: 0 auto 20px;
   border-radius: 12px;
   overflow: hidden;
   background: #000
}

.checkin-scanner-wrap video {
   width: 100%;
   display: block
}

.checkin-result {
   padding: 20px;
   border-radius: 12px;
   margin-bottom: 20px;
   display: flex;
   align-items: center;
   gap: 16px;
   animation: checkinSlide .3s ease-out
}

.checkin-result.success {
   background: #ecfdf5;
   border: 1px solid #a7f3d0;
   color: #065f46
}

.checkin-result.error {
   background: #fef2f2;
   border: 1px solid #fecaca;
   color: #991b1b
}

.checkin-result.warning {
   background: #fffbeb;
   border: 1px solid #fde68a;
   color: #92400e
}

.checkin-result .result-icon {
   width: 48px;
   height: 48px;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0
}

.checkin-result.success .result-icon {
   background: #dcfce7
}

.checkin-result.error .result-icon {
   background: #fee2e2
}

.checkin-result.warning .result-icon {
   background: #fef3c7
}

.checkin-result .result-info h3 {
   margin: 0 0 4px;
   font-size: 15px;
   font-weight: 700
}

.checkin-result .result-info p {
   margin: 0;
   font-size: 13px;
   opacity: .8
}

@keyframes checkinSlide {
   from {
      opacity: 0;
      transform: translateY(-10px)
   }

   to {
      opacity: 1;
      transform: translateY(0)
   }
}

.checkin-filters {
   display: flex;
   gap: 12px;
   flex-wrap: wrap;
   margin-bottom: 16px;
   align-items: center
}

.checkin-filters select,
.checkin-filters input {
   padding: 8px 12px;
   border: 1px solid #e2e8f0;
   border-radius: 8px;
   font-size: 13px;
   font-family: var(--font);
   background: #fff
}

.checkin-filters select:focus,
.checkin-filters input:focus {
   border-color: var(--gold);
   outline: none;
   box-shadow: 0 0 0 3px rgba(210, 169, 86, .1)
}

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

.checkin-stat {
   text-align: center;
   padding: 14px;
   background: #f8fafc;
   border-radius: 10px;
   border: 1px solid #e2e8f0
}

.checkin-stat .cs-val {
   font-size: 22px;
   font-weight: 700;
   color: #000000ff
}

.checkin-stat .cs-lbl {
   font-size: 11px;
   color: #64748b;
   text-transform: uppercase;
   letter-spacing: .5px;
   margin-top: 2px
}

/* ============================================================
   DASHBOARD WIDGETS
   ============================================================ */
.dash-welcome {
   background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
   border: none;
   color: #fff;
   border-radius: 16px;
   padding: 32px;
   margin-bottom: 24px;
   position: relative;
   overflow: hidden
}

.dash-welcome::after {
   content: '';
   position: absolute;
   top: -60%;
   right: -10%;
   width: 350px;
   height: 350px;
   background: radial-gradient(circle, rgba(210, 169, 86, .15) 0%, transparent 70%);
   pointer-events: none
}

.dash-welcome h2 {
   margin: 0 0 8px;
   font-size: 22px;
   font-weight: 700;
   color: #fff;
   position: relative;
   z-index: 1
}

.dash-welcome p {
   margin: 0 0 20px;
   color: rgba(255, 255, 255, .6);
   font-size: 14px;
   max-width: 500px;
   position: relative;
   z-index: 1
}

.dash-welcome .dash-actions {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   position: relative;
   z-index: 1
}

.dash-welcome .dash-action {
   display: flex;
   align-items: center;
   gap: 8px;
   padding: 10px 18px;
   background: rgba(255, 255, 255, .1);
   border: 1px solid rgba(255, 255, 255, .15);
   border-radius: 8px;
   color: rgba(255, 255, 255, .9);
   text-decoration: none;
   font-size: 13px;
   font-weight: 500;
   transition: all .15s
}

.dash-welcome .dash-action:hover {
   background: rgba(255, 255, 255, .2);
   color: #fff;
   transform: translateY(-1px)
}

.dash-welcome .dash-action .lucide {
   width: 16px;
   height: 16px
}

.dash-widget-grid {
   display: grid;
   grid-template-columns: 2fr 1fr;
   gap: 16px;
   margin-bottom: 16px
}

.dash-widget-grid-even {
   grid-template-columns: 1fr 1fr
}

.widget-health .health-row {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 8px 0;
   border-bottom: 1px solid #f1f5f9;
   font-size: 13px
}

.widget-health .health-row:last-child {
   border-bottom: none
}

.widget-health .health-dot {
   width: 8px;
   height: 8px;
   border-radius: 50%;
   flex-shrink: 0
}

.widget-health .health-dot.ok {
   background: #10b981
}

.widget-health .health-dot.warn {
   background: #f59e0b
}

.widget-health .health-dot.err {
   background: #ef4444
}

.widget-activity .act-item {
   display: flex;
   gap: 12px;
   padding: 10px 0;
   border-bottom: 1px solid #f1f5f9
}

.widget-activity .act-item:last-child {
   border-bottom: none
}

.widget-activity .act-icon {
   width: 32px;
   height: 32px;
   border-radius: 8px;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0
}

.widget-activity .act-text {
   font-size: 13px;
   color: #334155;
   line-height: 1.5
}

.widget-activity .act-text strong {
   color: #000000ff
}

.widget-activity .act-time {
   font-size: 11px;
   color: #94a3b8;
   margin-top: 2px
}

@media(max-width:768px) {

   .dash-widget-grid,
   .dash-widget-grid-even {
      grid-template-columns: 1fr
   }

   .checkin-stats {
      grid-template-columns: 1fr 1fr
   }

   .dash-welcome {
      padding: 24px
   }
}