*{box-sizing:border-box;margin:0;padding:0}body{background:#f0f4f8;color:#2d3748;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{align-items:center;background:#2b6cb0;box-shadow:0 2px 8px #0003;color:#fff;display:flex;justify-content:space-between;padding:12px 24px;position:sticky;top:0;z-index:100}.header-title{font-size:1.1rem;font-weight:600}.header-right{align-items:center;display:flex;gap:12px}.user-name{font-size:.9rem;opacity:.9}.badge-admin{background:#f6e05e;border-radius:12px;color:#744210;font-size:.75rem;font-weight:700;padding:2px 8px}.btn-logout{background:#fff3;border:1px solid #fff6;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:6px 14px}.btn-logout:hover{background:#ffffff4d}main{flex:1 1;margin:0 auto;max-width:900px;padding:24px;width:100%}.center-screen{align-items:center;display:flex;justify-content:center;min-height:100vh}.login-card{background:#fff;border-radius:16px;box-shadow:0 4px 24px #0000001a;max-width:400px;padding:48px 40px;text-align:center;width:90%}.login-card h1{color:#2b6cb0;font-size:1.4rem;margin-bottom:8px}.subtitle{color:#718096;margin-bottom:32px}.btn-google{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:10px;justify-content:center;padding:12px 24px;transition:all .2s;width:100%}.btn-google:hover{background:#ebf8ff;border-color:#4299e1}section{background:#fff;border-radius:12px;box-shadow:0 1px 6px #00000014;margin-bottom:24px;padding:24px}h2{align-items:center;color:#2b6cb0;display:flex;font-size:1.1rem;gap:8px}.period-grid,h2{margin-bottom:16px}.period-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.period-card{border:2px solid #e2e8f0;border-radius:10px;padding:14px;text-align:center}.period-card.complete{background:#f0fff4;border-color:#48bb78}.period-label{font-size:.95rem;font-weight:700}.period-deadline{color:#718096;font-size:.75rem;margin:4px 0}.period-score{color:#2b6cb0;font-size:1.4rem;font-weight:700}.carryover{color:#f6ad55;font-size:.75rem;margin-top:4px}.excess{color:#68d391;font-size:.75rem;margin-top:2px}.total-score{font-size:1.1rem;text-align:right}.total-score strong{color:#2b6cb0;font-size:1.3rem}.form-group{margin-bottom:20px}.form-group>label:first-child{color:#4a5568;display:block;font-weight:600;margin-bottom:10px}.radio-label{align-items:flex-start;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:10px;margin-bottom:6px;padding:10px}.radio-label:hover{background:#ebf8ff}.radio-label input{flex-shrink:0;margin-top:3px}.radio-label span{display:flex;flex-direction:column}.radio-label small{color:#718096;font-size:.8rem;margin-top:2px}input[type=date],input[type=number],input[type=text],textarea{background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;padding:10px 14px;transition:border-color .2s;width:100%}input[type=date]:focus,input[type=number]:focus,input[type=text]:focus,textarea:focus{border-color:#4299e1;outline:none}.time-inputs{align-items:center;display:flex;gap:8px}.time-inputs input{width:80px}.time-inputs span{color:#4a5568;font-weight:500}.provisional-points{background:#ebf8ff;border-radius:8px;color:#2b6cb0;font-size:.9rem;margin-top:10px;padding:10px 14px}.provisional-points small{color:#718096;margin-left:8px}.btn-check{background:#ebf8ff;border:2px solid #4299e1;border-radius:8px;color:#2b6cb0;cursor:pointer;font-size:.9rem;font-weight:600;margin-top:8px;padding:8px 18px;transition:all .2s}.btn-check:hover:not(:disabled){background:#bee3f8}.btn-check:disabled{cursor:not-allowed;opacity:.5}.ai-feedback.approved{background:#f0fff4;border-left:3px solid #48bb78}.ai-feedback.rejected{background:#fffbeb;border-left:3px solid #f6ad55}.btn-submit{background:#2b6cb0;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:14px;transition:background .2s;width:100%}.btn-submit:hover:not(:disabled){background:#2c5282}.btn-submit:disabled{cursor:not-allowed;opacity:.6}.submission-list{display:flex;flex-direction:column;gap:12px}.submission-card{border:1.5px solid #e2e8f0;border-radius:10px;padding:16px}.submission-card.status-approved{border-color:#48bb78}.submission-card.status-modified{border-color:#f6ad55}.sub-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.sub-type{background:#ebf8ff;border-radius:12px;color:#2b6cb0;font-size:.8rem;font-weight:600;padding:2px 8px}.sub-date{color:#4a5568;font-size:.9rem}.sub-time{color:#718096;font-size:.85rem}.sub-status{border-radius:12px;font-size:.8rem;padding:2px 8px}.sub-status.pending{background:#fef3c7;color:#92400e}.sub-status.approved{background:#d1fae5;color:#065f46}.sub-status.modified{background:#fed7aa;color:#92400e}.sub-description{color:#4a5568;font-size:.9rem;margin-bottom:8px}.sub-points{color:#718096;font-size:.85rem}.sub-points strong{color:#2b6cb0}.teacher-note{background:#fffbeb;border-radius:6px;color:#744210;font-size:.85rem;margin-top:8px;padding:8px 12px}.admin-section{background:#fff;border-radius:12px;box-shadow:0 1px 6px #00000014;margin-bottom:24px;padding:24px}.badge-pending{background:#fc8181;border-radius:12px;color:#fff;font-size:.75rem;font-weight:700;padding:2px 10px}.student-table-wrap{overflow-x:auto}.student-table{border-collapse:collapse;font-size:.9rem;width:100%}.student-table th{background:#ebf8ff;color:#2b6cb0;font-weight:600;padding:10px 12px;text-align:center}.student-table td{border-bottom:1px solid #e2e8f0;padding:10px 12px;text-align:center}.student-table td:first-child{text-align:left}.cell-complete{color:#276749;font-weight:700}.carry{color:#718096;font-size:.75rem}.filter-bar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.filter-bar input,.filter-bar select{flex:1 1;min-width:140px}.admin-card{background:#fafafa}.admin-card .sub-header strong{font-size:1rem}.period-badge{background:#e9d8fd;border-radius:12px;color:#553c9a;font-size:.8rem;padding:2px 8px}.ai-feedback-admin{color:#718096;font-size:.82rem;margin:8px 0}.admin-controls{border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:10px;margin-top:12px;padding-top:12px}.points-control label{color:#4a5568;display:block;font-size:.85rem;margin-bottom:6px}.points-input-row{align-items:center;display:flex;gap:8px}.points-input{width:70px}.note-control{align-items:center;display:flex;gap:8px}.note-control label{color:#4a5568;font-size:.85rem;white-space:nowrap}.note-input{flex:1 1}.action-buttons{display:flex;gap:10px}.btn-approve{background:#48bb78;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:10px}.btn-approve:hover{background:#38a169}.btn-modify{background:#f6ad55;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:10px}.btn-modify:hover{background:#ed8936}.error{color:#e53e3e}.error,.success{font-size:.9rem;margin-top:10px}.success{color:#38a169;font-weight:600}.empty{color:#a0aec0;padding:20px;text-align:center}.sub-timestamp{color:#a0aec0;font-size:.78rem}.csv-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.btn-csv{background:#2b6cb0;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:600;padding:9px 18px;transition:background .2s}.btn-csv:hover{background:#2c5282}@media (max-width:600px){.period-grid{grid-template-columns:repeat(2,1fr)}main{padding:12px}.action-buttons,.csv-buttons{flex-direction:column}}
/*# sourceMappingURL=main.f0b40459.css.map*/