/* Self-contained editor icons (no Bootstrap Icons dependency) */
.procore-icon-calendar,
.procore-icon-ellipsis,
.procore-icon-filter {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    vertical-align: middle;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.procore-icon-calendar {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1zm1 2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-9 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-9 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1zm1 2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-9 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-9 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z'/%3E%3C/svg%3E");
}

.procore-icon-ellipsis {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z'/%3E%3C/svg%3E");
}

.procore-icon-filter {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M1.5 1.5A.5.5 0 0 1 2 1h12a.5.5 0 0 1 .4.8L9.5 8.333V13.5a.5.5 0 0 1-.276.447l-2 1A.5.5 0 0 1 6.5 14.5V8.333L1.6 1.8a.5.5 0 0 1-.1-.3zM3 2l4.4 5.867a.5.5 0 0 1 .1.3v5.524l1-.5V8.167a.5.5 0 0 1 .1-.3L13 2H3z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M1.5 1.5A.5.5 0 0 1 2 1h12a.5.5 0 0 1 .4.8L9.5 8.333V13.5a.5.5 0 0 1-.276.447l-2 1A.5.5 0 0 1 6.5 14.5V8.333L1.6 1.8a.5.5 0 0 1-.1-.3zM3 2l4.4 5.867a.5.5 0 0 1 .1.3v5.524l1-.5V8.167a.5.5 0 0 1 .1-.3L13 2H3z'/%3E%3C/svg%3E");
}

/* Schedule popup layout */
.schedule-popup {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    max-height: min(70vh, 640px);
    overflow-y: auto;
    padding: 0.25rem 0.15rem 0.5rem;
    box-sizing: border-box;
}

.schedule-section {
    border: 1px solid rgba(128, 128, 128, 0.35);
    border-radius: 0.375rem;
    padding: 0.65rem 0.75rem;
}

.schedule-section-title {
    font-weight: 600;
    margin: 0 0 0.55rem;
    font-size: 0.95rem;
}

.schedule-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.65rem;
    margin-bottom: 0.55rem;
}

.schedule-row:last-child {
    margin-bottom: 0;
}

.schedule-row-indent {
    padding-left: 1.5rem;
}

.schedule-label {
    margin: 0;
    white-space: nowrap;
    flex: 0 0 auto;
}

.schedule-hint {
    white-space: nowrap;
    flex: 0 0 auto;
}

.schedule-grow {
    flex: 1 1 12rem;
    min-width: 10rem;
}

.schedule-w-spin {
    width: 5.5rem !important;
    min-width: 5.5rem !important;
    max-width: 5.5rem !important;
    flex: 0 0 5.5rem !important;
}

.schedule-w-time {
    width: 8.5rem !important;
    min-width: 8.5rem !important;
    max-width: 8.5rem !important;
    flex: 0 0 8.5rem !important;
}

.schedule-w-date {
    width: 11rem !important;
    min-width: 11rem !important;
    max-width: 14rem !important;
    flex: 0 1 11rem !important;
}

.schedule-w-combo {
    width: 8.5rem !important;
    min-width: 8.5rem !important;
    max-width: 10rem !important;
    flex: 0 0 8.5rem !important;
}

.schedule-w-combo-wide {
    width: 10rem !important;
    min-width: 10rem !important;
    max-width: 12rem !important;
    flex: 0 0 10rem !important;
}

.schedule-summary {
    border: 1px solid rgba(128, 128, 128, 0.35);
    border-radius: 0.375rem;
    padding: 0.55rem 0.75rem;
}

.schedule-summary-title {
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.schedule-days {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1rem;
}

/* Keep DX editors from stretching over siblings */
.schedule-popup .dxbl-text-edit,
.schedule-popup .dxbl-spin-edit,
.schedule-popup .dxbl-combo-box,
.schedule-popup .dxbl-date-edit,
.schedule-popup .dxbl-time-edit {
    box-sizing: border-box;
}

.schedule-popup-footer {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    width: 100%;
}

.schedule-popup-footer > * {
    flex: 0 0 auto;
    position: relative;
}

.procore-filter-form {
    height: 100%;
    min-height: 260px;
    overflow: auto;
    padding: 0.25rem;
    box-sizing: border-box;
}

.procore-filter-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 220px;
}

.param-color-swatch {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border: 1px solid rgba(128, 128, 128, 0.45);
    border-radius: 0.125rem;
    flex: 0 0 auto;
}

.param-image-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    color: rgba(160, 160, 160, 0.95);
}

.param-image-edit-preview {
    max-height: 96px;
    max-width: 160px;
    object-fit: contain;
    display: block;
    border: 1px solid rgba(128, 128, 128, 0.35);
    border-radius: 0.25rem;
}

.param-color-palette {
    padding: 0.5rem;
}

.param-color-custom .form-control-color {
    cursor: pointer;
}

.param-timespan-picker {
    margin-top: 0;
}

.param-font-dropdown .dxbl-listbox {
    border: none;
}

/* Hesap makinesi: Bootstrap d-grid DropDown içinde güvenilir değil; açık grid kullan. */
.param-calc-pad {
    min-width: 260px;
    max-width: 280px;
}

.param-calc-pad .param-calc-display {
    margin-bottom: 0.5rem;
}

.param-calc-keys {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.35rem;
}

.param-calc-keys > * {
    width: 100%;
    min-width: 0;
}

.param-calc-keys .dxbl-btn {
    min-height: 2.25rem;
    width: 100%;
}
