:root{
  --kxml-bg:#ffffff;
  --kxml-surface:#ffffff;
  --kxml-ink:#1d1d1f;
  --kxml-muted:#6e6e73;
  --kxml-line:#e8e8ed;
  --kxml-accent:#0071e3;
  --kxml-accent-2:#eef6ff;
  --kxml-warm:#fff7e8;
  --kxml-danger:#b42318;
  --kxml-danger-bg:#fff0ee;
  --kxml-warning:#9a6700;
  --kxml-warning-bg:#fff8df;
  --kxml-shadow:0 2px 8px rgba(0,0,0,.04),0 18px 50px rgba(0,0,0,.06);
  --kxml-radius:28px;
  --kxml-shell:min(1180px,calc(100% - 44px));
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--kxml-ink);
  background:var(--kxml-bg);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Arial,sans-serif;
  letter-spacing:-.022em;
  -webkit-font-smoothing:antialiased;
}
button,input{font:inherit}
a{color:inherit;text-decoration:none}
.kxml-shell{width:var(--kxml-shell);margin-inline:auto}
.kxml-topbar{
  position:sticky;top:0;z-index:50;
  background:rgba(250,250,252,.84);
  border-bottom:1px solid rgba(0,0,0,.04);
  backdrop-filter:blur(16px);
}
.kxml-topbar__inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.kxml-brand{display:flex;align-items:center;gap:12px}
.kxml-brand__mark{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
  background:var(--kxml-ink);color:#fff;font-weight:800
}
.kxml-brand strong,.kxml-brand small{display:block}
.kxml-brand strong{font-size:15px;letter-spacing:-.01em}
.kxml-brand small{font-size:11px;color:var(--kxml-muted);margin-top:2px}
.kxml-nav{display:flex;align-items:center;gap:8px;font-size:14px}
.kxml-nav a{padding:9px 12px;border-radius:10px;color:#526058}
.kxml-nav a:hover,.kxml-nav a.is-active{background:#fff;color:var(--kxml-ink)}
.kxml-hero{padding:96px 0 82px;border-bottom:1px solid var(--kxml-line);background:radial-gradient(circle at 50% 94%,rgba(0,113,227,.11),transparent 34%),linear-gradient(180deg,#fff 0%,#fff 66%,#f3f7ff 100%);text-align:center}
.kxml-eyebrow,.kxml-kicker{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:650;letter-spacing:0;text-transform:none;color:#515154
}
.kxml-hero h1{
  max-width:980px;margin:20px auto 18px;font-size:clamp(48px,7vw,82px);font-weight:700;line-height:.98;letter-spacing:-.06em;
}
.kxml-hero h1 span{background:linear-gradient(90deg,#093b91,#0071e3 46%,#25a6d9 72%,#6d5dfc);-webkit-background-clip:text;background-clip:text;color:transparent}
.kxml-hero__lead{max-width:790px;margin:0 auto;font-size:clamp(18px,2.3vw,24px);line-height:1.42;color:#515154}
.kxml-hero__facts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px}
.kxml-hero__facts span{
  padding:9px 13px;border:1px solid #d9e9f8;border-radius:999px;background:rgba(255,255,255,.88);color:#286d55;font-size:13px;font-weight:650;box-shadow:0 8px 24px rgba(20,43,76,.04)
}
.kxml-workflow{width:100%;max-width:none;padding:84px max(22px,calc((100% - 1180px)/2)) 88px;background:#f5f5f7}
.kxml-section-head,.kxml-tool__header{
  display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:28px
}
.kxml-section-head h2,.kxml-tool__header h2{margin:8px 0 0;font-size:clamp(28px,4vw,42px);letter-spacing:-.035em}
.kxml-section-head>p,.kxml-tool__header>div>p{max-width:520px;color:var(--kxml-muted);line-height:1.65;margin:0}
.kxml-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kxml-steps article{
  min-height:176px;padding:24px;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:22px;box-shadow:0 1px 2px rgba(0,0,0,.02)
}
.kxml-steps article>span{font-size:12px;font-weight:700;color:var(--kxml-accent)}
.kxml-steps strong{display:block;margin-top:34px;font-size:16px}
.kxml-steps p{margin:8px 0 0;color:var(--kxml-muted);font-size:13px;line-height:1.55}
.kxml-tool{padding:82px 0 86px;background:#fff}
.kxml-filter,.kxml-issue-filter{display:flex;flex-wrap:wrap;gap:8px}
.kxml-filter button,.kxml-issue-filter button{
  border:1px solid #d2d2d7;background:#fff;color:#515154;padding:9px 13px;border-radius:999px;cursor:pointer
}
.kxml-filter button.is-active,.kxml-issue-filter button.is-active{
  background:var(--kxml-accent);border-color:var(--kxml-accent);color:#fff
}
.kxml-format-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px}
.kxml-format-card{
  appearance:none;text-align:left;border:1px solid var(--kxml-line);background:#fff;
  border-radius:16px;padding:16px;cursor:pointer;min-height:112px;color:var(--kxml-ink);transition:.18s ease
}
.kxml-format-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.08)}
.kxml-format-card.is-selected{border-color:var(--kxml-accent);background:#eef6ff;box-shadow:inset 0 0 0 1px var(--kxml-accent)}
.kxml-format-card span{display:block;font-size:11px;color:var(--kxml-muted);margin-bottom:12px}
.kxml-format-card strong{display:block;font-size:18px}
.kxml-format-card small{display:block;font-size:11px;line-height:1.4;color:var(--kxml-muted);margin-top:5px}
.kxml-panel{
  background:var(--kxml-surface);border:1px solid var(--kxml-line);border-radius:var(--kxml-radius);
  padding:30px;box-shadow:var(--kxml-shadow)
}
.kxml-panel__summary{display:flex;justify-content:space-between;align-items:center;gap:24px}
.kxml-badge{
  display:inline-flex;padding:6px 9px;border-radius:999px;background:#eef6ff;color:var(--kxml-accent);font-size:11px;font-weight:800
}
.kxml-panel__summary h3{margin:10px 0 2px;font-size:28px;letter-spacing:-.03em}
.kxml-panel__summary p{margin:0;color:var(--kxml-muted)}
.kxml-divider{height:1px;background:var(--kxml-line);margin:24px 0}
.kxml-btn{
  border:0;border-radius:999px;padding:12px 18px;font-weight:600;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.15s ease
}
.kxml-btn:disabled{opacity:.45;cursor:not-allowed}
.kxml-btn--primary{background:var(--kxml-accent);color:#fff;box-shadow:0 10px 24px rgba(0,113,227,.18)}
.kxml-btn--primary:not(:disabled):hover{filter:brightness(.93);transform:translateY(-1px)}
.kxml-btn--light{background:#fff;border:1px solid #d2d2d7;color:#515154}
.kxml-upload-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:22px}
.kxml-dropzone{
  min-height:230px;border:1.5px dashed #b9cce0;border-radius:20px;background:#fbfdff;padding:30px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer
}
.kxml-dropzone:hover,.kxml-dropzone.is-dragover{border-color:var(--kxml-accent);background:#eef6ff}
.kxml-dropzone__icon{
  width:52px;height:52px;border-radius:16px;background:#eef6ff;color:var(--kxml-accent);
  display:grid;place-items:center;font-size:24px;margin-bottom:16px
}
.kxml-dropzone strong{font-size:17px}
.kxml-dropzone span{margin-top:5px;color:var(--kxml-muted);font-size:13px}
.kxml-dropzone small{margin-top:14px;color:#7c887f;font-size:11px}
.kxml-file-card{
  margin-top:12px;border:1px solid var(--kxml-line);border-radius:14px;padding:12px;display:flex;align-items:center;gap:12px
}
.kxml-file-card__icon{
  width:46px;height:46px;border-radius:12px;background:#eef6ff;color:#0071e3;display:grid;place-items:center;font-weight:800;font-size:11px
}
.kxml-file-card__body{min-width:0;flex:1}
.kxml-file-card__body strong,.kxml-file-card__body span{display:block}
.kxml-file-card__body strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.kxml-file-card__body span{font-size:11px;color:var(--kxml-muted);margin-top:3px}
.kxml-icon-btn{width:34px;height:34px;border-radius:10px;border:0;background:#f5f5f7;cursor:pointer;font-size:20px}
.kxml-primary-actions{display:flex;gap:10px;margin-top:14px}
.kxml-primary-actions .kxml-btn{flex:1}
.kxml-status-card{border:1px solid var(--kxml-line);border-radius:18px;padding:18px;background:#fbfdff}
.kxml-status-card__head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--kxml-line);font-weight:800}
.kxml-status-pill{font-size:10px;border-radius:999px;padding:6px 8px}
.kxml-status-pill.is-neutral{background:#f2f4f7;color:#667085}
.kxml-status-pill.is-ok{background:#ecfdf3;color:#087443}
.kxml-status-pill.is-error{background:var(--kxml-danger-bg);color:var(--kxml-danger)}
.kxml-status-pill.is-warning{background:var(--kxml-warning-bg);color:var(--kxml-warning)}
.kxml-status-card dl{margin:4px 0 0}
.kxml-status-card dl>div{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px dashed #e1e5e0}
.kxml-status-card dt{font-size:12px;color:var(--kxml-muted)}
.kxml-status-card dd{font-size:12px;font-weight:750;margin:0;text-align:right;word-break:break-word}
.kxml-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}
.kxml-stat-row>div{background:#fff;border:1px solid var(--kxml-line);border-radius:12px;padding:10px;text-align:center}
.kxml-stat-row span,.kxml-stat-row small{display:block}
.kxml-stat-row span{font-size:20px;font-weight:850}
.kxml-stat-row small{font-size:10px;color:var(--kxml-muted);margin-top:2px}
.kxml-issues{margin-top:28px;padding-top:26px;border-top:1px solid var(--kxml-line)}
.kxml-issues__head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px}
.kxml-issues__head h3{margin:6px 0 0;font-size:22px}
.kxml-table-wrap{overflow-x:auto;border:1px solid var(--kxml-line);border-radius:14px}
.kxml-table-wrap table{width:100%;border-collapse:collapse;min-width:760px}
.kxml-table-wrap th,.kxml-table-wrap td{padding:12px 14px;border-bottom:1px solid var(--kxml-line);text-align:left;font-size:12px;vertical-align:top}
.kxml-table-wrap th{background:#f5f5f7;color:#515154;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.kxml-table-wrap tr:last-child td{border-bottom:0}
.kxml-issue-badge{display:inline-flex;border-radius:999px;padding:5px 8px;font-weight:800;font-size:10px}
.kxml-issue-badge.is-error{background:var(--kxml-danger-bg);color:var(--kxml-danger)}
.kxml-issue-badge.is-warning{background:var(--kxml-warning-bg);color:var(--kxml-warning)}
.kxml-success{
  margin-top:20px;border:1px solid #d7eadc;background:#eff9f1;border-radius:16px;padding:16px;
  display:flex;align-items:center;gap:14px
}
.kxml-success__icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#d1fadf;color:#087443;font-weight:900}
.kxml-success>div:nth-child(2){flex:1}
.kxml-success strong{display:block}
.kxml-success p{margin:3px 0 0;color:#4f6b5c;font-size:12px}
.kxml-preview{margin-top:14px;border:1px solid var(--kxml-line);border-radius:14px;overflow:hidden}
.kxml-preview summary{cursor:pointer;padding:13px 15px;background:#f5f5f7;font-size:12px;font-weight:800}
.kxml-preview pre{max-height:420px;overflow:auto;margin:0;padding:16px;background:#071a38;color:#eaf3ff;font-size:11px;line-height:1.6}
.kxml-notes{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-bottom:80px}
.kxml-note{border:1px solid var(--kxml-line);border-radius:18px;padding:18px;background:#fff;display:flex;gap:14px}
.kxml-note>span{width:32px;height:32px;border-radius:10px;background:#eef6ff;color:#0071e3;display:grid;place-items:center;font-weight:850}
.kxml-note--accent{background:#eef6ff;border-color:#d9e9f8}
.kxml-note strong{display:block;font-size:14px}
.kxml-note p{margin:6px 0 0;font-size:12px;line-height:1.6;color:var(--kxml-muted)}
.kxml-footer{border-top:1px solid var(--kxml-line);padding:28px 0 38px;color:var(--kxml-muted);font-size:12px}
.kxml-footer .kxml-shell{display:flex;justify-content:space-between;gap:20px}
.kxml-footer p{margin:0}
@media (max-width:980px){
  .kxml-format-grid{grid-template-columns:repeat(3,1fr)}
  .kxml-steps{grid-template-columns:repeat(2,1fr)}
  .kxml-upload-layout{grid-template-columns:1fr}
}
@media (max-width:720px){
  :root{--kxml-shell:min(calc(100% - 24px),1180px)}
  .kxml-topbar__inner{height:66px}
  .kxml-nav a:not(.is-active){display:none}
  .kxml-hero{padding:58px 0 42px}
  .kxml-hero h1{font-size:clamp(42px,13vw,64px)}
  .kxml-hero__lead{font-size:15px}
  .kxml-section-head,.kxml-tool__header,.kxml-panel__summary,.kxml-issues__head{
    align-items:flex-start;flex-direction:column
  }
  .kxml-workflow{padding:58px 22px}
  .kxml-steps{grid-template-columns:1fr}
  .kxml-steps article{min-height:auto}
  .kxml-steps strong{margin-top:22px}
  .kxml-format-grid{grid-template-columns:repeat(2,1fr)}
  .kxml-panel{padding:18px;border-radius:18px}
  .kxml-panel__actions,.kxml-panel__actions .kxml-btn{width:100%}
  .kxml-dropzone{min-height:200px;padding:22px 16px}
  .kxml-primary-actions{flex-direction:column}
  .kxml-notes{grid-template-columns:1fr;padding-bottom:54px}
  .kxml-footer .kxml-shell{flex-direction:column}
}
@media (max-width:430px){
  .kxml-format-grid{grid-template-columns:1fr}
  .kxml-filter{width:100%}
  .kxml-filter button{flex:1}
  .kxml-stat-row{grid-template-columns:1fr 1fr 1fr}
}


/* =========================================================
   Kabayan Converter XML — Step Flow v3 (DJP official template)
   ========================================================= */

/* =========================================================
   Pemilih format Coretax — dropdown
   ========================================================= */
.kxml-tool__header--select{align-items:flex-end;margin-bottom:22px}
.kxml-format-select-wrap{
  max-width:860px;
  margin:0;
  padding:24px;
  border:1px solid var(--kxml-line);
  border-radius:22px;
  background:linear-gradient(145deg,#fff,#fbfcfe);
  box-shadow:0 12px 34px rgba(0,0,0,.045)
}
.kxml-format-select-label{
  display:block;
  margin-bottom:9px;
  color:var(--kxml-ink);
  font-size:13px;
  font-weight:700
}
.kxml-format-select-control{position:relative}
.kxml-format-select{
  width:100%;
  min-height:60px;
  appearance:none;
  -webkit-appearance:none;
  padding:0 54px 0 17px;
  border:1px solid #c7c7cc;
  border-radius:15px;
  outline:none;
  background:#fff;
  color:var(--kxml-ink);
  font:inherit;
  font-size:16px;
  font-weight:600;
  letter-spacing:-.015em;
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease
}
.kxml-format-select:hover{border-color:#aeb0b5}
.kxml-format-select:focus{
  border-color:var(--kxml-accent);
  box-shadow:0 0 0 4px rgba(0,113,227,.11)
}
.kxml-format-select optgroup{font-weight:700;color:#515154}
.kxml-format-select option{font-weight:500;color:#1d1d1f}
.kxml-format-select-chevron{
  position:absolute;
  top:50%;
  right:18px;
  transform:translateY(-54%);
  color:#6e6e73;
  font-size:24px;
  line-height:1;
  pointer-events:none
}
.kxml-format-select-help{
  margin:10px 2px 0;
  color:var(--kxml-muted);
  font-size:12px;
  line-height:1.5
}
@media(max-width:680px){
  .kxml-format-select-wrap{padding:18px;border-radius:18px}
  .kxml-format-select{min-height:56px;font-size:15px;padding-left:14px}
}

.kxml-format-section{padding:76px 0 34px;background:#fff}
.kxml-format-card{position:relative;min-height:126px;padding-bottom:34px}
.kxml-format-card em{position:absolute;left:16px;bottom:14px;font-style:normal;font-size:10px;font-weight:700;color:#0071e3;background:#eef6ff;border-radius:999px;padding:4px 7px}
.kxml-process-wrap{padding:34px 22px 88px;background:#f5f5f7}
.kxml-process-wrap>.kxml-shell{width:min(1180px,100%)}
.kxml-selected-strip{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:18px;padding:18px 20px;border:1px solid rgba(0,0,0,.07);border-radius:20px;background:#fff}
.kxml-selected-strip>div:first-child{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px 12px}
.kxml-selected-strip>div:first-child strong{font-size:22px;letter-spacing:-.03em}.kxml-selected-strip>div:first-child>span:last-child{grid-column:1/-1;color:var(--kxml-muted);font-size:12px}
.kxml-selected-strip__meta{text-align:right}.kxml-selected-strip__meta span,.kxml-selected-strip__meta strong{display:block}.kxml-selected-strip__meta span{font-size:10px;color:var(--kxml-muted);margin-bottom:3px}.kxml-selected-strip__meta strong{font-size:12px}
.kxml-step-stack{display:grid;gap:16px}
.kxml-step-card{display:grid;grid-template-columns:92px minmax(0,1fr);overflow:hidden;border:1px solid rgba(0,0,0,.08);border-radius:26px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.02);transition:border-color .18s ease,box-shadow .18s ease,opacity .18s ease}
.kxml-step-card.is-active{border-color:rgba(0,113,227,.28);box-shadow:0 18px 44px rgba(20,43,76,.07)}
.kxml-step-card.is-complete{border-color:rgba(36,138,61,.18)}
.kxml-step-card.is-error{border-color:rgba(180,35,24,.28)}
.kxml-step-card.is-locked{opacity:.72}
.kxml-step-number{padding:28px 18px;border-right:1px solid rgba(0,0,0,.06);background:linear-gradient(180deg,#fbfbfd,#f5f5f7);text-align:center}
.kxml-step-number span,.kxml-step-number strong{display:block}.kxml-step-number span{font-size:9px;font-weight:800;letter-spacing:.12em;color:#86868b}.kxml-step-number strong{margin-top:4px;font-size:36px;line-height:1;color:#1d1d1f;letter-spacing:-.05em}
.kxml-step-card.is-active .kxml-step-number strong{color:#0071e3}.kxml-step-card.is-error .kxml-step-number strong{color:#b42318}.kxml-step-card.is-complete .kxml-step-number strong{color:#248a3d}
.kxml-step-content{min-width:0;padding:28px 30px 30px}
.kxml-step-label{display:inline-flex;align-items:center;margin:0 0 9px;padding:5px 10px;border-radius:999px;background:#eef6ff;color:#0071e3;font-size:11px;font-weight:750;letter-spacing:-.01em;line-height:1.2}
.kxml-step-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}.kxml-step-heading h2{margin:0;font-size:28px;letter-spacing:-.04em}.kxml-step-heading p{max-width:760px;margin:7px 0 0;color:#6e6e73;font-size:13px;line-height:1.6}
.kxml-step-state{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#f2f4f7;color:#667085;font-size:10px;font-weight:750;white-space:nowrap}.kxml-step-state.is-active{background:#eef6ff;color:#0071e3}.kxml-step-state.is-complete,.kxml-step-state.is-ready{background:#eff9f1;color:#248a3d}.kxml-step-state.is-error{background:#fef3f2;color:#b42318}.kxml-step-state.is-locked{background:#f5f5f7;color:#86868b}
.kxml-official-template{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px;border:1px solid #d9e9f8;border-radius:19px;background:linear-gradient(145deg,#fbfdff,#eef6ff)}
.kxml-official-template__icon{width:56px;height:56px;display:grid;place-items:center;border-radius:15px;background:#fff;color:#0071e3;font-size:11px;font-weight:850;box-shadow:0 8px 20px rgba(20,43,76,.08)}
.kxml-official-template__body{min-width:0}.kxml-official-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:7px}.kxml-official-badge,.kxml-version-badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:750}.kxml-official-badge{background:#e7f6ec;color:#248a3d}.kxml-version-badge{background:#fff;color:#0071e3;border:1px solid #d9e9f8}
.kxml-official-template__body>strong{display:block;font-size:16px;line-height:1.35;word-break:break-word}.kxml-official-meta{display:flex;flex-wrap:wrap;gap:7px 15px;margin-top:7px;color:#6e6e73;font-size:11px}.kxml-official-meta a{color:#0071e3}.kxml-official-meta a:hover{text-decoration:underline}.kxml-local-template-note{color:#515154;font-weight:600}
.kxml-template-download{white-space:nowrap}.kxml-version-note{display:flex;gap:10px;margin-top:12px;padding:12px 14px;border-radius:14px;background:#fff8ea;color:#6d4b14;font-size:11px;line-height:1.55}.kxml-version-note>span{width:24px;height:24px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;background:#fff}.kxml-version-note p{margin:2px 0 0}
.kxml-dropzone{min-height:200px}.kxml-check-grid{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(320px,1fr);gap:18px;align-items:stretch}.kxml-btn--check{min-height:150px;border:1px solid #d2d2d7;border-radius:20px;background:#fff;color:#1d1d1f;font-size:16px;box-shadow:none}.kxml-btn--check:not(:disabled):hover{border-color:#0071e3;background:#eef6ff;color:#0071e3}.kxml-btn--check span{font-size:22px}
.kxml-status-card{background:#fbfdff}.kxml-issues{margin-top:22px;padding-top:22px}.kxml-issues__head p{max-width:720px;margin:7px 0 0;color:#6e6e73;font-size:12px;line-height:1.55}.kxml-table-wrap th:nth-child(4),.kxml-table-wrap td:nth-child(4){min-width:390px}.kxml-table-wrap td:nth-child(4){font-size:12px;line-height:1.55}
.kxml-no-issues{display:flex;align-items:center;gap:12px;margin-top:18px;padding:15px 17px;border:1px solid #d7eadc;border-radius:16px;background:#eff9f1}.kxml-no-issues>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#d7eadc;color:#248a3d;font-weight:900}.kxml-no-issues strong{display:block}.kxml-no-issues p{margin:3px 0 0;color:#4f6b5c;font-size:12px}
.kxml-create-button{width:100%;min-height:54px;font-size:15px}.kxml-success{margin-top:14px}
.kxml-notes{padding-top:36px}
@media(max-width:820px){.kxml-selected-strip{align-items:flex-start;flex-direction:column}.kxml-selected-strip__meta{text-align:left}.kxml-step-card{grid-template-columns:68px minmax(0,1fr)}.kxml-step-number{padding:24px 10px}.kxml-step-number strong{font-size:30px}.kxml-step-content{padding:24px 20px}.kxml-official-template{grid-template-columns:auto 1fr}.kxml-template-download{grid-column:1/-1;width:100%}.kxml-check-grid{grid-template-columns:1fr}.kxml-btn--check{min-height:72px}}
@media(max-width:560px){.kxml-process-wrap{padding-left:12px;padding-right:12px}.kxml-step-card{grid-template-columns:1fr}.kxml-step-number{display:flex;align-items:center;gap:7px;padding:14px 18px;border-right:0;border-bottom:1px solid rgba(0,0,0,.06);text-align:left}.kxml-step-number span,.kxml-step-number strong{display:inline;margin:0}.kxml-step-number strong{font-size:20px}.kxml-step-heading{flex-direction:column;gap:10px}.kxml-step-heading h2{font-size:24px}.kxml-official-template{grid-template-columns:1fr}.kxml-official-template__icon{width:46px;height:46px}.kxml-official-meta{flex-direction:column}.kxml-selected-strip>div:first-child{grid-template-columns:auto 1fr}.kxml-selected-strip>div:first-child>span:last-child{grid-column:1/-1}}

/* BPMP — field untuk rule "NPWP Pemotong harus sama dengan NPWP login" */
.kxml-login-check{margin-top:16px;padding:18px;border:1px solid #d9e9f8;border-radius:18px;background:linear-gradient(145deg,#f8fbff,#f2f7fd)}
.kxml-login-check__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.kxml-login-check__head label{display:block;margin-top:4px;color:#1d1d1f;font-size:15px;font-weight:650;letter-spacing:-.02em}
.kxml-required-badge{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#e8f2ff;color:#0066cc;font-size:10px;font-weight:700;white-space:nowrap}
.kxml-login-check input{width:100%;height:48px;padding:0 14px;border:1px solid #c9c9ce;border-radius:12px;background:#fff;color:#1d1d1f;outline:none;font-size:15px;letter-spacing:.01em;transition:border-color .16s ease,box-shadow .16s ease}
.kxml-login-check input:focus{border-color:#0071e3;box-shadow:0 0 0 4px rgba(0,113,227,.10)}
.kxml-login-check input[aria-invalid="true"]{border-color:#b42318;box-shadow:0 0 0 4px rgba(180,35,24,.08)}
.kxml-login-check p{margin:10px 0 0;color:#6e6e73;font-size:11px;line-height:1.55}
.kxml-login-check p strong{color:#424245}
@media(max-width:680px){.kxml-login-check__head{flex-direction:column;gap:8px}.kxml-required-badge{white-space:normal}}

/* =========================================================
   Kabayan Converter XML — Premium Visual Refresh v11
   Visual only. Converter logic remains unchanged.
   ========================================================= */
:root{
  --kxml-navy:#071a38;
  --kxml-navy-soft:#0d2c58;
  --kxml-blue:#0071e3;
  --kxml-blue-2:#2b8bf2;
  --kxml-cyan:#38a7d8;
  --kxml-purple:#6d5dfc;
  --kxml-green:#248a3d;
  --kxml-page-soft:#f6f8fb;
  --kxml-card-shadow:0 24px 70px rgba(28,55,90,.08),0 2px 8px rgba(0,0,0,.025)
}
body{
  background:#fff;
  color:#1d1d1f
}

/* Hero */
.kxml-hero{
  position:relative;
  overflow:hidden;
  padding:86px 0 82px;
  border-bottom:0;
  background:
    radial-gradient(circle at 14% 15%,rgba(0,113,227,.10),transparent 29%),
    radial-gradient(circle at 87% 22%,rgba(109,93,252,.10),transparent 27%),
    linear-gradient(180deg,#fff 0%,#fbfdff 68%,#f4f8ff 100%);
  text-align:left
}
.kxml-hero:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(0,113,227,.16),transparent)
}
.kxml-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr);
  align-items:center;
  gap:64px
}
.kxml-hero__copy{position:relative;z-index:2}
.kxml-eyebrow{
  padding:7px 11px;
  border:1px solid rgba(0,113,227,.12);
  border-radius:999px;
  background:rgba(255,255,255,.76);
  color:#515154;
  box-shadow:0 8px 26px rgba(20,43,76,.035);
  backdrop-filter:blur(12px)
}
.kxml-eyebrow-dot{
  width:7px;height:7px;border-radius:50%;background:#0071e3;
  box-shadow:0 0 0 4px rgba(0,113,227,.10)
}
.kxml-hero h1{
  max-width:720px;
  margin:22px 0 20px;
  font-size:clamp(48px,6.2vw,78px);
  line-height:.99;
  letter-spacing:-.064em
}
.kxml-hero h1 span{
  background:linear-gradient(90deg,#073e91 0%,#0071e3 42%,#28a0d8 70%,#6d5dfc 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.kxml-hero__lead{
  max-width:700px;
  margin:0;
  color:#515154;
  font-size:clamp(18px,2vw,22px);
  line-height:1.48;
  letter-spacing:-.03em
}
.kxml-hero__facts{justify-content:flex-start;margin-top:26px;gap:8px}
.kxml-hero__facts span{
  position:relative;
  padding:8px 12px 8px 29px;
  border-color:rgba(0,113,227,.10);
  color:#515154;
  background:rgba(255,255,255,.72);
  font-size:12px;
  font-weight:600;
  box-shadow:none
}
.kxml-hero__facts span:before{
  content:"✓";
  position:absolute;left:11px;top:50%;transform:translateY(-50%);
  color:#248a3d;font-size:10px;font-weight:900
}
.kxml-hero__visual{
  position:relative;
  min-height:370px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:34px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:38px;
  background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(241,247,255,.80));
  box-shadow:0 36px 90px rgba(21,61,112,.12),inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(22px)
}
.kxml-hero__visual:before{
  content:"";position:absolute;inset:12px;border:1px solid rgba(0,113,227,.06);border-radius:29px;pointer-events:none
}
.kxml-flow-card{
  position:relative;z-index:2;
  width:128px;min-height:150px;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:16px;
  border:1px solid rgba(0,0,0,.065);
  border-radius:22px;
  background:rgba(255,255,255,.94);
  box-shadow:0 15px 35px rgba(20,43,76,.09);
  transform:translateY(0)
}
.kxml-flow-card--excel{transform:rotate(-4deg) translateY(10px)}
.kxml-flow-card--xml{transform:rotate(4deg) translateY(10px)}
.kxml-flow-card--check{min-height:176px;border-color:rgba(0,113,227,.18);box-shadow:0 20px 44px rgba(0,113,227,.13)}
.kxml-flow-card__icon{
  width:54px;height:54px;display:grid;place-items:center;
  border-radius:17px;
  background:#eef6ff;color:#0071e3;
  font-size:11px;font-weight:850;letter-spacing:-.01em
}
.kxml-flow-card--check .kxml-flow-card__icon{background:#eaf8ef;color:#248a3d;font-size:22px}
.kxml-flow-card--xml .kxml-flow-card__icon{background:#f1efff;color:#5b4ce1}
.kxml-flow-card small,.kxml-flow-card strong{display:block}
.kxml-flow-card small{color:#86868b;font-size:10px;margin-bottom:4px}
.kxml-flow-card strong{font-size:14px;line-height:1.25;letter-spacing:-.025em}
.kxml-flow-connector{position:relative;z-index:3;color:#9aa7b6;font-size:22px;font-weight:300}
.kxml-hero-orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.55}
.kxml-hero-orb--one{width:130px;height:130px;right:-28px;top:-28px;background:radial-gradient(circle,rgba(0,113,227,.19),transparent 68%)}
.kxml-hero-orb--two{width:110px;height:110px;left:-30px;bottom:-24px;background:radial-gradient(circle,rgba(109,93,252,.16),transparent 68%)}

/* Format picker */
.kxml-format-section{padding:70px 0 60px}
.kxml-tool__header--select{margin-bottom:26px}
.kxml-tool__header--select h2{font-size:clamp(34px,4vw,48px);letter-spacing:-.05em}
.kxml-tool__header--select>div>p{max-width:680px;font-size:15px;line-height:1.6}
.kxml-format-select-wrap{
  max-width:none;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  margin:0;
  padding:20px 22px;
  border:1px solid rgba(0,0,0,.07);
  border-radius:26px;
  background:linear-gradient(145deg,#fff 0%,#fbfdff 54%,#f4f8ff 100%);
  box-shadow:var(--kxml-card-shadow)
}
.kxml-format-select-icon{
  width:60px;height:60px;display:grid;place-items:center;flex:0 0 auto;
  border-radius:19px;
  background:linear-gradient(145deg,#071a38,#0d376a);
  color:#fff;font-size:23px;
  box-shadow:0 16px 32px rgba(7,26,56,.16)
}
.kxml-format-select-main{min-width:0}
.kxml-format-select-label{margin-bottom:8px;font-size:12px;color:#6e6e73;font-weight:650}
.kxml-format-select{
  min-height:58px;
  border-color:#d6dce4;
  border-radius:16px;
  background:rgba(255,255,255,.95);
  font-size:17px;
  font-weight:650;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)
}
.kxml-format-select-help{margin-top:8px}
.kxml-format-select-count{
  min-width:76px;
  padding:11px 13px;
  border-left:1px solid rgba(0,0,0,.07);
  text-align:center
}
.kxml-format-select-count strong,.kxml-format-select-count span{display:block}
.kxml-format-select-count strong{font-size:28px;line-height:1;letter-spacing:-.05em;color:#071a38}
.kxml-format-select-count span{margin-top:4px;color:#86868b;font-size:10px;text-transform:uppercase;letter-spacing:.08em}

/* Process canvas */
.kxml-process-wrap{
  position:relative;
  padding:42px 22px 96px;
  background:
    radial-gradient(circle at 10% 0%,rgba(0,113,227,.045),transparent 23%),
    linear-gradient(180deg,#f5f5f7 0%,#f8fafc 100%)
}
.kxml-selected-strip{
  position:relative;
  margin-bottom:16px;
  padding:20px 22px;
  border-color:rgba(0,113,227,.12);
  background:linear-gradient(135deg,#fff,#f6faff);
  box-shadow:0 16px 42px rgba(20,43,76,.055)
}
.kxml-selected-strip:before{
  content:"";position:absolute;left:0;top:20px;bottom:20px;width:3px;border-radius:99px;background:linear-gradient(#0071e3,#6d5dfc)
}
.kxml-selected-strip>div:first-child{padding-left:5px}
.kxml-selected-strip>div:first-child strong{font-size:24px}
.kxml-badge{background:#eaf4ff}
.kxml-selected-strip__meta span{font-size:9px;text-transform:uppercase;letter-spacing:.07em}
.kxml-selected-strip__meta strong{font-size:12px;color:#424245}

/* Compact journey indicator */
.kxml-progress-rail{
  display:grid;
  grid-template-columns:auto 1fr auto 1fr auto 1fr auto;
  align-items:center;
  gap:10px;
  margin:0 2px 18px;
  padding:10px 14px;
  color:#6e6e73
}
.kxml-progress-rail>div{display:flex;align-items:center;gap:7px;white-space:nowrap}
.kxml-progress-rail>div span{
  width:25px;height:25px;display:grid;place-items:center;border-radius:50%;
  background:#fff;border:1px solid #dfe3e8;color:#0071e3;font-size:10px;font-weight:800;
  box-shadow:0 4px 12px rgba(0,0,0,.035)
}
.kxml-progress-rail>div strong{font-size:11px;font-weight:650;color:#515154}
.kxml-progress-rail>i{height:1px;background:linear-gradient(90deg,#dce4ee,#c7d8eb);border-radius:99px}

/* Step cards */
.kxml-step-stack{gap:18px}
.kxml-step-card{
  position:relative;
  grid-template-columns:88px minmax(0,1fr);
  border-color:rgba(0,0,0,.065);
  border-radius:28px;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 36px rgba(20,43,76,.035);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease
}
.kxml-step-card:hover{transform:translateY(-1px);box-shadow:0 18px 48px rgba(20,43,76,.055)}
.kxml-step-card.is-active{border-color:rgba(0,113,227,.22);box-shadow:0 24px 60px rgba(0,113,227,.08)}
.kxml-step-card.is-complete{border-color:rgba(36,138,61,.18)}
.kxml-step-number{
  position:relative;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  padding:30px 14px;
  border-right:1px solid rgba(0,0,0,.055);
  background:linear-gradient(180deg,#fbfdff,#f6f8fb)
}
.kxml-step-number:after{
  content:"";position:absolute;top:78px;bottom:18px;left:50%;width:1px;background:linear-gradient(#d8e5f4,transparent)
}
.kxml-step-number span{font-size:8px;letter-spacing:.15em}
.kxml-step-number strong{
  width:46px;height:46px;display:grid;place-items:center;
  margin-top:8px;
  border:1px solid #dce5ef;border-radius:16px;
  background:#fff;
  font-size:22px;
  box-shadow:0 8px 20px rgba(20,43,76,.05)
}
.kxml-step-card.is-active .kxml-step-number strong{background:#eef6ff;border-color:#cfe5fb;color:#0071e3}
.kxml-step-card.is-complete .kxml-step-number strong{background:#eff9f1;border-color:#d7eadc;color:#248a3d}
.kxml-step-card.is-error .kxml-step-number strong{background:#fff2f0;border-color:#f2cbc6;color:#b42318}
.kxml-step-content{padding:30px 34px 34px}
.kxml-step-heading{margin-bottom:24px}
.kxml-step-label{
  padding:5px 9px;
  background:#f0f6ff;
  color:#0066cc;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.07em
}
.kxml-step-heading h2{margin-top:1px;font-size:30px;letter-spacing:-.045em}
.kxml-step-heading p{max-width:820px;color:#667085;font-size:13px;line-height:1.65}
.kxml-step-state{border:1px solid transparent}
.kxml-step-state.is-active{border-color:#d9e9f8}
.kxml-step-state.is-complete,.kxml-step-state.is-ready{border-color:#d7eadc}
.kxml-step-state.is-error{border-color:#f3d0cc}

/* Step 1 template card */
.kxml-official-template{
  padding:18px 20px;
  border:1px solid rgba(0,113,227,.11);
  border-radius:22px;
  background:linear-gradient(135deg,#f9fcff 0%,#eef6ff 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)
}
.kxml-official-template__icon{
  width:60px;height:60px;border-radius:18px;
  background:linear-gradient(145deg,#fff,#f5faff);
  box-shadow:0 10px 25px rgba(20,43,76,.07)
}
.kxml-official-template__body>strong{font-size:17px;letter-spacing:-.02em}
.kxml-template-download{min-height:46px;padding-inline:20px}
.kxml-version-note{
  border:1px solid #f2e4bd;
  background:linear-gradient(145deg,#fffdf7,#fff8e8)
}

/* Step 2 upload */
.kxml-dropzone{
  position:relative;
  overflow:hidden;
  min-height:220px;
  border:1.5px dashed #b9cce0;
  border-radius:23px;
  background:
    linear-gradient(rgba(255,255,255,.88),rgba(255,255,255,.88)),
    linear-gradient(90deg,#eaf3fc 1px,transparent 1px),
    linear-gradient(#eaf3fc 1px,transparent 1px);
  background-size:auto,24px 24px,24px 24px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)
}
.kxml-dropzone:before{
  content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-55px;top:-70px;background:radial-gradient(circle,rgba(0,113,227,.10),transparent 68%)
}
.kxml-dropzone__icon{
  position:relative;z-index:1;
  width:60px;height:60px;border-radius:20px;
  background:#eef6ff;
  box-shadow:0 10px 24px rgba(0,113,227,.08)
}
.kxml-dropzone strong,.kxml-dropzone span,.kxml-dropzone small{position:relative;z-index:1}
.kxml-file-card{border-radius:17px;background:#fbfdff}

/* Step 3 validate */
.kxml-check-grid{grid-template-columns:minmax(250px,.48fr) minmax(360px,1fr);gap:16px}
.kxml-btn--check{
  position:relative;overflow:hidden;
  min-height:160px;
  flex-direction:column;
  border:0;
  border-radius:22px;
  background:linear-gradient(145deg,#071a38,#0d376a);
  color:#fff;
  box-shadow:0 18px 38px rgba(7,26,56,.16)
}
.kxml-btn--check:before{
  content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-70px;top:-80px;background:rgba(58,155,255,.18)
}
.kxml-btn--check:not(:disabled):hover{background:linear-gradient(145deg,#0a2144,#10427e);color:#fff;transform:translateY(-1px)}
.kxml-btn--check:disabled{background:linear-gradient(145deg,#d9dee5,#cdd3db);color:#7d8793;box-shadow:none}
.kxml-btn--check span{position:relative;z-index:1;width:45px;height:45px;display:grid;place-items:center;margin-bottom:7px;border-radius:15px;background:rgba(255,255,255,.12);font-size:20px}
.kxml-status-card{
  border-radius:22px;
  border-color:rgba(0,0,0,.065);
  background:linear-gradient(145deg,#fff,#fbfcfe);
  box-shadow:0 10px 30px rgba(20,43,76,.035)
}
.kxml-status-card__head{font-size:13px}
.kxml-stat-row>div{border-radius:14px;background:#f8fafc}
.kxml-stat-row>div:nth-child(1) span{color:#b42318}
.kxml-stat-row>div:nth-child(2) span{color:#9a6700}
.kxml-stat-row>div:nth-child(3) span{color:#248a3d}
.kxml-issues{border-top:0;padding-top:18px}
.kxml-table-wrap{border-radius:18px;background:#fff;box-shadow:0 8px 26px rgba(20,43,76,.035)}
.kxml-table-wrap th{background:#f7f8fa}
.kxml-table-wrap tbody tr:hover td{background:#fbfdff}
.kxml-no-issues{border-radius:18px}

/* Step 4 */
.kxml-create-button{
  min-height:58px;
  border-radius:18px;
  background:linear-gradient(135deg,#0071e3,#2b8bf2 62%,#437bdc);
  box-shadow:0 16px 34px rgba(0,113,227,.20);
  font-size:16px
}
.kxml-create-button:not(:disabled):hover{filter:none;background:linear-gradient(135deg,#0067d1,#1f80e8 62%,#386fd1)}
.kxml-create-button:disabled{background:#dfe3e8;color:#89919a;box-shadow:none}
.kxml-success{border-radius:19px;box-shadow:0 10px 26px rgba(36,138,61,.05)}
.kxml-preview{border-radius:18px}

/* Bottom notes */
.kxml-notes{gap:16px;padding-top:42px;padding-bottom:88px}
.kxml-note{border-radius:22px;padding:20px;box-shadow:0 8px 24px rgba(20,43,76,.025)}
.kxml-note--accent{background:linear-gradient(145deg,#f8fbff,#eef6ff)}

/* Remove stale styling for the deleted login NPWP field */
.kxml-login-check{display:none!important}

@media(max-width:1050px){
  .kxml-hero__grid{grid-template-columns:1fr;gap:42px}
  .kxml-hero__copy{text-align:center}
  .kxml-hero h1,.kxml-hero__lead{margin-left:auto;margin-right:auto}
  .kxml-hero__facts{justify-content:center}
  .kxml-hero__visual{max-width:650px;width:100%;margin:0 auto;min-height:320px}
}
@media(max-width:820px){
  .kxml-format-select-wrap{grid-template-columns:auto minmax(0,1fr)}
  .kxml-format-select-count{display:none}
  .kxml-progress-rail{grid-template-columns:auto 1fr auto 1fr auto 1fr auto;padding-inline:4px}
  .kxml-progress-rail>div strong{display:none}
  .kxml-check-grid{grid-template-columns:1fr}
  .kxml-btn--check{min-height:88px;flex-direction:row}
  .kxml-btn--check span{margin:0}
}
@media(max-width:680px){
  .kxml-hero{padding:62px 0 58px}
  .kxml-hero h1{font-size:clamp(43px,13vw,62px)}
  .kxml-hero__visual{min-height:260px;padding:22px 16px;border-radius:28px;gap:7px}
  .kxml-flow-card{width:98px;min-height:125px;padding:12px;border-radius:18px}
  .kxml-flow-card--check{min-height:145px}
  .kxml-flow-card__icon{width:43px;height:43px;border-radius:14px;font-size:9px}
  .kxml-flow-card--check .kxml-flow-card__icon{font-size:18px}
  .kxml-flow-card strong{font-size:11px}.kxml-flow-card small{font-size:8px}
  .kxml-flow-connector{font-size:15px}
  .kxml-format-section{padding-top:54px;padding-bottom:48px}
  .kxml-format-select-wrap{padding:16px;border-radius:21px;gap:12px}
  .kxml-format-select-icon{width:48px;height:48px;border-radius:15px;font-size:18px}
  .kxml-format-select{min-height:54px;font-size:14px}
  .kxml-process-wrap{padding-top:28px;padding-bottom:68px}
  .kxml-progress-rail{margin-bottom:12px}
  .kxml-step-card{grid-template-columns:1fr;border-radius:23px}
  .kxml-step-number{flex-direction:row;justify-content:flex-start;gap:8px;padding:13px 17px;border-right:0;border-bottom:1px solid rgba(0,0,0,.055)}
  .kxml-step-number:after{display:none}.kxml-step-number strong{width:34px;height:34px;margin:0;border-radius:11px;font-size:16px;order:-1}.kxml-step-number span{font-size:8px}
  .kxml-step-content{padding:23px 20px 25px}
  .kxml-step-heading h2{font-size:25px}
  .kxml-official-template{padding:16px}
}
@media(max-width:430px){
  .kxml-hero__facts{display:grid;grid-template-columns:1fr}.kxml-hero__facts span{text-align:left}
  .kxml-flow-card{width:88px}.kxml-hero__visual{padding-inline:9px}.kxml-flow-connector{display:none}
  .kxml-format-select-wrap{grid-template-columns:1fr}.kxml-format-select-icon{display:none}
  .kxml-progress-rail{gap:5px}.kxml-progress-rail>div span{width:23px;height:23px}
}


/* v16 — progress processing for SPT Tahunan PPh Badan / big data */
.kxml-processing{margin-top:16px;padding:16px 18px;border:1px solid rgba(0,113,227,.13);border-radius:18px;background:linear-gradient(145deg,rgba(247,251,255,.96),rgba(255,255,255,.98));box-shadow:0 10px 30px rgba(20,43,76,.05)}
.kxml-processing__top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:11px}.kxml-processing__top strong{color:#1d1d1f;font-size:13px}.kxml-processing__top span{color:#6e6e73;font-size:11px}
.kxml-processing__track{height:7px;overflow:hidden;border-radius:999px;background:#e8eef6}.kxml-processing__track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0071e3,#36a8ee,#6d5dfc);transition:width .3s ease;box-shadow:0 0 14px rgba(0,113,227,.22)}
@media(max-width:600px){.kxml-processing__top{align-items:flex-start;flex-direction:column;gap:3px}}

/* =========================================================
   v18 — Modern Icon System
   Visual enhancement only. No converter logic changes.
   ========================================================= */
.kxml-icon-sprite{position:absolute!important;width:0!important;height:0!important;overflow:hidden!important;pointer-events:none!important}
.kxml-ui-icon{
  width:1em;height:1em;display:block;flex:0 0 auto;
  fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round
}

/* Hero: icons replace text-heavy badges while retaining XLSX/XML cues */
.kxml-flow-card__icon{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px
}
.kxml-flow-card__icon .kxml-ui-icon{width:27px;height:27px}
.kxml-flow-card__icon em{
  margin-top:1px;font-style:normal;font-size:7px;font-weight:800;
  letter-spacing:.07em;line-height:1;color:currentColor
}
.kxml-flow-card--check .kxml-flow-card__icon .kxml-ui-icon{width:29px;height:29px}
.kxml-flow-card--xml .kxml-flow-card__icon .kxml-ui-icon{width:27px;height:27px}

/* Format selector */
.kxml-format-select-icon .kxml-ui-icon{width:27px;height:27px;stroke-width:1.55}
.kxml-format-select-chevron{width:22px;height:22px;display:grid;place-items:center;font-size:inherit}
.kxml-format-select-chevron .kxml-ui-icon{width:18px;height:18px;stroke-width:1.8}

/* Selected format: one calm category icon, not an icon per option */
.kxml-selected-strip__primary{
  display:flex!important;align-items:center!important;gap:14px!important;
  min-width:0;padding-left:5px
}
.kxml-selected-strip__icon{
  width:52px;height:52px;display:grid;place-items:center;flex:0 0 auto;
  border:1px solid rgba(0,113,227,.12);border-radius:16px;
  background:linear-gradient(145deg,#f9fcff,#eaf4ff);color:#0071e3;
  box-shadow:0 8px 22px rgba(20,43,76,.055)
}
.kxml-selected-strip__icon .kxml-ui-icon{width:25px;height:25px}
.kxml-selected-strip__copy{min-width:0;display:grid;grid-template-columns:auto auto;align-items:center;gap:5px 10px}
.kxml-selected-strip__copy strong{font-size:24px!important;line-height:1.1;letter-spacing:-.035em}
.kxml-selected-strip__copy>span:last-child{grid-column:1/-1;color:var(--kxml-muted);font-size:12px;line-height:1.4}

/* Step rail: icons sit in the step column; titles remain textual */
.kxml-step-number{gap:5px}
.kxml-step-number__icon{
  width:37px;height:37px!important;display:grid!important;place-items:center!important;
  margin:0 0 4px!important;border:1px solid #dde8f4;border-radius:13px;
  background:#fff;color:#58708a;font-size:inherit!important;letter-spacing:0!important;
  box-shadow:0 7px 18px rgba(20,43,76,.045)
}
.kxml-step-number__icon .kxml-ui-icon{width:19px;height:19px;stroke-width:1.7}
.kxml-step-number__word{font-size:8px!important;letter-spacing:.15em!important;color:#86868b!important}
.kxml-step-number strong{margin-top:2px}
.kxml-step-card.is-active .kxml-step-number__icon{background:#eef6ff;border-color:#cfe5fb;color:#0071e3}
.kxml-step-card.is-complete .kxml-step-number__icon{background:#eff9f1;border-color:#d7eadc;color:#248a3d}
.kxml-step-card.is-error .kxml-step-number__icon{background:#fff2f0;border-color:#f2cbc6;color:#b42318}
.kxml-step-number:after{top:112px}

/* Template/file icons */
.kxml-official-template__icon,.kxml-file-card__icon{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px
}
.kxml-official-template__icon .kxml-ui-icon{width:27px;height:27px;stroke-width:1.55}
.kxml-official-template__icon em,.kxml-file-card__icon em{
  font-style:normal;font-size:7px;font-weight:850;letter-spacing:.07em;line-height:1
}
.kxml-file-card__icon .kxml-ui-icon{width:21px;height:21px;stroke-width:1.6}

/* Upload */
.kxml-dropzone__icon .kxml-ui-icon{width:27px;height:27px;stroke-width:1.65}

/* Information block */
.kxml-version-note>span .kxml-ui-icon{width:15px;height:15px}

/* Validation CTA */
.kxml-btn--check span .kxml-ui-icon{width:24px;height:24px;stroke-width:1.6}
.kxml-no-issues>span .kxml-ui-icon{width:19px;height:19px}
.kxml-issue-badge{align-items:center;gap:6px}
.kxml-issue-badge:before{content:"";width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:currentColor}

/* XML CTA and success */
.kxml-create-button .kxml-ui-icon{width:20px;height:20px;stroke-width:1.65}
.kxml-success__icon .kxml-ui-icon{width:22px;height:22px}

/* Bottom notes */
.kxml-note>span .kxml-ui-icon{width:17px;height:17px;stroke-width:1.65}

/* A little more breathing room without adding visual noise */
.kxml-official-template,.kxml-file-card,.kxml-status-card,.kxml-no-issues,.kxml-success{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.kxml-official-template:hover{border-color:rgba(0,113,227,.20);box-shadow:0 12px 30px rgba(20,43,76,.05)}

@media(max-width:680px){
  .kxml-selected-strip__primary{align-items:flex-start!important}
  .kxml-selected-strip__icon{width:46px;height:46px;border-radius:14px}
  .kxml-selected-strip__icon .kxml-ui-icon{width:22px;height:22px}
  .kxml-selected-strip__copy{grid-template-columns:1fr;gap:4px}
  .kxml-selected-strip__copy>span:last-child{grid-column:auto}
  .kxml-step-number{gap:7px}
  .kxml-step-number__icon{width:32px;height:32px!important;margin:0!important;order:0!important;border-radius:10px}
  .kxml-step-number__icon .kxml-ui-icon{width:17px;height:17px}
  .kxml-step-number__word{order:1!important}
  .kxml-step-number strong{width:auto;height:auto;margin:0!important;padding:0;border:0;background:transparent!important;box-shadow:none!important;font-size:17px!important;order:2!important}
  .kxml-step-card.is-active .kxml-step-number strong,.kxml-step-card.is-complete .kxml-step-number strong,.kxml-step-card.is-error .kxml-step-number strong{background:transparent!important;border:0!important}
}


/* =========================================================
   v19 — State UX refinement
   Clear journey states, no duplicate STEP label, validation
   results hidden until an actual check has been performed.
   ========================================================= */
.kxml-step-number__word{display:none!important}
.kxml-step-number__index{
  display:block!important;
  margin-top:7px;
  color:#98a2b3!important;
  font-size:11px!important;
  font-weight:760;
  letter-spacing:.04em!important;
  line-height:1!important
}
.kxml-step-card.is-active .kxml-step-number__index{color:#0071e3!important}
.kxml-step-card.is-complete .kxml-step-number__index{color:#248a3d!important}
.kxml-step-card.is-error .kxml-step-number__index{color:#b42318!important}
.kxml-step-number:after{top:88px}

/* Journey rail follows the actual workflow state. */
.kxml-progress-rail>div,.kxml-progress-rail>i{transition:color .18s ease,background .18s ease,border-color .18s ease,opacity .18s ease}
.kxml-progress-rail>div.is-locked{opacity:.52}
.kxml-progress-rail>div.is-active span{border-color:#b8d9fb;background:#eef6ff;color:#0071e3;box-shadow:0 5px 14px rgba(0,113,227,.08)}
.kxml-progress-rail>div.is-active strong{color:#0066cc}
.kxml-progress-rail>div.is-complete span{border-color:#cae8d2;background:#eff9f1;color:#248a3d}
.kxml-progress-rail>div.is-complete strong{color:#24733a}
.kxml-progress-rail>div.is-error span{border-color:#f0cbc6;background:#fff2f0;color:#b42318}
.kxml-progress-rail>div.is-error strong{color:#b42318}
.kxml-progress-rail>i.is-complete{background:linear-gradient(90deg,#a9d9b6,#8bc89d)}
.kxml-progress-rail>i.is-active{background:linear-gradient(90deg,#bfdcf8,#90c4f5)}
.kxml-progress-rail>i.is-error{background:linear-gradient(90deg,#efc2bd,#e6aaa3)}

/* Pre-validation message: do not imply that zero errors means a pass. */
.kxml-validation-prompt{
  display:flex;align-items:flex-start;gap:10px;
  margin-top:14px;padding:12px 13px;
  border:1px solid #e3e8ef;border-radius:15px;
  background:#f8fafc;color:#667085
}
.kxml-validation-prompt__icon{
  width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;
  border-radius:9px;background:#fff;border:1px solid #e1e7ee;color:#667085
}
.kxml-validation-prompt__icon .kxml-ui-icon{width:15px;height:15px}
.kxml-validation-prompt strong{display:block;color:#344054;font-size:12px;line-height:1.35}
.kxml-validation-prompt p{margin:3px 0 0;color:#667085;font-size:11px;line-height:1.5}
.kxml-validation-prompt.is-ready{border-color:#d9e9f8;background:#f5faff}
.kxml-validation-prompt.is-ready .kxml-validation-prompt__icon{border-color:#d9e9f8;background:#eef6ff;color:#0071e3}
.kxml-validation-prompt.is-ready strong{color:#075ea8}
.kxml-validation-prompt.is-error{border-color:#f1d1cd;background:#fff7f6}
.kxml-validation-prompt.is-error .kxml-validation-prompt__icon{border-color:#f1d1cd;background:#fff0ee;color:#b42318}
.kxml-validation-prompt.is-error strong{color:#9b2117}
.kxml-validation-prompt.is-warning{border-color:#f0dfbd;background:#fffaf0}
.kxml-validation-prompt.is-warning .kxml-validation-prompt__icon{border-color:#f0dfbd;background:#fff5db;color:#9a6700}
.kxml-validation-prompt.is-warning strong{color:#7a5200}
.kxml-validation-prompt.is-ok{border-color:#d7eadc;background:#f4fbf6}
.kxml-validation-prompt.is-ok .kxml-validation-prompt__icon{border-color:#d7eadc;background:#eff9f1;color:#248a3d}
.kxml-validation-prompt.is-ok strong{color:#1f7136}
.kxml-stat-row[hidden]{display:none!important}
.kxml-stat-row{margin-top:12px}

@media(max-width:680px){
  .kxml-step-number__index{margin:0!important;order:1;font-size:10px!important}
  .kxml-step-number{gap:9px}
}


/* ==========================================================
   v20 — Clean UX refinement
   Kurangi duplikasi visual dan tampilkan informasi saat relevan.
   ========================================================== */
.kxml-step-number{
  display:grid;
  place-items:center;
  align-content:start;
  gap:0;
}
.kxml-step-number__icon{margin-top:2px}
.kxml-step-number__index{display:none!important}
.kxml-step-heading p{max-width:700px}
.kxml-status-card dl[hidden],
.kxml-stat-row[hidden]{display:none!important}
.kxml-step4-hint{
  margin:10px 2px 0;
  color:#86868b;
  font-size:11px;
  line-height:1.5;
  text-align:center;
}
.kxml-step-card.is-active .kxml-step4-hint{color:#52708c}
.kxml-step-card.is-error .kxml-step4-hint{color:#9b4a43}
.kxml-step-card.is-complete .kxml-step4-hint{color:#3f7251}
.kxml-notes{
  grid-template-columns:1fr!important;
  padding-top:30px;
}
.kxml-notes .kxml-note{width:100%}
@media(max-width:560px){
  .kxml-step-number{display:flex;justify-content:flex-start;align-items:center}
}


/* =========================================================
   v21 — Searchable Format Picker
   Replaces the long native dropdown with a compact searchable picker.
   ========================================================= */
.kxml-format-picker{
  position:relative;
  max-width:920px;
  margin:0;
}
.kxml-format-picker__label{
  display:block;
  margin:0 0 9px 2px;
  color:#6e6e73;
  font-size:12px;
  font-weight:650;
  letter-spacing:-.01em;
}
.kxml-format-picker__trigger{
  width:100%;
  min-height:78px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  padding:13px 16px;
  border:1px solid rgba(0,0,0,.09);
  border-radius:22px;
  background:linear-gradient(145deg,#fff 0%,#fbfdff 58%,#f3f8ff 100%);
  color:#1d1d1f;
  text-align:left;
  box-shadow:0 15px 42px rgba(20,43,76,.065);
  cursor:pointer;
  transition:border-color .17s ease,box-shadow .17s ease,transform .17s ease;
}
.kxml-format-picker__trigger:hover{
  border-color:rgba(0,113,227,.24);
  box-shadow:0 19px 48px rgba(20,43,76,.09);
  transform:translateY(-1px);
}
.kxml-format-picker__trigger:focus-visible{
  outline:none;
  border-color:#0071e3;
  box-shadow:0 0 0 4px rgba(0,113,227,.11),0 18px 46px rgba(20,43,76,.08);
}
.kxml-format-picker__trigger.is-empty{
  border-color:rgba(0,113,227,.28);
  background:linear-gradient(145deg,#fff 0%,#f8fbff 52%,#edf6ff 100%);
  box-shadow:0 16px 44px rgba(0,113,227,.09);
}
.kxml-format-picker__trigger.is-empty .kxml-format-picker__selection small{color:#0071e3}
.kxml-format-picker__trigger.is-empty .kxml-format-picker__selection strong{color:#071a38}
.kxml-format-picker__trigger.is-empty .kxml-format-picker__chevron{color:#0071e3}
.kxml-format-picker__leading{
  width:50px;height:50px;display:grid;place-items:center;
  border-radius:16px;
  background:linear-gradient(145deg,#071a38,#0d376a);
  color:#fff;
  box-shadow:0 12px 28px rgba(7,26,56,.16)
}
.kxml-format-picker__leading .kxml-ui-icon{width:24px;height:24px;stroke-width:1.6}
.kxml-format-picker__selection{min-width:0}
.kxml-format-picker__selection small,.kxml-format-picker__selection strong{display:block}
.kxml-format-picker__selection small{margin-bottom:3px;color:#86868b;font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.07em}
.kxml-format-picker__selection strong{overflow:hidden;color:#1d1d1f;font-size:17px;font-weight:650;line-height:1.32;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap}
.kxml-format-picker__chevron{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:#6e6e73;transition:transform .18s ease,background .18s ease}
.kxml-format-picker__trigger:hover .kxml-format-picker__chevron{background:rgba(0,0,0,.045)}
.kxml-format-picker.is-open .kxml-format-picker__chevron{transform:rotate(180deg)}
.kxml-format-picker__chevron .kxml-ui-icon{width:18px;height:18px;stroke-width:1.8}
.kxml-format-picker__help{margin:9px 2px 0;color:#86868b;font-size:12px;line-height:1.45}
.kxml-format-required-notice{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:14px 0 0;
  padding:12px 14px;
  border:1px solid rgba(0,113,227,.16);
  border-radius:14px;
  background:#f5f9ff;
  color:#424245;
  font-size:13px;
  line-height:1.45;
  transition:opacity .18s ease,transform .18s ease;
}
.kxml-format-required-notice[hidden]{display:none!important}
.kxml-format-required-notice__icon{
  width:24px;
  height:24px;
  display:grid;
  flex:0 0 auto;
  place-items:center;
  margin-top:-1px;
  border-radius:50%;
  background:#e8f2ff;
  color:#0071e3;
}
.kxml-format-required-notice__icon .kxml-ui-icon{width:14px;height:14px}
.kxml-format-required-notice strong{color:#1d1d1f;font-weight:650}
.kxml-format-required-notice.is-attention{animation:kxmlNoticeNudge .32s ease}
@keyframes kxmlNoticeNudge{
  0%,100%{transform:translateX(0)}
  35%{transform:translateX(4px)}
  70%{transform:translateX(-2px)}
}

.kxml-native-format-select{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;clip-path:inset(50%)!important;border:0!important;padding:0!important;margin:-1px!important}
.kxml-format-picker__backdrop{
  position:fixed;z-index:1080;inset:0;
  visibility:hidden;background:rgba(0,0,0,.18);opacity:0;
  transition:opacity .18s ease,visibility .18s ease;
  backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)
}
.kxml-format-picker__backdrop.is-open{visibility:visible;opacity:1}
.kxml-format-picker__panel{
  position:fixed;z-index:1090;left:50%;top:50%;
  width:min(720px,calc(100vw - 44px));
  max-height:calc(100dvh - 48px);
  display:block;
  visibility:hidden;opacity:0;transform:translate(-50%,-48%) scale(.992);
  overflow-y:auto;overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  border:1px solid rgba(0,0,0,.09);
  border-radius:24px;
  background:rgba(255,255,255,.985);
  box-shadow:0 28px 80px rgba(20,43,76,.18),0 2px 10px rgba(0,0,0,.05);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  backdrop-filter:saturate(170%) blur(24px);-webkit-backdrop-filter:saturate(170%) blur(24px)
}
.kxml-format-picker__panel.is-open{visibility:visible;opacity:1;transform:translate(-50%,-50%) scale(1)}
.kxml-format-picker__panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 20px 14px}
.kxml-format-picker__panel-head strong{display:block;margin-top:4px;font-size:20px;letter-spacing:-.035em}
.kxml-format-picker__close{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;background:#f1f1f3;color:#1d1d1f;font-size:22px;line-height:1;cursor:pointer}
.kxml-format-picker__close:hover{background:#e7e7ea}
.kxml-format-picker__search-wrap{position:relative;margin:0 20px 14px}
.kxml-format-picker__search-wrap>.kxml-ui-icon{position:absolute;left:15px;top:50%;width:19px;height:19px;transform:translateY(-50%);color:#86868b;stroke-width:1.7;pointer-events:none}
.kxml-format-picker__search{
  width:100%;height:50px;padding:0 15px 0 45px;
  border:1px solid #d2d2d7;border-radius:14px;outline:none;background:#f7f7f9;color:#1d1d1f;
  font:inherit;font-size:15px;letter-spacing:-.015em;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease
}
.kxml-format-picker__search:focus{border-color:#0071e3;background:#fff;box-shadow:0 0 0 4px rgba(0,113,227,.09)}
.kxml-format-picker__results{min-height:0;overflow:visible;padding:0 12px 12px}
.kxml-format-picker__group{padding:8px 0 11px}
.kxml-format-picker__group-title{position:sticky;top:0;z-index:1;margin:0;padding:8px 10px 7px;background:rgba(255,255,255,.95);color:#86868b;font-size:10px;font-weight:750;letter-spacing:.075em;text-transform:uppercase;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.kxml-format-picker__list{display:grid;gap:3px}
.kxml-format-picker__option{
  width:100%;display:grid;grid-template-columns:minmax(64px,auto) minmax(0,1fr) auto;align-items:center;gap:12px;
  padding:11px 12px;border:0;border-radius:13px;background:transparent;color:#1d1d1f;text-align:left;cursor:pointer;
  transition:background .14s ease,color .14s ease
}
.kxml-format-picker__option:hover,.kxml-format-picker__option:focus-visible{outline:none;background:#f1f6fd}
.kxml-format-picker__option.is-selected{background:#eef6ff}
.kxml-format-picker__code{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 8px;border-radius:9px;background:#f2f4f7;color:#344054;font-size:11px;font-weight:750;letter-spacing:-.01em;white-space:nowrap}
.kxml-format-picker__option.is-selected .kxml-format-picker__code{background:#dcecff;color:#0065c8}
.kxml-format-picker__option-copy{min-width:0}
.kxml-format-picker__option-copy strong,.kxml-format-picker__option-copy small{display:block}
.kxml-format-picker__option-copy strong{font-size:14px;font-weight:610;line-height:1.28;letter-spacing:-.018em}
.kxml-format-picker__option-copy small{margin-top:2px;color:#86868b;font-size:11px;line-height:1.3}
.kxml-format-picker__selected-mark{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#0071e3;color:#fff;font-size:13px;font-weight:750;opacity:0}
.kxml-format-picker__option.is-selected .kxml-format-picker__selected-mark{opacity:1}
.kxml-format-picker__empty{padding:38px 20px;text-align:center;color:#6e6e73}
.kxml-format-picker__empty strong,.kxml-format-picker__empty span{display:block}
.kxml-format-picker__empty strong{color:#1d1d1f;font-size:15px}.kxml-format-picker__empty span{margin-top:5px;font-size:12px}
.kxml-format-picker__footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 20px 14px;border-top:1px solid rgba(0,0,0,.065);color:#86868b;font-size:11px}
.kxml-format-picker__footer span{color:#515154;font-weight:650}
body.kxml-format-picker-open{overflow:hidden}

/* Retire the old dropdown shell in v21. */
.kxml-format-select-wrap{display:none!important}

@media(max-width:680px){
  .kxml-format-picker__trigger{min-height:72px;padding:11px 13px;border-radius:19px;gap:12px}
  .kxml-format-picker__leading{width:44px;height:44px;border-radius:14px}
  .kxml-format-picker__selection strong{font-size:14px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .kxml-format-picker__panel{position:fixed;z-index:1090;left:12px;right:12px;top:auto;bottom:12px;width:auto;max-height:calc(100dvh - 24px);border-radius:24px;transform:translateY(20px) scale(.995);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
  .kxml-format-picker__panel.is-open{transform:translateY(0) scale(1)}
  .kxml-format-picker__panel-head{padding:18px 17px 12px}
  .kxml-format-picker__search-wrap{margin:0 16px 12px}
  .kxml-format-picker__results{padding-inline:8px}
  .kxml-format-picker__footer{padding-inline:17px}.kxml-format-picker__footer small{display:none}
  .kxml-format-picker__option{grid-template-columns:minmax(54px,auto) minmax(0,1fr) auto;padding:10px}
  .kxml-format-picker__option-copy strong{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .kxml-format-picker__panel,.kxml-format-picker__backdrop,.kxml-format-picker__trigger,.kxml-format-picker__chevron{transition:none!important}
}


/* =========================================================
   v24 — Start cue coral/orange
   Warm accent for the first action; red remains reserved for errors.
   ========================================================= */
.kxml-format-picker__start-row{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:23px;
  margin-bottom:3px;
}
.kxml-format-picker__start-icon{
  width:22px;
  height:22px;
  display:none;
  place-items:center;
  flex:0 0 auto;
  border:1px solid #f1cdb6;
  border-radius:50%;
  background:#fff4ed;
  color:#bf4800;
  box-shadow:0 4px 12px rgba(191,72,0,.08);
}
.kxml-format-picker__start-icon .kxml-ui-icon{
  width:14px;
  height:14px;
  stroke-width:1.9;
}
.kxml-format-picker__trigger.is-empty .kxml-format-picker__start-icon{
  display:grid;
}
.kxml-format-picker__trigger.is-empty .kxml-format-picker__start-row small{
  color:#bf4800;
  font-weight:800;
  letter-spacing:.045em;
}
.kxml-format-picker__trigger:not(.is-empty) .kxml-format-picker__start-row{
  min-height:auto;
}
@media(max-width:560px){
  .kxml-format-picker__start-icon{
    width:21px;
    height:21px;
  }
}


/* =========================================================
   v26 — Soft attention glow
   Only active before a document format has been selected.
   ========================================================= */
.kxml-format-picker__trigger{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.kxml-format-picker__trigger > *{
  position:relative;
  z-index:2;
}

/* Soft breathing glow: clear enough to invite action, never flashing. */
.kxml-format-picker__trigger.is-empty{
  animation:kxmlStartCardBreathe 3.8s ease-in-out infinite;
  will-change:box-shadow,border-color;
}

/* Slow sheen with a long quiet phase between passes. */
.kxml-format-picker__trigger.is-empty::before{
  content:"";
  position:absolute;
  z-index:1;
  top:-35%;
  bottom:-35%;
  left:-28%;
  width:28%;
  pointer-events:none;
  opacity:0;
  transform:translateX(-140%) skewX(-14deg);
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.44) 36%,
    rgba(0,113,227,.075) 52%,
    rgba(255,255,255,.38) 68%,
    rgba(255,255,255,0) 100%
  );
  filter:blur(.3px);
  animation:kxmlStartSheen 5.8s cubic-bezier(.22,.8,.3,1) infinite;
}

/* The flag itself gets a restrained halo, without bouncing or rotating. */
.kxml-format-picker__trigger.is-empty .kxml-format-picker__leading{
  animation:kxmlStartFlagGlow 3.8s ease-in-out infinite;
  will-change:box-shadow;
}

@keyframes kxmlStartCardBreathe{
  0%,100%{
    border-color:rgba(0,113,227,.26);
    box-shadow:0 16px 44px rgba(0,113,227,.085),0 0 0 0 rgba(0,113,227,0);
  }
  50%{
    border-color:rgba(0,113,227,.48);
    box-shadow:0 19px 50px rgba(0,113,227,.14),0 0 0 5px rgba(0,113,227,.055);
  }
}

@keyframes kxmlStartSheen{
  0%,58%{
    opacity:0;
    transform:translateX(-145%) skewX(-14deg);
  }
  62%{
    opacity:.82;
  }
  78%{
    opacity:.58;
  }
  90%,100%{
    opacity:0;
    transform:translateX(590%) skewX(-14deg);
  }
}

@keyframes kxmlStartFlagGlow{
  0%,100%{
    box-shadow:0 12px 28px rgba(7,26,56,.16),0 0 0 0 rgba(0,113,227,0);
  }
  50%{
    box-shadow:0 15px 34px rgba(7,26,56,.22),0 0 0 7px rgba(0,113,227,.07);
  }
}

/* Once a format is selected, no residual animation remains. */
.kxml-format-picker__trigger:not(.is-empty),
.kxml-format-picker__trigger:not(.is-empty) .kxml-format-picker__leading{
  animation:none;
}
.kxml-format-picker__trigger:not(.is-empty)::before{
  display:none;
}

@media(prefers-reduced-motion:reduce){
  .kxml-format-picker__trigger.is-empty,
  .kxml-format-picker__trigger.is-empty::before,
  .kxml-format-picker__trigger.is-empty .kxml-format-picker__leading{
    animation:none!important;
  }
}


/* =========================================================
   v27 — Compact initial state
   Keep the landing state tight before a template is selected.
   ========================================================= */
.kxml-format-section{
  padding-bottom:32px;
}

/* The picker itself already explains the next action; no extra helper line needed. */
.kxml-format-picker__help{
  display:none!important;
}

.kxml-format-required-notice{
  margin-top:14px;
  padding-top:12px;
  padding-bottom:12px;
}

/* When Step 1–4 are still hidden, bring the privacy note directly under the picker. */
.kxml-process-wrap[hidden] + .kxml-notes{
  width:min(1180px,calc(100% - 44px));
  padding-top:14px;
  padding-bottom:50px;
}
.kxml-process-wrap[hidden] + .kxml-notes .kxml-note{
  width:min(920px,100%);
  margin:0;
  padding:17px 18px;
  border-radius:19px;
  box-shadow:none;
}
.kxml-process-wrap[hidden] + .kxml-notes .kxml-note p{
  margin-top:4px;
}

/* Once a format is selected, restore the normal breathing room after the workflow. */
.kxml-process-wrap:not([hidden]) + .kxml-notes{
  padding-top:30px;
}

@media(max-width:700px){
  .kxml-format-section{padding-bottom:24px}
  .kxml-process-wrap[hidden] + .kxml-notes{
    width:calc(100% - 28px);
    padding-top:10px;
    padding-bottom:38px;
  }
  .kxml-process-wrap[hidden] + .kxml-notes .kxml-note{
    padding:15px;
    border-radius:17px;
  }
}

/* =========================================================
   v29 — Apple-inspired refinement
   Fewer containers, stronger hierarchy, progressive disclosure.
   Logic and data validation are unchanged.
   ========================================================= */

/* Hero: one clear message, then a functional visual. */
.kxml-hero{
  padding:112px 0 76px;
  background:#fff;
  text-align:center;
}
.kxml-hero:after{display:none}
.kxml-hero__grid{
  width:min(1000px,100%);
  grid-template-columns:1fr;
  gap:52px;
}
.kxml-hero__copy{text-align:center}
.kxml-eyebrow{
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  color:#6e6e73;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.kxml-eyebrow-dot{box-shadow:none}
.kxml-hero h1{
  max-width:960px;
  margin:20px auto 18px;
  font-size:clamp(58px,7.6vw,92px);
  line-height:.96;
  letter-spacing:-.068em;
}
.kxml-hero h1 span{
  background:linear-gradient(90deg,#0057b8 0%,#0071e3 45%,#36a2d4 78%,#6d5dfc 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.kxml-hero__lead{
  max-width:720px;
  margin:0 auto;
  font-size:clamp(19px,2.15vw,24px);
  line-height:1.38;
  color:#6e6e73;
}
.kxml-hero__facts{
  justify-content:center;
  gap:24px;
  margin-top:28px;
}
.kxml-hero__facts span{
  padding:0 0 0 17px;
  border:0;
  background:transparent;
  box-shadow:none;
  color:#6e6e73;
  font-size:12px;
  font-weight:550;
}
.kxml-hero__facts span:before{left:0;color:#248a3d}
.kxml-hero__visual{
  width:min(790px,100%);
  min-height:0;
  margin:0 auto;
  padding:8px 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.kxml-hero__visual:before,.kxml-hero-orb{display:none}
.kxml-flow-card,
.kxml-flow-card--excel,
.kxml-flow-card--check,
.kxml-flow-card--xml{
  width:180px;
  min-height:150px;
  align-items:center;
  justify-content:center;
  gap:15px;
  padding:10px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  text-align:center;
  transform:none;
}
.kxml-flow-card__icon{
  width:76px;height:76px;
  border-radius:24px;
  font-size:12px;
  box-shadow:none;
}
.kxml-flow-card--check .kxml-flow-card__icon{font-size:26px}
.kxml-flow-card small{font-size:11px}
.kxml-flow-card strong{font-size:17px;letter-spacing:-.03em}
.kxml-flow-connector{font-size:25px;color:#c2c7cf}

/* Initial choice: a focused control, not another dashboard card. */
.kxml-format-section{
  width:min(920px,calc(100% - 44px));
  padding:86px 0 48px;
}
.kxml-tool__header--select{
  margin-bottom:28px;
  text-align:center;
}
.kxml-tool__header--select h2{
  max-width:820px;
  margin-left:auto;margin-right:auto;
  font-size:clamp(38px,4.5vw,56px);
  line-height:1.04;
  letter-spacing:-.055em;
}
.kxml-tool__header--select>div>p{
  max-width:540px;
  margin-left:auto;margin-right:auto;
  color:#86868b;
  font-size:14px;
}
.kxml-format-picker{max-width:820px;margin-inline:auto}
.kxml-format-picker__label{margin-left:2px}
.kxml-format-picker__trigger{
  min-height:88px;
  border:1px solid #d2d2d7;
  border-radius:24px;
  background:#fff;
  box-shadow:0 12px 34px rgba(0,0,0,.045);
}
.kxml-format-picker__trigger:hover{border-color:#b9c0c8;box-shadow:0 15px 38px rgba(0,0,0,.06)}
.kxml-format-picker__trigger.is-empty{
  background:#fff;
  animation:kxmlAppleChoiceBreathe 5.4s ease-in-out infinite;
}
.kxml-format-picker__trigger.is-empty::before{display:none!important}
.kxml-format-picker__leading{
  width:54px;height:54px;border-radius:17px;
  box-shadow:none;
}
.kxml-format-picker__trigger.is-empty .kxml-format-picker__leading{
  animation:none;
  box-shadow:0 10px 24px rgba(7,26,56,.14);
}
.kxml-format-picker__selection strong{font-size:18px}
.kxml-format-required-notice{
  max-width:820px;
  margin:13px auto 0;
  padding:0 2px;
  border:0;
  background:transparent;
  color:#6e6e73;
  box-shadow:none;
}
.kxml-format-required-notice__icon{color:#bf4800}
@keyframes kxmlAppleChoiceBreathe{
  0%,100%{border-color:#d2d2d7;box-shadow:0 12px 34px rgba(0,0,0,.045)}
  50%{border-color:#9fc9f5;box-shadow:0 16px 42px rgba(0,113,227,.085)}
}

/* Workflow canvas: white space and separators replace large outer cards. */
.kxml-process-wrap{
  padding:18px 22px 84px;
  background:#fff;
}
.kxml-process-wrap>.kxml-shell{width:min(980px,100%)}
.kxml-selected-strip{
  margin:0;
  padding:34px 0 30px;
  border:0;
  border-bottom:1px solid #d2d2d7;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.kxml-selected-strip:before{display:none}
.kxml-selected-strip>div:first-child{padding-left:0}
.kxml-selected-strip>div:first-child strong{font-size:28px}
.kxml-selected-strip__icon{
  background:#f5f5f7!important;
  color:#1d1d1f!important;
  box-shadow:none!important;
}
.kxml-progress-rail{
  width:min(760px,100%);
  margin:30px auto 14px;
  padding:8px 0 18px;
}
.kxml-progress-rail>div span{box-shadow:none}

.kxml-step-stack{display:block}
.kxml-step-card,
.kxml-step-card.is-active,
.kxml-step-card.is-complete,
.kxml-step-card.is-error,
.kxml-step-card.is-locked{
  display:grid;
  grid-template-columns:70px minmax(0,1fr);
  overflow:visible;
  border:0;
  border-top:1px solid #d2d2d7;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  opacity:1;
  transform:none;
}
.kxml-step-card:last-child{border-bottom:1px solid #d2d2d7}
.kxml-step-card:hover{transform:none;box-shadow:none}
.kxml-step-number{
  align-items:flex-start;
  padding:62px 0 0;
  border:0;
  background:transparent;
}
.kxml-step-number:after{display:none}
.kxml-step-number__icon{
  width:46px;height:46px;
  display:grid;place-items:center;
  margin:0;
  border-radius:15px;
  background:#f5f5f7;
  color:#1d1d1f;
}
.kxml-step-card.is-active .kxml-step-number__icon{background:#eef6ff;color:#0071e3}
.kxml-step-card.is-complete .kxml-step-number__icon{background:#eff9f1;color:#248a3d}
.kxml-step-card.is-error .kxml-step-number__icon{background:#fff2f0;color:#b42318}
.kxml-step-content{padding:58px 0 66px 20px}
.kxml-step-heading{margin-bottom:28px}
.kxml-step-label{
  padding:0;
  background:transparent;
  color:#bf4800;
  font-size:11px;
  font-weight:700;
  letter-spacing:.035em;
  text-transform:none;
}
.kxml-step-heading h2{
  margin-top:6px;
  font-size:clamp(34px,4.1vw,46px);
  line-height:1.03;
  letter-spacing:-.052em;
}
.kxml-step-heading p{
  max-width:690px;
  margin-top:10px;
  color:#6e6e73;
  font-size:14px;
  line-height:1.55;
}
.kxml-step-state{
  padding:6px 10px;
  border:0!important;
  background:#f5f5f7;
  box-shadow:none;
  font-size:10px;
}
.kxml-step-state.is-complete,.kxml-step-state.is-ready{background:#eff9f1}
.kxml-step-state.is-error{background:#fff2f0}

/* Keep only the functional inner surfaces. */
.kxml-official-template{
  padding:20px;
  border:0;
  border-radius:22px;
  background:#f5f5f7;
  box-shadow:none;
}
.kxml-official-template__icon{box-shadow:none;background:#fff}
.kxml-official-badge{background:#e9f6ed}
.kxml-version-badge{border:0;background:#fff}
.kxml-dropzone{
  min-height:205px;
  border-color:#c8cdd3;
  border-radius:22px;
  background:#fafafa;
  box-shadow:none;
}
.kxml-dropzone:before{display:none}
.kxml-file-card{border:0;background:#f5f5f7;box-shadow:none}
.kxml-check-grid{gap:18px}
.kxml-btn--check{
  min-height:150px;
  border-radius:22px;
  box-shadow:none;
}
.kxml-status-card{
  border:0;
  background:#f5f5f7;
  box-shadow:none;
}
.kxml-stat-row>div{background:#fff}
.kxml-table-wrap{border:1px solid #e3e3e7;box-shadow:none}
.kxml-create-button{box-shadow:none}
.kxml-success{box-shadow:none}

/* Bottom trust note: information, not another prominent card. */
.kxml-notes{
  width:min(980px,calc(100% - 44px));
  padding-top:24px;
  padding-bottom:76px;
}
.kxml-note{
  padding:18px 0;
  border:0;
  border-radius:0;
  border-bottom:1px solid #d2d2d7;
  background:transparent;
  box-shadow:none;
}
.kxml-process-wrap[hidden] + .kxml-notes{
  width:min(820px,calc(100% - 44px));
  padding-top:8px;
  padding-bottom:48px;
}
.kxml-process-wrap[hidden] + .kxml-notes .kxml-note{
  width:100%;
  padding:18px 0;
  border-radius:0;
}

@media(max-width:820px){
  .kxml-hero{padding:80px 0 58px}
  .kxml-hero__grid{gap:36px}
  .kxml-hero h1{font-size:clamp(50px,12vw,72px)}
  .kxml-hero__facts{gap:10px 18px}
  .kxml-flow-card,.kxml-flow-card--excel,.kxml-flow-card--check,.kxml-flow-card--xml{width:145px;min-height:132px}
  .kxml-flow-card__icon{width:66px;height:66px;border-radius:21px}
  .kxml-format-section{padding-top:66px}
  .kxml-step-card,.kxml-step-card.is-active,.kxml-step-card.is-complete,.kxml-step-card.is-error,.kxml-step-card.is-locked{grid-template-columns:58px minmax(0,1fr)}
  .kxml-step-number{padding-top:52px}
  .kxml-step-number__icon{width:42px;height:42px;border-radius:14px}
  .kxml-step-content{padding:48px 0 56px 14px}
}

@media(max-width:560px){
  .kxml-hero{padding:64px 0 46px}
  .kxml-hero h1{font-size:46px}
  .kxml-hero__lead{font-size:17px}
  .kxml-hero__facts{display:flex;gap:8px 14px}
  .kxml-hero__facts span{font-size:11px}
  .kxml-hero__visual{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
  .kxml-flow-connector{display:none}
  .kxml-flow-card,.kxml-flow-card--excel,.kxml-flow-card--check,.kxml-flow-card--xml{width:auto;min-height:115px;padding:6px}
  .kxml-flow-card__icon{width:54px;height:54px;border-radius:18px}
  .kxml-flow-card strong{font-size:13px}.kxml-flow-card small{font-size:9px}
  .kxml-format-section{width:calc(100% - 28px);padding-top:54px;padding-bottom:30px}
  .kxml-tool__header--select h2{font-size:38px}
  .kxml-format-picker__trigger{min-height:78px;border-radius:20px}
  .kxml-format-picker__leading{width:48px;height:48px;border-radius:15px}
  .kxml-process-wrap{padding-left:14px;padding-right:14px;padding-bottom:60px}
  .kxml-selected-strip{padding-top:26px;padding-bottom:24px}
  .kxml-progress-rail{margin-top:22px}
  .kxml-step-card,.kxml-step-card.is-active,.kxml-step-card.is-complete,.kxml-step-card.is-error,.kxml-step-card.is-locked{grid-template-columns:1fr}
  .kxml-step-number{padding:38px 0 0}
  .kxml-step-number__icon{width:40px;height:40px}
  .kxml-step-content{padding:14px 0 46px}
  .kxml-step-heading{gap:10px}
  .kxml-step-heading h2{font-size:34px}
  .kxml-official-template{padding:17px;border-radius:19px}
  .kxml-status-card{border-radius:19px}
  .kxml-notes,.kxml-process-wrap[hidden] + .kxml-notes{width:calc(100% - 28px)}
}

@media(prefers-reduced-motion:reduce){
  .kxml-format-picker__trigger.is-empty{animation:none!important}
}
