.xml-import-page {flex:1; min-height:0; overflow:auto; scrollbar-gutter:stable; background:var(--md-surface); border:1px solid var(--md-outline-variant); border-radius:16px;}
.xml-import-content {max-width:1420px; margin:auto; padding:28px;}
.xml-import-intro {display:flex; align-items:center; justify-content:space-between; gap:24px;}
.xml-import-intro h2 {font-size:26px; font-weight:600; margin:6px 0 8px; letter-spacing:-.5px;}
.xml-import-intro p {margin:0; color:var(--md-on-surface-variant);}
.xml-import-intro .eyebrow {color:var(--md-primary); font-size:12px; letter-spacing:.6px; font-weight:600;}
.xml-import-intro button {flex-shrink:0;}
.xml-import-steps {display:flex; gap:24px; padding:20px 0; margin:18px 0 20px; list-style:none; border-block:1px solid var(--row-border);}
.xml-import-steps li {display:flex; align-items:center; flex:1; gap:10px; color:var(--md-on-surface-variant);}
.xml-import-steps span {display:grid; place-items:center; flex:0 0 28px; height:28px; border-radius:50%; background:var(--md-primary-container); color:var(--md-on-primary-container); font-weight:600;}
.xml-import-top {display:grid; grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr); gap:24px;}
.xml-import-content h3 {font-size:17px; margin:0 0 8px; font-weight:600;}
.xml-import-upload {padding:24px; border:1px solid var(--md-outline-variant); border-radius:14px;}
.xml-import-upload>p {margin:0 0 16px; color:var(--md-on-surface-variant);}
.xml-import-file {display:flex;align-items:flex-start;flex-direction:column;padding:18px; border:1px dashed #91a8c8; border-radius:10px; background:var(--md-surface-container-low); gap:12px;}
.xml-import-file>span {display:flex; align-items:center; gap:10px; color:var(--md-primary);}
.xml-import-file input {padding:0; border:none; background:transparent; font-size:13px; min-height:38px;}
.xml-import-file input::file-selector-button {font:inherit; padding:10px 14px; margin-right:12px; color:var(--md-primary); border:1px solid var(--md-outline-variant); background:var(--md-surface); border-radius:20px; cursor:pointer;}
.xml-import-file small {color:var(--md-on-surface-variant); font-size:12px; font-weight:400;}
.xml-import-upload .xml-import-access {margin:14px 0; font-size:13px;}
.xml-import-submit {display:flex; align-items:center; gap:16px;}
.xml-import-submit button {flex-shrink:0;}
.xml-import-submit>span {font-size:12px; color:var(--md-on-surface-variant); overflow-wrap:anywhere;}
.xml-import-guide {padding:24px; background:var(--md-surface-container-low); border-radius:14px;}
.xml-import-guide p {margin:14px 0 0; color:var(--md-on-surface-variant); line-height:1.6;}
.xml-import-guide strong {color:var(--md-on-surface);}
.xml-import-result {display:flex; gap:16px; margin:24px 0 0; padding:22px; border:1px solid #b9cee9; border-radius:14px; background:#eef4ff;}
.xml-import-result.success {background:#edf8f2; border-color:#acd5bd;}
.xml-import-result.failed {background:#fff3f1; border-color:#e8b5b0;}
.xml-import-result p {margin:6px 0; overflow-wrap:anywhere;}
.xml-import-result button {margin-top:12px;}
.xml-result-symbol {display:grid; place-items:center; flex:0 0 36px; height:36px; border-radius:50%; background:var(--md-primary); color:white; font-size:23px;}
.success .xml-result-symbol {background:var(--md-success);}
.failed .xml-result-symbol {background:var(--md-error);}
.xml-import-history {margin-top:30px;}
.xml-import-history>header {display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px;}
.xml-import-history>header p {margin:0; color:var(--md-on-surface-variant); font-size:13px;}
.xml-history-scroll {border:1px solid var(--md-outline-variant); border-radius:12px; overflow:auto;}
.xml-history-scroll table {width:100%; min-width:790px; border-collapse:collapse; table-layout:auto; font-size:13px;}
.xml-history-scroll th,.xml-history-scroll td {padding:14px 16px; text-align:left; vertical-align:top; border-bottom:1px solid var(--row-border); white-space:normal; position:static; box-shadow:none;}
.xml-history-scroll th {background:var(--md-surface-container-low); color:var(--md-on-surface-variant); font-weight:500;}
.xml-history-scroll td:first-child {width:35%; min-width:230px;}
.xml-history-scroll td:nth-child(2) {min-width:160px;}
.xml-history-scroll tr:last-child td {border-bottom:0;}
.xml-history-scroll .xml-numeric {text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums;}
.xml-history-scroll summary {font-weight:500; cursor:pointer; color:var(--md-primary); overflow-wrap:anywhere;}
.xml-history-date {display:block; margin-top:5px; color:var(--md-on-surface-variant); font-variant-numeric:tabular-nums;}
.xml-run-details {display:grid; gap:5px; margin:10px 0; color:var(--md-on-surface-variant); font-size:12px;}
.xml-run-status {display:inline-block; padding:4px 9px; border-radius:6px; background:var(--md-surface-container); white-space:nowrap;}
.xml-run-status.success {background:#e1f2eb; color:#12634a;}
.xml-run-status.failed {background:#ffe7e4; color:var(--md-error);}
.xml-run-status.running,.xml-run-status.queued {background:var(--md-primary-container); color:var(--md-on-primary-container);}
.xml-history-pages {display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-top:14px;}
.xml-history-pages>span {margin-right:auto; color:var(--md-on-surface-variant); font-size:13px;}
.xml-history-empty {padding:26px; border:1px dashed var(--md-outline-variant); border-radius:12px; color:var(--md-on-surface-variant); text-align:center;}
.xml-history-note {padding:12px 16px; border:1px solid var(--md-outline-variant); border-radius:10px; background:var(--md-surface-container-low); color:var(--md-on-surface-variant);}
dialog.xml-progress-dialog {width:min(660px,calc(100vw - 32px)); height:fit-content; max-height:calc(100dvh - 32px);}
dialog.xml-progress-dialog:focus {outline:none;}
.xml-progress-header {display:flex; align-items:center; gap:14px; padding:24px 28px; border-bottom:1px solid var(--md-outline-variant); flex:0 0 auto;}
.xml-progress-header p {margin:0 0 4px; color:var(--md-primary); font-size:12px; font-weight:600; letter-spacing:.5px;}
.xml-progress-header h2 {margin:0; font-size:23px; font-weight:600; letter-spacing:-.3px;}
.xml-progress-icon {display:grid; place-items:center; width:44px; height:44px; flex:0 0 44px; border-radius:14px; background:var(--md-primary-container); color:var(--md-primary);}
.xml-progress-body {padding:28px; min-height:0; overflow-y:auto; overscroll-behavior:contain;}
.xml-progress-status {display:flex; align-items:center; gap:18px; min-height:80px;}
.xml-progress-status h3 {font-size:19px; margin:0 0 8px; font-weight:600;}
.xml-progress-status p {margin:0; color:var(--md-on-surface-variant); line-height:1.55;}
.xml-progress-symbol {display:grid; place-items:center; box-sizing:border-box; width:48px; height:48px; flex:0 0 48px; border-radius:50%; font-size:28px;}
[data-kind="running"] .xml-progress-symbol {border:4px solid var(--md-primary-container); border-top-color:var(--md-primary); animation:xml-progress-spin .9s linear infinite;}
[data-kind="success"] .xml-progress-symbol {background:#e1f2eb; color:var(--md-success);}
[data-kind="failed"] .xml-progress-symbol {background:#ffe7e4; color:var(--md-error);}
.xml-progress-track {height:6px; overflow:hidden; background:var(--md-primary-container); border-radius:6px; margin:24px 0 16px;}
.xml-progress-track>span {display:block; width:35%; height:100%; background:var(--md-primary); border-radius:inherit; animation:xml-progress-slide 1.8s ease-in-out infinite;}
.xml-progress-steps {display:flex; list-style:none; padding:0; gap:12px; margin:18px 0 24px; counter-reset:xml-step;}
.xml-progress-steps li {display:flex; align-items:center; gap:7px; flex:1; color:var(--md-on-surface-variant); font-size:12px; counter-increment:xml-step;}
.xml-progress-steps li::before {content:counter(xml-step); display:grid; place-items:center; width:22px; height:22px; flex:0 0 22px; border:1px solid var(--md-outline-variant); border-radius:50%;}
.xml-progress-steps .current {color:var(--md-primary); font-weight:600;}
.xml-progress-steps .current::before {background:var(--md-primary); color:white; border-color:var(--md-primary);}
.xml-progress-steps .done::before {content:'✓'; background:#e1f2eb; color:var(--md-success); border-color:transparent;}
.xml-progress-file {margin:22px 0 0; padding:4px 16px; border:1px solid var(--md-outline-variant); border-radius:12px; background:var(--md-surface-container-low);}
.xml-progress-file>div {display:flex; justify-content:space-between; gap:20px; padding:11px 0; border-bottom:1px solid var(--row-border); font-size:13px;}
.xml-progress-file>div:last-child {border-bottom:0;}
.xml-progress-file dt {color:var(--md-on-surface-variant); flex-shrink:0;}
.xml-progress-file dd {margin:0; text-align:right; font-weight:500; overflow-wrap:anywhere; min-width:0; font-variant-numeric:tabular-nums;}
.xml-progress-stats {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:20px;}
.xml-progress-stats>div {display:flex; flex-direction:column; gap:5px; padding:14px; border:1px solid var(--md-outline-variant); border-radius:12px;}
.xml-progress-stats>div:first-child {background:#edf8f2; border-color:#acd5bd;}
.xml-progress-stats strong {font-size:23px; font-weight:600; font-variant-numeric:tabular-nums;}
.xml-progress-stats span {font-size:12px; color:var(--md-on-surface-variant);}
.xml-progress-footer {display:flex; align-items:center; justify-content:flex-end; gap:12px; padding:20px 28px; background:var(--md-surface-container-low); border-top:1px solid var(--md-outline-variant); flex:0 0 auto;}
.xml-progress-footer>span {margin-right:auto; font-size:13px; color:var(--md-on-surface-variant);}
.xml-progress-footer button {flex-shrink:0;}
@keyframes xml-progress-spin {to{transform:rotate(360deg)}}
@keyframes xml-progress-slide {0%{transform:translateX(-110%)}100%{transform:translateX(290%)}}
@media(prefers-reduced-motion:reduce) {.xml-progress-symbol,.xml-progress-track>span{animation:none!important;}}
@media(max-width:600px) {.xml-progress-header,.xml-progress-footer{padding:18px 20px;}.xml-progress-body{padding:20px;}.xml-progress-header h2{font-size:21px;}.xml-progress-status{align-items:flex-start;gap:14px;}.xml-progress-status h3{font-size:18px;}.xml-progress-symbol{width:40px;height:40px;flex-basis:40px;}.xml-progress-steps{gap:8px;}.xml-progress-steps li{align-items:flex-start;flex-direction:column;gap:5px;}.xml-progress-stats{gap:8px;}.xml-progress-stats>div{padding:12px 8px;}.xml-progress-stats strong{font-size:20px;}.xml-progress-footer{flex-wrap:wrap;}.xml-progress-footer>span{flex-basis:100%;}.xml-progress-footer button{flex:1;}}
@media(max-width:1150px) {.xml-import-content{padding:22px;} .xml-import-top{grid-template-columns:1fr;} .xml-import-guide{padding:18px 22px;} .xml-import-intro h2{font-size:23px;} .xml-import-steps{gap:14px;}}
@media(max-width:700px) {.xml-import-content{padding:16px;} .xml-import-intro{align-items:flex-start; flex-direction:column; gap:12px;} .xml-import-steps{flex-direction:column; gap:12px;} .xml-import-upload{padding:16px;} .xml-import-submit{align-items:flex-start;flex-direction:column;} .xml-import-history>header{align-items:flex-start;} .xml-history-pages{flex-wrap:wrap;} .xml-history-pages>span{flex-basis:100%;}}
