:root{--ink:#183653;--muted:#607087;--green:#005599;--line:#dce3ef;--cream:#f8f8fb;--gold:#edbd47}*{box-sizing:border-box}body{margin:0;font:14px/1.5 Arial,Helvetica,sans-serif;color:var(--ink);background:var(--cream)}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:4px}button{cursor:pointer;border:0}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8d9fef}h1{font-size:36px;line-height:1.18;letter-spacing:-1px;margin:8px 0 12px}h2{font-size:18px;margin:0 0 18px}h3{font-size:15px;margin:22px 0 10px}p{margin:8px 0}.top{height:86px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;padding:0 32px;gap:14px}.top strong{font-size:19px}.top small{display:block;color:var(--muted);font-size:12px}.brandmark{width:42px;height:42px;border-radius:10px;background:var(--green);color:white;display:grid;place-items:center;font-weight:700;letter-spacing:-1px}.offline{margin-left:auto;font-size:12px;color:var(--green)}.workspace{display:grid;grid-template-columns:242px 1fr;max-width:1640px;margin:auto}.rail{padding:34px 20px;min-height:calc(100vh - 86px);border-right:1px solid var(--line);background:#ffffff}.rail-title{font-size:10px;letter-spacing:1.7px;color:var(--muted);margin:0 12px 22px}nav{display:grid;gap:9px}nav button{display:flex;text-align:left;align-items:center;padding:12px;border-radius:8px;background:transparent;color:#526580;gap:12px}nav b{font-size:11px;color:#7d8fa9}nav button.active{background:#d4dbf9;color:var(--green);font-weight:bold}nav button.active b{color:var(--green)}#countBadge{margin-left:auto;border-radius:20px;background:white;padding:0 7px;font-size:11px}.rail-bottom{margin-top:50px;border-top:1px solid var(--line);padding-top:20px;display:grid;gap:6px}.rail-bottom small{color:var(--muted);font-size:11px;margin:8px}.rail-bottom button{font-size:12px}.file-label{cursor:pointer;text-align:center}.file-label input{display:none}main{padding:38px 44px 70px;min-width:0}.tab{max-width:1120px;margin:auto}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--green);font-weight:bold}.intro{color:var(--muted);font-size:15px;margin-bottom:28px;max-width:700px}.card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:24px;margin-bottom:18px}.section-title{display:flex;justify-content:space-between;gap:14px;align-items:start}.pill{font-size:10px;font-weight:600;color:#354b87;background:#e8ecfb;border-radius:30px;padding:4px 9px;white-space:nowrap}.grid{display:grid;gap:17px;margin-bottom:12px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}label{display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:7px}input,select,textarea{width:100%;border:1px solid #cbd6e6;border-radius:6px;padding:10px 11px;background:#fff;color:var(--ink);font-size:14px;min-width:0}input[type=checkbox]{width:16px;height:16px;accent-color:var(--green);flex:none}input[type=file]{font-size:12px;padding:10px}input[type=number]{appearance:textfield}input[readonly]{background:#f3f5fb}select[multiple]{height:152px;padding:5px}select[multiple] option{padding:5px}textarea{resize:vertical}.hint{font-size:12px;color:var(--muted);margin:10px 0 14px}.factor{background:#eef1fb;border-radius:7px;padding:12px 16px;display:flex;align-items:center;gap:14px}.factor strong{font-size:25px;color:var(--green)}.factor small{font-size:11px;color:var(--muted);margin-left:auto;max-width:60%}.primary,.secondary,.quiet{border-radius:7px;padding:11px 17px;display:inline-flex;align-items:center;justify-content:center;gap:14px}.primary{background:var(--green);color:#fff;font-weight:600}.primary:hover{background:#003366}.secondary{background:#fff;border:1px solid #c8d6e8;color:var(--green)}.quiet{background:transparent;color:#4e6583}.action-row{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.toolbar{display:flex;gap:13px;align-items:end;flex-wrap:wrap}.toolbar label{min-width:130px}.check{flex-direction:row;align-items:center;font-size:12px;font-weight:400;gap:10px;margin-top:12px}.checks{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:18px}summary{cursor:pointer;font-weight:bold}summary .pill{float:right}@media(max-width:700px){summary{display:flex;flex-wrap:wrap;gap:8px;align-items:center}summary .pill{float:none;margin-left:auto}}.warning,.error,.success{padding:16px 18px;border-radius:8px;margin-bottom:18px;font-size:13px}.warning{background:#fff5df;border:1px solid #ead6aa;color:#765716}.error{background:#fff0ea;border:1px solid #e7b9a7;color:#8c4328}.success{background:#edf2fc;border:1px solid #c9d6ed;color:#234575}#notice{position:sticky;top:12px;z-index:10;padding:13px 18px;background:#003366;color:#fff;border-radius:8px;margin-bottom:14px;box-shadow:0 3px 16px #0002}table{width:100%;border-collapse:collapse}.trace{margin:12px 0;font-size:12px}.trace td,.trace th{border-bottom:1px solid var(--line);padding:8px;text-align:left}.trace th{color:var(--muted);font-weight:normal}.comp-card{border-left:4px solid #c6d2e9}.comp-card.selected{border-left-color:var(--green)}.comp-heading{display:flex;justify-content:space-between;gap:12px}.comp-heading h2{margin:0;font-size:17px}.comp-heading .check{margin:0;font-weight:bold}.comp-meta{color:var(--muted);font-size:12px;margin:7px 0 18px}.comp-price{font-size:20px;font-weight:bold;color:var(--green);white-space:nowrap}.comp-calc{font-size:12px;background:#f1f4fc;padding:10px;border-radius:6px;margin-top:12px}.member{padding:14px 0;border-bottom:1px solid var(--line)}.member .grid{margin:0}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.stat{padding:20px;background:white;border:1px solid var(--line);border-radius:10px}.stat small{color:var(--muted);display:block;font-size:12px}.stat strong{font-size:24px;display:block;margin-top:8px}.stat.emphasis{background:var(--green);color:white}.stat.emphasis small{color:#dae7ff}.prose{max-width:900px}.prose p,.prose li{color:#526680;font-size:13px}.prose li{margin-bottom:10px}#reportPreview{overflow-x:auto;padding:10px 0}.paper{background:white;width:794px;max-width:none;min-height:1120px;padding:40px;margin:auto;font:10px/1.35 Arial,sans-serif;color:black;box-shadow:0 4px 18px #0001}.report-title{border:1px solid #222;display:grid;grid-template-columns:110px 1fr;min-height:64px;align-items:center;text-align:center}.report-title .logo{border-right:1px solid #222;height:100%;display:grid;place-items:center;padding:10px;font-size:9px}.report-title img{max-width:86px;max-height:65px;object-fit:contain}.report-title h2{font-size:12px;margin:2px 12px}.report-title p{margin:2px}.report-table{margin-top:8px;table-layout:fixed}.report-table td,.report-table th{border:1px solid #777;padding:4px 5px;overflow-wrap:anywhere;vertical-align:top}.report-table th{background:#e6e6e6;text-align:center}.report-table .num{text-align:right}.report-band{font-weight:bold;text-align:center;padding:4px;margin-top:8px;background:#d9d9d9;border:1px solid #777}.report-notes{font-size:9px;white-space:pre-wrap;margin:10px 0}.signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px;text-align:center}.sig-space{height:42px}.sig-name{font-weight:bold;text-decoration:underline}.report-footer{font-size:8px;border-top:1px solid #aaa;padding-top:8px;margin-top:18px}.draft-watermark{color:#a54a27;text-align:center;font-weight:bold;margin:8px}.nowrap{white-space:nowrap}[hidden]{display:none!important}@media(max-width:1000px){.workspace{grid-template-columns:195px 1fr}main{padding:28px 22px}.rail{padding:25px 10px}.grid.three,.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{gap:8px}.stat{padding:13px}.stat strong{font-size:20px}}@media(max-width:700px){.top{height:74px;padding:0 17px}.top strong{font-size:16px}.top small{font-size:10px}.offline{display:none}.workspace{display:block}.rail{padding:12px;min-height:0;border:0}.rail-title,.rail-bottom{display:none}nav{display:flex;gap:5px;overflow-x:auto}nav button{flex:0 0 auto;font-size:11px;padding:9px 11px}nav b{display:none}main{padding:24px 15px}h1{font-size:30px}.card{padding:18px}.grid.three,.grid.four,.grid.two{grid-template-columns:1fr}.comp-heading{flex-wrap:wrap}.stats{grid-template-columns:1fr}.factor{flex-wrap:wrap}.factor small{margin:0;max-width:100%}.section-title{align-items:center}.section-title .pill{white-space:normal}.toolbar{gap:8px}.toolbar button{font-size:12px}}@page{size:A4 portrait;margin:12mm}@media print{body{background:#fff}.top,.rail,#notice,.eyebrow,.intro,#tab-report>h1,#resultCards,#validation,.action-row,#tab-report>.hint{display:none!important}.workspace,main{display:block;padding:0;margin:0}.tab{display:none!important}#tab-report{display:block!important}#reportPreview{padding:0;overflow:visible}.paper{width:100%;padding:0;min-height:0;box-shadow:none;font-size:9px}.report-table{break-inside:auto}.report-table tr,.signatures{break-inside:avoid}.report-table thead{display:table-header-group}.report-title{break-inside:avoid}.draft-watermark{display:block}}

/* Candidate browsing: selection persists across pages and filters. */
[hidden]{display:none!important}.candidate-filters{display:grid;grid-template-columns:minmax(200px,1fr) auto 120px;gap:18px;align-items:end}.candidate-filters .check{margin-bottom:12px}.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-size:12px}.pagination button{font-size:12px;padding:8px 12px}.comp-detail{margin-top:18px}.comp-detail summary{font-size:12px;color:var(--green);margin-bottom:16px}.comp-card.excluded{border-style:dashed;background:#f9f9f9}.exclusion{margin-top:18px;padding-top:8px;border-top:1px solid var(--line)}.comp-heading .pill{display:inline-block;margin-top:8px}.comp-meta{overflow-wrap:anywhere}.report-table{width:100%;table-layout:fixed}.report-table td,.report-table th{overflow-wrap:anywhere}#selectionInfo{position:sticky;top:8px;z-index:2}#selectionInfo>div{box-shadow:0 2px 8px #18365312}.trace{width:100%}#tracePanel details{overflow-x:auto}@media(max-width:700px){.candidate-filters{grid-template-columns:1fr}.pagination{align-items:start;flex-direction:column}.comp-heading{flex-wrap:wrap}#selectionInfo{position:static}.candidate-filters .check{margin:0}.report-title{grid-template-columns:80px 1fr!important}}

/* Manual table workflow */
.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff;max-height:650px}
.comparable-table{border-collapse:collapse;width:100%;min-width:1050px;font-size:13px}.comparable-table th{position:sticky;top:0;background:#e8ecfb;color:var(--ink);text-align:left;z-index:1}.comparable-table td,.comparable-table th{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}.comparable-table tr.chosen{background:#e4eafb}.comparable-table tr:hover{background:#f1f4fd}.comparable-table input{width:19px;height:19px;accent-color:var(--green)}.comparable-table td:nth-child(8){white-space:nowrap;text-align:right}.table-type{font-weight:bold}.comparable-table small{display:block;max-width:220px;color:var(--muted)}
.basket{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.basket button{border:1px solid #c1cee9;background:#eef2fd;color:var(--green);padding:8px 12px;border-radius:20px}.brand-adjustment{border:1px solid #c5d1eb;padding:16px;margin:14px 0;border-radius:8px;background:#f5f7fe}.brand-fields{margin-top:12px}.table-pending{opacity:.55}.candidate-filters{display:flex;flex-wrap:wrap;gap:14px;align-items:end}.candidate-filters>label:first-child{flex:1;min-width:200px}#adjustmentPanel{scroll-margin-top:20px;margin-top:30px}#liveCalculation .stat strong{font-size:22px}
@media(max-width:650px){.table-scroll{max-height:520px}.candidate-filters>label{flex:1;min-width:135px}.comparable-table td,.comparable-table th{padding:10px 8px}}

/* Recommendations stay above the manually filtered candidates. */
.recommendation-panel{padding:24px;border:1px solid #bcc9eb;border-radius:12px;background:#f0f2fd;margin:20px 0 32px}.recommendation-panel h2{margin-bottom:8px}.recommendation-panel .table-scroll{max-height:none}.recommendation-panel .hint{max-width:730px}.manual-title{margin:28px 0 6px}.recommendation-panel .section-title{flex-wrap:wrap}.recommendation-panel .pill{display:inline-block}#dataError{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
@media(max-width:700px){.recommendation-panel{padding:15px}.recommendation-panel .section-title{align-items:start}.recommendation-panel .secondary{width:100%}}

#selectionInfo{position:static}

/* Warnings and failed actions use red; routine confirmations retain the brand tone. */
.warning,.error{background:#fff1f2;border-color:#f2b0b0;color:#991b1b}
#notice[data-tone="warning"],#notice[data-tone="error"]{background:#b91c1c;color:#fff;border:1px solid #991b1b}
.warning-text{color:#b91c1c!important;font-weight:600}
.required-legend{max-width:1120px;margin:0 auto 18px;color:var(--muted);font-size:12px}
.required-star{color:#b91c1c;font-weight:bold;font-size:15px;white-space:nowrap}
.field-caption{display:block}.check>.field-caption{flex:1;min-width:0}
.field-error{display:block;color:#b91c1c;font-size:11px;font-weight:400;line-height:1.45;margin-top:4px}
input.field-invalid,select.field-invalid,textarea.field-invalid{border:2px solid #b91c1c;background:#fff7f7}
.check.check-invalid{border:1px solid #e7a1a1;border-radius:6px;padding:9px;background:#fff1f2;color:#991b1b}
.document-choice{margin:12px 0 18px}.document-choice>.field-caption{font-size:12px;font-weight:600}.document-choice .checks{margin-bottom:8px}
.document-choice.field-invalid{padding:10px;border:1px solid #e7a1a1;border-radius:6px;background:#fff1f2}
@media print{.required-legend{display:none!important}}

/* KPKNL Pangkalpinang: blue/navy/lavender from the supplied reference. */
.top{height:96px;background:#005599;color:#fff;border-bottom:0;max-width:none}.top .brandmark{background:#003366;color:#ffdb75;border:1px solid #e1bc5d;border-radius:10px;width:46px;height:46px;font-size:20px}.top .institution strong{font-size:21px;letter-spacing:.1px}.top .institution small{color:#e3edff;margin-top:3px;font-size:12px}.product-name{margin-left:auto;text-align:right}.top .product-name strong{font-size:16px}.top .product-name small{color:#e2eaf9}.institution-band{background:#003366;color:#eef2ff;padding:10px 32px;font-size:12px;letter-spacing:.15px}.institution-band span{color:#ccddf3}.rail{min-height:calc(100vh - 134px)}.eyebrow{color:#005599}.data-disclosure{max-width:1120px;margin:0 auto 30px;padding:18px 22px;border:1px solid #cbd4f2;border-left:4px solid #005599;border-radius:10px;background:#edf0fd;color:#294366}.data-disclosure h2{font-size:16px;margin:4px 0 8px;color:#183653}.data-disclosure p{font-size:12px;line-height:1.65;margin:6px 0}.disclosure-label{font-size:9px;font-weight:bold;letter-spacing:1.4px;color:#365aad}.data-disclosure .disclosure-period{color:#234a80;border-top:1px solid #ccd7f0;padding-top:9px;margin-top:10px}.app-footer{max-width:1120px;margin:40px auto 0;border-top:1px solid #d5ddec;padding-top:20px;display:grid;gap:4px;color:#607087;font-size:11px}.app-footer strong{font-size:12px;color:#003366}.app-footer small{margin-top:4px}.report-disclosure{margin:10px 0;border:1px solid #9caec3;border-left:3px solid #005599;background:#f4f6fb;padding:9px;font:9px/1.45 Arial,sans-serif;color:#203b56;break-inside:avoid}.report-disclosure p{margin:4px 0}.report-footer{color:#334e70}.category-reference{background:#eff3fc;border-radius:6px;padding:10px}
@media(max-width:850px){.top .institution strong{font-size:18px}.top .institution small{max-width:370px;font-size:11px}.top .product-name strong{font-size:14px}}
@media(max-width:700px){.top{height:auto;min-height:105px;padding:17px;gap:12px;flex-wrap:wrap}.top .institution{flex:1;min-width:0}.top .institution strong{font-size:17px}.top .institution small{font-size:10px;max-width:275px}.top .brandmark{width:40px;height:40px;flex:none;font-size:18px}.top .product-name{width:100%;margin:0 0 0 52px;text-align:left}.top .product-name strong{font-size:12px}.top .product-name small{display:none}.institution-band{padding:9px 17px;font-size:10px}.rail{min-height:0}.data-disclosure{padding:15px;margin-bottom:24px}.data-disclosure p{font-size:11px}.data-disclosure h2{font-size:15px}.app-footer{margin-top:28px}}
@media print{.institution-band,.data-disclosure,.app-footer{display:none!important}.report-disclosure{background:white;color:black;border-color:#777}}

/* Compact application layout; the A4 report keeps its own print dimensions. */
@media screen{
 body{font-size:13px}.top{height:72px;padding:12px 24px}.top .institution strong{font-size:19px}.institution-band{padding:6px 24px;font-size:11px}
 .workspace{grid-template-columns:200px minmax(0,1fr)}.rail{padding:22px 12px;min-height:calc(100vh - 101px)}.rail-title{margin-bottom:12px}nav button{padding:11px 12px}
 main{padding:22px 28px 36px}.tab,.data-disclosure,.app-footer,.required-legend{max-width:1240px}
 h1{font-size:27px;line-height:1.2;margin:5px 0 8px}h2{font-size:16px;margin-bottom:12px}.intro{font-size:13px;max-width:950px;margin:5px 0 16px}
 .card{padding:16px;margin-bottom:12px;border-radius:9px}.grid{gap:10px 14px;margin-bottom:9px}label{gap:4px}input,select,textarea{padding:8px 9px;font-size:13px}
 .hint{font-size:11px;margin:7px 0 10px}.action-row{gap:9px;margin:14px 0}.primary,.secondary,.quiet{padding:9px 12px}.checks{gap:20px;margin-bottom:10px}.check{margin-top:8px}
 .data-disclosure{padding:10px 14px;margin-bottom:12px}.data-disclosure summary{font-size:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.disclosure-more{font-weight:normal;font-size:11px;margin-left:auto;color:#005599}.data-disclosure .disclosure-period{font-size:11px;border-top:0;padding-top:0;margin:5px 0 0}.data-disclosure details[open]+.disclosure-period{border-top:1px solid #ccd7f0;padding-top:7px}
 .required-legend{margin-bottom:12px;font-size:11px}.recommendation-panel{padding:16px;margin:12px 0 20px}.manual-title{margin:18px 0 5px}.pagination{margin:10px 0}.comparable-table{font-size:12px}.comparable-table th,.comparable-table td{padding:8px}.table-scroll{max-height:520px;border-radius:8px}.stage-badge{display:inline-block;padding:2px 6px;border-radius:4px;background:#e3eafa;color:#003366;font-size:11px;font-weight:bold}.comparable-table small{font-size:10px;line-height:1.4;margin-top:3px}.basket{gap:6px;margin:8px 0}.basket button{font-size:11px;padding:6px 9px}
 .warning,.error,.success{padding:10px 12px;margin-bottom:12px}.member{padding:10px 0}.member .section-title{align-items:center}.stats{gap:10px;margin:14px 0}.stat{padding:14px}.stat strong{font-size:22px}.app-footer{margin-top:24px;padding-top:12px}
 .geo-summary{display:grid;grid-template-columns:110px 1fr;gap:6px 12px;font-size:11px;margin:10px 0 0}.geo-summary dt{font-weight:bold}.geo-summary dd{margin:0;overflow-wrap:anywhere}
 .comp-top{display:flex;justify-content:space-between;align-items:start;gap:12px}.comp-top h2{font-size:16px;margin:0}.comp-meta{font-size:11px;margin:4px 0 9px}.comp-actions{text-align:right;flex:none}.comp-actions .quiet{font-size:11px;padding:3px 6px;display:block;margin-left:auto}.comp-price{font-size:19px;display:block}
 .comparison-table{table-layout:fixed;font-size:12px;margin:0 0 9px}.comparison-table th,.comparison-table td{padding:7px 9px;border:1px solid #dce3ef;vertical-align:top;text-align:left;overflow-wrap:anywhere}.comparison-table thead{background:#edf1fa;color:#003366}.comparison-table th:first-child{width:25%}.comparison-table tbody th{font-size:11px;font-weight:normal;color:#607087}.comparison-table tr.has-difference td{background:#fff8e8}.difference-label{display:inline-block;color:#805000;background:#fff0c5;border-radius:3px;padding:0 4px;font-size:9px;margin-left:4px}
 .extra-data{margin:8px 0;font-size:11px}.extra-data>summary{font-size:11px;color:#4e6583;margin-bottom:6px}.adjustment-grid{margin-top:12px}.type-basis{margin:8px 0}.brand-adjustment{padding:10px 12px;margin:10px 0;background:#f8faff}.brand-adjustment>.check{margin:0}.brand-adjustment>.hint{margin:4px 0 0}.brand-fields{margin-top:8px}.brand-fields>details{margin-top:8px;font-size:11px}.review-check{padding-top:2px}.comp-calc{margin-top:8px;padding:8px 10px;font-size:11px}
}
@media screen and (max-width:1000px){.workspace{grid-template-columns:170px minmax(0,1fr)}main{padding:18px}.rail{padding:18px 8px}.top .product-name strong{font-size:13px}}
@media screen and (max-width:700px){.workspace{display:block}.top{height:auto;min-height:88px;padding:12px 15px;gap:8px}.top .institution strong{font-size:16px}.top .product-name{margin-left:48px}.institution-band{padding:6px 15px}.rail{min-height:0;padding:8px}.rail-title,.rail-bottom{display:none}nav button{padding:9px 10px}main{padding:15px 12px 24px}h1{font-size:24px}.card,.recommendation-panel{padding:12px}.grid{gap:10px}.comp-top{flex-wrap:wrap}.comp-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;margin-bottom:8px}.comp-actions .quiet{margin:0}.comp-price{font-size:19px}.comparison-table{font-size:11px}.comparison-table th,.comparison-table td{padding:6px}.comparison-table th:first-child{width:25%}.comparison-table tbody th{font-size:10px}.difference-label{display:block;width:fit-content;margin:3px 0 0}.data-disclosure{padding:9px 11px}.geo-summary{grid-template-columns:1fr;gap:3px}.geo-summary dd{margin-bottom:6px}.stats{grid-template-columns:1fr}.stat{padding:12px}.stat strong{font-size:21px}.brand-adjustment{padding:9px}.brand-adjustment label{font-size:11px}.app-footer{margin-top:18px}}

/* Nomor identitas panitia: pilihan NIP / NRP di depan nomor. */
.id-pair{display:flex;gap:6px;min-width:0}.id-pair select{width:auto;flex:0 0 78px}.id-pair input{flex:1;min-width:0}
.required-star{line-height:1}
