:root{--oracle:#c74634;--oracle-dark:#8f2f24;--ink:#202124;--muted:#687078;--line:#e4e7eb;--bg:#f6f7f8;--card:#fff;--ok:#188038;--warn:#b06000;--shadow:0 8px 30px rgba(20,30,40,.08)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink)}a{text-decoration:none;color:inherit}.topbar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand-wrap{max-width:1240px;margin:auto;height:82px;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:14px}.brand img{width:58px;height:58px;object-fit:cover;border-radius:14px;box-shadow:0 2px 8px rgba(0,0,0,.12)}.brand-name{font-size:21px;font-weight:800;letter-spacing:-.02em}.brand-tagline{font-size:12px;color:var(--muted);margin-top:2px}.topbar nav{display:flex;gap:10px;align-items:center}.topbar nav a{padding:10px 14px;border-radius:8px;font-weight:650;color:#3c4043}.topbar nav a:hover{background:#f4f4f4}.primary-nav{background:#fff1ef;color:var(--oracle)!important}.page-shell{max-width:1240px;margin:auto;padding:36px 24px 70px}.hero,.assessment-banner{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:28px}.hero h1,.page-heading h1,.assessment-banner h1{font-size:36px;line-height:1.1;letter-spacing:-.04em;margin:8px 0 10px}.hero p,.page-heading p,.assessment-banner p{color:var(--muted);max-width:760px;line-height:1.65}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--oracle)}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:24px}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.card h2{margin:0 0 18px;font-size:20px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:12px 18px;background:var(--oracle);color:white;font-size:14px;font-weight:750;cursor:pointer;box-shadow:0 4px 14px rgba(199,70,52,.18)}.button:hover{background:var(--oracle-dark)}.button.secondary{background:#fff;color:#3c4043;border:1px solid var(--line);box-shadow:none}.button.disabled{background:#d8dce0;color:#8a9096;box-shadow:none}.button.wide{width:100%;margin-bottom:10px}.muted{color:var(--muted)}.small{font-size:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line);font-size:14px}th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.text-link{color:var(--oracle);font-weight:700}.status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;background:#eef1f4;color:#4a5560}.status.complete{background:#e8f5eb;color:var(--ok)}.status.uploaded,.status.processing{background:#fff3dc;color:var(--warn)}.status.large{padding:9px 14px}.empty-state{text-align:center;padding:54px 20px}.empty-state h3{font-size:22px;margin-bottom:8px}.page-heading{margin-bottom:24px}.form-grid{display:grid;gap:22px}.form-card{position:relative;padding-top:30px}.section-number{position:absolute;right:22px;top:20px;font-size:32px;font-weight:900;color:#eceff2}.fields{display:grid;gap:18px}.two-col{grid-template-columns:1fr 1fr}label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#41464b}input,select,textarea{width:100%;border:1px solid #cfd4da;border-radius:9px;background:#fff;padding:11px 12px;font:inherit;color:#202124;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--oracle);box-shadow:0 0 0 3px rgba(199,70,52,.1)}textarea{resize:vertical}.upload-box{display:grid;grid-template-columns:70px 1fr;gap:18px;border:1px dashed #c6ccd2;border-radius:12px;padding:20px;margin-bottom:16px;background:#fbfbfb}.upload-box p{margin:5px 0 12px;color:var(--muted);font-size:13px}.upload-icon{width:62px;height:62px;border-radius:13px;background:#fff0ee;color:var(--oracle);display:grid;place-items:center;font-weight:900}.upload-icon.osw{background:#eef4ff;color:#325ea8}.callout,.demo-box{background:#fff8f0;border-left:4px solid #e8a456;border-radius:8px;padding:14px 16px;font-size:13px;line-height:1.55}.form-actions{display:flex;justify-content:flex-end;gap:10px}.layout-two{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px}.timeline{display:grid;gap:6px}.timeline-item{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center;padding:11px 0}.timeline-item .dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f0f2f4;color:#899199;font-weight:900}.timeline-item.complete .dot{background:#e7f5eb;color:var(--ok)}.timeline-item.active .dot{background:#fff0ee;color:var(--oracle);box-shadow:0 0 0 5px rgba(199,70,52,.08)}.summary-card dl{display:grid;grid-template-columns:105px 1fr;gap:10px 12px;margin:0}.summary-card dt{color:var(--muted);font-size:12px}.summary-card dd{margin:0;font-size:13px;font-weight:650;word-break:break-word}.summary-card hr{border:0;border-top:1px solid var(--line);margin:20px 0}.summary-card h3{font-size:14px;margin:0 0 12px}.demo-box{margin-top:18px;background:#f5f7fa;border-left-color:#9aa3ad}.demo-box p{margin:5px 0 12px;color:var(--muted)}footer{max-width:1240px;margin:0 auto 30px;padding:0 24px;text-align:center;color:#90969d;font-size:12px}@media(max-width:850px){.brand-tagline{display:none}.topbar nav a:first-child{display:none}.two-col,.layout-two{grid-template-columns:1fr}.hero,.assessment-banner{align-items:flex-start;flex-direction:column}.page-shell{padding-top:24px}.brand-wrap{padding:0 16px}.brand img{width:48px;height:48px}.hero h1,.page-heading h1,.assessment-banner h1{font-size:30px}}
/* CSS AWR AssessIQ v0.3 status additions */
.timeline-item.skipped .dot{background:#eef1f4;color:#687078}
.timeline-item.failed .dot{background:#fde8e7;color:#b3261e}
.progress-box{margin-top:18px;background:#f5f7fa;border-left:4px solid #5f6b76;border-radius:8px;padding:14px 16px;font-size:13px;line-height:1.55}
.progress-box p{margin:5px 0 0;color:var(--muted)}
.error-box{margin-top:18px;background:#fff1f0;border-left:4px solid #b3261e;border-radius:8px;padding:14px 16px;font-size:13px;line-height:1.55}
.error-box p{margin:5px 0 0;color:#7a1c17}
.status.awr_parsing,.status.awr_parsed,.status.normalizing,.status.normalized{background:#fff3dc;color:var(--warn)}
.status.failed{background:#fde8e7;color:#b3261e}
