@import "https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css";
:root{--primary-color:#333;--secondary-color:#d90404;--accent-color:#279;--link-color:#369;--background-color:#f5f5f5;--border-color:#ddd;--text-color:#333;--light-text-color:#666;--white:#fff;--blue:#1e7bbb}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text-color);background:url(/img/body_bg.gif) repeat-x;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}.page-about h2{margin:0;padding:20px 0 10px;font-size:30px;font-weight:500}.page-about p{margin:0 0 10px;font-size:13px;line-height:1.5}.bread-crumbs{color:#555;text-transform:uppercase;flex-wrap:wrap;align-items:center;margin-bottom:10px;padding-top:12px;font-size:12px;display:flex}.bread-crumbs h2{color:#555;text-transform:uppercase;float:left;margin:0;padding:0 3px 0 0;font-size:12px;font-weight:400;line-height:1.5em}.bread-crumbs h2,.bread-crumbs>p{display:inline}.bread-crumbs a{color:var(--link-color);text-decoration:none}.bread-crumbs a:hover{text-decoration:underline}.bread-crumbs .ellipsis{white-space:nowrap;text-overflow:ellipsis;max-width:400px;margin-top:-.4em;display:inline-block;position:relative;top:.4em;overflow:hidden}.table{text-align:left;border-spacing:0;border-collapse:collapse;width:100%;margin-bottom:10px;display:table;overflow-x:auto}.table thead{vertical-align:middle;border-color:inherit;display:table-header-group}.table tr{vertical-align:inherit;border-bottom:1px solid var(--border-color);white-space:nowrap;display:table-row}.table th{border-bottom:2px solid var(--border-color);white-space:nowrap;padding:8px;font-weight:700}.table td{padding:8px}.table a{color:var(--link-color);cursor:pointer;text-decoration:none}.table a:hover{text-decoration:underline}.form-wrapper{padding:24px}.form-wrapper>div{flex-direction:column;display:flex}.lable{color:var(--white);font-size:16px;font-weight:300;line-height:inherit;margin-bottom:5px}.input{color:#181d26;border:2px solid var(--blue);border-radius:3px;margin-bottom:20px;padding:10px;font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:300}.input:focus{background-color:#fbf8db;outline:none}.login-button{border:2px solid var(--white);color:var(--white);cursor:pointer;letter-spacing:0;text-align:center;background:0 0;border-radius:5px;width:auto;height:44px;margin:0 auto;padding:0 24px;font-size:18px;line-height:40px;text-decoration:none;transition:all .2s linear;display:inline-block}.login-button:hover{background-color:#ffffff1a}.upload-wrapper{border:1px solid #aaa;border-radius:3px;min-width:550px;margin-bottom:40px;line-height:21px;box-shadow:0 1px 2px #888}.upload-header-wrapper{background-color:#f8f8f8;background-image:linear-gradient(#fff,#eee);border-color:#0000001a #0000001a #acacac;border-bottom-style:solid;border-bottom-width:1px;border-radius:4px 4px 0 0;justify-content:space-between;align-items:center;padding:15px 25px;display:flex}.upload-header-label{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;line-height:36px}.upload-header-span{color:#0090ff;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;line-height:36px}.steps{float:right;text-transform:uppercase;color:#777;margin-top:8px;display:block}.steps-label{margin-right:3px}.step{border:1px solid #888;border-radius:10px;width:13px;height:13px;margin-left:1px;display:inline-block;position:relative;top:2px}.step1,.step-active{background:#bbb}.upload-content{border-bottom:1px solid #b1b1b1;padding:25px 35px}.upload-from label{color:#333;margin-bottom:5px;font-size:13px;font-weight:400;line-height:18px;display:block}.upload-from input{color:#555;vertical-align:middle;box-sizing:border-box;background-color:#fff;background-image:none;border:1px solid #bbb;border-radius:4px;width:380px;padding:8px 6px;font-family:arial,verdana,helvetica,sans-serif;font-size:16px;font-weight:400;line-height:18px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:block;box-shadow:inset 0 1px 1px #00000013}.upload-from input:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px #00000013,0 0 8px #66afe999}.upload-from .form-group{margin-bottom:15px}.note-info{background-color:#f0f7fd;border-color:#d0e3f0;border-left-style:solid;border-left-width:5px;margin:20px 0;padding:15px 30px 15px 15px;font-weight:300}.note-info p{margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;line-height:18px}.upload-file-button{color:#333;min-width:25px;text-shadow:none;cursor:pointer;background-color:#f5f5f5;background-image:linear-gradient(#fff,#e6e6e6);border:1px solid #ccc;border-radius:4px;padding:5px 15px;line-height:19px;text-decoration:none;display:inline-block}.upload-file-button:hover{background-color:#e6e6e6;background-image:linear-gradient(#e6e6e6,#d9d9d9)}.file-select{display:none!important}.file-select-wrapper{margin:15px 0}.file-selected-box{background:#fff;border:1px solid #ccc;border-radius:4px;align-items:center;padding:8px 12px;display:flex}.selected-filename{color:#333;flex:1;font-size:13px}.clear-file-btn{color:#333;cursor:pointer;background-color:#f5f5f5;background-image:linear-gradient(#fff,#e6e6e6);border:1px solid #ccc;border-radius:4px;padding:4px 12px;font-size:12px}.clear-file-btn:hover{background-color:#e6e6e6;background-image:linear-gradient(#e6e6e6,#d9d9d9)}.link-blue{color:#1e7bbb;font-size:13px;text-decoration:none}.link-blue:hover{text-decoration:underline}.tip{margin:0 0 9px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:18px}.upload-footer{background:#f5f5f5;border-top:1px solid #d7d7d7;border-radius:0 0 4px 4px;padding:15px 25px}.upload-footer .text{margin:30px 0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;line-height:18px}.submit-button{min-width:25px;box-shadow:none;color:var(--white);cursor:pointer;background-color:#2fa0fc;background-image:linear-gradient(#3ca8fc,#1c93fc);border:1px solid #0000001a;border-radius:4px;margin-right:5px;padding:5px 15px;font-size:14px;line-height:19px}.submit-button:hover{background-color:#1c93fc;background-image:linear-gradient(#1c93fc,#0f86f5)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.upload-message{text-shadow:0 1px #ffffff80;color:#b94a48;background-color:#f2dede;border-color:#eed3d7;border-radius:4px;margin-bottom:18px;padding:8px 35px 8px 14px}.upload-message.success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.point{cursor:pointer}.point:hover{text-decoration:underline}.topline{border-bottom:5px solid var(--secondary-color);border-top:5px solid var(--primary-color);outline:0!important}.global-options{background-color:var(--primary-color);float:right;width:auto;height:25px;color:var(--white);border-radius:0 0 7px 7px;margin-top:-8px;margin-right:25px;padding:0 15px}.global-options>div{color:var(--white);margin-top:2px;line-height:20px}.global-options>div>span{margin:0 5px;display:inline-block}.global-options>div>span:not(:last-child):after{content:"|";margin-left:5px}.global-options>div>span>a{color:var(--white);opacity:1;cursor:pointer;padding:0 5px;font-size:14px;text-decoration:none}.global-options>div>span>a:hover{opacity:.8}.masthead{background:url(/img/top_bg_repeat.gif) top repeat-x}.masthead>h1{height:90px;margin:0;padding:20px 0 0 30px;font-size:36px;display:block}.tabs{border-bottom:3px solid var(--accent-color)}.tabs>ul{white-space:nowrap;flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tabs>ul>li{background:#e6e6e6;border-radius:5px 5px 0 0;margin:0 10px 0 0;list-style:none;display:inline-block}.tabs>ul>li>a{color:var(--light-text-color);cursor:pointer;padding:0 15px;line-height:30px;text-decoration:none;display:inline-block}.tabs>ul>li:hover{background:#ddd}.tabs>ul>li:hover>a{color:var(--text-color)}.tabs>ul>li.active{background:var(--accent-color)}.tabs>ul>li.active>a{color:var(--white)}.public-footer{clear:both;background:var(--background-color);text-align:center;border-radius:10px;margin:20px;padding:10px}.public-footer span{color:var(--light-text-color);margin:0;font-size:77%}.public-footer a{color:var(--link-color);text-decoration:none}.public-footer a:hover{text-decoration:underline}.public-footer ul{padding:0;list-style:none;display:inline-block}.public-footer ul>li{margin:0 5px;display:inline}.main-wrapper{color:var(--text-color);background:url(/img/body_bg.gif) repeat-x;padding:0 40px 100px;font-size:14px}.content{max-width:1280px;min-height:700px;margin:0 auto;padding:20px}.login-container{width:100%;min-height:100dvh;flex-direction:column;justify-content:center;align-items:center;min-height:-webkit-fill-available;display:flex}.login-form{color:#fff;background-color:#1e7bbb;width:100%;max-width:500px;margin:0 auto;padding:20px}.login-form h1{background:0 0;border-bottom:none;margin:0;padding:0;font-family:Roboto,sans-serif;font-size:36px;font-weight:300}.login-form .privacy-link{color:#fff;font-family:Roboto,sans-serif;font-size:14px;font-weight:300;text-decoration:none}.login-form .privacy-text{color:#fff;font-family:Roboto,sans-serif;font-size:14px;font-weight:300}.process-steps{padding:20px 0}.process-step{background:#f8f8f8;border:1px solid #ddd;border-radius:4px;align-items:center;margin-bottom:10px;padding:15px;display:flex}.process-step-icon{color:#666;background:#ddd;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-right:15px;font-weight:700;display:flex}.process-step.running{background:#e8f4fd;border-color:#b8daff}.process-step.running .process-step-icon{color:#fff;background:#007bff}.process-step.success{background:#d4edda;border-color:#c3e6cb}.process-step.success .process-step-icon{color:#fff;background:#28a745}.process-step.error{background:#f8d7da;border-color:#f5c6cb}.process-step.error .process-step-icon{color:#fff;background:#dc3545}.process-step-content{flex:1}.process-step-title{color:#333;font-weight:500}.process-step-status{color:#666;margin-top:3px;font-size:12px}.process-status-header{color:#31708f;background:#d9edf7;border:1px solid #bce8f1;margin-bottom:20px;padding:12px 15px;font-size:14px}.process-status-header.confirm{color:#31708f;background:#d9edf7;border-color:#bce8f1}.process-status-header.success{color:#3c763d;background:#dff0d8;border-color:#d6e9c6}.process-main{gap:30px;padding:10px 0;display:flex}.process-info{flex:0 0 200px;min-width:200px}.process-info .info-item{margin-bottom:12px}.process-info .info-label{color:#666;font-size:12px;font-weight:700;display:block}.process-info .info-value{color:#333;margin-top:2px;font-size:13px;display:block}.process-preview{flex:1;min-width:250px}.preview-loading{text-align:center;background:#fafafa;border:1px solid #ddd;padding:40px 20px}.preview-loading p{color:#666;margin-top:15px;font-size:12px}.loading-spinner{border:3px dotted #333;border-radius:50%;width:50px;height:50px;margin:0 auto;animation:2s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.preview-image{border:1px solid #ddd}.preview-nav{background:#f5f5f5;border-bottom:1px solid #ddd;justify-content:center;align-items:center;gap:10px;padding:8px;display:flex}.preview-nav button{cursor:pointer;background:#fff;border:1px solid #ccc;padding:2px 8px;font-size:12px}.preview-nav button:disabled{opacity:.5;cursor:not-allowed}.preview-nav span{color:#666;font-size:12px}.preview-container{background:#fff;justify-content:center;align-items:center;min-height:350px;padding:15px;display:flex}.preview-container img{border:1px solid #ddd;max-width:100%;max-height:400px;box-shadow:0 2px 8px #00000026}.spinner{border:2px solid #f3f3f3;border-top-color:#007bff;border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin}.result-cards{grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:30px;display:grid}.result-card{color:#fff;text-align:center;border-radius:8px;padding:25px}.result-card.similarity{background:linear-gradient(135deg,#2196f3,#1976d2)}.result-card.ai{background:linear-gradient(135deg,#9c27b0,#7b1fa2)}.result-card-label{opacity:.9;margin-bottom:10px;font-size:14px}.result-card-value{font-size:48px;font-weight:700}.result-card-desc{opacity:.8;margin-top:5px;font-size:12px}.report-buttons{grid-template-columns:repeat(2,1fr);gap:15px;display:grid}.report-card{border:1px solid #ddd;border-radius:8px;padding:20px}.report-card h4{color:#333;margin:0 0 15px}.report-btn{cursor:pointer;text-align:center;border:none;border-radius:4px;width:100%;padding:10px 15px;font-size:14px;text-decoration:none;display:block}.report-btn.primary{color:#fff;background:#007bff}.report-btn.primary:hover{background:#0056b3}.report-btn.success{color:#fff;background:#28a745;margin-top:10px}.report-btn.success:hover{background:#1e7e34}.status-badge{border-radius:12px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-block}.status-badge.created{color:#495057;background:#e9ecef}.status-badge.assigned{color:#004085;background:#cce5ff}.status-badge.student_created{color:#0c5460;background:#d1ecf1}.status-badge.uploaded{color:#563d7c;background:#e2d5f1}.status-badge.submitted{color:#856404;background:#fff3cd}.status-badge.scored{color:#155724;background:#d4edda}.status-badge.deleted{color:#721c24;background:#f8d7da}.info-box{border:1px solid #ddd;border-radius:8px;margin-bottom:20px;padding:20px}.info-box h3{color:#333;align-items:center;margin:0 0 15px;font-size:16px;display:flex}.info-box h3 svg{margin-right:8px}.info-row{border-bottom:1px solid #f0f0f0;justify-content:space-between;padding:10px 0;display:flex}.info-row:last-child{border-bottom:none}.info-label{color:#666;font-size:13px}.info-value{color:#333;font-weight:500}.preview-box{border:1px solid #ddd;border-radius:8px;padding:15px}.preview-box h3{color:#333;margin:0 0 10px;font-size:16px}.preview-container{background:#f8f8f8;border-radius:4px;justify-content:center;align-items:center;min-height:200px;display:flex}.preview-container img{max-width:100%;height:auto}.page-nav{justify-content:space-between;align-items:center;margin-top:10px;padding:10px 0;display:flex}.page-nav button{cursor:pointer;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;padding:5px 15px}.page-nav button:hover{background:#e0e0e0}.page-nav button:disabled{opacity:.5;cursor:not-allowed}.alert{border-radius:4px;margin-bottom:20px;padding:15px 20px}.alert-error{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb}.alert-success{color:#155724;background:#d4edda;border:1px solid #c3e6cb}.alert-warning{color:#856404;background:#fff3cd;border:1px solid #ffeeba}.alert-info{color:#0c5460;background:#d1ecf1;border:1px solid #bee5eb}.btn-loading{position:relative;color:#0000!important}.btn-loading:after{content:"";border:2px solid #fff;border-top-color:#0000;border-radius:50%;width:16px;height:16px;margin-top:-8px;margin-left:-8px;animation:.8s linear infinite spin;position:absolute;top:50%;left:50%}.hidden{display:none!important}.toast-container{z-index:9999;position:fixed;top:20px;right:20px}.toast{color:#fff;border-radius:4px;margin-bottom:10px;padding:12px 20px;animation:.3s slideIn;box-shadow:0 2px 10px #0003}.toast.success{background:#28a745}.toast.error{background:#dc3545}.toast.warning{color:#333;background:#ffc107}.toast.info{background:#17a2b8}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media screen and (max-width:768px){.bread-crumbs{flex-wrap:wrap;margin-bottom:5px;padding-top:8px}.bread-crumbs h2{padding:4px 2px 0 0;font-size:10px}.bread-crumbs .ellipsis{max-width:150px}.bread-crumbs .ellipsis a{font-size:10px}.table{white-space:nowrap;font-size:12px;display:block;overflow-x:auto}.table th,.table td{padding:5px;font-size:11px}.table th{font-size:12px;font-weight:700}.upload-wrapper{min-width:auto;margin-bottom:20px}.upload-header-wrapper{flex-direction:column;align-items:flex-start;padding:10px 15px}.upload-header-wrapper h2{margin-bottom:10px;font-size:120%;line-height:24px}.upload-content{padding:15px 20px}.upload-from input{box-sizing:border-box;width:100%}.upload-footer{padding:10px 15px}.main-wrapper{padding:0 20px 50px}.masthead>h1{height:70px;padding:15px 0 0 20px;font-size:28px}.global-options{float:none;text-align:right;width:100%;height:20px;margin-top:-5px;margin-right:15px;padding:0 10px}.tabs>ul>li{margin:0 5px 5px 0}.tabs>ul>li>a{padding:0 10px;font-size:13px;line-height:25px}.form-wrapper{padding:15px}.input{padding:8px;font-size:1rem}.login-button{height:36px;padding:0 20px;font-size:16px;line-height:32px}.page-about h2{padding:15px 0 8px;font-size:24px}.result-cards,.report-buttons{grid-template-columns:1fr}.result-card-value{font-size:36px}}
