:root{font-family:Segoe UI,Arial,sans-serif;color:#162235;background:#f3f6f9}*{box-sizing:border-box}body{margin:0}header{height:64px;background:#17324d;color:white;display:flex;align-items:center;padding:0 28px;gap:36px}.brand{font-weight:700;font-size:20px}nav{display:flex;gap:22px;flex:1}nav a{color:#dce8f3;text-decoration:none;font-weight:600}.user{font-size:13px;color:#c4d3df}.container{max-width:1180px;margin:28px auto;padding:0 18px}.pagehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.pagehead h1{margin:0 0 4px}.pagehead p{margin:0;color:#607080}.card{background:white;border:1px solid #dce3ea;border-radius:10px;padding:18px;margin:0 0 18px;box-shadow:0 2px 8px #17324d0d}.cyclehead{display:flex;justify-content:space-between;margin-bottom:12px}.muted{color:#72808e;font-size:12px}.pill{border-radius:999px;padding:5px 10px;background:#eaf0f5;font-size:12px;font-weight:700}.pill.awaitingapproval{background:#fff2cc;color:#725900}.pill.uploaded{background:#dcf5e4;color:#175d30}.pill.failed{background:#fde4e1;color:#8f241d}table{width:100%;border-collapse:collapse}th{text-align:left;color:#536273;font-size:12px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #dbe3ea;padding:9px}td{padding:11px 9px;border-bottom:1px solid #edf1f4;font-size:14px}.primary{background:#1769aa;color:white;border:0;border-radius:6px;padding:10px 16px;font-weight:700;cursor:pointer}.file{font-weight:700;color:#1769aa}.actions{display:flex;justify-content:flex-end;padding-top:16px}.notice{background:#e1f1ff;border:1px solid #b9dcf7;padding:10px 14px;border-radius:7px;margin-bottom:15px}.error{white-space:pre-wrap;background:#fff2f0;color:#84251f;padding:12px;border-radius:6px}.empty{color:#607080}

.auth-card { max-width: 420px; margin: 60px auto; }
.auth-card form, form { display: grid; gap: 10px; }
.auth-card input, form input { padding: 8px; }
.validation { color: #b00020; }
.inline-form { display: inline-flex; gap: 6px; align-items: center; margin-right: 6px; }
.page-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.checkbox { display: flex; gap: 8px; align-items: center; }
