:root{font-family:Inter,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;background:#f4f7f9;color:#142b35;font-size:14px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.48;cursor:not-allowed}.hidden{display:none!important}.app{min-height:100vh;display:flex}.side{background:#123b36;color:#e6faf4;flex:0 0 237px;padding:32px 20px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh}.logo{font-weight:800;font-size:24px;letter-spacing:-1.3px}.logo span{color:#67d6a6}.brand-sub{color:#96bdb2;font-size:12px;margin:2px 0 34px}.side nav{display:grid;gap:6px}.side nav a{color:#b3cbc4;text-decoration:none;padding:13px 14px;border-radius:9px;display:flex;gap:12px;font-weight:600}.side nav a:hover,.side nav .nav-active{background:#21534a;color:#fff}.side-footer{margin-top:auto;color:#94b8ae;line-height:1.7;font-size:12px}.mainarea{flex:1;min-width:0}.top{padding:30px 38px 25px;background:#fff;border-bottom:1px solid #e3ebef;display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#17805c;margin-bottom:7px}h1{font-size:26px;letter-spacing:-.75px;margin:0 0 7px}.top p,.panel-heading p{margin:0;color:#6b8088;line-height:1.5}.page-content{padding:26px 38px;max-width:1510px}.notice{padding:13px 17px;border-radius:9px;background:#eaf4f1;color:#25614b;border:1px solid #cbe8dc;margin-bottom:16px}.notice.error{background:#fff2f0;border-color:#f1c4bc;color:#8b2f22}.notice.ok{background:#e9f6ee;border-color:#c4e9cf;color:#21673f}.grid3,.grid4{display:grid;gap:14px;margin-bottom:14px}.grid3{grid-template-columns:1.4fr 1fr 1fr}.grid4{grid-template-columns:repeat(4,1fr)}.metric,.panel{background:white;border:1px solid #e1e9ec;border-radius:13px;box-shadow:0 3px 12px rgba(15,47,50,.02)}.metric{padding:19px 21px;min-width:0}.metric-label{font-size:12px;color:#6a8088;font-weight:700;margin-bottom:8px}.metric-value{font-size:30px;font-weight:800;letter-spacing:-.7px}.metric small{display:block;color:#758891;font-size:11px;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-line{display:flex;align-items:center;gap:9px;font-weight:800;font-size:18px;margin:9px 0 10px}.dot{display:inline-block;width:11px;height:11px;border-radius:50%;flex-shrink:0}.dot.gray{background:#a6b5b9}.dot.green{background:#28b77b;box-shadow:0 0 0 4px #def6ea}.metric.mini{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px}.metric.mini strong{font-size:24px}.status-title{font-size:12px;color:#667b84;font-weight:700}.progress-track{background:#e9efed;height:7px;border-radius:9px;overflow:hidden;margin-top:12px}.progress-track div{background:#15946a;height:100%;width:0;transition:width .35s}.panel{padding:25px 28px;margin:18px 0}.panel-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:22px}.panel-heading h2{font-size:18px;margin:0 0 6px;letter-spacing:-.4px}.step{color:#3b8e72;font-weight:800;font-size:10px;letter-spacing:.8px;white-space:nowrap}.upload-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.upload-row input{padding:10px;border:1px dashed #b6cdc6;border-radius:9px;flex:1;min-width:220px}.upload-help{color:#7e9096;font-size:12px;margin-top:13px}.primary,.danger,.outline,.ghost{padding:11px 17px;border-radius:9px;font-weight:700;transition:.15s}.primary{background:#14784f;color:white}.primary:hover{background:#0f623f}.danger{background:#d94942;color:white}.danger:hover{background:#b73431}.outline{background:#fff;border:1px solid #cedbdc;color:#2d4c50}.outline:hover,.ghost:hover{background:#edf4f1}.ghost{border:1px solid #d9e7e5;background:#fff;color:#35545a}.controls{display:flex;gap:15px;flex-wrap:wrap}.controls label{font-size:12px;font-weight:700;display:grid;gap:7px;color:#43616a;flex:1;min-width:165px}.controls input,.login-card input,.list-header select{padding:11px;border:1px solid #d2dfe1;border-radius:8px;outline:none;background:#fff;color:#163039;min-width:0}.controls input:focus,.login-card input:focus,.list-header select:focus{border-color:#119366;box-shadow:0 0 0 3px #dff4ea}.actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.job-state{color:#69808a;margin-top:16px;font-size:12px}.list-header{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.list-header>label{font-weight:700;font-size:12px;color:#5b747b}.list-header select{min-width:220px;max-width:380px;flex:1}.pagination{display:flex;align-items:center;gap:7px;margin-left:auto;font-size:12px;color:#71858b}.small{padding:6px 10px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}thead{background:#f0f5f6;color:#486871}th{font-size:11px;letter-spacing:.2px;text-transform:uppercase;text-align:left;padding:12px 15px}td{padding:12px 15px;border-bottom:1px solid #edf1f2;color:#37525a}td:nth-child(2){font-variant-numeric:tabular-nums;font-family:ui-monospace,Consolas,monospace}.empty{text-align:center;color:#9aafb3;padding:30px}.pill{font-weight:700;font-size:11px;padding:5px 9px;border-radius:20px;white-space:nowrap;background:#edf0f1;color:#63757a}.pill.valid{background:#e5f7ed;color:#17804e}.pill.invalid{background:#feebe9;color:#c44742}.pill.uncertain{background:#fff5d6;color:#9a7221}footer{font-size:11px;color:#91a1a7;padding:10px 0 25px}.login-overlay{background:radial-gradient(circle at 70% 10%,#d2eee4,#f3f7f7 60%);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{background:white;width:100%;max-width:450px;border-radius:19px;box-shadow:0 18px 80px #193e3a17;padding:37px}.login-card h1{font-size:23px;margin-top:34px}.login-card p{color:#7b8e93;line-height:1.5}.login-card label{font-size:12px;font-weight:700;margin:24px 0 8px;display:block}.login-card input{width:100%;font-size:14px}.wide{width:100%;margin-top:16px}.feedback{margin-top:12px;color:#c54840;min-height:20px}@media(max-width:900px){.side{display:none}.top,.page-content{padding-left:18px;padding-right:18px}.grid3{grid-template-columns:1fr 1fr}.grid3 .metric:first-child{grid-column:span 2}.grid4{grid-template-columns:1fr 1fr}}@media(max-width:550px){.top h1{font-size:20px}.top{padding:18px}.page-content{padding:15px}.panel{padding:20px 16px}.grid3,.grid4{gap:9px}.grid3 .metric,.grid4 .metric{padding:14px}.metric.mini{display:grid;gap:6px}.grid4{grid-template-columns:1fr 1fr}.step{display:none}.actions button{flex:1;min-width:110px}.controls label{min-width:120px}.list-header select{min-width:160px}}
/* WA Filter V11.1 — two-page navigation, WhatsApp monitor, local tidy tool */
.wa-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px;padding-top:13px;border-top:1px solid #e5eff0;font-weight:700;font-size:12px;color:#5a747a}
.wa-tag{border-radius:100px;padding:5px 9px;font-size:10px;letter-spacing:.25px;white-space:nowrap}
.wa-tag.connected{background:#e6f7ec;color:#14724e}.wa-tag.logged-out{background:#ffede9;color:#ab332c}.wa-tag.waiting{background:#f2f1e8;color:#756d44}.wa-tag.offline{background:#edf0f1;color:#52656b}
.wa-alert{border:1px solid #f4c0b0;background:#fff0ea;color:#8a3026;border-radius:10px;font-weight:700;margin-bottom:15px;padding:13px 16px}
#rapikanPage{padding-top:26px}
.example-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:23px}
.example{border:1px solid #d9e8e4;border-radius:12px;background:#f8fbfa;padding:15px}
.example strong{font-size:11px;letter-spacing:1.1px;color:#408268}
.example pre{font-family:Consolas,ui-monospace,monospace;font-size:12px;color:#2e5053;line-height:1.8;white-space:pre-wrap;word-break:break-all;margin:10px 0 0}
.field-label{display:block;font-weight:700;color:#375e62;font-size:12px;margin-bottom:10px}
#rapikanPage textarea{display:block;width:100%;border:1px solid #cddcdd;border-radius:10px;padding:14px;resize:vertical;font-family:Consolas,ui-monospace,monospace;font-size:13px;color:#193e43;line-height:1.65;outline:none}
#rapikanPage textarea:focus{border-color:#119366;box-shadow:0 0 0 3px #e5f7ed}
#rapikanPage textarea[readonly]{background:#f9fbfa}
.tool-upload{margin-top:14px}.tool-upload label{font-size:12px;color:#758e8e}.tool-upload input{max-width:420px}
.inline-check{display:inline-flex;gap:7px;align-items:center;font-weight:700;color:#41686a;margin-right:auto;cursor:pointer}
.tidy-stats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.tidy-stats span{padding:10px 15px;background:#eef5f2;border-radius:9px;color:#446467;font-size:12px}
.tidy-stats strong{font-size:17px;color:#163f3b;margin-left:5px}
.invalid-list{margin-top:20px;border-top:1px solid #e7eef0;padding-top:15px;color:#607a7c}
.invalid-list summary{cursor:pointer;font-weight:700}.invalid-list pre{font-size:12px;line-height:1.7;white-space:pre-wrap;word-break:break-word}
@media(max-width:630px){.example-grid{grid-template-columns:1fr}.wa-tag{font-size:9px}.tidy-stats span{flex:1 0 42%}}
#tidyMessage{color:#23684b}

/* V11.2: maksimal lima baris hasil terlihat, scroll di dalam panel. */
.results-scroll{max-height:302px;overflow-y:auto;overflow-x:auto;overscroll-behavior:contain;scrollbar-gutter:stable;position:relative;border:1px solid #edf1f2;border-radius:9px}
.results-scroll thead{position:sticky;top:0;z-index:1;background:#f0f5f6}
.results-scroll tbody tr{height:52px}
.results-scroll tbody td{height:52px;padding-top:11px;padding-bottom:11px}
.start-hint{font-size:12px;margin-top:8px;color:#647c81;min-height:1.2em}
#startBtn:disabled{background:#a4b5af;color:#f4f6f5;opacity:1;cursor:not-allowed}
