/* Shared compact ERP surface.  DaisyUI supplies the controls; these rules keep
   both the new templates and the remaining legacy templates visually aligned. */
:root { font-family: Inter, "Noto Sans Lao", ui-sans-serif, system-ui, sans-serif; }

body { font-size: .875rem; }

/* Small motion pass across the whole admin app — every page here is a full
   reload, not an SPA, so this is what makes navigation feel less abrupt:
   a soft fade-in on load, and gentle hover feedback on the controls people
   click most. Kept deliberately subtle and fast (no bounce, no big moves). */
html { scroll-behavior: smooth; }
main { animation: kcc-page-in .45s ease both; }
@keyframes kcc-page-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.btn, .input, .select, .textarea, .file-input, .card, .badge, a {
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease, color .2s ease;
}
.btn:not(:disabled):hover { transform: translateY(-1px); box-shadow: 0 3px 8px rgb(15 23 42 / .12); }
.btn:not(:disabled):active { transform: translateY(0); box-shadow: none; }
.card:hover { box-shadow: 0 6px 16px rgb(15 23 42 / .08); }
.table tbody tr { transition: background-color .2s ease; }
.table tbody tr:hover { background-color: #f8fafc; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  main, .btn, .input, .select, .textarea, .file-input, .card, .badge, a, .table tbody tr { transition: none !important; animation: none !important; }
}

/* 1-5 score picker (interview evaluation form): red ring flags a question
   left unscored when the user tries to submit. */
.score-picker-invalid { border-radius: .4rem; outline: 2px solid #dc2626; outline-offset: 2px; }

/* Public company site */
.company-site { font-family: "Noto Sans Lao", Inter, ui-sans-serif, system-ui, sans-serif; }
.company-site .latin { font-family: Inter, "Noto Sans Lao", ui-sans-serif, system-ui, sans-serif; }

.btn { min-height: 2rem; height: 2rem; padding-inline: .7rem; border-radius: .4rem; font-size: .75rem; font-weight: 600; }
.btn-sm { min-height: 1.7rem; height: 1.7rem; padding-inline: .5rem; font-size: .6875rem; }
/* The DaisyUI "corporate" theme's auto-computed text color on filled buttons
   is too dark against these background colors — force white for contrast.
   Compound selector to out-specificity DaisyUI's own .btn.btn-primary rule.
   Excludes .btn-outline: those buttons have a white/transparent background
   (not filled), so forcing white text made the label invisible until hover
   (when DaisyUI's own outline-hover state fills the background and turns
   the text white on its own) — e.g. the "evaluated" pill on /hr/applications. */
.btn.btn-primary:not(.btn-outline), .btn.btn-primary:not(.btn-outline):hover, .btn.btn-primary:not(.btn-outline):focus,
.btn.btn-secondary:not(.btn-outline), .btn.btn-secondary:not(.btn-outline):hover, .btn.btn-secondary:not(.btn-outline):focus,
.btn.btn-success:not(.btn-outline), .btn.btn-success:not(.btn-outline):hover, .btn.btn-success:not(.btn-outline):focus,
.btn.btn-error:not(.btn-outline), .btn.btn-error:not(.btn-outline):hover, .btn.btn-error:not(.btn-outline):focus { color: #fff; }
.input, .select, .textarea, .form-control, .form-select {
  min-height: 2.25rem; border-color: #cbd5e1; border-radius: .5rem; font-size: .875rem;
}
.textarea { min-height: 5rem; }
.form-control, .form-select { width: 100%; padding: .5rem .75rem; background: #fff; }
/* Explicit outlines prevent controls from blending into white cards. */
input.form-control, select.form-control, textarea.form-control, select.form-select,
.input.input-bordered, .select.select-bordered, .textarea.textarea-bordered {
  border: 1px solid #94a3b8 !important;
  background-color: #fff !important;
  box-shadow: inset 0 1px 1px rgb(15 23 42 / .03);
}
input.form-control:hover, select.form-control:hover, textarea.form-control:hover, select.form-select:hover,
.input.input-bordered:hover, .select.select-bordered:hover, .textarea.textarea-bordered:hover { border-color: #64748b !important; }
.form-control:focus, .form-select:focus, .input:focus, .select:focus, .textarea:focus {
  outline: 2px solid transparent; outline-offset: 2px; border-color: #2563eb !important; box-shadow: 0 0 0 3px rgb(37 99 235 / .16) !important;
}

.card { border: 1px solid #dbe3ee; border-radius: .625rem; background: #fff; box-shadow: 0 1px 2px rgb(15 23 42 / .06); }
.card-body { padding: 1rem; }
.card-header { padding: .75rem 1rem; border-bottom: 1px solid #e2e8f0; font-size: .875rem; }
.table { font-size: .75rem; }
.table :where(th, td) { padding: .5rem .625rem; }
.table thead { position: sticky; top: 0; z-index: 1; }
.table thead th { color: #475569; background: #f8fafc; font-weight: 600; }
.badge { min-height: 1.25rem; border-radius: 9999px; font-size: .6875rem; font-weight: 600; }

/* Compatibility layer while older module forms are migrated incrementally. */
.mb-1 { margin-bottom: .25rem; } .mb-2 { margin-bottom: .5rem; } .mb-3 { margin-bottom: .75rem; } .mb-4 { margin-bottom: 1rem; }
.mt-2 { margin-top: .5rem; } .mt-3 { margin-top: .75rem; }
.p-0 { padding: 0; } .p-3 { padding: .75rem; } .px-4 { padding-inline: 1rem; } .ps-3 { padding-left: .75rem; }
.d-flex { display: flex; } .align-items-center { align-items: center; } .justify-content-between { justify-content: space-between; } .justify-content-end { justify-content: flex-end; } .gap-2 { gap: .5rem; }
.container-fluid { width: 100%; max-width: 68rem; }
main > .card:has(> .card-body > form), main > .container-fluid > .card { max-width: 48rem; }
main > .container-fluid > form { max-width: 48rem; padding: 1rem; border: 1px solid #dbe3ee; border-radius: .625rem; background: #fff; box-shadow: 0 1px 2px rgb(15 23 42 / .06); }
.row { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: .75rem; }
.row.g-3 { gap: .75rem; }
.col-6 { grid-column: span 6 / span 6; }
.col-md-3, .col-lg-3 { grid-column: span 3 / span 3; } .col-md-4 { grid-column: span 4 / span 4; }
.col-md-6 { grid-column: span 6 / span 6; } .col-md-8 { grid-column: span 8 / span 8; }
.col-md-9 { grid-column: span 9 / span 9; } .col-md-12 { grid-column: span 12 / span 12; }
.col-lg-5 { grid-column: span 5 / span 5; } .col-lg-7 { grid-column: span 7 / span 7; }
.form-label, form label:not(.form-check-label) { display: block; margin-bottom: .375rem; color: #334155; font-size: .8125rem; font-weight: 600; }
.form-check { display: flex; align-items: center; gap: .5rem; } .form-check-input { width: 1rem; height: 1rem; }
.form-text { margin-top: .25rem; color: #64748b; font-size: .75rem; }
.input-group { display: flex; align-items: stretch; } .input-group > .form-control { min-width: 0; border-radius: .5rem 0 0 .5rem; }
.input-group > .btn { border-radius: 0 .5rem .5rem 0; }
.text-muted { color: #64748b; } .text-danger { color: #dc2626; } .text-bg-success { background: #dcfce7; color: #166534; } .text-bg-secondary { background: #e2e8f0; color: #475569; }
.btn-outline-primary { border: 1px solid #2563eb; color: #2563eb; background: #fff; } .btn-outline-danger { border: 1px solid #dc2626; color: #dc2626; background: #fff; } .btn-outline-secondary { border: 1px solid #94a3b8; color: #475569; background: #fff; }
.table-responsive { overflow-x: auto; } .border-top { border-top: 1px solid #e2e8f0; } .table-light { background: #f8fafc; }

/* Legacy list actions: keep edit/archive controls compact and on one line. */
.d-inline, form.inline, .table td > form { display: inline-flex; vertical-align: middle; }
.table td.text-end, .table td.text-right { white-space: nowrap; }
.table td .btn + form { margin-left: .25rem; }
.table td .btn-outline-primary:hover { background: #eff6ff; } .table td .btn-outline-danger:hover { background: #fef2f2; }
.btn-outline-success { border: 1px solid #16a34a; color: #15803d; background: #fff; } .btn-outline-success:hover { background: #f0fdf4; }

/* Organization chart: flex-based tree lays every sibling group out evenly and
   keeps wide structures scrollable instead of allowing cards to overlap. */
.org-chart-canvas { min-height: 70vh; overflow: auto; padding: 1rem; background: #f8fafc; cursor: grab; user-select: none; }
.org-chart-canvas--dragging { cursor: grabbing; }
.org-chart-canvas .org-node-card, .org-chart-canvas .org-node-toggle { user-select: none; }
.org-chart-canvas--fullscreen { position: relative; min-height: 38rem; height: calc(100vh - 13rem); padding: 0; }
.org-chart-full-page { min-height: 100vh; background: #f8fafc; padding: 1rem; }
.org-chart-full-page .org-chart-canvas--fullscreen { height: calc(100vh - 2rem); min-height: 0; }
.org-chart-viewport { width: max-content; min-width: 100%; min-height: 100%; padding: 1rem; }
.org-chart-zoom { position: sticky; top: .75rem; left: .75rem; z-index: 10; display: flex; width: max-content; align-items: center; gap: .25rem; border: 1px solid #cbd5e1; border-radius: .5rem; background: rgb(255 255 255 / .96); padding: .35rem; box-shadow: 0 2px 6px rgb(15 23 42 / .12); }
.org-tree, .org-tree ul { display: flex; justify-content: center; margin: 0; padding: 0; list-style: none; min-width: max-content; }
.org-tree { width: max-content; min-width: 100%; }
.org-tree__item { position: relative; padding: 1.25rem .25rem 0; text-align: center; }
.org-tree__item::before, .org-tree__item::after { content: ''; position: absolute; top: 0; width: 50%; height: 1.25rem; border-top: 1px solid #94a3b8; }
.org-tree__item::before { right: 50%; border-right: 1px solid #94a3b8; } .org-tree__item::after { left: 50%; border-left: 1px solid #94a3b8; }
.org-tree > .org-tree__item { padding-top: 0; } .org-tree > .org-tree__item::before, .org-tree > .org-tree__item::after { display: none; }
.org-tree__item:only-child::before, .org-tree__item:only-child::after { display: none; } .org-tree__item:first-child::before, .org-tree__item:last-child::after { border: 0 none; }
.org-tree__children { position: relative; padding-top: 1.25rem !important; } .org-tree__children::before { content: ''; position: absolute; top: 0; left: 50%; height: 1.25rem; border-left: 1px solid #94a3b8; }
.org-tree__node { position: relative; display: inline-flex; align-items: center; }
.org-node-card { display: flex; width: 8.5rem; min-height: 6rem; flex-direction: column; align-items: flex-start; gap: .35rem; border: 1px solid #cbd5e1; border-radius: .625rem; background: #fff; padding: .55rem; text-align: left; box-shadow: 0 1px 2px rgb(15 23 42 / .06); transition: border-color .15s, box-shadow .15s, transform .15s; }
.org-node-card:hover { transform: translateY(-1px); border-color: #60a5fa; box-shadow: 0 4px 10px rgb(15 23 42 / .1); } .org-node-card--selected { border-color: #2563eb; box-shadow: 0 0 0 3px rgb(37 99 235 / .15); }
.org-node-card__avatar { display: grid; width: 1.5rem; height: 1.5rem; flex: 0 0 auto; place-items: center; border-radius: .4rem; background: #dbeafe; color: #1d4ed8; font-size: .65rem; font-weight: 700; }.org-node-card__content { width: 100%; min-width: 0; }.org-node-card__name, .org-node-card__title, .org-node-card__leader { display: block; overflow: hidden; text-overflow: ellipsis; }.org-node-card__name { display: -webkit-box; overflow: hidden; color: #0f172a; font-size: .72rem; font-weight: 700; line-height: 1rem; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }.org-node-card__title, .org-node-card__leader { white-space: nowrap; }.org-node-card__title { margin-top: .1rem; color: #475569; font-size: .62rem; }.org-node-card__leader { margin-top: .1rem; color: #64748b; font-size: .6rem; }.org-node-card__people { display: flex; flex-wrap: wrap; gap: .2rem; margin-top: .3rem; }.org-node-card__people > span { max-width: 7rem; overflow: hidden; border-radius: .25rem; background: #eff6ff; padding: .1rem .25rem; color: #1d4ed8; font-size: .58rem; line-height: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.org-node-card__responsible { display: block; overflow: hidden; margin-top: .2rem; color: #166534; font-size: .6rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.org-node-toggle { position: absolute; right: -.5rem; bottom: -.5rem; z-index: 2; display: grid; width: 1.25rem; height: 1.25rem; place-items: center; border: 1px solid #93c5fd; border-radius: 9999px; background: #eff6ff; color: #1d4ed8; font-size: 1rem; line-height: 1; }

@media (max-width: 767px) { .col-md-3, .col-md-4, .col-md-6, .col-md-8, .col-md-9, .col-lg-3, .col-lg-5, .col-lg-7 { grid-column: span 12 / span 12; } .table { font-size: .6875rem; } .table :where(th, td) { padding: .45rem; } }

/* HR module: tighter frame across every page (list, form, pipeline, evaluation) —
   user asked for less scrolling and a smaller overall footprint. Scoped to
   main.hr-compact (set in layouts/base.html for the hr / work_hr blueprints)
   so it never touches other modules. */
.hr-compact { font-size: .8125rem; }
.hr-compact .card-body { padding: .75rem; }
.hr-compact .card-header { padding: .5rem .75rem; }
.hr-compact h1.text-2xl, .hr-compact .text-2xl { font-size: 1.2rem; }
.hr-compact .text-xl { font-size: 1.05rem; }
.hr-compact .text-lg { font-size: .95rem; }
.hr-compact .text-sm { font-size: .8rem; }
.hr-compact .text-xs { font-size: .72rem; }
/* Every Tailwind spacing utility (padding/margin/gap/space-between) actually
   used in the HR templates, scaled down as a full step-for-step table instead
   of one-off overrides — cherry-picking individual classes kept missing
   whichever ones a given page happened to use. */
.hr-compact .p-1 { padding: 0.2rem; } .hr-compact .p-2 { padding: 0.4rem; } .hr-compact .p-3 { padding: 0.55rem; } .hr-compact .p-4 { padding: 0.7rem; } .hr-compact .p-5 { padding: 0.85rem; } .hr-compact .p-6 { padding: 1rem; } .hr-compact .p-7 { padding: 1.15rem; } .hr-compact .p-8 { padding: 1.25rem; } .hr-compact .p-9 { padding: 1.4rem; } .hr-compact .p-10 { padding: 1.5rem; } .hr-compact .p-12 { padding: 1.75rem; }
.hr-compact .px-1 { padding-inline: 0.2rem; } .hr-compact .px-2 { padding-inline: 0.4rem; } .hr-compact .px-3 { padding-inline: 0.55rem; } .hr-compact .px-4 { padding-inline: 0.7rem; } .hr-compact .px-5 { padding-inline: 0.85rem; } .hr-compact .px-6 { padding-inline: 1rem; } .hr-compact .px-7 { padding-inline: 1.15rem; } .hr-compact .px-8 { padding-inline: 1.25rem; } .hr-compact .px-9 { padding-inline: 1.4rem; } .hr-compact .px-10 { padding-inline: 1.5rem; } .hr-compact .px-12 { padding-inline: 1.75rem; }
.hr-compact .py-1 { padding-block: 0.2rem; } .hr-compact .py-2 { padding-block: 0.4rem; } .hr-compact .py-3 { padding-block: 0.55rem; } .hr-compact .py-4 { padding-block: 0.7rem; } .hr-compact .py-5 { padding-block: 0.85rem; } .hr-compact .py-6 { padding-block: 1rem; } .hr-compact .py-7 { padding-block: 1.15rem; } .hr-compact .py-8 { padding-block: 1.25rem; } .hr-compact .py-9 { padding-block: 1.4rem; } .hr-compact .py-10 { padding-block: 1.5rem; } .hr-compact .py-12 { padding-block: 1.75rem; }
.hr-compact .pt-1 { padding-top: 0.2rem; } .hr-compact .pt-2 { padding-top: 0.4rem; } .hr-compact .pt-3 { padding-top: 0.55rem; } .hr-compact .pt-4 { padding-top: 0.7rem; } .hr-compact .pt-5 { padding-top: 0.85rem; } .hr-compact .pt-6 { padding-top: 1rem; } .hr-compact .pt-7 { padding-top: 1.15rem; } .hr-compact .pt-8 { padding-top: 1.25rem; } .hr-compact .pt-9 { padding-top: 1.4rem; } .hr-compact .pt-10 { padding-top: 1.5rem; } .hr-compact .pt-12 { padding-top: 1.75rem; }
.hr-compact .pb-1 { padding-bottom: 0.2rem; } .hr-compact .pb-2 { padding-bottom: 0.4rem; } .hr-compact .pb-3 { padding-bottom: 0.55rem; } .hr-compact .pb-4 { padding-bottom: 0.7rem; } .hr-compact .pb-5 { padding-bottom: 0.85rem; } .hr-compact .pb-6 { padding-bottom: 1rem; } .hr-compact .pb-7 { padding-bottom: 1.15rem; } .hr-compact .pb-8 { padding-bottom: 1.25rem; } .hr-compact .pb-9 { padding-bottom: 1.4rem; } .hr-compact .pb-10 { padding-bottom: 1.5rem; } .hr-compact .pb-12 { padding-bottom: 1.75rem; }
.hr-compact .ps-1 { padding-inline-start: 0.2rem; } .hr-compact .ps-2 { padding-inline-start: 0.4rem; } .hr-compact .ps-3 { padding-inline-start: 0.55rem; } .hr-compact .ps-4 { padding-inline-start: 0.7rem; } .hr-compact .ps-5 { padding-inline-start: 0.85rem; } .hr-compact .ps-6 { padding-inline-start: 1rem; } .hr-compact .ps-7 { padding-inline-start: 1.15rem; } .hr-compact .ps-8 { padding-inline-start: 1.25rem; } .hr-compact .ps-9 { padding-inline-start: 1.4rem; } .hr-compact .ps-10 { padding-inline-start: 1.5rem; } .hr-compact .ps-12 { padding-inline-start: 1.75rem; }
.hr-compact .pe-1 { padding-inline-end: 0.2rem; } .hr-compact .pe-2 { padding-inline-end: 0.4rem; } .hr-compact .pe-3 { padding-inline-end: 0.55rem; } .hr-compact .pe-4 { padding-inline-end: 0.7rem; } .hr-compact .pe-5 { padding-inline-end: 0.85rem; } .hr-compact .pe-6 { padding-inline-end: 1rem; } .hr-compact .pe-7 { padding-inline-end: 1.15rem; } .hr-compact .pe-8 { padding-inline-end: 1.25rem; } .hr-compact .pe-9 { padding-inline-end: 1.4rem; } .hr-compact .pe-10 { padding-inline-end: 1.5rem; } .hr-compact .pe-12 { padding-inline-end: 1.75rem; }
.hr-compact .m-1 { margin: 0.2rem; } .hr-compact .m-2 { margin: 0.4rem; } .hr-compact .m-3 { margin: 0.55rem; } .hr-compact .m-4 { margin: 0.7rem; } .hr-compact .m-5 { margin: 0.85rem; } .hr-compact .m-6 { margin: 1rem; } .hr-compact .m-7 { margin: 1.15rem; } .hr-compact .m-8 { margin: 1.25rem; } .hr-compact .m-9 { margin: 1.4rem; } .hr-compact .m-10 { margin: 1.5rem; } .hr-compact .m-12 { margin: 1.75rem; }
.hr-compact .mx-1 { margin-inline: 0.2rem; } .hr-compact .mx-2 { margin-inline: 0.4rem; } .hr-compact .mx-3 { margin-inline: 0.55rem; } .hr-compact .mx-4 { margin-inline: 0.7rem; } .hr-compact .mx-5 { margin-inline: 0.85rem; } .hr-compact .mx-6 { margin-inline: 1rem; } .hr-compact .mx-7 { margin-inline: 1.15rem; } .hr-compact .mx-8 { margin-inline: 1.25rem; } .hr-compact .mx-9 { margin-inline: 1.4rem; } .hr-compact .mx-10 { margin-inline: 1.5rem; } .hr-compact .mx-12 { margin-inline: 1.75rem; }
.hr-compact .my-1 { margin-block: 0.2rem; } .hr-compact .my-2 { margin-block: 0.4rem; } .hr-compact .my-3 { margin-block: 0.55rem; } .hr-compact .my-4 { margin-block: 0.7rem; } .hr-compact .my-5 { margin-block: 0.85rem; } .hr-compact .my-6 { margin-block: 1rem; } .hr-compact .my-7 { margin-block: 1.15rem; } .hr-compact .my-8 { margin-block: 1.25rem; } .hr-compact .my-9 { margin-block: 1.4rem; } .hr-compact .my-10 { margin-block: 1.5rem; } .hr-compact .my-12 { margin-block: 1.75rem; }
.hr-compact .mt-1 { margin-top: 0.2rem; } .hr-compact .mt-2 { margin-top: 0.4rem; } .hr-compact .mt-3 { margin-top: 0.55rem; } .hr-compact .mt-4 { margin-top: 0.7rem; } .hr-compact .mt-5 { margin-top: 0.85rem; } .hr-compact .mt-6 { margin-top: 1rem; } .hr-compact .mt-7 { margin-top: 1.15rem; } .hr-compact .mt-8 { margin-top: 1.25rem; } .hr-compact .mt-9 { margin-top: 1.4rem; } .hr-compact .mt-10 { margin-top: 1.5rem; } .hr-compact .mt-12 { margin-top: 1.75rem; }
.hr-compact .mb-1 { margin-bottom: 0.2rem; } .hr-compact .mb-2 { margin-bottom: 0.4rem; } .hr-compact .mb-3 { margin-bottom: 0.55rem; } .hr-compact .mb-4 { margin-bottom: 0.7rem; } .hr-compact .mb-5 { margin-bottom: 0.85rem; } .hr-compact .mb-6 { margin-bottom: 1rem; } .hr-compact .mb-7 { margin-bottom: 1.15rem; } .hr-compact .mb-8 { margin-bottom: 1.25rem; } .hr-compact .mb-9 { margin-bottom: 1.4rem; } .hr-compact .mb-10 { margin-bottom: 1.5rem; } .hr-compact .mb-12 { margin-bottom: 1.75rem; }
.hr-compact .ms-1 { margin-inline-start: 0.2rem; } .hr-compact .ms-2 { margin-inline-start: 0.4rem; } .hr-compact .ms-3 { margin-inline-start: 0.55rem; } .hr-compact .ms-4 { margin-inline-start: 0.7rem; } .hr-compact .ms-5 { margin-inline-start: 0.85rem; } .hr-compact .ms-6 { margin-inline-start: 1rem; } .hr-compact .ms-7 { margin-inline-start: 1.15rem; } .hr-compact .ms-8 { margin-inline-start: 1.25rem; } .hr-compact .ms-9 { margin-inline-start: 1.4rem; } .hr-compact .ms-10 { margin-inline-start: 1.5rem; } .hr-compact .ms-12 { margin-inline-start: 1.75rem; }
.hr-compact .me-1 { margin-inline-end: 0.2rem; } .hr-compact .me-2 { margin-inline-end: 0.4rem; } .hr-compact .me-3 { margin-inline-end: 0.55rem; } .hr-compact .me-4 { margin-inline-end: 0.7rem; } .hr-compact .me-5 { margin-inline-end: 0.85rem; } .hr-compact .me-6 { margin-inline-end: 1rem; } .hr-compact .me-7 { margin-inline-end: 1.15rem; } .hr-compact .me-8 { margin-inline-end: 1.25rem; } .hr-compact .me-9 { margin-inline-end: 1.4rem; } .hr-compact .me-10 { margin-inline-end: 1.5rem; } .hr-compact .me-12 { margin-inline-end: 1.75rem; }
.hr-compact .gap-1 { gap: 0.2rem; } .hr-compact .gap-2 { gap: 0.4rem; } .hr-compact .gap-3 { gap: 0.55rem; } .hr-compact .gap-4 { gap: 0.7rem; } .hr-compact .gap-5 { gap: 0.85rem; } .hr-compact .gap-6 { gap: 1rem; } .hr-compact .gap-7 { gap: 1.15rem; } .hr-compact .gap-8 { gap: 1.25rem; } .hr-compact .gap-9 { gap: 1.4rem; } .hr-compact .gap-10 { gap: 1.5rem; } .hr-compact .gap-12 { gap: 1.75rem; }
.hr-compact .gap-x-1 { column-gap: 0.2rem; } .hr-compact .gap-x-2 { column-gap: 0.4rem; } .hr-compact .gap-x-3 { column-gap: 0.55rem; } .hr-compact .gap-x-4 { column-gap: 0.7rem; } .hr-compact .gap-x-5 { column-gap: 0.85rem; } .hr-compact .gap-x-6 { column-gap: 1rem; } .hr-compact .gap-x-7 { column-gap: 1.15rem; } .hr-compact .gap-x-8 { column-gap: 1.25rem; } .hr-compact .gap-x-9 { column-gap: 1.4rem; } .hr-compact .gap-x-10 { column-gap: 1.5rem; } .hr-compact .gap-x-12 { column-gap: 1.75rem; }
.hr-compact .gap-y-1 { row-gap: 0.2rem; } .hr-compact .gap-y-2 { row-gap: 0.4rem; } .hr-compact .gap-y-3 { row-gap: 0.55rem; } .hr-compact .gap-y-4 { row-gap: 0.7rem; } .hr-compact .gap-y-5 { row-gap: 0.85rem; } .hr-compact .gap-y-6 { row-gap: 1rem; } .hr-compact .gap-y-7 { row-gap: 1.15rem; } .hr-compact .gap-y-8 { row-gap: 1.25rem; } .hr-compact .gap-y-9 { row-gap: 1.4rem; } .hr-compact .gap-y-10 { row-gap: 1.5rem; } .hr-compact .gap-y-12 { row-gap: 1.75rem; }
.hr-compact .space-y-1 > * + * { margin-top: 0.2rem; } .hr-compact .space-y-2 > * + * { margin-top: 0.4rem; } .hr-compact .space-y-3 > * + * { margin-top: 0.55rem; } .hr-compact .space-y-4 > * + * { margin-top: 0.7rem; } .hr-compact .space-y-5 > * + * { margin-top: 0.85rem; } .hr-compact .space-y-6 > * + * { margin-top: 1rem; } .hr-compact .space-y-7 > * + * { margin-top: 1.15rem; } .hr-compact .space-y-8 > * + * { margin-top: 1.25rem; } .hr-compact .space-y-9 > * + * { margin-top: 1.4rem; } .hr-compact .space-y-10 > * + * { margin-top: 1.5rem; } .hr-compact .space-y-12 > * + * { margin-top: 1.75rem; }
.hr-compact .space-x-1 > * + * { margin-left: 0.2rem; } .hr-compact .space-x-2 > * + * { margin-left: 0.4rem; } .hr-compact .space-x-3 > * + * { margin-left: 0.55rem; } .hr-compact .space-x-4 > * + * { margin-left: 0.7rem; } .hr-compact .space-x-5 > * + * { margin-left: 0.85rem; } .hr-compact .space-x-6 > * + * { margin-left: 1rem; } .hr-compact .space-x-7 > * + * { margin-left: 1.15rem; } .hr-compact .space-x-8 > * + * { margin-left: 1.25rem; } .hr-compact .space-x-9 > * + * { margin-left: 1.4rem; } .hr-compact .space-x-10 > * + * { margin-left: 1.5rem; } .hr-compact .space-x-12 > * + * { margin-left: 1.75rem; }
/* DaisyUI's .input/.select/.file-input/.btn set an explicit `height`, not
   just min-height, so overriding needs both. DaisyUI's own size modifiers
   (-xs/-sm/base/-lg) are single classes at the SAME specificity as the base
   class, so a plain ".select" override was winning over ".select-xs" by
   source order alone — that's what shrank the department filter (select-sm)
   down to unreadably small text. Each modifier now gets its own rule, and
   the base rule explicitly excludes the modifiers so they can't fight. */
.hr-compact .select-xs, .hr-compact .input-xs {
  height: 1.4rem; min-height: 1.4rem; padding-inline: .45rem; font-size: .7rem; line-height: 1.4rem;
}
.hr-compact .select-xs { padding-inline-end: 1.3rem; }
.hr-compact .select-sm, .hr-compact .input-sm, .hr-compact .textarea-sm {
  height: 1.85rem; min-height: 1.85rem; padding-inline: .55rem; font-size: .8rem; line-height: 1.75rem;
}
.hr-compact .select-sm { padding-inline-end: 1.7rem; }
.hr-compact .select:not(.select-xs):not(.select-sm),
.hr-compact .input:not(.input-xs):not(.input-sm),
.hr-compact .form-control, .hr-compact .form-select {
  height: 2.15rem; min-height: 2.15rem; padding-block: .35rem; padding-inline-start: .65rem; font-size: .8125rem; line-height: 1.5rem;
}
.hr-compact .select:not(.select-xs):not(.select-sm) { padding-inline-end: 1.9rem; }
.hr-compact .input:not(.input-xs):not(.input-sm), .hr-compact .form-control { padding-inline-end: .65rem; }
.hr-compact .textarea:not(.textarea-sm) { min-height: 3.5rem; padding: .4rem .65rem; font-size: .8125rem; }
.hr-compact .btn-xs { min-height: 1.4rem; height: 1.4rem; padding-inline: .4rem; font-size: .68rem; }
.hr-compact .btn-sm { min-height: 1.7rem; height: 1.7rem; padding-inline: .5rem; font-size: .75rem; }
.hr-compact .btn:not(.btn-xs):not(.btn-sm) { min-height: 2rem; height: 2rem; padding-inline: .65rem; font-size: .78rem; }
.hr-compact .badge { min-height: 1.15rem; padding-inline: .45rem; font-size: .65rem; }
.hr-compact .file-input { height: 2.15rem; min-height: 2.15rem; padding-inline-end: .65rem; font-size: .75rem; line-height: 2.15rem; }
.hr-compact .checkbox { height: 1.1rem; width: 1.1rem; }
.hr-compact .checkbox-sm { height: 1rem; width: 1rem; }
.hr-compact form label:not(.form-check-label) { margin-bottom: .2rem; font-size: .75rem; }
.hr-compact .h-24 { height: 5rem; }
