body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.add-subtask-form textarea{box-sizing:border-box;display:block;width:100%}.project-status-actions{align-items:center;display:flex;flex-wrap:nowrap;gap:10px;gap:var(--spacing-base);margin-top:10px;margin-top:var(--spacing-base)}.project-status-actions .cancel-button,.project-status-actions .edit-button,.project-status-actions .save-button{border:none;border-radius:4px;border-radius:var(--border-radius-sm);cursor:pointer;font-size:12px;font-size:var(--font-size-xs);padding:6px 12px;padding:var(--spacing-sm) var(--spacing-lg);transition:all .3s ease;transition:var(--transition-fast);white-space:nowrap}.project-status-actions .save-button{background:#10b981;background:var(--color-success-green);color:#000;color:var(--color-bg-primary)}.project-status-actions .save-button:hover{background:#1c9069;background:var(--color-success-green-hover)}.project-status-actions .cancel-button{background:#333;background:var(--color-bg-quaternary);color:#ddd;color:var(--color-text-primary)}.project-status-actions .cancel-button:hover{background:#444;background:var(--color-bg-quinary)}.project-status-actions .edit-button{background:#ffbd39;background:var(--color-primary);color:#000;color:var(--color-bg-primary)}.project-status-actions .edit-button:hover{background:#e6a800;background:var(--color-primary-hover)}.group-member-selector .group-member-grid{grid-gap:6px;grid-gap:var(--spacing-sm);display:grid;gap:6px;gap:var(--spacing-sm);grid-template-columns:repeat(4,1fr)}.group-member-selector .group-member-grid .tag-filter{text-align:left;width:100%}.group-member-selector .group-member-grid .tag-filter:hover{color:#000;color:var(--color-bg-primary)}.project-extra-info{margin-top:20px;margin-top:var(--spacing-2xl)}.project-extra-section+.project-extra-section{margin-top:12px;margin-top:var(--spacing-lg)}:root{--color-primary:#ffbd39;--color-primary-dark:#e6a800;--color-primary-hover:#e6a800;--color-bg-primary:#000;--color-bg-secondary:#111;--color-bg-tertiary:#1a1a1a;--color-bg-quaternary:#333;--color-bg-quinary:#444;--color-bg-senary:#2a2a2a;--color-text-primary:#ddd;--color-text-secondary:#fff;--color-text-tertiary:#999;--color-text-quaternary:#666;--color-border-primary:#333;--color-border-secondary:#555;--color-border-tertiary:#e1e8ed;--color-border-quaternary:#222;--color-border-gray:#3c3c3c;--color-success:#ffbd39;--color-success-hover:#e6a800;--color-success-green:#10b981;--color-success-green-hover:#1c9069;--color-error:#dc3545;--color-error-hover:#c82333;--color-warning:#e6a800;--color-link:#ffbd39;--color-link-hover:#e6a800;--color-featured:gold;--color-rating-star:#fbbf24;--color-primary-alpha-10:#ffbd391a;--color-primary-alpha-30:#ffbd394d;--color-score-excellent:#ffbd39;--color-score-excellent-dark:#e7ab32;--color-score-good:#cc9a3f;--color-score-good-dark:#b28945;--color-score-fair:#9a7845;--color-score-fair-dark:#826842;--color-score-poor:#6c573c;--color-score-poor-dark:#574835;--border-radius-xs:3px;--border-radius-sm:4px;--border-radius-md:6px;--border-radius:8px;--border-radius-lg:10px;--border-radius-xl:12px;--border-radius-xxl:20px;--border-radius-circle:50%;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:22px;--font-size-3xl:24px;--font-size-4xl:28px;--font-size-responsive-sm:1.1rem;--font-size-responsive-md:1.3rem;--font-size-responsive-lg:1.5rem;--font-size-responsive-xl:2rem;--shadow-xs:0 2px 8px #0000000d;--shadow-sm:0 4px 12px #0000001a;--shadow-md:0 10px 40px #0003;--shadow-lg:0 4px 20px #0000004d;--shadow-xl:0 8px 32px #0000004d;--transition-duration:0.3s;--transition-timing:ease;--transition-fast:all 0.3s ease;--z-base:1;--z-modal:1000;--z-notification:100000;--overlay-bg:#000c;--opacity-high:0.95;--opacity-medium:0.8;--opacity-low:0.5;--spacing-2xs:2px;--spacing-xs:4px;--spacing-sm:6px;--spacing-md:8px;--spacing-base:10px;--spacing-lg:12px;--spacing-xl:15px;--spacing-2xl:20px;--spacing-3xl:25px;--spacing-4xl:30px;--spacing-5xl:40px;--spacing-gap-half:4px;--spacing-gap-small:7.5px;--spacing-header-height:60px;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800}button:active,button:focus,button:focus-visible{box-shadow:none!important;outline:none!important}.btn-base{background:#ffbd39;background:var(--color-primary);border-radius:8px;border-radius:var(--border-radius);color:#000;color:var(--color-bg-primary);cursor:pointer;font-size:16px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);transition:all .3s ease;transition:var(--transition-fast)}.btn-base:hover{background:#e6a800;background:var(--color-primary-hover)}.btn-base i{font-size:16px;font-size:var(--font-size-base)}.login-box .primary-action-btn,.primary-action-btn{background-color:#ffbd39;background-color:var(--color-primary);border:2px solid #ffbd39;border:2px solid var(--color-primary);border-radius:8px;border-radius:var(--border-radius);color:#000;color:var(--color-bg-primary);cursor:pointer;font-size:16px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);padding:12px 10px;padding:var(--spacing-lg) var(--spacing-base);transition:all .3s ease;transition:var(--transition-fast);width:100%}.login-box .primary-action-btn:hover,.primary-action-btn:hover{background-color:#e6a800;background-color:var(--color-primary-hover);border-color:#e6a800;border-color:var(--color-primary-hover);box-shadow:0 4px 12px #ffbd394d;box-shadow:0 4px 12px var(--color-primary-alpha-30);transform:translateY(-1px)}.login-box .primary-action-btn i,.primary-action-btn i{font-size:16px;font-size:var(--font-size-base)}.add-comment button,.create-post .submit-button,.submit-button{background:#ffbd39;background:var(--color-primary);border:none;border-radius:8px;border-radius:var(--border-radius);color:#000;color:var(--color-bg-primary);cursor:pointer;font-size:16px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);padding:12px 20px;padding:var(--spacing-lg) var(--spacing-2xl);transition:all .3s ease;transition:var(--transition-fast)}.add-comment button:hover,.create-post .submit-button:hover,.submit-button:hover{background:#e6a800;background:var(--color-primary-hover)}.add-link-button,.add-tag-justification-button,.create-post .submit-button{align-self:flex-end;box-sizing:border-box;height:-webkit-fit-content;height:fit-content}.add-link-button,.add-tag-justification-button{background:#ffbd39;background:var(--color-primary);border:none;border-radius:8px;border-radius:var(--border-radius);color:#000;color:var(--color-bg-primary);cursor:pointer;font-size:16px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:10px;margin-bottom:var(--spacing-base);padding:12px 20px;padding:var(--spacing-lg) var(--spacing-2xl);transition:background .3s;transition:background var(--transition-duration);white-space:nowrap}.add-link-button:hover,.add-tag-justification-button:hover{background:#e6a800;background:var(--color-primary-hover)}.add-link-button:disabled{background:#666;background:var(--color-text-quaternary);cursor:not-allowed}.forgot-password-link{background:#0000;border:none;color:#ffbd39;color:var(--color-link);cursor:pointer;font-size:14px;font-size:var(--font-size-sm);margin:10px 0 12px;margin:var(--spacing-base) 0 var(--spacing-lg);padding:0;text-align:left}.forgot-password-link:hover{color:#e6a800;color:var(--color-link-hover)}.post-content-input{background:#111;background:var(--color-bg-secondary);border:2px solid #e1e8ed;border:2px solid var(--color-border-tertiary);border-radius:8px;border-radius:var(--border-radius);color:#ddd;color:var(--color-text-primary);font-family:inherit;font-size:16px;font-size:var(--font-size-base);margin-bottom:15px;margin-bottom:var(--spacing-xl);min-height:100px;padding:12px;padding:var(--spacing-lg);resize:vertical;width:100%}.post-content-input:focus{border-color:#fff;border-color:var(--color-text-secondary);outline:none}.badge-count{background:#dc3545;background:var(--color-error);border-radius:50%;color:#fff;font-size:12px;font-size:var(--font-size-xs);font-weight:600;font-weight:var(--font-weight-semibold);min-width:18px;padding:2px 6px;padding:var(--spacing-2xs) var(--spacing-sm);text-align:center}.notification-content{flex:1 1}.feedback-flex{align-items:center;display:flex;gap:10px;gap:var(--spacing-base)}.half-width{flex:0 0 calc(50% - 8px);flex:0 0 calc(50% - var(--spacing-md));width:calc(50% - 8px);width:calc(50% - var(--spacing-md))}.grade-domain-total{align-items:center;border-bottom:1px solid #e1e8ed;border-bottom:1px solid var(--color-border-tertiary);display:flex;justify-content:space-between;padding:6px 0;padding:var(--spacing-sm) 0}.grade-domain-total:last-child{border-bottom:none}.grade-total-hours,.time-log-domain{color:#ffbd39;color:var(--color-primary);font-weight:600;font-weight:var(--font-weight-semibold)}.time-log-domain{background-color:#333;background-color:var(--color-bg-quaternary);border:1px solid #ffbd39;border:1px solid var(--color-primary);border-radius:4px;border-radius:var(--border-radius-sm);display:inline-block;font-size:12px;font-size:var(--font-size-xs);padding:4px 8px;padding:var(--spacing-xs) var(--spacing-md);width:-webkit-fit-content;width:fit-content}.projects-content{margin-bottom:20px;margin-bottom:var(--spacing-2xl)}.time-logs-transcript-content{margin-top:15px;margin-top:var(--spacing-xl)}.project-info{flex:1 1}.project-description-section{margin-top:12px;margin-top:var(--spacing-lg)}.project-on-hold{background:#1a1a1a;background:var(--color-bg-tertiary);opacity:.6}.project-on-hold .project-description,.project-on-hold .project-title{color:#999;color:var(--color-text-tertiary)}.drag-over{background-color:#ffbd391a;background-color:var(--color-primary-alpha-10);border-color:#ffbd39;border-color:var(--color-primary)}.category-name{color:#ddd;color:var(--color-text-primary);font-weight:600;font-weight:var(--font-weight-semibold)}.category-count{color:#999;color:var(--color-text-tertiary);font-size:14px;font-size:var(--font-size-sm)}.skill-average-card-none{background:#1a1a1a;background:var(--color-bg-tertiary);border:2px solid #333;border:2px solid var(--color-border-primary)}.class-type-section,.skill-summary-item{margin-bottom:15px;margin-bottom:var(--spacing-xl)}.skill-comments{margin-top:12px;margin-top:var(--spacing-lg)}.max-w-full{max-width:100%}.h-auto{height:auto}.rounded{border-radius:8px;border-radius:var(--border-radius)}*{box-sizing:border-box;margin:0;padding:0}.add-link-button,.add-tag-justification-button,.create-post .submit-button,.login-box button,.skill-arrow{transform:translateZ(0);will-change:transform}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#000;background:var(--color-bg-primary);color:#ddd;color:var(--color-text-primary);font-family:Poppins,sans-serif;text-rendering:optimizeLegibility}:focus{outline:2px solid #ffbd39;outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-contrast:high){:root{--color-border-primary:#fff;--color-text-primary:#fff}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.login-container{align-items:center;background:linear-gradient(135deg,#000,#000);background:linear-gradient(135deg,var(--color-bg-primary) 0,var(--color-bg-primary) 100%);display:flex;justify-content:center;min-height:100vh}.login-box{background:#111;background:var(--color-bg-secondary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:12px;border-radius:var(--border-radius-xl);box-shadow:0 10px 40px #0003;box-shadow:var(--shadow-md);max-width:500px;padding:40px;padding:var(--spacing-5xl);transition:all .3s ease;transition:var(--transition-fast);width:100%}.login-box h1{color:#ffbd39;color:var(--color-primary);margin-bottom:10px;margin-bottom:var(--spacing-base);text-align:center}.login-box h2{color:#ddd;color:var(--color-text-primary);font-size:22px;font-size:var(--font-size-2xl);margin-bottom:20px;margin-bottom:var(--spacing-2xl);text-align:center}.mode-indicator{background:#1a1a1a;background:var(--color-bg-tertiary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:10px;border-radius:var(--border-radius-lg);display:flex;margin-bottom:25px;margin-bottom:var(--spacing-3xl);padding:4px;padding:var(--spacing-xs)}.mode-tab{align-items:center;border-radius:6px;border-radius:var(--border-radius-md);color:#999;color:var(--color-text-tertiary);cursor:pointer;display:flex;flex:1 1;font-size:14px;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);gap:8px;gap:var(--spacing-md);justify-content:center;padding:12px 16px;padding:var(--spacing-lg) 16px;transition:all .3s ease;transition:var(--transition-fast)}.mode-tab:hover{background:#333;background:var(--color-bg-quaternary);color:#ddd;color:var(--color-text-primary)}.mode-tab.active{background:#ffbd39;background:var(--color-primary);color:#000;color:var(--color-bg-primary);font-weight:600;font-weight:var(--font-weight-semibold)}.mode-tab i{font-size:16px;font-size:var(--font-size-base)}.account-type-toggle{background:#1a1a1a;background:var(--color-bg-tertiary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:10px;border-radius:var(--border-radius-lg);display:flex;margin-bottom:15px;margin-bottom:var(--spacing-xl);padding:4px;padding:var(--spacing-xs)}.account-type-tab{align-items:center;border-radius:6px;border-radius:var(--border-radius-md);color:#999;color:var(--color-text-tertiary);cursor:pointer;display:flex;flex:1 1;font-size:14px;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);gap:8px;gap:var(--spacing-md);justify-content:center;padding:12px 16px;padding:var(--spacing-lg) 16px;transition:all .3s ease;transition:var(--transition-fast)}.account-type-tab:hover{background:#333;background:var(--color-bg-quaternary);color:#ddd;color:var(--color-text-primary)}.account-type-tab.active{background:#ffbd39;background:var(--color-primary);color:#000;color:var(--color-bg-primary);font-weight:600;font-weight:var(--font-weight-semibold)}.account-type-tab i{font-size:16px;font-size:var(--font-size-base)}.signup-extra-fields{margin-bottom:15px;margin-bottom:var(--spacing-xl)}.login-box h3{color:#ddd;color:var(--color-text-primary);font-size:16px;font-size:var(--font-size-base);margin-bottom:20px;margin-bottom:var(--spacing-2xl);text-align:center}.form-input-base{font-family:inherit}.add-tag-section input,.class-assignment-input input,.class-assignment-input select,.class-description-input,.form-input-base,.login-box input,.profile-grade-dropdown,.project-type-dropdown,.student-dropdown,.student-select-dropdown,input[type=date]{background-color:#111;background-color:var(--color-bg-secondary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);color:#ddd;color:var(--color-text-primary);font-size:16px;font-size:var(--font-size-base);padding:12px;padding:var(--spacing-lg);transition:border-color .3s;transition:border-color var(--transition-duration)}.add-tag-section input,.class-assignment-input input,.class-assignment-input select,.class-description-input,.login-box input,.profile-grade-dropdown,.project-type-dropdown,.student-dropdown,.student-select-dropdown,input[type=date]{margin-bottom:15px;margin-bottom:var(--spacing-xl);width:100%}input:focus,select:focus,textarea:focus{border-color:#fff;border-color:var(--color-text-secondary);outline:none}.login-box .primary-action-btn{gap:8px;gap:var(--spacing-md);margin-bottom:15px;margin-bottom:var(--spacing-xl)}.login-box .primary-action-btn,.toggle-btn{align-items:center;display:flex;justify-content:center}.toggle-btn{background-color:initial;border:1px solid #555;border:1px solid var(--color-border-secondary);border-radius:8px;border-radius:var(--border-radius);color:#999;color:var(--color-text-tertiary);cursor:pointer;font-size:14px;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);gap:6px;gap:var(--spacing-sm);margin-bottom:10px;margin-bottom:var(--spacing-base);padding:12px;padding:var(--spacing-lg);transition:all .3s ease;transition:var(--transition-fast);width:100%}.toggle-btn:hover{background-color:#1a1a1a;background-color:var(--color-bg-tertiary);border-color:#333;border-color:var(--color-border-primary);color:#ddd;color:var(--color-text-primary)}.toggle-btn i{font-size:14px;font-size:var(--font-size-sm)}.app-container{display:flex;flex-direction:column;min-height:100vh}.header{align-items:center;background:#000;background:var(--color-bg-primary);box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;opacity:.95;opacity:var(--opacity-high);padding:20px 40px;padding:var(--spacing-2xl) var(--spacing-5xl)}.header h1{color:#ffbd39;color:var(--color-primary);font-size:28px;font-size:var(--font-size-4xl);font-weight:700;font-weight:var(--font-weight-bold)}.user-info{align-items:center;display:flex;gap:20px;gap:var(--spacing-2xl)}.user-info span{color:#ddd;color:var(--color-text-primary);font-size:20px;font-size:var(--font-size-xl)}.user-info button,.user-info span{font-weight:600;font-weight:var(--font-weight-semibold)}.user-info button{background-color:initial;border:2px solid #ffbd39;border:2px solid var(--color-primary);border-radius:8px;border-radius:var(--border-radius);color:#ffbd39;color:var(--color-primary);cursor:pointer;font-size:16px;font-size:var(--font-size-base);margin-bottom:10px;margin-bottom:var(--spacing-base);padding:12px;padding:var(--spacing-lg);transition:background .3s;transition:background var(--transition-duration);width:100%}.user-info button:hover{background-color:#ffbd39;background-color:var(--color-primary);color:#000;color:var(--color-bg-primary)}.link-input-group input,.modal-content input{background-color:#111;background-color:var(--color-bg-secondary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);color:#ddd;color:var(--color-text-primary);font-size:16px;font-size:var(--font-size-base);padding:12px;padding:var(--spacing-lg);transition:border-color .3s;transition:border-color var(--transition-duration)}.modal-content input{display:flex;flex-wrap:wrap;gap:10px;gap:var(--spacing-base)}.link-input-group input{font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:10px;margin-bottom:var(--spacing-base);width:100%}.link-input-group input:focus{border-color:#fff;border-color:var(--color-text-secondary);outline:none}.add-comment textarea,.create-post textarea,.edit-post-form textarea,.form-textarea-base,.kanban-board textarea,.modal-content textarea,.post-description-input,.project-edit-form textarea,.subtask-edit-form textarea,.tag-justification-textarea{background:#111;background:var(--color-bg-secondary);border:2px solid #e1e8ed;border:2px solid var(--color-border-tertiary);border-radius:8px;border-radius:var(--border-radius);color:#ddd;color:var(--color-text-primary);font-family:inherit;font-size:16px;font-size:var(--font-size-base);padding:12px;padding:var(--spacing-lg);resize:vertical}.modal-content textarea{border-color:#333;border-color:var(--color-border-primary);min-height:100px;width:100%}.create-post textarea,.edit-post-form textarea{font-weight:600;font-weight:var(--font-weight-semibold);min-height:150px;width:100%}.post-description-input{border-color:#333;border-color:var(--color-border-primary);min-height:80px;width:100%}.create-post textarea{margin-bottom:15px;margin-bottom:var(--spacing-xl)}.edit-post-form textarea{margin-bottom:12px;margin-bottom:var(--spacing-lg)}.add-comment textarea{flex:1 1;min-height:40px;transition:border-color .3s;transition:border-color var(--transition-duration)}.tag-justification-textarea{min-height:80px}.profile-grade-dropdown,.tag-justification-textarea{transition:border-color .3s;transition:border-color var(--transition-duration);width:100%}.profile-grade-dropdown{background-color:#111;background-color:var(--color-bg-secondary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);color:#ddd;color:var(--color-text-primary);font-size:16px;font-size:var(--font-size-base);margin-bottom:15px;margin-bottom:var(--spacing-xl);padding:12px;padding:var(--spacing-lg)}.profile-grade-dropdown option{background:#111;background:var(--color-bg-secondary);color:#ddd;color:var(--color-text-primary)}.modal-overlay{align-items:flex-start;justify-content:flex-end;padding:20px;padding:var(--spacing-2xl)}.modal-content{border-radius:12px;border-radius:var(--border-radius-xl);box-shadow:0 4px 20px #0000004d;box-shadow:var(--shadow-lg);margin-top:40px;margin-top:var(--spacing-5xl);max-height:90vh;max-width:400px;padding:var(--spacing-4xl);width:100%}.modal-content h2{color:#ffbd39;color:var(--color-primary);font-size:24px;font-size:var(--font-size-3xl)}.modal-content label{color:#ddd;color:var(--color-text-primary);display:block;font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:8px;margin-bottom:var(--spacing-md)}.modal-content input,.modal-content select,.modal-content textarea{margin-bottom:15px;margin-bottom:var(--spacing-xl)}.modal-content button,.modal-content input+label,.modal-content select+label,.modal-content textarea+label{margin-top:15px;margin-top:var(--spacing-xl)}.modal-content button{background:#ffbd39;background:var(--color-primary);border:none;border-radius:8px;border-radius:var(--border-radius);color:#000;color:var(--color-bg-primary);cursor:pointer;font-size:16px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);padding:12px;padding:var(--spacing-lg);transition:background .3s;transition:background var(--transition-duration);width:100%}.modal-content button:hover{background:#e6a800;background:var(--color-primary-hover)}.modal-content button:last-child{background:#0000;border:2px solid #ffbd39;border:2px solid var(--color-primary);color:#ffbd39;color:var(--color-primary)}.modal-content button:last-child:hover{background:#ffbd39;background:var(--color-primary);color:#000;color:var(--color-bg-primary)}.main-content{display:flex;flex:1 1;gap:30px;gap:var(--spacing-4xl);margin:0 auto;max-width:1400px;padding:30px;padding:var(--spacing-4xl);width:100%}.sidebar{background:#111;background:var(--color-bg-secondary);border-radius:12px;border-radius:var(--border-radius-xl);box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-xs);height:calc(100vh - 60px);height:calc(100vh - var(--spacing-header-height));max-width:250px;min-width:250px;overflow-x:hidden;overflow-y:auto;padding:20px;padding:var(--spacing-2xl);position:-webkit-sticky;position:sticky;top:30px;top:var(--spacing-4xl);width:250px}.sidebar::-webkit-scrollbar{display:none}.sidebar{-ms-overflow-style:none;scrollbar-width:none}.sidebar h3{font-size:18px;font-size:var(--font-size-lg);margin-bottom:15px;margin-bottom:var(--spacing-xl)}.sidebar h3,.tag-filter{color:#ffbd39;color:var(--color-primary)}.tag-filter{background-color:initial;border:2px solid #ffbd39;border:2px solid var(--color-primary);border-radius:8px;border-radius:var(--border-radius);cursor:pointer;font-size:16px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:10px;margin-bottom:var(--spacing-base);padding:12px;padding:var(--spacing-lg);transition:background .3s;transition:background var(--transition-duration);width:100%}.tag-filter:hover{background-color:#ffbd39;background-color:var(--color-primary);color:#fff;color:var(--color-text-secondary)}.tag-filter.active{background:#ffbd39;background:var(--color-primary);border:2px solid #ffbd39;border:2px solid var(--color-primary);color:#000;color:var(--color-bg-primary)}.teacher-view-btn{width:100%}.add-comment button:focus,.add-link-button:focus,.add-tag-justification-button:focus,.add-tag-section button:focus,.create-post .submit-button:focus,.login-box button:focus,.modal-content button:focus,.tag-filter:focus{outline:none}.add-tag-section{border-top:2px solid #3c3c3c;border-top:2px solid var(--color-border-gray);margin-top:30px;margin-top:var(--spacing-4xl);padding-top:20px;padding-top:var(--spacing-2xl)}.add-tag-section:first-child{border-top:none;margin-top:0;padding-top:0}.add-tag-section button{background-color:initial;border:2px solid #ffbd39;border:2px solid var(--color-primary);border-radius:8px;border-radius:var(--border-radius);color:#ffbd39;color:var(--color-primary);cursor:pointer;font-size:16px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:10px;margin-bottom:var(--spacing-base);padding:12px;padding:var(--spacing-lg);transition:background .3s;transition:background var(--transition-duration);width:100%}.add-tag-section button:hover{background-color:#ffbd39;background-color:var(--color-primary);color:#000;color:var(--color-bg-primary)}.class-type-list,.tag-list{background-color:#111;background-color:var(--color-bg-secondary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:4px;border-radius:var(--border-radius-sm);margin-top:10px;margin-top:var(--spacing-base);max-height:150px;overflow-y:auto}.class-type-item,.tag-item{align-items:center;border-bottom:1px solid #222;border-bottom:1px solid var(--color-border-quaternary);display:flex;font-size:14px;font-size:var(--font-size-sm);justify-content:space-between;padding:8px 12px;padding:var(--spacing-md) var(--spacing-lg)}.class-type-item:last-child,.tag-item:last-child{border-bottom:none}.class-type-name{color:#ddd;color:var(--color-text-primary);flex:1 1}.class-type-delete-btn,.tag-delete-btn{background:none!important;border:none!important;border-radius:3px!important;border-radius:var(--border-radius-xs)!important;color:#dc3545!important;color:var(--color-error)!important;cursor:pointer;font-size:12px!important;font-size:var(--font-size-xs)!important;font-weight:400!important;margin-bottom:0!important;padding:2px 6px!important;padding:var(--spacing-2xs) var(--spacing-sm)!important;transition:background-color .3s;transition:background-color var(--transition-duration);width:auto!important}.class-type-delete-btn:hover,.tag-delete-btn:hover{background-color:var(--color-error-alpha-10)!important}.tag-name{color:#ddd;color:var(--color-text-primary);flex:1 1}.icon-picker{align-items:center;display:flex;gap:8px;gap:var(--spacing-md);margin:10px 0;margin:var(--spacing-base) 0}.icon-picker label{font-weight:500;font-weight:var(--font-weight-medium);min-width:40px}.icon-picker label,.icon-select{color:#ddd;color:var(--color-text-primary);font-size:14px;font-size:var(--font-size-sm)}.icon-select{background-color:#222;background-color:var(--color-border-quaternary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:4px;border-radius:var(--border-radius-sm);flex:1 1;outline:none;padding:8px 12px;padding:var(--spacing-md) var(--spacing-lg);transition:border-color .3s;transition:border-color var(--transition-duration)}.icon-select:focus{border-color:#e6a800;border-color:var(--color-primary-hover)}.icon-select option{background-color:#222;background-color:var(--color-border-quaternary);color:#ddd;color:var(--color-text-primary)}.class-description-input{background-color:#111;background-color:var(--color-bg-secondary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);color:#ddd;color:var(--color-text-primary);font-family:inherit;font-size:16px;font-size:var(--font-size-base);height:48px;margin:0;outline:none;padding:12px;padding:var(--spacing-lg);resize:none;transition:border-color .3s;transition:border-color var(--transition-duration)}.class-description-input::placeholder{color:#666;color:var(--color-text-quaternary)}.student-class-details{display:flex;flex:1 1;flex-direction:column;gap:4px;gap:var(--spacing-xs);margin-right:12px;margin-right:var(--spacing-lg)}.student-class-description{color:#999;color:var(--color-text-tertiary);font-size:var(--font-size-s);font-style:italic;line-height:1.4;white-space:pre-wrap}.student-class-type{align-self:center;background-color:#333;background-color:var(--color-bg-quaternary);border:1px solid #444;border:1px solid var(--color-bg-quinary);border-radius:12px;border-radius:var(--border-radius-xl);color:#ffbd39;color:var(--color-primary);font-size:12px;font-size:var(--font-size-xs);font-weight:600;font-weight:var(--font-weight-semibold);padding:4px 8px;padding:var(--spacing-xs) var(--spacing-md);white-space:nowrap}.grade-section-header{border-bottom:2px solid #333;border-bottom:2px solid var(--color-border-primary);color:#ffbd39;color:var(--color-primary);font-size:20px;font-size:var(--font-size-xl);margin:0 0 12px;margin:0 0 var(--spacing-lg) 0;padding:12px 0;padding:var(--spacing-lg) 0}.class-assignment-form{flex-direction:column}.class-assignment-form,.form-row{gap:20px;gap:var(--spacing-2xl);width:100%}.form-row{align-items:flex-start}.form-row:first-child .class-assignment-input{flex:0 0 calc(50% - 8px);flex:0 0 calc(50% - var(--spacing-md));width:calc(50% - 8px);width:calc(50% - var(--spacing-md))}.form-row:nth-child(2) .class-assignment-input{flex:1 1}.class-assignment-button{flex-shrink:0;margin-left:auto}.student-selection-container{flex:1 1;margin-right:20px;margin-right:var(--spacing-2xl)}.student-selection-label{color:#ddd;color:var(--color-text-primary);display:block;font-size:14px;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);margin-bottom:8px;margin-bottom:var(--spacing-md)}.student-checkbox-list{background-color:#111;background-color:var(--color-bg-secondary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);max-height:120px;overflow-y:auto;padding:8px;padding:var(--spacing-md)}.student-checkbox-item{align-items:center;color:#ddd;color:var(--color-text-primary);cursor:pointer;display:flex;font-size:14px;font-size:var(--font-size-sm);padding:4px 0;padding:var(--spacing-xs) 0}.student-checkbox-item input[type=checkbox]{accent-color:#ffbd39;accent-color:var(--color-primary);flex:0 0 10%;margin-right:6px;margin-right:var(--spacing-sm);max-width:10%;outline:none}.student-checkbox-item input[type=checkbox]:focus{outline:none}.student-checkbox-name{flex:0 0 90%;max-width:90%}.feed{flex:1 1}.create-post{background:#111;background:var(--color-bg-secondary);border:2px solid #ffbd39;border:2px solid var(--color-primary);border-radius:12px;border-radius:var(--border-radius-xl);box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-xs);margin-bottom:30px;margin-bottom:var(--spacing-4xl);padding:25px;padding:var(--spacing-3xl)}.create-post h2{color:#ddd;color:var(--color-text-primary)}.create-post h2,.markdown-preview{margin-bottom:15px;margin-bottom:var(--spacing-xl)}.markdown-preview{background:#111;background:var(--color-bg-secondary);border:2px solid #e1e8ed;border:2px solid var(--color-border-tertiary);border-radius:8px;border-radius:var(--border-radius);padding:15px;padding:var(--spacing-xl)}.markdown-preview h4{color:#ddd;color:var(--color-text-primary);font-size:16px;font-size:var(--font-size-base);margin-bottom:10px;margin-bottom:var(--spacing-base)}.preview-content{background:#111;background:var(--color-bg-secondary);border-radius:6px;border-radius:var(--border-radius-md);line-height:1.6;padding:10px;padding:var(--spacing-base)}.preview-content img{border-radius:8px;border-radius:var(--border-radius);height:auto;margin:10px 0;margin:var(--spacing-base) 0;max-width:50%}.preview-content h1{color:#ffbd39;color:var(--color-primary)}.preview-content h1,.preview-content h2,.preview-content h3{margin-bottom:10px;margin-bottom:var(--spacing-base);margin-top:15px;margin-top:var(--spacing-xl)}.preview-content h2,.preview-content h3,.preview-content p{color:#fff;color:var(--color-text-secondary)}.preview-content p{margin-bottom:10px;margin-bottom:var(--spacing-base)}.time-logging-section p{line-height:1.6;margin-bottom:15px;margin-bottom:var(--spacing-xl)}.preview-content a{color:#ffbd39;color:var(--color-primary);margin-bottom:10px;margin-bottom:var(--spacing-base);text-decoration:none}.preview-content code{border-radius:3px;border-radius:var(--border-radius-xs);font-family:inherit;font-size:14px;font-size:var(--font-size-sm);padding:2px 6px;padding:var(--spacing-2xs) var(--spacing-sm)}.preview-content code,.preview-content pre{background:#222;background:var(--color-border-quaternary);color:#ddd;color:var(--color-text-primary)}.preview-content pre{border-radius:6px;border-radius:var(--border-radius-md);margin:10px 0;margin:var(--spacing-base) 0;overflow-x:auto;padding:12px;padding:var(--spacing-lg)}.preview-content ol,.preview-content ul{margin-bottom:10px;margin-bottom:var(--spacing-base);margin-left:20px;margin-left:var(--spacing-2xl)}input:not(:focus),select:not(:focus),textarea:not(:focus){border-color:#333;border-color:var(--color-border-primary)}.create-post .tag-btn{background:#ffbd39!important;background:var(--color-primary)!important;border:1px solid #0000;border-radius:20px;border-radius:var(--border-radius-xxl);color:#000!important;color:var(--color-bg-primary)!important;cursor:pointer;font-size:14px;font-size:var(--font-size-sm);padding:4px 10px;padding:var(--spacing-xs) var(--spacing-base);transition:all .3s;transition:all var(--transition-duration)}.create-post .tag-btn.selected,.create-post .tag-btn:hover{background:#e6a800!important;background:var(--color-primary-hover)!important}.create-post .tag-btn.selected{border-color:#e6a800;border-color:var(--color-primary-hover);color:#ddd!important;color:var(--color-text-primary)!important;transform:scale(1.005)}.link-upload{margin-bottom:15px;margin-bottom:var(--spacing-xl)}.link-input-form{align-items:flex-start;display:flex;gap:10px;gap:var(--spacing-base);margin-bottom:10px;margin-bottom:var(--spacing-base)}.tag-justification-upload{margin-bottom:15px;margin-bottom:var(--spacing-xl)}.tag-justification-upload label{color:#666;color:var(--color-text-quaternary);display:block;font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:8px;margin-bottom:var(--spacing-md)}.tag-justification-input-form{align-items:flex-end;display:flex;gap:10px;gap:var(--spacing-base);margin-bottom:10px;margin-bottom:var(--spacing-base)}.tag-justification-input-group{display:flex;flex:1 1;flex-direction:column}.tag-justification-input-group select,.tag-justification-input-group textarea{margin-bottom:0}.tag-justification-dropdown{border:2px solid #e1e8ed;border:2px solid var(--color-border-tertiary);border-radius:8px;border-radius:var(--border-radius)}.kanban-board input,.post-title-input,.project-edit-form input,.subtask-edit-form input,.tag-justification-dropdown{background:#111;background:var(--color-bg-secondary);color:#ddd;color:var(--color-text-primary);font-size:16px;font-size:var(--font-size-base);padding:12px;padding:var(--spacing-lg);transition:border-color .3s;transition:border-color var(--transition-duration);width:100%}.kanban-board input,.post-title-input,.project-edit-form input,.subtask-edit-form input{border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:15px;margin-bottom:var(--spacing-xl)}.project-edit-form input,.project-edit-form select,.project-edit-form textarea{background:#111;background:var(--color-bg-secondary);border:2px solid #333;border:2px solid var(--color-border-primary);color:#ddd;color:var(--color-text-primary);outline:none}.project-edit-form input:focus,.project-edit-form select:focus,.project-edit-form textarea:focus{border-color:#fff;border-color:var(--color-text-secondary)}.project-edit-form select{border-radius:8px;border-radius:var(--border-radius);font-size:16px;font-size:var(--font-size-base);margin-bottom:15px;margin-bottom:var(--spacing-xl);padding:12px;padding:var(--spacing-lg);transition:border-color .3s;transition:border-color var(--transition-duration);width:100%}.project-edit-actions{display:flex;gap:8px;gap:var(--spacing-md);margin-top:10px;margin-top:var(--spacing-base)}.project-type-selector{margin-bottom:15px;margin-bottom:var(--spacing-xl)}.project-type-selector label{color:#ddd;color:var(--color-text-primary);display:block;font-size:14px;font-size:var(--font-size-sm);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:8px;margin-bottom:var(--spacing-md)}.project-type-dropdown{border:2px solid #e1e8ed;border:2px solid var(--color-border-tertiary);border-radius:8px;border-radius:var(--border-radius);font-size:16px;font-size:var(--font-size-base);margin-bottom:15px;margin-bottom:var(--spacing-xl);padding:12px;padding:var(--spacing-lg);transition:border-color .3s;transition:border-color var(--transition-duration);width:100%}.project-type-dropdown,.project-type-dropdown option{background:#111;background:var(--color-bg-secondary);color:#ddd;color:var(--color-text-primary)}.profile-pic{border-radius:50%;border-radius:var(--border-radius-circle);height:40px;width:40px}.class-assignment-form{align-items:flex-end;display:flex;gap:15px;gap:var(--spacing-xl);margin-bottom:15px;margin-bottom:var(--spacing-xl)}.class-assignment-input{flex:1 1}.class-assignment-input input,.class-assignment-input select,.class-assignment-input textarea{background-color:#111;background-color:var(--color-bg-secondary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);color:#ddd;color:var(--color-text-primary);font-family:inherit;font-size:16px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);padding:12px;padding:var(--spacing-lg);transition:border-color .3s;transition:border-color var(--transition-duration);width:100%}.class-assignment-input textarea{min-height:80px;resize:vertical}.class-assignment-input input:focus,.class-assignment-input select:focus,.class-assignment-input textarea:focus{border-color:#fff;border-color:var(--color-text-secondary);outline:none}.class-assignment-button{background-color:#ffbd39;background-color:var(--color-primary);border:none;border-radius:8px;border-radius:var(--border-radius);color:#000;color:var(--color-bg-primary);cursor:pointer;font-size:14px;font-size:var(--font-size-sm);font-weight:600;font-weight:var(--font-weight-semibold);padding:.5rem 1rem;transition:background-color .3s;transition:background-color var(--transition-duration);white-space:nowrap}.class-assignment-button:hover{background-color:#e6a800;background-color:var(--color-primary-hover)}.class-assignment-button:disabled{background-color:#666;background-color:var(--color-text-quaternary);color:#999;color:var(--color-text-tertiary);cursor:not-allowed}.flexible-assignment-list{background-color:#111;background-color:var(--color-bg-secondary);border:2px solid #333;border:2px solid var(--color-border-primary);max-height:300px;overflow-y:auto}.flexible-assignment-item,.flexible-assignment-list{border-radius:8px;border-radius:var(--border-radius);padding:8px;padding:var(--spacing-md)}.flexible-assignment-item{align-items:center;background-color:#1a1a1a;background-color:var(--color-bg-tertiary);border:1px solid #333;border:1px solid var(--color-border-primary);display:flex;margin-bottom:6px;margin-bottom:var(--spacing-sm);min-height:60px;transition:all .3s ease;transition:var(--transition-fast)}.flexible-assignment-item:hover{background-color:#333;background-color:var(--color-bg-quaternary);border-color:#555;border-color:var(--color-border-secondary)}.flexible-assignment-item:last-child{margin-bottom:0}.flexible-assignment-item .student-checkbox-item{flex:1 1;margin-bottom:0}.grade-assignment{align-items:center;display:flex;gap:6px;gap:var(--spacing-sm);justify-content:flex-end;margin-left:8px;margin-left:var(--spacing-md);min-width:200px}.grade-assignment.hidden{visibility:hidden}.grade-assignment label{color:#ddd;color:var(--color-text-primary);font-weight:500;white-space:nowrap}.grade-assignment select{background-color:#111;background-color:var(--color-bg-secondary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);color:#ddd;color:var(--color-text-primary);font-size:14px;font-size:var(--font-size-sm);min-width:120px;padding:6px 8px;padding:var(--spacing-sm) var(--spacing-md)}.grade-assignment select:focus{border-color:#ffbd39;border-color:var(--color-primary);box-shadow:0 0 0 2px #ffbd394d;box-shadow:0 0 0 2px var(--color-primary-alpha-30);outline:none}.grade-assignment select:not(:focus){border-color:#333;border-color:var(--color-border-primary)}.class-info-section{background-color:#1a1a1a;background-color:var(--color-bg-tertiary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);margin:8px 0;margin:var(--spacing-md) 0;padding:8px;padding:var(--spacing-md)}.class-info-section h4{color:#ddd;color:var(--color-text-primary);font-size:18px;font-size:var(--font-size-lg);margin:0 0 6px;margin:0 0 var(--spacing-sm) 0}.class-info-section p{color:#ddd;color:var(--color-text-primary);font-size:14px;font-size:var(--font-size-sm);margin:4px 0;margin:var(--spacing-xs) 0}.class-info-section p strong{color:#fff;color:var(--color-text-secondary)}.assigned-classes-list{list-style:none;margin:6px 0;margin:var(--spacing-sm) 0;padding:0}.assigned-class-item{align-items:center;background-color:#1a1a1a;background-color:var(--color-bg-tertiary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);display:flex;justify-content:space-between;margin-bottom:4px;margin-bottom:var(--spacing-xs);padding:6px 8px;padding:var(--spacing-sm) var(--spacing-md);transition:all .3s ease;transition:var(--transition-fast)}.assigned-class-item:hover{background-color:#333;background-color:var(--color-bg-quaternary);border-color:#555;border-color:var(--color-border-secondary)}.assigned-class-content{align-items:center;display:flex;flex:1 1}.assigned-class-content i{color:#ffbd39;color:var(--color-primary);font-size:14px;font-size:var(--font-size-sm);margin-right:6px;margin-right:var(--spacing-sm)}.assigned-class-text{color:#ddd;color:var(--color-text-primary);font-size:14px;font-size:var(--font-size-sm)}.student-classes-container{background-color:#1a1a1a;background-color:var(--color-bg-tertiary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:12px;border-radius:var(--border-radius-xl);margin-bottom:25px;margin-bottom:var(--spacing-3xl);margin-top:25px;margin-top:var(--spacing-3xl);padding:25px;padding:var(--spacing-3xl)}.student-classes-list{display:flex;flex-direction:column;gap:10px;gap:var(--spacing-base)}.student-class-item{align-items:center;background-color:#111;background-color:var(--color-bg-secondary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:12px;border-radius:var(--border-radius-xl);display:flex;margin-bottom:15px;margin-bottom:var(--spacing-xl);padding:20px;padding:var(--spacing-2xl);transition:all .3s ease;transition:var(--transition-fast)}.student-class-item:last-child{margin-bottom:0}.student-class-icon{color:#ffbd39;color:var(--color-primary);font-size:16px;font-size:var(--font-size-base);margin-right:12px;margin-right:var(--spacing-lg);text-align:center;width:20px}.student-class-name{color:#ddd;color:var(--color-text-primary);flex:1 1;font-size:18px;font-size:var(--font-size-lg)}.student-classes-empty{color:#999;color:var(--color-text-tertiary);font-style:italic;padding:20px;padding:var(--spacing-2xl);text-align:center}.category-section{margin-bottom:20px;margin-bottom:var(--spacing-2xl)}.category-section-header{border-bottom:2px solid #333;border-bottom:2px solid var(--color-border-primary);color:#fff;color:var(--color-text-secondary);font-size:18px;font-size:var(--font-size-lg);font-weight:600;font-weight:var(--font-weight-semibold);margin:0 0 12px;margin:0 0 var(--spacing-lg) 0;padding:8px 0;padding:var(--spacing-md) 0}.class-type-classes-list{display:flex;flex-direction:column;gap:0}.projects-container{background-color:#1a1a1a;background-color:var(--color-bg-tertiary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:12px;border-radius:var(--border-radius-xl);margin-bottom:25px;margin-bottom:var(--spacing-3xl);padding:25px;padding:var(--spacing-3xl)}.transcript-description{color:#999;color:var(--color-text-tertiary);font-style:italic;margin-bottom:12px;margin-bottom:var(--spacing-lg);margin-top:15px;margin-top:var(--spacing-xl)}.transcript-grade-section{margin-bottom:10px;margin-bottom:var(--spacing-base)}.transcript-grade-header{border-bottom:2px solid #333;border-bottom:2px solid var(--color-border-primary);color:#ffbd39;color:var(--color-primary);font-size:20px;font-size:var(--font-size-xl);margin-bottom:15px;margin-bottom:var(--spacing-xl);padding-bottom:6px;padding-bottom:var(--spacing-sm)}.transcript-post-card{background-color:#1a1a1a;background-color:var(--color-bg-tertiary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);margin-bottom:8px;margin-bottom:var(--spacing-md);padding:20px;padding:var(--spacing-2xl);position:relative}.transcript-post-card.featured{border:2px solid #ffbd39;border:2px solid var(--color-primary)}.featured-badge-corner{background-color:#333;background-color:var(--color-bg-quaternary);border:1px solid #ffbd39;border:1px solid var(--color-primary);border-radius:4px;border-radius:var(--border-radius-sm);color:#ffbd39;color:var(--color-primary);font-size:12px;font-size:var(--font-size-xs);font-weight:600;font-weight:var(--font-weight-semibold);padding:4px 8px;padding:var(--spacing-xs) var(--spacing-md);position:absolute;right:10px;top:10px;top:var(--spacing-base);z-index:1;z-index:var(--z-base)}.featured-badge-corner i{margin-right:4px;margin-right:var(--spacing-xs)}.transcript-post-title{color:#ffbd39;color:var(--color-primary);font-size:18px;font-size:var(--font-size-lg)}.transcript-post-title,.transcript-project-type{margin-bottom:6px;margin-bottom:var(--spacing-sm)}.transcript-project-type{color:#999;color:var(--color-text-tertiary);font-size:12px;font-size:var(--font-size-xs);font-weight:500;font-weight:var(--font-weight-medium);letter-spacing:.5px;text-transform:uppercase}.transcript-associated-class{align-items:center;color:#fff;color:var(--color-text-secondary);display:flex;font-size:14px;font-size:var(--font-size-sm);gap:6px;gap:var(--spacing-sm);margin-bottom:4px;margin-bottom:var(--spacing-xs)}.transcript-associated-class i{color:#ffbd39;color:var(--color-primary)}.transcript-project-description{margin-bottom:8px;margin-bottom:var(--spacing-md)}.transcript-description-text{color:#ddd;color:var(--color-text-primary);font-size:14px;font-size:var(--font-size-sm);font-style:italic;line-height:1.4;margin:4px 0 0;margin:var(--spacing-xs) 0 0 0}.transcript-links-section{margin-bottom:10px;margin-bottom:var(--spacing-base)}.transcript-section-header{color:#ddd;color:var(--color-text-primary);font-size:14px;font-size:var(--font-size-sm);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:8px;margin-bottom:var(--spacing-md)}.transcript-links-container{display:flex;flex-direction:column;gap:4px;gap:var(--spacing-xs)}.transcript-link-item{align-items:center;background-color:#333;background-color:var(--color-bg-quaternary);border:1px solid #444;border:1px solid var(--color-bg-quinary);border-radius:6px;border-radius:var(--border-radius-md);display:flex;padding:6px 10px;padding:var(--spacing-sm) var(--spacing-base)}.transcript-link-icon{color:#ffbd39;color:var(--color-primary);font-size:12px;font-size:var(--font-size-xs);margin-right:8px;margin-right:var(--spacing-md)}.transcript-link{color:#ddd;color:var(--color-text-primary);font-size:14px;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);outline:none;text-decoration:none;transition:color .3s ease;transition:color var(--transition-duration) var(--transition-timing)}.transcript-link:hover{color:#ffbd39;color:var(--color-primary)}.transcript-scores-container{display:flex;flex-wrap:wrap;gap:6px;gap:var(--spacing-sm)}.transcript-score-item{align-items:center;background-color:#333;background-color:var(--color-bg-quaternary);border:1px solid #444;border:1px solid var(--color-bg-quinary);border-radius:20px;border-radius:var(--border-radius-xxl);display:flex;padding:4px 10px;padding:var(--spacing-xs) var(--spacing-base)}.transcript-score-skill{color:#ffbd39;color:var(--color-primary);font-size:12px;font-size:var(--font-size-xs);font-weight:600;font-weight:var(--font-weight-semibold);margin-right:6px;margin-right:var(--spacing-sm)}.transcript-score-value{font-size:12px;font-size:var(--font-size-xs);font-weight:700;font-weight:var(--font-weight-bold)}.transcript-post-date{color:#999;color:var(--color-text-tertiary);font-size:12px;font-size:var(--font-size-xs);margin-top:6px;margin-top:var(--spacing-sm)}.skill-averages-container{background-color:#1a1a1a;background-color:var(--color-bg-tertiary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:12px;border-radius:var(--border-radius-xl);margin-top:25px;margin-top:var(--spacing-3xl);padding:25px;padding:var(--spacing-3xl)}.skill-averages-grid{grid-gap:15px;grid-gap:var(--spacing-xl);display:grid;gap:15px;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.skill-divider{border-top:2px solid #333;border-top:2px solid var(--color-border-primary);grid-column:1/-1;margin:20px 0;margin:var(--spacing-2xl) 0}.skill-average-card{border-radius:10px;border-radius:var(--border-radius-lg);color:#000;color:var(--color-bg-primary);padding:15px;padding:var(--spacing-xl);text-align:center}.skill-average-card-none .skill-average-count,.skill-average-card-none .skill-average-name,.skill-average-card-none .skill-average-score{color:#ddd;color:var(--color-text-primary)}.skill-average-count-excellent,.skill-average-count-fair,.skill-average-count-good,.skill-average-count-poor,.skill-average-name-excellent,.skill-average-name-fair,.skill-average-name-good,.skill-average-name-poor,.skill-average-score-excellent,.skill-average-score-fair,.skill-average-score-good,.skill-average-score-poor{color:#000;color:var(--color-bg-primary)}.skill-average-count-none,.skill-average-name-none,.skill-average-score-none{color:#ddd;color:var(--color-text-primary)}.skill-average-name{font-size:16px;font-size:var(--font-size-base);font-weight:700;font-weight:var(--font-weight-bold);text-transform:capitalize}.skill-average-name,.skill-average-score{margin-bottom:10px;margin-bottom:var(--spacing-base)}.skill-average-score{font-size:20px;font-size:var(--font-size-xl);font-weight:800;font-weight:var(--font-weight-extrabold)}.skill-average-count{font-size:12px;font-size:var(--font-size-xs);opacity:.8;opacity:var(--opacity-medium)}.form-row{display:flex;gap:15px;gap:var(--spacing-xl);margin-bottom:15px;margin-bottom:var(--spacing-xl)}.form-group{flex:1 1}.form-group.half-width{flex:0 0 calc(50% - 7.5px);flex:0 0 calc(50% - var(--spacing-gap-small));width:calc(50% - 7.5px);width:calc(50% - var(--spacing-gap-small))}.form-group label{color:#ddd;color:var(--color-text-primary);display:block;font-size:14px;font-size:var(--font-size-sm);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:8px;margin-bottom:var(--spacing-md)}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(1)}input[type=date]::-moz-calendar-picker-indicator{cursor:pointer;filter:invert(1)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-webkit-appearance:textfield;appearance:textfield}.log-activity-button{background-color:initial;border:2px solid #ffbd39;border:2px solid var(--color-primary);border-radius:8px;border-radius:var(--border-radius);color:#ffbd39;color:var(--color-primary);cursor:pointer;font-size:16px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:10px;margin-bottom:var(--spacing-base);padding:12px;padding:var(--spacing-lg);transition:background .3s;transition:background var(--transition-duration);width:100%}.log-activity-button:hover{background-color:#ffbd39;background-color:var(--color-primary);color:#000;color:var(--color-bg-primary)}.log-activity-button:disabled{cursor:not-allowed;opacity:.5;opacity:var(--opacity-low)}.log-activity-button:disabled:hover{background-color:initial;color:#ffbd39;color:var(--color-primary)}.time-logs-container{margin-top:30px;margin-top:var(--spacing-4xl)}.time-logs-container h2{color:#999;color:var(--color-text-tertiary);font-size:1.5rem;font-size:var(--font-size-responsive-lg);margin-bottom:20px;margin-bottom:var(--spacing-2xl)}.time-logs-container p{color:#fff;color:var(--color-text-secondary)}.awaiting-approval-section,.time-logs-container p{margin-bottom:25px;margin-bottom:var(--spacing-3xl)}.awaiting-approval-section{background:#111;background:var(--color-bg-secondary);border:2px solid #ffbd39;border:2px solid var(--color-primary);border-radius:12px;border-radius:var(--border-radius-xl);box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-xs);margin-top:20px;margin-top:var(--spacing-2xl);padding:20px;padding:var(--spacing-2xl)}.awaiting-approval-section h3{color:#ffbd39;color:var(--color-primary);font-size:18px;font-size:var(--font-size-lg);margin-bottom:15px;margin-bottom:var(--spacing-xl)}.individual-time-log-entry.awaiting-approval{background:#1a1a1a;background:var(--color-bg-tertiary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);margin-bottom:15px;margin-bottom:var(--spacing-xl);padding:15px;padding:var(--spacing-xl)}.individual-time-log-entry.awaiting-approval h5{color:#ddd;color:var(--color-text-primary);font-size:18px;font-size:var(--font-size-lg);font-weight:600;font-weight:var(--font-weight-semibold);margin:0 0 4px;margin:0 0 var(--spacing-xs) 0}.individual-time-log-meta{align-items:center;display:flex;gap:8px;gap:var(--spacing-md);margin-bottom:6px;margin-bottom:var(--spacing-sm)}.awaiting-badge{background:#333;background:var(--color-bg-quaternary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:12px;border-radius:var(--border-radius-xl);color:#999;color:var(--color-text-tertiary);font-size:12px;font-size:var(--font-size-xs);letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.approval-block{margin-top:20px;margin-top:var(--spacing-2xl)}.certificates-container{margin-top:30px;margin-top:var(--spacing-4xl)}.certificates-container h2{color:#999;color:var(--color-text-tertiary);font-size:1.5rem;font-size:var(--font-size-responsive-lg);margin-bottom:20px;margin-bottom:var(--spacing-2xl)}.certificates-container p{color:#fff;color:var(--color-text-secondary);margin-bottom:25px;margin-bottom:var(--spacing-3xl)}.certificate-type-section{margin-bottom:30px;margin-bottom:var(--spacing-4xl)}.certificate-type-title{border-bottom:2px solid #333;border-bottom:2px solid var(--color-border-primary);color:#fff;color:var(--color-text-secondary);font-size:1.3rem;font-size:var(--font-size-responsive-md);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:15px;margin-bottom:var(--spacing-xl);padding-bottom:8px;padding-bottom:var(--spacing-md)}.certificates-list{display:flex;flex-direction:column;gap:15px;gap:var(--spacing-xl)}.certificate-entry{background:#111;background:var(--color-bg-secondary);border:2px solid #0000;border-radius:12px;border-radius:var(--border-radius-xl);box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-xs);padding:20px;padding:var(--spacing-2xl);transition:all .3s ease;transition:var(--transition-fast)}.certificate-entry.featured{background:#333;background:var(--color-border-primary);border-color:#ffbd39;border-color:var(--color-primary)}.certificate-entry:hover{box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow-sm);transform:translateY(-2px)}.certificate-header{align-items:flex-start;border-bottom:2px solid #3c3c3c;border-bottom:2px solid var(--color-border-gray);display:flex;justify-content:space-between;margin-bottom:12px;margin-bottom:var(--spacing-lg);padding-bottom:12px;padding-bottom:var(--spacing-lg)}.certificate-main{flex:1 1}.certificate-title{color:#ffbd39;color:var(--color-primary);font-size:1.5rem;font-size:var(--font-size-responsive-lg);font-weight:600;font-weight:var(--font-weight-semibold);margin:0 0 8px;margin:0 0 var(--spacing-md) 0}.certificate-issuer{color:#fff;color:var(--color-text-secondary)}.certificate-grade,.certificate-issuer{display:block;font-size:14px;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);margin-bottom:4px;margin-bottom:var(--spacing-xs)}.certificate-grade{color:#ddd;color:var(--color-text-primary)}.certificate-meta{align-items:center;display:flex;flex-direction:column;gap:8px;gap:var(--spacing-md)}.certificate-meta .star-button{align-items:center;display:inline-flex;justify-content:center}.certificate-date{color:#999;color:var(--color-text-tertiary);font-size:12px;font-size:var(--font-size-xs);font-weight:500;font-weight:var(--font-weight-medium)}.certificate-description{border-top:1px solid #333;border-top:1px solid var(--color-border-primary);color:#ddd;color:var(--color-text-primary);font-size:16px;font-size:var(--font-size-base);line-height:1.6;margin-top:12px;margin-top:var(--spacing-lg);padding-top:12px;padding-top:var(--spacing-lg)}.domain-summary{background:#111;background:var(--color-bg-secondary);border:2px solid #ffbd39;border:2px solid var(--color-primary);border-radius:12px;border-radius:var(--border-radius-xl);box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-xs);margin-bottom:25px;margin-bottom:var(--spacing-3xl);padding:25px;padding:var(--spacing-3xl)}.domain-summary h4{color:#ffbd39;color:var(--color-primary);font-size:18px;font-size:var(--font-size-lg);margin-bottom:15px;margin-bottom:var(--spacing-xl)}.domain-name{color:#ddd;color:var(--color-text-primary);font-weight:500;font-weight:var(--font-weight-medium)}.domain-hours{font-weight:600;font-weight:var(--font-weight-semibold)}.domain-hours,.time-logs-list h4{color:#ffbd39;color:var(--color-primary)}.time-logs-list h4{font-size:18px;font-size:var(--font-size-lg);margin-bottom:15px;margin-bottom:var(--spacing-xl)}.time-log-grade-section{margin-bottom:30px;margin-bottom:var(--spacing-4xl)}.time-log-grade-header{align-items:center;border-bottom:2px solid #333;border-bottom:2px solid var(--color-border-primary);color:#ffbd39;color:var(--color-primary);display:flex;font-size:20px;font-size:var(--font-size-xl);justify-content:space-between;margin-bottom:15px;margin-bottom:var(--spacing-xl);padding-bottom:8px;padding-bottom:var(--spacing-md)}.grade-domain-summary{background:#111;background:var(--color-bg-secondary);border:2px solid #ffbd39;border:2px solid var(--color-primary);border-radius:12px;border-radius:var(--border-radius-xl);box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-xs);margin-bottom:20px;margin-bottom:var(--spacing-2xl);padding:15px;padding:var(--spacing-xl)}.time-logs-transcript-container{background-color:#1a1a1a;background-color:var(--color-bg-tertiary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:12px;border-radius:var(--border-radius-xl);margin-bottom:25px;margin-bottom:var(--spacing-3xl);margin-top:25px;margin-top:var(--spacing-3xl);padding:25px;padding:var(--spacing-3xl)}.transcript-title{color:#ffbd39;color:var(--color-primary);font-size:22px;font-size:var(--font-size-2xl);margin-bottom:20px;margin-bottom:var(--spacing-2xl);text-align:center}.transcript-time-logs-list{margin-top:15px;margin-top:var(--spacing-xl)}.transcript-time-log-entry{background:#1a1a1a;background:var(--color-bg-tertiary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);display:flex;flex-direction:column;gap:8px;gap:var(--spacing-md);margin-bottom:15px;margin-bottom:var(--spacing-xl);padding:15px;padding:var(--spacing-xl);position:relative}.transcript-time-log-entry.featured{border-color:gold;border-color:var(--color-featured)}.transcript-time-log-main{align-items:center;display:flex;gap:12px;gap:var(--spacing-lg);justify-content:space-between}.transcript-time-log-activity{color:#ddd;color:var(--color-text-primary);font-size:18px;font-size:var(--font-size-lg);font-weight:600;font-weight:var(--font-weight-semibold);margin:0}.transcript-time-log-domain{align-self:center;background-color:#333;background-color:var(--color-bg-quaternary);border:1px solid #444;border:1px solid var(--color-bg-quinary);border-radius:12px;border-radius:var(--border-radius-xl);color:#ffbd39;color:var(--color-primary);font-size:12px;font-size:var(--font-size-xs);font-weight:600;font-weight:var(--font-weight-semibold);padding:4px 8px;padding:var(--spacing-xs) var(--spacing-md);white-space:nowrap}.transcript-time-log-summary{align-items:center;display:flex;gap:10px;gap:var(--spacing-base)}.transcript-time-log-hours{color:#ddd;color:var(--color-text-primary);font-size:16px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold)}.transcript-time-log-dates{color:#999;color:var(--color-text-tertiary);font-size:14px;font-size:var(--font-size-sm)}.consolidated-time-log-entry{background:#111;background:var(--color-bg-secondary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:12px;border-radius:var(--border-radius-xl);box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-xs);margin-bottom:15px;margin-bottom:var(--spacing-xl);padding:15px;padding:var(--spacing-xl)}.consolidated-time-log-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:10px;margin-bottom:var(--spacing-base)}.consolidated-time-log-main{display:flex;flex-direction:column;gap:6px;gap:var(--spacing-sm);width:100%}.consolidated-time-log-main h5{color:#ffbd39;color:var(--color-primary);font-size:1.3rem;font-size:var(--font-size-responsive-md);margin:0}.consolidated-time-log-summary{align-items:center;display:flex;gap:10px;gap:var(--spacing-base)}.consolidated-hours{color:#ffbd39;color:var(--color-primary);font-size:16px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold)}.consolidated-count{color:#999;color:var(--color-text-tertiary)}.consolidated-arrow,.consolidated-count{font-size:14px;font-size:var(--font-size-sm)}.consolidated-arrow{color:#ffbd39;color:var(--color-primary);transition:transform .3s ease;transition:transform var(--transition-duration) var(--transition-timing)}.consolidated-arrow.expanded{transform:rotate(90deg)}.consolidated-time-log-dates{color:#999;color:var(--color-text-tertiary);font-size:14px;font-size:var(--font-size-sm);margin-bottom:10px;margin-bottom:var(--spacing-base)}.consolidated-time-log-details{border-top:1px solid #e1e8ed;border-top:1px solid var(--color-border-tertiary);margin-top:10px;margin-top:var(--spacing-base);padding-top:15px;padding-top:var(--spacing-xl)}.individual-time-log-entry{background:#1a1a1a;background:var(--color-bg-tertiary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);margin-bottom:8px;margin-bottom:var(--spacing-md);padding:10px;padding:var(--spacing-base)}.individual-time-log-entry:last-child{margin-bottom:0}.individual-time-log-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px;margin-bottom:var(--spacing-base)}.individual-hours{color:#ffbd39;color:var(--color-primary);font-size:14px;font-size:var(--font-size-sm);font-weight:600;font-weight:var(--font-weight-semibold)}.individual-dates{color:#999;color:var(--color-text-tertiary);font-size:12px;font-size:var(--font-size-xs)}.individual-description{color:#fff;color:var(--color-text-secondary);font-size:var(--font-size-s);font-style:italic;margin:0}.grade-section{margin-bottom:20px;margin-bottom:var(--spacing-2xl)}.grade-header{align-items:center;border-bottom:2px solid #333;border-bottom:2px solid var(--color-border-primary);cursor:pointer;display:flex;margin-bottom:15px;margin-bottom:var(--spacing-xl);padding:10px 0}.grade-arrow{color:#ffbd39;color:var(--color-primary);font-size:20px;font-size:var(--font-size-xl);margin-right:10px;margin-right:var(--spacing-base);transition:transform .3s ease;transition:transform var(--transition-duration) var(--transition-timing)}.grade-arrow.expanded{transform:rotate(90deg)}.grade-title{color:#ffbd39;color:var(--color-primary);font-size:20px;font-size:var(--font-size-xl);font-weight:600;font-weight:var(--font-weight-semibold)}.post-margin{margin-bottom:20px;margin-bottom:var(--spacing-2xl)}.post-margin-bottom{margin-bottom:30px;margin-bottom:var(--spacing-4xl)}.no-posts-padding{padding:20px;padding:var(--spacing-2xl)}.skill-summary-margin{margin-top:25px;margin-top:var(--spacing-3xl)}.skill-summary-item-container{border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);margin-bottom:20px;margin-bottom:var(--spacing-2xl)}.skill-header-container{align-items:center;background-color:#1a1a1a;background-color:var(--color-bg-tertiary);border-radius:6px;border-radius:var(--border-radius-md);cursor:pointer;display:flex;justify-content:space-between;margin-bottom:0;padding:10px;padding:var(--spacing-base)}.skill-header-container.expanded{margin-bottom:10px;margin-bottom:var(--spacing-base)}.skill-tag-title{color:#ffbd39;color:var(--color-primary);font-size:18px;font-size:var(--font-size-lg)}.skill-tag-stats{color:#999;color:var(--color-text-tertiary);font-size:14px;font-size:var(--font-size-sm);margin-top:5px}.skill-arrow{color:#ffbd39;color:var(--color-primary);font-size:20px;font-size:var(--font-size-xl);transform:rotate(0deg);transition:transform .3s ease;transition:transform var(--transition-duration) var(--transition-timing)}.skill-arrow.expanded{transform:rotate(90deg)}.skill-comments-container{padding-left:10px;padding-left:var(--spacing-base)}.skill-comment-item{background-color:#111;background-color:var(--color-bg-secondary);border-radius:6px;border-radius:var(--border-radius-md);margin-bottom:10px;margin-bottom:var(--spacing-base);padding:10px;padding:var(--spacing-base)}.skill-comment-header{align-items:flex-start;display:flex;justify-content:space-between}.skill-comment-teacher{color:#ffbd39;color:var(--color-primary)}.skill-comment-score{color:#ddd;color:var(--color-text-primary);margin-left:10px;margin-left:var(--spacing-base)}.skill-comment-time{color:#999;color:var(--color-text-tertiary);font-size:12px;font-size:var(--font-size-xs)}.skill-comment-text{color:#ddd;color:var(--color-text-primary);font-style:italic}.skill-comment-link-container,.skill-comment-text{margin-top:8px;margin-top:var(--spacing-md)}.feedback-section-item{margin-bottom:14px}.feedback-section-header{color:#999;color:var(--color-text-tertiary);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:6px;margin-bottom:var(--spacing-sm)}.feedback-already-given{background-color:#1a1a1a;background-color:var(--color-bg-tertiary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:4px;border-radius:var(--border-radius-sm);margin-top:8px;margin-top:var(--spacing-md);padding:10px;padding:var(--spacing-base)}.notification-badge{display:inline-block;position:relative;z-index:100000;z-index:var(--z-notification)}.notification-badge .badge-count{background-color:#dc3545;background-color:var(--color-error);border:2px solid #000;border:2px solid var(--color-bg-primary);border-radius:50%;border-radius:var(--border-radius-circle);color:#fff;font-size:12px;font-size:var(--font-size-xs);font-weight:600;font-weight:var(--font-weight-semibold);min-width:18px;padding:2px 6px;padding:var(--spacing-2xs) var(--spacing-sm);position:absolute;right:-8px;text-align:center;top:-8px}.notification-dropdown{-ms-overflow-style:none;background:#111;background:var(--color-bg-secondary);border:2px solid #ffbd39;border:2px solid var(--color-primary);border-radius:10px;border-radius:var(--border-radius-lg);box-shadow:0 4px 20px #0000004d;box-shadow:var(--shadow-lg);margin-top:10px;margin-top:var(--spacing-base);max-height:500px;max-width:400px;min-width:350px;overflow-y:auto;position:fixed;right:20px;right:var(--spacing-2xl);scrollbar-width:none;top:80px;z-index:1000;z-index:var(--z-modal)}.notification-dropdown::-webkit-scrollbar{display:none}.notification-header{background:#1a1a1a;background:var(--color-bg-tertiary);border-bottom:2px solid #333;border-bottom:2px solid var(--color-border-primary);border-radius:10px 10px 0 0;border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;padding:15px 20px;padding:var(--spacing-xl) var(--spacing-2xl)}.notification-header h3{color:#ffbd39;color:var(--color-primary);font-size:18px;font-size:var(--font-size-lg);font-weight:600;font-weight:var(--font-weight-semibold);margin:0}.notification-item{border-bottom:1px solid #333;border-bottom:1px solid var(--color-border-primary);cursor:pointer;padding:15px 20px;padding:var(--spacing-xl) var(--spacing-2xl);transition:background-color .3s ease;transition:background-color var(--transition-duration) var(--transition-timing)}.notification-item:hover{background-color:#1a1a1a;background-color:var(--color-bg-tertiary)}.notification-item:last-child{border-bottom:none}.notification-title{font-size:16px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);line-height:1.3;margin-bottom:6px;margin-bottom:var(--spacing-sm)}.notification-student,.notification-title{color:#fff;color:var(--color-text-secondary)}.notification-student{font-size:14px;font-size:var(--font-size-sm);font-style:italic;margin-bottom:4px;margin-bottom:var(--spacing-xs)}.notification-time{color:#666;color:var(--color-text-quaternary);font-size:12px;font-size:var(--font-size-xs);font-style:italic}.notification-empty{color:#999;color:var(--color-text-tertiary);font-style:italic;padding:30px 20px;padding:var(--spacing-4xl) var(--spacing-2xl);text-align:center}.notification-bell{border-radius:4px;border-radius:var(--border-radius-sm);cursor:pointer;padding:8px;padding:var(--spacing-md);position:relative;transition:background-color .3s ease;transition:background-color var(--transition-duration) var(--transition-timing)}.notification-bell:hover{background-color:#1a1a1a;background-color:var(--color-bg-tertiary)}.notification-bell i{color:#ddd;color:var(--color-text-primary);font-size:18px;font-size:var(--font-size-lg)}.error-message{background-color:#dc3545;background-color:var(--color-error);color:#fff;padding:20px;padding:var(--spacing-2xl)}.tag-justification-list{display:flex;flex-direction:column;gap:8px;gap:var(--spacing-md);margin-top:10px;margin-top:var(--spacing-base)}.tag-justification-item{align-items:center;background:#333;background:var(--color-border-primary);border:1px solid #555;border:1px solid var(--color-border-secondary);border-radius:8px;border-radius:var(--border-radius);display:flex;justify-content:space-between;padding:10px;padding:var(--spacing-base)}.tag-justification-content{align-items:center;display:flex;flex:1 1}.tag-justification-content i{color:#ffbd39;color:var(--color-primary);font-size:16px;font-size:var(--font-size-base);margin-right:10px;margin-right:var(--spacing-base)}.tag-justification-text{color:#ddd;color:var(--color-text-primary);font-weight:600;font-weight:var(--font-weight-semibold)}.remove-tag-justification-button{background:#dc3545;background:var(--color-error);border:none;border-radius:4px;border-radius:var(--border-radius-sm);color:#fff;color:var(--color-text-secondary);cursor:pointer;font-size:12px;font-size:var(--font-size-xs);padding:5px 10px;transition:background .3s;transition:background var(--transition-duration)}.remove-tag-justification-button:hover{background:#c82333;background:var(--color-error-hover)}.link-input-group{flex:1 1}.link-input-group label,.link-upload label{color:#666;color:var(--color-text-quaternary);display:block;font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:8px;margin-bottom:var(--spacing-md)}.link-list{display:flex;flex-direction:column;gap:8px;gap:var(--spacing-md);margin-top:10px;margin-top:var(--spacing-base)}.link-item{background:#333;background:var(--color-border-primary);border:1px solid #555;border:1px solid var(--color-border-secondary);border-radius:8px;border-radius:var(--border-radius);justify-content:space-between;padding:10px;padding:var(--spacing-base)}.link-content,.link-item{align-items:center;display:flex}.link-content{flex:1 1}.link-content i{color:#ffbd39;color:var(--color-primary);font-size:16px;font-size:var(--font-size-base);margin-right:10px;margin-right:var(--spacing-base)}.link-text{color:#ddd;color:var(--color-text-primary);font-weight:600;font-weight:var(--font-weight-semibold)}.remove-link-button{background:#dc3545;background:var(--color-error);border:none;border-radius:4px;border-radius:var(--border-radius-sm);color:#fff;color:var(--color-text-secondary);cursor:pointer;font-size:12px;font-size:var(--font-size-xs);padding:5px 10px;transition:background .3s;transition:background var(--transition-duration)}.remove-link-button:hover{background:#c82333;background:var(--color-error-hover)}.posts-container h2{font-size:1.5rem;font-size:var(--font-size-responsive-lg);margin-bottom:20px;margin-bottom:var(--spacing-2xl)}.no-posts,.posts-container h2{color:#999;color:var(--color-text-tertiary)}.no-posts{font-size:18px;font-size:var(--font-size-lg);padding:40px;padding:var(--spacing-5xl);text-align:center}.post{background:#111;background:var(--color-bg-secondary);border-radius:12px;border-radius:var(--border-radius-xl);box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-xs);margin-bottom:20px;margin-bottom:var(--spacing-2xl);padding:25px;padding:var(--spacing-3xl)}.post-header{align-items:center;border-bottom:2px solid #333;border-bottom:2px solid var(--color-border-primary);display:flex;justify-content:space-between;margin-bottom:12px;margin-bottom:var(--spacing-lg);padding-bottom:12px;padding-bottom:var(--spacing-lg)}.post-toggle-button{align-items:center;background:#1a1a1a;background:var(--color-bg-tertiary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:6px;border-radius:var(--border-radius-md);color:#fff;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:16px;font-size:var(--font-size-base);gap:6px;gap:var(--spacing-sm);justify-content:center;margin-top:8px;margin-top:var(--spacing-md);padding:8px;padding:var(--spacing-md);transition:all .3s ease;transition:var(--transition-fast);width:100%}.post-toggle-button:hover{background:#111;background:var(--color-bg-secondary);border-color:#ffbd39;border-color:var(--color-primary);color:#ffbd39;color:var(--color-primary)}.post-toggle-button i{font-size:var(--font-size-md)}.post.collapsed .post-header{margin-bottom:12px;margin-bottom:var(--spacing-lg)}.post-header-actions{align-items:center;display:flex;gap:10px;gap:var(--spacing-base)}.star-button{background:none;border:none;border-radius:4px;border-radius:var(--border-radius-sm);color:#999;color:var(--color-text-tertiary);cursor:pointer;font-size:18px;font-size:var(--font-size-lg);outline:none;padding:5px;transition:all .3s ease;transition:var(--transition-fast)}.star-button:hover{background:#1a1a1a;background:var(--color-bg-tertiary)}.star-button.starred,.star-button:hover{color:#ffbd39;color:var(--color-primary)}.star-button.starred:hover{color:#e6a800;color:var(--color-primary-hover)}.hide-button{background:none;border:none;border-radius:4px;border-radius:var(--border-radius-sm);color:#999;color:var(--color-text-tertiary);cursor:pointer;font-size:14px;font-size:var(--font-size-sm);outline:none;padding:8px;padding:var(--spacing-md);transition:all .3s ease;transition:var(--transition-fast)}.hide-button:hover{background:#1a1a1a;background:var(--color-bg-tertiary)}.hide-button.hidden,.hide-button:hover{color:#fff;color:var(--color-text-secondary)}.hide-button.hidden:hover{color:#ddd;color:var(--color-text-primary)}.post-header strong{color:#ffbd39;color:var(--color-primary);font-size:14px;font-size:var(--font-size-sm);font-weight:600;font-weight:var(--font-weight-semibold)}.post-project-type{color:#999;color:var(--color-text-tertiary);font-size:12px;font-size:var(--font-size-xs);font-weight:500;font-weight:var(--font-weight-medium);letter-spacing:.5px;margin-bottom:3px;margin-top:2px;text-transform:uppercase}.post-title{color:#ffbd39;color:var(--color-primary);font-size:2rem;font-size:var(--font-size-responsive-xl);margin-top:5px}.post-section-title,.post-title{font-weight:600;font-weight:var(--font-weight-semibold)}.post-section-title{color:#fff;color:var(--color-text-secondary);font-size:14px;font-size:var(--font-size-sm);letter-spacing:.5px;margin-bottom:8px;margin-bottom:var(--spacing-md);margin-top:15px;margin-top:var(--spacing-xl);text-transform:uppercase}.post-project-description{color:#ddd;color:var(--color-text-primary);font-size:16px;font-size:var(--font-size-base);font-style:italic;line-height:1.6;margin-bottom:10px;margin-bottom:var(--spacing-base)}.edit-post-form{margin-top:15px;margin-top:var(--spacing-xl)}.edit-post-form .post-title-input{width:100%}.edit-post-form .post-title-input,.edit-post-form .project-type-selector{margin-bottom:12px;margin-bottom:var(--spacing-lg)}.edit-post-form .link-upload,.edit-post-form .tag-justification-upload{margin-bottom:15px;margin-bottom:var(--spacing-xl)}.edit-post-actions{display:flex;gap:10px;gap:var(--spacing-base);margin-top:15px;margin-top:var(--spacing-xl)}.post.highlighted{animation:highlightPulse 2s ease-in-out;background:#333!important;background:var(--color-border-primary)!important;border:2px solid #ffbd39!important;border:2px solid var(--color-primary)!important}@keyframes highlightPulse{0%{background:#333;background:var(--color-border-primary);border-color:#ffbd39;border-color:var(--color-primary);transform:scale(1)}50%{background:#444;background:var(--color-bg-quinary);border-color:#ffbd39;border-color:var(--color-primary);transform:scale(1.02)}to{background:#111;background:var(--color-bg-secondary);border-color:#e1e8ed;border-color:var(--color-border-tertiary);transform:scale(1)}}.post-link{color:#ffbd39;color:var(--color-primary);cursor:pointer;font-size:14px;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);text-decoration:none;transition:color .3s ease;transition:color var(--transition-duration) var(--transition-timing)}.post-link:focus{outline:none}.post-link:hover{color:#e6a800;color:var(--color-primary-hover)}.timestamp{font-size:12px;font-size:var(--font-size-xs)}.post-content,.timestamp{color:#ddd;color:var(--color-text-primary)}.post-content{font-size:16px;font-size:var(--font-size-base);line-height:1.6;margin-bottom:15px;margin-bottom:var(--spacing-xl)}.post-content img{border-radius:8px;border-radius:var(--border-radius);height:auto;margin:10px 0;margin:var(--spacing-base) 0;max-width:50%}.post-content h1{color:#ffbd39;color:var(--color-primary)}.post-content h1,.post-content h2,.post-content h3{margin-bottom:10px;margin-bottom:var(--spacing-base);margin-top:15px;margin-top:var(--spacing-xl)}.post-content h2,.post-content h3,.post-content p{color:#fff;color:var(--color-text-secondary)}.post-content a,.post-content p{margin-bottom:10px;margin-bottom:var(--spacing-base)}.post-content a{color:#ffbd39;color:var(--color-primary);text-decoration:none}.post-content code{border-radius:3px;border-radius:var(--border-radius-xs);font-family:inherit;font-size:14px;font-size:var(--font-size-sm);padding:2px 6px;padding:var(--spacing-2xs) var(--spacing-sm)}.post-content code,.post-content pre{background:#222;background:var(--color-border-quaternary);color:#ddd;color:var(--color-text-primary)}.post-content pre{border-radius:6px;border-radius:var(--border-radius-md);margin:10px 0;margin:var(--spacing-base) 0;overflow-x:auto;padding:12px;padding:var(--spacing-lg)}.post-content ol,.post-content ul{margin-bottom:10px;margin-bottom:var(--spacing-base);margin-left:20px;margin-left:var(--spacing-2xl)}.post-links{background:#333;background:var(--color-border-primary);border:1px solid #555;border-left:4px solid #e6a800;border:1px solid var(--color-border-secondary);border-left:4px solid var(--color-primary-hover);border-radius:8px;border-radius:var(--border-radius);margin-bottom:15px;margin-bottom:var(--spacing-xl);padding:12px;padding:var(--spacing-lg)}.post-links strong{color:#ffbd39;color:var(--color-primary);display:block;font-size:14px;font-size:var(--font-size-sm);margin-bottom:8px;margin-bottom:var(--spacing-md)}.post-link-item{align-items:center;display:flex;min-height:32px;padding:8px 0;padding:var(--spacing-md) 0}.post-link-item i{color:#ffbd39;color:var(--color-primary);font-size:1.1rem;font-size:var(--font-size-responsive-sm);line-height:1;margin-right:10px;margin-right:var(--spacing-base)}.post-link-item a{color:#ddd;color:var(--color-text-primary);font-weight:600;font-weight:var(--font-weight-semibold);line-height:1.2;outline:none;text-decoration:none;transition:color .3s;transition:color var(--transition-duration)}.post-link-item a:hover{color:#ffbd39;color:var(--color-primary)}.post-link-item a:focus{outline:none}.post-tag-justifications{background:#333;background:var(--color-border-primary);border:1px solid #555;border-left:4px solid #ffbd39;border:1px solid var(--color-border-secondary);border-left:4px solid var(--color-primary);border-radius:8px;border-radius:var(--border-radius);margin-bottom:15px;margin-bottom:var(--spacing-xl);padding:12px;padding:var(--spacing-lg)}.post-tag-justifications strong{color:#ffbd39;color:var(--color-primary);display:block;font-size:14px;font-size:var(--font-size-sm);margin-bottom:8px;margin-bottom:var(--spacing-md)}.post-tag-justification-item{align-items:center;display:flex;min-height:32px;padding:8px 0;padding:var(--spacing-md) 0}.post-tag-justification-item i{color:#ffbd39;color:var(--color-primary);font-size:1.1rem;font-size:var(--font-size-responsive-sm);line-height:1;margin-right:10px;margin-right:var(--spacing-base)}.post-tag-justification-item span{color:#ddd;color:var(--color-text-primary);font-weight:600;font-weight:var(--font-weight-semibold);line-height:1.2;transition:color .3s;transition:color var(--transition-duration)}.comments-section{border-top:2px solid #333;border-top:2px solid var(--color-border-primary);margin-top:20px;margin-top:var(--spacing-2xl);padding-top:20px;padding-top:var(--spacing-2xl)}.comments-section h4{color:#999;color:var(--color-text-tertiary);font-size:1.3rem;font-size:var(--font-size-responsive-md);margin-bottom:15px;margin-bottom:var(--spacing-xl)}.comment{background:#333;background:var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);margin-bottom:10px;margin-bottom:var(--spacing-base);padding:12px;padding:var(--spacing-lg);position:relative}.comment strong{color:#ffbd39;color:var(--color-primary);margin-right:8px;margin-right:var(--spacing-md)}.comment-time{color:#999;color:var(--color-text-tertiary);display:block;font-size:12px;font-size:var(--font-size-xs);margin-top:5px}.feedback-actions{display:flex;gap:6px;gap:var(--spacing-sm);margin-top:6px;margin-top:var(--spacing-sm)}.edit-feedback-form{display:flex;flex-direction:column;gap:8px;gap:var(--spacing-md)}.edit-feedback-form select,.edit-feedback-form textarea{background:#111;background:var(--color-bg-secondary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);color:#ddd;color:var(--color-text-primary);font-family:inherit;font-size:16px;font-size:var(--font-size-base);padding:12px;padding:var(--spacing-lg);transition:border-color .3s;transition:border-color var(--transition-duration)}.edit-feedback-form select:focus,.edit-feedback-form textarea:focus{border-color:#ffbd39;border-color:var(--color-primary);outline:none}.edit-feedback-form textarea{min-height:60px;resize:vertical}.editing-feedback{background:#1a1a1a;background:var(--color-bg-tertiary);border:2px solid #ffbd39;border:2px solid var(--color-primary)}.add-comment{align-items:center;display:flex;gap:10px;gap:var(--spacing-base);margin-top:15px;margin-top:var(--spacing-xl)}.add-comment input{border:2px solid #e1e8ed;border:2px solid var(--color-border-tertiary);border-radius:8px;border-radius:var(--border-radius);flex:1 1;font-family:inherit;min-height:40px;resize:vertical}.add-comment input,.add-comment select{background-color:#111;background-color:var(--color-bg-secondary);color:#ddd;color:var(--color-text-primary);font-size:16px;font-size:var(--font-size-base);padding:12px;padding:var(--spacing-lg);transition:border-color .3s;transition:border-color var(--transition-duration)}.add-comment select{border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);min-width:120px}.student-select-dropdown{border:2px solid #333;border:2px solid var(--color-border-primary);color:#ddd;color:var(--color-text-primary);font-size:16px;font-size:var(--font-size-base);padding:12px;padding:var(--spacing-lg);width:100%}.student-info-section,.student-select-dropdown{background-color:#111;background-color:var(--color-bg-secondary);border-radius:8px;border-radius:var(--border-radius);margin-bottom:20px;margin-bottom:var(--spacing-2xl)}.student-info-section{border:1px solid #333;border:1px solid var(--color-border-primary);padding:20px;padding:var(--spacing-2xl)}.student-info-section h4{color:#ddd;color:var(--color-text-primary);margin-bottom:15px;margin-bottom:var(--spacing-xl)}.existing-classes-info{margin-top:15px;margin-top:var(--spacing-xl)}.existing-classes-info p{color:#fff;color:var(--color-text-secondary);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:10px;margin-bottom:var(--spacing-base)}.existing-classes-info ul{list-style:none;margin:0;padding:0}.existing-classes-info li{border-bottom:1px solid #555;border-bottom:1px solid var(--color-border-secondary);color:#fff;color:var(--color-text-secondary);padding:8px 0;padding:var(--spacing-md) 0}.existing-classes-info li:last-child{border-bottom:none}.existing-classes-info li i{color:#ffbd39;color:var(--color-primary);margin-right:8px;margin-right:var(--spacing-md)}.already-assigned-text{color:#999;color:var(--color-text-tertiary);font-size:14px;font-size:var(--font-size-sm);font-style:italic}.class-selection-container{width:100%}.legacy-workflows-section{border-top:2px solid #333;border-top:2px solid var(--color-border-primary);margin-top:40px;margin-top:var(--spacing-5xl);padding-top:30px;padding-top:var(--spacing-4xl)}.legacy-workflows-section h3{color:#ddd;color:var(--color-text-primary);margin-bottom:10px;margin-bottom:var(--spacing-base)}.proposal-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.proposal-item{background:#111;background:var(--color-bg-secondary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);padding:1rem;transition:all .3s ease;transition:var(--transition-fast)}.proposal-item:hover{background:#1a1a1a;background:var(--color-bg-tertiary);border-color:#555;border-color:var(--color-border-secondary)}.proposal-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.proposal-title{align-items:center;color:#fff;color:var(--color-text-secondary);display:flex;font-size:18px;font-size:var(--font-size-lg);font-weight:600;font-weight:var(--font-weight-semibold);gap:.5rem}.proposal-title i{color:#ffbd39;color:var(--color-primary)}.proposal-meta{color:#999;color:var(--color-text-tertiary);font-size:14px;font-size:var(--font-size-sm)}.proposal-description{color:#ddd;color:var(--color-text-primary);line-height:1.5;margin-bottom:1rem}.proposal-footer{align-items:center;border-top:1px solid #333;border-top:1px solid var(--color-border-primary);display:flex;justify-content:space-between;padding-top:.5rem}.proposal-student{color:#999;color:var(--color-text-tertiary);font-size:14px;font-size:var(--font-size-sm)}.proposal-actions{display:flex;gap:10px;gap:var(--spacing-base);margin-top:10px;margin-top:var(--spacing-base)}.proposal-actions .delete-button,.proposal-actions .edit-button{border:none;border-radius:4px;border-radius:var(--border-radius-sm);cursor:pointer;font-size:12px;font-size:var(--font-size-xs);font-weight:500;padding:6px 12px;padding:var(--spacing-sm) var(--spacing-lg);transition:all .3s ease;transition:var(--transition-fast)}.cancel-button,.certificate-actions .cancel-button,.certificate-actions .delete-button,.certificate-actions .edit-button,.certificate-actions .save-button,.delete-button,.edit-button,.proposal-approve-btn,.proposal-cancel-btn,.proposal-edit-btn,.proposal-reject-btn,.proposal-save-btn,.save-button{border:none;border-radius:8px;border-radius:var(--border-radius);cursor:pointer;font-size:14px;font-size:var(--font-size-sm);font-weight:600;font-weight:var(--font-weight-semibold);padding:.5rem 1rem;transition:all .3s ease;transition:var(--transition-fast)}.certificate-actions .save-button,.proposal-approve-btn,.proposal-save-btn,.save-button{background:#ffbd39;background:var(--color-success);color:#000;color:var(--color-bg-primary)}.certificate-actions .delete-button,.delete-button,.proposal-reject-btn{background:#dc3545;background:var(--color-error);color:#fff}.certificate-actions .edit-button,.edit-button,.proposal-edit-btn{background:#ffbd39;background:var(--color-primary);color:#000;color:var(--color-bg-primary)}.cancel-button,.certificate-actions .cancel-button,.proposal-cancel-btn{background:#999;background:var(--color-text-tertiary);color:#fff;color:var(--color-text-secondary)}.certificate-actions .edit-button:hover,.certificate-actions .save-button:hover,.edit-button:hover,.proposal-approve-btn:hover,.proposal-edit-btn:hover,.proposal-save-btn:hover,.save-button:hover{background:#e6a800;background:var(--color-primary-dark)}.certificate-actions .delete-button:hover,.delete-button:hover,.proposal-reject-btn:hover{background:#c82333;background:var(--color-error-hover)}.cancel-button:hover,.certificate-actions .cancel-button:hover,.proposal-cancel-btn:hover{background:#666;background:var(--color-text-quaternary)}.proposal-edit-input{background:#000;background:var(--color-bg-primary);border:1px solid #555;border:1px solid var(--color-border-secondary);border-radius:8px;border-radius:var(--border-radius);color:#fff;color:var(--color-text-secondary);font-size:18px;font-size:var(--font-size-lg);font-weight:600;font-weight:var(--font-weight-semibold);margin-left:.5rem;padding:.5rem;width:100%}.certificate-edit-form{grid-gap:.5rem;display:grid;gap:.5rem}.certificate-edit-form input,.certificate-edit-form select,.certificate-edit-form textarea{background-color:#111;background-color:var(--color-bg-secondary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);color:#ddd;color:var(--color-text-primary);font-family:inherit;font-size:16px;font-size:var(--font-size-base);padding:12px;padding:var(--spacing-lg);transition:border-color .3s;transition:border-color var(--transition-duration);width:100%}.certificate-edit-form textarea{min-height:100px;resize:vertical}.certificate-edit-form input:focus,.certificate-edit-form select:focus,.certificate-edit-form textarea:focus{border-color:#fff;border-color:var(--color-text-secondary);outline:none}.certificate-actions{display:flex;gap:.5rem;margin-top:.5rem}.proposal-edit-textarea{background:#000;background:var(--color-bg-primary);border:1px solid #555;border:1px solid var(--color-border-secondary);border-radius:8px;border-radius:var(--border-radius);color:#ddd;color:var(--color-text-primary);font-size:16px;font-size:var(--font-size-base);min-height:60px;padding:.5rem;resize:vertical;width:100%}.proposal-edit-form{display:flex;flex-direction:column;gap:15px;gap:var(--spacing-xl)}.proposal-edit-form input,.proposal-edit-form select,.proposal-edit-form textarea{background-color:#111;background-color:var(--color-bg-secondary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);color:#ddd;color:var(--color-text-primary);font-family:inherit;font-size:16px;font-size:var(--font-size-base);padding:12px;padding:var(--spacing-lg);transition:border-color .3s;transition:border-color var(--transition-duration);width:100%}.proposal-edit-form textarea{min-height:100px;resize:vertical}.proposal-edit-form input:focus,.proposal-edit-form select:focus,.proposal-edit-form textarea:focus{border-color:#fff;border-color:var(--color-text-secondary);outline:none}.proposal-edit-actions{display:flex;gap:10px;gap:var(--spacing-base);margin-top:10px;margin-top:var(--spacing-base)}.notification-section{margin-bottom:1rem}.notification-section h4{border-bottom:2px solid #333;border-bottom:2px solid var(--color-border-primary);color:#fff;color:var(--color-text-secondary);font-size:14px;font-size:var(--font-size-sm);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:.5px;margin-bottom:.75rem;padding:15px 20px;padding:var(--spacing-xl) var(--spacing-2xl);text-transform:uppercase}.proposal-notification{background:#444;background:var(--color-bg-quinary);border-left:3px solid #ffbd39;border-left:3px solid var(--color-primary)}.proposal-notification .notification-title{color:#ffbd39;color:var(--color-primary);font-weight:700;font-weight:var(--font-weight-bold)}.sidebar-toggle{background:#ffbd39;background:var(--color-primary);border:none;border-radius:8px;border-radius:var(--border-radius);box-shadow:0 10px 40px #0003;box-shadow:var(--shadow-md);color:#000;color:var(--color-bg-primary);cursor:pointer;display:none;font-size:18px;font-size:var(--font-size-lg);height:48px;left:20px;position:fixed;top:20px;top:var(--spacing-2xl);transition:all .3s;transition:all var(--transition-duration);width:48px;z-index:1001}.sidebar-toggle,.sidebar-toggle i{align-items:center;justify-content:center}.sidebar-toggle i{display:flex}.sidebar-toggle:hover{background:#e6a800;background:var(--color-primary-hover);transform:scale(1.05)}.sidebar-toggle:active{transform:scale(.95)}.sidebar-overlay{animation:fadeIn .3s ease-in-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.sidebar-toggle-open{left:292px!important;left:calc(280px + var(--spacing-lg))!important;right:auto!important;top:12px!important;top:var(--spacing-lg)!important}.sidebar-toggle{display:flex;top:12px;top:calc(var(--header-height, 0px) + var(--spacing-lg))}.sidebar-overlay{display:block}.sidebar{border-radius:0;box-shadow:0 4px 20px #0000004d;box-shadow:var(--shadow-lg);height:100vh;left:0;margin:0;max-width:85vw;min-width:280px;padding-top:20px;padding-top:var(--spacing-2xl);position:fixed;top:0;transform:translateX(-100%);transition:transform .3s ease-in-out;width:280px;z-index:1000}.sidebar.sidebar-open{transform:translateX(0)}.main-content{flex-direction:column;padding:20px;padding:var(--spacing-2xl);padding-top:80px;padding-top:calc(var(--spacing-2xl) + 48px + var(--spacing-lg))}.header{padding:15px 20px;padding:var(--spacing-xl) var(--spacing-2xl)}.feed{max-width:100%;width:100%}}.graduation-requirements-container{margin:0 auto;max-width:1000px}.student-dropdown{background-color:#111;background-color:var(--color-bg-secondary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);color:#ddd;color:var(--color-text-primary);cursor:pointer;font-size:16px;font-size:var(--font-size-base);margin-bottom:15px;margin-bottom:var(--spacing-xl);margin-top:15px;margin-top:var(--spacing-xl);padding:12px;padding:var(--spacing-lg);transition:border-color .3s;transition:border-color var(--transition-duration);width:100%}.student-dropdown:hover{border-color:#ffbd39;border-color:var(--color-primary)}.requirements-list{grid-gap:12px;grid-gap:var(--spacing-lg);display:grid;gap:12px;gap:var(--spacing-lg);grid-template-columns:1fr 1fr;margin-top:15px;margin-top:var(--spacing-xl)}.requirement-item{background-color:initial;border:2px solid #ffbd39;border:2px solid var(--color-primary);border-radius:8px;border-radius:var(--border-radius);color:#ffbd39;color:var(--color-primary);cursor:pointer;display:flex;flex-direction:column;font-size:16px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);justify-content:space-between;padding:12px;padding:var(--spacing-lg);position:relative;transition:background .3s;transition:background var(--transition-duration)}.requirement-item:hover{background-color:#ffbd39;background-color:var(--color-primary);color:#000;color:var(--color-bg-primary)}.requirement-item.completed{border:2px solid #ffbd39;border:2px solid var(--color-primary)}.requirement-item.completed,.requirement-item.completed:hover{background:#ffbd39;background:var(--color-primary);color:#000;color:var(--color-bg-primary)}.requirement-info{display:flex;flex-direction:column;gap:4px;gap:var(--spacing-xs);height:100%;width:100%}.requirement-text{align-items:center;color:inherit;display:flex;flex:1 1;font-size:16px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);justify-content:center;padding:0 20px;text-align:center}.requirement-item.completed .requirement-text{color:inherit}.completion-details{margin-top:auto;padding-bottom:4px;text-align:center}.completion-details small{color:#666;color:var(--color-text-quaternary);font-size:12px;font-size:var(--font-size-xs)}.loading{color:#fff;color:var(--color-text-secondary);font-size:var(--font-size-md);padding:40px;padding:var(--spacing-5xl);text-align:center}@media (max-width:768px){.requirements-list{grid-template-columns:1fr}.graduation-requirements-container{padding:0 10px}}.transcript-grade-badge{align-items:center;background-color:#333;background-color:var(--color-bg-quaternary);border:1px solid #444;border:1px solid var(--color-bg-quinary);border-radius:12px;border-radius:var(--border-radius-xl);color:#ffbd39;color:var(--color-primary);display:inline-flex;font-size:12px;font-size:var(--font-size-xs);font-weight:600;font-weight:var(--font-weight-semibold);justify-content:center;padding:4px 8px;padding:var(--spacing-xs) var(--spacing-md);white-space:nowrap}.mentor-list{display:flex;flex-direction:column;gap:20px;gap:var(--spacing-2xl);margin-top:20px;margin-top:var(--spacing-2xl)}.mentor-card{background:#1a1a1a;background:var(--color-bg-tertiary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:12px;border-radius:var(--border-radius-xl);padding:25px;padding:var(--spacing-3xl);transition:all .3s ease;transition:var(--transition-fast)}.mentor-card:hover{border-color:#ffbd39;border-color:var(--color-primary);box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow-sm)}.mentor-header{align-items:flex-start;border-bottom:2px solid #333;border-bottom:2px solid var(--color-border-primary);display:flex;justify-content:space-between;margin-bottom:15px;margin-bottom:var(--spacing-xl);padding-bottom:15px}.mentor-actions{display:flex;gap:10px;gap:var(--spacing-base)}.mentor-bio{margin-bottom:15px;margin-bottom:var(--spacing-xl)}.mentor-bio p{color:#ddd;color:var(--color-text-primary);font-size:16px;font-size:var(--font-size-base);line-height:1.6}.mentor-details{display:flex;flex-direction:column;gap:10px;gap:var(--spacing-base)}.mentor-detail-item{color:#ddd;color:var(--color-text-primary);font-size:14px;font-size:var(--font-size-sm);line-height:1.5}.mentor-detail-item strong{color:#ffbd39;color:var(--color-primary);margin-right:8px;margin-right:var(--spacing-md)}.mentor-edit-form{display:flex;flex-direction:column;gap:0}.mentor-edit-form input,.mentor-edit-form select,.mentor-edit-form textarea{background-color:#111;background-color:var(--color-bg-secondary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);color:#ddd;color:var(--color-text-primary);font-family:inherit;font-size:16px;font-size:var(--font-size-base);margin-bottom:15px;margin-bottom:var(--spacing-xl);padding:12px;padding:var(--spacing-lg);transition:border-color .3s;transition:border-color var(--transition-duration);width:100%}.mentor-edit-form textarea{min-height:100px;resize:vertical}.mentor-edit-form input:focus,.mentor-edit-form select:focus,.mentor-edit-form textarea:focus{border-color:#fff;border-color:var(--color-text-secondary);outline:none}.mentor-edit-actions{display:flex;gap:10px;gap:var(--spacing-base);margin-top:10px;margin-top:var(--spacing-base)}.mentor-edit-actions button{flex:1 1}.mentor-requests-list{border-top:2px solid #333;border-top:2px solid var(--color-border-primary);margin-top:20px;margin-top:var(--spacing-2xl);padding-top:20px;padding-top:var(--spacing-2xl)}.mentor-request-item{background:#111;background:var(--color-bg-secondary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);padding:15px;padding:var(--spacing-xl)}.mentor-request-header,.mentor-request-item{margin-bottom:10px;margin-bottom:var(--spacing-base)}.mentor-request-header{align-items:center;display:flex;justify-content:space-between}.mentor-request-description{color:#ddd;color:var(--color-text-primary);line-height:1.5;margin-bottom:8px;margin-bottom:var(--spacing-md)}.mentor-request-email{color:#ddd;color:var(--color-text-primary);font-size:14px;font-size:var(--font-size-sm)}.mentor-request-section{border-top:1px solid #333;border-top:1px solid var(--color-border-primary);margin-top:15px;margin-top:var(--spacing-xl);padding-top:15px;padding-top:var(--spacing-xl)}.mentor-request-complete-info{background-color:#ffbd391a;background-color:var(--color-primary-alpha-10);border-left:3px solid #ffbd39;border-left:3px solid var(--color-success);border-radius:4px;border-radius:var(--border-radius-sm);color:#ddd;color:var(--color-text-primary);font-size:14px;font-size:var(--font-size-sm);margin-top:10px;margin-top:var(--spacing-base);padding:8px 12px;padding:var(--spacing-md) var(--spacing-lg)}.mentor-request-actions{display:flex;gap:10px;gap:var(--spacing-base);margin-top:12px;margin-top:var(--spacing-lg)}@media (max-width:768px){.mentor-header{flex-direction:column;gap:15px;gap:var(--spacing-xl)}.mentor-actions{width:100%}.mentor-actions button{flex:1 1}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.component-loader-container{align-items:center;color:#fff;color:var(--color-text-secondary);display:flex;justify-content:center;min-height:200px}.component-loader-inner{text-align:center}.component-loader-spinner{animation:spin 1s linear infinite;border:4px solid #333;border-top:4px solid #ffbd39;border:4px solid var(--color-border-primary);border-radius:50%;border-top-color:var(--color-primary);height:40px;margin:0 auto 10px;width:40px}.sidebar-loader{padding:20px;padding:var(--spacing-2xl);text-align:center}.pdf-download-container{margin-bottom:20px;margin-bottom:var(--spacing-2xl);text-align:center}.pdf-download-button{background-color:#ffbd39;background-color:var(--color-primary);border:none;border-radius:8px;border-radius:var(--border-radius);color:#000;color:var(--color-bg-primary);cursor:pointer;font-size:16px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);padding:12px 24px;padding:var(--spacing-lg) 24px;transition:background .3s;transition:background var(--transition-duration)}.pdf-download-button:hover{background-color:#e6a800;background-color:var(--color-primary-hover)}.section-description{font-size:14px;font-size:var(--font-size-sm);margin-bottom:20px;margin-bottom:var(--spacing-2xl)}.feedback-check-text,.section-description{color:#999;color:var(--color-text-tertiary)}.feedback-check-text{font-style:italic}.chart-container{background:#111;background:var(--color-bg-secondary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:12px;border-radius:var(--border-radius-xl);height:320px;margin-bottom:25px;margin-bottom:var(--spacing-3xl);padding:20px;padding:var(--spacing-2xl);width:100%}.chart-legend{color:#ddd;color:var(--color-text-primary);font-size:14px;font-size:var(--font-size-sm);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:10px;margin-bottom:var(--spacing-base);text-align:center}.chart-legend,.mentor-request-button{margin-top:15px;margin-top:var(--spacing-xl)}.mentor-requests-header{margin-bottom:15px;margin-bottom:var(--spacing-xl);margin-top:20px;margin-top:var(--spacing-2xl)}.mentor-request-status,.mentor-requests-header{color:#ffbd39;color:var(--color-primary)}.mentor-request-completed-badge{color:#ffbd39;color:var(--color-success);font-size:14px;font-size:var(--font-size-sm);margin-left:10px;margin-left:var(--spacing-base)}.mentor-request-action-buttons{margin-top:12px;margin-top:var(--spacing-lg)}.mentor-request-complete-button{font-size:14px;font-size:var(--font-size-sm);padding:8px 20px;padding:var(--spacing-md) var(--spacing-2xl)}.mentor-request-check-icon{color:#ffbd39;color:var(--color-success);margin-right:8px;margin-right:var(--spacing-md)}.mentor-request-modal-description{color:#ddd;color:var(--color-text-primary);margin-bottom:20px;margin-bottom:var(--spacing-2xl)}.mentor-request-textarea{margin-bottom:15px;margin-bottom:var(--spacing-xl)}.mentor-request-textarea:focus{border-color:#fff;border-color:var(--color-text-secondary);outline:none}.score-matrix-container{background-color:#1a1a1a;background-color:var(--color-bg-tertiary);border-radius:16px;box-shadow:0 4px 20px #0000004d;box-shadow:var(--shadow-lg);padding:30px;padding:var(--spacing-4xl)}.score-matrix-container,.score-matrix-header{margin-bottom:30px;margin-bottom:var(--spacing-4xl)}.score-matrix-header{border-bottom:2px solid #333;border-bottom:2px solid var(--color-border-primary);padding-bottom:20px;text-align:center}.score-matrix-title{color:#ffbd39;color:var(--color-primary);font-size:24px;font-size:var(--font-size-3xl);font-weight:700;font-weight:var(--font-weight-bold);letter-spacing:.5px;margin:0 0 8px;margin:0 0 var(--spacing-md) 0}.score-matrix-subtitle{color:#999;color:var(--color-text-tertiary);font-size:14px;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);margin:0}.score-matrix-grid{grid-gap:2px;display:grid;gap:2px;margin-bottom:20px;margin-bottom:var(--spacing-2xl);overflow-x:auto}.score-matrix-header-cell{background:#ffbd39;background:var(--color-primary);color:#000;color:var(--color-bg-primary);letter-spacing:.5px;text-align:center;text-transform:uppercase}.score-matrix-header-cell,.score-matrix-skill-cell{border-radius:8px;font-size:14px;font-size:var(--font-size-sm);font-weight:700;font-weight:var(--font-weight-bold);padding:20px 12px;padding:var(--spacing-2xl) var(--spacing-lg)}.score-matrix-skill-cell{align-items:center;background:linear-gradient(135deg,#2a2a2a,#1a1a1a);background:linear-gradient(135deg,var(--color-bg-senary) 0,var(--color-bg-tertiary) 100%);color:#ffbd39;color:var(--color-primary);display:flex;letter-spacing:.3px;text-align:left;text-transform:capitalize}.score-matrix-score-cell{align-items:center;border:2px solid #0000;border-radius:8px;color:#000;color:var(--color-bg-primary);display:flex;flex-direction:column;gap:6px;gap:var(--spacing-sm);justify-content:center;padding:20px 12px;padding:var(--spacing-2xl) var(--spacing-lg);position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.score-matrix-score-cell:hover{border-color:#ffbd394d;border-color:var(--color-primary-alpha-30);box-shadow:0 8px 32px #0000004d;box-shadow:var(--shadow-xl);transform:translateY(-1px)}.score-matrix-score-value{font-size:22px;font-size:var(--font-size-2xl);font-weight:800;font-weight:var(--font-weight-extrabold);line-height:1}.score-matrix-score-count{font-size:12px;font-size:var(--font-size-xs);font-weight:600;font-weight:var(--font-weight-semibold);opacity:.8;opacity:var(--opacity-medium)}.score-matrix-legend{background:#2a2a2a;background:var(--color-bg-senary);border:1px solid #444;border:1px solid var(--color-bg-quinary);border-radius:12px;margin-top:30px;margin-top:var(--spacing-4xl);padding:20px;padding:var(--spacing-2xl)}.score-matrix-legend-title{color:#ffbd39;color:var(--color-primary);font-size:18px;font-size:var(--font-size-lg);font-weight:700;font-weight:var(--font-weight-bold);margin:0 0 15px;text-align:center}.score-matrix-legend-items{display:flex;flex-wrap:wrap;gap:20px;gap:var(--spacing-2xl);justify-content:center}.score-matrix-legend-item{align-items:center;background:#1a1a1a;background:var(--color-bg-tertiary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:8px;display:flex;gap:10px;gap:var(--spacing-base);padding:10px 15px;padding:var(--spacing-base) var(--spacing-xl)}.score-matrix-legend-color{border-radius:4px;height:20px;width:20px}.score-matrix-legend-label{color:#ddd;color:var(--color-text-primary);font-size:14px;font-weight:500;font-weight:var(--font-weight-medium)}.score-matrix-empty{color:#999;color:var(--color-text-tertiary);font-style:italic;padding:20px;padding:var(--spacing-2xl);text-align:center}.checkbox-list-tall{max-height:300px}.class-description-text{color:#fff;color:var(--color-text-secondary);margin-bottom:15px;margin-bottom:var(--spacing-xl)}.resources-container{margin:0 auto;max-width:1200px}.resources-title{color:#ffbd39;color:var(--color-primary);font-size:24px;font-size:var(--font-size-3xl);margin-bottom:12px;margin-bottom:var(--spacing-lg);text-align:center}.resources-description{color:#fff;color:var(--color-text-secondary);font-size:18px;font-size:var(--font-size-lg);margin-bottom:15px;margin-bottom:var(--spacing-xl);text-align:center}.word-quote-container{display:flex;gap:12px;gap:var(--spacing-lg);margin-bottom:25px;margin-bottom:var(--spacing-3xl);width:100%}.word-of-day-container{background:#111;background:var(--color-bg-secondary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:10px;border-radius:var(--border-radius-lg);flex:1 1;min-width:0;padding:20px;padding:var(--spacing-2xl)}.word-of-day-title{color:#fff;color:var(--color-text-secondary);font-size:14px;font-size:var(--font-size-sm);font-weight:700;letter-spacing:.5px;margin-bottom:8px;margin-bottom:var(--spacing-md);text-transform:uppercase}.word-of-day-word{color:#ffbd39;color:var(--color-primary);font-size:22px;font-size:var(--font-size-2xl);font-weight:600;line-height:1.3;margin-bottom:6px;margin-bottom:var(--spacing-sm)}.word-of-day-part-of-speech{color:#fff;color:var(--color-text-secondary);font-size:16px;font-size:var(--font-size-base);font-style:italic;font-weight:400}.word-of-day-definition{color:#ddd;color:var(--color-text-primary);font-size:16px;font-size:var(--font-size-base);line-height:1.5;margin-bottom:6px;margin-bottom:var(--spacing-sm)}.word-of-day-example{border-top:1px solid #333;border-top:1px solid var(--color-border-primary);color:#fff;color:var(--color-text-secondary);font-size:14px;font-size:var(--font-size-sm);margin-top:6px;margin-top:var(--spacing-sm);padding-top:6px;padding-top:var(--spacing-sm)}.quote-of-day-text{color:#ddd;color:var(--color-text-primary);font-size:20px;font-size:var(--font-size-xl);font-style:italic;font-weight:500;line-height:1.6;margin-bottom:8px;margin-bottom:var(--spacing-md)}.quote-of-day-author{color:#fff;color:var(--color-text-secondary);font-size:16px;font-size:var(--font-size-base);margin-top:6px;margin-top:var(--spacing-sm);text-align:right}.resources-grid{grid-gap:20px;grid-gap:var(--spacing-2xl);display:grid;gap:20px;gap:var(--spacing-2xl);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px;margin-top:var(--spacing-2xl)}.resource-card{background:#111;background:var(--color-bg-secondary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:10px;border-radius:var(--border-radius-lg);color:inherit;display:flex;flex-direction:column;overflow:hidden;padding:20px;padding:var(--spacing-2xl);position:relative;text-decoration:none;transition:all .3s ease}.resource-card:hover{border-color:#ffbd39;border-color:var(--color-primary)}.resource-card:focus{outline:none}.resource-card:hover .resource-link-indicator,.resource-title{color:#ffbd39;color:var(--color-primary)}.resource-title{font-size:20px;font-size:var(--font-size-xl);font-weight:700;font-weight:var(--font-weight-bold);margin-bottom:8px;margin-bottom:var(--spacing-md)}.resource-description{color:#fff;color:var(--color-text-secondary);flex-grow:1;line-height:1.6;margin-bottom:12px;margin-bottom:var(--spacing-lg)}.resource-link-indicator{bottom:15px;bottom:var(--spacing-xl);color:#999;color:var(--color-text-tertiary);font-size:16px;font-size:var(--font-size-base);position:absolute;right:15px;right:var(--spacing-xl);transition:color .3s ease}.resources-management-list{display:flex;flex-direction:column;gap:15px;gap:var(--spacing-xl)}.resource-management-item{align-items:flex-start;background:#111;background:var(--color-bg-secondary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:10px;border-radius:var(--border-radius-lg);display:flex;gap:15px;gap:var(--spacing-xl);justify-content:space-between;padding:20px;padding:var(--spacing-2xl)}.resource-info{flex:1 1}.resource-management-title{color:#ffbd39;color:var(--color-primary);font-size:20px;font-size:var(--font-size-xl);font-weight:700;font-weight:var(--font-weight-bold);margin-bottom:6px;margin-bottom:var(--spacing-sm)}.resource-management-url a{color:#ffbd39;color:var(--color-primary);text-decoration:none;transition:color .3s;transition:color var(--transition-duration)}.resource-management-url a:hover{color:#e6a800;color:var(--color-primary-hover);text-decoration:underline}.resource-management-description{color:#fff;color:var(--color-text-secondary);line-height:1.6;margin-top:8px;margin-top:var(--spacing-md)}.resource-actions{display:flex;flex-shrink:0;gap:8px;gap:var(--spacing-md)}.resource-edit-form{width:100%}.resource-edit-form input,.resource-edit-form select,.resource-edit-form textarea{background-color:#111;background-color:var(--color-bg-secondary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);color:#ddd;color:var(--color-text-primary);font-family:inherit;font-size:16px;font-size:var(--font-size-base);padding:12px;padding:var(--spacing-lg);transition:border-color .3s;transition:border-color var(--transition-duration);width:100%}.resource-edit-form textarea{min-height:100px;resize:vertical}.resource-edit-form input:focus,.resource-edit-form select:focus,.resource-edit-form textarea:focus{border-color:#fff;border-color:var(--color-text-secondary);outline:none}.resource-edit-actions{display:flex;gap:8px;gap:var(--spacing-md);margin-top:15px;margin-top:var(--spacing-xl)}.cancel-btn,.delete-btn,.edit-btn,.save-btn{border:2px solid;border-radius:8px;border-radius:var(--border-radius);cursor:pointer;font-weight:600;font-weight:var(--font-weight-semibold);padding:8px 15px;padding:var(--spacing-md) var(--spacing-xl);transition:all .2s ease}.edit-btn{background:#ffbd39;background:var(--color-primary);border-color:#ffbd39;border-color:var(--color-primary);color:#000;color:var(--color-bg-primary)}.edit-btn:hover{background:#e6a800;background:var(--color-primary-hover);border-color:#e6a800;border-color:var(--color-primary-hover)}.delete-btn{background:#0000;border-color:#dc3545;border-color:var(--color-error);color:#dc3545;color:var(--color-error)}.delete-btn:hover{background:#dc3545;background:var(--color-error);color:#fff}.save-btn{background:#ffbd39;background:var(--color-success);border-color:#ffbd39;border-color:var(--color-success);color:#000;color:var(--color-bg-primary)}.save-btn:hover{background:#e6a800;background:var(--color-success-hover);border-color:#e6a800;border-color:var(--color-success-hover)}.cancel-btn{background:#0000;border-color:#333;border-color:var(--color-border-primary);color:#fff;color:var(--color-text-secondary)}.cancel-btn:hover{background:#1a1a1a;background:var(--color-bg-tertiary)}.resource-category-section{margin-bottom:40px;margin-bottom:var(--spacing-5xl)}.resource-category-title{border-bottom:2px solid #333;border-bottom:2px solid var(--color-border-primary);color:#ffbd39;color:var(--color-primary);font-size:22px;font-size:var(--font-size-2xl);font-weight:700;font-weight:var(--font-weight-bold);margin-bottom:20px;margin-bottom:var(--spacing-2xl);padding-bottom:8px;padding-bottom:var(--spacing-md)}.resource-category-management-section{margin-bottom:30px;margin-bottom:var(--spacing-4xl)}.category-list{display:flex;flex-direction:column;gap:8px;gap:var(--spacing-md)}.category-item{align-items:center;background:#1a1a1a;background:var(--color-bg-tertiary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:10px;border-radius:var(--border-radius-lg);display:flex;gap:15px;gap:var(--spacing-xl);justify-content:space-between;padding:15px;padding:var(--spacing-xl)}.category-info{flex:1 1}.category-actions{align-items:center;display:flex;flex-shrink:0;gap:6px;gap:var(--spacing-sm)}.category-edit-form{width:100%}.reorder-btn{background:#333;background:var(--color-bg-quaternary);border:2px solid #ffbd39;border:2px solid var(--color-primary);border-radius:8px;border-radius:var(--border-radius);color:#ffbd39;color:var(--color-primary);cursor:pointer;font-size:18px;font-size:var(--font-size-lg);font-weight:700;font-weight:var(--font-weight-bold);min-width:36px;padding:6px 8px;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease}.reorder-btn:hover:not(:disabled){background:#ffbd39;background:var(--color-primary);color:#000;color:var(--color-bg-primary)}.reorder-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.resources-grid{grid-template-columns:1fr}.resource-management-item{flex-direction:column}.resource-actions{flex-wrap:wrap;justify-content:stretch;width:100%}.delete-btn,.edit-btn{flex:1 1}.reorder-btn{min-width:40px}.category-item{align-items:stretch;flex-direction:column}.category-actions{justify-content:center;width:100%}}.lor-request-item{background:#111;background:var(--color-bg-secondary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);padding:15px;padding:var(--spacing-xl)}.lor-request-header,.lor-request-item{margin-bottom:10px;margin-bottom:var(--spacing-base)}.lor-request-header{align-items:center;display:flex;justify-content:space-between}.lor-request-student-name{color:#ddd;color:var(--color-text-primary);font-size:18px;font-size:var(--font-size-lg);font-weight:600;font-weight:var(--font-weight-semibold);margin:0 0 4px;margin:0 0 var(--spacing-xs) 0}.lor-request-email{font-size:14px;font-size:var(--font-size-sm);margin:0}.lor-request-deadline,.lor-request-email{color:#ddd;color:var(--color-text-primary)}.lor-request-deadline{background:#1a1a1a;background:var(--color-bg-tertiary);border-radius:4px;border-radius:var(--border-radius-sm);font-size:12px;font-size:var(--font-size-xs);font-weight:500;font-weight:var(--font-weight-medium);padding:4px 6px;padding:var(--spacing-xs) var(--spacing-sm)}.lor-request-body,.lor-request-field{margin-bottom:8px;margin-bottom:var(--spacing-md)}.lor-request-field strong{color:#ddd;color:var(--color-text-primary);display:block;font-size:16px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:4px;margin-bottom:var(--spacing-xs)}.lor-request-field p{color:#ddd;color:var(--color-text-primary);line-height:1.5;margin:0;white-space:pre-wrap}.lor-request-timestamp{color:#999;color:var(--color-text-tertiary);font-size:12px;font-size:var(--font-size-xs);font-style:italic;margin-top:6px;margin-top:var(--spacing-sm)}.lor-request-actions{display:flex;gap:10px;gap:var(--spacing-base);margin-top:12px;margin-top:var(--spacing-lg)}.lor-request-complete-info{background-color:#ffbd391a;background-color:var(--color-primary-alpha-10);border-left:3px solid #ffbd39;border-left:3px solid var(--color-success);border-radius:4px;border-radius:var(--border-radius-sm);color:#ddd;color:var(--color-text-primary);font-size:14px;font-size:var(--font-size-sm);margin-top:10px;margin-top:var(--spacing-base);padding:8px 12px;padding:var(--spacing-md) var(--spacing-lg)}.lor-request-completed-badge{color:#ffbd39;color:var(--color-success);font-size:14px;font-size:var(--font-size-sm);margin-left:10px;margin-left:var(--spacing-base)}.lor-request-check-icon{color:#ffbd39;color:var(--color-success);margin-right:8px;margin-right:var(--spacing-md)}.lor-request-item.highlighted{animation:highlightPulse 2s ease-in-out;background:#333!important;background:var(--color-border-primary)!important;border:2px solid #ffbd39!important;border:2px solid var(--color-primary)!important}.lor-request-completed{background:#1a1a1a;background:var(--color-bg-tertiary);opacity:.8}.lor-request-completed:hover{opacity:1}.lor-request-overdue-badge{align-items:center;background:#dc3545;background:var(--color-error);border-radius:4px;border-radius:var(--border-radius-sm);color:#fff;display:inline-flex;font-weight:600;font-weight:var(--font-weight-semibold);gap:4px;gap:var(--spacing-xs);margin-left:6px;margin-left:var(--spacing-sm);padding:4px 6px;padding:var(--spacing-xs) var(--spacing-sm)}.lor-request-overdue-badge,.lor-request-overdue-badge i{font-size:12px;font-size:var(--font-size-xs)}.lor-deadline-urgent{background:#ffbd39;background:var(--color-primary);color:#000;color:var(--color-bg-primary)}.lor-deadline-overdue{background:#dc3545;background:var(--color-error);color:#fff}@media (max-width:768px){.lor-request-header{align-items:flex-start;flex-direction:column;gap:6px;gap:var(--spacing-sm)}.lor-request-deadline{align-self:flex-start}.lor-request-actions{flex-direction:column;width:100%}.lor-request-actions button{width:100%}}.project-management{font-family:inherit;margin:0 auto;max-width:1200px;padding:20px;padding:var(--spacing-2xl)}.projects-list{margin-top:30px;margin-top:var(--spacing-4xl)}.projects-list h2{color:#fff;color:var(--color-text-secondary);font-size:22px;font-size:var(--font-size-2xl);margin-bottom:20px;margin-bottom:var(--spacing-2xl)}.no-projects{color:#999;color:var(--color-text-tertiary);font-style:italic;padding:40px;padding:var(--spacing-5xl);text-align:center}.projects-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px;margin-top:var(--spacing-2xl)}.project-card{background:#111;background:var(--color-bg-secondary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);padding:20px;padding:var(--spacing-2xl);transition:all .3s ease;transition:var(--transition-fast)}.project-card:hover{border-color:#555;border-color:var(--color-border-secondary);box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow-sm)}.project-content{display:flex;flex-direction:column;height:100%}.project-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px;margin-bottom:var(--spacing-xl)}.project-title{color:#fff;color:var(--color-text-secondary);flex:1 1;font-size:18px;font-size:var(--font-size-lg);font-weight:600;margin:0 10px 0 0;margin-right:var(--spacing-base)}.project-status{border-radius:4px;border-radius:var(--border-radius-sm);font-size:12px;font-size:var(--font-size-xs);font-weight:500;padding:4px 8px;padding:var(--spacing-xs) var(--spacing-md);text-transform:capitalize;white-space:nowrap}.project-description{color:#ddd;color:var(--color-text-primary);flex:1 1;font-size:14px;font-size:var(--font-size-sm);line-height:1.5;margin-bottom:15px;margin-bottom:var(--spacing-xl)}.project-actions{display:flex;gap:8px;gap:var(--spacing-md);margin-top:auto}.project-actions button{border:none;border-radius:4px;border-radius:var(--border-radius-sm);cursor:pointer;font-size:12px;font-size:var(--font-size-xs);padding:6px 12px;padding:var(--spacing-sm) var(--spacing-lg);transition:all .3s ease;transition:var(--transition-fast)}.view-button{background:#ffbd39;background:var(--color-primary);color:#000;color:var(--color-bg-primary)}.view-button:hover{background:#e6a800;background:var(--color-primary-hover)}.kanban-board{font-family:inherit;margin:0 auto;max-width:1400px;padding:20px;padding:var(--spacing-2xl)}.kanban-header{margin-bottom:30px;margin-bottom:var(--spacing-4xl);position:relative}.back-button{background:#333;background:var(--color-bg-quaternary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:4px;border-radius:var(--border-radius-sm);color:#ddd;color:var(--color-text-primary);cursor:pointer;font-size:14px;font-size:var(--font-size-sm);margin-bottom:20px;margin-bottom:var(--spacing-2xl);padding:8px 20px;padding:var(--spacing-md) var(--spacing-2xl)}.back-button:hover{background:#444;background:var(--color-bg-quinary)}.kanban-header h2{color:#fff;color:var(--color-text-secondary);font-size:24px;font-size:var(--font-size-3xl);margin-bottom:10px;margin-bottom:var(--spacing-base)}.kanban-header .project-description{color:#ddd;color:var(--color-text-primary);font-size:16px;font-size:var(--font-size-base);margin-bottom:0}.kanban-columns{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:30px;margin-bottom:var(--spacing-4xl);margin-top:20px;margin-top:var(--spacing-2xl)}.kanban-column{background:#111;background:var(--color-bg-secondary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);display:flex;flex-direction:column;min-height:500px;transition:all .3s ease;transition:var(--transition-fast)}.kanban-column.drag-over{background-color:#ffbd391a;background-color:var(--color-primary-alpha-10);border:3px solid #ffbd39;border:3px solid var(--color-primary);border-radius:8px;box-shadow:0 0 10px #ffbd394d;box-shadow:0 0 10px var(--color-primary-alpha-30)}.column-header{align-items:center;border-bottom:1px solid #333;border-bottom:1px solid var(--color-border-primary);border-top:3px solid;border-top-left-radius:4px;border-top-left-radius:var(--border-radius-sm);border-top-right-radius:4px;border-top-right-radius:var(--border-radius-sm);display:flex;justify-content:space-between;padding:15px 20px;padding:var(--spacing-xl) var(--spacing-2xl)}.column-header h3{color:#fff;color:var(--color-text-secondary);font-size:18px;font-size:var(--font-size-lg);margin:0}.task-count{background:#333;background:var(--color-bg-quaternary);border-radius:4px;border-radius:var(--border-radius-sm);color:#ddd;color:var(--color-text-primary);font-size:12px;font-size:var(--font-size-xs);font-weight:500;padding:4px 8px;padding:var(--spacing-xs) var(--spacing-md)}.column-content{display:flex;flex:1 1;flex-direction:column;gap:15px;gap:var(--spacing-xl)}.column-content,.subtask-card{padding:15px;padding:var(--spacing-xl)}.subtask-card{background:#1a1a1a;background:var(--color-bg-tertiary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:4px;border-radius:var(--border-radius-sm);cursor:grab;position:relative;transition:all .3s ease;transition:var(--transition-fast)}.subtask-card:hover{border-color:#555;border-color:var(--color-border-secondary);box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-xs)}.subtask-card:active{cursor:grabbing}.subtask-edit-pencil{align-items:center;background:none;border:none;border-radius:50%;color:#999;color:var(--color-text-tertiary);cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;opacity:.6;position:absolute;right:8px;top:8px;transition:all .3s ease;transition:var(--transition-fast);width:24px}.subtask-edit-pencil:hover{color:#ffbd39;color:var(--color-primary);opacity:1}.subtask-delete-x{align-items:center;background:none;border:none;border-radius:50%;color:#999;color:var(--color-text-tertiary);cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;opacity:.6;position:absolute;right:8px;top:36px;transition:all .3s ease;transition:var(--transition-fast);width:24px}.kanban-close-x:hover,.subtask-delete-x:hover{color:#ffbd39;color:var(--color-primary);opacity:1}.subtask-content{display:flex;flex-direction:column;gap:10px;gap:var(--spacing-base)}.subtask-title{color:#fff;color:var(--color-text-secondary);font-size:16px;font-size:var(--font-size-base);font-weight:500;margin:0}.subtask-description{color:#ddd;color:var(--color-text-primary);font-size:14px;font-size:var(--font-size-sm);font-weight:400;line-height:1.4;margin:0}.subtask-actions{display:flex;gap:6px;gap:var(--spacing-sm)}.subtask-actions button{border:none;border-radius:3px;border-radius:var(--border-radius-xs);cursor:pointer;font-size:12px;font-size:var(--font-size-xs);padding:4px 8px;padding:var(--spacing-xs) var(--spacing-md);transition:all .3s ease;transition:var(--transition-fast)}.subtask-edit-form{display:flex;flex-direction:column;gap:10px;gap:var(--spacing-base)}.subtask-edit-form input,.subtask-edit-form select,.subtask-edit-form textarea{background:#111;background:var(--color-bg-secondary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:4px;border-radius:var(--border-radius-sm);color:#ddd;color:var(--color-text-primary);font-size:14px;font-size:var(--font-size-sm);font-weight:400;padding:6px 10px;padding:var(--spacing-sm) var(--spacing-base)}.add-subtask-form{background:#111;background:var(--color-bg-secondary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);margin-top:20px;margin-top:var(--spacing-2xl);padding:20px;padding:var(--spacing-2xl)}.add-subtask-form h3{color:#fff;color:var(--color-text-secondary);font-size:18px;font-size:var(--font-size-lg);margin-bottom:15px;margin-bottom:var(--spacing-xl)}.add-subtask-form .form-row{align-items:top;display:flex;gap:10px;gap:var(--spacing-base);margin-bottom:10px;margin-bottom:var(--spacing-base)}.add-subtask-form .form-row input{flex:1 1}.add-subtask-form .form-row input,.add-subtask-form .form-row select{background:#1a1a1a;background:var(--color-bg-tertiary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:4px;border-radius:var(--border-radius-sm);color:#ddd;color:var(--color-text-primary);font-size:14px;font-size:var(--font-size-sm);padding:8px 12px;padding:var(--spacing-md) var(--spacing-lg)}.add-button{background:#ffbd39;background:var(--color-primary);border:none;border-radius:4px;border-radius:var(--border-radius-sm);color:#000;color:var(--color-bg-primary);cursor:pointer;font-size:14px;font-size:var(--font-size-sm);padding:8px 20px;padding:var(--spacing-md) var(--spacing-2xl);white-space:nowrap}.add-button:hover{background:#e6a800;background:var(--color-primary-hover)}.add-button:disabled{background:#333;background:var(--color-bg-quaternary);cursor:not-allowed}.add-button:disabled,.kanban-close-x{color:#999;color:var(--color-text-tertiary)}.kanban-close-x{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;opacity:.6;position:absolute;right:15px;top:15px;transition:all .3s ease;transition:var(--transition-fast);width:32px}@media (max-width:768px){.kanban-columns{gap:15px;gap:var(--spacing-xl)}.kanban-columns,.projects-grid{grid-template-columns:1fr}}@media (max-width:480px){.kanban-board,.project-management{padding:10px}.project-card,.subtask-card{padding:15px;padding:var(--spacing-xl)}.kanban-header h2{font-size:22px;font-size:var(--font-size-2xl)}}.modal-overlay{align-items:center;background:#000c;background:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000;z-index:var(--z-modal)}.modal-content{background:#111;background:var(--color-bg-secondary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);max-height:80vh;max-width:600px;overflow-y:auto;padding:30px;width:90%}.modal-content h2{color:#fff;color:var(--color-text-secondary);font-size:22px;font-size:var(--font-size-2xl)}.completion-instructions,.modal-content h2{margin-bottom:20px;margin-bottom:var(--spacing-2xl)}.completion-instructions{background:#1a1a1a;background:var(--color-bg-tertiary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:4px;border-radius:var(--border-radius-sm);padding:20px;padding:var(--spacing-2xl)}.completion-instructions p{color:#ddd;color:var(--color-text-primary);font-weight:500;margin-bottom:15px;margin-bottom:var(--spacing-xl)}.completion-instructions ol{color:#ddd;color:var(--color-text-primary);margin:0;padding-left:20px;padding-left:var(--spacing-2xl)}.completion-instructions li{line-height:1.4;margin-bottom:8px}.project-summary{background:#1a1a1a;background:var(--color-bg-tertiary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:4px;border-radius:var(--border-radius-sm);margin-bottom:20px;margin-bottom:var(--spacing-2xl);padding:20px;padding:var(--spacing-2xl)}.project-summary h3{color:#fff;color:var(--color-text-secondary);font-size:18px;font-size:var(--font-size-lg);margin-bottom:15px;margin-bottom:var(--spacing-xl)}.project-summary p{color:#ddd;color:var(--color-text-primary);margin-bottom:8px}.modal-actions{display:flex;gap:15px;gap:var(--spacing-xl);justify-content:flex-end}.complete-confirm-button{background:#ffbd39;background:var(--color-success);border:none;border-radius:4px;border-radius:var(--border-radius-sm);color:#000;color:var(--color-bg-primary);cursor:pointer;font-size:16px;font-size:var(--font-size-base);padding:10px 20px;padding:var(--spacing-base) var(--spacing-2xl);transition:all .3s ease;transition:var(--transition-fast)}.complete-confirm-button:hover{background:#e6a800;background:var(--color-success-hover)}.modal-actions .cancel-button{background:#333;background:var(--color-bg-quaternary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:4px;border-radius:var(--border-radius-sm);color:#ddd;color:var(--color-text-primary);cursor:pointer;font-size:16px;font-size:var(--font-size-base);padding:10px 20px;padding:var(--spacing-base) var(--spacing-2xl);transition:all .3s ease;transition:var(--transition-fast)}.modal-actions .cancel-button:hover{background:#444;background:var(--color-bg-quinary)}.drag-hint{margin-top:10px;margin-top:var(--spacing-base);text-align:center}.drag-hint small{color:#999;color:var(--color-text-tertiary);font-size:12px;font-size:var(--font-size-xs);font-style:italic}.mentor-request-pending-badge{align-items:center;background:#e6a800;background:var(--color-warning);border-radius:4px;color:#fff;display:inline-flex;font-weight:600;gap:4px;gap:var(--spacing-xs);margin-left:10px;margin-left:var(--spacing-base);padding:4px 8px;padding:var(--spacing-xs) var(--spacing-md)}.mentor-request-pending-badge,.mentor-request-pending-badge i{font-size:12px;font-size:var(--font-size-xs)}.lor-request-rejected{background:var(--color-error-light);border-left:4px solid #dc3545;border-left:4px solid var(--color-error)}.lor-request-rejected:hover{background:var(--color-error-light-hover)}.student-id-row{margin-top:12px;margin-top:var(--spacing-lg)}.student-id-copy{align-items:center;background:#444;background:var(--color-bg-quinary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:6px;display:flex;gap:8px;gap:var(--spacing-md);height:44px;margin-top:6px;overflow:visible;padding:0 12px;position:relative}.mono-id{color:#ddd;color:var(--color-text-primary);flex:1 1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-button{align-items:center;aspect-ratio:1/1;background:#0000;border:1px solid #0000;border-radius:6px;box-sizing:border-box;color:#fff;color:var(--color-text-secondary);cursor:pointer;display:flex;flex:0 0 10%;justify-content:center;max-height:80%;max-width:10%;transition:all .3s ease;transition:var(--transition-fast)}.copy-button:hover{background:#1a1a1a;background:var(--color-bg-tertiary);border-color:#333;border-color:var(--color-border-primary);color:#ddd;color:var(--color-text-primary)}.copy-button .fa-copy{font-size:.95rem;line-height:1}.modal-content .student-id-copy .copy-button{margin-top:0;padding:0;width:auto}.copy-toast{background:#10b98114;background:var(--color-success-ghost,#10b98114);border:1px solid #10b981;border:1px solid var(--color-success-green);border-radius:4px;bottom:100%;color:#ffbd39;color:var(--color-success);font-size:14px;font-size:var(--font-size-sm);padding:2px 6px;padding:var(--spacing-2xs) var(--spacing-sm);position:absolute;right:12px;transform:translateY(-6px);white-space:nowrap;z-index:2}.book-list-checkboxes{display:flex;flex-direction:column;gap:8px;gap:var(--spacing-md);margin-top:8px}.book-list-checkbox-label{align-items:center;color:#ddd;color:var(--color-text-primary);cursor:pointer;display:flex;padding:4px 0;padding:var(--spacing-xs) 0}.book-list-checkbox-label input[type=checkbox]{accent-color:#ffbd39;accent-color:var(--color-primary);cursor:pointer;flex:0 0 auto;height:18px;margin:0 6px 0 0;margin:0 var(--spacing-sm) 0 0;outline:none;width:18px}.book-list-checkbox-label input[type=checkbox]:focus{outline:none}.book-list-checkbox-label span{color:#ddd;color:var(--color-text-primary);flex:1 1;font-size:16px;font-size:var(--font-size-base)}.book-list-empty-message{color:#999;color:var(--color-text-tertiary);font-size:14px;font-size:var(--font-size-sm);font-style:italic;margin-bottom:0;margin-top:8px}.book-list-tags{display:flex;flex-wrap:wrap;gap:6px;gap:var(--spacing-sm);margin-top:8px}.book-list-tag{background:#3b82f61a;background:var(--color-primary-ghost,#3b82f61a);border:1px solid #ffbd39;border:1px solid var(--color-primary,#3b82f6);border-radius:12px;color:#ffbd39;color:var(--color-primary,#3b82f6);display:inline-block;font-size:14px;font-size:var(--font-size-sm,.875rem);padding:4px 10px;padding:var(--spacing-xs) var(--spacing-base)}.book-list-books{margin-top:12px;margin-top:var(--spacing-lg)}.book-list-items{list-style:none;margin:8px 0 0;padding:0}.book-list-item{align-items:center;background:#111;background:var(--color-bg-secondary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:4px;display:flex;gap:8px;gap:var(--spacing-md);margin:4px 0;padding:6px 8px;padding:var(--spacing-sm) var(--spacing-md)}.book-list-item-completed{background:#1a1a1a;background:var(--color-bg-tertiary);opacity:.9}.book-list-item-check{align-items:center;display:flex;flex:0 0 auto;justify-content:center;width:20px}.book-list-item-text{color:#ddd;color:var(--color-text-primary);flex:1 1;font-size:14px;font-size:var(--font-size-sm)}.book-list-content{display:flex;flex-direction:column;width:100%}.book-list-all-books{border-top:1px solid #333;border-top:1px solid var(--color-border-primary);margin-top:12px;margin-top:var(--spacing-lg);padding-top:12px;padding-top:var(--spacing-lg)}.book-list-all-books strong{color:#ddd;color:var(--color-text-primary);display:block;font-size:14px;font-size:var(--font-size-sm);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:4px}.book-list-summary{color:#fff;color:var(--color-text-secondary,#6b7280);font-size:14px;font-size:var(--font-size-sm,.875rem);margin-top:8px}.book-list-progress{margin-top:12px;margin-top:var(--spacing-lg)}.progress-bar-container{background:#111;background:var(--color-bg-secondary,#e5e7eb);border-radius:10px;height:20px;margin:8px 0;overflow:hidden;width:100%}.progress-bar-fill{background:#10b981;background:var(--color-success-green);border-radius:10px;height:100%;transition:width .3s ease}.progress-text{color:#fff;color:var(--color-text-secondary,#6b7280);display:block;font-size:14px;font-size:var(--font-size-sm,.875rem);margin-top:4px}.completed-books{border-top:1px solid #e5e7eb;border-top:1px solid var(--color-border,#e5e7eb);margin-top:12px;margin-top:var(--spacing-lg);padding-top:12px;padding-top:var(--spacing-lg)}.book-rating{align-items:center;display:flex;gap:6px;gap:var(--spacing-sm);margin-top:8px}.book-log-title-row{align-items:center;display:flex;gap:10px;gap:var(--spacing-base);justify-content:space-between;width:100%}.book-rating-inline{align-items:center;display:flex;flex-shrink:0;gap:6px;gap:var(--spacing-sm)}.book-log-meta-left{gap:8px;gap:var(--spacing-md)}.book-list-tags-inline,.book-log-meta-left{align-items:center;display:flex;flex-wrap:wrap}.book-list-tags-inline{gap:6px;gap:var(--spacing-sm)}.book-author-text{color:#ddd;color:var(--color-text-primary);font-size:16px;font-size:var(--font-size-base);font-style:italic;margin:0}.rating-stars{align-items:center;color:#fbbf24;color:var(--color-rating-star);display:inline-flex;font-size:1.1em;gap:2px;gap:var(--spacing-2xs)}.rating-stars i{font-size:1em}.book-list-progress-table{margin-top:16px;overflow-x:auto}.book-list-progress-table-element{border-collapse:collapse;width:100%}.book-list-progress-table-element thead{border-bottom:2px solid #333;border-bottom:2px solid var(--color-border-primary)}.book-list-progress-table-element th{color:#ddd;color:var(--color-text-primary);font-size:14px;font-size:var(--font-size-sm);font-weight:600;font-weight:var(--font-weight-semibold);padding:8px 10px;padding:var(--spacing-md) var(--spacing-base);text-align:left}.book-list-progress-table-element th:nth-child(2),.book-list-progress-table-element th:nth-child(3){text-align:center}.book-list-progress-table-element tbody tr{border-bottom:1px solid #333;border-bottom:1px solid var(--color-border-primary);transition:background-color .2s ease}.book-list-progress-table-element tbody tr:hover{background-color:#1a1a1a;background-color:var(--color-bg-tertiary)}.book-list-progress-table-element tbody tr:last-child{border-bottom:none}.book-list-progress-table-element td{color:#ddd;color:var(--color-text-primary);font-size:14px;font-size:var(--font-size-sm);padding:8px 10px;padding:var(--spacing-md) var(--spacing-base)}.book-list-progress-table-element td:nth-child(2),.book-list-progress-table-element td:nth-child(3){text-align:center}.book-list-progress-bar-small{background:#111;background:var(--color-bg-secondary);border:1px solid #333;border:1px solid var(--color-border-primary);border-radius:5px;display:inline-block;height:10px;overflow:hidden;width:120px}.book-list-progress-bar-fill-small{background:#ffbd39;background:var(--color-success);border-radius:5px;height:100%;transition:width .3s ease}.book-list-progress-count{color:#ffbd39!important;color:var(--color-primary)!important;font-weight:600!important;font-weight:var(--font-weight-semibold)!important}.book-list-section{margin-bottom:20px;margin-bottom:var(--spacing-2xl)}.book-list-section-header{align-items:center;border-bottom:2px solid #333;border-bottom:2px solid var(--color-border-primary);cursor:pointer;display:flex;margin-bottom:15px;margin-bottom:var(--spacing-xl);padding:10px 0}.book-list-section-arrow{color:#ffbd39;color:var(--color-primary);font-size:20px;font-size:var(--font-size-xl);margin-right:10px;margin-right:var(--spacing-base);transition:transform .3s ease;transition:transform var(--transition-duration) var(--transition-timing)}.book-list-section-arrow.expanded{transform:rotate(90deg)}.book-list-section-title{color:#ffbd39;color:var(--color-primary);flex:1 1;font-size:20px;font-size:var(--font-size-xl);font-weight:600;font-weight:var(--font-weight-semibold);margin:0}.book-list-section-count{color:#fff;color:var(--color-text-secondary);font-size:.9em;font-weight:var(--font-weight-normal);margin-left:6px;margin-left:var(--spacing-sm)}.book-list-progress-header{align-items:flex-start;cursor:pointer;display:flex;gap:10px;gap:var(--spacing-base);width:100%}.book-list-progress-arrow{color:#ffbd39;color:var(--color-primary);flex-shrink:0;font-size:20px;font-size:var(--font-size-xl);margin-top:4px;transition:transform .3s ease;transition:transform var(--transition-duration) var(--transition-timing)}.book-list-progress-arrow.expanded{transform:rotate(90deg)}.book-list-progress-header-content{flex:1 1;width:100%}.shareable-links-container{margin-top:15px;margin-top:var(--spacing-xl)}.shareable-link-item{background:#111;background:var(--color-bg-secondary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);display:flex;flex-direction:column;gap:8px;gap:var(--spacing-md);margin-bottom:12px;margin-bottom:var(--spacing-lg);padding:12px;padding:var(--spacing-lg)}.shareable-link-info{display:flex;flex-direction:column;gap:6px;gap:var(--spacing-sm)}.shareable-link-url{width:100%}.shareable-link-input{background:#111;background:var(--color-bg-secondary);border:2px solid #333;border:2px solid var(--color-border-primary);border-radius:8px;border-radius:var(--border-radius);color:#ddd;color:var(--color-text-primary);font-family:inherit;font-size:16px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);padding:12px;padding:var(--spacing-lg);transition:border-color .3s;transition:border-color var(--transition-duration);width:100%}.shareable-link-input:focus{border-color:#fff;border-color:var(--color-text-secondary);outline:none}.shareable-link-meta{color:#999;color:var(--color-text-tertiary);display:flex;flex-wrap:wrap;font-size:14px;font-size:var(--font-size-sm);gap:6px;gap:var(--spacing-sm)}.shareable-link-actions{align-items:center;display:flex;gap:10px;gap:var(--spacing-base)}
/*# sourceMappingURL=main.2c054de7.css.map*/