*{box-sizing:border-box;margin:0;padding:0}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.login-box{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;padding:3rem;width:100%;max-width:400px;text-align:center}.login-box h1{font-size:1.8rem;color:#333;margin-bottom:.5rem}.login-box p{color:#666;margin-bottom:2rem}.login-error{background:#ffebee;color:#c62828;border:1px solid #ef5350;border-radius:6px;padding:.75rem;margin-bottom:1rem;font-size:.9rem}.login-field{margin-bottom:1.5rem}.login-field input{width:100%;padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:border-color .2s}.login-field input:focus{outline:none;border-color:#667eea}.login-button{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.875rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .2s}.login-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.login-button:disabled{opacity:.5;cursor:not-allowed}.dark-mode .login-box{background:#2d3748}.dark-mode .login-box h1{color:#e2e8f0}.dark-mode .login-box p{color:#a0aec0}.dark-mode .login-field input{background:#374151;border-color:#4a5568;color:#e2e8f0}.dark-mode .login-field input:focus{border-color:#667eea}.logout-button{position:absolute;top:1rem;left:1rem;background:#fff3;border:none;color:#fff;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s}.logout-button:hover{background:#ffffff4d}.config-button{position:absolute;top:1rem;right:4rem;background:#fff3;border:none;color:#fff;width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:background .2s}.config-button:hover{background:#ffffff4d}.login-info{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;border-radius:6px;padding:.75rem;margin-bottom:1rem;font-size:.9rem}.dark-mode .login-info{background:#1b5e20;color:#c8e6c9;border-color:#388e3c}.login-link{display:block;background:none;border:none;color:#667eea;font-size:.9rem;cursor:pointer;margin-top:1rem;text-decoration:underline;width:100%;text-align:center}.login-link:hover{color:#764ba2}.config-modal{max-width:640px}.config-section{border:1px solid #e0e0e0;border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.config-section-title{font-size:1rem;font-weight:700;color:#555;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1.25rem;padding-bottom:.5rem;border-bottom:1px solid #e0e0e0}.config-toggle-group{margin-bottom:1rem}.config-toggle-label{display:flex!important;align-items:center;gap:.5rem;font-weight:500!important;cursor:pointer}.config-toggle-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.config-inline-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-hint{display:block;font-size:.8rem;color:#888;margin-top:.25rem}.config-loading{padding:2rem;text-align:center;color:#666}.config-error{background:#ffebee;color:#c62828;border:1px solid #ef5350;border-radius:6px;padding:.75rem;margin-bottom:1rem;font-size:.9rem}.config-success{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;border-radius:6px;padding:.75rem;margin-bottom:1rem;font-size:.9rem;text-align:center;font-weight:600}.dark-mode .modal-content{background:#2d3748;color:#e2e8f0}.dark-mode .modal-header{border-bottom-color:#4a5568}.dark-mode .modal-header h2{color:#e2e8f0}.dark-mode .modal-actions{border-top-color:#4a5568}.dark-mode .form-group label{color:#e2e8f0}.dark-mode .form-group input,.dark-mode .form-group textarea{background:#1a202c;border-color:#4a5568;color:#e2e8f0}.dark-mode .form-group input:focus,.dark-mode .form-group textarea:focus{border-color:#667eea}.dark-mode .config-section{border-color:#4a5568}.dark-mode .config-section-title{color:#a0aec0;border-bottom-color:#4a5568}.dark-mode .form-hint{color:#718096}.dark-mode .cancel-button{background:#4a5568;color:#e2e8f0}.dark-mode .close-button{color:#718096}.dark-mode .close-button:hover{color:#e2e8f0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:#333;transition:background-color .3s,color .3s}body.dark-mode{background-color:#1a202c;color:#e2e8f0}.dark-mode .talk-library,.dark-mode .calendar,.dark-mode .publish-section-new{background:#2d3748;box-shadow:0 2px 8px #0000004d}.dark-mode .library-header h2,.dark-mode .calendar h2,.dark-mode .publish-title-section h2,.dark-mode .talk-title,.dark-mode .date-label,.dark-mode .assigned-talk .talk-title,.dark-mode .publish-event-title{color:#e2e8f0}.dark-mode .publish-subtitle,.dark-mode .month-label,.dark-mode .talk-description,.dark-mode .assigned-talk .description,.dark-mode .empty-message{color:#a0aec0}.dark-mode .talk-card{background:#374151;border-color:#4a5568}.dark-mode .talk-card:hover{border-color:#667eea;background:#3d4759}.dark-mode .date-slot{border-color:#4a5568;background-color:#2d3748}.dark-mode .date-slot.has-event{background-color:#1e2a3a}.dark-mode .date-slot.drag-over{background-color:#2a3a4a}.dark-mode .date-slot:hover{background-color:#374151}.dark-mode .assigned-talk{background:#374151;border-color:#4a5568}.dark-mode .expanded-content{background:#2d3748;border-top-color:#4a5568}.dark-mode .assigned-talk.dragging{background:#374151}.dark-mode .publish-event-item{background:#374151;border-color:#4a5568}.dark-mode .publish-event-item:hover{background:#3d4759}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;text-align:center;box-shadow:0 2px 10px #0000001a;position:relative}.dark-mode-toggle{position:absolute;top:1rem;right:1rem;background:#fff3;border:none;color:#fff;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:1.2rem;transition:background .2s}.dark-mode-toggle:hover{background:#ffffff4d}.app-header h1{font-size:2.5rem;margin-bottom:.5rem}.app-header p{font-size:1.1rem;opacity:.9}.app-container{display:flex;flex:1;max-width:1600px;margin:0 auto;width:100%;padding:2rem;gap:2rem}.sidebar{flex:0 0 350px}.main-content{flex:1;min-width:0}.error-banner,.success-banner{padding:1rem;margin:1rem 2rem;border-radius:8px;font-weight:500}.error-banner{background-color:#ffebee;color:#c62828;border:1px solid #ef5350}.success-banner{background-color:#e8f5e9;color:#2e7d32;border:1px solid #66bb6a}.loading{text-align:center;padding:4rem;font-size:1.5rem;color:#666}.talk-library{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;height:fit-content;position:sticky;top:2rem}.library-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.library-header h2{font-size:1.5rem;color:#333}.sync-button{background:#667eea;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background .2s}.sync-button:hover:not(:disabled){background:#5568d3}.sync-button:disabled{opacity:.5;cursor:not-allowed}.talk-list{display:flex;flex-direction:column;gap:1rem;max-height:70vh;overflow-y:auto}.empty-message{text-align:center;color:#666;padding:2rem 1rem;font-style:italic}.talk-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:1rem;cursor:grab;transition:all .2s}.talk-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.talk-card:active{cursor:grabbing}.talk-card.dragging{opacity:.5}.talk-title{font-size:1.1rem;margin-bottom:.5rem;color:#333}.talk-speaker{font-size:.9rem;color:#667eea;font-weight:500;margin-bottom:.5rem}.talk-description{font-size:.9rem;color:#666;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.calendar{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem;margin-bottom:2rem}.calendar h2{font-size:1.8rem;margin-bottom:1.5rem;color:#333}.calendar-grid{display:flex;flex-direction:column;gap:.5rem}.date-slot{border:2px dashed #e0e0e0;border-radius:8px;padding:.5rem 1rem;display:flex;align-items:center;gap:1rem;min-height:56px;transition:all .2s;background-color:#fff}.date-slot.has-event{background-color:#f5f5f5}.date-slot.drag-over{background-color:#e3f2fd}.date-slot:hover{border-color:#667eea;background-color:#f8f9ff}.date-header{flex:0 0 200px;display:flex;flex-direction:column;justify-content:center}.date-label{font-size:1.1rem;font-weight:600;color:#333}.month-label{font-size:.85rem;color:#999;margin-top:.25rem}.empty-slot{flex:1;display:flex;align-items:center;justify-content:center;color:#999;font-style:italic;padding:.5rem}.assigned-talk{flex:1;background:#f8f9ff;padding:.5rem .75rem;border-radius:6px;border:1px solid #e0e0e0;display:flex;flex-direction:column;gap:.5rem}.assigned-talk.dragging{background:#fff;box-shadow:0 4px 12px #00000026;border-color:#667eea}.assigned-talk.dragging .talk-content{padding:0}.assigned-talk.dragging .talk-title-row{margin-bottom:0}.assigned-talk-header{display:flex;align-items:flex-start;gap:1rem}.assigned-talk .drag-handle{flex:0 0 auto;cursor:grab;padding:.5rem;color:#999;font-size:1.2rem;line-height:1;-webkit-user-select:none;user-select:none;transition:color .2s;display:flex;align-items:center;justify-content:center}.assigned-talk .drag-handle:hover{color:#667eea}.assigned-talk .drag-handle:active{cursor:grabbing}.assigned-talk .talk-content{flex:1;display:flex;flex-direction:column;gap:.5rem;cursor:pointer;transition:all .2s;padding:.5rem;margin:-.5rem;border-radius:4px;min-width:0}.assigned-talk .talk-content:hover{background:#667eea0d}.assigned-talk .talk-title-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;min-width:0;margin-bottom:.5rem}.assigned-talk .talk-title{font-size:1.1rem;font-weight:600;margin:0;color:#333;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assigned-talk .edit-toggle-button{flex-shrink:0;background:transparent;border:1px solid #ddd;border-radius:4px;padding:.25rem .5rem;cursor:pointer;font-size:.9rem;color:#667eea;transition:all .2s}.assigned-talk .edit-toggle-button:hover{background:#f0f0f0;border-color:#667eea}.edited-badge{font-size:.75rem;color:#667eea;background:#e8f0fe;padding:.3rem .75rem;border-radius:6px;font-weight:600;white-space:nowrap}.expanded-content{padding:1rem;background:#fff;border-top:1px solid #e0e0e0;margin-top:.5rem}.view-details{display:flex;flex-direction:column;gap:1rem}.detail-section{display:flex;flex-direction:column;gap:.5rem}.detail-section strong{color:#333;font-size:.9rem}.detail-section p{margin:0;color:#666;line-height:1.5}.original-value{color:#999;font-size:.85rem;font-style:italic;margin-top:.25rem}.detail-actions{display:flex;gap:.5rem;margin-top:1rem}.edit-button{background:#667eea;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background .2s}.edit-button:hover{background:#5568d3}.collapse-button{background:#f0f0f0;color:#333;border:1px solid #ddd;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.collapse-button:hover{background:#e0e0e0;border-color:#ccc}.edit-form{display:flex;flex-direction:column;gap:1rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{font-weight:600;color:#333;font-size:.9rem}.form-field input,.form-field textarea{padding:.5rem;border:2px solid #e0e0e0;border-radius:4px;font-family:inherit;font-size:.9rem;transition:border-color .2s}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:#667eea}.form-field textarea{resize:vertical;min-height:80px}.edit-actions{display:flex;gap:.5rem;margin-top:.5rem}.save-edit-button,.cancel-edit-button{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.save-edit-button{background:#4caf50;color:#fff}.save-edit-button:hover{background:#45a049}.cancel-edit-button{background:#f5f5f5;color:#666}.cancel-edit-button:hover{background:#e0e0e0}.assigned-talk .speaker{font-size:.85rem;color:#667eea;font-weight:500;margin:0}.assigned-talk .description{font-size:.85rem;color:#666;line-height:1.4;margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:.5rem}.status-badge{padding:.2rem .6rem;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.status-badge.scheduled{background:#fff3e0;color:#e65100}.status-badge.published{background:#e8f5e9;color:#2e7d32}.hardware-swap-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem 1rem;background:#5865f2;color:#fff;border-radius:6px;transition:background .2s;font-size:.85rem;font-weight:500;white-space:nowrap}.hardware-swap-toggle:hover{background:#4752c4}.hardware-swap-toggle input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:white}.hardware-swap-toggle span{-webkit-user-select:none;user-select:none;color:#fff}.unassign-button{background:#f44336;color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.8rem;transition:background .2s;white-space:nowrap}.unassign-button:hover{background:#d32f2f}.update-discord-button{padding:.4rem .8rem;background-color:#5865f2;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;transition:background-color .2s;white-space:nowrap}.update-discord-button:hover{background-color:#4752c4}.update-discord-button:disabled{background-color:#99aab5;cursor:not-allowed}.publish-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.publish-section h2{font-size:1.5rem;margin-bottom:.5rem;color:#333}.publish-section>p{color:#666;margin-bottom:1.5rem}.publish-actions{margin-bottom:1.5rem}.publish-all-button{background:#4caf50;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;transition:background .2s}.publish-all-button:hover:not(:disabled){background:#45a049}.publish-all-button:disabled{opacity:.5;cursor:not-allowed}.events-list{display:flex;flex-direction:column;gap:1rem}.event-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8f9ff;border-radius:6px;border:1px solid #e0e0e0}.event-info{display:flex;gap:1rem;align-items:center}.event-status{padding:.25rem .5rem;background:#fff3e0;color:#e65100;border-radius:4px;font-size:.8rem;font-weight:500}.event-actions{display:flex;gap:.5rem}.preview-button,.publish-button{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s}.preview-button{background:#fff;color:#667eea;border:1px solid #667eea}.preview-button:hover:not(:disabled){background:#f8f9ff}.publish-button{background:#4caf50;color:#fff}.publish-button:hover:not(:disabled){background:#45a049}.preview-button:disabled,.publish-button:disabled{opacity:.5;cursor:not-allowed}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{background:#fff;padding:2rem;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.modal-header h2{margin:0;color:#333;font-size:1.5rem}.close-button{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1;transition:color .2s}.close-button:hover{color:#333}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.form-group textarea{resize:vertical;min-height:100px}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1rem;border-top:1px solid #e0e0e0}.cancel-button,.save-button{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.cancel-button{background:#f5f5f5;color:#666}.cancel-button:hover:not(:disabled){background:#e0e0e0}.save-button{background:#667eea;color:#fff}.save-button:hover:not(:disabled){background:#5568d3}.cancel-button:disabled,.save-button:disabled{opacity:.5;cursor:not-allowed}.preview-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.preview-content{background:#fff;padding:2rem;border-radius:12px;max-width:800px;max-height:80vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.preview-content h3{margin-bottom:1rem;color:#333}.preview-content p{margin-bottom:1rem;color:#666}.markdown-preview{background:#f5f5f5;padding:1.5rem;border-radius:6px;font-family:Courier New,monospace;font-size:.9rem;line-height:1.6;white-space:pre-wrap;overflow-x:auto;margin-bottom:1.5rem;border:1px solid #e0e0e0}.preview-content button{background:#667eea;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:500}.preview-content button:hover{background:#5568d3}@media (max-width: 1024px){.app-container{flex-direction:column}.sidebar{flex:1;position:static}.date-slot{flex-direction:column;align-items:flex-start;min-height:auto}.date-header{flex:0 0 auto;width:100%}.assigned-talk{width:100%}.assigned-talk .talk-title-row{flex-direction:column;align-items:flex-start;gap:.75rem}.assigned-talk h3{width:100%}.event-actions{width:100%;flex-wrap:wrap}}.publish-section-new{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem;margin-top:2rem}.publish-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem}.publish-title-section h2{font-size:1.8rem;margin:0 0 .5rem;color:#333}.publish-subtitle{font-size:1rem;color:#666;margin:0}.publish-all-buttons{display:flex;gap:1rem;flex-shrink:0}.publish-all-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;min-width:140px;text-align:center;line-height:1.4}.publish-all-btn:disabled{opacity:.5;cursor:not-allowed}.publish-hugo{background:#4a5568;color:#fff}.publish-hugo:hover:not(:disabled){background:#2d3748}.publish-discord{background:#805ad5;color:#fff}.publish-discord:hover:not(:disabled){background:#6b46c1}.publish-both{background:#48bb78;color:#fff}.publish-both:hover:not(:disabled){background:#38a169}.publish-events-list{display:flex;flex-direction:column;gap:1rem}.publish-event-item{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;transition:all .2s}.publish-event-item:hover{border-color:#667eea;background:#f8f9ff}.publish-event-info{display:flex;flex-direction:column;gap:.75rem;flex:1}.publish-event-main{display:flex;flex-direction:column;gap:.25rem}.publish-event-title{font-size:1.1rem;font-weight:600;color:#333;margin:0}.publish-event-speaker{font-size:.9rem;color:#667eea;font-weight:500}.publish-event-badges{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.publish-event-date{font-size:.85rem;font-weight:500;color:#999;text-transform:uppercase;letter-spacing:.05em}.publish-event-status{background:#fff3e0;color:#e65100;padding:.25rem .75rem;border-radius:4px;font-size:.85rem;font-weight:500}.publish-event-actions{display:flex;gap:.75rem}.publish-btn{padding:.6rem 1.2rem;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s;min-width:120px;text-align:center;line-height:1.3}.publish-btn:disabled{opacity:.5;cursor:not-allowed}.publish-btn.synced{opacity:.6;background:#9ca3af!important;cursor:not-allowed}.publish-event-modified{background:#fef3c7;color:#d97706;padding:.25rem .75rem;border-radius:4px;font-size:.8rem;font-weight:500;display:flex;align-items:center;gap:.25rem}@media (max-width: 768px){.app-header h1{font-size:1.8rem}.event-item{flex-direction:column;align-items:flex-start;gap:1rem}.publish-header{flex-direction:column;gap:1.5rem}.publish-all-buttons{flex-wrap:wrap;width:100%}.publish-all-btn{flex:1;min-width:110px}.publish-event-item{flex-direction:column;align-items:flex-start;gap:1rem}.publish-event-actions{width:100%;flex-wrap:wrap}.publish-btn{flex:1;min-width:100px}}.past-events-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem;margin-top:2rem}.past-events-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.past-events-header h2{font-size:1.8rem;margin:0;color:#333}.past-events-toggle{background:transparent;border:1px solid #ddd;border-radius:4px;padding:.25rem .5rem;cursor:pointer;font-size:.9rem;color:#667eea;transition:all .2s}.past-events-toggle:hover{background:#f0f0f0;border-color:#667eea}.past-events-list{margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem}.past-event-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;transition:all .2s}.past-event-item:hover{border-color:#667eea;background:#f8f9ff}.past-event-info{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;flex:1}.past-event-date{font-size:.85rem;font-weight:500;color:#999;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.past-event-title{font-size:1rem;font-weight:600;color:#333}.past-event-speaker{font-size:.9rem;color:#667eea;font-weight:500}.archived-badge{font-size:.75rem;color:#e65100;background:#fff3e0;padding:.2rem .6rem;border-radius:12px;font-weight:600;white-space:nowrap}.archive-button{background:#ff9800;color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.8rem;transition:background .2s;white-space:nowrap}.archive-button:hover{background:#f57c00}.past-events-section .unarchive-button{background:#4caf50;color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.8rem;transition:background .2s;white-space:nowrap;flex-shrink:0}.past-events-section .unarchive-button:hover{background:#45a049}.dark-mode .past-events-section{background:#2d3748;box-shadow:0 2px 8px #0000004d}.dark-mode .past-events-header h2{color:#e2e8f0}.dark-mode .past-event-item{background:#374151;border-color:#4a5568}.dark-mode .past-event-item:hover{background:#3d4759}.dark-mode .past-event-title{color:#e2e8f0}.talk-card-drag{cursor:grab}.talk-card-drag:active{cursor:grabbing}.talk-card-actions{display:flex;justify-content:flex-end;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e0e0e0}.talk-archive-button{font-size:.75rem;padding:.25rem .6rem}.dark-mode .talk-card-actions{border-top-color:#4a5568}.past-event-actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.past-event-date.no-date{color:#ccc;font-style:italic}.set-date-button{background:#667eea;color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.8rem;transition:background .2s;white-space:nowrap}.set-date-button:hover{background:#5568d3}.date-edit-inline{display:flex;gap:.5rem;align-items:center}.date-input{padding:.35rem .5rem;border:2px solid #e0e0e0;border-radius:4px;font-size:.85rem}.date-input:focus{outline:none;border-color:#667eea}.save-date-button{background:#4caf50;color:#fff;border:none;padding:.35rem .7rem;border-radius:4px;cursor:pointer;font-size:.8rem;transition:background .2s;white-space:nowrap}.save-date-button:hover:not(:disabled){background:#45a049}.save-date-button:disabled{opacity:.5;cursor:not-allowed}.cancel-date-button{background:#f5f5f5;color:#666;border:1px solid #ddd;padding:.35rem .7rem;border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .2s;white-space:nowrap}.cancel-date-button:hover{background:#e0e0e0}.dark-mode .date-input{background:#374151;border-color:#4a5568;color:#e2e8f0}.dark-mode .cancel-date-button{background:#4a5568;color:#e2e8f0;border-color:#6b7280}.dark-mode .past-event-date.no-date{color:#6b7280}
