*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;background:#f1f5f9;color:#1e293b}.viewer-container{width:100%;min-height:100vh;padding:24px;background:#f1f5f9}.viewer-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 26px;margin-bottom:18px;background:linear-gradient(135deg,#14532d,#15803d);color:#fff;border-radius:14px;box-shadow:0 5px 15px #0000001f}.viewer-header h2{margin:0;font-size:24px;font-weight:700;letter-spacing:.3px}.update-info{margin:7px 0 0;font-size:12px;color:#dcfce7}.header-actions{display:flex;align-items:center;gap:9px}.filter-toggle,.refresh-button{border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease}.filter-toggle{padding:10px 15px;background:#fff;color:#166534;font-size:13px}.filter-toggle span{margin-right:5px}.filter-toggle:hover{background:#dcfce7;transform:translateY(-1px)}.refresh-button{min-width:42px;padding:8px;background:#166534;color:#fff;border:1px solid rgba(255,255,255,.4);font-size:21px}.refresh-button:hover{background:#14532d}.refresh-button:disabled{opacity:.6;cursor:wait}.search-panel{display:flex;align-items:center;gap:8px;width:100%;padding:14px;margin-bottom:15px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.search-panel input{flex:1;min-width:0;padding:12px 15px;border:1px solid #cbd5e1;border-radius:8px;outline:none;background:#fff;color:#1e293b;font-size:14px;transition:.2s}.search-panel input:focus{border-color:#16a34a;box-shadow:0 0 0 3px #16a34a1f}.search-panel input::placeholder{color:#94a3b8}.clear-search{padding:10px 15px;border:none;border-radius:8px;background:#fee2e2;color:#b91c1c;cursor:pointer;font-weight:600}.clear-search:hover{background:#fecaca}.table-info{display:inline-block;margin-bottom:12px;padding:8px 13px;background:#fff;color:#475569;border-radius:8px;font-size:12px;font-weight:600;box-shadow:0 1px 4px #0000000d}.table-wrapper{width:100%;max-height:75vh;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 3px 12px #00000014}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.data-table th{position:sticky;top:0;z-index:2;padding:13px 12px;background:#166534;color:#fff;text-align:center;font-weight:700;white-space:nowrap;border-right:1px solid rgba(255,255,255,.2);border-bottom:2px solid #14532d}.data-table td{padding:11px 12px;text-align:center;vertical-align:middle;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;white-space:nowrap}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{filter:brightness(.96)}.data-table th.senin,.data-table tbody td.senin{background-color:#dbeafe!important;color:#1e40af}.data-table th.selasa,.data-table tbody td.selasa{background-color:#dcfce7!important;color:#166534}.data-table th.rabu,.data-table tbody td.rabu{background-color:#fef3c7!important;color:#92400e}.data-table th.kamis,.data-table tbody td.kamis{background-color:#ede9fe!important;color:#5b21b6}.data-table th.jumat,.data-table tbody td.jumat{background-color:#fce7f3!important;color:#9d174d}.data-table th.weekend,.data-table tbody td.weekend{background-color:#e5e7eb!important;color:#374151}.data-table td.value-v{background-color:#86efac!important;color:#14532d!important;font-weight:700}.data-table th.keterangan,.data-table td.keterangan{width:100px!important;min-width:80px!important;max-width:100px!important;white-space:normal!important;overflow-wrap:anywhere;word-break:normal;line-height:1.35;text-align:left;vertical-align:middle;padding:7px!important}.empty-message{padding:25px!important;color:#64748b;text-align:center;background:#fff!important;font-size:14px}.error-message{padding:13px 16px;margin-bottom:14px;background:#fee2e2;color:#991b1b;border-radius:8px;font-size:13px;border:1px solid #fecaca}.table-wrapper::-webkit-scrollbar{width:9px;height:9px}.table-wrapper::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.table-wrapper::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:10px}.table-wrapper::-webkit-scrollbar-thumb:hover{background:#64748b}@media(max-width:768px){.viewer-container{padding:10px}.viewer-header{padding:16px;border-radius:10px}.viewer-header h2{font-size:18px}.update-info{font-size:10px}.header-actions{gap:6px}.filter-toggle{padding:9px 11px;font-size:12px}.refresh-button{min-width:36px;padding:7px;font-size:18px}.data-table{font-size:11px}.data-table th,.data-table td{padding:9px 8px}.table-wrapper{max-height:78vh}.search-panel{padding:10px}.search-panel input{padding:10px;font-size:13px}.data-table th.keterangan,.data-table td.keterangan{width:90px!important;min-width:75px!important;max-width:90px!important;padding:6px!important}}@media(max-width:480px){.viewer-header{gap:8px;padding:13px}.viewer-header h2{font-size:16px}.filter-toggle{padding:8px 9px;font-size:11px}.refresh-button{min-width:32px;font-size:17px}.table-info{font-size:11px}.data-table{font-size:10px}.data-table th,.data-table td{padding:8px 6px}}
