:root { --ax-navy: #10233f; --ax-blue: #1768e8; --ax-soft: #eef5ff; --ax-green: #0f9b74; }
body { color: #152238; background: #fff; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color: var(--ax-blue); text-underline-offset: .15em; }
.brand { color: var(--ax-navy); font-size: 1.7rem; letter-spacing: -0.075rem; text-decoration: none; }
.brand span { color: var(--ax-blue); }
.brand-light { color: #fff; }
.navbar { box-shadow: 0 1px 0 rgba(16,35,63,.04); }
.hero { background: radial-gradient(circle at 85% 20%, #dceaff 0, #f5f9ff 28%, #fff 62%); }
.py-lg-6 { padding-top: 6.5rem; padding-bottom: 6.5rem; }
.eyebrow, .mini-label { color: var(--ax-blue); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hero h1 { color: var(--ax-navy); letter-spacing: -0.05em; max-width: 780px; }
.btn-primary { background: var(--ax-blue); border-color: var(--ax-blue); }
.btn-primary:hover, .btn-primary:focus { background: #0f56c6; border-color: #0f56c6; }
.btn-outline-primary { color: var(--ax-blue); border-color: var(--ax-blue); }
.hero-card, .auth-card, .content-card, .info-card { background: #fff; border: 1px solid #dce6f5; border-radius: 1rem; padding: 1.5rem; }
.hero-card { border-color: #d5e4ff; }
.metric-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .75rem; }
.metric-grid div { padding: .75rem; background: #f5f9ff; border-radius: .75rem; }
.metric-grid strong { color: var(--ax-navy); display: block; font-size: 1.1rem; }
.metric-grid span { color: #66758c; display: block; font-size: .75rem; margin-top: .15rem; }
.trust-row { display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; color: #3d506c; font-weight: 600; font-size: .92rem; }
.info-card { padding: 1.15rem; }
.info-card p { color: #65758b; margin-bottom: 0; font-size: .92rem; }
.cta-band { background: linear-gradient(120deg, var(--ax-navy), #1d4e9e); border-radius: 1.25rem; color: #fff; padding: 3.25rem 1.5rem; }
.content-card { border-left: 4px solid #cfe0ff; }
.auth-card { box-shadow: 0 18px 50px rgba(22, 45, 77, .08); }
.footer { background: #0d1e35; color: #fff; }
.footer a { color: #cbd9ee; text-decoration: none; }
.footer a:hover { color: #fff; }
.legal-copy { line-height: 1.75; }
@media (max-width: 991px) { .py-lg-6 { padding-top: 4rem; padding-bottom: 4rem; } }


/* Publisher workspace */
.dashboard-shell { background: #f8fbff; min-height: 60vh; }
.onboarding-card, .partner-card, .site-card, .status-card, .empty-state, .empty-inline { background:#fff; border:1px solid #dce6f5; border-radius:1rem; padding:1.25rem; }
.onboarding-card { border-color:#d5e4ff; }
.partner-card { background:linear-gradient(145deg,#fff,#f4f8ff); }
.launch-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.55rem; }
.launch-steps span { background:#f5f9ff; border-radius:.65rem; padding:.65rem; font-size:.78rem; color:#4a5d77; font-weight:700; }
.launch-steps b { display:inline-flex; width:1.3rem; height:1.3rem; align-items:center; justify-content:center; background:#dceaff; color:#1768e8; border-radius:50%; margin-right:.35rem; }
.status-pill { display:inline-flex; align-items:center; border-radius:999px; padding:.25rem .55rem; font-size:.7rem; font-weight:800; line-height:1; text-transform:uppercase; letter-spacing:.03em; white-space:nowrap; }
.status-good { background:#e4f6ef; color:#087956; }
.status-warn { background:#fff4d8; color:#8a5b00; }
.status-info { background:#e8f0ff; color:#1b5fcb; }
.site-card { display:flex; flex-direction:column; }
.metric-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; }
.metric-strip-large { grid-template-columns:repeat(5,minmax(0,1fr)); }
.metric-strip div { min-width:0; background:#f5f9ff; padding:.65rem; border-radius:.6rem; }
.metric-strip strong { display:block; color:#10233f; font-size:1rem; overflow:hidden; text-overflow:ellipsis; }
.metric-strip span { display:block; color:#66758c; font-size:.67rem; line-height:1.15; margin-top:.2rem; }
.site-card .btn { margin-top:auto; }
.empty-state { padding:4rem 1.5rem; text-align:center; border-style:dashed; }
.empty-icon { color:#1768e8; font-size:2.25rem; font-weight:800; margin-bottom:.7rem; }
.empty-inline { border-style:dashed; }
.status-card strong { text-transform:capitalize; color:#10233f; }
.code-box { border:1px solid #dce6f5; background:#f7faff; border-radius:.7rem; padding:.9rem; display:grid; gap:.5rem; overflow:auto; }
.code-box span { color:#60718b; font-size:.78rem; }
.code-box code { color:#143a78; font-size:.82rem; white-space:pre-wrap; word-break:break-word; }
.code-box-dark { background:#10233f; border-color:#10233f; }
.code-box-dark code { color:#e8f0ff; }
.fallback-panel { background:#f8fbff; border:1px solid #dce6f5; padding:1.15rem; border-radius:.85rem; }
@media (max-width: 767px) { .launch-steps { grid-template-columns:repeat(2,minmax(0,1fr)); } .metric-strip-large { grid-template-columns:repeat(3,minmax(0,1fr)); } }


/* Marketplace discovery */
.marketplace-page { min-height: 65vh; background: linear-gradient(180deg,#f8fbff 0,#fff 18rem); }
.market-filter { background:#fff; border:1px solid #dce6f5; border-radius:1rem; padding:1rem; box-shadow:0 10px 28px rgba(16,35,63,.04); }
.market-card, .detail-card, .booking-card, .detail-side { background:#fff; border:1px solid #dce6f5; border-radius:1rem; padding:1.25rem; }
.market-card { position:relative; transition:transform .15s ease, box-shadow .15s ease; }
.market-card:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(16,35,63,.08); }
.market-card .stretched-link:after { z-index:1; }
.market-desc { min-height:2.7rem; color:#586a82; font-size:.9rem; }
.market-meta { display:flex; flex-wrap:wrap; gap:.4rem; }
.market-meta span { background:#f2f6fc; color:#425675; border-radius:999px; padding:.25rem .5rem; font-size:.72rem; font-weight:700; }
.market-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.45rem; }
.market-stats div { background:#f7faff; padding:.6rem; border-radius:.65rem; min-width:0; }
.market-stats b { display:block; font-size:.88rem; color:var(--ax-navy); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.market-stats span { display:block; font-size:.65rem; color:#677991; line-height:1.15; margin-top:.15rem; }
.detail-card { border-color:#d5e4ff; }
.detail-metric { background:#f7faff; border-radius:.75rem; padding:.9rem; height:100%; }
.detail-metric span { display:block; color:#63758d; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.detail-metric b { display:block; color:#10233f; margin-top:.35rem; font-size:1.05rem; }
.booking-card { border-color:#bfd6ff; box-shadow:0 18px 36px rgba(16,35,63,.08); }
.detail-side { background:#f8fbff; }
@media(max-width:767px) { .market-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* Package 07 communications and support */
.notification-unread { background:#f4f8ff; border-left:4px solid var(--ax-blue)!important; }
.message-thread { display:grid; gap:.8rem; }
.message-card { border:1px solid #dce6f5; border-radius:.85rem; padding:.9rem 1rem; background:#fff; max-width:92%; }
.message-card.message-me { margin-left:auto; background:#f2f7ff; border-color:#bdd5ff; }
.message-card small { color:#6c7b91; }

/* Package 11 reporting and launch diagnostics */
.report-card { background:#fff; border:1px solid #dce6f5; border-radius:1rem; padding:1.05rem 1.15rem; border-top:4px solid #cfe0ff; }
.report-card span { display:block; color:#66758c; font-size:.72rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.report-card strong { display:block; color:#10233f; font-size:1.55rem; line-height:1.1; margin-top:.5rem; letter-spacing:-.04em; }
.report-card small { display:block; color:#66758c; font-size:.75rem; margin-top:.35rem; line-height:1.25; }
.report-bars { height:190px; display:flex; align-items:flex-end; gap:.35rem; padding:.5rem .15rem 0; border-bottom:1px solid #dce6f5; overflow-x:auto; }
.report-bar { min-width:26px; height:170px; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:.35rem; }
.report-bar i { display:block; width:100%; min-height:3px; border-radius:5px 5px 1px 1px; background:linear-gradient(180deg,#4d8df5,#1768e8); }
.report-bar span { color:#73849a; font-size:.62rem; white-space:nowrap; transform:rotate(-42deg); transform-origin:50% 0; margin-top:.25rem; }
.status-danger { background:#ffe8e8; color:#aa2f2f; }
@media (max-width:767px) { .report-bars { height:170px; } .report-bar { height:150px; min-width:23px; } }

/* Package 18: compact responsive first-party registration slider CAPTCHA */
.registration-captcha { border:1px solid #cfe0ff; border-radius:1rem; background:#f8fbff; padding:1rem; }
.advexa-hp { position:absolute!important; left:-99999px!important; width:1px!important; height:1px!important; overflow:hidden!important; opacity:0!important; pointer-events:none!important; }
.slider-captcha-stage { position:relative; width:100%; height:86px; overflow:hidden; border:1px solid #cfe0ff; border-radius:.85rem; background:linear-gradient(135deg,#eaf3ff,#f8fbff); box-shadow:inset 0 1px 0 rgba(255,255,255,.75); }
.captcha-stage-copy { position:absolute; inset:10px auto auto 12px; color:#5f7189; font-size:.72rem; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }
.captcha-target, .captcha-piece { position:absolute; top:31px; left:0; width:38px; height:42px; display:block; transition:transform .06s linear; }
.captcha-target { color:#7daeff; opacity:.75; border:2px dashed currentColor; border-radius:12px; padding:3px; }
.captcha-target svg { opacity:.46; }
.captcha-piece { color:#1768e8; filter:drop-shadow(0 3px 4px rgba(16,35,63,.18)); pointer-events:none; z-index:2; }
.captcha-target svg, .captcha-piece svg { display:block; width:100%; height:100%; }
.captcha-controls { min-width:0; }
.captcha-drag-icon { width:32px; height:32px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; border-radius:50%; background:#dceaff; color:#1768e8; font-weight:900; }
.captcha-range { flex:1; min-width:0; }
.captcha-status { min-height:1.25rem; margin:.75rem 0 0; font-size:.84rem; color:#5c6e87; }
.captcha-status.success { color:#087956; font-weight:700; }
.captcha-status.error { color:#aa2f2f; font-weight:700; }
.captcha-loading { min-height:86px; display:flex; align-items:center; justify-content:center; border:1px dashed #bcd2f4; border-radius:.85rem; color:#5f7189; font-size:.9rem; }
.captcha-text-challenge { padding:.9rem; border:1px solid #dce6f5; border-radius:.85rem; background:#fff; }
@media (max-width:420px) { .registration-captcha { padding:.85rem; } .captcha-stage-copy { font-size:.67rem; } }

/* Package 20: compact role-based navigation */
.nav-menu-toggle { border:0; background:transparent; }
.nav-menu-toggle:focus-visible { outline:2px solid var(--ax-blue); outline-offset:2px; border-radius:.35rem; }
.navbar .dropdown-menu { border:1px solid #dce6f5; border-radius:.85rem; box-shadow:0 16px 36px rgba(16,35,63,.12); padding:.45rem; }
.account-nav-menu { min-width:15.25rem; }
.admin-nav-menu { width:min(760px, calc(100vw - 2rem)); max-width:calc(100vw - 2rem); padding:.7rem!important; }
.admin-nav-dashboard { border:1px solid #d5e4ff; border-radius:.6rem; background:#f4f8ff; color:#153d7c; font-weight:800; margin-bottom:.65rem; padding:.65rem .75rem; }
.admin-nav-dashboard:hover, .admin-nav-dashboard:focus { background:#e8f1ff; color:#153d7c; }
.admin-nav-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem .8rem; }
.admin-nav-group { min-width:0; }
.admin-nav-group .dropdown-header { color:#66758c; font-size:.67rem; font-weight:800; letter-spacing:.055em; padding:.15rem .55rem .35rem; text-transform:uppercase; white-space:normal; }
.admin-nav-group .dropdown-item { border-radius:.45rem; color:#263c59; font-size:.9rem; padding:.38rem .55rem; white-space:normal; }
.admin-nav-group .dropdown-item:hover, .admin-nav-group .dropdown-item:focus { background:#f0f6ff; color:#143a78; }
@media (max-width: 1199px) { .admin-nav-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 991px) {
  .navbar .dropdown-menu { box-shadow:none; margin:.1rem 0 .45rem; }
  .admin-nav-menu, .account-nav-menu { width:100%; max-width:100%; }
}
@media (max-width: 575px) { .admin-nav-grid { grid-template-columns:1fr; } }
