.ceo-quote-button {
    width: 100%;
    margin-top: 10px;
    box-sizing: border-box;
    border: 1px solid var(--ceo-quotes-primary, currentColor);
    background: transparent;
    cursor: pointer;
}

.ceo-quote-button--disabled,
.ceo-quote-button:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.ceo-quote-button-help {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.4;
}

.ceo-quote-modal[hidden] {
    display: none !important;
}

.ceo-quote-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.ceo-quote-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.52);
}

.ceo-quote-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(520px, 100%);
    max-height: calc(100vh - 40px);
    overflow: auto;
    background: #fff;
    padding: 28px;
    border-radius: 8px;
    box-shadow: 0 20px 50px rgba(0,0,0,.18);
}

.ceo-quote-modal__dialog h3 {
    margin-top: 0;
}

.ceo-quote-modal__close {
    position: absolute;
    top: 10px;
    right: 12px;
    border: 0;
    background: transparent;
    font-size: 26px;
    cursor: pointer;
}

.ceo-quote-modal__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 22px;
}

.ceo-quote-modal__primary {
    font-weight: 600;
}

.ceo-quote-modal__link {
    display: block;
    width: 100%;
    margin-top: 15px;
    border: 0;
    background: transparent;
    text-decoration: underline;
    cursor: pointer;
}

body.ceo-quote-modal-open {
    overflow: hidden;
}

.ceo-quotes-table-wrap {
    overflow-x: auto;
}

.ceo-quotes-table .ceo-quote-status {
    display: inline-block;
    padding: 3px 8px;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1.4;
}

.ceo-quotes-table .ceo-quote-status--new { color: #2271b1; }
.ceo-quotes-table .ceo-quote-status--review { color: #996800; }
.ceo-quotes-table .ceo-quote-status--approved { color: #008a20; }
.ceo-quotes-table .ceo-quote-status--requires_review { color: #b35300; }
.ceo-quotes-table .ceo-quote-status--rejected { color: #b32d2e; }
.ceo-quotes-table .ceo-quote-status--expired { color: #646970; }
.ceo-quotes-table .ceo-quote-status--cancelled { color: #50575e; }
.ceo-quotes-table .ceo-quote-status--converted { color: #3858e9; }

.ceo-quote-action-placeholder {
    opacity: .65;
}

@media (max-width: 600px) {
    .ceo-quote-modal__actions {
        flex-direction: column;
    }
    .ceo-quote-modal__actions .button {
        width: 100%;
        text-align: center;
    }
}

.ceo-quote-detail__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:18px 0}.ceo-quote-detail__header h2{margin:2px 0 0}.ceo-quote-detail__eyebrow{display:block;font-size:12px;opacity:.65;text-transform:uppercase;letter-spacing:.04em}.ceo-quote-detail__meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}.ceo-quote-detail__meta>div{padding:14px;border:1px solid rgba(0,0,0,.12);border-radius:6px}.ceo-quote-detail__meta span{display:block;margin-bottom:4px;font-size:12px;opacity:.65}.ceo-quote-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:26px 0 34px}.ceo-quote-progress__step{position:relative;text-align:center;font-size:12px;opacity:.45}.ceo-quote-progress__step::before{content:"";position:absolute;top:7px;left:0;right:0;height:1px;background:currentColor}.ceo-quote-progress__step:first-child::before{left:50%}.ceo-quote-progress__step:last-child::before{right:50%}.ceo-quote-progress__dot{position:relative;z-index:1;display:block;width:15px;height:15px;margin:0 auto 7px;border:2px solid currentColor;border-radius:50%;background:#fff}.ceo-quote-progress__step.is-complete{opacity:1}.ceo-quote-progress__step.is-complete .ceo-quote-progress__dot{background:currentColor}.ceo-quotes-detail-table td,.ceo-quotes-detail-table th{vertical-align:top}.ceo-quote-item-note{display:block;margin-top:4px;font-size:12px;opacity:.7}.ceo-quote-totals{width:min(440px,100%);margin:22px 0 28px auto}.ceo-quote-total-line{display:flex;justify-content:space-between;gap:20px;padding:7px 0;border-bottom:1px solid rgba(0,0,0,.08)}.ceo-quote-total-line--grand{padding-top:12px;margin-top:4px;border-top:2px solid currentColor;font-size:1.08em}.ceo-quote-detail__section{margin:28px 0}.ceo-quote-terms{padding-top:18px;border-top:1px solid rgba(0,0,0,.12)}.ceo-quote-removed{margin:20px 0;padding:16px;border:1px solid rgba(0,0,0,.12);border-radius:6px}.ceo-quote-removed__item+.ceo-quote-removed__item{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.08)}@media(max-width:700px){.ceo-quote-detail__meta{grid-template-columns:1fr}.ceo-quote-progress__step{font-size:10px}}


.ceo-quote-rejection {
    margin-top: 24px;
}
.ceo-quote-rejection__message {
    margin: 0;
}

.ceo-quote-pdf-action{margin:18px 0 24px}.ceo-quote-pdf-action .button{display:inline-block}


.ceo-quote-buy-action {
    margin: 24px 0;
    padding: 20px;
    border: 1px solid #e1e1e1;
    border-radius: 6px;
}
.ceo-quote-buy-action h3 {
    margin-top: 0;
}
.ceo-quote-requires-review ul {
    margin: 10px 0 0 20px;
}
