/* v1.12.0 — Tools JaringanLogis typography, modal layering, compact searchable tables. */
:root{font-family:Inter,"Segoe UI Variable","SF Pro Text",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis-weight:none}
html,body,.app-shell,.main,.sidebar,.card,.modal,.modal-content,.table,.form-control,.form-select,.btn,button,input,select,textarea{font-family:Inter,"Segoe UI Variable","SF Pro Text",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
body{font-size:15px;line-height:1.55}.page-title{margin:0;font-family:inherit!important;font-size:clamp(1.45rem,2.4vw,2rem)!important;font-weight:520!important;line-height:1.15!important;letter-spacing:-.025em!important}.page-title+.muted,.page-title~.muted{font-size:.84rem}.card h2,.card .h5,.modal-title{font-family:inherit!important;font-weight:520!important}
.status-text{display:inline;color:var(--muted);font-size:.78rem;font-weight:560;line-height:1.3;white-space:nowrap}.status-hadir,.status-approved,.status-active{color:var(--success)!important}.status-terlambat,.status-pending{color:#d48612!important}.status-izin{color:var(--brand-2)!important}.status-sakit{color:var(--brand)!important}.status-cuti,.status-inactive{color:var(--muted)!important}.status-alfa,.status-rejected{color:var(--danger)!important}
.table{font-size:.78rem!important;line-height:1.35!important}.table>:not(caption)>*>*{padding:7px 8px!important}.table thead th{font-size:.72rem!important;font-weight:520!important;color:var(--muted)!important}.table tbody td b{font-size:.79rem!important;font-weight:560!important}.table .badge,.table .user-role{display:inline!important;min-width:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;font-size:.78rem!important;font-weight:560!important;line-height:1.3!important;text-align:left!important}.table .text-bg-success{color:var(--success)!important}.table .text-bg-warning{color:#d48612!important}.table .text-bg-danger{color:var(--danger)!important}.table .text-bg-primary{color:var(--brand)!important}.table .text-bg-info{color:var(--brand-2)!important}.table .text-bg-secondary,.table .text-bg-light{color:var(--muted)!important}.table .btn{display:inline!important;width:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;font-size:.78rem!important;font-weight:560!important;line-height:1.3!important;transform:none!important;text-decoration:none!important;white-space:nowrap}.table .btn:hover,.table .btn:focus{transform:none!important;background:none!important;text-decoration:underline!important;box-shadow:none!important}.table .btn-outline-app,.table [data-photo-view]{color:var(--brand)!important}.table .btn-success{color:var(--success)!important}.table .btn-outline-danger,.table .btn-danger{color:var(--danger)!important}.table form.d-flex{align-items:center;gap:10px!important}.table a:not(.btn){font-size:.78rem;font-weight:520;color:var(--brand);text-decoration:none}.table a:not(.btn):hover{text-decoration:underline}
.table-tools,.table-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.74rem}.table-tools{padding:0 0 8px}.table-pager{padding:8px 0 0}.table-tools-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.table-tools label{display:flex;align-items:center;gap:6px;margin:0;color:var(--muted)}.table-tools select{width:auto;min-width:66px;height:30px;padding:4px 26px 4px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-solid);color:var(--text);font-size:.72rem}.table-sort{min-width:132px!important;max-width:210px}.table-direction,.table-page-actions button{min-height:30px;padding:5px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-size:.72rem;cursor:pointer}.table-direction:hover,.table-page-actions button:hover:not(:disabled){border-color:color-mix(in srgb,var(--brand) 38%,var(--line));color:var(--brand);background:var(--surface-2)}.table-page-actions{display:flex;gap:5px}.table-page-actions button:disabled{opacity:.4;cursor:default}.table-page-info{white-space:nowrap}.sortable-column{position:relative;cursor:pointer;user-select:none;padding-right:20px!important}.sortable-column::after,.sortable-column.sort-active::before{content:'';position:absolute;right:6px;top:50%;width:12px;height:12px;transform:translateY(-50%);background:currentColor;opacity:.42;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}.sortable-column::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 8 4-4 4 4M12 4v16M16 16l-4 4-4-4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 8 4-4 4 4M12 4v16M16 16l-4 4-4-4'/%3E%3C/svg%3E")}.sortable-column.sort-active::after{display:none}.sortable-column.sort-active::before{color:var(--brand);opacity:1}.sortable-column.sort-active[data-sort-direction="asc"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m7 14 5-5 5 5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m7 14 5-5 5 5'/%3E%3C/svg%3E")}.sortable-column.sort-active[data-sort-direction="desc"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E")}
.table-column-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px;padding:0 0 9px}.table-column-filter{display:grid;gap:3px;min-width:0}.table-column-filter span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.66rem;font-weight:520}.table-column-filter input{width:100%;min-height:31px;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-solid);color:var(--text);font-size:.72rem;outline:none}.table-column-filter input::placeholder{color:color-mix(in srgb,var(--muted) 72%,transparent)}.table-column-filter input:focus{border-color:color-mix(in srgb,var(--brand) 55%,var(--line));box-shadow:0 0 0 2px var(--glow)}.table-filter-summary{padding:0 0 7px;color:var(--muted);font-size:.70rem}
.modal{z-index:1600!important}.modal-backdrop{z-index:1590!important}body.modal-open .sidebar,body.modal-open .jl-app-header{pointer-events:none}.modal-dialog{position:relative;z-index:1601}.modal-content{overflow:hidden;font-family:inherit!important}.modal-header{padding:13px 16px;border-bottom:1px solid var(--line)}.modal-title{font-size:1rem!important;font-weight:560!important}.modal-body{padding:16px}.modal-footer{padding:10px 16px;border-top:1px solid var(--line)}.modal .form-label{margin-top:0}.modal .row.g-2{--bs-gutter-x:10px;--bs-gutter-y:10px}
@media(max-width:720px){.page-title{font-size:1.38rem!important;line-height:1.18!important}.page-title+.muted,.page-title~.muted{font-size:.78rem}.table-tools{align-items:flex-start}.table-tools-group{width:100%;justify-content:space-between}.table-tools label{flex:1;justify-content:flex-start}.table-sort{max-width:160px}.table-pager{padding-top:8px}.table-page-actions button{min-height:34px;padding-inline:10px}.table-column-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.modal-dialog{margin:10px!important;max-width:calc(100% - 20px)!important}.modal-content{border-radius:14px}.modal-body{max-height:calc(100vh - 112px);overflow:auto}.table-responsive:has(.managed-table){overflow:visible!important}.managed-table:not(.attendance-responsive){display:block!important;width:100%!important;min-width:0!important}.managed-table:not(.attendance-responsive) thead{display:none!important}.managed-table:not(.attendance-responsive) tbody{display:grid!important;gap:8px!important}.managed-table:not(.attendance-responsive) tbody tr{width:100%!important;border:1px solid var(--line)!important;border-radius:11px!important;padding:7px 9px!important;background:var(--surface)!important;box-shadow:none!important}.managed-table:not(.attendance-responsive) tbody td{display:grid!important;grid-template-columns:minmax(86px,34%) minmax(0,1fr)!important;align-items:start!important;gap:8px!important;width:100%!important;padding:5px 0!important;border:0!important;white-space:normal!important;min-width:0!important}.managed-table:not(.attendance-responsive) tbody td::before{content:attr(data-column-label);color:var(--muted);font-size:.66rem;font-weight:520;line-height:1.35}.user-table .btn{width:auto!important}}
@media(max-width:430px){.table-column-filters{grid-template-columns:1fr}.table-tools select{max-width:150px}}
