:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;min-width:320px;min-height:100vh;box-sizing:border-box;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}*,*:before,*:after{box-sizing:border-box}#root{width:100%;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.hidden-interconnect{display:none}.circuit-legend{position:absolute;bottom:10px;right:10px;background-color:#000000b3;border-radius:5px;padding:10px;color:#fff;font-size:12px;max-width:200px}.circuit-legend h4{margin:0 0 5px;text-align:center}.legend-items{display:flex;flex-wrap:wrap;gap:8px}.legend-item{display:flex;align-items:center;gap:5px}.color-box{width:15px;height:15px;border-radius:3px;box-shadow:0 0 3px #ffffff80}.signal-log-container{position:absolute;bottom:10px;left:10px;width:300px;max-height:200px;background-color:#000c;border-radius:5px;padding:10px;color:#fff;font-size:12px;overflow-y:auto;z-index:100}.signal-log{display:flex;flex-direction:column-reverse;gap:4px}.signal-entry{display:grid;grid-template-columns:50px 80px 30px auto;padding:4px;background-color:#1e1e1ecc;border-radius:3px}.signal-time{color:#aaa}.signal-wire{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}.signal-value{text-align:center;font-weight:700}.signal-path{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#aaa}path.connection-path[data-wire*=clk],path.connection-path[data-wire*=clock]{animation:clockPulse 2s infinite}@keyframes clockPulse{0%{stroke-opacity:.5;stroke-width:1}50%{stroke-opacity:1;stroke-width:3}to{stroke-opacity:.5;stroke-width:1}}path.connection-path[data-wire*=d],path.connection-path[data-wire*=data]{filter:drop-shadow(0 0 2px rgba(0,255,255,.5))}path.connection-path[data-wire*=q],path.connection-path[data-wire*=out]{filter:drop-shadow(0 0 2px rgba(51,255,51,.5))}@keyframes pulsate{0%{stroke-width:2;stroke-opacity:.7}50%{stroke-width:4;stroke-opacity:1}to{stroke-width:2;stroke-opacity:.7}}.connection-path{transition:stroke .3s}.active-wire{animation:pulsate 1s infinite;filter:drop-shadow(0 0 3px rgba(255,255,255,.7))}.emergency-test{background-color:#f44336!important;color:#fff!important;font-weight:700}path.connection-path{stroke-linecap:round;transition:stroke .3s}.pulse-container circle{filter:drop-shadow(0 0 5px rgba(255,255,255,.5))}path.connection-path{stroke-linecap:round;transition:stroke .3s;filter:drop-shadow(0 0 1px rgba(0,0,0,.5))}path.active-wire{filter:drop-shadow(0 0 3px rgba(255,255,255,.7))}.component-node rect{transition:fill .2s,stroke .3s;filter:drop-shadow(0 0 3px rgba(0,0,0,.5))}.component-node:hover rect{stroke:#aaf;stroke-width:3px;filter:drop-shadow(0 0 5px rgba(136,136,255,.7))}.port-node rect{transition:fill .3s;filter:drop-shadow(0 0 3px rgba(0,0,0,.5))}.port-node:hover rect{filter:drop-shadow(0 0 5px rgba(255,255,255,.7));stroke-width:3px}.port-node circle{transition:fill .3s,r .2s}.port-node:hover circle{r:12}.animation-controls{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px;background-color:#0000001a;padding:10px;border-radius:5px}.control-button{padding:6px 12px;border-radius:4px;border:1px solid #555;background:#334;color:#fff;cursor:pointer;transition:all .2s}.control-button:hover{background:#445}.control-button.active{background:#4a5}.cycle-counter{display:inline-block;padding:6px 12px;background-color:#223;border-radius:4px}.cycle-value{font-weight:700;color:#5af}.teacher-page{display:flex;flex-direction:column;height:100vh;width:100vw;background-color:var(--bg-primary);color:var(--text-primary);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden}.header-logo{height:32px;width:auto;margin-right:1rem;cursor:pointer;object-fit:contain}.teacher-header{padding:.5rem 1rem;background-color:var(--header-bg);color:var(--header-text);display:flex;align-items:center;box-shadow:0 2px 4px var(--shadow-color);height:40px;position:relative}.teacher-header h1{margin:0;font-size:1.25rem;font-weight:500}.return-button{margin-right:.75rem;padding:.25rem .5rem;background-color:#fff3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;line-height:1;transition:background-color .2s}.return-button:hover{background-color:#ffffff4d}.teacher-page-content{display:flex;flex:1 1 auto;overflow:hidden;height:calc(100% - 40px)}.teacher-sidebar{flex:0 0 350px;padding:1.5rem;display:flex;flex-direction:column;overflow-y:auto;background-color:var(--bg-secondary);border-right:1px solid var(--border-color)}.circuit-visualization{flex:1;overflow:hidden;display:flex;flex-direction:column}.visualization-container{display:flex;flex-direction:column;height:100%;padding:1.5rem}.visualization-header{margin-top:0;margin-bottom:1rem;color:var(--text-primary)}.upload-section{background-color:var(--bg-tertiary);border-radius:8px;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 2px 4px var(--shadow-color);box-sizing:border-box}.upload-section h3{margin-top:0;color:var(--text-primary);margin-bottom:1rem}.form-group{margin-bottom:.75rem;width:100%}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-secondary)}.text-input,.textarea-input{width:100%;max-width:100%;padding:.75rem;background-color:var(--input-bg);color:var(--text-primary);border:1px solid var(--input-border);border-radius:4px;font-family:inherit;font-size:.9rem;transition:border-color .2s;box-sizing:border-box;resize:vertical}.text-input:focus,.textarea-input:focus{border-color:var(--btn-primary);outline:none;box-shadow:0 0 0 3px #4299e126}.drag-drop-area{border:2px dashed var(--drag-border);border-radius:8px;padding:1rem;text-align:center;background-color:var(--bg-accent);margin:.5rem 0;transition:border-color .2s}.drag-drop-area:hover{border-color:#a0aec0}.drag-drop-area p{margin:0 0 .5rem;color:var(--text-secondary);font-size:.9rem}.or-text{display:block;margin:.25rem 0;color:var(--text-muted)}.choose-files{display:inline-block;padding:.4rem .8rem;background-color:var(--bg-tertiary);border-radius:4px;cursor:pointer;font-weight:500;font-size:.9rem;color:var(--text-secondary);transition:background-color .2s}.choose-files:hover{background-color:var(--border-color)}.drag-drop-note{display:block;margin-top:.5rem;font-size:.75rem;color:var(--text-muted);line-height:1.2}.file-preview{display:flex;align-items:center;background-color:var(--file-preview-bg);padding:.75rem;border-radius:4px;margin-bottom:.75rem}.file-icon{margin-right:.5rem;font-size:1.25rem}.file-name{flex:1;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.remove-button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:.25rem;border-radius:50%;line-height:1;transition:background-color .2s}.remove-button:hover{background-color:var(--border-color);color:var(--text-secondary)}.upload-button,.delete-selected-button,.load-button,.delete-button,.approve-button{padding:.6rem 1rem;border:none;border-radius:4px;cursor:pointer;font-weight:500;font-size:.9rem;transition:background-color .2s}.upload-button{background-color:var(--btn-primary);color:var(--btn-text);width:100%;margin-top:1rem}.upload-button:hover:not(:disabled){background-color:var(--btn-primary-hover)}.delete-selected-button{background-color:var(--btn-danger);color:var(--btn-text)}.delete-selected-button:hover:not(:disabled){background-color:var(--btn-danger-hover)}.load-button{background-color:var(--btn-success);color:var(--btn-text)}.load-button:hover:not(:disabled){background-color:var(--btn-success-hover)}.delete-button{background-color:var(--btn-danger);color:var(--btn-text)}.delete-button:hover:not(:disabled){background-color:var(--btn-danger-hover)}.approve-button{background-color:var(--btn-primary);color:var(--btn-text)}.approve-button:hover:not(:disabled){background-color:var(--btn-primary-hover)}button:disabled{opacity:.6;cursor:not-allowed}.circuit-list-section{background-color:var(--bg-secondary);border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px var(--shadow-color);flex:1;overflow-y:auto}.circuit-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.circuit-list-header h3{margin:0;color:var(--text-primary)}.circuit-list{list-style:none;padding:0;margin:0}.circuit-list-item{padding:1rem;border-radius:6px;margin-bottom:.75rem;background-color:var(--bg-secondary);box-shadow:0 2px 4px var(--shadow-color);transition:all .2s ease;border:2px solid transparent}.circuit-list-item:hover{box-shadow:0 4px 6px var(--shadow-color)}.circuit-list-item.selected{border-color:var(--select-highlight)}.circuit-list-item.highlight{border-color:var(--multi-select-highlight)}.circuit-item-content{display:flex;justify-content:space-between;align-items:flex-start;width:100%}.circuit-item-main{display:flex;align-items:flex-start;flex:1;min-width:0;max-width:calc(100% - 70px);overflow:hidden}.circuit-checkbox{margin-right:10px;transform:scale(1.2)}.circuit-info{flex:1;min-width:0;overflow:hidden;width:100%;padding-right:10px}.circuit-name{display:block;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.circuit-date{margin:.25rem 0;font-size:.8rem;color:var(--text-muted)}.circuit-description{margin:.25rem 0;font-size:.85rem;color:var(--text-secondary);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;width:100%;word-break:break-word;text-overflow:ellipsis}.circuit-item-actions{display:flex;flex-direction:column;gap:.5rem;margin-left:.5rem;flex:0 0 auto;width:60px}.circuit-item-actions button{padding:.4rem .5rem;font-size:.8rem;min-width:60px}.visualization-area{flex-grow:1;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;position:relative}.visualization-title{padding:.75rem 1rem;background-color:var(--bg-accent);border-bottom:1px solid var(--border-color);color:var(--text-primary)}.current-circuit{margin-bottom:1rem;padding:.75rem;background-color:var(--bg-accent);border-radius:4px;border-left:4px solid var(--btn-primary);color:var(--text-primary)}.no-selection{display:flex;justify-content:center;align-items:center;height:100%;color:var(--text-muted);font-style:italic;background-color:var(--bg-accent);border:1px solid var(--border-color);border-radius:8px}.teacher-burger-menu-container{position:absolute;right:20px;top:50%;transform:translateY(-50%);z-index:200;line-height:0}.burger-menu-label{display:block;position:relative;cursor:pointer;width:30px;height:20px;padding:0}.burger-menu-input{position:absolute;opacity:0;width:0;height:0;margin:0;padding:0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;visibility:hidden;pointer-events:none}.burger-menu-span{position:absolute;height:2px;width:24px;background-color:#fff;border-radius:100px;display:inline-block;transition:.3s ease}.burger-menu-span.top{top:0}.burger-menu-span.middle{top:9px}.burger-menu-span.bottom{top:18px}.burger-menu-span.top.closed{transform:rotate(45deg) translate(1px,7px);width:16px}.burger-menu-span.bottom.closed{transform:rotate(-45deg) translate(1px,-7px);width:16px}.burger-menu-span.top.closed,.burger-menu-span.bottom.closed{left:8px}.teacher-secondary-sidebar{position:fixed;right:0;height:calc(100vh - 40px);width:250px;background-color:var(--bg-secondary);border-left:1px solid var(--border-color);z-index:99;transition:transform .3s ease;box-shadow:-2px 0 5px var(--shadow-color);display:flex;flex-direction:column;overflow-y:auto;z-index:1000}.teacher-secondary-sidebar.open{transform:translate(0)}.teacher-secondary-sidebar.closed{transform:translate(100%)}.secondary-sidebar-header{padding:1rem;border-bottom:1px solid var(--border-color)}.secondary-sidebar-content{padding:1rem;flex:1}.secondary-menu{list-style:none;padding:0;margin:0}.secondary-menu li{margin-bottom:1rem}.secondary-menu a{display:block;padding:.5rem;color:var(--text-primary);text-decoration:none;border-radius:4px;transition:background-color .2s}.secondary-menu a:hover{background-color:var(--bg-accent)}@media (max-width: 1024px){.teacher-page-content{flex-direction:column}.teacher-sidebar{flex:none;width:100%;max-height:50vh;border-right:none;border-bottom:1px solid var(--border-color)}.circuit-visualization{flex:none;height:50vh}}.toggle-button{position:relative;width:fit-content;height:auto}.toggle-button input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--text-color-secondary);transition:.4s;border-radius:34px}.toggle-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:var(--background-color);transition:.4s;border-radius:50%}input:checked+.toggle-slider{background-color:var(--accent-color)}input:checked+.toggle-slider:before{transform:translate(26px)}.toggle-slider:hover{box-shadow:0 0 2px var(--accent-color)}.controls{padding:12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);color:var(--text-primary)}.animation-controls{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:10px}.control-group{display:flex;align-items:center;gap:10px}.control-button{background:var(--btn-primary);color:var(--btn-text);border:none;border-radius:4px;padding:8px 16px;font-size:14px;cursor:pointer;transition:all .2s ease}.control-button:hover{background:var(--btn-primary-hover)}.control-button.active{background:var(--select-highlight);box-shadow:0 0 0 2px var(--shadow-color)}.step-button{background:var(--btn-success)}.step-button:hover{background:var(--btn-success-hover)}.cycle-counter{background:var(--bg-accent);padding:6px 10px;border-radius:4px;display:inline-flex;align-items:center;color:var(--text-primary)}.cycle-value{font-weight:700;margin-left:5px;color:var(--header-bg)}.speed-controls{border-left:1px solid var(--border-color);padding-left:15px}.speed-slider{width:100px;margin:0 10px;cursor:pointer;background:var(--bg-accent)}.speed-value{font-weight:700;color:var(--header-bg);width:30px;display:inline-block}.option-controls{border-left:1px solid var(--border-color);padding-left:15px;gap:15px}.checkbox-label{display:flex;align-items:center;gap:5px;cursor:pointer;color:var(--text-primary)}.checkbox-label:hover span{color:var(--header-bg)}.module-name{font-weight:700;margin-top:5px;color:var(--header-bg)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;background:var(--bg-accent);border-radius:3px;border:1px solid var(--border-color)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:var(--btn-primary);border-radius:50%;cursor:pointer;transition:all .2s ease}input[type=range]::-webkit-slider-thumb:hover{background:var(--btn-primary-hover);transform:scale(1.1)}input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--btn-primary);border-radius:50%;cursor:pointer;transition:all .2s ease;border:none}input[type=range]::-moz-range-thumb:hover{background:var(--btn-primary-hover);transform:scale(1.1)}:root{--bg-primary: #ffffff;--bg-secondary: #f5f9fd;--bg-tertiary: #e6f0f9;--bg-accent: #f0f7ff;--text-primary: #202020;--text-secondary: #303840;--text-muted: #505a64;--border-color: #a0c0e0;--header-bg: #004380;--header-text: #ffffff;--shadow-color: rgba(0, 41, 73, .1);--input-bg: #ffffff;--input-border: #7eabd7;--drag-border: #7eabd7;--file-preview-bg: #edf5fc;--btn-primary: #004380;--btn-primary-hover: #00335f;--btn-success: #1d6840;--btn-success-hover: #155031;--btn-danger: #c01f2d;--btn-danger-hover: #9a1824;--btn-text: #ffffff;--select-highlight: #1d6840;--multi-select-highlight: #004380}.dark-theme{--bg-primary: #121212;--bg-secondary: #1e1e1e;--bg-tertiary: #2a2a2a;--bg-accent: #333333;--text-primary: #ffffff;--text-secondary: #cccccc;--text-muted: #c1c1c1;--border-color: #444444;--header-bg: #0d0d0d;--header-text: #ffffff;--shadow-color: rgba(0, 0, 0, .4);--input-bg: #1e1e1e;--input-border: #3a3a3a;--drag-border: #5c5c5c;--file-preview-bg: #252525;--btn-primary: #4a4a4a;--btn-primary-hover: #3a3a3a;--btn-success: #198754;--btn-success-hover: #28a36c;--btn-danger: #dc3545;--btn-danger-hover: #e55362;--btn-text: #ffffff;--select-highlight: #198754;--multi-select-highlight: #2e2e2e}.student-page--container{height:100vh;display:flex;flex-direction:column;background-color:#f8f9fa;transition:background-color .3s ease,color .3s ease}.dark-theme.student-page--container{background-color:#1a1d23;color:#e9ecef}.student-page--header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background-color:#fff;border-bottom:2px solid #e9ecef;box-shadow:0 2px 4px #0000001a;z-index:1000;position:relative}.dark-theme .student-page--header{background-color:#2c3e50;border-bottom-color:#34495e}.header-logo{height:50px;cursor:pointer;transition:transform .2s ease}.header-logo:hover{transform:scale(1.05)}.student-page--header h1{margin:0;font-size:1.5rem;font-weight:600;color:#2c3e50;flex:1;text-align:center}.dark-theme .student-page--header h1{color:#ecf0f1}.student-page--burger-menu-container{display:flex;align-items:center}.burger-menu-label{cursor:pointer;display:flex;flex-direction:column;justify-content:center;width:30px;height:24px}.burger-menu-input{display:none}.burger-menu-span{display:block;height:3px;width:100%;background-color:#333;margin:2px 0;transition:.3s;border-radius:2px}.dark-theme .burger-menu-span{background-color:#ecf0f1}.burger-menu-span.top.closed{transform:rotate(45deg) translate(6px,6px)}.burger-menu-span.middle.closed{opacity:0}.burger-menu-span.bottom.closed{transform:rotate(-45deg) translate(6px,-6px)}.student-page--content{flex:1;display:flex;position:relative;overflow:hidden}.student-page--sidebar{width:350px;background-color:#fff;border-right:2px solid #e9ecef;transition:transform .3s ease,width .3s ease;z-index:100;display:flex;flex-direction:column;height:100%;overflow:hidden}.dark-theme .student-page--sidebar{background-color:#34495e;border-right-color:#2c3e50}.student-page--sidebar.closed{transform:translate(-100%);width:0}.student-page--sidebar-content{padding:1.5rem;flex:1;overflow-y:auto}.student-page--sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.student-page--sidebar-header h3{margin:0;color:#2c3e50;font-size:1.25rem;font-weight:600}.dark-theme .student-page--sidebar-header h3{color:#ecf0f1}.student-page--refresh-btn{display:flex;align-items:center;gap:.5rem;background-color:#3498db;color:#fff;border:none;border-radius:6px;padding:.5rem 1rem;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease}.student-page--refresh-btn:hover{background-color:#2980b9;transform:translateY(-1px)}.loading-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.student-page--circuits-list{list-style:none;padding:0;margin:0}.student-page--circuit-item{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin-bottom:1rem;transition:all .2s ease}.dark-theme .student-page--circuit-item{background-color:#2c3e50;border-color:#34495e}.student-page--circuit-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#3498db}.student-page--circuit-item-container{padding:1rem;display:flex;justify-content:space-between;align-items:center}.student-page--circuit-info{flex:1}.student-page--circuit-name{display:block;color:#2c3e50;font-size:1rem;font-weight:600;margin-bottom:.25rem}.dark-theme .student-page--circuit-name{color:#ecf0f1}.student-page--circuit-date{margin:.25rem 0;color:#6c757d;font-size:.875rem}.dark-theme .student-page--circuit-date{color:#95a5a6}.student-page--circuit-description{margin:.5rem 0 0;color:#495057;font-size:.875rem;line-height:1.4}.dark-theme .student-page--circuit-description{color:#bdc3c7}.student-page--circuit-actions{display:flex;gap:.5rem}.student-page--load-btn{background-color:#28a745;color:#fff;border:none;border-radius:6px;padding:.5rem 1rem;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease}.student-page--load-btn:hover{background-color:#218838;transform:translateY(-1px)}.student-page--visualizer-wrapper{flex:1;display:flex;flex-direction:column;height:100%}.student-page--visualizer-container{flex:1;padding:2rem;overflow:auto;background-color:#fff}.dark-theme .student-page--visualizer-container{background-color:#2c3e50}.student-page--empty-state{display:flex;align-items:center;justify-content:center;height:100%;text-align:center}.student-page--empty-state p{color:#6c757d;font-size:1.125rem;margin:0}.dark-theme .student-page--empty-state p{color:#95a5a6}@media (max-width: 768px){.student-page--header{padding:1rem}.student-page--header h1{font-size:1.25rem}.student-page--sidebar{position:absolute;height:100%;z-index:200}.student-page--sidebar.closed{transform:translate(-100%)}.student-page--visualizer-container{padding:1rem}}@media (max-width: 480px){.student-page--header h1{font-size:1rem}.header-logo{height:40px}.student-page--circuit-item-container{flex-direction:column;align-items:flex-start;gap:1rem}.student-page--circuit-actions{width:100%;justify-content:flex-end}}.app-container{min-height:100vh;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease,color .3s ease}.light-theme{background:linear-gradient(135deg,#667eea,#764ba2);color:#333}.dark-theme{background:linear-gradient(135deg,#2c3e50,#3498db);color:#f8f9fa}.login-container{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:2rem;box-shadow:0 20px 40px #0000001a;max-width:400px;width:100%;margin:0 1rem}.dark-theme .login-container{background:#2c3e50f2;color:#f8f9fa}.login-logo{text-align:center;margin-bottom:1.5rem}.app-logo{height:80px;width:auto}.login-container h1{text-align:center;margin-bottom:.5rem;font-size:1.8rem;font-weight:600}.app-description{text-align:center;margin-bottom:2rem;opacity:.8;font-size:.95rem}.login-card{background:transparent}.login-tabs{display:flex;margin-bottom:1.5rem;border-radius:12px;overflow:hidden;background:#0000000d}.dark-theme .login-tabs{background:#ffffff1a}.login-tabs button{flex:1;padding:.75rem;background:transparent;border:none;cursor:pointer;transition:all .3s ease;font-weight:500}.login-tabs button.active{background:#667eea;color:#fff}.login-tabs button:not(.active):hover{background:#667eea1a}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.95rem}.login-input{width:100%;padding:.75rem 1rem;border:2px solid rgba(0,0,0,.1);border-radius:12px;font-size:1rem;transition:all .3s ease;background:#fffc}.dark-theme .login-input{background:#ffffff1a;border-color:#fff3;color:#f8f9fa}.login-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.login-button{width:100%;padding:.875rem;background:linear-gradient(45deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.login-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.login-button:active{transform:translateY(0)}@media (max-width: 768px){.app-container{padding:2rem 1rem 1rem;align-items:flex-start}.login-container{padding:1.5rem;margin:0;max-width:100%;width:calc(100vw - 2rem)}.login-container h1{font-size:1.5rem}.login-logo img{height:60px}.login-tabs button{padding:.6rem;font-size:.9rem}.login-input{padding:.65rem .8rem;font-size:.95rem}.login-button{padding:.8rem;font-size:.95rem}}@media (max-width: 480px){.app-container{padding:1rem .5rem .5rem}.login-container{padding:1rem;border-radius:15px;width:calc(100vw - 1rem)}.login-container h1{font-size:1.3rem}.app-description{font-size:.85rem;margin-bottom:1.5rem}.login-logo img{height:50px}.form-group{margin-bottom:1.25rem}.form-group label{font-size:.9rem}}@media (min-width: 769px) and (max-width: 1024px){.login-container{max-width:450px;padding:2.5rem}}@media (min-width: 1025px){.login-container{max-width:500px;padding:3rem}.login-container h1{font-size:2rem}.login-logo img{height:90px}}
