.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#f0f2f5}.login-card{width:500px;box-shadow:0 4px 12px #00000026}.demo-credentials{margin-top:20px;padding:10px;background:#f5f5f5;border-radius:4px;font-size:12px}.calendar-cell{width:100%;height:100%;display:flex;flex-direction:column;transition:all .3s ease}.deadline-cell{background-color:#ff4d4f!important;color:#fff!important;font-weight:700;box-shadow:0 2px 4px #ff4d4f4d}.event-cell{transition:all .3s ease}.event-cell:hover{transform:scale(1.02);box-shadow:0 2px 8px #00000026}.ant-picker-calendar-date.ant-picker-calendar-date-disabled{background-color:#1890ff!important;color:#fff!important;cursor:not-allowed!important;opacity:.8!important}.ant-picker-calendar-date.ant-picker-calendar-date-disabled .ant-picker-calendar-date-value{color:#fff!important;font-weight:700!important}.ant-picker-calendar-date.ant-picker-calendar-date-disabled:hover{background-color:#1890ff!important;transform:none!important;box-shadow:none!important}.deadline-cell .ant-picker-calendar-date-value,.event-cell .ant-picker-calendar-date-value{color:#fff!important;font-weight:700!important;font-size:24px!important}.ant-picker-calendar-date .calendar-cell.deadline-cell{background-color:#ff4d4f!important}.ant-picker-calendar-date .calendar-cell.event-cell{background-color:var(--event-color)!important}.ant-picker-calendar-date .calendar-cell .ant-picker-calendar-date-value{color:#fff!important;font-weight:700!important;font-size:24px!important;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.events{flex:1;display:flex;flex-direction:column;justify-content:flex-start}.events li{font-size:11px;line-height:1.2}.ant-picker-calendar-date{position:relative}.ant-picker-calendar-date-content{height:100%}.calendar-cell .ant-badge{width:100%}.calendar-cell .ant-badge-status-text{font-size:10px;line-height:1.2;word-break:break-word}.calendar-scroll-container{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-ms-overflow-style:scrollbar}.calendar-scroll-container::-webkit-scrollbar{height:8px}.calendar-scroll-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.calendar-scroll-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.calendar-scroll-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.action-buttons-container{display:flex;gap:16px;align-items:center;min-width:fit-content;padding:10px 0}.action-buttons-container .ant-btn{flex-shrink:0;white-space:nowrap}@media (max-width: 768px){.ant-picker-calendar{min-width:800px!important}.ant-picker-calendar .ant-picker-calendar-date{width:100px!important;min-width:120px!important}.action-buttons-container{gap:12px}.action-buttons-container .ant-btn{min-width:180px;font-size:1.2rem!important}}.iup-container{max-width:1200px;margin:0 auto;padding:0}.iup-stats-card{transition:all .3s ease;cursor:pointer}.iup-stats-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.iup-stage-form .ant-card{border-radius:8px;transition:all .3s ease}.iup-stage-form .ant-card:hover{box-shadow:0 4px 12px #00000014}.iup-progress-circle{text-align:center;padding:20px}.iup-topic-cards .ant-card{height:100%;transition:all .3s ease}.iup-topic-cards .ant-card:hover{transform:translateY(-2px)}.iup-status-tag{font-weight:500;border-radius:4px;padding:4px 8px}.iup-supervisor-edits{background:linear-gradient(135deg,#fff7e6,#fff2d9);border-left:4px solid #faad14;padding:16px;border-radius:8px;margin:16px 0}.iup-actions{text-align:center;padding:24px;background:#fafafa;border-radius:8px;margin-top:24px}.iup-actions .ant-btn{margin:0 8px;min-width:140px;height:40px;font-weight:500;border-radius:6px}.iup-filters{background:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:24px}.iup-history .ant-timeline-item-content{margin-left:16px}@media (max-width: 768px){.iup-container{padding:0 16px}.iup-topic-cards .ant-col{margin-bottom:16px}.iup-actions .ant-btn{width:100%;margin:8px 0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.iup-fade-in{animation:fadeInUp .5s ease-out}.status-not-started{color:#8c8c8c}.status-in-progress{color:#1890ff}.status-submitted{color:#faad14}.status-supervisor-review{color:#fa8c16}.status-supervisor-approved{color:#52c41a}.status-admin-review{color:#722ed1}.status-admin-approved{color:#52c41a}.status-completed{color:#389e0d}.status-rejected{color:#ff4d4f}.iup-card{border-radius:12px;box-shadow:0 2px 8px #0000000f;border:1px solid #f0f0f0;transition:all .3s ease}.iup-card:hover{box-shadow:0 6px 20px #0000001a;border-color:#d9d9d9}.iup-section-title{font-size:18px;font-weight:600;color:#262626;margin-bottom:16px;display:flex;align-items:center;gap:8px}.iup-section-title .anticon{color:#1890ff}.iup-students-table{box-shadow:0 2px 8px #0000000f;border-radius:8px;overflow:hidden}.iup-students-table .ant-table-thead>tr>th{background:#fafafa;border-bottom:2px solid #f0f0f0;font-weight:600;color:#262626;padding:12px 8px}.iup-students-table .ant-table-tbody>tr>td{padding:12px 8px;border-bottom:1px solid #f5f5f5}.iup-students-table .ant-table-tbody>tr:hover>td{background:#f8f9ff}.iup-students-table .ant-table-tbody>tr:last-child>td{border-bottom:none}@media (max-width: 768px){.iup-students-table .ant-table-thead>tr>th:nth-child(2),.iup-students-table .ant-table-tbody>tr>td:nth-child(2){display:none}.iup-students-table .ant-table-thead>tr>th:nth-child(6),.iup-students-table .ant-table-tbody>tr>td:nth-child(6){display:none}.iup-students-table .ant-table-thead>tr>th:nth-child(7),.iup-students-table .ant-table-tbody>tr>td:nth-child(7){display:none}}@media (max-width: 576px){.iup-students-table .ant-table-thead>tr>th:nth-child(4),.iup-students-table .ant-table-tbody>tr>td:nth-child(4){display:none}.iup-students-table .ant-table-thead>tr>th:nth-child(5),.iup-students-table .ant-table-tbody>tr>td:nth-child(5){display:none}}.application-template{box-shadow:0 4px 12px #00000026!important;border-radius:8px!important;overflow:hidden;margin:20px 0}.application-template .ant-card-body{padding:0!important}.application-template .ant-card{border:2px solid #d9d9d9!important}.application-template:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#1890ff,#40a9ff);z-index:1}.application-template span[style*=background]{padding:2px 6px!important;border-radius:3px!important;font-weight:700!important;background-color:#fff3cd!important;border:1px solid #ffeaa7!important;color:#856404!important}@media (max-width: 768px){.application-template{margin:10px -20px;border-radius:0!important}.application-template .ant-card{border-left:none!important;border-right:none!important}}.iup-pc-mode{background:#f0f2f5!important;min-height:100vh}.iup-pc-mode .iup-container{max-width:1400px;margin:0 auto;padding:20px}.iup-pc-mode .iup-card{box-shadow:0 4px 16px #0000001a!important;border-radius:12px!important;margin-bottom:24px}.iup-pc-mode .ant-layout-content{background:#f0f2f5!important;padding:0!important}.iup-pc-mode .ant-card-head{background:linear-gradient(135deg,#1890ff,#40a9ff)!important;color:#fff!important;border-radius:12px 12px 0 0!important}.iup-pc-mode .ant-card-head-title{color:#fff!important;font-weight:600!important}.iup-pc-mode .ant-card-head .anticon,.iup-pc-mode .ant-card-extra{color:#fff!important}.iup-pc-mode .ant-card-body{padding:32px!important;background:#fff}.application-scroll-container{position:relative;overflow-x:auto;overflow-y:hidden;padding:20px 0;margin:24px 0;background:linear-gradient(90deg,rgba(24,144,255,.1) 0%,transparent 10%,transparent 90%,rgba(24,144,255,.1) 100%);border-radius:12px;box-shadow:inset 0 2px 8px #0000001a}.application-scroll-container:before,.application-scroll-container:after{content:"";position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;background:#1890ffcc;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:10;box-shadow:0 2px 8px #0003;transition:all .3s ease}.application-scroll-container:before{left:10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:16px}.application-scroll-container:after{right:10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:16px}.application-scroll-container:not(.scrollable):before,.application-scroll-container:not(.scrollable):after{display:none}.application-scroll-container .application-template{min-width:800px;width:800px;margin:0 auto;box-shadow:0 8px 24px #0003!important;border-radius:12px!important;background:#fff!important;flex-shrink:0}.application-scroll-container .application-template .ant-card{border:3px solid #1890ff!important;border-radius:12px!important;min-width:800px;width:800px}.iup-pc-mode .application-scroll-container{background:linear-gradient(90deg,rgba(24,144,255,.15) 0%,transparent 15%,transparent 85%,rgba(24,144,255,.15) 100%);box-shadow:inset 0 4px 16px #0000001a;border-radius:16px;padding:32px 0}.iup-pc-mode .application-scroll-container:before,.iup-pc-mode .application-scroll-container:after{width:40px;height:40px;background:linear-gradient(135deg,#1890ff,#40a9ff);box-shadow:0 4px 12px #1890ff4d}.iup-pc-mode .application-scroll-container:before{left:20px}.iup-pc-mode .application-scroll-container:after{right:20px}.application-scroll-hint{text-align:center;margin-bottom:16px;padding:12px 20px;background:linear-gradient(135deg,#e6f7ff,#bae7ff);border:1px solid #91d5ff;border-radius:8px;color:#0050b3;font-size:14px;font-weight:500;box-shadow:0 2px 8px #1890ff1a}.application-scroll-hint:before{content:"↔️ ";margin-right:8px}.application-scroll-controls{display:flex;justify-content:center;gap:12px;margin-bottom:16px}.application-scroll-controls .ant-btn{border-radius:50%!important;width:48px!important;height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 2px 8px #0000001a!important;transition:all .3s ease!important}.application-scroll-controls .ant-btn:hover:not(:disabled){transform:translateY(-2px)!important;box-shadow:0 4px 12px #1890ff4d!important}.application-scroll-controls .ant-btn:disabled{opacity:.3!important;cursor:not-allowed!important}.iup-pc-mode .application-scroll-controls .ant-btn{width:56px!important;height:56px!important;font-size:18px!important;box-shadow:0 4px 16px #00000026!important}.iup-pc-mode .application-scroll-controls .ant-btn:hover:not(:disabled){transform:translateY(-3px)!important;box-shadow:0 6px 20px #1890ff66!important}@keyframes pulse{0%{transform:translateY(-50%) scale(1)}50%{transform:translateY(-50%) scale(1.1)}to{transform:translateY(-50%) scale(1)}}.application-scroll-container.scrolling:before,.application-scroll-container.scrolling:after{animation:pulse .6s ease-in-out}@media (max-width: 768px){.application-scroll-container{margin:16px -20px;padding:16px 0;border-radius:0}.application-scroll-container:before,.application-scroll-container:after{width:24px;height:24px;background-size:12px}.application-scroll-container:before{left:8px}.application-scroll-container:after{right:8px}.application-scroll-hint{margin:0 20px 16px;font-size:12px}}.iup-pc-mode .iup-progress-circle{background:#fff;border-radius:12px;padding:32px;box-shadow:0 4px 16px #0000001a}.iup-pc-mode .iup-actions{background:linear-gradient(135deg,#f8f9fa,#e9ecef)!important;border-radius:12px!important;padding:32px!important;box-shadow:0 4px 16px #0000001a!important}.iup-pc-mode .iup-actions .ant-btn{min-width:160px!important;height:48px!important;font-size:16px!important;font-weight:600!important;border-radius:8px!important;box-shadow:0 2px 8px #0000001a!important}.iup-pc-mode .iup-actions .ant-btn-primary{background:linear-gradient(135deg,#1890ff,#40a9ff)!important;border:none!important}.iup-pc-mode .iup-actions .ant-btn-primary:hover{background:linear-gradient(135deg,#40a9ff,#69c0ff)!important;transform:translateY(-2px)!important;box-shadow:0 4px 12px #1890ff4d!important}.iup-pc-mode .ant-alert{border-radius:12px!important;box-shadow:0 2px 8px #0000001a!important;margin-bottom:24px!important}.iup-pc-mode .ant-alert-success{background:linear-gradient(135deg,#f6ffed,#d9f7be)!important;border:2px solid #52c41a!important;font-weight:500!important}.iup-pc-mode .ant-alert-success .ant-alert-message{font-size:16px!important;font-weight:600!important;color:#389e0d!important}.iup-pc-mode .ant-alert-success .ant-alert-description{font-size:14px!important;color:#52c41a!important}@media (max-width: 1200px){.iup-pc-mode .iup-container{max-width:100%;padding:16px}}@media (max-width: 768px){.iup-pc-mode .iup-container{padding:12px}.iup-pc-mode .ant-card-body,.iup-pc-mode .iup-actions{padding:20px!important}.iup-pc-mode .iup-actions .ant-btn{min-width:120px!important;height:40px!important;font-size:14px!important}}@media print{.application-template{border:none!important;box-shadow:none!important;background:#fff!important;page-break-inside:avoid}.application-template .ant-card{border:1px solid #000!important}.application-template span[style*=background]{background-color:transparent!important;border:1px solid #000!important;color:#000!important}}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}
