/* Estimate-specific controls; the original invoice styles remain shared. */
.estimate-payment-toggle{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin:7px 0 2px;font-size:.78rem;color:#536174}
.estimate-payment-toggle button{border:1px solid #d7dfe5;background:#fff;color:#34485a;border-radius:6px;padding:4px 9px;font-size:.75rem}
.estimate-payment-toggle button:hover{background:#f3f6fa}
@media(max-width:767px){.estimate-payment-toggle{justify-content:flex-start}}
@media print{.estimate-payment-toggle{display:none!important}}

.invoice-logo-area{position:relative}
.estimate-remove-logo{position:absolute;right:4px;top:4px;width:25px;height:25px;line-height:20px;border:1px solid #d5dbe2;border-radius:50%;color:#424c57;background:#fff;font-size:17px;font-weight:700;cursor:pointer;z-index:2}
.estimate-remove-logo:hover{color:#ad2737;border-color:#dfb2ba}
.estimate-remove-logo[hidden]{display:none!important}
.invoice-pdf-host .estimate-remove-logo{display:none!important}


/* Estimate status picker: opening it always shows every status, even when an
   existing value is present. Custom statuses remain editable in the text field. */
.estimate-method-row.is-open{position:relative;z-index:50}
.estimate-method-combobox{position:relative;min-width:0;width:100%}
.invoice-paper .estimate-method-combobox input[data-field="estimateStatus"]{width:100%;padding-right:32px}
.estimate-method-toggle {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    height: 100%;
    max-height: 35px;
    width: 29px;
    border: 0;
    background: transparent;
    color: #59677a;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    font-size: 17px;
    line-height: 1;
}
.estimate-method-toggle span {
    display: block;
    line-height: 1;
}
.estimate-method-toggle:focus-visible{outline:2px solid #b48b44;outline-offset:-2px;border-radius:4px}
.estimate-method-toggle[aria-expanded="true"] span{transform:rotate(180deg)}
.estimate-method-options{position:absolute;right:0;top:calc(100% + 4px);min-width:100%;width:max(100%,205px);max-width:min(285px,calc(100vw - 48px));max-height:320px;overflow-y:auto;overscroll-behavior:contain;background:#fff;color:#182536;border:1px solid #d8dfe8;border-radius:7px;box-shadow:0 8px 22px rgba(16,32,56,.16);z-index:60;padding:4px 0}
.estimate-method-options[hidden]{display:none!important}
.estimate-method-options button[role="option"]{display:block;width:100%;min-height:34px;padding:8px 12px;border:0;background:#fff;color:#182536;text-align:left;font-size:.82rem;line-height:1.4;cursor:pointer;white-space:normal}
.estimate-method-options button[role="option"]:hover,.estimate-method-options button[role="option"].is-active{background:#f0f4fa;color:#172d53}
.estimate-method-options button[role="option"][aria-selected="true"]{font-weight:700}
.estimate-method-options button[role="option"][hidden]{display:none!important}
@media print{.estimate-method-options,.estimate-method-toggle{display:none!important}}
.invoice-pdf-host .estimate-method-options,.invoice-pdf-host .estimate-method-toggle{display:none!important}

/* Optional deposit schedule: leave the remaining-balance row out until a deposit is entered. */
.invoice-total-row[hidden],.invoice-pdf-host .invoice-total-row[hidden]{display:none!important}
/* Free-text estimate dates with an optional native calendar shortcut. The text
   fields have no required/date-format restriction and can be completely blank. */
.invoice-paper .estimate-date-field{position:relative;min-width:0;width:100%}
.invoice-paper .estimate-date-field>input[data-field]{box-sizing:border-box;min-width:0;width:100%;padding-right:36px}
.estimate-date-picker-toggle{position:absolute;right:3px;top:50%;transform:translateY(-50%);width:29px;height:29px;display:flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:inherit;opacity:.78;cursor:pointer;z-index:1}
.estimate-date-picker-toggle:hover{opacity:1}
.estimate-date-picker-toggle:focus-visible{opacity:1;outline:2px solid #b48b44;outline-offset:0;border-radius:4px}
/* Keep the native control rendered so showPicker works in supported browsers;
   it isn't a persisted field and never appears in the generated PDF. */
.invoice-paper .estimate-date-native-picker{position:absolute!important;right:2px!important;top:calc(100% - 1px)!important;width:1px!important;min-width:0!important;height:1px!important;padding:0!important;border:0!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}
@media print{.estimate-date-picker-toggle,.estimate-date-native-picker{display:none!important}}
.invoice-pdf-host .estimate-date-picker-toggle,.invoice-pdf-host .estimate-date-native-picker{display:none!important}
.estimate-method-options[hidden]{display:none!important}

/* The PDF uses wrapping text instead of a single-line input for custom dates.
   This keeps long phrases fully visible rather than clipping their last words. */
.invoice-pdf-host .estimate-pdf-date-value{box-sizing:border-box;min-width:0;width:100%;margin:0;padding:0;text-align:inherit;font:inherit;color:inherit;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}
