﻿body{font-family:Inter,system-ui,-apple-system,sans-serif;color:#1d1d1f;-webkit-font-smoothing:antialiased}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#d1d1d6;border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:#a1a1a6}
.apple-input{height:40px;padding:0 12px;border:1px solid #e0e0e0;border-radius:6px;background:#fff;font-size:14px;color:#1d1d1f;transition:border-color .15s,box-shadow .15s;width:100%}
.apple-input:focus{border-color:#0071e3;outline:2px solid rgba(0,113,227,.2);outline-offset:0}
.apple-input::placeholder{color:#7a7a7a;opacity:.6}
.apple-input:disabled{background:#f5f5f7;color:#7a7a7a;cursor:not-allowed}
.apple-input-error{border-color:#dc2626}
.apple-input-error:focus{border-color:#dc2626;outline-color:rgba(220,38,38,.2)}
.apple-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a7a7a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}
.apple-textarea{min-height:100px;padding:12px;resize:vertical}
.apple-checkbox{width:18px;height:18px;border:2px solid #d1d1d6;border-radius:4px;appearance:none;cursor:pointer;transition:all .15s;flex-shrink:0}
.apple-checkbox:checked{background:#0066cc;border-color:#0066cc;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}
.apple-checkbox:focus{outline:2px solid rgba(0,102,204,.3);outline-offset:2px}
.apple-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border-radius:9999px;font-size:14px;font-weight:500;transition:transform .1s,background-color .15s;cursor:pointer;border:none;white-space:nowrap}
.apple-btn:active{transform:scale(.97)}
.apple-btn:focus-visible{outline:2px solid #0071e3;outline-offset:2px}
.apple-btn-primary{background:#0066cc;color:#fff}
.apple-btn-primary:hover{background:#0055aa}
.apple-btn-ghost{background:transparent;color:#0066cc;border:1px solid #0066cc}
.apple-btn-ghost:hover{background:rgba(0,102,204,.05)}
.apple-btn-secondary{background:#f5f5f7;color:#1d1d1f}
.apple-btn-secondary:hover{background:#e8e8ed}
.apple-btn-danger{background:#fee2e2;color:#991b1b}
.apple-btn-danger:hover{background:#fecaca}
.apple-btn-sm{padding:6px 14px;font-size:13px}
.apple-btn-xs{padding:4px 10px;font-size:12px}
.apple-table{width:100%;border-collapse:collapse;font-size:14px}
.apple-table thead tr{background:#f5f5f7}
.apple-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:13px;color:#1d1d1f;white-space:nowrap}
.apple-table td{padding:12px 16px;border-bottom:1px solid #f0f0f0;vertical-align:middle}
.apple-table tbody tr{background:#fff;transition:background-color .1s}
.apple-table tbody tr:hover{background:#f5f5f7}
.apple-table tbody tr:last-child td{border-bottom:none}
.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:9999px;font-size:12px;font-weight:600;line-height:1.3;white-space:nowrap}
.badge-active{background:#0066cc;color:#fff}
.badge-inactive{background:#f5f5f7;color:#7a7a7a}
.badge-draft{background:#fef3c7;color:#92400e}
.badge-pending{background:#dbeafe;color:#1e40af}
.badge-approved{background:#d1fae5;color:#065f46}
.badge-rejected{background:#fee2e2;color:#991b1b}
.badge-resign{background:#f3f4f6;color:#4b5563}
.badge-probation{background:#ede9fe;color:#5b21b6}
.badge-contract{background:#cffafe;color:#155e75}
.badge-permanent{background:#dcfce7;color:#14532d}
.badge-submitted{background:#dbeafe;color:#1e40af}
.badge-waiting{background:#fef3c7;color:#92400e}
.badge-active{background:#0066cc;color:#fff}
.badge-in-progress{background:#e0e7ff;color:#3730a3}
.badge-in-review{background:#fef3c7;color:#92400e}
.badge-completed{background:#d1fae5;color:#065f46}
.badge-locked{background:#6b7280;color:#fff}
.badge-need-revision{background:#fef3c7;color:#92400e}
.badge-calculated{background:#d1fae5;color:#065f46}
.badge-sent-payroll{background:#dbeafe;color:#1e40af}
.badge-payroll-locked{background:#374151;color:#fff}
.badge-adjusted{background:#fef3c7;color:#92400e}
.badge-ready{background:#d1fae5;color:#065f46}
.badge-not-ready{background:#fee2e2;color:#991b1b}
.apple-progress{height:8px;background:#f0f0f0;border-radius:9999px;overflow:hidden}
.apple-progress-bar{height:100%;border-radius:9999px;background:#0066cc;transition:width .3s ease-out}
.apple-stat-card{background:#fff;border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:4px}
.apple-label{font-size:12px;font-weight:500;color:#7a7a7a;text-transform:uppercase;letter-spacing:.05em}
.apple-value{font-size:24px;font-weight:600;color:#1d1d1f;line-height:1.2}
.apple-card{background:#fff;border-radius:10px;padding:20px}
.apple-card-border{border:1px solid #e0e0e0}
.badge-hadir{background:#dcfce7;color:#14532d}
.badge-terlambat{background:#fef3c7;color:#92400e}
.badge-alpha{background:#fee2e2;color:#991b1b}
.badge-cuti{background:#dbeafe;color:#1e40af}
.badge-izin{background:#ede9fe;color:#5b21b6}
.badge-sakit{background:#fce7f3;color:#9d174d}
.badge-wfh{background:#e0e7ff;color:#3730a3}
.badge-dinas-luar{background:#cffafe;color:#155e75}
.badge-libur{background:#f3f4f6;color:#4b5563}
.badge-pulang-cepat{background:#fef3c7;color:#92400e}
.badge-overdue{background:#fee2e2;color:#991b1b}
.badge-siap-payroll{background:#d1fae5;color:#065f46}
.badge-belum-siap{background:#fef3c7;color:#92400e}
.badge-realized{background:#d1fae5;color:#065f46}
.badge-realization-pending{background:#fef3c7;color:#9240e}
.badge-finalized{background:#d1fae5;color:#065f46}
.badge-not-finalized{background:#fef3c7;color:#92400e}
.apple-progress{height:8px;background:#f0f0f0;border-radius:9999px;overflow:hidden}
.apple-progress-bar{height:100%;border-radius:9999px;background:#0066cc;transition:width .3s ease-out}
.apple-progress-bar.green{background:#16a34a}
.apple-progress-bar.amber{background:#d97706}
.apple-progress-bar.red{background:#dc2626}
.apple-tabs{display:flex;border-bottom:1px solid #e0e0e0;gap:4px}
.apple-tab{padding:12px 16px;font-size:14px;font-weight:400;color:#7a7a7a;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:all .15s;white-space:nowrap}
.apple-tab:hover{color:#1d1d1f}
.apple-tab.active{color:#0066cc;border-bottom-color:#0066cc;font-weight:600}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.animate-fade-in{animation:fadeIn .2s ease-out}
.badge-generated{background:#d1fae5;color:#065f46}
.badge-reviewed{background:#e0e7ff;color:#3730a3}
.badge-open{background:#dbeafe;color:#1e40af}
.badge-closed{background:#f3f4f6;color:#4b5563}
.badge-cancelled{background:#fee2e2;color:#991b1b}
.badge-earning{background:#dcfce7;color:#14532d}
.badge-deduction{background:#fee2e2;color:#991b1b}
.badge-fixed{background:#dbeafe;color:#1e40af}
.badge-variable{background:#ede9fe;color:#5b21b6}
.badge-formula{background:#cffafe;color:#155e75}
.badge-manual{background:#fef3c7;color:#92400e}
.badge-taxable{background:#fef3c7;color:#92400e}
.badge-non-taxable{background:#f3f4f6;color:#4b5563}
.badge-available{background:#d1fae5;color:#065f46}
.badge-not-available{background:#f3f4f6;color:#4b5563}
.badge-published{background:#dbeafe;color:#1e40af}
.badge-downloaded{background:#e0e7ff;color:#3730a3}
.badge-valid{background:#d1fae5;color:#065f46}
.badge-warning{background:#fef3c7;color:#92400e}
.badge-error{background:#fee2e2;color:#991b1b}
.badge-incomplete{background:#f3f4f6;color:#4b5563}
.badge-masked{background:#f3f4f6;color:#7a7a7a;font-style:italic}
.apple-table-responsive{width:100%;overflow-x:auto}
.apple-page-section{background:#fff;border-radius:10px;padding:20px}
.apple-empty-shell{background:#fff;border:1px dashed #d1d1d6;border-radius:10px}
.apple-sensitive-note{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}
.apple-sensitive-note strong{color:#7c2d12}
.apple-readonly-banner{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;background:#f3f4f6;border:1px solid #d1d5db;color:#374151}
.apple-filter-bar{background:#fff;border-radius:10px;padding:16px}
.apple-kpi-warning{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;border-radius:10px;padding:12px 14px}
.apple-hidden{display:none!important}
@media (max-width:768px){
  .apple-table thead{display:none}
  .apple-table,.apple-table tbody,.apple-table tr,.apple-table td{display:block;width:100%}
  .apple-table tbody tr{padding:8px 0;border-bottom:1px solid #e5e7eb}
  .apple-table td{text-align:left!important;padding:8px 16px}
  .apple-table td::before{content:attr(data-label);display:block;font-size:11px;font-weight:600;color:#7a7a7a;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}
}
