:root { --navy:#00264d; --blue:#466a91; --ink:#061d38; --muted:#557194; --line:#d7dee6; --soft:#f5f8fb; --canvas:#f7f9fb; --green:#137a4a; --red:#b42318; }
* { box-sizing:border-box; }
.masthead { position:relative; display:flex; min-height:104px; align-items:center; justify-content:center; background:#fff; border-bottom:1px solid #dce3eb; }.masthead h1 { margin:0; color:var(--navy); font-size:clamp(1.85rem, 4vw, 2.85rem); line-height:1.15; letter-spacing:-.045em; }.sign-out { position:absolute; right:max(24px, calc((100% - 1080px) / 2)); padding:7px 10px; border:0; color:var(--blue); background:transparent; font:700 .85rem "Segoe UI", Arial, sans-serif; cursor:pointer; }.sign-out:hover { text-decoration:underline; }
.shell { width:min(1080px, calc(100% - 32px)); margin:0 auto; padding:40px 0 72px; }
body { margin:0; min-width:320px; background:var(--canvas); color:var(--ink); font:16px/1.5 "Segoe UI", Arial, sans-serif; }
.page-header { margin:0 0 25px; }.intro { color:var(--muted); font-size:1rem; }
.tool-picker { display:block; width:min(390px, 100%); margin-top:18px; }.tool-picker span { display:block; margin:0 0 7px; color:var(--muted); font-size:.72rem; font-weight:800; letter-spacing:.09em; }.tool-picker select { width:100%; min-height:49px; padding:0 14px; border:1px solid #d3dfe9; border-radius:9px; color:var(--navy); background:#fff; font:600 1rem "Segoe UI", Arial, sans-serif; cursor:pointer; }.tool-picker select:focus { outline:3px solid #bdd6ec; border-color:#466a91; }
h2 { margin:0; color:var(--navy); font-size:1.12rem; letter-spacing:-.025em; }.heading { display:flex; gap:16px; align-items:center; }.icon-tile { display:grid; width:48px; height:48px; border-radius:10px; place-items:center; color:var(--navy); background:#edf3f8; font-size:1.45rem; font-weight:700; }
p { margin:0; }
.card { margin-top:18px; padding:28px 32px; border:1px solid var(--line); border-radius:15px; background:#fff; box-shadow:0 1px 2px #00264d0c; }
.instructions, .section-title-row { display:flex; gap:20px; justify-content:space-between; align-items:center; }
.instructions p, .muted { color:var(--muted); } code { padding:2px 5px; border-radius:4px; background:#eef3f7; font: .9em Consolas, monospace; }
.text-button { margin:12px 0 0; padding:0; border:0; color:var(--blue); background:transparent; font:700 .9rem "Segoe UI", Arial, sans-serif; cursor:pointer; }.text-button:hover { text-decoration:underline; }.format-details { margin-top:15px; padding:15px 17px; border-left:3px solid #c8d9e8; border-radius:0 8px 8px 0; background:#f7fafc; }.format-details ul { margin:0; padding-left:19px; color:var(--muted); }.format-details li + li { margin-top:4px; }.format-details pre { margin:15px 0 11px; padding:11px; overflow:auto; border:1px solid #dce6ee; border-radius:7px; background:#fff; font-size:.8rem; line-height:1.55; }.format-details pre code { padding:0; background:transparent; }.format-note { color:var(--ink) !important; font-size:.9rem; }.format-warning { margin-top:12px; color:#694b1d !important; font-size:.9rem; }
.drop-zone { display:flex; min-height:188px; margin-top:22px; padding:26px; border:2px dashed #d6e1ee; border-radius:13px; align-items:center; justify-content:center; flex-direction:column; text-align:center; cursor:pointer; transition:.15s ease; }.drop-zone:hover, .drop-zone:focus-within, .drop-zone.drag-active { border-color:var(--blue); background:#f7fbff; }.drop-zone.drag-active { box-shadow:inset 0 0 0 2px #d9eafb; }.drop-zone input { position:absolute; width:1px; height:1px; opacity:0; }.upload-icon { display:grid; width:54px; height:54px; border-radius:50%; place-items:center; color:#a8bdd1; background:#f4f7fa; font-size:28px; font-weight:bold; }.drop-title { margin-top:11px; color:var(--navy); font-size:.9rem; font-weight:800; }.drop-help { max-width:500px; margin-top:5px; color:var(--muted); font-size:.83rem; }
.dont-override-option { display:flex; gap:11px; margin-top:17px; padding:13px 14px; border:1px solid #d7e2ec; border-radius:9px; align-items:flex-start; color:var(--ink); background:#f8fbfd; cursor:pointer; }.dont-override-option input { width:18px; height:18px; margin:2px 0 0; accent-color:#466a91; }.dont-override-option strong, .dont-override-option small { display:block; }.dont-override-option strong { font-size:.92rem; }.dont-override-option small { margin-top:2px; color:var(--muted); font-size:.84rem; }.file-message { min-height:24px; margin-top:12px; color:var(--muted); font-size:.92rem; }.file-message.error { color:var(--red); }.file-message.success { color:var(--green); }
.button { border:0; border-radius:9px; padding:12px 18px; font:inherit; font-size:.84rem; font-weight:750; letter-spacing:.035em; cursor:pointer; }.primary { width:100%; margin-top:20px; color:#fff; background:#8397aa; box-shadow:0 3px 5px #00264d22; }.primary:hover:not(:disabled) { background:#466a91; }.secondary { color:var(--navy); border:1px solid #c7d3de; background:#fff; }.secondary:hover:not(:disabled) { background:var(--soft); }.button:disabled { cursor:not-allowed; opacity:.5; }
.status-card { border-left:1px solid var(--line); }.status-heading-row { display:flex; align-items:center; }.status-heading-row .badge { margin-left:4px; }.badge { flex:0 0 auto; border-radius:999px; padding:5px 10px; font-size:.8rem; font-weight:700; }.neutral { color:#455563; background:#e7edf2; }.ready { color:#075f37; background:#dff5e9; }.warning { color:#815500; background:#fff0c2; }
.job-details { display:grid; grid-template-columns:1fr 1fr 1.35fr; gap:18px; margin:22px 0 0; padding-top:18px; border-top:1px solid var(--line); }.job-details div { min-width:0; }.job-details dt { color:var(--muted); font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }.job-details dd { margin:2px 0 0; overflow-wrap:anywhere; font-family:Consolas, monospace; font-size:.9rem; }.job-details .request-status-detail { color:var(--muted); font-family:"Segoe UI", Arial, sans-serif; }
.results-panel { margin-top:22px; padding-top:22px; border-top:1px solid var(--line); }.results-summary { display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; margin:22px 0 16px; }.result-stat { min-height:104px; padding:17px 18px; border:1px solid var(--line); border-radius:11px; background:var(--soft); }.result-value { display:block; font-size:1.85rem; font-weight:800; line-height:1.1; letter-spacing:-.04em; }.result-label { display:block; margin-top:7px; color:var(--muted); font-size:.82rem; font-weight:700; }.success-stat { border-color:#ccebd9; background:#f0fbf5; }.success-stat .result-value { color:var(--green); }.failed-stat { border-color:#f2d1cd; background:#fff6f5; }.failed-stat .result-value { color:var(--red); }.protected-stat { border-color:#d7e4f1; background:#f3f8fc; }.protected-stat .result-value { color:#365f87; }.pending-stat { border-color:#d8e0e7; background:#f6f8fa; }.pending-stat .result-value { color:#455563; }
.future-workspace { min-height:205px; }.future-workspace p { margin:23px 0 0; color:var(--muted); }
.login-page { min-height:100vh; background:radial-gradient(circle at 15% 5%, #eaf3ff 0, transparent 32rem), var(--canvas); }.auth-shell { display:grid; min-height:100vh; padding:32px 18px; place-items:center; }.auth-card { width:min(100%, 490px); padding:30px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 16px 45px rgba(19,51,88,.08); }.brand { display:flex; gap:12px; align-items:center; }.brand-mark { display:grid; width:40px; height:40px; border-radius:8px; place-items:center; color:#fff; background:#0662b8; }.brand-mark svg { width:22px; height:22px; }.eyebrow, .field-label { margin:0; color:#44658d; font:800 11px Arial, sans-serif; letter-spacing:.06em; text-transform:uppercase; }.brand-name { margin:1px 0 0; color:var(--ink); font:800 20px Georgia, serif; letter-spacing:-.02em; }.rule { height:1px; margin:23px 0 17px; background:#e6edf5; }.notice { display:flex; gap:10px; align-items:flex-start; padding:12px 13px; border:1px solid #cde1fb; border-radius:8px; color:#074b91; background:#ebf4ff; font:700 12px/1.35 Arial, sans-serif; }.notice > :first-child { flex:0 0 auto; font-size:16px; line-height:1; }.auth-copy { margin:29px 0 21px; }.auth-copy h1 { margin:5px 0 7px; color:var(--ink); font:28px/1.08 Georgia, serif; letter-spacing:-.035em; }.auth-copy p:last-child { margin:0; color:#536b8d; font:15px/1.5 Arial, sans-serif; }.field-label { display:block; margin-bottom:7px; }.auth-input { width:100%; height:43px; padding:0 12px; border:1px solid #becde0; border-radius:5px; color:var(--ink); background:#fff; font:16px Arial, sans-serif; }.auth-input:focus, .otp-slot:focus { outline:0; border-color:#0662b8; box-shadow:0 0 0 1px #0662b8; }.primary-action { display:flex; width:100%; height:43px; margin-top:18px; border:0; border-radius:5px; align-items:center; justify-content:center; gap:7px; color:#fff; background:#152b48; font:800 12px Arial, sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }.primary-action:hover:not(:disabled) { background:#203958; }.primary-action:disabled { cursor:wait; opacity:.7; }.button-lock { width:16px; height:16px; }.auth-error { margin:9px 0 0; color:#a12734; font:13px Arial, sans-serif; }.otp-group { display:flex; justify-content:space-between; gap:7px; margin-top:25px; }.otp-slot { width:100%; min-width:0; height:48px; border:1px solid #becde0; border-radius:5px; color:var(--ink); background:#fff; font:700 20px Arial, sans-serif; text-align:center; }.auth-card .text-button { display:block; margin:16px auto 0; border:0; color:#0662b8; background:transparent; font:700 13px Arial, sans-serif; cursor:pointer; }.auth-card .text-button:hover { text-decoration:underline; }
@media (max-width:620px) { .masthead { min-height:88px; padding:0 16px; text-align:center; }.shell { width:min(100% - 24px, 920px); padding-top:28px; }.card { padding:21px; }.instructions, .section-title-row { align-items:flex-start; flex-direction:column; }.job-details, .results-summary { grid-template-columns:1fr; gap:12px; }.button { width:100%; }.auth-card { padding:25px 21px; }.otp-group { gap:4px; } }
