.fyp-section{scroll-margin-top:24px}
.fyp-section-intro{color:var(--muted,#637083);font-size:.9375rem;margin:0 0 16px}
.fyp-guidance{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 18px;padding:16px 18px;border:1px solid #cbdcdd;border-left:4px solid #007f75;border-radius:5px;background:#f1f7f7;color:#223653;font-size:.875rem;line-height:1.5}.fyp-guidance strong{display:block;font-size:.9375rem;margin-bottom:4px}.fyp-guidance p{margin:0;color:#526873}.fyp-guidance-download{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:1px solid #006c64;border-radius:5px;background:#007f75;color:#fff!important;text-decoration:none;font-weight:700;white-space:nowrap}.fyp-guidance-download:hover{background:#00685f}
.fyp-table-wrap{overflow-x:auto;border:1px solid #c3c8cd;border-radius:4px;background:#fff;box-shadow:0 3px 10px rgba(23,32,51,.06)}
.fyp-table{width:100%;min-width:980px;table-layout:fixed;border-collapse:collapse;font-size:.875rem;line-height:1.45}
.fyp-col-student{width:15%}.fyp-col-supervisor{width:17%}.fyp-col-title{width:35%}.fyp-col-presentation{width:11%}.fyp-col-remarks{width:13%}.fyp-col-upload{width:9%}
.fyp-table th{text-align:left;vertical-align:middle;padding:14px 12px;font-size:.875rem;line-height:1.4;font-weight:700;color:#fff;border-bottom:1px solid #a7adb4;border-right:1px solid rgba(255,255,255,.35);white-space:normal;overflow-wrap:break-word}
.fyp-table th:nth-child(1){background:#7765ad}.fyp-table th:nth-child(2){background:#507f2e}.fyp-table th:nth-child(3){background:#007fa8}.fyp-table th:nth-child(4){background:#007f75}.fyp-table th:nth-child(5){background:#c92d2c}.fyp-table th:nth-child(6){background:#ffc400;color:#3d3200}
.fyp-table td{padding:11px 12px;vertical-align:middle;color:#273440;border-bottom:1px solid #c9cdd1;border-right:1px solid #c9cdd1;white-space:pre-line;overflow-wrap:anywhere}
.fyp-table th:last-child,.fyp-table td:last-child{border-right:0}
.fyp-table tbody tr{background:#f5f5f5}.fyp-table tbody tr:nth-child(even){background:#e8e9eb}.fyp-table tbody tr:hover{background:#e0edf1}.fyp-table tbody tr:last-child td{border-bottom:0}
.fyp-table .fyp-student{font-weight:600}.fyp-table .fyp-remarks{font-size:.875rem;color:#45515c}.fyp-table .fyp-presentation-title{font-weight:500;color:#223653}
.fyp-upload{display:inline-flex;align-items:center;justify-content:center;border:1px solid #714191;border-radius:8px;background:#6a3d86;color:#fff!important;font:inherit;font-size:.9375rem;font-weight:700;line-height:1.3;padding:10px 17px;text-decoration:none;cursor:pointer;white-space:nowrap;min-height:42px}.fyp-upload:hover{background:#4f2c69}.fyp-upload:disabled{opacity:.65;cursor:wait}.fyp-download{color:#512b70;font-weight:700;text-decoration:underline;text-underline-offset:3px}.fyp-muted{color:#655975;font-size:.875rem}.fyp-table-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;color:var(--muted,#637083);font-size:.875rem}.fyp-refresh{font:inherit;background:#fff;border:1px solid #c6d1df;color:#082d5b;border-radius:6px;padding:6px 12px;cursor:pointer}.fyp-section a:focus-visible,.fyp-section button:focus-visible,.fyp-form-page :focus-visible{outline:3px solid #dd9e00;outline-offset:3px}.fyp-form-page{margin:0;background:#f3f6fa;color:#172033;font-family:Inter,"Segoe UI",system-ui,Arial,sans-serif;font-size:16px;line-height:1.55}.fyp-form-page *{box-sizing:border-box}.fyp-page-header{background:#082d5b;color:white;padding:17px 24px}.fyp-page-header-inner{max-width:980px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.fyp-page-header a{color:white;text-decoration:none;font-weight:600}.fyp-page-header span{color:#d7e2f0;font-size:.875rem}.fyp-form-wrap{max-width:980px;margin:36px auto 48px;padding:0 24px}.fyp-form-title{margin-bottom:24px}.fyp-term{display:block;color:#694283;text-transform:uppercase;font-weight:700;font-size:.875rem;letter-spacing:.05em}.fyp-form-title h1{font-size:clamp(1.6rem,3vw,2.1rem);line-height:1.25;color:#082d5b;margin:10px 0}.fyp-form-title p{color:#637083;margin:0}.fyp-account{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px;font-size:.9375rem}.fyp-account a,.fyp-help a,.fyp-link,.fyp-current-file a,.fyp-notice a,.fyp-form-actions a{color:#563379;text-underline-offset:3px}.fyp-account a{font-size:.875rem}.fyp-form{background:white;border:1px solid #d8e1ec;border-top:4px solid #ad85c6;border-radius:12px;padding:28px;box-shadow:0 3px 18px rgba(8,45,91,.04)}.fyp-form-intro{margin:0 0 24px;color:#637083;font-size:.9375rem}.fyp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 24px}.fyp-field{min-width:0}.fyp-full{grid-column:1/-1}.fyp-field>label,.fyp-approval legend{display:block;font-size:.9375rem;font-weight:650;color:#223653;margin:0 0 8px}.fyp-field input:not([type=radio]),.fyp-field textarea{display:block;width:100%;border:1px solid #b9c7d8;border-radius:7px;background:#fff;color:#172033;padding:11px 12px;font:inherit;line-height:1.45;min-height:46px}.fyp-field textarea{resize:vertical}.fyp-field small{display:block;font-size:.875rem;line-height:1.45;color:#637083;margin-top:7px}.fyp-file-field{padding:20px;background:#f8f4fb;border:1px dashed #b592cc;border-radius:9px}.fyp-file-field input[type=file]{background:#fff;padding:10px;font-size:.9375rem}.fyp-file-field input::file-selector-button{font:inherit;padding:7px 12px;margin-right:12px;border:0;background:#eadff1;color:#4f2c69;border-radius:5px;cursor:pointer}.fyp-current-file{font-size:.875rem;overflow-wrap:anywhere;margin:10px 0 0}.fyp-approval{border:0;padding:0;margin:0}.fyp-radio-row{display:flex;gap:26px;padding:9px 0}.fyp-radio-row label{display:flex;align-items:center;gap:8px;cursor:pointer}.fyp-radio-row input{width:19px;height:19px;accent-color:#6a3d86;margin:0}.fyp-form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:28px;border-top:1px solid #e0e6ef;padding-top:24px}.fyp-form-actions a{font-size:.9375rem}.fyp-form-actions .fyp-upload{padding:13px 22px}.fyp-form-footer{text-align:center;color:#637083;font-size:.875rem;padding:0 24px 24px}.fyp-notice{padding:16px 18px;border:1px solid;border-radius:8px;margin-bottom:20px}.fyp-error{background:#fff3f2;border-color:#e9aba5;color:#952e26}.fyp-success{background:#edf8f3;border-color:#9bd3b8;color:#17613e}.fyp-help{font-size:.9375rem}#fyp-upload-status{font-size:.875rem;color:#637083}@media(max-width:640px){.fyp-form-wrap{padding:0 16px;margin-top:25px}.fyp-form{padding:20px 16px}.fyp-form-grid{grid-template-columns:1fr;gap:21px}.fyp-file-field{padding:15px}.fyp-page-header{padding:14px 16px}.fyp-form-actions{gap:16px}.fyp-table-footer{align-items:flex-start}.fyp-form-title h1{font-size:1.7rem}}@media(prefers-reduced-motion:reduce){.fyp-form-page{scroll-behavior:auto}}
.fyp-account-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0}.fyp-account-actions button{font:inherit;font-size:.875rem;cursor:pointer;min-height:40px}.fyp-switch-account{color:#563379;background:transparent;border:0;padding:8px 4px;text-decoration:underline;text-underline-offset:3px}.fyp-logout{color:#082d5b;background:#fff;border:1px solid #a6b7cb;border-radius:7px;padding:8px 16px;font-weight:700!important}.fyp-logout:hover{background:#e9eef5;border-color:#082d5b}


/* Compact table controls; the submission form retains its existing sizing. */
.fyp-table .fyp-upload{min-height:36px;padding:7px 10px;border-radius:5px;font-size:.875rem;background:#007f75;border-color:#006c64}
.fyp-table .fyp-upload:hover{background:#00685f}
.fyp-table .fyp-download{color:#006884;font-size:.875rem}
.fyp-table .fyp-muted{font-size:.875rem;color:#58636e}
.fyp-field select{display:block;width:100%;min-height:46px;border:1px solid #b9c7d8;border-radius:7px;background:#fff;color:#172033;padding:11px 12px;font:inherit;line-height:1.45}
.fyp-table td.fyp-remarks-major-revision,.fyp-table td.fyp-remarks-minor-revisions{font-weight:700;white-space:normal;overflow-wrap:normal}
.fyp-table td.fyp-remarks-major-revision{color:#b32624}
.fyp-table td.fyp-remarks-minor-revisions{color:#247334}
