.scoring-container{max-width:800px;margin:30px auto;padding:20px;background-color:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;display:flex;flex-direction:column;gap:30px;text-align:center}.scoring-header h1{color:#2c3e50;margin-bottom:10px;font-size:2.2em;text-transform:uppercase}.scoring-header p{color:#7f8c8d;font-size:1em;margin-top:0}.scoring-main{padding:20px}.upload-section{border:1px solid #e0e0e0;border-radius:8px;background-color:#fdfdfd;box-shadow:0 2px 8px #0000000d;padding:30px}.upload-section h2{color:#34495e;margin-top:0;margin-bottom:25px;font-size:1.6em;border-bottom:2px solid #3498db;padding-bottom:10px}.form-group{margin-bottom:20px}.file-upload-label{display:block;background-color:#3498db;color:#fff;padding:15px 25px;border-radius:8px;cursor:pointer;font-size:1.1em;font-weight:700;transition:background-color .3s ease,transform .2s ease,box-shadow .3s ease;text-transform:uppercase;box-shadow:0 4px 10px #3498db4d;margin-bottom:15px}.file-upload-label:hover{background-color:#2980b9;transform:translateY(-2px)}.file-upload-input{display:none}.upload-button{background:linear-gradient(135deg,#1a237e 0%,#3498db 100%);color:#fff;padding:15px 25px;border:none;border-radius:8px;font-size:1.2em;font-weight:700;cursor:pointer;transition:background-color .3s ease,transform .2s ease,box-shadow .3s ease;text-transform:uppercase;box-shadow:0 4px 10px #1a237e4d}.upload-button:hover:not(:disabled){background:linear-gradient(135deg,#0d1654 0%,#2980b9 100%);transform:translateY(-2px)}.upload-button:disabled{background-color:#ccc;cursor:not-allowed;box-shadow:none}.loading-spinner{border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:30px auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{color:#e74c3c;margin-top:20px;font-weight:700}.extracted-data{margin-top:30px;padding:20px;border:1px dashed #ccc;border-radius:8px;background-color:#ecf0f1;text-align:left}.extracted-data h3{color:#34495e;margin-top:0;margin-bottom:15px;border-bottom:1px solid #bdc3c7;padding-bottom:8px;text-transform:uppercase}.extracted-data p{margin-bottom:8px;font-size:1.1em}.extracted-data strong{color:#2c3e50}.scoring-footer{margin-top:20px;padding:1.5rem 2rem;background:#1e293b;color:#94a3b8;font-size:.9em;text-transform:none;text-align:center}.scoring-footer a{color:#94a3b8;text-decoration:none}.scoring-footer a:hover{color:#fff}.akc-wrap{max-width:920px;margin:24px auto;padding:16px}.akc-row{display:flex;align-items:center;gap:12px;margin:10px 0}.akc-row>label{width:220px;font-weight:600}.akc-radio-row label{margin-right:16px}.akc-samepoints{align-items:center}.akc-table{border:1px solid #ddd;border-radius:8px;overflow:hidden;margin-top:16px}.akc-head,.akc-rowline{display:grid;grid-template-columns:64px 1fr 140px;align-items:center}.akc-head{background:#f6f7f9;font-weight:600;padding:10px 12px;border-bottom:1px solid #e5e7eb}.akc-rowline{padding:8px 12px;border-bottom:1px solid #eee}.akc-rowline:last-child{border-bottom:none}.akc-qnum{font-weight:600}.akc-opts{display:flex;gap:12px;flex-wrap:wrap}.akc-opt input{margin-right:4px}.akc-points input{width:100%}.akc-footer{display:flex;align-items:center;gap:16px;margin-top:16px}.akc-overwrite{color:#b45309;font-weight:600}.akc-save{padding:8px 16px;border:none;border-radius:8px;background:linear-gradient(135deg,#1a237e 0%,#3498db 100%);color:#fff;cursor:pointer}.akc-save:disabled{opacity:.6;cursor:not-allowed}.akc-total{margin-left:auto}.akc-error{margin-top:12px;color:#b91c1c;font-weight:600}.akc-success{margin-top:12px;color:#065f46;font-weight:600}.akc-note{color:#6b7280}.akc-ok{color:#065f46}.akc-warn{color:#b45309}.tabs{margin-top:12px;display:flex;gap:8px}.tab{padding:8px 14px;border:1px solid #ccc;background:#fafafa;cursor:pointer;border-radius:6px;transition:all .3s ease}.tab.active{border-color:#1a237e;background:linear-gradient(135deg,#1a237e 0%,#3498db 100%);color:#fff;font-weight:600}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{border-bottom:1px solid #eee;padding:6px 8px;text-align:left}@media screen and (max-width: 768px){.scoring-container{margin:10px;padding:10px}.scoring-header h1{font-size:1.5em}.scoring-main{padding:10px}.upload-section{padding:15px}.tabs{flex-wrap:wrap}.tab{padding:8px 10px;font-size:.9em}.akc-wrap{padding:10px;margin:10px auto}.akc-row{flex-direction:column;align-items:flex-start;gap:6px}.akc-row>label{width:100%}.akc-row>input,.akc-row>select{width:100%;padding:10px;font-size:16px}.akc-radio-row{display:flex;flex-wrap:wrap;gap:8px}.akc-radio-row label{margin-right:8px}.akc-samepoints{flex-direction:column;align-items:flex-start}.akc-samepoints input[type=number]{margin-left:0;margin-top:8px;width:100px}.akc-head,.akc-rowline{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px}.akc-head{display:none}.akc-rowline{border:1px solid #ddd;border-radius:8px;margin-bottom:8px;background:#fafafa}.akc-qnum{font-size:1.1em;color:#2c3e50}.akc-qnum:before{content:"Question "}.akc-opts{width:100%;justify-content:flex-start;gap:16px}.akc-opt{display:flex;align-items:center;padding:4px 0}.akc-opt input{width:18px;height:18px;margin-right:6px}.akc-points{width:100%}.akc-points:before{content:"Points: ";font-weight:600}.akc-points input{width:80px;padding:8px;font-size:16px}.akc-footer{flex-direction:column;align-items:stretch;gap:12px}.akc-total{margin-left:0;text-align:center;font-size:1.1em}.akc-save{width:100%;padding:12px;font-size:1.1em}.akc-overwrite{text-align:center}.upload-button{width:100%;padding:12px 20px;font-size:1em}.file-upload-label{padding:12px 20px;font-size:1em}}@media screen and (max-width: 480px){.scoring-header h1{font-size:1.3em}.scoring-header p{font-size:.85em}.tab{padding:6px 8px;font-size:.85em}.akc-opts{gap:12px}}body{margin:0;font-family:Inter,sans-serif;background-color:#f0f2f5;color:#333;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;box-sizing:border-box}
