﻿html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

a, .btn-link {
    color: #0366d6;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.content {
    padding-top: 1.1rem;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

.img-circle {
    border-radius: 50%;
    width: 90px;
    float: left;
}

.img-circle-sml {
    border-radius: 50%;
    width: 45px;
    float: left;
}

.rz-progressbar:not(.rz-progressbar-indeterminate) .rz-progressbar-value {
    background-color: #7c3aed !important;
}

.rz-progressbar.rz-progressbar-indeterminate .rz-progressbar-value::before,
.rz-progressbar.rz-progressbar-indeterminate .rz-progressbar-value::after {
    background-color: #7c3aed !important;
}

.rz-progressbar-circular .rz-progressbar-circular-value {
    stroke: #7c3aed !important;
}

body:has(.qs-auth-page),
body:has(.qs-loading) {
    overflow-y: auto;
}

/* Shared reference-listing surface used by Departments, Tax codes, and Units. */
.qs-reference-header { align-items:flex-start; display:flex; flex:0 0 auto; gap:1rem; justify-content:space-between; }
.qs-reference-header h2 { color:var(--qs-ink); font-size:clamp(1.45rem,2.3vw,2rem); font-weight:800; letter-spacing:-.055em; line-height:1.05; margin:.35rem 0 .3rem; }
.qs-reference-header p { color:var(--qs-muted); font-size:.8rem; line-height:1.45; margin:0; }
.qs-reference-eyebrow { align-items:center; color:var(--qs-purple); display:flex; font-size:.68rem; font-weight:800; gap:.4rem; letter-spacing:.1em; text-transform:uppercase; }
.qs-reference-eyebrow .rzi { font-size:.95rem; }
.qs-reference-count { align-items:baseline; background:rgba(255,255,255,.82); border:1px solid rgba(79,45,168,.12); border-radius:.75rem; display:flex; flex:0 0 auto; gap:.35rem; padding:.55rem .75rem; }
.qs-reference-count strong { color:var(--qs-purple); font-size:1rem; }
.qs-reference-count span { color:var(--qs-muted); font-size:.7rem; font-weight:700; }
.qs-reference-toolbar { align-items:center; background:rgba(255,255,255,.86); border:1px solid var(--qs-border); border-radius:.85rem; display:flex; flex:0 0 auto; flex-wrap:wrap; gap:.65rem; padding:.65rem; }
.qs-reference-search { align-items:center; background:#fff; border:1px solid var(--qs-border); border-radius:.62rem; display:flex; flex:1 1 18rem; gap:.5rem; min-width:min(100%,16rem); padding:0 .65rem; }
.qs-reference-search .rzi { color:var(--qs-purple); font-size:1.05rem; }
.qs-reference-search .rz-textbox { border:0; box-shadow:none; font-size:.82rem; min-height:2.35rem; min-width:0; padding-inline:0; width:100%; }
.qs-reference-search:focus-within { border-color:var(--qs-purple); box-shadow:0 0 0 3px rgba(79,45,168,.12); }
.qs-reference-toolbar .rz-button { border-radius:.62rem; font-size:.77rem; font-weight:750; min-height:2.35rem; }
.qs-reference-primary-action .rz-button { background:var(--qs-teal); border-color:var(--qs-teal); }
.qs-reference-progress { flex:0 0 auto; }
.qs-reference-grid-region { display:flex; flex:1 1 auto; flex-direction:column; gap:.4rem; min-height:0; overflow:hidden; }
.qs-reference-table-wrap { border:1px solid var(--qs-border); border-radius:.85rem; flex:1 1 auto; min-height:0; overflow:auto; }
.qs-reference-grid { font-family:Helvetica,Roboto,Arial,sans-serif; min-width:0; width:100%; }
.qs-reference-table-wrap .quickgrid { border-collapse:collapse; font-family:Helvetica,Roboto,Arial,sans-serif; font-size:.72rem; table-layout:fixed; width:100% !important; }
.qs-reference-table-wrap .quickgrid thead th { background:#f1eef9; border-bottom:1px solid var(--qs-border); border-right:1px solid #d9d4e4; color:var(--qs-purple-dark); font-family:Helvetica,Roboto,Arial,sans-serif; font-size:.64rem !important; font-weight:800; letter-spacing:.04em; line-height:1.1; padding:.25rem .35rem; text-align:left; text-transform:uppercase; white-space:normal; }
.qs-reference-table-wrap .quickgrid tbody td { border-bottom:1px solid #ebe8f1; border-right:1px solid #ebe8f1; color:var(--qs-ink); font-family:Helvetica,Roboto,Arial,sans-serif; font-size:.72rem !important; line-height:1.1; overflow-wrap:anywhere; padding:.18rem .35rem; vertical-align:middle; white-space:normal; }
.qs-reference-table-wrap .quickgrid tbody tr:hover > td { background:#f8f5ff; }
.qs-reference-table-wrap .quickgrid th:last-child, .qs-reference-table-wrap .quickgrid td:last-child { border-right:0; }
.qs-reference-table-wrap .qs-departments-code-column { width:15%; } .qs-reference-table-wrap .qs-departments-prefix-column { width:20%; } .qs-reference-table-wrap .qs-departments-description-column { width:50%; } .qs-reference-table-wrap .qs-departments-actions-column { text-align:center; width:15%; }
.qs-reference-table-wrap .qs-taxes-description-column { width:45%; } .qs-reference-table-wrap .qs-taxes-rate-column { width:20%; } .qs-reference-table-wrap .qs-taxes-actions-column { text-align:center; width:15%; }
.qs-reference-table-wrap .qs-units-code-column { width:25%; } .qs-reference-table-wrap .qs-units-description-column { width:60%; } .qs-reference-table-wrap .qs-units-actions-column { text-align:center; width:15%; }
.qs-reference-table-wrap .rz-button { min-height:2rem; } .qs-reference-table-wrap .rz-splitbutton { display:inline-flex; } .qs-reference-table-wrap .rz-splitbutton .rz-button { font-size:.72rem; padding:.25rem .45rem; }
.qs-reference-empty { align-items:center; background:rgba(255,255,255,.82); border:1px dashed #cbc4df; border-radius:.75rem; color:var(--qs-muted); display:flex; flex-direction:column; gap:.35rem; justify-content:center; min-height:9rem; padding:1.2rem; text-align:center; }
.qs-reference-empty strong { color:var(--qs-ink); font-size:.9rem; } .qs-reference-empty > .rzi { color:var(--qs-purple); font-size:1.6rem; } .qs-reference-empty-inline { flex:1 1 auto; }
.qs-reference-pager { align-items:center; display:flex; flex:0 0 auto; justify-content:flex-end; min-height:2.25rem; } .qs-reference-pager .paginator { align-items:center; display:flex; font-family:Helvetica,Roboto,Arial,sans-serif; font-size:.72rem; gap:.35rem; } .qs-reference-pager button { border:1px solid var(--qs-border); border-radius:.45rem; color:var(--qs-purple-dark); min-height:1.9rem; min-width:1.9rem; } .qs-reference-pager button:disabled { cursor:not-allowed; opacity:.45; }

/* Compact editor shell shared by the Settings modify dialogs. */
.qs-settings-editor { --qs-purple:#4f2da8; --qs-purple-dark:#281454; --qs-yellow:#ffd21e; --qs-ink:#19152a; --qs-muted:#6f6a7e; --qs-border:#e4e0ec; background:radial-gradient(circle at 100% 0%,rgba(79,45,168,.1),transparent 23rem),#f7f6fa; color:var(--qs-ink); display:flex; flex-direction:column; gap:.65rem; height:100%; min-height:0; overflow:hidden; padding:clamp(.8rem,1.7vw,1.25rem); }
.qs-settings-editor__header { align-items:flex-start; display:flex; gap:1rem; justify-content:space-between; }
.qs-settings-editor__eyebrow,.qs-settings-editor__section-title { align-items:center; color:var(--qs-purple); display:flex; font-size:.68rem; font-weight:800; gap:.42rem; letter-spacing:.1em; text-transform:uppercase; }
.qs-settings-editor__eyebrow .rzi,.qs-settings-editor__section-title .rzi { font-size:.95rem; }
.qs-settings-editor__header h2 { font-size:clamp(1.35rem,2.15vw,1.8rem); font-weight:800; letter-spacing:-.055em; line-height:1.05; margin:.28rem 0 .2rem; }
.qs-settings-editor__header p { color:var(--qs-muted); font-size:.8rem; margin:0; }
.qs-settings-editor__status { background:#fff9dc; border:1px solid rgba(255,210,30,.7); border-radius:.65rem; color:#5e4d00; font-size:.7rem; font-weight:800; padding:.52rem .68rem; text-transform:uppercase; white-space:nowrap; }
.qs-settings-editor__body { display:grid; gap:.6rem; grid-template-columns:repeat(2,minmax(0,1fr)); min-height:0; overflow:auto; }
.qs-settings-editor__section { background:rgba(255,255,255,.86); border:1px solid var(--qs-border); border-radius:.85rem; padding:.65rem .75rem; }
.qs-settings-editor__section--wide { grid-column:1 / -1; }
.qs-settings-editor__fields { display:grid; gap:.5rem; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:.55rem; }
.qs-settings-editor__field { min-width:0; width:100%; }
.qs-settings-editor__field--wide { grid-column:1 / -1; }
.qs-settings-editor .rz-form-field { width:100%; }
.qs-settings-editor .rz-form-field-label { color:var(--qs-muted); font-size:.72rem; font-weight:700; }
.qs-settings-editor .rz-form-field-content { border-radius:.62rem; min-height:2.5rem; }
.qs-settings-editor .rz-textbox,.qs-settings-editor .rz-textarea,.qs-settings-editor .rz-dropdown,.qs-settings-editor .rz-numeric { font-size:.82rem; }
.qs-settings-editor .rz-form-field:focus-within { filter:drop-shadow(0 0 .3rem rgba(79,45,168,.16)); }
.qs-settings-editor__footer { align-items:center; border-top:1px solid var(--qs-border); color:var(--qs-muted); display:flex; flex:0 0 auto; font-size:.72rem; gap:1rem; justify-content:space-between; margin-top:auto; padding-top:.65rem; }
.qs-settings-editor__actions { display:flex; gap:.55rem; }
.qs-settings-editor__actions .rz-button { border-radius:.62rem; font-size:.78rem; font-weight:750; min-height:2.45rem; }
.qs-settings-editor__save .rz-button { background:var(--qs-purple); border-color:var(--qs-purple); }
.qs-settings-editor__save .rz-button:hover { background:var(--qs-yellow); border-color:var(--qs-yellow); color:var(--qs-purple-dark); }

