/* [UI REFRESH] I Track UI layer. Loaded after index-BsCK0t4q.css. Uses the same colours as the original theme. */
body{display:block;place-items:initial;overflow-x:hidden;overflow-y:auto}
#root{width:100%}
.it-app{min-height:100vh;display:flex;flex-direction:column}

/* Header */
.it-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 40px;box-shadow:0 2px 4px #0000001a}
.it-title{margin:0;font-size:28px;font-weight:700;line-height:1.2;color:#f7ebeb}
.it-logo{height:55px;width:auto;background:#fff;padding:8px 14px;border-radius:10px;box-shadow:0 2px 8px #0000001a}

/* Page + card */
.it-main{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:32px 20px 40px;box-sizing:border-box}
.it-card{width:100%;max-width:900px;box-sizing:border-box;padding:32px 36px;background:#fefefc;color:#000;border-radius:28px;box-shadow:0 8px 30px #00000026}
.it-card h2{margin:0 0 4px;font-size:28px;font-weight:700}
.it-sub{margin:0 0 22px;color:#555;font-size:15px}

/* Upload form */
.it-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.it-step-label{display:block;margin-bottom:12px;font-weight:600;font-size:17px}
.it-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.it-type-grid .device-button{width:auto;height:52px;margin:0;padding:0 10px;box-sizing:border-box;font-family:inherit;font-size:16px;font-weight:600}
.it-type-grid .device-button:hover{transform:translateY(-2px)}

/* Drop zone */
.it-dropzone{height:260px;box-sizing:border-box;padding:20px;display:flex;flex-direction:column;justify-content:center;text-align:center;background:#fff;border:3px dashed #aaa;border-radius:16px;transition:border-color .2s,background-color .2s}
.it-dropzone.dragging{border-color:#000;background:#f7faff}
.it-dropzone.has-files{justify-content:flex-start;text-align:left;padding:14px}
.it-dropzone-icon{width:72px;height:auto;margin:0 auto 6px}
.it-dropzone .browse-button{align-self:center}
.it-dropzone-title{margin:0;font-weight:600;font-size:16px;color:#222}
.it-dropzone-or{margin:4px 0;color:#888;font-size:14px}
.it-hint{margin:10px 0 0;color:#666;font-size:13px}
.it-filelist-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:700;font-size:15px;color:#222}
.it-link-btn{padding:0;border:none;background:none;color:#007bff;font-size:13px;cursor:pointer}
.it-link-btn:hover{text-decoration:underline}
.it-filelist{flex:1;min-height:0;overflow-y:auto;margin:0;padding:0;list-style:none;border:1px solid #e3e3e3;border-radius:8px}
.it-filelist li{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-bottom:1px solid #f0f0f0;font-size:13px;color:#333}
.it-filelist li:last-child{border-bottom:none}
.it-filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:8px}
.it-remove{padding:0 6px;border:none;border-radius:4px;background:none;color:#c62828;font-size:18px;line-height:1.2;cursor:pointer}
.it-remove:hover{background:#fdecea}
.it-add-more{align-self:center;margin-top:10px}
.it-error{margin:8px 0 0;color:#c62828;font-size:13px;text-align:center}

/* Actions / buttons */
.it-actions{display:flex;justify-content:center;margin-top:28px}
.it-actions .ar-btn-primary{width:auto;min-width:220px}
.ar-btn-primary:disabled{opacity:.5;cursor:not-allowed}
.it-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border:none;border-radius:8px;font-family:inherit;font-size:14px;font-weight:600;white-space:nowrap;text-decoration:none;cursor:pointer;transition:filter .2s,transform .2s}
.it-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}
.it-btn-primary,.it-btn-primary:hover{background:#063f99;color:#fff}
.it-btn-secondary,.it-btn-secondary:hover{background:#799bb1;color:#fff}
.it-btn-small{padding:5px 12px;font-size:13px}

/* Queue */
.it-progress{height:8px;margin-bottom:18px;overflow:hidden;background:#e6eef7;border-radius:4px}
.it-progress-bar{width:100%;height:100%;background:#063f99;transform-origin:left center;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.it-progress-bar.warn{background:#e0a800}
.it-table-wrap{max-height:calc(100vh - 400px);min-height:120px;overflow-y:auto;border:1px solid #e3e3e3;border-radius:12px}
.it-table{width:100%;border-collapse:collapse;text-align:left;font-size:15px}
.it-table th{position:sticky;top:0;padding:10px 12px;background:#f3f6fa;color:#333;font-weight:700;border-bottom:1px solid #e3e3e3}
.it-table td{padding:10px 12px;border-bottom:1px solid #f0f0f0;vertical-align:middle}
.it-table tr:last-child td{border-bottom:none}
.it-col-num{width:32px;color:#888}
.it-col-file{overflow-wrap:anywhere}
.it-row-error{margin-top:4px;color:#c62828;font-size:12px}
.it-pill{display:inline-block;padding:3px 10px;border-radius:12px;font-size:13px;font-weight:700;white-space:nowrap}
.it-pill-waiting{background:#eee;color:#555}
.it-pill-processing{background:#e3f0ff;color:#0a66c2}
.it-pill-done{background:#e6f4ea;color:#1a7f37}
.it-pill-error{background:#fdecea;color:#c62828}
.it-muted{color:#aaa}

/* Result (PDF) */
.it-result{max-width:1000px;padding:20px}
.it-result-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px}
.it-result-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:#333}
.it-result-actions{display:flex;gap:8px}
iframe.it-pdf{display:block;width:100%;height:calc(100vh - 250px);min-height:420px;margin:0;background:#fff;border:1px solid #e3e3e3;border-radius:12px}

/* Small screens */
@media (max-width:760px){
.it-header{padding:12px 16px}
.it-title{font-size:18px}
.it-logo{height:36px;padding:5px 9px}
.it-main{padding:20px 12px 28px}
.it-card{padding:22px 18px;border-radius:20px}
.it-form-grid{grid-template-columns:1fr}
.it-result-name{flex-basis:100%;order:-1}
}

/* ================================================================
   [MOTION] Animations. Same colours. Everything is turned off for
   users who ask for reduced motion (see the end of this file).
   ================================================================ */
:root{--it-ease:cubic-bezier(.2,.8,.2,1);--it-fast:.2s;--it-med:.45s}

/* Layering: background scanpath behind everything */
.it-header,.it-main{position:relative;z-index:1}
.it-backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.it-backdrop svg{width:100%;height:100%}
.it-scan-path{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:it-draw 3.2s .4s var(--it-ease) forwards}
.it-fix{fill:#ffffff;fill-opacity:.16;stroke:#ffffff;stroke-opacity:.45;stroke-width:1.5;transform-box:fill-box;transform-origin:center;transform:scale(0);animation:it-fix-pop .5s var(--it-ease) forwards}
.it-gaze{fill:#ffffff;filter:drop-shadow(0 0 8px #ffffff) drop-shadow(0 0 16px #d8eefd);animation:it-gaze-fade 4.4s ease forwards}
@keyframes it-draw{to{stroke-dashoffset:0}}
@keyframes it-fix-pop{0%{transform:scale(0)}70%{transform:scale(1.25)}100%{transform:scale(1)}}
@keyframes it-gaze-fade{0%,10%{opacity:0}18%{opacity:1}80%{opacity:1}100%{opacity:0}}
/* [LIVE BG] Continuous, slow motion after the first draw */
.it-scan-flow{fill:none;stroke-width:3;stroke-linecap:round;stroke-dasharray:.003 .045;opacity:0;animation:it-flow-in 1.2s ease 3.6s forwards,it-flow 40s linear 3.6s infinite}
.it-gaze-loop{fill:#ffffff;opacity:0;filter:drop-shadow(0 0 6px #ffffff) drop-shadow(0 0 14px #d8eefd);animation:it-loop-in 1s ease 3.8s forwards}
@keyframes it-flow-in{to{opacity:.9}}
@keyframes it-flow{to{stroke-dashoffset:-1}}
@keyframes it-loop-in{to{opacity:.95}}

/* Intro splash (once per session) */
.it-splash{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;pointer-events:none;background:linear-gradient(to right,#063f99,#d8eefd);animation:it-splash-out .5s 1.1s ease-in forwards}
.it-splash-inner{display:flex;flex-direction:column;align-items:center;gap:10px;animation:it-rise .55s var(--it-ease) both}
.it-splash-ring{position:relative;width:96px;height:96px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;box-shadow:0 10px 30px #00000033}
.it-splash-ring img{width:60px;height:60px}
.it-splash-pulse{position:absolute;inset:0;border-radius:50%;border:3px solid #ffffff;animation:it-pulse 1.1s ease-out .2s 2}
.it-splash-text{color:#fff;font-size:30px;font-weight:700;letter-spacing:.5px}
.it-splash-sub{color:#f7ebeb;font-size:15px;opacity:.9}
@keyframes it-splash-out{to{opacity:0;visibility:hidden}}
@keyframes it-pulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.7);opacity:0}}

/* Entrances */
@keyframes it-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes it-drop{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
@keyframes it-fade{from{opacity:0}to{opacity:1}}
.it-header{animation:it-drop var(--it-med) var(--it-ease) var(--it-delay,0s) both}
.it-logo{transition:transform var(--it-fast) var(--it-ease),box-shadow var(--it-fast) var(--it-ease)}
.it-logo:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000026}
.it-card{animation:it-rise .55s var(--it-ease) calc(var(--it-delay,0s) + .1s) both}
.it-form>*{animation:it-rise var(--it-med) var(--it-ease) both}
.it-form>:nth-child(1){animation-delay:calc(var(--it-delay,0s) + .2s)}
.it-form>:nth-child(2){animation-delay:calc(var(--it-delay,0s) + .26s)}
.it-form>:nth-child(3){animation-delay:calc(var(--it-delay,0s) + .32s)}
.it-form>:nth-child(4){animation-delay:calc(var(--it-delay,0s) + .4s)}

/* Type buttons: press feedback + selection pop */
.it-type-grid .device-button{transition:transform var(--it-fast) var(--it-ease),box-shadow var(--it-fast) var(--it-ease),background-color var(--it-fast) ease}
.it-type-grid .device-button:active{transform:scale(.97)}
.it-type-grid .device-button.selected{animation:it-select .3s var(--it-ease)}
@keyframes it-select{0%{transform:scale(.96)}60%{transform:scale(1.04)}100%{transform:scale(1)}}

/* Drop zone */
.it-dropzone-icon{transition:transform .3s var(--it-ease)}
.it-dropzone.dragging{border-color:#063f99;background:#f2f7ff;animation:it-glow 1.2s ease-in-out infinite}
.it-dropzone.dragging .it-dropzone-icon{transform:translateY(-8px) scale(1.08)}
.it-dropzone:not(.has-files):hover .it-dropzone-icon{transform:translateY(-4px)}
@keyframes it-glow{0%,100%{box-shadow:0 0 0 0 #063f9933}50%{box-shadow:0 0 0 8px #063f9914}}
.it-filelist li{animation:it-slide-in .3s var(--it-ease) calc(var(--i,0) * 40ms) both}
@keyframes it-slide-in{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
.browse-button{transition:background-color var(--it-fast) ease,transform var(--it-fast) var(--it-ease)}
.browse-button:active{transform:scale(.97)}

/* Submit: short attention cue when it becomes available */
.it-actions .ar-btn-primary:not(:disabled){animation:it-ready .6s var(--it-ease)}
@keyframes it-ready{0%{transform:scale(.96)}50%{transform:scale(1.04)}100%{transform:scale(1)}}

/* Queue */
.it-queue-bar{margin-bottom:14px}

/* [SPLIT VIEW] Queue: sidebar (files) + report viewer */
.it-card.it-split{max-width:1240px}
.it-split-body{display:grid;grid-template-columns:300px 1fr;gap:18px;align-items:stretch}
.it-side{border:1px solid #e3e3e3;border-radius:14px;background:#f8fafc;overflow:hidden}
.it-side ul{list-style:none;margin:0;padding:6px;max-height:calc(100vh - 360px);min-height:220px;overflow-y:auto}
.it-side li{animation:it-slide-in .3s var(--it-ease) calc(var(--i,0) * 45ms) both}
.it-side-item{width:100%;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;margin:2px 0;padding:10px;text-align:left;font:inherit;font-size:14px;color:#222;background:transparent;border:1px solid transparent;border-left:4px solid transparent;border-radius:10px;cursor:pointer;transition:background-color var(--it-fast) ease,border-color var(--it-fast) ease,transform var(--it-fast) var(--it-ease)}
.it-side-item:hover{background:#eef4fc}
.it-side-item:active{transform:scale(.99)}
.it-side-item.active{background:#ffffff;border-color:#d5e2f3;border-left-color:#063f99;box-shadow:0 2px 8px #063f9914}
.it-side-item.is-processing{background:#f2f7ff}
.it-side-num{color:#888;font-size:13px}
.it-side-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.it-viewer{min-width:0;display:flex;flex-direction:column;border:1px solid #e3e3e3;border-radius:14px;background:#fff;padding:12px;min-height:420px}
.it-viewer-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}
iframe.it-pdf.it-pdf-split{flex:1;height:calc(100vh - 400px);min-height:380px}
.it-viewer-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;color:#444;animation:it-fade .3s ease both}
.it-empty-icon{position:relative;width:72px;height:72px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;border-radius:50%;background:#eef4fc;font-size:30px;font-weight:700}
.it-empty-icon img{width:40px;height:40px;opacity:.85}
.it-empty-icon.spinning::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:3px solid #063f99;border-right-color:transparent;border-bottom-color:transparent;animation:it-spin 1s linear infinite}
.it-empty-icon.err{background:#fdecea;color:#c62828}
.it-empty-title{margin:0 0 6px;font-weight:700;font-size:17px;color:#222;overflow-wrap:anywhere}
.it-empty-text{margin:0;max-width:420px;font-size:14px;color:#555;overflow-wrap:anywhere}
@media (max-width:900px){
.it-split-body{grid-template-columns:1fr}
.it-side ul{max-height:220px;min-height:0}
iframe.it-pdf.it-pdf-split{height:70vh}
}
.it-title-row{display:flex;align-items:center;gap:10px}
.it-title-row h2{margin-bottom:4px}
.it-table tbody tr{animation:it-rise .35s var(--it-ease) calc(var(--i,0) * 45ms) both;transition:background-color .3s ease}
.it-table tbody tr.is-active{background:#f2f7ff}
.it-pill{animation:it-fade .25s ease both}
.it-pill-processing::before{content:"";display:inline-block;width:9px;height:9px;margin-right:6px;vertical-align:-1px;border:2px solid #0a66c2;border-right-color:transparent;border-radius:50%;animation:it-spin .8s linear infinite}
.it-pill-done::before{content:"\2713";margin-right:5px}
.it-pill-error::before{content:"!";margin-right:5px}
.it-pill-done,.it-pill-error{animation:it-select .3s var(--it-ease)}
@keyframes it-spin{to{transform:rotate(360deg)}}
.it-progress-bar.running{background-image:linear-gradient(45deg,#ffffff26 25%,transparent 25%,transparent 50%,#ffffff26 50%,#ffffff26 75%,transparent 75%);background-size:20px 20px;animation:it-stripes .8s linear infinite}
@keyframes it-stripes{to{background-position:20px 0}}
.it-pop{animation:it-select .3s var(--it-ease)}

/* Success check */
.it-check{flex:none}
.it-check-circle{stroke:#1a7f37;stroke-width:3;stroke-dasharray:1;stroke-dashoffset:1;animation:it-draw .5s var(--it-ease) .1s forwards}
.it-check-mark{stroke:#1a7f37;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:it-draw .35s var(--it-ease) .5s forwards}

/* Result */
.it-ready-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#e6f4ea;color:#1a7f37;border-radius:14px;font-size:13px;font-weight:700;white-space:nowrap;animation:it-fade .3s ease .2s both}
iframe.it-pdf{animation:it-fade .5s ease .25s both}
.it-btn:active{transform:scale(.97)}

/* Keyboard focus (accessibility) */
.it-app button:focus-visible,.it-app a:focus-visible,.device-button:focus-visible{outline:3px solid #007bff;outline-offset:2px}

/* Reduced motion: no animations, final state shown immediately */
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
.it-splash,.it-gaze,.it-gaze-loop,.it-scan-flow{display:none}
.it-scan-path{stroke-dashoffset:0}
.it-fix{transform:scale(1)}
}

