
/*
 ICARYS_MASTER_V18_3A
 Master design system foundation.

 This is the beginning of controlled CSS consolidation.
 Do not delete existing page styles until their components
 have been migrated and verified.
*/

:root {
    --ic-color-ink: #111827;
    --ic-color-ink-soft: #334155;
    --ic-color-white: #ffffff;
    --ic-color-blue: #1769ff;
    --ic-color-border: #cbd5e1;
    --ic-color-surface: #f8fafc;
    --ic-radius-control: 9px;
    --ic-focus-ring: #1769ff;
}

/* Canonical shared navigation. */
body .icx-nav {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border-bottom: 1px solid #dce5ee !important;
}

body .icx-nav .icx-nav__link:not(.is-active) {
    background: transparent !important;
    background-color: transparent !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
}

body .icx-nav .icx-nav__link:not(.is-active):hover,
body .icx-nav .icx-nav__link:not(.is-active):focus-visible {
    background: #edf2f7 !important;
    background-color: #edf2f7 !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
}

body .icx-nav .icx-nav__link.is-active,
body .icx-nav .icx-nav__link.is-active:hover,
body .icx-nav .icx-nav__link.is-active:focus-visible {
    background: #111827 !important;
    background-color: #111827 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: #111827 !important;
}

/* Mandate Board: Dashboard and Quote Pricing controls. */
body a.mb-btn.secondary,
body a.mb-btn.secondary:hover,
body a.mb-btn.secondary:focus-visible {
    background: #111827 !important;
    background-color: #111827 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: #111827 !important;
    text-decoration: none !important;
}

body a.mb-btn:not(.secondary) {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    border: 1px solid #cbd5e1 !important;
    text-decoration: none !important;
}

body a.mb-btn:not(.secondary):hover,
body a.mb-btn:not(.secondary):focus-visible {
    background: #edf2f7 !important;
    background-color: #edf2f7 !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
}

/* Shared primary controls. */
body .btn.primary,
body .btn.btn-primary,
body button.primary,
body button.btn-primary,
body input[type="submit"].primary {
    background: #111827 !important;
    background-color: #111827 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: #111827 !important;
}

body .btn.primary:hover,
body .btn.btn-primary:hover,
body button.primary:hover,
body button.btn-primary:hover {
    background: #334155 !important;
    background-color: #334155 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Accessible keyboard navigation. */
body .icx-nav a:focus-visible,
body a.mb-btn:focus-visible,
body button:focus-visible {
    outline: 2px solid var(--ic-focus-ring) !important;
    outline-offset: 2px;
}

/* Master responsive container available for migration. */
.ic-page-container {
    width: min(100% - 32px, 1320px);
    margin-inline: auto;
}

.ic-table-scroll {
    max-width: 100%;
    overflow-x: auto;
}

@media (max-width: 640px) {
    .ic-page-container {
        width: calc(100% - 24px);
    }
}

/* ECHO CRM V18.4: scoped CSS in authoritative master stylesheet */
.echo-crm-page .ec-root{max-width:1500px;margin:auto;padding:28px 22px 80px;color:#111827;font-family:system-ui,-apple-system,Segoe UI,sans-serif}
.echo-crm-page .ec-root *{box-sizing:border-box}
.echo-crm-page .ec-hero{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-bottom:1px solid #dae2ea;padding-bottom:20px}
.echo-crm-page .ec-hero h1{font-size:28px;margin:6px 0}
.echo-crm-page .ec-hero p{color:#475569;margin:3px 0}
.echo-crm-page .ec-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}
.echo-crm-page .ec-stats article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px;display:grid}
.echo-crm-page .ec-stats strong{font-size:27px}
.echo-crm-page .ec-stats span{font-size:12px;color:#475569}
.echo-crm-page .ec-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.echo-crm-page .ec-tabs a{padding:10px 15px;border:1px solid #cbd5e1;border-radius:8px;text-decoration:none;color:#111827!important;background:#fff!important}
.echo-crm-page .ec-tabs a.on{background:#111827!important;color:#fff!important}
.echo-crm-page .ec-panel{border:1px solid #dbe3ec;background:#fff;border-radius:10px;padding:16px;margin:12px 0}
.echo-crm-page .ec-panel h2{margin:0 0 12px;font-size:17px}
.echo-crm-page summary{cursor:pointer;font-weight:700}
.echo-crm-page .ec-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:12px}
.echo-crm-page .ec-form.edit{min-width:340px}
.echo-crm-page .ec-form label{display:grid;gap:5px;min-width:0}
.echo-crm-page .ec-form .wide{grid-column:1/-1}
.echo-crm-page .ec-root input,.echo-crm-page .ec-root select,.echo-crm-page .ec-root textarea{padding:10px;width:100%;min-width:0;border:1px solid #aebccc;border-radius:7px;background:#fff!important;color:#111827!important;-webkit-text-fill-color:#111827!important}
.echo-crm-page .ec-root button{background:#fff!important;color:#111827!important;border:1px solid #aebccc!important;border-radius:7px;padding:10px 14px;cursor:pointer}
.echo-crm-page .ec-root button.primary{background:#111827!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#111827!important}
.echo-crm-page .ec-scroll{overflow-x:auto;width:100%}
.echo-crm-page table{width:100%;border-collapse:collapse;min-width:700px;font-size:13px}
.echo-crm-page td,.echo-crm-page th{padding:12px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top}
.echo-crm-page th{background:#f8fafc}
.echo-crm-page .ec-search{display:flex;gap:8px;max-width:560px;margin:15px 0}
.echo-crm-page .ec-alert{background:#fff1f2;color:#9f1239;padding:12px;border:1px solid #fecdd3}
.echo-crm-page .ec-success{background:#ecfdf5;color:#065f46;padding:12px}
.echo-crm-page .ec-board{display:flex;gap:12px;overflow-x:auto;padding:8px 0 24px}
.echo-crm-page .ec-lane{flex:0 0 235px;background:#f5f7fa;border:1px solid #e2e8f0;border-radius:10px;padding:12px;min-height:300px}
.echo-crm-page .ec-lane h2{font-size:15px;margin:0 0 12px}
.echo-crm-page .ec-card{padding:12px;background:#fff;border:1px solid #d4dde8;border-radius:8px;margin-bottom:10px;cursor:grab;display:grid;gap:7px}
.echo-crm-page .ec-card small{color:#64748b}
.echo-crm-page .ec-note{border-bottom:1px solid #e2e8f0;padding:8px}
.echo-crm-page .ec-note small{display:block;color:#64748b}
@media(max-width:750px){
.echo-crm-page .ec-stats{grid-template-columns:repeat(2,1fr)}
.echo-crm-page .ec-form{grid-template-columns:1fr}
.echo-crm-page .ec-root{padding:16px 12px}
}
