:root{--primary:#19a4a0;--secondary:#e8a327;--accent:#ff4747;--dark:#2c3e50;--light:#ecf0f1;--grey:#95a5a6;--light-grey:#e0e0e0;--white:#fff;--black:#000;--success:#2ecc71;--warning:var(--secondary);--error:var(--accent);--info:var(--primary);--font-xs:0.75rem;--font-sm:0.875rem;--font-md:1rem;--font-lg:1.25rem;--font-xl:1.5rem;--font-xxl:2rem;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-xxl:3rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:1rem;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#ecf0f1;background-color:var(--light);color:#2c3e50;color:var(--dark);font-family:Roboto,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:1rem;font-size:var(--font-md);line-height:1.6}a{color:#19a4a0;color:var(--primary);text-decoration:none;transition:color .2s}a:hover{color:#147e7b}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;margin-bottom:1rem;margin-bottom:var(--space-md)}h1{font-size:2rem;font-size:var(--font-xxl)}h2{font-size:1.5rem;font-size:var(--font-xl)}h3{font-size:1.25rem;font-size:var(--font-lg)}p{margin-bottom:1rem;margin-bottom:var(--space-md)}.container{margin:0 auto;max-width:1200px;padding:1.5rem;padding:var(--space-lg);width:100%}.btn{background-color:#19a4a0;background-color:var(--primary);border:none;border-radius:.25rem;border-radius:var(--radius-sm);color:#fff;color:var(--white);cursor:pointer;display:inline-block;font-size:1rem;font-size:var(--font-md);font-weight:500;padding:.5rem 1.5rem;padding:var(--space-sm) var(--space-lg);text-align:center;transition:background-color .2s,transform .1s}.btn:hover{background-color:#147e7b;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background-color:var(--primary)}.btn-secondary{background-color:#e8a327;background-color:var(--secondary)}.btn-accent{background-color:#ff4747;background-color:var(--accent)}.btn-outline{background-color:initial;border:1px solid #19a4a0;border:1px solid var(--primary);color:#19a4a0;color:var(--primary)}.btn-outline:hover{background-color:#19a4a0;background-color:var(--primary);color:#fff;color:var(--white)}.btn:disabled{background-color:#95a5a6;background-color:var(--grey);cursor:not-allowed;transform:none}.form-group{margin-bottom:1.5rem;margin-bottom:var(--space-lg)}.form-group label{margin-bottom:.5rem;margin-bottom:var(--space-sm)}.form-control{border:1px solid #e0e0e0;border:1px solid var(--light-grey);border-radius:.25rem;border-radius:var(--radius-sm);font-size:1rem;font-size:var(--font-md);padding:.5rem 1rem;padding:var(--space-sm) var(--space-md);transition:border-color .2s,box-shadow .2s}.form-control:focus{border-color:#19a4a0;border-color:var(--primary);box-shadow:0 0 0 2px #19a4a040;outline:none}select.form-control{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2319a4a0' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-position:right 1rem center;background-position:right var(--space-md) center;background-repeat:no-repeat;padding-right:2.5rem}.auth-container{background-color:#fff;background-color:var(--white);border-radius:.5rem;border-radius:var(--radius-md);box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);margin:3rem auto;margin:var(--space-xxl) auto;max-width:450px;padding:2rem;padding:var(--space-xl)}.auth-card h2{color:#19a4a0;color:var(--primary);margin-bottom:2rem;margin-bottom:var(--space-xl);text-align:center}.auth-tabs{border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--light-grey);display:flex;margin-bottom:1.5rem;margin-bottom:var(--space-lg)}.auth-tabs button{background-color:initial;border:none;border-bottom:3px solid #0000;color:#95a5a6;color:var(--grey);flex:1 1;font-weight:500;margin-bottom:-2px;padding:.5rem;padding:var(--space-sm)}.auth-tabs button.active{border-bottom-color:#19a4a0;border-bottom-color:var(--primary);color:#19a4a0;color:var(--primary)}.auth-link{margin-top:1.5rem;margin-top:var(--space-lg);text-align:center}.error-message{background-color:#ff47471a;border-left:4px solid #ff4747;border-left:4px solid var(--accent);color:var(--accent)}.error-message,.success-message{border-radius:.25rem;border-radius:var(--radius-sm);margin-bottom:var(--space-md);padding:.5rem;padding:var(--space-sm)}.success-message{background-color:#2ecc711a;border-left:4px solid #2ecc71;border-left:4px solid var(--success);color:#2ecc71;color:var(--success)}.navbar{align-items:center;background-color:#fff;background-color:var(--white);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;padding:1rem 2rem;padding:var(--space-md) var(--space-xl)}.navbar-brand{color:#19a4a0;color:var(--primary);font-size:1.25rem;font-size:var(--font-lg);font-weight:700}.navbar-links{align-items:center;display:flex;gap:1.5rem;gap:var(--space-lg)}.navbar-links a{color:#2c3e50;color:var(--dark);font-weight:500}.navbar-links a:hover{color:#19a4a0;color:var(--primary)}.logout-btn{background:none;border:none;color:#2c3e50;color:var(--dark);cursor:pointer;font-size:1rem;font-size:var(--font-md);font-weight:500;padding:0;width:auto}.logout-btn:hover{background:none;color:#ff4747;color:var(--accent)}.dashboard-card{background-color:#fff;background-color:var(--white);border-radius:.5rem;border-radius:var(--radius-md);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);margin-bottom:1.5rem;margin-bottom:var(--space-lg);padding:1.5rem;padding:var(--space-lg)}.dashboard-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem;margin-bottom:var(--space-md)}.card-title{margin-bottom:0}.status-badge{border-radius:999px;font-size:var(--font-xs);padding:.25rem .5rem;padding:var(--space-xs) var(--space-sm);text-transform:uppercase}.status-pending{background-color:#e8a32726;color:#c68a1e}.status-in-progress{background-color:#19a4a026;color:#147e7b}.status-completed{background-color:#2ecc7126;color:#27ae60}.status-late{background-color:#ff474726;color:#e74c3c}.submission-form{background-color:#fff;background-color:var(--white);border-radius:.5rem;border-radius:var(--radius-md);box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);padding:2rem;padding:var(--space-xl)}.file-list{background-color:#ecf0f1;background-color:var(--light);border-radius:.25rem;border-radius:var(--radius-sm);margin-top:.5rem;margin-top:var(--space-sm);padding:.5rem;padding:var(--space-sm)}.file-list ul{list-style-type:none;padding-left:1rem;padding-left:var(--space-md)}.file-list li{margin-bottom:.25rem;margin-bottom:var(--space-xs)}.admin-setup{background-color:#fff;background-color:var(--white);border-radius:.5rem;border-radius:var(--radius-md);box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);margin:3rem auto;margin:var(--space-xxl) auto;max-width:600px;padding:2rem;padding:var(--space-xl)}.admin-setup.success{background-color:#2ecc711a;border:1px solid #2ecc71;border:1px solid var(--success)}.home-container{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 150px);text-align:center}.home-content{max-width:800px;padding:2rem;padding:var(--space-xl)}.home-content h1{color:#19a4a0;color:var(--primary);margin-bottom:1rem;margin-bottom:var(--space-md)}.auth-links{display:flex;gap:1rem;gap:var(--space-md);justify-content:center}.auth-links,.dashboard-link{margin-top:2rem;margin-top:var(--space-xl)}@media (max-width:768px){.container{padding:1rem;padding:var(--space-md)}.auth-links{gap:.5rem;gap:var(--space-sm)}.auth-links,.navbar{flex-direction:column}.navbar{gap:1rem;gap:var(--space-md)}}.portfolio-page{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;margin:0 auto;max-width:1200px;padding:30px}.portfolio-header{margin-bottom:30px;text-align:center}.portfolio-header h1{color:#19a4a0;font-size:2.2rem;margin-bottom:8px}.portfolio-header p{color:#666;font-size:1.1rem}.portfolio-container{grid-gap:30px;display:grid;gap:30px;grid-template-columns:330px 1fr;margin-top:30px}.portfolio-sidebar{background-color:#f9f9f9;border-radius:10px;box-shadow:0 2px 4px #0000000f;padding:25px}.portfolio-sidebar h2{border-bottom:2px solid #eaeaea;color:#444;font-size:1.3rem;margin-bottom:20px;margin-top:0;padding-bottom:15px}.portfolio-list{list-style:none;margin:0;padding:0}.portfolio-item{background-color:#fff;border:1px solid #eaeaea;border-radius:8px;box-shadow:0 1px 3px #00000014;cursor:pointer;margin-bottom:12px;padding:18px;transition:all .2s ease-in-out}.portfolio-item:hover{box-shadow:0 3px 8px #0000001f;transform:translateY(-2px)}.portfolio-item.active{background-color:#f0fffd;border-left:4px solid #19a4a0}.portfolio-item h3{color:#333;font-size:1.1rem;font-weight:500;margin:0 0 8px}.submission-date{color:#777;font-size:.9rem;margin:8px 0 0}.empty-portfolio-container{align-items:center;display:flex;justify-content:center;min-height:400px}.empty-portfolio{background:#f9f9f9;border-radius:10px;box-shadow:0 2px 8px #00000014;max-width:600px;padding:40px}.empty-portfolio h2{color:#555;font-size:1.6rem;margin-bottom:15px}.empty-portfolio p{color:#777;font-size:1.1rem;line-height:1.5;margin-bottom:25px}.empty-selection{align-items:center;background-color:#f9f9f9;border-radius:8px;color:#777;display:flex;font-style:italic;height:300px;justify-content:center;padding:20px;text-align:center}.portfolio-button{background-color:#19a4a0;border-radius:6px;color:#fff;display:inline-block;font-weight:500;padding:12px 25px;text-decoration:none;transition:background-color .2s}.portfolio-button:hover{background-color:#168f8b}.back-button{border:none;font-size:14px;transition:background-color .2s}.back-button:hover{background-color:#e0e0e0}.download-button,.view-button{display:inline-block;font-size:14px;text-align:center;transition:background-color .2s}.view-button{background-color:#19a4a0;color:#fff}.view-button:hover{background-color:#138d89}.download-button{background-color:#e8a327;color:#fff}.download-button:hover{background-color:#d39220}.portfolio-content{background-color:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;padding:30px}.portfolio-item-details h2{color:#19a4a0;font-size:1.7rem;margin-top:0}.completion-date{color:#666;display:block;font-size:.95rem;font-weight:400;margin-top:5px}.item-header{border-bottom:1px solid #eee;margin-bottom:25px;padding-bottom:20px}.status-badge{font-size:.75rem;margin-left:8px;padding:4px 12px}.status-badge.reviewed{background-color:#e7f9f7;color:#19a4a0}.status-badge.pending{background-color:#fef7e0;color:#e8a327}.submission-status{border-radius:20px;font-size:14px;font-weight:500;padding:6px 12px}.submission-status.reviewed{background-color:#19a4a0;color:#fff}.submission-status.submitted,.submission-status.updated{background-color:#e8a327;color:#fff}.submission-status.draft{background-color:#6c757d;color:#fff}.submission-status.not-submitted{background-color:#dc3545;color:#fff}.item-description,.item-feedback,.item-files,.item-text-submission{margin-bottom:35px}.item-description h3,.item-feedback h3,.item-files h3,.item-text-submission h3{color:#444;font-size:1.3rem;margin-bottom:15px}.description-content,.submission-content{background-color:#f9f9f9;border-radius:8px;line-height:1.6;padding:18px;white-space:pre-line}.file-item{border-radius:8px;padding:15px;transition:background-color .2s}.file-item:hover{background-color:#f3f3f3}.file-link,.file-name{margin-bottom:4px}.file-link{color:#19a4a0;font-weight:500;text-decoration:none}.file-link:hover{text-decoration:underline}.file-type{background-color:#e8eaed;border-radius:10px;color:#888;display:inline-block;font-size:.8rem;padding:3px 8px}.file-actions{gap:8px}.item-feedback{background-color:#f9f9f9;border-radius:8px;padding:20px}.feedback-container{border-top:1px solid #eaeaea;padding-top:24px}.feedback-section{border-radius:6px;margin-bottom:20px}.feedback-section h4{font-size:1.1rem;margin-bottom:10px}.feedback-section.positive{background-color:#e7f9f7;border-left:3px solid #19a4a0}.feedback-section.improvement{border-left:3px solid #e8a327}.feedback-section.general{background-color:#f0f2f5;border-left:3px solid #678}.feedback-content{white-space:pre-line}.portfolio-item-view{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:800px}.portfolio-nav{border-bottom:1px solid #eaeaea;padding-bottom:15px}.assignment-details h2{margin-bottom:16px}.assignment-dates{gap:16px;margin-bottom:24px}.date-item{align-items:center}.date-label{color:#555;font-weight:600;margin-right:6px}.assignment-instructions{background-color:#f9f9f9;border-radius:6px;margin-bottom:24px;padding:16px}.assignment-instructions h3{margin-top:0}.instruction-content{line-height:1.5}.submission-container{margin-top:24px}.submission-container h3{margin-bottom:16px}.submission-files{margin-top:24px}.no-submission{border-radius:6px;padding:24px}.pdf-viewer{background-color:#f8f9fa;border:1px solid #e8eaed;margin-top:20px;padding:15px}.react-pdf__Document{align-items:center;display:flex;flex-direction:column}.react-pdf__Page{box-shadow:0 2px 5px #0000001a;margin-bottom:15px}.error,.loading,.not-found{padding:40px 20px;text-align:center}.loading{padding:60px;text-align:center}.loading-spinner,.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#19a4a0;height:30px;margin:0 auto 20px;width:30px}.spinner{border:3px solid #19a4a04d;border-top-color:#19a4a0;height:40px;width:40px}.error-message,.not-found-message{background-color:#fff3f3;margin:0 auto;max-width:400px;padding:24px}.error-message h3,.not-found-message h3{color:#d32f2f;margin-top:0}@media (max-width:900px){.portfolio-container{grid-template-columns:1fr}.portfolio-sidebar{margin-bottom:20px}.portfolio-page{padding:15px}}@media (max-width:768px){.portfolio-item-view{padding:16px}.assignment-dates{flex-direction:column;gap:8px}.file-item{align-items:flex-start;flex-direction:column}.file-actions{margin-top:10px;width:100%}.download-button,.view-button{flex:1 1;text-align:center}}@media (max-width:600px){.file-item{align-items:flex-start;flex-direction:column}.download-button{margin-top:10px}.portfolio-header h1{font-size:1.8rem}}.portfolio-list{display:flex;flex-direction:column;gap:15px}.assignment-item{align-items:center;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 1px 3px #0000000d;color:inherit;display:flex;justify-content:space-between;text-decoration:none}.assignment-item:hover{border-color:#19a4a0;box-shadow:0 3px 6px #0000001a}.assignment-item.not-submitted{background-color:#f9f9f9;opacity:.7}.assignment-details{flex:1 1}.assignment-details h3{color:#333;font-size:18px;margin:0 0 10px}.assignment-details p{color:#666;font-size:14px;margin:5px 0}.assignment-status{align-items:flex-end;display:flex;flex-direction:column;gap:10px}.status-submitted{background-color:#e8a327}.status-in-progress{background-color:#6c757d}.status-closed,.status-not-started{background-color:#e0e0e0;color:#666}.view-button{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;padding:6px 12px;transition:all .2s ease}.view-button:hover{background-color:#e8f5f5;border-color:#19a4a0;color:#19a4a0}.portfolio-item-view{margin:0 auto;max-width:900px;padding:20px}.portfolio-nav{justify-content:space-between;margin-bottom:20px}.back-button,.portfolio-nav{align-items:center;display:flex}.back-button{background-color:#f5f5f5;border-radius:4px;cursor:pointer;font-weight:500;gap:5px;padding:8px 16px;transition:all .2s ease}.back-button:hover{background-color:#e8f5f5;border-color:#19a4a0;color:#19a4a0}.assignment-details{background-color:#f9f9f9;border:1px solid #e0e0e0;margin-bottom:30px}.assignment-details h2{color:#333;font-size:24px;margin-top:0}.assignment-dates{flex-wrap:wrap;gap:20px;margin:15px 0}.date-item{display:flex;flex-direction:column}.date-label{color:#666;font-size:12px}.date-value{color:#333;font-weight:500}.assignment-instructions{margin-top:20px}.assignment-instructions h3{color:#333;font-size:18px;margin-bottom:10px}.instruction-content{color:#444;line-height:1.6;white-space:pre-wrap}.submission-container{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-top:30px;padding:20px}.submission-container h3{color:#333;font-size:18px;margin-top:0}.submission-content{background-color:#f9f9f9;border-radius:4px;line-height:1.6;margin-top:15px;padding:15px;white-space:pre-wrap}.submission-files{margin-top:25px}.file-list{list-style:none;margin:15px 0}.file-item{background-color:#f9f9f9;border:1px solid #e0e0e0;margin-bottom:10px;padding:12px}.file-info{flex-direction:column}.file-name{color:#333}.file-type{color:#666;font-size:12px;margin-top:4px}.file-actions{display:flex;gap:10px}.download-button,.view-button{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-size:13px;padding:6px 12px;text-decoration:none;transition:all .2s ease}.download-button:hover,.view-button:hover{background-color:#e8f5f5;border-color:#19a4a0;color:#19a4a0}.feedback-container{border-top:1px solid #e0e0e0;margin-top:30px;padding-top:20px}.feedback-section{border-radius:4px;margin-top:15px;padding:15px}.feedback-section.positive{background-color:#e6f7f7;border-left:4px solid #19a4a0}.feedback-section.improvement{background-color:#fff8e6;border-left:4px solid #e8a327}.feedback-section.general{background-color:#f5f5f5;border-left:4px solid #6c757d}.feedback-section h4{color:#333;margin-top:0}.feedback-content{color:#444;line-height:1.6;white-space:pre-wrap}.no-submission{border:1px solid #e0e0e0;color:#666;padding:20px}.empty-portfolio,.no-submission{background-color:#f9f9f9;border-radius:8px;text-align:center}.empty-portfolio{align-items:center;display:flex;flex-direction:column;padding:30px}.helper-text{color:#666;font-size:14px;margin-top:10px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#19a4a0;height:40px;margin:40px auto;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message,.not-found-message{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:40px;text-align:center}@media (max-width:600px){.form-controls{flex-direction:column}.form-group,.primary-button{width:100%}}.learner-pair-management{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.learner-pair-management h2{margin-top:0}.form-controls{align-items:flex-end;margin-bottom:20px}.form-group{min-width:200px}.form-group label{margin-bottom:6px}.form-group select{font-size:14px;padding:8px 12px}.primary-button{background-color:#19a4a0;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:9px 20px;transition:background-color .2s}.primary-button:hover{background-color:#158e8a}.primary-button:disabled{background-color:#c5c5c5;cursor:not-allowed}.loading-indicator{color:#666;font-style:italic;padding:20px;text-align:center}.error-message,.success-message,.warning-message{align-items:center;border-radius:4px;display:flex;justify-content:space-between;margin:15px 0;padding:12px 15px}.error-message{border-left:4px solid #d32f2f;color:#d32f2f}.success-message{border-left:4px solid #2e7d32}.warning-message{background-color:#fff8e1;border-left:4px solid #f57c00;color:#f57c00}.error-message button,.success-message button{background:none;border:none;text-decoration:underline}.pairs-display{background-color:#f8f9fa;border-radius:6px;margin-top:20px;padding:15px}.pairs-display h3{font-size:18px;margin-bottom:15px;margin-top:0}.pairs-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.pair-item{background-color:#fff;box-shadow:0 1px 3px #0000001a}.pair-number{border-bottom:1px solid #eee;color:#19a4a0;font-weight:700;padding-bottom:5px}.pair-learners{flex-direction:column}.learner-avatar{background-color:#e8a327;font-weight:700;height:30px;width:30px}.learner-name{font-size:14px}.pair-connector{color:#666;font-size:12px;margin-left:40px;position:relative}.pair-connector:before{background-color:#ddd;content:"";height:1px;left:-15px;position:absolute;top:50%;width:10px}.empty-state{background-color:#f8f9fa;border-radius:6px;color:#666;margin-top:20px;padding:30px;text-align:center}.instructions{background-color:#e1f5fe;margin-top:20px}.instructions h3{color:#0277bd}.instructions ul{margin-top:10px;padding-left:20px}.unpaired-section{background-color:#fafafa;border:1px dashed #ccc;border-radius:6px;margin-top:20px;padding:15px}.unpaired-section h3{color:#555;margin-bottom:10px;margin-top:0}.info-text{color:#666;font-size:14px;margin-bottom:15px}.unpaired-list{gap:10px}.unpaired-learner{background-color:#fff;box-shadow:0 1px 2px #0000000d}.secondary-button{background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-size:14px;padding:8px 16px}.secondary-button:hover{background-color:#e4e4e4}.pairs-management{margin-top:20px}.pairing-interface{background-color:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;margin-top:30px;padding:20px}.pairing-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding-bottom:10px}.pairing-header h3{margin:0}.auto-pair-button{background-color:#19a4a0;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px}.auto-pair-button:hover{background-color:#168c88}.auto-pair-button:disabled{background-color:#ccc;cursor:not-allowed}.pairing-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}@media (max-width:768px){.pairing-container{grid-template-columns:1fr}}.available-learners,.current-pairs{background-color:#f8f9fa;border-radius:6px;box-shadow:0 1px 2px #0000000d;padding:15px}.available-learners h4,.current-pairs h4{color:#555;font-size:16px;margin-bottom:15px;margin-top:0}.learner-item{align-items:center;background-color:#fff;border-radius:4px;box-shadow:0 1px 2px #0000000d;margin-bottom:10px;padding:10px}.learner-avatar{margin-right:10px}.learner-details{flex:1 1}.learner-name{color:#333;font-weight:600}.learner-email{color:#666;font-size:12px}.remove-button,.select-button{background-color:#fff;border:1px solid #19a4a0;border-radius:4px;color:#19a4a0;cursor:pointer;font-size:12px;margin-left:10px;padding:5px 10px}.remove-button:hover,.select-button:hover{background-color:#f0f8f8}.select-button:disabled{border-color:#ccc;color:#ccc;cursor:not-allowed}.remove-button{border-color:#dc3545;color:#dc3545}.remove-button:hover{background-color:#fff8f8}.learner-pair-management{margin:0 auto;max-width:1200px;padding:20px}.learner-pair-management h2{border-bottom:1px solid #eee;color:#333;margin-bottom:20px;padding-bottom:10px}.form-controls{background-color:#f8f9fa;border-radius:6px;box-shadow:0 1px 3px #0000001a;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:30px;padding:20px}.form-group{flex:1 1;min-width:250px}.form-group label{font-weight:600}.form-group select{border:1px solid #ddd;border-radius:4px;font-size:16px;padding:10px;width:100%}.assignments-overview{margin-top:20px}.assignments-overview h3{color:#333;margin-bottom:15px}.assignments-table{overflow-x:auto}.assignments-table table{background-color:#fff;border-collapse:collapse;border-radius:6px;box-shadow:0 1px 3px #0000001a;width:100%}.assignments-table td,.assignments-table th{border-bottom:1px solid #eee;padding:12px 15px;text-align:left}.assignments-table th{background-color:#f8f9fa;color:#555;font-weight:600}.assignments-table tr:hover{background-color:#f9f9f9}.actions-cell{display:flex;gap:8px;white-space:nowrap}.back-button,.clear-button,.generate-button,.regenerate-button,.view-pairs-button{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 12px;white-space:nowrap}.view-pairs-button{background-color:#f8f9fa;border:1px solid #ddd;color:#333}.generate-button,.regenerate-button{background-color:#19a4a0;color:#fff}.clear-button{background-color:#f8f9fa;border:1px solid #dc3545;color:#dc3545}.back-button{background-color:#f8f9fa;border:1px solid #ddd;color:#333;margin-bottom:15px}.assignment-pairing-detail{background-color:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;margin-top:20px;padding:20px}.pairing-header{margin-bottom:20px}.pairing-header h3{color:#333;margin:15px 0}.pairs-display{margin-bottom:30px}.no-pairs-message{background-color:#f8f9fa;border-radius:6px;margin-bottom:20px;padding:20px;text-align:center}.no-pairs-message p{color:#666;margin-bottom:15px}.pairs-list{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));margin-bottom:20px}.pair-item{background-color:#f8f9fa;border-radius:6px;box-shadow:0 1px 2px #0000000d;padding:15px}.pair-number{color:#555;font-size:14px;font-weight:600;margin-bottom:10px}.pair-learners{flex-wrap:wrap;gap:10px}.learner,.pair-learners{align-items:center;display:flex}.learner{gap:8px}.learner-avatar{align-items:center;background-color:#19a4a0;border-radius:50%;color:#fff;display:flex;font-weight:600;height:32px;justify-content:center;width:32px}.pair-connector{color:#999;font-size:13px;font-style:italic}.pair-actions{display:flex;gap:10px;margin-top:20px}.unpaired-learners{background-color:#fff3cd;border-radius:6px;margin-top:30px;padding:15px}.unpaired-learners h4{color:#856404;font-size:16px;margin-bottom:15px;margin-top:0}.unpaired-list{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px}.unpaired-learner{align-items:center;background-color:#ffffff80;border-radius:4px;display:flex;gap:8px;padding:8px 12px}.unpaired-note{color:#856404;font-size:14px;font-style:italic;margin:0}.error-message,.loading-indicator,.success-message{align-items:center;border-radius:4px;display:flex;justify-content:space-between;margin:20px 0;padding:15px}.loading-indicator{background-color:#e9f5f5;color:#19a4a0}.error-message button,.success-message button{background:#0000;border:1px solid;border-radius:4px;color:inherit;cursor:pointer;font-size:14px;padding:5px 10px}.instructions{background-color:#f8f9fa;border-radius:6px;margin-top:30px;padding:20px}.instructions h3{color:#333;margin-top:0}.instructions ul{line-height:1.6;margin-left:20px}.instructions li{margin-bottom:8px}@media (max-width:768px){.pairs-list{grid-template-columns:1fr}.actions-cell{display:flex;gap:5px}.actions-cell,.pair-actions{flex-direction:column}}:root{--teal:#19a4a0;--yellow:#e8a327;--red:#ff4747;--light-teal:#19a4a01a;--light-yellow:#e8a3271a;--light-red:#ff47471a;--dark-teal:#148f8b;--dark-yellow:#d08f20;--dark-red:#e53e3e}.admin-home{margin:0 auto;max-width:1200px;padding:1.5rem}.welcome-message{margin-bottom:2rem}.welcome-message h2{border-left:4px solid #19a4a0;border-left:4px solid var(--teal);color:#333;font-size:1.75rem;margin-bottom:.5rem;padding-left:10px}.welcome-message p{color:#666;font-size:1rem;max-width:800px}.stats-row{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px}.stat-box{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;min-width:200px;overflow:hidden;padding:1.25rem;position:relative;text-align:center;transition:transform .2s,box-shadow .2s;width:calc(25% - 20px)}.stat-box:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-5px)}.stat-box:first-child{border-top:4px solid #19a4a0;border-top:4px solid var(--teal)}.stat-box:nth-child(2){border-top:4px solid #e8a327;border-top:4px solid var(--yellow)}.stat-box:nth-child(3){border-top:4px solid #ff4747;border-top:4px solid var(--red)}.stat-box:nth-child(4){border-top:4px solid #19a4a0;border-top:4px solid var(--teal)}.stat-box h3{color:#555;font-size:1rem;font-weight:500;margin-bottom:10px;margin-top:0}.stat-number{color:#333;font-size:2.5rem;margin-bottom:15px}.stat-box:first-child .stat-number{color:#19a4a0;color:var(--teal)}.stat-box:nth-child(2) .stat-number{color:#e8a327;color:var(--yellow)}.stat-box:nth-child(3) .stat-number{color:#ff4747;color:var(--red)}.stat-box:nth-child(4) .stat-number,.stat-link{color:#19a4a0;color:var(--teal)}.stat-link{border-top:1px solid #eee;display:block;font-weight:500;padding:8px 0;text-align:center;text-decoration:none;transition:background-color .2s}.stat-link:hover{background-color:#19a4a01a;background-color:var(--light-teal)}.stat-box:nth-child(2) .stat-link{color:#e8a327;color:var(--yellow)}.stat-box:nth-child(2) .stat-link:hover{background-color:#e8a3271a;background-color:var(--light-yellow)}.stat-box:nth-child(3) .stat-link{color:#ff4747;color:var(--red)}.stat-box:nth-child(3) .stat-link:hover{background-color:#ff47471a;background-color:var(--light-red)}.dashboard-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:1.5rem}.dashboard-section h3{border-bottom:1px solid #eee;color:#333;font-size:1.25rem;margin-bottom:1.25rem;margin-top:0;padding-bottom:.75rem}.action-links{display:flex;flex-wrap:wrap;gap:1rem}.action-link{align-items:center;border-radius:4px;display:flex;font-weight:500;padding:.75rem 1.25rem;text-decoration:none;transition:all .2s}.action-link:first-child{background-color:#19a4a01a;background-color:var(--light-teal);color:#148f8b;color:var(--dark-teal)}.action-link:nth-child(2){background-color:#e8a3271a;background-color:var(--light-yellow);color:#d08f20;color:var(--dark-yellow)}.action-link:nth-child(3){background-color:#ff47471a;background-color:var(--light-red);color:#e53e3e;color:var(--dark-red)}.action-link:first-child:hover{background-color:#19a4a0;background-color:var(--teal);color:#fff}.action-link:nth-child(2):hover{background-color:#e8a327;background-color:var(--yellow);color:#fff}.action-link:nth-child(3):hover{background-color:#ff4747;background-color:var(--red);color:#fff}.action-icon{font-size:1rem;margin-right:.5rem}@media (max-width:992px){.stat-box{width:calc(50% - 15px)}}@media (max-width:576px){.stats-row{flex-direction:column}.stat-box{width:100%}.action-links{flex-direction:column}}.status-info{flex-wrap:wrap;gap:1.5rem}.status-item{align-items:center;background-color:#f9f9f9;border-radius:4px;display:flex;flex:1 1;justify-content:space-between;min-width:200px;padding:.75rem 1rem}.status-label{color:#555;font-weight:500}.status-value{background-color:#19a4a01a;background-color:var(--light-teal);border-radius:1rem;color:#19a4a0;color:var(--teal);font-size:.9rem;font-weight:500;padding:.25rem .75rem}@keyframes pulse{0%{box-shadow:0 2px 8px #0000001a}50%{box-shadow:0 2px 12px #00000026}to{box-shadow:0 2px 8px #0000001a}}.stat-box:hover .stat-number{animation:pulse 1.5s infinite}.group-assignments-container{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;margin-top:20px;padding:16px;position:relative}.group-assignments-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.group-assignments-header h4{color:#333;font-size:18px;margin:0}.assignments-list{margin-top:15px;overflow-x:auto}.assignments-table{background-color:#fff;border-collapse:collapse;border-radius:4px;box-shadow:0 1px 3px #0000001a;table-layout:fixed;width:100%}.assignments-table td:first-child,.assignments-table th:first-child{max-width:200px;width:25%}.assignments-table td:nth-child(2),.assignments-table th:nth-child(2){text-align:center;width:15%}.assignments-table td:nth-child(3),.assignments-table td:nth-child(4),.assignments-table th:nth-child(3),.assignments-table th:nth-child(4){width:25%}.assignments-table td:nth-child(5),.assignments-table th:nth-child(5){text-align:center;width:10%}.assignments-table th{background-color:#f2f2f2;border-bottom:2px solid #ddd;color:#495057;font-weight:500;padding:10px;text-align:left}.assignments-table td{border-bottom:1px solid #eee;padding:10px;vertical-align:middle}.assignment-title{font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-title-container{position:relative}.assignment-title-container:hover .title-tooltip{display:block}.title-tooltip{background-color:#333;border-radius:4px;color:#fff;display:none;font-size:13px;left:0;padding:5px 10px;position:absolute;top:-30px;white-space:nowrap;z-index:100}.assignments-table tr:hover{background-color:#f5f5f5}.assignments-table tr.has-pending-changes{background-color:#fffde7}.assignments-table tr:last-child td{border-bottom:none}.assignment-title-with-status{gap:8px}.status-indicator{margin-left:5px}.status-active{color:#19a4a0;font-weight:500}.status-draft{color:#9e9e9e;font-weight:500}.status-upcoming{color:#0288d1;font-weight:500}.status-open{color:#2e7d32}.status-closed,.status-open{font-weight:500}.status-archived{color:#616161;font-weight:500}.status-indicator.draft{background-color:#9e9e9e}.status-indicator.closed{background-color:#ff4747}.assignments-table tr.status-draft{border-left:3px solid #9e9e9e}.assignments-table tr.status-upcoming{border-left:3px solid #e8a327}.assignments-table tr.status-open{border-left:3px solid #19a4a0}.assignments-table tr.status-closed{border-left:3px solid #ff4747}.toggle-switch{display:inline-block;height:24px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;border-radius:24px;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:16px;left:4px;width:16px}input:checked+.slider{background-color:#19a4a0}input:focus+.slider{box-shadow:0 0 1px #19a4a0}input:checked+.slider:before{transform:translateX(26px)}input:disabled+.slider{cursor:not-allowed;opacity:.6}.date-input-container{align-items:center;display:flex;position:relative}.date-input-container input[type=date]{border:1px solid #ddd;border-radius:4px;padding:6px 8px;width:140px}.date-input-container input[type=date]:disabled{background-color:#f2f2f2;cursor:not-allowed}.change-indicator{color:#ff4747}.save-changes-btn{font-weight:500;padding:6px 12px;transition:all .2s ease}.save-changes-btn.idle{background-color:#f0f0f0;border:1px solid #ddd;color:#999}.save-changes-btn.idle.has-changes{background-color:#19a4a0;border:1px solid #19a4a0;color:#fff}.save-changes-btn.saving{background-color:#e8a327;border:1px solid #e8a327;cursor:wait}.save-changes-btn.error{border:1px solid #ff4747}.save-changes-btn.saved{background-color:#4caf50;border:1px solid #4caf50;color:#fff}.save-row-btn{font-size:13px;padding:5px 10px}.save-row-btn:hover{background-color:#148f8b}.floating-save-btn{border-radius:30px;box-shadow:0 4px 8px #0003;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s ease}.floating-save-btn.saving{background-color:#e8a327;cursor:wait}.floating-save-btn.error{background-color:#ff4747}.floating-save-btn:hover{box-shadow:0 6px 10px #00000040}.success-message{background-color:#d4edda;color:#155724}.error-message,.success-message{font-size:14px;margin-bottom:15px;padding:10px 15px}.error-message{background-color:#f8d7da;color:#721c24}.loading-message,.no-assignments{color:#6c757d;padding:20px;text-align:center}.no-assignments{background-color:#f8f9fa;border-radius:4px;margin-top:10px}.group-status-wrapper{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:20px;padding:20px;position:relative}.group-status-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.group-status-header h4{color:#19a4a0;margin:0}.group-status-table{border-collapse:collapse;margin-bottom:20px;width:100%}.group-status-table td,.group-status-table th{border-bottom:1px solid #dee2e6;padding:12px;text-align:left}.group-status-table th{background-color:#f2f2f2;font-weight:700}.group-status-table tr:hover{background-color:#f5f5f5}.group-status-table tr.has-pending-changes{background-color:#e8a3271a}.visibility-toggle{align-items:center;display:flex}.visibility-toggle input[type=checkbox]{margin-right:8px}.change-indicator{font-weight:700;margin-left:5px}.custom-indicator{color:#19a4a0;font-weight:700;margin-left:3px}.save-changes-btn{background-color:#f2f2f2;border:none;border-radius:4px;color:#6c757d;cursor:pointer;font-weight:700;padding:8px 16px;transition:all .3s ease}.save-changes-btn.has-changes{background-color:#19a4a0;color:#fff}.save-changes-btn.saving{background-color:#6c757d;color:#fff;cursor:not-allowed}.save-changes-btn.error{background-color:#ff4747;color:#fff}.save-changes-btn:disabled{cursor:not-allowed;opacity:.7}.save-row-btn{background-color:#19a4a0;border:none;border-radius:4px;cursor:pointer;font-size:.85em;padding:4px 10px;transition:all .2s}.save-row-btn:hover{background-color:#147f7b}.assignment-status-info{background-color:#e9f7f7;border-left:3px solid #19a4a0;border-radius:6px;margin-bottom:15px;padding:10px 15px}.assignment-status-info ul{margin:5px 0;padding-left:25px}.group-status-info{color:#666;font-size:.9em;margin-top:15px}.info-text{align-items:center;display:flex;margin-bottom:5px}.info-icon{margin-right:8px}.floating-save-btn{background-color:#19a4a0;border:none;border-radius:4px;box-shadow:0 2px 10px #0003;color:#fff;cursor:pointer;font-weight:700;padding:12px 24px;transition:all .3s}.floating-save-btn:hover{background-color:#147f7b;box-shadow:0 4px 15px #0000004d;transform:translateY(-2px)}.floating-save-btn.saving{background-color:#6c757d;cursor:not-allowed}.user-management{max-width:100%;overflow-x:auto;padding:20px}.user-management-header{align-items:center;justify-content:space-between;margin-bottom:20px}.header-actions,.user-management-header{display:flex;flex-wrap:wrap;gap:10px}.users-table-container{margin-bottom:20px;overflow-x:auto;width:100%}.users-table{min-width:800px}.users-table th{background-color:#f7f7f7;font-weight:600}.users-table tr:hover{background-color:#f9f9f9}.user-form-container{background-color:#fff;border:1px solid #eee;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:20px;padding:20px}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.form-actions{margin-top:20px}button{border-radius:4px;cursor:pointer;font-weight:500;padding:8px 16px;transition:background-color .2s;white-space:nowrap}.add-button{background-color:#19a4a0;border:none;color:#fff}.add-button:hover{background-color:#148f8b}.action-buttons{display:flex;flex-wrap:wrap;gap:8px}td .action-buttons{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(2,minmax(80px,1fr))}.dashboard-button{background-color:#19a4a0;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:5px 10px;width:100%}.delete-button,.edit-button,.reset-button,.save-row-btn{border:none;font-size:13px;min-width:0;min-width:auto;padding:6px 12px;width:100%}.delete-button,.edit-button{border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:5px 10px}.reset-button{background-color:#6366f1;color:#fff}.reset-button:hover{background-color:#4f46e5}.save-row-btn{background-color:#10b981;color:#fff}.save-row-btn:hover{background-color:#059669}.status-badge{border-radius:20px;font-weight:600;padding:5px 10px}.status-badge.active{background-color:#dcfce7;color:#166534}.status-badge.pending{background-color:#ffedd5;color:#9a3412}.field-changed{background-color:#fffaeb;border:2px solid #e8a327!important}.change-indicator{color:#e8a327;display:block;font-size:12px;margin-top:5px}.row-has-changes{background-color:#fffaeb!important}.save-all-btn{background-color:#10b981;border:none;color:#fff;font-weight:600}.save-all-btn:hover{background-color:#059669}.save-all-btn.saving{background-color:#6b7280;cursor:not-allowed}.save-all-btn.saved{background-color:#10b981}.save-all-btn.error{background-color:#ef4444}.floating-save-container{bottom:20px;position:fixed;right:20px;z-index:1000}.floating-save-btn{box-shadow:0 4px 6px #0000001a;font-size:16px;padding:12px 20px}.temp-password-box{background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;margin-top:20px;padding:15px}.temp-password-box h4{color:#334155;margin-bottom:10px;margin-top:0}.password-display{align-items:center;background-color:#f1f5f9;border-radius:4px;display:flex;gap:10px;margin:10px 0;padding:10px}.password-display code{color:#334155;font-family:monospace;font-size:16px}.copy-button{background-color:#64748b;border:none;border-radius:4px;color:#fff;font-size:12px;padding:4px 10px}.copy-button:hover{background-color:#475569}.password-note{color:#64748b;font-size:13px;margin-top:10px}.error-message,.success-message{border-radius:4px;margin-bottom:15px;padding:12px 16px}.error-message{background-color:#fee2e2;border-left:4px solid #ef4444;color:#b91c1c}.success-message{background-color:#dcfce7;border-left:4px solid #10b981;color:#166534}.users-table td select{max-width:200px;width:100%}@media (max-width:992px){.users-table td .action-buttons{display:grid;grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.user-management-header{align-items:flex-start;flex-direction:column}.header-actions{margin-top:10px}.form-actions{flex-direction:column}.form-actions button{width:100%}.user-info{flex-direction:column;gap:.5rem}}.dashboard-button,.delete-button,.edit-button,.reset-button{background-color:#19a4a0;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;margin-bottom:5px;margin-right:5px;max-width:120px;min-width:80px;padding:5px 10px;width:auto}.edit-button{background-color:#e8a327}.edit-button:hover{background-color:#d08f20}.delete-button{background-color:#ff4747}.delete-button:hover{background-color:#e53e3e}.reset-button{background-color:#e8a327}.reset-button:hover{background-color:#d08f20}.dashboard-button:hover{background-color:#148f8b}.users-table{border-collapse:collapse;width:100%}.users-table td,.users-table th{border-bottom:1px solid #eee;padding:10px;text-align:left;vertical-align:top}.users-table td:last-child,.users-table th:last-child{max-width:300px;width:300px}.users-table td:last-child{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-start;white-space:normal}.status-badge{padding:4px 8px}.status-badge.active{background-color:#c8f7c5;color:#0d6e0d}.status-badge.pending{background-color:#ffe0b2;color:#960}.user-dashboard-preview{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:1rem;padding:1.5rem}.dashboard-header{border-bottom:1px solid #eee;margin-bottom:1.5rem;padding-bottom:1rem}.dashboard-header h3{color:#333;font-size:1.25rem;margin-bottom:1rem;margin-top:0}.user-info{display:flex;flex-wrap:wrap;gap:1.5rem}.user-info p{background-color:#f5f5f5;border-radius:4px;font-size:.9rem;margin:0;padding:.5rem 1rem}.dashboard-content{margin-bottom:1.5rem;min-height:300px}.dashboard-placeholder{align-items:center;background-color:#f9f9f9;border:1px dashed #ccc;border-radius:8px;display:flex;flex-direction:column;height:100%;justify-content:center;padding:2rem;text-align:center}.placeholder-text{color:#666;font-size:1.2rem;margin-bottom:.5rem}.dashboard-actions{border-top:1px solid #eee;display:flex;justify-content:flex-end;padding-top:1rem}.return-button{background-color:#333;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;max-width:120px;padding:.75rem 1.25rem;transition:background-color .2s;width:auto}.return-button:hover{background-color:#555}@media (max-width:768px){.action-buttons{flex-direction:column;gap:5px}.dashboard-button,.delete-button,.edit-button,.reset-password-button,.return-button{max-width:none;width:100%}.user-table td,.user-table th{padding:8px 5px}.actions-column{width:auto}}.user-row{grid-gap:10px;align-items:center;border-bottom:1px solid #eee;display:grid;gap:10px;grid-template-columns:1fr 1.5fr 1fr 1fr .8fr auto;padding:10px 0}@media (max-width:992px){.user-row{grid-template-columns:1fr 1.5fr 1fr 1fr .8fr}.action-cell{display:flex;grid-column:1/-1;justify-content:flex-end;margin-top:10px}}.admin-dashboard{margin:0 auto;max-width:1200px;padding:20px}.admin-dashboard h1{border-bottom:2px solid #f0f0f0;color:#333;margin-bottom:20px;padding-bottom:10px}.dashboard-tabs{margin-bottom:30px}.dashboard-tabs ul{border-bottom:1px solid #ddd;display:flex;list-style:none;margin:0;padding:0}.dashboard-tabs li{color:#666;cursor:pointer;font-weight:500;padding:12px 20px;position:relative}.dashboard-tabs li:hover{background-color:#f9f9f9;color:#333}.dashboard-tabs li.active{color:#1a73e8;font-weight:700}.dashboard-tabs li.active:after{background-color:#1a73e8;bottom:-1px;content:"";height:3px;left:0;position:absolute;width:100%}.stats-overview{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:20px}.stat-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 5px #0000001a;padding:20px;text-align:center}.stat-card h3{color:#666;font-size:16px;font-weight:500;margin:0}.stat-number{color:#1a73e8;font-size:32px;font-weight:700;margin:10px 0 0}.assignments-container,.groups-container{grid-gap:30px;display:grid;gap:30px;grid-template-columns:350px 1fr;margin-top:20px}.assignments-list,.groups-list{background-color:#f9f9f9;border-radius:8px;padding:20px}.assignment-items,.group-items{list-style:none;margin-top:20px;padding:0}.assignment-item,.group-item{background-color:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;cursor:pointer;margin-bottom:10px;padding:15px;transition:all .2s}.assignment-item:hover,.group-item:hover{box-shadow:0 2px 5px #0003}.assignment-item.selected,.group-item.selected{background-color:#f0f7ff;border-left:4px solid #1a73e8}.assignment-name,.group-name{font-size:16px;font-weight:500;margin-bottom:5px}.assignment-dates,.group-size{color:#666;display:flex;font-size:14px;gap:15px;margin-top:5px}.end-date,.learner-count,.mentor-count,.start-date{align-items:center;display:flex}.assignment-status{border-radius:12px;font-weight:500;margin-top:10px;padding:3px 10px}.status-active{background-color:#e6f4ea;color:#137333}.status-upcoming{background-color:#e8f0fe;color:#1a73e8}.status-closed{background-color:#f1f3f4;color:#5f6368}.status-not-scheduled{background-color:#fce8e6;color:#c5221f}.assignment-details,.group-details{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px}.no-selection{background-color:#f9f9f9;border-radius:8px;color:#666;font-style:italic;height:200px}.form-header,.group-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.form-header h3,.group-header h3{font-size:20px;margin:0}.form-actions,.group-actions{display:flex;gap:10px}.group-name-input,input[type=date],input[type=text],select,textarea{border:1px solid #ddd;border-radius:4px;font-size:16px;padding:10px;width:100%}textarea{min-height:100px;resize:vertical}.form-group{margin-bottom:20px}.form-group label{margin-bottom:5px}.form-row{grid-gap:20px;gap:20px}.form-value{background-color:#f5f5f5;min-height:24px}.instruction-text{max-height:200px;overflow-y:auto;padding:15px;white-space:pre-line}.group-learners,.group-mentor{margin-top:25px}.learners-list,.mentor-info{background-color:#f5f5f5;border-radius:4px;padding:15px}.mentor-select{padding:10px;width:100%}.learner-selection{background-color:#f5f5f5;border-radius:4px;max-height:300px;overflow-y:auto;padding:10px}.learner-checkbox{align-items:center;border-bottom:1px solid #eee;display:flex;padding:8px}.learner-checkbox:last-child{border-bottom:none}.learner-checkbox input[type=checkbox]{margin-right:10px}.learner-item{border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:8px 0}.learner-item:last-child{border-bottom:none}.learner-name,.mentor-name{font-weight:500}.learner-email,.mentor-email{color:#666;font-size:14px}.btn-danger,.btn-primary,.btn-secondary,.btn-small{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s}.btn-primary{background-color:#1a73e8}.btn-primary:hover{background-color:#0d5bcd}.btn-secondary{background-color:#f1f3f4;color:#5f6368}.btn-secondary:hover{background-color:#e8eaed}.btn-danger{background-color:#ea4335}.btn-danger:hover{background-color:#d33426}.btn-small{padding:4px 8px}button:disabled{cursor:not-allowed;opacity:.6}.status-badge{text-transform:capitalize}.status-reviewed{background-color:#e6f4ea;color:#137333}.status-pending{background-color:#fef7e0;color:#ea8600}.data-table{margin-top:15px}.data-table td,.data-table th{border-bottom:1px solid #eee;padding:12px 15px}.data-table th{background-color:#f5f5f5;font-weight:500}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background-color:#f9f9f9}.assignments-management{padding:20px 0}.assignments-management h2{color:#2c3e50;margin-bottom:10px}.search-container{margin:20px 0}.search-input{border:1px solid #ddd;border-radius:4px;font-size:16px;padding:10px 15px;width:100%}.assignments-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 2fr;margin-top:20px}.assignments-list{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.list-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.list-header h3{color:#2c3e50;margin:0}.assignment-items{list-style:none;margin:0;padding:0}.assignment-item{border-left:3px solid #0000;border-radius:4px;cursor:pointer;margin-bottom:10px;padding:15px;transition:all .2s ease}.assignment-item:hover{background-color:#f9f9f9}.assignment-item.selected{background-color:#f0f7ff;border-left-color:#2196f3}.assignment-name{font-weight:600;margin-bottom:5px}.assignment-dates{font-size:14px;gap:15px;margin-bottom:5px}.assignment-status{border-radius:4px;display:inline-block;font-size:12px;font-weight:600;padding:3px 8px;text-transform:uppercase}.status-active,.status-open{background-color:#e3f2fd;color:#1976d2}.status-draft{background-color:#f5f5f5;color:#616161}.status-closed{background-color:#ffebee;color:#d32f2f}.status-archived{background-color:#ede7f6;color:#673ab7}.assignment-details{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.no-selection{color:#9e9e9e;flex-direction:column;justify-content:center;min-height:300px;padding:20px;text-align:center}.form-header,.no-selection{align-items:center;display:flex}.form-header{border-bottom:1px solid #eee;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.form-header h3{color:#2c3e50;margin:0}.form-actions{gap:10px}.form-body{display:flex;flex-direction:column;gap:15px}.form-group{margin-bottom:15px}.form-group label{color:#2c3e50;display:block;margin-bottom:8px}.form-control{font-size:16px;padding:10px}textarea.form-control{min-height:120px}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.form-value{background-color:#f5f7fa;border-radius:4px;color:#2c3e50;padding:10px}.instruction-text{min-height:120px;white-space:pre-wrap}.status-label{border-radius:4px;display:inline-block;font-size:14px;font-weight:600;padding:5px 10px;text-transform:uppercase}.group-list{list-style:none;margin:0;padding:0}.group-list li{padding:5px 0}.group-selection{border:1px solid #ddd;border-radius:4px;max-height:200px;overflow-y:auto;padding:10px}.checkbox-list{display:flex;flex-direction:column;gap:10px}.checkbox-item{align-items:center;display:flex;gap:10px}.selection-info{color:#666;font-size:14px;margin-top:10px}.empty-list{color:#9e9e9e;padding:20px;text-align:center}.loading{min-height:200px}.btn-primary{background-color:#2196f3;padding:8px 15px}.btn-primary:hover{background-color:#1976d2}.btn-secondary{padding:8px 15px}.btn-secondary:hover{background-color:#e0e0e0}.btn-danger{background-color:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 15px;transition:background-color .2s}.btn-danger:hover{background-color:#d32f2f}@media (max-width:768px){.assignments-container,.form-row{grid-template-columns:1fr}}.status-badge{color:#fff;margin-right:4px}.status-draft,.status-not-scheduled{background-color:#6c757d}.status-upcoming{background-color:#e8a327}.status-open{background-color:#19a4a0}.status-closed{background-color:#9e9e9e}.status-not-started{background-color:#6c757d;opacity:.7}.status-in-progress{background-color:#007bff}.status-submitted{background-color:#dc3545}.status-updated{background-color:#ff9800}.status-reviewed{background-color:#4caf50}.btn-warning{background-color:#ff9800;border:none;color:#fff;cursor:pointer}.btn-secondary{background-color:#6c757d;border:none;color:#fff}.btn-small{border-radius:4px;font-size:12px;padding:5px 10px}.no-dates-warning{color:#dc3545;font-size:12px;font-weight:500}.data-table{border-collapse:collapse;margin-top:16px;width:100%}.data-table td,.data-table th{border-bottom:1px solid #e2e8f0;padding:8px 12px;text-align:left}.data-table th{font-weight:600}.data-table th,.data-table tr:hover{background-color:#f8f9fa}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:#0000;--input-disabled-border-color:#0000;--input-hover-border-color:#000;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{left:0;pointer-events:none;position:absolute;top:0;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translateX(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{height:100%;position:absolute;width:100%}.annotationLayer section{box-sizing:border-box;margin:0;pointer-events:auto;position:absolute;text-align:left;text-align:initial;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:none;outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{font-size:1em;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{background:#ff0;box-shadow:0 2px 10px #ff0;opacity:.2}.annotationLayer .textAnnotation img{cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input,.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .textWidgetAnnotation :is(input,textarea){background-image:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');background-image:var(--annotation-unfocused-field-background);border:2px solid #0000;border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px*var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled]{background:none;border:2px solid #0000;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border:2px solid #000;border:2px solid var(--input-hover-border-color)}.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border-radius:2px}.annotationLayer .choiceWidgetAnnotation select:focus,.annotationLayer .textWidgetAnnotation :is(input,textarea):focus{background:none;border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:initial;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px*var(--scale-factor));min-width:calc(180px*var(--scale-factor));pointer-events:none;position:absolute;width:100%}.annotationLayer .popup{word-wrap:break-word;background-color:#ff9;border-radius:calc(2px*var(--scale-factor));box-shadow:0 calc(2px*var(--scale-factor)) calc(5px*var(--scale-factor)) #888;cursor:pointer;font:message-box;margin-left:calc(5px*var(--scale-factor));max-width:calc(180px*var(--scale-factor));padding:calc(6px*var(--scale-factor));pointer-events:auto;position:absolute;white-space:normal}.annotationLayer .popup>*{font-size:calc(9px*var(--scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px*var(--scale-factor))}.annotationLayer .popupContent{border-top:1px solid #333;margin-top:calc(2px*var(--scale-factor));padding-top:calc(2px*var(--scale-factor))}.annotationLayer .richText>*{font-size:calc(9px*var(--scale-factor));white-space:pre-wrap}.annotationLayer .caretAnnotation,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .fileAttachmentAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .highlightAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .lineAnnotation svg line,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .squareAnnotation svg rect,.annotationLayer .squigglyAnnotation,.annotationLayer .stampAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .underlineAnnotation{cursor:pointer}.annotationLayer section svg{height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .annotationTextContent{color:#0000;height:100%;opacity:0;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.annotationLayer .annotationTextContent span{display:inline-block;width:100%}:root{--react-pdf-text-layer:1;--highlight-bg-color:#b400aa;--highlight-selected-bg-color:#006400}@media screen and (forced-colors:active){:root{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translateX(-100%)}.textLayer{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;inset:0;line-height:1;overflow:hidden;position:absolute;text-align:left;text-align:initial;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:#0000;cursor:text;margin:0;position:absolute;transform-origin:0 0;white-space:pre}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:#b400aa;background-color:var(--highlight-bg-color);border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:static}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:#006400;background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:#0000}.textLayer .endOfContent{cursor:default;display:block;inset:100% 0 0;position:absolute;-webkit-user-select:none;user-select:none;z-index:-1}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{display:none;height:0;left:0;position:absolute;top:0;width:0}.assignment-view-container{margin:0 auto;max-width:1000px;padding:2rem 1rem}.assignment-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.assignment-header h1{color:#333;font-size:1.75rem;margin:0}.assignment-dates{color:#666;display:flex;gap:2rem;margin-bottom:1.5rem}.assignment-content{margin-bottom:2rem}.assignment-content h3{color:#444;font-size:1.25rem;margin-bottom:1rem;margin-top:0}.instruction-content{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;padding:1.5rem}.assignment-sections-container{display:flex;flex-direction:column;gap:2rem;margin-bottom:2rem;width:100%}@media (min-width:768px){.assignment-sections-container{grid-template-columns:2fr 1fr}.feedback-section,.submission-section{grid-column:1/2}.checkpoints-section,.diary-section{grid-column:2/3}}.assignment-section h3{border-bottom:1px solid #eee;color:#333;font-size:1.2rem;margin-bottom:1rem;margin-top:0;padding-bottom:.75rem}.assignment-section h4{color:#444;font-size:1.1rem;margin-bottom:.75rem;margin-top:1.5rem}.section-description{color:#666;font-size:.9rem;margin-bottom:1.25rem;margin-top:0}.status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:.85rem;font-weight:500;gap:.25rem;padding:4px 10px}.status-submitted{background-color:#e3f2fd;color:#19a4a0}.status-updated{background-color:#e8f5e9;color:#e8a327}.status-pending{background-color:#fff8e1;color:#ff4747}.status-reviewed{background-color:#e8f5e9;color:#19a4a0}.status-draft-saved{background-color:#f5f5f5;color:#757575}.status-not-yet-available{background-color:#e0e0e0;color:#616161}.status-past-due{background-color:#ffebee;color:#ff4747}.submission-status{align-items:center;background-color:#f5f5f5;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:1.25rem;padding:.75rem 1rem}.status-info{align-items:center;display:flex;gap:1rem}.submission-date{color:#666;font-size:.85rem}.submission-content{display:flex;flex-direction:column;gap:1.5rem}.file-submissions,.text-submission{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;padding:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.form-group label{color:#555;font-size:.95rem;font-weight:500}.form-control{border:1px solid #ddd;border-radius:4px;font-size:.95rem;padding:.75rem;width:100%}textarea.form-control{min-height:100px;resize:vertical}.form-actions{display:flex;gap:1rem;justify-content:flex-start;margin-top:1rem}.file-list{display:flex;flex-direction:column;gap:.5rem;list-style-type:none;margin:0;padding:0}.file-item{align-items:center;background-color:#f5f5f5;border-radius:4px;display:flex;font-size:.9rem;justify-content:space-between;padding:.5rem .75rem}.file-item a{color:#19a4a0;text-decoration:none}.file-item a:hover{text-decoration:underline}.feedback-container{display:flex;flex-direction:column;gap:1rem}.feedback-header{align-items:center;font-size:.85rem;padding-bottom:.5rem}.feedback-content,.feedback-improvement,.feedback-positive{background-color:#f9f9f9;border-radius:4px;padding:1rem}.feedback-positive{background-color:#e8f5e9;border-left:3px solid #19a4a0}.feedback-improvement{background-color:#fff8e1;border-left:3px solid #e8a327}.checkbox-label{gap:.5rem}.review-toggle{margin-top:1rem}.checkpoints-list{display:flex;flex-direction:column;gap:.75rem}.checkpoint-item{border-radius:4px;padding:.5rem;transition:background-color .2s}.checkpoint-item:hover{background-color:#f5f5f5}.success-message{background-color:#e8f5e9;color:#2e7d32}.error-message,.success-message{border-radius:4px;font-weight:500;margin-bottom:1rem;padding:.75rem 1rem}.error-message{background-color:#ffebee;color:#ff4747}.closed-message{background-color:#f5f5f5;border-radius:4px;color:#616161;font-style:italic;margin-top:1rem;padding:.75rem 1rem}.btn-primary{border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.625rem 1rem;transition:background-color .2s}.btn-primary,.btn-primary:hover{background-color:#19a4a0}.btn-primary:disabled{background-color:#90caf9;cursor:not-allowed}.btn-secondary{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-size:.9rem;font-weight:500;padding:.625rem 1rem;transition:background-color .2s}.btn-secondary:hover{background-color:#eee}.navigation-actions{display:flex;justify-content:flex-start;margin-top:2rem}.file-upload-section{display:flex;flex-direction:column;gap:1rem}.file-input{height:.1px;opacity:0;overflow:hidden;position:absolute;width:.1px;z-index:-1}.file-upload-label{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;display:inline-block;font-size:.9rem;font-weight:500;max-width:200px;padding:.625rem 1rem;text-align:center;transition:background-color .2s}.file-upload-label:hover{background-color:#eee}.selected-files{margin-top:1rem}.remove-file-btn{background:none;border:none;border-radius:50%;color:#ff4747;cursor:pointer;font-size:.8rem;padding:.25rem .5rem;transition:background-color .2s}.remove-file-btn:hover{background-color:#ffcdd2}.loading{align-items:center;color:#666;display:flex;font-weight:500;height:200px;justify-content:center}.help-text{color:#666;font-size:.85rem;margin-bottom:0;margin-top:.25rem}.content-text{white-space:pre-wrap}@media (max-width:767px){.assignment-header{align-items:flex-start;flex-direction:column;gap:.75rem}.assignment-dates{flex-direction:column;gap:.5rem}.submission-status{align-items:flex-start;flex-direction:column;gap:.75rem}.feedback-header{flex-direction:column;gap:.5rem}}.dashboard h1{display:none}.assignment-preview{color:#666;font-size:.9em;font-style:italic;margin-top:8px;max-height:2.8em;overflow:hidden;position:relative;text-overflow:ellipsis}.assignment-preview:after{background:#fff;bottom:0;content:"...";padding-left:3px;position:absolute;right:0}.file-info{align-items:center;display:flex;flex:1 1;flex-wrap:wrap}.file-name{font-weight:500;margin-right:10px;word-break:break-word}.file-size{color:#666;font-size:.8em}.progress-bar{background-color:#e0e0e0;border-radius:2px;height:4px;margin-top:4px;width:100%}.progress{background-color:#19a4a0;border-radius:2px;height:100%;transition:width .3s ease}.assignment-item{transition:transform .2s,box-shadow .2s}.assignment-item:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.status-not-started{background-color:#f5f5f5;color:#757575}@media screen and (max-width:768px){.file-info{align-items:flex-start;flex-direction:column}.file-name,.file-size{margin-bottom:4px}}.tabs-navigation{border-bottom:2px solid #ddd;display:flex;justify-content:flex-start;margin-bottom:20px;overflow-x:auto;position:relative;width:100%}.tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#555;cursor:pointer;font-size:1rem;font-weight:500;margin-right:5px;padding:12px 20px;position:relative;top:2px;transition:all .3s ease;white-space:nowrap}.tab-button:hover{color:#19a4a0}.tab-button.active{border-bottom:3px solid #19a4a0;color:#e8a327}.tab-content{padding:15px 0;width:100%}.assignment-section{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:1.5rem;width:100%}@media (min-width:768px){.assignment-sections-container{grid-template-columns:1fr}.checkpoints-section,.diary-section,.feedback-section,.submission-section{grid-column:auto}}@media (max-width:768px){.tabs-navigation{padding-bottom:5px}.tab-button{font-size:14px;padding:8px 12px}}.submission-form .navigation-actions{background-color:#fff;bottom:0;box-shadow:0 -2px 10px #0000001a;display:flex;justify-content:space-between;left:0;padding:15px;position:fixed;right:0;z-index:100}.submission-form{padding-bottom:80px}.submission-form .btn-primary,.submission-form .btn-secondary{font-size:1rem;padding:12px 24px}.submission-form .btn-primary{background-color:#19a4a0;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.8rem 1.5rem;transition:background-color .2s}.submission-form .btn-primary:hover{background-color:#19a4a0}.submission-form .btn-secondary{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-size:1rem;font-weight:500;padding:.8rem 1.5rem;transition:background-color .2s}.submission-form .btn-secondary:hover{background-color:#eee}.submission-form~.navigation-actions{display:none}.bottom-navigation{background:#fff;bottom:0;box-shadow:0 -2px 10px #0000001a;display:flex;height:70px;justify-content:space-around;left:0;position:fixed;right:0;width:100%;z-index:10}.nav-button{align-items:center;background:none;border:none;color:#555;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:10px 5px;position:relative;transition:all .2s ease;width:25%}.nav-button:hover{color:#19a4a0}.nav-icon{font-size:1.5rem;margin-bottom:4px}.nav-label{font-size:.7rem;white-space:nowrap}.bottom-space{height:80px}.submission-form .navigation-actions+.bottom-navigation,.submission-form~.bottom-navigation{display:none}.feedback-notification{align-items:center;background-color:#e8f0fe;border-left:4px solid #1a73e8;cursor:pointer;display:flex;margin:10px 0;padding:10px 15px;transition:background-color .2s}.feedback-notification:hover{background-color:#d2e3fc}.notification-icon{color:#1a73e8;font-size:1.2rem;margin-right:10px}.feedback-container{background-color:#f9f9f9;border-left:4px solid #19a4a0;border-radius:8px;box-shadow:0 2px 5px #0000000d;margin-top:15px;padding:20px}.feedback-header{border-bottom:1px solid #eee;color:#666;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.feedback-improvement,.feedback-positive{margin-bottom:20px}.feedback-improvement h4,.feedback-positive h4{color:#19a4a0;margin-bottom:10px}.feedback-content-block{background-color:#fff;border-radius:6px;box-shadow:0 1px 3px #0000000d;padding:15px;white-space:pre-line}.review-toggle{border-top:1px solid #eee;margin-top:20px;padding-top:15px}.no-feedback-message{color:#666;font-style:italic;padding:20px;text-align:center}.tabs-navigation .tab-button.has-notification{position:relative}.notification-dot{background-color:#e8a327;border-radius:50%;height:8px;position:absolute;right:8px;top:8px;width:8px}.status-badge.status-reviewed{background-color:#e6f4ea;color:#19a4a0}.status-badge.status-pending{background-color:#fef7e0;color:#e8a327}.status-badge.status-draft-saved{background-color:#e8f0fe;color:#1a73e8}.status-badge.status-not-started{background-color:#f5f5f5;color:#5f6368}.checkbox-label{align-items:center;cursor:pointer;display:flex}.checkbox-label input[type=checkbox]{margin-right:10px}.resubmit-notice{background-color:#e8a327;border-left:4px solid #19a4a0;margin-bottom:20px}.status-indicator{border-radius:50%;display:inline-block;height:10px;margin-left:8px;width:10px}.status-indicator.draft{background-color:#6c757d}.status-indicator.upcoming{background-color:#e8a327}.status-indicator.open{background-color:#19a4a0}.status-indicator.closed{background-color:#9e9e9e}.assignments-table tr.status-open{background-color:#19a4a00d}.assignments-table tr.status-upcoming{background-color:#e8a3270d}.assignments-table tr.status-draft{background-color:#6c757d0d}.assignments-table tr.status-closed{background-color:#9e9e9e0d}.assignment-title-with-status{align-items:center;display:flex}.assignment-status-info{background-color:#f5f5f5;border-left:4px solid #2196f3;border-radius:4px;margin-bottom:20px;padding:15px}.assignment-status-info p{font-weight:500;margin-top:0}.assignment-status-info ul{margin-bottom:0}.assignment-status-info li{margin-bottom:5px}.pdf-viewer{align-items:center;background-color:#f5f5f5;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;margin:20px 0;overflow:hidden;padding:20px}.pdf-error,.pdf-loading{margin:20px 0;padding:20px;text-align:center;width:100%}.pdf-error{background-color:#ff47471a;border:1px solid #ff4747;border-radius:4px;color:#ff4747}.pdf-controls{align-items:center;display:flex;gap:15px;justify-content:center;margin-top:20px;width:100%}.pdf-control-btn{background-color:#19a4a0;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px;transition:background-color .2s}.pdf-control-btn:hover{background-color:#158e8a}.pdf-control-btn:disabled{background-color:#ccc;cursor:not-allowed}.pdf-page-info{color:#555;font-size:14px}.react-pdf__Document{margin:0 auto;max-width:100%}.react-pdf__Page{box-shadow:0 0 8px #0003;margin-bottom:10px}@media (max-width:768px){.pdf-viewer{padding:10px}.pdf-controls{flex-direction:column;gap:10px}.pdf-control-btn{width:100%}}.submission-viewer{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:20px 0;padding:20px}.text-submission{margin-bottom:30px}.text-content{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;padding:15px;white-space:pre-wrap}.file-submissions{margin-top:20px}.file-tabs{border-bottom:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:5px;margin-bottom:15px;padding-bottom:10px}.file-tab{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.9em;max-width:200px;overflow:hidden;padding:8px 15px;text-overflow:ellipsis;transition:all .2s;white-space:nowrap}.file-tab:hover{background-color:#e8e8e8}.file-tab.active{background-color:#19a4a0;border-color:#19a4a0;color:#fff}.file-preview{min-height:200px}.file-preview-container{align-items:center;display:flex;flex-direction:column}.file-preview-image{border:1px solid #ddd;border-radius:4px;margin:15px 0;max-height:600px;max-width:100%}.download-link{background-color:#e8a327;border-radius:4px;color:#fff;display:inline-block;margin-top:15px;padding:8px 16px;text-decoration:none;transition:background-color .2s}.download-link:hover{background-color:#d59420}.empty-submission,.no-file-selected,.no-submission{background-color:#f9f9f9;border-radius:4px;color:#777;padding:40px;text-align:center}.file-type-icon{color:#555;font-size:48px;margin:20px 0}@media (max-width:768px){.submission-viewer{padding:15px}.file-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:15px}.file-tab{flex:0 0 auto}}.buddy-container{background-color:#f8f9fa;border-left:4px solid #19a4a0;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin:15px 0;padding:15px}.buddy-title{align-items:center;color:#333;display:flex;font-size:18px;margin-bottom:15px}.buddy-title:before{content:"👥";font-size:20px;margin-right:10px}.buddy-card{background-color:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;margin-bottom:15px;padding:12px}.buddy-avatar,.buddy-card{align-items:center;display:flex}.buddy-avatar{background-color:#e8a327;border-radius:50%;color:#fff;flex-shrink:0;font-size:18px;font-weight:700;height:48px;justify-content:center;margin-right:15px;width:48px}.buddy-info{flex:1 1}.buddy-name{font-size:16px;font-weight:700;margin-bottom:4px}.buddy-email{color:#666;font-size:14px;margin-bottom:4px}.buddy-submission-status{background-color:#f1f1f1;border-radius:4px;display:inline-block;font-size:13px;margin-top:5px;padding:4px 8px}.buddy-contact-button{background-color:#19a4a0;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;padding:6px 12px;text-decoration:none}.buddy-contact-button:hover{background-color:#158e8a}.buddy-tips{background-color:#e1f5fe;border-radius:6px;margin-top:10px;padding:12px}.buddy-tips h4{font-size:15px;margin-bottom:8px;margin-top:0}.buddy-tips ul{margin:0;padding-left:20px}.buddy-tips li{font-size:14px;margin-bottom:5px}.buddy-error,.buddy-loading,.buddy-not-found{border-radius:6px;margin:15px 0;padding:15px;text-align:center}.buddy-loading{background-color:#f8f9fa;color:#666}.buddy-error{background-color:#ffebee;border-left:4px solid #d32f2f;color:#d32f2f}.buddy-not-found{background-color:#f1f8e9;border-left:4px solid #689f38;color:#689f38}.status-badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:700;margin-bottom:8px;min-width:80px;padding:3px 8px;text-align:center}.status-not-started{background-color:#f0f0f0;color:#666}.status-in-progress{background-color:#e8a327;color:#fff}.status-reviewed,.status-submitted{background-color:#19a4a0;color:#fff}.status-updated{background-color:#ff4747;color:#fff}.status-closed{background-color:#dedede;color:#666}
/*# sourceMappingURL=main.20f679f2.css.map*/