/* ==========================================================================
   CONFIGURAÇÕES GERAIS E TIPOGRAFIA
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

:root {
    --ks-orange: #ff8500;
    --ks-orange-dark: #e86f00;
    --ks-blue: #009ec3;
    --ks-blue-dark: #007fa0;
    --ks-yellow: #ffe28a;
    --ks-pink: #ffd6e4;
    --ks-mint: #c8f3dc;
    --ks-text: #333333;
    --ks-muted: #777777;
    --ks-light: #f8f8f8;
    --ks-white: #ffffff;
    --appf-page-bg: #f8f9fa;
    --appf-grid-header-bg: #f1f3f5;
    --appf-grid-header-text: #495057;
    --appf-form-border: #dee2e6;
    --appf-input-bg: #f8f9fa;
    --appf-form-muted: #6c757d;
    --appf-orange: #ff4500;
    --appf-title-gray: #74818c;
    --appf-block-title-gray: #6b7580;
}

body {
    font-family: "Poppins", sans-serif;
    background-color: var(--appf-page-bg);
    color: var(--ks-text);
}

/* ==========================================================================
   CORES E GRADIENTES (PADRÃO apPF)
   ========================================================================== */
.bg-apPF {
    background: linear-gradient(135deg, var(--ks-blue) 0%, var(--ks-blue-dark) 100%) !important;
}

.text-orange {
    color: var(--ks-orange) !important;
}

.btn,
.btn-orange,
.btn-outline-secondary,
.btn-outline-danger,
.btn-print {
    background: linear-gradient(135deg, var(--ks-orange) 0%, var(--ks-orange-dark) 100%);
    border: none !important;
    color: var(--ks-white) !important;
    font-weight: 500;
    transition: all 0.3s ease;
}

.btn:hover,
.btn:focus,
.btn-orange:hover,
.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-danger:hover,
.btn-outline-danger:focus,
.btn-print:hover {
    background: linear-gradient(135deg, var(--ks-orange-dark) 0%, var(--ks-orange) 100%);
    color: var(--ks-white) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(232, 111, 0, 0.3);
}

.btn-back {
    background: linear-gradient(135deg, #6ed7ee 0%, #009ec3 100%) !important;
    color: var(--ks-white) !important;
}

.btn-back:hover,
.btn-back:focus {
    background: linear-gradient(135deg, #009ec3 0%, #6ed7ee 100%) !important;
    box-shadow: 0 4px 10px rgba(0, 158, 195, 0.3);
    color: var(--ks-white) !important;
}

.btn:disabled,
.btn.disabled {
    background: linear-gradient(135deg, #f0b06a 0%, #d69552 100%) !important;
    color: rgba(255,255,255,0.86) !important;
    transform: none;
    box-shadow: none;
}

.btn-back::before,
.btn-new::before,
.btn-save::before,
.btn-confirm-item::before,
.btn-rateio-item::before,
.btn-send-proposal::before,
.btn-approve::before,
.btn-reject::before,
.btn-print::before,
.btn-photo::before,
.btn-manage-photos::before,
.btn-edit::before,
.btn-consolidate::before,
.btn-generate-purchase::before,
.btn-history::before,
.btn-delete::before,
.btn-filter::before,
.btn-sync::before,
.btn-price-log::before,
.btn-bulk-edit::before,
.btn-bulk-select::before,
.btn-bulk-apply::before,
.btn-login::before,
.btn-key::before,
.btn-view::before,
.btn-exit::before {
    background-color: currentColor;
    content: "";
    display: inline-block;
    flex: 0 0 auto;
    height: 1.12rem;
    margin-right: 0.4rem;
    -webkit-mask: var(--btn-icon) center / contain no-repeat;
    mask: var(--btn-icon) center / contain no-repeat;
    vertical-align: -0.15rem;
    width: 1.12rem;
}

.btn-back { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8z'/%3E%3C/svg%3E"); }
.btn-new { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z'/%3E%3C/svg%3E"); }
.btn-save { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M2 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H9.5a1 1 0 0 0-1 1v5.293l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 7.293V2a2 2 0 0 1 2-2H14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h2.5a.5.5 0 0 1 0 1H2z'/%3E%3C/svg%3E"); }
.btn-confirm-item { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M13.485 1.929a1 1 0 0 1 0 1.414l-7.07 7.071a1 1 0 0 1-1.415 0L2.515 7.929a1 1 0 1 1 1.414-1.414l1.778 1.778 6.364-6.364a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E"); }
.btn-rateio-item { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M2 2a2 2 0 0 1 2-2h1a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm7 0a2 2 0 0 1 2-2h1a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2V2zM2 9a2 2 0 0 1 2-2h1a2 2 0 0 1 2 2v5H5v-1H4v1H2V9zm9-2h1a2 2 0 0 1 2 2v5h-2v-1h-1v1H9V9a2 2 0 0 1 2-2z'/%3E%3C/svg%3E"); }
.btn-send-proposal { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M15.85.15a.5.5 0 0 0-.52-.12l-15 6a.5.5 0 0 0 .03.94l6.19 2.06 2.06 6.19a.5.5 0 0 0 .94.03l6-15a.5.5 0 0 0-.12-.52ZM7.35 8.32 2 6.54l11.5-4.6-6.15 6.38Zm1.1 5.35-1.78-5.35 6.38-6.15-4.6 11.5Z'/%3E%3C/svg%3E"); }
.btn-approve { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-3.97-3.03a.75.75 0 0 0-1.08.02L6.48 10.69 4.38 8.59a.75.75 0 0 0-1.06 1.06l2.65 2.65a.75.75 0 0 0 1.08-.02l4.99-6.24a.75.75 0 0 0-.01-1.07Z'/%3E%3C/svg%3E"); }
.btn-reject { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM5.35 4.29a.75.75 0 0 0-1.06 1.06L6.94 8l-2.65 2.65a.75.75 0 0 0 1.06 1.06L8 9.06l2.65 2.65a.75.75 0 0 0 1.06-1.06L9.06 8l2.65-2.65a.75.75 0 0 0-1.06-1.06L8 6.94 5.35 4.29Z'/%3E%3C/svg%3E"); }
.btn-print { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M5 1h6v3H5V1Zm7 4H4a2 2 0 0 0-2 2v4h3v4h6v-4h3V7a2 2 0 0 0-2-2Zm-2 9H6v-3h4v3Zm2-5H4V7h8v2Z'/%3E%3C/svg%3E"); }
.btn-photo { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M10.5 8.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Z'/%3E%3Cpath d='M4.5 2a1.5 1.5 0 0 0-1.34.83L2.38 4.38A2 2 0 0 0 1 6.28V12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6.28a2 2 0 0 0-1.38-1.9l-.78-1.55A1.5 1.5 0 0 0 11.5 2h-7ZM8 12a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Z'/%3E%3C/svg%3E"); }
.btn-manage-photos { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M10.5 8.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Z'/%3E%3Cpath d='M4.5 2a1.5 1.5 0 0 0-1.34.83L2.38 4.38A2 2 0 0 0 1 6.28V12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6.28a2 2 0 0 0-1.38-1.9l-.78-1.55A1.5 1.5 0 0 0 11.5 2h-7ZM8 12a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Z'/%3E%3C/svg%3E"); }
.btn-edit { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M12.146.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-10 10a.5.5 0 0 1-.168.11l-5 2a.5.5 0 0 1-.65-.65l2-5a.5.5 0 0 1 .11-.168l10-10zM11.207 2.5 13.5 4.793 14.793 3.5 12.5 1.207 11.207 2.5zm1.586 3L10.5 3.207 4 9.707V10h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.293l6.5-6.5z'/%3E%3C/svg%3E"); }
.btn-consolidate { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M8 1 1.5 4.75v6.5L8 15l6.5-3.75v-6.5L8 1Zm0 1.73 4.32 2.49L8 7.7 3.68 5.22 8 2.73ZM3 6.52l4.25 2.44v4.07L3 10.58V6.52Zm5.75 6.51V8.96L13 6.52v4.06l-4.25 2.45Z'/%3E%3Cpath d='m12.37 5.43.92.92-3.18 3.18-1.65-1.65.92-.92.73.73 2.26-2.26Z'/%3E%3C/svg%3E"); }
.btn-generate-purchase { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M1 2.5A.5.5 0 0 1 1.5 2H3a1 1 0 0 1 .95.68L4.3 4H14a.5.5 0 0 1 .48.64l-1.5 5A.5.5 0 0 1 12.5 10H5.1l.3 1H13a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.48-.36L3 3H1.5a.5.5 0 0 1-.5-.5ZM5 13.5A1.5 1.5 0 1 0 5 16a1.5 1.5 0 0 0 0-2.5Zm7.5 0A1.5 1.5 0 1 0 12.5 16a1.5 1.5 0 0 0 0-2.5Z'/%3E%3Cpath d='M9.5 5.25a.5.5 0 0 1 .5.5V7h1.25a.5.5 0 0 1 0 1H10v1.25a.5.5 0 0 1-1 0V8H7.75a.5.5 0 0 1 0-1H9V5.75a.5.5 0 0 1 .5-.5Z'/%3E%3C/svg%3E"); }
.btn-history { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M8 3a5 5 0 1 1-4.55 2.94.5.5 0 1 0-.9-.43A6 6 0 1 0 8 2v1Z'/%3E%3Cpath d='M8 1.5 5.5 4H8v2.5L10.5 4H8V1.5Zm.5 4a.5.5 0 0 0-1 0v3.2c0 .17.08.33.22.42l2.2 1.5a.5.5 0 1 0 .56-.82L8.5 8.45V5.5Z'/%3E%3C/svg%3E"); }
.btn-delete { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V6z'/%3E%3Cpath fill-rule='evenodd' d='M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1 0-2H5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1h2.5a1 1 0 0 1 1 1zM4.118 4 4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4H4.118z'/%3E%3C/svg%3E"); }
.btn-filter { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M6 10.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3A.5.5 0 0 1 2.5 4h11a.5.5 0 0 1 0 1h-11A.5.5 0 0 1 2 4.5z'/%3E%3C/svg%3E"); }
.btn-sync { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M8 1.5a6.5 6.5 0 0 1 6.18 4.49l.47-1.42a.75.75 0 1 1 1.42.47l-1.18 3.54a.75.75 0 0 1-.95.47L10.4 7.87a.75.75 0 1 1 .47-1.42l1.83.61A5 5 0 0 0 3.9 4.4a.75.75 0 0 1-1.12-1A6.48 6.48 0 0 1 8 1.5Zm-6.65 5.45a.75.75 0 0 1 .95-.47l3.54 1.18a.75.75 0 0 1-.47 1.42l-1.83-.61A5 5 0 0 0 12.1 11.6a.75.75 0 1 1 1.12 1A6.5 6.5 0 0 1 1.82 10l-.47 1.42a.75.75 0 1 1-1.42-.47l1.18-3.54Z'/%3E%3C/svg%3E"); }
.btn-price-log { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a7 7 0 1 0 6.32 10H12a5 5 0 1 1 .9-2H10l3.5 3.5L17 9h-2.06A7 7 0 0 0 8 1Zm.75 3v1.1c.8.15 1.42.58 1.88 1.24l-1.2.72c-.32-.45-.76-.67-1.31-.67-.56 0-.93.23-.93.6 0 .42.47.57 1.25.8 1.12.32 2.22.73 2.22 2.05 0 1.04-.72 1.78-1.91 2.01V13h-1.3v-1.13a3.25 3.25 0 0 1-2.23-1.32l1.19-.76c.42.55.92.82 1.6.82.76 0 1.11-.27 1.11-.7 0-.47-.5-.64-1.36-.9-1.08-.32-2.05-.72-2.05-1.95 0-.98.7-1.73 1.74-1.94V4h1.3Z'/%3E%3C/svg%3E"); }
.btn-bulk-edit { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M12.85.85a1.2 1.2 0 0 1 1.7 1.7l-.88.88-1.7-1.7.88-.88ZM11.26 2.44l1.7 1.7-7.7 7.7-2.13.43.43-2.13 7.7-7.7ZM2 13h12v1.5H2V13Z'/%3E%3C/svg%3E"); }
.btn-bulk-select { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M6.3 11.3 2.8 7.8l1.1-1.1 2.4 2.4 5.8-5.8 1.1 1.1-6.9 6.9Zm-3 3L0 11l1.1-1.1 2.2 2.2L4.5 11l1.1 1.1-2.3 2.2Zm5.2.2-1.1-1.1L14.9 6l1.1 1.1-7.5 7.4Z'/%3E%3C/svg%3E"); }
.btn-bulk-apply { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M8 1.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Zm3.78 4.72-4.5 4.5a.75.75 0 0 1-1.06 0l-2-2 1.06-1.06 1.47 1.47 3.97-3.97 1.06 1.06Z'/%3E%3C/svg%3E"); }
.btn-login,
.btn-exit { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M6 3.5a.5.5 0 0 1 .5-.5h6A1.5 1.5 0 0 1 14 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-6a.5.5 0 0 1 0-1h6a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-6a.5.5 0 0 1-.5-.5z'/%3E%3Cpath fill-rule='evenodd' d='M11.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H2.5a.5.5 0 0 0 0 1h7.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3z'/%3E%3C/svg%3E"); }
.btn-key { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 11.5a3.5 3.5 0 1 1 3.163-5H14a.5.5 0 0 1 .354.146l1.5 1.5a.5.5 0 0 1 0 .708l-1.5 1.5A.5.5 0 0 1 14 10h-1.5v1.5a.5.5 0 0 1-1 0V10H10v1.5a.5.5 0 0 1-1 0V10H6.663a3.5 3.5 0 0 1-3.163 1.5zM2 8a1.5 1.5 0 1 0 3 0 1.5 1.5 0 0 0-3 0z'/%3E%3C/svg%3E"); }
.btn-view { --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8zM1.2 8C2 6.8 4.5 3.5 8 3.5S14 6.8 14.8 8C14 9.2 11.5 12.5 8 12.5S2 9.2 1.2 8z'/%3E%3Cpath d='M8 5.5A2.5 2.5 0 1 0 8 10.5 2.5 2.5 0 0 0 8 5.5z'/%3E%3C/svg%3E"); }

.btn-save-main {
    background: linear-gradient(135deg, #22c55e 0%, #15803d 100%) !important;
    border-color: #15803d !important;
    color: #fff !important;
}

.btn-save-main:hover,
.btn-save-main:focus {
    background: linear-gradient(135deg, #16a34a 0%, #166534 100%) !important;
    box-shadow: 0 4px 12px rgba(22, 163, 74, 0.28);
    color: #fff !important;
}

.btn.app-saving::before,
.btn-save-main.cp-saving::before {
    display: none;
}

.btn-confirm-item {
    background: linear-gradient(135deg, #0ea5e9 0%, #2563eb 100%) !important;
    border-color: #2563eb !important;
    color: #fff !important;
}

.btn-confirm-item:hover,
.btn-confirm-item:focus {
    background: linear-gradient(135deg, #0284c7 0%, #1d4ed8 100%) !important;
    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.26);
    color: #fff !important;
}

.btn-rateio-item {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
    border-color: #d97706 !important;
    color: #111827 !important;
}

.btn-rateio-item:hover,
.btn-rateio-item:focus {
    background: linear-gradient(135deg, #d97706 0%, #b45309 100%) !important;
    box-shadow: 0 4px 10px rgba(217, 119, 6, 0.26);
    color: #111827 !important;
}

.cp-compra-confirm-wrapper {
    align-items: flex-start;
    display: flex;
}

.cp-compra-confirm-wrapper .btn-confirm-item {
    margin-top: 0.15rem;
}

.btn-icon-only {
    align-items: center;
    display: inline-flex;
    height: 32px;
    justify-content: center;
    padding: 0;
    position: relative;
    width: 32px;
}

.btn-icon-only::before {
    margin-right: 0;
}

.btn-delete.btn-icon-only::before {
    background: transparent;
    border: 2px solid currentColor;
    border-radius: 0 0 2px 2px;
    border-top: 0;
    content: "";
    height: 12px;
    left: 50%;
    margin: 0;
    position: absolute;
    top: 13px;
    transform: translateX(-50%);
    -webkit-mask: none;
    mask: none;
    width: 12px;
}

.btn-delete.btn-icon-only::after {
    background:
        linear-gradient(currentColor, currentColor) center 0 / 6px 2px no-repeat,
        linear-gradient(currentColor, currentColor) center 4px / 16px 2px no-repeat;
    content: "";
    height: 6px;
    left: 50%;
    position: absolute;
    top: 7px;
    transform: translateX(-50%);
    width: 16px;
}

.grid-shell .btn-edit.btn-icon-only,
.grid-shell .btn-view.btn-icon-only,
.grid-shell .btn-delete.btn-icon-only {
    background: transparent !important;
    border: 1px solid var(--ks-orange) !important;
    color: var(--ks-orange) !important;
    box-shadow: none !important;
}

.grid-shell .btn-edit.btn-icon-only:hover,
.grid-shell .btn-edit.btn-icon-only:focus,
.grid-shell .btn-view.btn-icon-only:hover,
.grid-shell .btn-view.btn-icon-only:focus,
.grid-shell .btn-delete.btn-icon-only:hover,
.grid-shell .btn-delete.btn-icon-only:focus {
    background: rgba(255, 133, 0, 0.1) !important;
    border-color: var(--ks-orange-dark) !important;
    color: var(--ks-orange-dark) !important;
    transform: none;
}

.card-footer .btn-save,
.form-section .card-footer .btn-save {
    margin-left: auto;
}

/* ==========================================================================
   NAVBAR E MENU
   ========================================================================== */
.navbar {
    padding: 0.35rem 0.75rem;
    min-height: 48px;
}

.navbar-brand {
    font-size: 1rem;
    line-height: 1.2;
}

.app-brand {
    align-items: center;
    background: rgba(255, 255, 255, 0.96);
    border-radius: 8px;
    display: inline-flex;
    gap: 0.5rem;
    height: 38px;
    padding: 0.25rem 0.55rem;
}

.app-brand img {
    display: block;
    max-height: 26px;
    max-width: 108px;
    object-fit: contain;
    width: auto;
}

.navbar-dark .navbar-nav .nav-link {
    align-items: center;
    color: rgba(255, 255, 255, 0.9) !important;
    display: inline-flex;
    gap: 0.45rem;
    font-size: 0.94rem;
    font-weight: 600;
    padding: 0.38rem 0.72rem !important;
    border-radius: 6px;
    transition: all 0.3s ease;
}

.menu-main-link {
    white-space: nowrap;
}

.navbar-text {
    font-size: 0.78rem;
}

.app-user-badge {
    align-items: center;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 999px;
    color: var(--ks-white) !important;
    display: inline-flex;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1;
    padding: 0.48rem 0.75rem;
}

.app-user-badge::before {
    background: var(--ks-yellow);
    border-radius: 50%;
    content: "";
    display: inline-block;
    height: 0.5rem;
    margin-right: 0.5rem;
    width: 0.5rem;
}

.navbar-dark .navbar-nav .nav-link:hover {
    color: var(--ks-white) !important;
    background-color: rgba(255, 255, 255, 0.2);
}

/* Dropdown (Sub-menu) */
.dropdown-menu {
    border: none;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    border-radius: 12px;
    padding: 0.5rem;
}

.dropdown-item {
    align-items: center;
    border-radius: 6px;
    display: flex;
    gap: 0.5rem;
    font-size: 0.9rem;
    padding: 0.42rem 0.75rem;
    transition: all 0.2s ease;
}

.dropdown-item:hover {
    background-color: var(--ks-yellow);
    color: var(--ks-blue-dark);
    padding-left: 1rem;
}

.menu-svg {
    color: var(--ks-yellow);
    display: inline-flex;
    flex: 0 0 auto;
    height: 18px;
    width: 18px;
}

.submenu-svg {
    color: var(--ks-orange);
    height: 16px;
    width: 16px;
}

.menu-svg svg {
    display: block;
    fill: currentColor;
    height: 100%;
    width: 100%;
}

/* ==========================================================================
   GRID / TABELA ESTILO CARD (MODERNA)
   ========================================================================== */

/* Remove limites de corte para permitir sombras e efeitos de subir */
.table-responsive {
    overflow: visible !important;
    padding: 5px;
}

.table-custom {
    border-collapse: separate;
    border-spacing: 0 6px; /* Espaço entre as linhas reduzido para um visual mais fino */
    background-color: transparent !important;
}

/* CABEÇALHO CINZA SUAVE */
.table-custom thead tr th {
    background: var(--appf-grid-header-bg) !important;
    color: var(--appf-grid-header-text) !important;
    text-transform: uppercase;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 10px 15px !important; /* Header mais compacto */
    border: none !important;
}

/* LINHAS QUE PARECEM CARDS */
.table-custom tbody tr {
    background-color: var(--ks-white) !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.04);
    transition: all 0.2s ease-in-out;
    cursor: default;
}

/* Efeito ao passar o rato (Subir o card) */
.table-custom tbody tr:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 15px rgba(0,0,0,0.08);
    position: relative;
    z-index: 5;
}

.table-custom tbody td {
    padding: 8px 15px !important; /* Redução significativa do preenchimento vertical */
    border: none !important;
    background-color: var(--ks-white) !important;
}

/* Arredondamento dos Cards (Linhas) */
.table-custom tbody tr td:first-child {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

.table-custom tbody tr td:last-child {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

/* Bordas de Status para o Grid */
.border-status-open { border-left: 5px solid var(--ks-yellow) !important; }
.border-status-approved { border-left: 5px solid var(--ks-mint) !important; }
.border-status-awaiting-photo { border-left: 5px solid var(--ks-orange) !important; }
.border-status-rejected { border-left: 5px solid var(--ks-pink) !important; }
.border-status-info { border-left: 5px solid var(--ks-blue) !important; }
.border-status-default { border-left: 5px solid var(--ks-muted) !important; }

/* RESPONSIVIDADE: Transforma Tabela em Cards no Mobile */
@media (max-width: 768px) {
    .table-custom thead { display: none; } /* Esconde o cabeçalho no mobile */
    
    .table-custom, .table-custom tbody, .table-custom tr, .table-custom td {
        display: block;
        width: 100%;
    }

    .table-custom tbody tr {
        margin-bottom: 1.5rem;
        border-radius: 12px !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important; /* Estilo Card Slim */
        padding: 10px;
        border: 1px solid rgba(0,0,0,0.05) !important;
    }

    .table-custom tbody td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        text-align: right;
        padding: 8px 15px !important; /* Ajuste fino também no mobile */
        border-bottom: 1px solid var(--appf-grid-header-bg) !important;
    }

    .table-custom tbody td:last-child { border-bottom: none !important; }
    
    .table-custom tbody td::before {
        content: attr(data-label);
        font-weight: 700;
        text-transform: uppercase;
        font-size: 0.7rem;
        color: var(--appf-form-muted);
    }
}

/* Badges Customizadas */
.bg-success-subtle {
    background-color: #d1e7dd !important;
    color: #0f5132 !important;
}

.bg-danger-subtle {
    background-color: #f8d7da !important;
    color: #842029 !important;
}

.badge-status-open {
    background-color: var(--ks-orange) !important;
    color: #ffffff !important;
}

.badge-status-approved {
    background-color: #2eb872 !important;
    color: #ffffff !important;
}

.badge-status-awaiting-photo {
    background-color: #0ea5e9 !important;
    color: #ffffff !important;
}

.badge-status-rejected {
    background-color: #d9534f !important;
    color: #ffffff !important;
}

.cp-localizacao-badge {
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0;
    padding: 0.42rem 0.65rem;
}

.cp-localizacao-form-badge {
    align-items: center;
    background: #fff7ed;
    border: 1px solid #ffd7a8;
    border-radius: 8px;
    display: flex;
    min-height: 38px;
    padding: 0.25rem 0.45rem;
}

.cp-localizacao-form-badge .cp-localizacao-badge {
    font-size: 0.82rem;
    padding: 0.5rem 0.78rem;
}

.badge-localizacao-kidstok {
    background-color: #d1e7dd !important;
    color: #0f5132 !important;
}

.badge-localizacao-fornecedor {
    background-color: #fff3cd !important;
    color: #664d03 !important;
}

.badge-localizacao-allop {
    background-color: #cff4fc !important;
    color: #055160 !important;
}

.dashboard-grid-badge {
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0;
    padding: 0.42rem 0.65rem;
}

.cp-pedido-status-hero {
    align-items: center;
    background: #ffffff;
    border: 1px solid #e7eaef;
    border-left: 5px solid #ff7a00;
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 0.85rem 1rem;
}

.cp-pedido-status-label {
    color: #667085;
    display: block;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
}

.cp-pedido-status-badge .badge {
    font-size: 0.9rem;
    padding: 0.55rem 0.9rem;
}

.cp-pedido-status-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

.dashboard-publicado-sim {
    background-color: #d1e7dd !important;
    color: #0f5132 !important;
}

.dashboard-publicado-nao {
    background-color: #f8d7da !important;
    color: #842029 !important;
}

/* ==========================================================================
   DASHBOARD CARDS SLIM
   ========================================================================== */
.card-slim {
    border: none;
    border-radius: 14px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease;
}

.card-slim:hover {
    transform: translateY(-5px);
}

.card-icon {
    font-size: 2rem;
    color: var(--ks-orange) !important;
    opacity: 0.6;
    position: absolute;
    right: 15px;
    bottom: 10px;
}

/* Ajustes para Itens Expansíveis */
.cursor-pointer { cursor: pointer; }
.transition-icon { transition: transform 0.3s ease; }
.collapsed .transition-icon { transform: rotate(-90deg); }
.nav-tabs .nav-link.active {
    color: var(--ks-orange) !important;
    border-bottom: 2px solid var(--ks-orange) !important;
    background: transparent !important;
}

/* Custom background for table headers */
.bg-table-header {
    background: var(--appf-grid-header-bg) !important;
}

/* ==========================================================================
   APP ALLOP
   ========================================================================== */
.app-shell {
    min-height: 100vh;
}

.app-content {
    max-width: 1920px;
}

.page-title {
    color: var(--appf-title-gray);
    font-size: clamp(1.35rem, 1.1rem + 0.6vw, 1.9rem);
    font-weight: 700;
    letter-spacing: 0;
}

.page-heading {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.page-description {
    color: var(--ks-muted);
    font-size: 0.96rem;
    margin: 0;
}

.page-actions {
    flex: 0 0 auto;
}

.page-kicker,
.tile-group {
    color: var(--ks-muted);
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.dashboard-tile h2 {
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0.15rem 0 1rem;
}

.dashboard-section-title {
    color: var(--appf-title-gray);
    font-size: clamp(1.2rem, 1rem + 0.5vw, 1.65rem);
    font-weight: 700;
}

.dashboard-compra-tile {
    overflow: hidden;
    position: relative;
}

.dashboard-compra-tile::after {
    background: rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    content: "";
    height: 72px;
    position: absolute;
    right: -20px;
    top: -22px;
    width: 72px;
}

.dashboard-status-open {
    background: var(--ks-orange);
}

.dashboard-status-approved {
    background: #2eb872;
}

.dashboard-status-awaiting-photo {
    background: #0ea5e9;
}

.dashboard-status-rejected {
    background: #d9534f;
}

.dashboard-status-total {
    background: var(--ks-blue);
}

.dashboard-compra-tile.dashboard-status-open {
    background: var(--ks-orange);
}

.dashboard-compra-tile.dashboard-status-approved {
    background: #2eb872;
}

.dashboard-compra-tile.dashboard-status-awaiting-photo {
    background: #0ea5e9;
}

.dashboard-compra-tile.dashboard-status-rejected {
    background: #d9534f;
}

.dashboard-compra-tile.dashboard-status-total {
    background: var(--ks-blue);
}

.tile-icon {
    color: var(--ks-orange);
    font-size: 1.8rem;
    opacity: 0.78;
}

.tile-total {
    display: inline-block;
    font-size: 1.7rem;
    line-height: 1;
}

.tile-caption {
    color: var(--ks-muted);
    font-size: 0.85rem;
    margin-left: 0.35rem;
}

.tile-value {
    color: var(--appf-title-gray);
    font-size: 1rem;
    font-weight: 700;
    margin-top: 0.4rem;
}

.dashboard-compra-tile h2,
.dashboard-compra-tile .tile-total,
.dashboard-compra-tile .tile-value {
    color: #fff;
}

.dashboard-compra-tile .page-kicker {
    color: #000;
    font-size: 0.95rem;
}

.dashboard-compra-tile .tile-caption {
    color: rgba(255, 255, 255, 0.85);
}

.grid-shell > .card-body {
    padding: 0.75rem;
}

.grid-shell,
.form-section,
.select2-container,
.select2-dropdown {
    font-family: "Poppins", sans-serif;
}

.grid-shell .table-custom {
    border-spacing: 0 12px;
}

.grid-shell .table-custom tbody tr {
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.06);
}

.grid-shell .table-custom tbody tr:hover {
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.12);
    transform: translateY(-4px);
}

.grid-shell .table-custom tbody td {
    padding-bottom: 12px !important;
    padding-top: 12px !important;
}

.grid-filter {
    flex: 0 1 460px;
    min-width: 260px;
}

.filter-inline {
    display: flex;
    max-width: 460px;
    width: 100%;
}

.filter-inline .select2-container {
    flex: 1 1 auto;
    min-width: 0;
}

.filter-inline .select2-container--default .select2-selection--single {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
}

.filter-inline .btn-filter {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    flex: 0 0 auto;
    min-height: 38px;
    padding-left: 0.95rem;
    padding-right: 1rem;
}

.cp-compras-filter {
    flex-basis: 640px;
}

.cp-compras-filter .filter-inline {
    max-width: 640px;
}

.permission-toolbar {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
}

.permission-filter {
    flex: 1 1 320px;
    max-width: 520px;
}

.permission-actions {
    display: flex;
    flex: 0 0 auto;
    gap: 0.5rem;
}

.permission-empty {
    align-items: center;
    background: var(--ks-white);
    border: 1px dashed var(--ks-mint);
    border-radius: 8px;
    color: var(--ks-muted);
    display: flex;
    justify-content: center;
    min-height: 120px;
    padding: 1rem;
    text-align: center;
}

.permission-table tbody td {
    vertical-align: middle;
}

.permission-table .permission-check {
    cursor: pointer;
    height: 1.1rem;
    width: 1.1rem;
}

.permission-accordion {
    display: grid;
    gap: 0.75rem;
}

.permission-accordion-item {
    border: 1px solid rgba(0, 158, 195, 0.14);
    border-radius: 8px !important;
    overflow: hidden;
}

.permission-accordion .accordion-button {
    background: var(--ks-white);
    color: var(--ks-text);
    font-size: 0.9rem;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
}

.permission-accordion .accordion-button:not(.collapsed) {
    background: rgba(200, 243, 220, 0.55);
    color: var(--ks-blue-dark);
}

.permission-accordion .accordion-button:focus {
    box-shadow: 0 0 0 0.18rem rgba(255, 133, 0, 0.14);
}

.permission-route {
    color: var(--ks-muted);
    display: block;
    font-size: 0.74rem;
    margin-top: 0.15rem;
    word-break: break-word;
}

.dashboard-chart-card .card-header,
.grid-shell .card-header {
    border-bottom: 1px solid var(--ks-light);
    color: var(--appf-block-title-gray);
    padding: 0.75rem 1rem;
}

.card-header strong,
.card-title {
    color: var(--appf-block-title-gray);
}

.dashboard-chart-card .card-body {
    min-height: 280px;
    padding: 1rem;
}

.dashboard-status-bars {
    display: grid;
    gap: 1rem;
    padding: 0.5rem 0;
}

.dashboard-status-row {
    align-items: center;
    display: grid;
    gap: 0.6rem;
    grid-template-columns: 180px 90px 46px 220px;
    justify-content: start;
}

.dashboard-status-label {
    color: var(--appf-block-title-gray);
    font-size: 0.86rem;
    font-weight: 700;
    white-space: nowrap;
}

.dashboard-status-track {
    background: #edf2f4;
    border-radius: 999px;
    height: 16px;
    overflow: hidden;
    width: 90px;
}

.dashboard-status-bar {
    border-radius: inherit;
    display: block;
    height: 100%;
    min-width: 2px;
}

.dashboard-status-count,
.dashboard-status-value {
    color: var(--ks-muted);
    font-size: 0.85rem;
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
}

.dashboard-status-value {
    color: var(--appf-block-title-gray);
    font-size: 0.82rem;
    text-align: left;
}

.dashboard-status-value strong {
    color: var(--ks-muted);
    display: inline-block;
    margin-right: 0.7rem;
    min-width: 1.5rem;
    text-align: right;
}

.dashboard-status-value span {
    white-space: nowrap;
}

@media (max-width: 768px) {
    .dashboard-status-row {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }

    .dashboard-status-count,
    .dashboard-status-value {
        text-align: left;
    }
}

.dashboard-donut-wrap {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: center;
}

.dashboard-donut {
    align-items: center;
    background:
        radial-gradient(circle at center, #fff 0 55%, transparent 56%),
        conic-gradient(
            var(--ks-orange) 0 var(--abertos),
            #2eb872 var(--aprovados-start) var(--aprovados-sem-fotos-start),
            #0ea5e9 var(--aprovados-sem-fotos-start) var(--recusados-start),
            #d9534f var(--recusados-start) 100%
        );
    border-radius: 50%;
    display: flex;
    height: 190px;
    justify-content: center;
    width: 190px;
}

.dashboard-donut-empty {
    background:
        radial-gradient(circle at center, #fff 0 55%, transparent 56%),
        conic-gradient(#dfe6ea 0 100%);
}

.dashboard-donut span {
    color: var(--appf-title-gray);
    display: block;
    font-size: 2rem;
    font-weight: 800;
    line-height: 1;
    text-align: center;
}

.dashboard-donut small {
    color: var(--ks-muted);
    display: block;
    font-size: 0.78rem;
    font-weight: 700;
    margin-top: 0.3rem;
    text-align: center;
    text-transform: uppercase;
}

.dashboard-donut-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1rem;
    justify-content: center;
}

.dashboard-donut-legend span {
    align-items: center;
    color: var(--ks-muted);
    display: inline-flex;
    font-size: 0.82rem;
    gap: 0.35rem;
}

.dashboard-donut-legend i {
    border-radius: 50%;
    display: inline-block;
    height: 0.65rem;
    width: 0.65rem;
}

.dashboard-total-value {
    border-top: 1px solid var(--ks-light);
    padding-top: 0.85rem;
    text-align: center;
    width: 100%;
}

.dashboard-total-value strong {
    color: var(--appf-title-gray);
    display: block;
    font-size: 1.35rem;
}

.form-narrow,
.form-section {
    margin: 0 auto;
    max-width: 1040px;
    width: 100%;
}

.cp-compras-form-wide {
    max-width: 1840px;
}

.cp-compra-layout {
    align-items: flex-start;
    display: grid;
    gap: 1.35rem;
    grid-template-columns: minmax(0, 1fr) 260px;
}

.cp-compra-main {
    min-width: 0;
}

.cp-pedido-resumo {
    background: #ffffff;
    border: 1px solid #dfe5ec;
    border-radius: 14px;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
    padding: 1.25rem 1.1rem;
    position: sticky;
    top: 1rem;
}

.cp-pedido-resumo h3 {
    color: #07172a;
    font-size: 1rem;
    font-weight: 900;
    margin: 0 0 0.35rem;
}

.cp-pedido-resumo p {
    color: #536579;
    font-size: 0.78rem;
    line-height: 1.35;
    margin: 0 0 1.2rem;
}

.cp-pedido-resumo-metrics {
    border-bottom: 1px solid #dfe5ec;
    display: grid;
    gap: 0.85rem;
    padding-bottom: 1rem;
}

.cp-resumo-line,
.cp-resumo-group div,
.cp-pedido-resumo-total {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.cp-resumo-line span,
.cp-resumo-group span,
.cp-pedido-resumo-total span {
    color: #6b7b8c;
    font-size: 0.86rem;
    font-weight: 500;
}

.cp-resumo-line strong,
.cp-resumo-group strong {
    color: #07172a;
    font-size: 1rem;
    font-weight: 900;
}

.cp-resumo-line {
    padding-bottom: 0.2rem;
}

.cp-resumo-group {
    background: #fbfcfd;
    border: 1px solid #dfe5ec;
    border-radius: 10px;
    display: grid;
    gap: 0.55rem;
    padding: 0.7rem 0.75rem;
}

.cp-resumo-group div + div {
    border-top: 1px solid #edf1f5;
    padding-top: 0.55rem;
}

.cp-resumo-group .cp-resumo-totalizador {
    background: #fff7f2;
    border: 1px solid #ffd2bf;
    border-radius: 8px;
    margin: -0.15rem -0.2rem 0;
    padding: 0.5rem 0.55rem;
}

.cp-resumo-group .cp-resumo-totalizador span {
    color: #9a3f00;
    font-weight: 800;
}

.cp-resumo-group .cp-resumo-totalizador strong {
    color: var(--ks-orange-dark);
    font-size: 1.05rem;
}

.cp-resumo-group span {
    font-size: 0.78rem;
}

.cp-resumo-group strong {
    font-size: 0.9rem;
}

.cp-pedido-resumo-total {
    padding: 1.05rem 0 1rem;
}

.cp-pedido-resumo-total span {
    font-size: 1rem;
}

.cp-pedido-resumo-total strong {
    color: #00836f;
    font-size: 1.05rem;
    font-weight: 900;
    text-align: right;
}

.cp-pedido-resumo .btn-save-main {
    border-radius: 8px;
    min-height: 40px;
}

.cp-pedido-resumo-actions {
    display: grid;
    gap: 0.7rem;
    margin-top: 1rem;
}

.cp-pedido-resumo-actions .btn {
    align-items: center;
    border-radius: 8px;
    display: inline-flex;
    justify-content: center;
    min-height: 38px;
    width: 100%;
}

.cp-pedido-resumo-actions .btn-approve {
    background: #e8f6ef !important;
    border: 1px solid #9ed5bd !important;
    color: #00805f !important;
    box-shadow: none !important;
}

.cp-pedido-resumo-actions .btn-reject {
    background: #fff1f2 !important;
    border: 1px solid #fecdd3 !important;
    color: #dc3545 !important;
    box-shadow: none !important;
}

.cp-pedido-resumo-actions .btn-approve:hover,
.cp-pedido-resumo-actions .btn-approve:focus {
    background: #dff2e8 !important;
    border-color: #83c9a8 !important;
    color: #006b50 !important;
    transform: none;
}

.cp-pedido-resumo-actions .btn-reject:hover,
.cp-pedido-resumo-actions .btn-reject:focus {
    background: #ffe5e8 !important;
    border-color: #f4b8c0 !important;
    color: #b42335 !important;
    transform: none;
}

@media (max-width: 1199.98px) {
    .cp-compra-layout {
        grid-template-columns: 1fr;
    }

    .cp-pedido-resumo {
        order: -1;
        position: static;
    }

    .cp-pedido-resumo-actions {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    }
}

.form-section .card-header {
    border-bottom: 1px solid var(--ks-light);
    color: var(--appf-block-title-gray);
    padding: 0.85rem 1rem;
}

.form-section .card-body {
    min-height: 0;
    padding: 1.15rem 1.5rem 1.25rem;
}

.form-section .card-body.row {
    --bs-gutter-y: 0.7rem;
}

.form-section .form-label {
    margin-bottom: 0.32rem;
}

.cp-compras-form-wide > .card-slim > .card-body {
    padding: 1.35rem 1.5rem;
}

.cp-compras-form-wide .cp-compra-item-collapse > .card-body {
    background: #fbfcfd;
    min-height: 0;
    padding: 1rem;
}

.cp-compras-form-wide .cp-compra-item {
    background: #f7f8fa;
    border: 1px solid #e4e7eb;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(33, 37, 41, 0.04);
    overflow: hidden;
}

.cp-compras-form-wide .cp-compra-item-header {
    align-items: center;
    background: #eef1f4 !important;
    color: #4f5b66;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.5rem 0.9rem;
}

.cp-compras-form-wide .cp-compra-item-header .text-dark {
    color: #3f4a54 !important;
}

.cp-compras-form-wide .cp-compra-item-title {
    flex: 1 1 auto;
    min-width: 260px;
}

.cp-compras-form-wide .cp-item-thumb-wrap {
    flex: 0 0 auto;
    margin-right: 0.75rem;
}

.cp-compras-form-wide .cp-item-thumb-button {
    background: #ffffff;
    border: 1px solid #d7dde3;
    border-radius: 6px;
    display: block;
    height: 64px;
    overflow: hidden;
    padding: 0;
    width: 76px;
}

.cp-compras-form-wide .cp-item-thumb-button:focus,
.cp-compras-form-wide .cp-item-thumb-button:hover {
    border-color: #ff4500;
    box-shadow: 0 0 0 0.16rem rgba(255, 69, 0, 0.14);
}

.cp-compras-form-wide .cp-item-thumb-img {
    display: block;
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.cp-compras-form-wide .cp-compra-item-tabs {
    margin-bottom: 1rem;
}

.cp-compras-form-wide .cp-compra-item-tab-content {
    min-width: 0;
}

.cp-compras-form-wide .cp-compra-chevron {
    border-bottom: 2px solid #7b8792;
    border-right: 2px solid #7b8792;
    display: inline-block;
    flex: 0 0 auto;
    height: 0.62rem;
    margin-right: 0.9rem;
    transform: rotate(45deg);
    width: 0.62rem;
}

.cp-compras-form-wide .cp-compra-item-header.collapsed .cp-compra-chevron {
    transform: rotate(-45deg);
}

.cp-compras-form-wide .cp-compra-item-summary {
    flex: 0 0 auto;
}

.cp-compras-form-wide .cp-compra-item-photo {
    flex: 0 0 auto;
}

.cp-compras-form-wide .cp-fotos-actions {
    align-items: flex-start;
    display: flex;
    gap: 0.5rem;
}

.cp-compras-form-wide .cp-fotos-action {
    min-width: 128px;
}

.cp-compras-form-wide .cp-fotos-action .btn-photo {
    width: 100%;
}

.cp-compras-form-wide .cp-compra-item-actions {
    flex: 0 0 auto;
}

.cp-compras-form-wide .cp-compra-tamanhos-accordion,
.cp-compras-form-wide .cp-compra-cores-accordion {
    display: grid;
    gap: 0.75rem;
}

.cp-compras-form-wide .cp-compra-cores-accordion {
    gap: 0.35rem;
}

.cp-compras-form-wide .cp-compra-tamanho,
.cp-compras-form-wide .cp-compra-cor {
    border: 1px solid #dfe4e8;
    border-radius: 10px !important;
    overflow: hidden;
}

.cp-compras-form-wide .cp-compra-cor {
    background: #fff8e8;
    border-color: #f1d9a8;
}

.cp-compras-form-wide .cp-compra-tamanho-header,
.cp-compras-form-wide .cp-compra-cor-header {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 0.7rem 0.9rem;
}

.cp-compras-form-wide .cp-compra-tamanho-header {
    background: #edf6f8;
    color: #334e57;
}

.cp-compras-form-wide .cp-compra-tamanho-title {
    flex: 0 0 120px;
    min-width: 96px;
}

.cp-compras-form-wide .cp-compra-tamanho-summary {
    align-items: center;
    display: grid;
    flex: 1 1 auto;
    gap: 0.7rem;
    grid-template-columns: repeat(5, minmax(72px, 1fr));
    min-width: 0;
}

.cp-compras-form-wide .cp-compra-tamanho-summary-v2 {
    grid-template-columns: minmax(128px, 1fr) minmax(136px, 1fr) repeat(4, minmax(122px, 1fr)) minmax(110px, 1fr);
}

.cp-compras-form-wide .cp-preco-medio-diferente {
    color: #dc3545 !important;
}

.cp-compras-form-wide .cp-bulk-toolbar {
    background: #f5f7f9;
    border: 1px solid #dfe4e8;
    border-radius: 10px;
    padding: 0.75rem;
}

.cp-compras-form-wide .cp-bulk-destino {
    align-items: center;
    background: #fff7f2;
    border: 1px solid #ffb89a;
    border-radius: 9px;
    color: #f26b3f;
    cursor: pointer;
    display: inline-flex;
    font-size: 0.7rem;
    font-weight: 800;
    gap: 0.35rem;
    line-height: 1;
    min-height: 34px;
    padding: 0.36rem 0.55rem;
    user-select: none;
    white-space: nowrap;
}

.cp-compras-form-wide .cp-bulk-destino-field {
    appearance: none;
    background: #fff;
    border: 1.5px solid #8b98a5;
    border-radius: 3px;
    display: inline-block;
    flex: 0 0 auto;
    height: 15px;
    margin: 0;
    position: relative;
    width: 15px;
}

.cp-compras-form-wide .cp-bulk-destino-field:checked {
    background: #f26b3f;
    border-color: #f26b3f;
}

.cp-compras-form-wide .cp-bulk-destino-field:checked::after {
    border: solid #fff;
    border-width: 0 2px 2px 0;
    content: "";
    height: 8px;
    left: 4px;
    position: absolute;
    top: 1px;
    transform: rotate(45deg);
    width: 4px;
}

.cp-compras-form-wide .cp-bulk-destino:has(.cp-bulk-destino-field:checked) {
    background: #fff0e8;
    border-color: #ff8d64;
    color: #f05d2c;
}

.cp-compras-form-wide .cp-bulk-destino:has(.cp-bulk-destino-field:disabled) {
    cursor: default;
    opacity: 0.65;
}

.cp-compras-form-wide .cp-item-gallery-header {
    color: #4f5b66;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
}

.cp-compras-form-wide .cp-compra-summary-metric {
    min-width: 0;
}

.cp-compras-form-wide .cp-compra-summary-metric small {
    color: #6f7d84;
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.1;
    text-transform: uppercase;
    white-space: nowrap;
}

.cp-compras-form-wide .cp-compra-summary-metric span {
    display: block;
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cp-compras-form-wide .cp-compra-summary-metric-input {
    max-width: 136px;
}

.cp-compras-form-wide .cp-compra-summary-metric-date {
    max-width: 128px;
}

.cp-compras-form-wide .cp-tamanho-summary-entrega {
    max-width: 128px;
}

.cp-compras-form-wide .cp-compra-summary-metric-quantity {
    max-width: 136px;
}

.cp-compras-form-wide .cp-compra-summary-metric .cp-tamanho-summary-input {
    border-radius: 8px;
    font-size: 0.84rem;
    font-weight: 700;
    height: 26px;
    line-height: 1.15;
    margin-top: 0.12rem;
    padding: 0.1rem 0.45rem;
    text-align: right;
}

.cp-compras-form-wide .cp-entrega-alterada-fornecedor small {
    color: #dc3545;
}

.cp-compras-form-wide .cp-entrega-alterada-input {
    border-color: #dc3545;
    color: #dc3545;
}

.cp-compras-form-wide .cp-entrega-alterada-input:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.16rem rgba(220, 53, 69, 0.18);
    color: #dc3545;
}

.cp-compras-form-wide .cp-compra-tamanho-actions {
    flex: 0 0 auto;
}

.cp-compras-form-wide .cp-tamanho-status-action {
    min-width: 112px;
}

.cp-compras-form-wide .cp-tamanho-status-action .form-label {
    display: none;
}

.cp-compras-form-wide .cp-tamanho-status-action .form-select {
    font-size: 0.78rem;
    padding-bottom: 0.28rem;
    padding-top: 0.28rem;
}

.cp-compras-form-wide .cp-compra-cor-header {
    background: #fff1cc;
    color: #5c4a1f;
    font-size: 0.82rem;
    padding: 0.42rem 0.6rem;
}

.cp-compras-form-wide .cp-preco-alterado-header {
    background: inherit;
    border-left: 0;
}

.cp-compras-form-wide .cp-preco-alterado-badge {
    background: #f58220;
    color: #fff;
    display: inline-flex;
    font-size: 0.68rem;
    font-weight: 700;
    margin-right: 0.28rem;
    margin-top: 0.28rem;
    padding: 0.24rem 0.45rem;
}

.cp-compras-form-wide .cp-entrega-alterada-badge {
    background: #dc3545;
    color: #fff;
    display: inline-flex;
    font-size: 0.68rem;
    font-weight: 700;
    margin-right: 0.28rem;
    margin-top: 0.28rem;
    padding: 0.24rem 0.45rem;
}

.cp-compras-form-wide .cp-compra-item-actions .cp-preco-alterado-badge,
.cp-compras-form-wide .cp-compra-item-actions .cp-entrega-alterada-badge {
    align-items: center;
    min-height: 31px;
    margin-top: 0;
}

.cp-log-preco-atualizado {
    color: #9a3f00;
    font-weight: 800;
}

.cp-compras-form-wide .cp-compra-cor-title {
    flex: 0 0 120px;
    min-width: 96px;
}

.cp-compras-form-wide .cp-compra-cor-summary {
    align-items: center;
    display: grid;
    flex: 1 1 auto;
    gap: 0.55rem;
    grid-template-columns: repeat(7, minmax(78px, 1fr));
    min-width: 0;
}

.cp-compras-form-wide .cp-compra-cor-summary .cp-status-badge {
    display: inline-flex;
    justify-content: center;
    max-width: 100%;
}

.cp-compras-form-wide .cp-compra-cor-actions {
    align-items: center;
    flex: 0 0 auto;
}

.cp-compras-form-wide .cp-status-badge {
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0;
    min-width: 64px;
    padding: 0.28rem 0.55rem;
}

.cp-compras-form-wide .cp-status-badge-active {
    background: #e7f6ed;
    border-color: #9bd3ad;
    color: #176534;
}

.cp-compras-form-wide .cp-status-badge-inactive {
    background: #f9e7e7;
    border-color: #e6aaaa;
    color: #8a1f1f;
}

.cp-compras-form-wide .cp-compra-tamanho-header::before,
.cp-compras-form-wide .cp-compra-cor-header::before {
    border-bottom: 2px solid #7b8792;
    border-right: 2px solid #7b8792;
    content: "";
    flex: 0 0 auto;
    height: 0.55rem;
    transform: rotate(45deg);
    width: 0.55rem;
}

.cp-compras-form-wide .cp-compra-tamanho-header.collapsed::before,
.cp-compras-form-wide .cp-compra-cor-header.collapsed::before {
    transform: rotate(-45deg);
}

.cp-compras-form-wide .cp-compra-tamanho-header > :first-child,
.cp-compras-form-wide .cp-compra-cor-header > :first-child {
    flex: 1 1 auto;
}

.cp-compras-form-wide .cp-compra-tamanho-header > .cp-compra-tamanho-title {
    flex: 0 0 120px;
}

.cp-compras-form-wide .cp-compra-cor-header > .cp-compra-cor-title {
    flex: 0 0 120px;
}

.cp-compras-form-wide .cp-compra-tamanho .accordion-body {
    background: #fbfdfd;
    padding: 1rem;
}

.cp-compras-form-wide .cp-compra-cor .accordion-body {
    background: #fffaf0;
    font-size: 0.82rem;
    padding: 0.55rem;
}

.cp-compras-form-wide .cp-compra-cor .form-label {
    font-size: 0.72rem;
    margin-bottom: 0.18rem;
}

.cp-recusa-panel {
    background: #fff5f5;
    border: 1px solid #e6aaaa;
    border-left: 4px solid #dc3545;
    border-radius: 10px;
    padding: 0.9rem;
}

.cp-compras-form-wide .cp-compra-cor .form-control,
.cp-compras-form-wide .cp-compra-cor .form-select,
.cp-compras-form-wide .cp-compra-cor .input-group-text {
    font-size: 0.78rem;
    min-height: 31px;
    padding-bottom: 0.25rem;
    padding-top: 0.25rem;
}

.cp-compras-form-wide .cp-compra-cor .cp-compra-campo-destaque,
.cp-compras-form-wide .cp-compra-cor .cp-compra-campo-destaque + .input-group-text,
.cp-compras-form-wide .cp-compra-cor .input-group:has(.cp-compra-campo-destaque) .input-group-text {
    background: #fff3cd;
    border-color: #f59e0b;
    color: #5f3d00;
    font-weight: 700;
}

.cp-compras-form-wide .cp-compra-cor .cp-compra-campo-destaque:focus {
    border-color: #ff8500;
    box-shadow: 0 0 0 0.18rem rgba(255, 133, 0, 0.18);
}

.cp-compras-form-wide .cp-compra-empty-nested {
    border: 1px dashed #cbd3da;
    border-radius: 10px;
    color: var(--ks-muted);
    padding: 1rem;
    text-align: center;
}

.cp-compras-form-wide .cp-compra-detalhes-table {
    min-width: 1400px;
}

.cp-compras-form-wide .cp-compra-item .table-responsive {
    overflow-x: auto !important;
}

.cp-compras-form-wide .cp-compra-detalhes-table th,
.cp-compras-form-wide .cp-compra-detalhes-table td {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
}

.cp-compras-form-wide .cp-compra-detalhes-table .form-control-sm {
    min-height: 34px;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.cp-compras-form-wide .cp-compra-cores-grid {
    overflow-x: auto !important;
}

.cp-compras-form-wide .cp-compra-cores-table {
    min-width: 1120px;
}

.cp-compras-form-wide .cp-compra-cores-table th,
.cp-compras-form-wide .cp-compra-cores-table td {
    vertical-align: middle;
}

.cp-compras-form-wide .cp-compra-cores-table .input-group-sm .input-group-text,
.cp-compras-form-wide .cp-compra-cores-table .form-control,
.cp-compras-form-wide .cp-compra-cores-table .form-select {
    font-size: 0.78rem;
    min-height: 31px;
}

.cp-compras-form-wide .cp-compra-referencia-select + .select2-container {
    min-width: 100%;
}

.cp-compras-form-wide .cp-compra-referencia-select + .select2-container .select2-selection--single {
    background-color: #f5f7f9;
    border-color: #d7dde3;
    min-height: 40px;
}

.cp-compras-form-wide .cp-compra-referencia-select + .select2-container .select2-selection__rendered {
    line-height: 38px;
}

.cp-compras-form-wide .cp-compra-referencia-select + .select2-container .select2-selection__arrow {
    height: 38px;
}

.cp-compras-form-wide .cp-compra-referencia-select + .select2-container.select2-container--focus .select2-selection--single,
.cp-compras-form-wide .cp-compra-referencia-select + .select2-container.select2-container--open .select2-selection--single {
    border-color: #aeb8c2;
    box-shadow: 0 0 0 0.16rem rgba(108, 117, 125, 0.12);
}

.cp-itens-pedido-section {
    background: transparent;
    border: 0;
    box-shadow: none;
}

.cp-itens-pedido-section > .card-header {
    background: transparent;
    border: 0;
    padding: 0 0 0.85rem;
}

.cp-itens-pedido-section > .card-header strong {
    color: #102033;
    display: block;
    font-size: 1.1rem;
    font-weight: 800;
}

.cp-itens-pedido-section > .card-header span {
    color: #536579;
    display: block;
    font-size: 0.78rem;
    font-weight: 500;
    margin-top: 0.25rem;
}

.cp-itens-pedido-section > .card-body {
    padding: 0;
}

.cp-itens-pedido-section #btn-add-cp-item {
    background: linear-gradient(135deg, #ff7756, #f05b36) !important;
    border: 0 !important;
    border-radius: 8px;
    box-shadow: 0 12px 24px rgba(240, 91, 54, 0.24);
    min-height: 40px;
    padding-left: 1rem;
    padding-right: 1rem;
}

.cp-compras-form-wide .cp-compra-item {
    background: #ffffff;
    border: 1px solid #dfe5ec;
    border-radius: 16px !important;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.cp-compras-form-wide .cp-compra-item-header {
    align-items: center;
    background: #ffffff !important;
    color: #102033;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 1.25rem 1.1rem;
}

.cp-compras-form-wide .cp-compra-item-main {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    gap: 1rem;
    min-width: 0;
}

.cp-compras-form-wide .cp-item-thumb-wrap {
    flex: 0 0 104px;
    margin: 0;
}

.cp-compras-form-wide .cp-item-thumb-button {
    background: #f8fbfc;
    border: 1px dashed #b9c6d1;
    border-radius: 12px;
    display: block;
    height: 104px;
    overflow: hidden;
    padding: 6px;
    position: relative;
    width: 104px;
}

.cp-compras-form-wide .cp-item-thumb-button::after {
    align-items: center;
    background: #243142;
    border-radius: 999px;
    bottom: 8px;
    color: #ffffff;
    content: "Enviar foto";
    display: flex;
    font-size: 0.66rem;
    font-weight: 800;
    justify-content: center;
    left: 8px;
    min-height: 24px;
    padding: 0 0.5rem;
    position: absolute;
    right: 8px;
    text-transform: uppercase;
}

.cp-compras-form-wide .cp-item-thumb-img {
    border-radius: 8px;
    display: block;
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.cp-compras-form-wide .cp-compra-item-title {
    flex: 1 1 auto;
    min-width: 0;
}

.cp-compras-form-wide .cp-compra-item-kicker {
    color: #536579;
    display: block;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
}

.cp-compras-form-wide .cp-compra-item-title strong {
    color: #07172a;
    display: block;
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1.15;
    margin-bottom: 0.3rem;
}

.cp-compras-form-wide .cp-compra-item-title small {
    color: #536579;
    display: block;
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.35;
}

.cp-compras-form-wide .cp-compra-item-badges {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.75rem;
}

.cp-compras-form-wide .cp-item-pill {
    background: #f7fafc;
    border: 1px solid #dfe6ee;
    color: #536579;
    font-size: 0.72rem;
    font-weight: 800;
    padding: 0.42rem 0.65rem;
}

.cp-compras-form-wide .cp-status-toggle {
    align-items: center;
    background: #fff1f2;
    border: 1px solid #fecdd3;
    border-radius: 999px;
    color: #dc3545;
    cursor: pointer;
    display: inline-flex;
    gap: 0.45rem;
    min-height: 34px;
    padding: 0.3rem 0.7rem 0.3rem 0.38rem;
    user-select: none;
}

.cp-compras-form-wide .cp-status-toggle.is-active {
    background: #e8f6ef;
    border-color: #9ed5bd;
    color: #00805f;
}

.cp-compras-form-wide .cp-status-toggle-input {
    height: 1px;
    opacity: 0;
    position: absolute;
    width: 1px;
}

.cp-compras-form-wide .cp-status-toggle-control {
    background: #f2a7b1;
    border-radius: 999px;
    display: inline-flex;
    height: 18px;
    position: relative;
    width: 32px;
}

.cp-compras-form-wide .cp-status-toggle-control::after {
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.18);
    content: "";
    height: 14px;
    left: 2px;
    position: absolute;
    top: 2px;
    transition: transform 0.16s ease;
    width: 14px;
}

.cp-compras-form-wide .cp-status-toggle.is-active .cp-status-toggle-control {
    background: #148761;
}

.cp-compras-form-wide .cp-status-toggle.is-active .cp-status-toggle-control::after {
    transform: translateX(14px);
}

.cp-compras-form-wide .cp-status-toggle-text {
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1;
}

.cp-compras-form-wide .cp-status-toggle-input:focus + .cp-status-toggle-control {
    box-shadow: 0 0 0 0.18rem rgba(20, 135, 97, 0.18);
}

.cp-compras-form-wide .cp-status-toggle:has(.cp-status-toggle-input:disabled) {
    cursor: default;
    opacity: 0.75;
}

.cp-compras-form-wide .cp-compra-item-summary {
    align-items: center;
    display: grid;
    flex: 0 0 auto;
    gap: 0.5rem;
    grid-template-columns: repeat(3, minmax(122px, 1fr));
}

.cp-compras-form-wide .cp-summary-box {
    background: #fbfcfd;
    border: 1px solid #dfe5ec;
    border-radius: 14px;
    min-height: 62px;
    min-width: 0;
    padding: 0.7rem 0.75rem;
    text-align: right;
}

.cp-compras-form-wide .cp-summary-box small {
    color: #536579;
    display: block;
    font-size: 0.66rem;
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 0.45rem;
    text-transform: uppercase;
}

.cp-compras-form-wide .cp-summary-box strong {
    color: #07172a;
    display: block;
    font-size: 0.95rem;
    font-weight: 900;
    line-height: 1.1;
}

.cp-compras-form-wide .cp-summary-box .cp-compra-item-total {
    color: #00836f;
}

.cp-compras-form-wide .cp-compra-item-collapse > .card-body {
    background: #ffffff;
    border-top: 1px solid #dfe5ec;
    min-height: 0;
    padding: 1.15rem 1.1rem;
}

.cp-compras-form-wide .cp-compra-item-toolbar {
    align-items: center;
    background: #f8fafc;
    border-top: 1px solid #dfe5ec;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 0.8rem 1.1rem;
}

.cp-compras-form-wide .cp-compra-item-tabs {
    border: 0;
    display: flex;
    gap: 0.45rem;
    margin: 0;
}

.cp-compras-form-wide .cp-compra-item-tabs .nav-link {
    background: transparent;
    border: 0;
    border-radius: 8px;
    color: #536579;
    font-size: 0.78rem;
    font-weight: 800;
    min-height: 34px;
    padding: 0.5rem 0.72rem;
}

.cp-compras-form-wide .cp-compra-item-tabs .nav-link.active {
    background: #e8f4f1;
    color: #073b35;
}

.cp-compras-form-wide .cp-compra-item-actions {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 0.5rem;
}

.cp-compras-form-wide .cp-compra-item-actions .btn-delete,
.cp-compras-form-wide .cp-compra-tamanho-actions .btn-delete,
.cp-compras-form-wide .cp-compra-cor-actions .btn-delete,
.cp-compras-form-wide .cp-compra-cor-actions .btn-price-log {
    background: transparent !important;
    border: 1px solid var(--ks-orange) !important;
    color: var(--ks-orange) !important;
    box-shadow: none !important;
}

.cp-compras-form-wide .cp-compra-item-actions .btn-delete:hover,
.cp-compras-form-wide .cp-compra-item-actions .btn-delete:focus,
.cp-compras-form-wide .cp-compra-tamanho-actions .btn-delete:hover,
.cp-compras-form-wide .cp-compra-tamanho-actions .btn-delete:focus,
.cp-compras-form-wide .cp-compra-cor-actions .btn-delete:hover,
.cp-compras-form-wide .cp-compra-cor-actions .btn-delete:focus,
.cp-compras-form-wide .cp-compra-cor-actions .btn-price-log:hover,
.cp-compras-form-wide .cp-compra-cor-actions .btn-price-log:focus {
    background: rgba(255, 133, 0, 0.1) !important;
    border-color: var(--ks-orange-dark) !important;
    color: var(--ks-orange-dark) !important;
    transform: none;
}

.cp-compras-form-wide .cp-compra-chevron {
    display: none;
}

.btn-photo {
    align-items: center;
    background: #5f6f7a !important;
    display: inline-flex;
    justify-content: center;
    min-height: 38px;
    white-space: nowrap;
}

.btn-photo.btn-photo-sim {
    background: #159447 !important;
    border-color: #12813e !important;
    color: #fff !important;
}

.btn-photo.btn-photo-nao {
    background: #f59e0b !important;
    border-color: #d97706 !important;
    color: #1f2933 !important;
}

.cp-foto-badge {
    border: 1px solid rgba(255, 255, 255, 0.42);
    font-weight: 700;
}

.cp-foto-badge-sim {
    background: #dcfce7;
    color: #166534;
}

.cp-foto-badge-nao {
    background: #fff7ed;
    color: #9a3412;
}

.btn-photo:hover,
.btn-photo:focus {
    background: #4f5d66 !important;
    box-shadow: 0 4px 10px rgba(79, 93, 102, 0.24);
}

.btn-photo.btn-photo-sim:hover,
.btn-photo.btn-photo-sim:focus {
    background: #0f7a39 !important;
}

.btn-photo.btn-photo-nao:hover,
.btn-photo.btn-photo-nao:focus {
    background: #d97706 !important;
    color: #111827 !important;
}

.cp-compras-form-wide .cp-item-fotos-panels {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cp-compras-form-wide .cp-item-foto-panel {
    background: #ffffff;
    border: 1px solid #dfe5ec;
    border-radius: 14px;
    min-height: 188px;
    padding: 1.15rem;
}

.cp-compras-form-wide .cp-item-foto-panel h6 {
    color: #07172a;
    font-size: 0.9rem;
    font-weight: 900;
    margin: 0 0 0.35rem;
}

.cp-compras-form-wide .cp-item-foto-panel p {
    color: #536579;
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.35;
    margin: 0 0 1rem;
}

.cp-compras-form-wide .cp-item-foto-preview {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    margin-bottom: 0.9rem;
    min-height: 50px;
}

.cp-compras-form-wide .cp-item-foto-preview > span {
    color: #536579;
    font-size: 0.82rem;
    font-weight: 500;
}

.cp-compras-form-wide .cp-item-foto-mini {
    background: #f8fbfc;
    border: 1px dashed #c1ced8;
    border-radius: 8px;
    height: 52px;
    padding: 4px;
    width: 52px;
}

.cp-compras-form-wide .cp-item-foto-mini img {
    display: block;
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.cp-compras-form-wide .cp-item-foto-panel .cp-foto-kidstok,
.cp-compras-form-wide .cp-item-foto-panel .cp-foto-fornecedor {
    align-items: center;
    background: linear-gradient(135deg, #ff7756, #f05b36) !important;
    border: 0 !important;
    border-radius: 8px;
    box-shadow: 0 10px 22px rgba(240, 91, 54, 0.22);
    color: #ffffff !important;
    display: inline-flex;
    justify-content: center;
    min-height: 34px;
}

.cp-compras-form-wide .cp-item-foto-panel .cp-foto-kidstok:hover,
.cp-compras-form-wide .cp-item-foto-panel .cp-foto-kidstok:focus,
.cp-compras-form-wide .cp-item-foto-panel .cp-foto-fornecedor:hover,
.cp-compras-form-wide .cp-item-foto-panel .cp-foto-fornecedor:focus {
    background: linear-gradient(135deg, #f05b36, #ff7756) !important;
    box-shadow: 0 12px 24px rgba(240, 91, 54, 0.26);
    color: #ffffff !important;
}

#cp-fotos-modal .modal-dialog {
    max-width: 760px;
}

#cp-fotos-modal .modal-content {
    border: 0;
    border-radius: 16px;
    overflow: hidden;
}

#cp-fotos-modal .modal-header,
#cp-fotos-modal .modal-footer {
    border-color: #dfe5ec;
    padding: 1.1rem 1.25rem;
}

#cp-fotos-modal .modal-body {
    padding: 1.25rem;
}

.cp-foto-dropzone {
    align-items: center;
    background: #fbfcfd;
    border: 2px dashed #c1ced8;
    border-radius: 14px;
    color: #07172a;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 150px;
    padding: 1rem;
    text-align: center;
    transition: border-color 0.16s ease, background-color 0.16s ease;
}

.cp-foto-dropzone strong {
    font-size: 0.84rem;
    font-weight: 900;
}

.cp-foto-dropzone span {
    color: #536579;
    font-size: 0.78rem;
    font-weight: 700;
    margin-top: 0.35rem;
}

.cp-foto-dropzone:hover,
.cp-foto-dropzone.is-dragover {
    background: #fff7f2;
    border-color: #ff8d64;
}

.cp-foto-modal-empty {
    align-items: center;
    color: #536579;
    display: flex;
    gap: 0.7rem;
    min-height: 54px;
}

.cp-foto-modal-empty img {
    background: #f8fbfc;
    border: 1px dashed #c1ced8;
    border-radius: 8px;
    height: 52px;
    object-fit: contain;
    padding: 4px;
    width: 52px;
}

@media (max-width: 767.98px) {
    .cp-compras-form-wide .cp-item-fotos-panels {
        grid-template-columns: 1fr;
    }
}

.cp-fotos-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}

.cp-foto-card {
    background: #f8f9fa;
    border: 1px solid #e1e5ea;
    border-radius: 6px;
    margin: 0;
    overflow: hidden;
}

.cp-foto-card img {
    aspect-ratio: 4 / 3;
    background: #ffffff;
    cursor: zoom-in;
    display: block;
    object-fit: contain;
    width: 100%;
}

.cp-foto-card figcaption {
    align-items: center;
    color: #5f6f7a;
    display: flex;
    font-size: 0.82rem;
    font-weight: 600;
    justify-content: space-between;
    min-height: 42px;
    padding: 0.5rem 0.65rem;
}

.cp-foto-delete {
    flex: 0 0 auto;
    min-height: 30px;
    min-width: 30px;
}

.cp-foto-preview-modal-content .modal-body {
    background: #f5f7f9;
    padding: 0.75rem;
}

.cp-foto-preview-img {
    background: #ffffff;
    display: block;
    max-height: 78vh;
    object-fit: contain;
    width: 100%;
}

.form-label {
    color: var(--appf-form-muted);
    font-size: 0.94rem;
    font-weight: 700;
}

.form-control,
.form-select,
.input-group-text {
    background-color: var(--appf-input-bg);
    border-color: var(--appf-form-border);
    border-radius: 8px;
    min-height: 38px;
    padding-bottom: 0.38rem;
    padding-top: 0.38rem;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--appf-orange);
    box-shadow: 0 0 0 0.2rem rgba(255, 69, 0, 0.16);
}

.form-section .card-footer {
    padding: 1rem 1.5rem;
}

.form-section .btn {
    min-height: 42px;
    padding-left: 1.1rem;
    padding-right: 1.1rem;
}

.input-group .form-control {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}

.input-group .input-group-text {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
}

.select2-container--default .select2-selection--single {
    background-color: var(--appf-input-bg);
    border: 1px solid var(--appf-form-border);
    border-bottom-right-radius: 8px;
    border-top-right-radius: 8px;
    border-bottom-left-radius: 8px;
    border-top-left-radius: 8px;
    height: 38px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--ks-text);
    line-height: 36px;
    padding-left: 12px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px;
}

.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--appf-orange);
    box-shadow: 0 0 0 0.2rem rgba(255, 69, 0, 0.16);
}

.select2-dropdown {
    background-color: var(--appf-input-bg);
    border-color: var(--appf-form-border);
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: var(--appf-orange);
}


.login-page {
    background: linear-gradient(135deg, #eef8fb 0%, #f8f9fa 44%, #fff6ed 100%);
    min-height: 100vh;
    min-height: 100dvh;
    padding: clamp(1rem, 3vw, 2.5rem);
}

.login-wrap {
    align-items: center;
    display: grid;
    min-height: calc(100vh - clamp(2rem, 6vw, 5rem));
    min-height: calc(100dvh - clamp(2rem, 6vw, 5rem));
    margin: 0 auto;
    max-width: 980px;
    width: 100%;
}

.login-shell {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(0, 158, 195, 0.14);
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(22, 63, 78, 0.14);
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr);
    min-height: 520px;
    overflow: hidden;
    width: 100%;
}

.login-showcase {
    align-items: flex-start;
    background:
        linear-gradient(145deg, rgba(0, 158, 195, 0.94), rgba(0, 127, 160, 0.96)),
        var(--ks-blue);
    color: var(--ks-white);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(2rem, 4vw, 3.2rem);
}

.login-showcase h1 {
    font-size: clamp(2.1rem, 4vw, 3.6rem);
    font-weight: 800;
    letter-spacing: 0;
    margin: 0 0 0.85rem;
}

.login-showcase p {
    color: rgba(255, 255, 255, 0.88);
    font-size: 1.02rem;
    line-height: 1.7;
    margin: 0;
    max-width: 360px;
}

.login-logo-allop {
    background: rgba(255, 255, 255, 0.96);
    border-radius: 10px;
    display: block;
    height: auto;
    max-width: 176px;
    padding: 0.72rem 0.9rem;
}

.login-card {
    background: var(--ks-white);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(1.6rem, 4vw, 3.25rem);
}

.login-brand {
    align-items: center;
    display: flex;
    gap: 0.9rem;
    margin-bottom: 1.25rem;
}

.login-brand-stacked {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1.75rem;
    text-align: center;
}

.login-logo {
    display: block;
    height: auto;
    max-width: 190px;
    width: 68%;
    margin: 0 auto;
}

.login-logo + .login-logo {
    margin-top: 1rem;
}

.login-brand h1 {
    font-size: 1.55rem;
    font-weight: 800;
    margin: 0;
}

.login-brand p {
    color: var(--ks-muted);
    margin: 0;
}

.login-brand-stacked p {
    color: var(--ks-muted);
    margin: 0.3rem 0 0;
}

.login-card .form-control {
    border-radius: 8px;
    min-height: 42px;
}

.login-password-wrap {
    position: relative;
}

.login-password-wrap .form-control {
    padding-right: 2.6rem;
}

.login-toggle-password {
    background: transparent;
    border: 0;
    color: var(--ks-muted);
    height: 1.8rem;
    padding: 0;
    position: absolute;
    right: 0.55rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.8rem;
}

.login-toggle-password::before {
    background-color: currentColor;
    content: "";
    display: inline-block;
    height: 1.1rem;
    margin: 0 auto;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8zM1.2 8C2 6.8 4.5 3.5 8 3.5S14 6.8 14.8 8C14 9.2 11.5 12.5 8 12.5S2 9.2 1.2 8z'/%3E%3Cpath d='M8 5.5A2.5 2.5 0 1 0 8 10.5 2.5 2.5 0 0 0 8 5.5z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8zM1.2 8C2 6.8 4.5 3.5 8 3.5S14 6.8 14.8 8C14 9.2 11.5 12.5 8 12.5S2 9.2 1.2 8z'/%3E%3Cpath d='M8 5.5A2.5 2.5 0 1 0 8 10.5 2.5 2.5 0 0 0 8 5.5z'/%3E%3C/svg%3E") center / contain no-repeat;
    width: 1.1rem;
}

.login-toggle-password.is-visible::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M10.79 12.912l-1.614-1.615a3.5 3.5 0 0 1-4.474-4.474l-2.06-2.06C.938 6.278 0 8 0 8s3 5.5 8 5.5a7.029 7.029 0 0 0 2.79-.588z'/%3E%3Cpath d='M5.21 3.088A7.028 7.028 0 0 1 8 2.5c5 0 8 5.5 8 5.5s-.939 1.721-2.641 3.238l-2.062-2.062a3.5 3.5 0 0 0-4.474-4.474L5.21 3.089z'/%3E%3Cpath d='M5.525 7.646a2.5 2.5 0 0 0 2.829 2.829l-2.83-2.829zm4.95.708-2.829-2.83a2.5 2.5 0 0 1 2.829 2.829z'/%3E%3Cpath fill-rule='evenodd' d='M13.646 14.354l-12-12 .708-.708 12 12-.708.708z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M10.79 12.912l-1.614-1.615a3.5 3.5 0 0 1-4.474-4.474l-2.06-2.06C.938 6.278 0 8 0 8s3 5.5 8 5.5a7.029 7.029 0 0 0 2.79-.588z'/%3E%3Cpath d='M5.21 3.088A7.028 7.028 0 0 1 8 2.5c5 0 8 5.5 8 5.5s-.939 1.721-2.641 3.238l-2.062-2.062a3.5 3.5 0 0 0-4.474-4.474L5.21 3.089z'/%3E%3Cpath d='M5.525 7.646a2.5 2.5 0 0 0 2.829 2.829l-2.83-2.829zm4.95.708-2.829-2.83a2.5 2.5 0 0 1 2.829 2.829z'/%3E%3Cpath fill-rule='evenodd' d='M13.646 14.354l-12-12 .708-.708 12 12-.708.708z'/%3E%3C/svg%3E");
}

.login-card .btn {
    border-radius: 8px;
    min-height: 42px;
}

.brand-mark {
    align-items: center;
    background: linear-gradient(135deg, var(--ks-orange), var(--ks-orange-dark));
    border-radius: 10px;
    color: var(--ks-white);
    display: inline-flex;
    font-size: 1.4rem;
    height: 46px;
    justify-content: center;
    width: 46px;
}

@media (max-width: 991.98px) {
    .navbar-dark .navbar-nav .nav-link {
        padding-left: 0.75rem !important;
    }
}

@media (max-width: 768px) {
    .login-page {
        padding: 1rem;
    }

    .login-wrap {
        align-items: start;
        min-height: calc(100vh - 2rem);
        min-height: calc(100dvh - 2rem);
    }

    .login-shell {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .login-showcase {
        gap: 1.25rem;
        padding: 1.35rem;
    }

    .login-showcase h1 {
        font-size: 1.8rem;
        margin-bottom: 0.35rem;
    }

    .login-showcase p {
        font-size: 0.92rem;
        line-height: 1.55;
        max-width: none;
    }

    .login-logo-allop {
        max-width: 132px;
        padding: 0.55rem 0.7rem;
    }

    .login-card {
        padding: 1.35rem;
    }

    .login-logo {
        max-width: 170px;
    }

    .table-responsive {
        overflow: hidden !important;
        padding: 0;
    }

    .permission-actions,
    .permission-actions .btn {
        width: 100%;
    }

    .permission-actions {
        flex-direction: column;
    }

    .permission-table tbody td {
        min-height: 42px;
    }

    .table-custom tbody td {
        gap: 1rem;
    }

    .table-custom tbody td::before {
        flex: 0 0 42%;
        text-align: left;
    }

    .cp-itens-pedido-section > .card-header {
        align-items: stretch !important;
    }

    .cp-itens-pedido-section #btn-add-cp-item {
        justify-content: center;
        width: 100%;
    }

    .cp-compras-form-wide .cp-compra-item-header,
    .cp-compras-form-wide .cp-compra-item-summary {
        align-items: stretch;
        flex-direction: column;
    }

    .cp-compras-form-wide .cp-compra-item-main {
        align-items: flex-start;
    }

    .cp-compras-form-wide .cp-compra-item-summary {
        grid-template-columns: 1fr;
        width: 100%;
    }

    .cp-compras-form-wide .cp-compra-item-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .cp-compras-form-wide .cp-compra-item-tabs {
        overflow-x: auto;
        padding-bottom: 0.1rem;
    }

    .cp-compras-form-wide .cp-compra-item-actions {
        justify-content: flex-end;
        width: 100%;
    }

    .cp-compras-form-wide .cp-item-thumb-wrap,
    .cp-compras-form-wide .cp-item-thumb-button {
        flex-basis: 88px;
        height: 88px;
        width: 88px;
    }

    .cp-compras-form-wide .cp-compra-item-photo,
    .cp-compras-form-wide .cp-compra-item-photo .btn-photo {
        width: 100%;
    }

    .cp-compras-form-wide .cp-compra-item-actions .btn:not(.btn-icon-only) {
        flex: 1 1 auto;
    }

    .cp-compras-form-wide .cp-compra-tamanho-header,
    .cp-compras-form-wide .cp-compra-cor-header {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .cp-compras-form-wide .cp-compra-tamanho-header > .cp-compra-tamanho-title {
        flex: 1 1 calc(100% - 2rem);
    }

    .cp-compras-form-wide .cp-compra-tamanho-summary {
        flex: 1 1 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        order: 3;
    }

    .cp-compras-form-wide .cp-compra-cor-header > .cp-compra-cor-title {
        flex: 1 1 calc(100% - 2rem);
    }

    .cp-compras-form-wide .cp-compra-cor-summary {
        flex: 1 1 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        order: 3;
    }

    .cp-compras-form-wide .cp-compra-tamanho-actions {
        flex-wrap: wrap;
        order: 2;
        width: 100%;
    }

    .cp-compras-form-wide .cp-compra-cor-actions {
        flex-wrap: wrap;
        order: 2;
        width: 100%;
    }

    .cp-compras-form-wide .cp-compra-tamanho-actions .btn:not(.btn-icon-only) {
        flex: 1 1 auto;
    }
}

.pre-cadastro-ref-badges {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.pre-cadastro-ref-badge {
    align-items: center;
    background: #f8fbff;
    border: 1px solid rgba(13, 110, 253, 0.34);
    border-radius: 999px;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.12);
    color: #0b3f79;
    display: inline-flex;
    gap: 0.4rem;
    line-height: 1;
    padding: 0.48rem 0.82rem;
}

.pre-cadastro-ref-badge small {
    color: #365f8c;
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pre-cadastro-ref-badge strong {
    font-size: 1rem;
    font-weight: 800;
}

.pre-cadastro-item-codigo {
    color: #0b66a3;
    font-weight: 900;
}

.pre-cadastro-item-descricao {
    color: #1f2937;
    font-size: 1rem;
    font-weight: 800;
}

.pre-cadastro-r3-wrap {
    position: relative;
}

.pre-cadastro-r3-wrap .form-label {
    color: var(--appf-orange);
    font-weight: 800;
}

.pre-cadastro-r3-input {
    background: #fff8f1;
    border-color: var(--appf-orange);
    box-shadow: 0 0 0 .18rem rgba(255, 69, 0, .12);
    font-weight: 800;
}

.pre-cadastro-r3-input:focus {
    background: #fff;
    border-color: var(--ks-orange-dark);
    box-shadow: 0 0 0 .25rem rgba(255, 69, 0, .24);
}

.pre-cadastro-metric-badges {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.pre-cadastro-metric-badge {
    align-items: center;
    background: #eef6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
    color: #123f73;
    display: inline-flex;
    gap: 0.35rem;
    line-height: 1;
    padding: 0.42rem 0.58rem;
}

.pre-cadastro-metric-badge small {
    color: #55708f;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pre-cadastro-metric-badge strong {
    font-size: 0.86rem;
    font-weight: 800;
}

.pre-cadastro-toggle {
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    gap: 0.45rem;
    min-height: 38px;
    min-width: 5.6rem;
    user-select: none;
}

.pre-cadastro-toggle .form-label {
    margin-bottom: 0;
}

.pre-cadastro-toggle-input {
    opacity: 0;
    position: absolute;
    pointer-events: none;
}

.pre-cadastro-toggle-control {
    background: #cbd5e1;
    border-radius: 999px;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.18);
    flex: 0 0 auto;
    height: 1.45rem;
    position: relative;
    transition: background-color 0.18s ease, box-shadow 0.18s ease;
    width: 2.7rem;
}

.pre-cadastro-toggle-control::after {
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.24);
    content: "";
    height: 1.08rem;
    left: 0.18rem;
    position: absolute;
    top: 0.18rem;
    transition: transform 0.18s ease;
    width: 1.08rem;
}

.pre-cadastro-toggle.is-active .pre-cadastro-toggle-control {
    background: #198754;
    box-shadow: inset 0 1px 2px rgba(12, 86, 46, 0.28);
}

.pre-cadastro-toggle.is-active .pre-cadastro-toggle-control::after {
    transform: translateX(1.25rem);
}

.pre-cadastro-toggle-text {
    color: #475569;
    font-size: 0.82rem;
    font-weight: 700;
    min-width: 2.1rem;
}

.pre-cadastro-toggle.is-active .pre-cadastro-toggle-text {
    color: #146c43;
}

.pre-cadastro-toggle-input:focus + .pre-cadastro-toggle-control {
    box-shadow: 0 0 0 0.18rem rgba(25, 135, 84, 0.18);
}

@media (max-width: 767.98px) {
    .pre-cadastro-ref-badges {
        margin-left: 0 !important;
        margin-top: 0.5rem;
        width: 100%;
    }

    .pre-cadastro-metric-badges {
        margin-left: 0 !important;
        margin-top: 0.5rem;
        width: 100%;
    }
}
