: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; } }
