/* ========================================
   POSTAL DARK PREMIUM THEME
   ======================================== */

/* Base */
html, body, .mainContent { background: #0b0b12 !important; color: #d0d0dc !important; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Inter, system-ui, sans-serif !important; }

/* Top header bar */
.appHeader { background: #0e0e18 !important; border-bottom: 1px solid #ffffff0a !important; box-shadow: 0 1px 20px #00000040 !important; }
.appHeader__inner { background: transparent !important; }
.appHeader__logo { opacity: .85; }
.appHeader__logo span { color: #8b8ba0 !important; }
.appHeader a { color: #b0b0c4 !important; text-decoration: none !important; transition: color .2s !important; }
.appHeader a:hover { color: #fff !important; }
.appHeader__navLink, .appHeader__userLink { color: #8b8ba0 !important; padding: 6px 14px !important; border-radius: 8px !important; transition: all .2s !important; font-size: 13px !important; }
.appHeader__navLink:hover, .appHeader__userLink:hover { color: #e0e0ed !important; background: #ffffff08 !important; }
.appHeader__navLink--active { color: #fff !important; background: #6366f118 !important; }

/* Page title bar */
.u-margin, .page-header, [class*='pageTitle'], h1.pageTitle, .mainContent > .u-margin:first-child {
  background: #10101a !important; border-bottom: 1px solid #ffffff08 !important; padding: 20px 28px !important;
}
h1, h2, h3, h4 { color: #e8e8f0 !important; font-weight: 600 !important; letter-spacing: -.3px !important; }

/* Welcome message */
.mainContent h1 { font-size: 22px !important; }

/* Empty state / No organizations */
.mainContent p, p { color: #7a7a92 !important; line-height: 1.6 !important; }
.mainContent strong, strong, b { color: #c0c0d0 !important; }
h2 { color: #9898ae !important; font-weight: 500 !important; font-size: 18px !important; }

/* Buttons */
a.button, .button, input[type='submit'], .btn {
  border-radius: 12px !important; font-weight: 600 !important; font-size: 14px !important;
  padding: 12px 24px !important; transition: all .25s cubic-bezier(.4,0,.2,1) !important;
  text-decoration: none !important; display: inline-block !important; cursor: pointer !important;
  border: none !important;
}
a.button--positive, .button--positive, input[type='submit'].button--positive, .btn-primary {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%) !important;
  color: white !important; box-shadow: 0 4px 20px #6366f130 !important;
}
a.button--positive:hover, .button--positive:hover, input[type='submit'].button--positive:hover {
  box-shadow: 0 8px 32px #6366f150 !important; transform: translateY(-1px) !important;
}
a.button--neutral, .button--neutral, .button--secondary, .btn-default {
  background: #1a1a28 !important; color: #c0c0d4 !important; border: 1px solid #ffffff10 !important;
}
a.button--neutral:hover, .button--neutral:hover { background: #22222e !important; color: #fff !important; border-color: #ffffff20 !important; }

/* Forms */
.input--text, input[type='text'], input[type='email'], input[type='password'], input[type='number'], input[type='url'],
textarea, select, .input--onWhite {
  background: #14141f !important; border: 1px solid #ffffff0d !important; border-radius: 10px !important;
  color: #e0e0ed !important; padding: 12px 16px !important; font-size: 14px !important;
  transition: border-color .2s, box-shadow .2s !important; outline: none !important;
}
.input--text:focus, input:focus, textarea:focus, select:focus, .input--onWhite:focus {
  border-color: #6366f1 !important; box-shadow: 0 0 0 3px #6366f125 !important;
}
::placeholder { color: #4a4a60 !important; }
label { color: #8888a0 !important; font-size: 13px !important; font-weight: 500 !important; }

/* Tables */
table { width: 100% !important; border-collapse: collapse !important; }
table th { background: #12121c !important; color: #7a7a92 !important; font-weight: 600 !important;
  font-size: 11px !important; text-transform: uppercase !important; letter-spacing: .8px !important;
  padding: 12px 16px !important; border-bottom: 1px solid #ffffff0a !important; text-align: left !important; }
table td { color: #c0c0d4 !important; padding: 12px 16px !important; border-bottom: 1px solid #ffffff06 !important; }
table tr:hover td { background: #ffffff04 !important; }
table tbody tr { transition: background .15s !important; }

/* Cards / Panels / Boxes */
.panel, .card, .box, .well, .detail, .detailList { 
  background: #12121c !important; border: 1px solid #ffffff0a !important; border-radius: 16px !important; 
  padding: 20px !important; box-shadow: 0 2px 12px #00000020 !important;
}

/* Sidebar */
.page__sidebar, .appSidebar, .sidebar {
  background: #0e0e18 !important; border-right: 1px solid #ffffff08 !important;
}
.page__sidebar a, .appSidebar a, .sidebar a {
  color: #8888a0 !important; padding: 10px 16px !important; border-radius: 10px !important;
  display: block !important; transition: all .2s !important; text-decoration: none !important; font-size: 13px !important;
}
.page__sidebar a:hover, .appSidebar a:hover { color: #e0e0f0 !important; background: #ffffff08 !important; }
.page__sidebar a.active, .appSidebar a.active { color: #c4b5fd !important; background: #6366f115 !important; font-weight: 600 !important; }

/* Tags / Badges */
.tag, .badge, .label { border-radius: 8px !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: .3px !important; padding: 4px 10px !important; }

/* Flash messages */
.flash { border-radius: 12px !important; padding: 14px 20px !important; border: none !important; font-size: 14px !important; }
.flash--notice, .flash--success { background: #22c55e12 !important; color: #4ade80 !important; border: 1px solid #22c55e20 !important; }
.flash--alert, .flash--error { background: #ef444412 !important; color: #f87171 !important; border: 1px solid #ef444420 !important; }

/* Footer */
footer, .footer, [class*='footer'] { background: transparent !important; border-top: 1px solid #ffffff06 !important; color: #4a4a60 !important; }
footer a, .footer a { color: #6366f1 !important; }

/* Links global */
a { color: #818cf8 !important; text-decoration: none !important; transition: color .2s !important; }
a:hover { color: #a5b4fc !important; }

/* Login page specific */
html.subPage, html.subPage body { background: #0b0b12 !important; }
.subPageBox { background: linear-gradient(180deg, #14141f 0%, #0f0f1a 100%) !important; border: 1px solid #ffffff0a !important; 
  border-radius: 24px !important; box-shadow: 0 25px 60px -12px #00000060, 0 0 80px #6366f106 !important; padding: 44px !important; max-width: 420px !important; }
.subPageBox__title { color: #e8e8f0 !important; font-size: 22px !important; font-weight: 700 !important; margin-bottom: 8px !important; }
.subPageBox__content { color: #8888a0 !important; }
.loginForm__links a { color: #6b6b84 !important; font-size: 13px !important; }
.loginForm__links a:hover { color: #818cf8 !important; }

/* Organization setup page specifics */
.u-margin h2 + p { max-width: 500px !important; margin: 0 auto !important; }

/* Tooltips */
[data-tooltip]::after { background: #1a1a28 !important; color: #e0e0ed !important; border-radius: 8px !important; border: 1px solid #ffffff10 !important; }

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #ffffff12; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #ffffff22; }

/* Dropdowns / Menus */
.dropdown-menu, [class*='dropdown'] { background: #14141f !important; border: 1px solid #ffffff0d !important; border-radius: 12px !important; box-shadow: 0 12px 40px #00000050 !important; }
.dropdown-menu a, [class*='dropdown'] a { color: #c0c0d4 !important; padding: 10px 16px !important; }
.dropdown-menu a:hover { background: #ffffff08 !important; color: #fff !important; }

/* Code blocks / Pre */
code, pre { background: #14141f !important; color: #a5b4fc !important; border-radius: 8px !important; border: 1px solid #ffffff08 !important; font-size: 13px !important; }

/* HR */
hr { border-color: #ffffff08 !important; }

/* Misc overrides for ugly default styles */
.u-grey { color: #6b6b84 !important; }
.u-bold { color: #d0d0e0 !important; }
.headerRight a, .headerRight span { color: #8888a0 !important; }
