body,html{margin:0;min-height:100vh;padding:0}nav.navbar{position:relative;z-index:1050!important}.login-section{min-height:calc(100vh - 270px);padding:2rem 0;position:relative;z-index:1}.btn-back,.login-section{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.btn-back{background:hsla(0,0%,100%,.95);border:none;border-radius:50%;color:#17a2b8;font-size:1.25rem;height:50px;left:2rem;position:fixed;top:7rem;width:50px;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-shadow:0 4px 15px rgba(0,0,0,.2);box-shadow:0 4px 15px rgba(0,0,0,.2);cursor:pointer;justify-content:center;-webkit-transition:all .3s ease;transition:all .3s ease;z-index:1000}.btn-back:hover{background:#17a2b8;-webkit-box-shadow:0 6px 20px rgba(23,162,184,.4);box-shadow:0 6px 20px rgba(23,162,184,.4);color:#fff;-webkit-transform:translateY(-2px);transform:translateY(-2px)}.btn-back:active{-webkit-transform:translateY(0);transform:translateY(0)}.login-card{-webkit-animation:fadeInUp .6s ease;animation:fadeInUp .6s ease;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);background:hsla(0,0%,100%,.92);border:1px solid hsla(0,0%,100%,.3);border-radius:24px;-webkit-box-shadow:0 20px 60px rgba(0,0,0,.3);box-shadow:0 20px 60px rgba(0,0,0,.3);padding:2rem 2.5rem;-webkit-transition:background .3s ease,border .3s ease,-webkit-box-shadow .3s ease;transition:background .3s ease,border .3s ease,-webkit-box-shadow .3s ease;transition:background .3s ease,border .3s ease,box-shadow .3s ease;transition:background .3s ease,border .3s ease,box-shadow .3s ease,-webkit-box-shadow .3s ease}body.dark-mode .login-card,html.dark-mode-loading .login-card{backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;background:rgba(22,27,34,.92)!important;border:1px solid hsla(0,0%,100%,.1)!important;-webkit-box-shadow:0 20px 60px rgba(0,0,0,.6)!important;box-shadow:0 20px 60px rgba(0,0,0,.6)!important}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(30px);transform:translateY(30px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(30px);transform:translateY(30px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.login-header .login-title{color:#2c3e50;font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.login-header .login-subtitle,.login-header .login-title{-webkit-transition:color .3s ease;transition:color .3s ease}.login-header .login-subtitle{color:#6c757d;font-size:.95rem;margin:0}body.dark-mode .login-header .login-title,html.dark-mode-loading .login-header .login-title{color:#f0f6fc!important}body.dark-mode .login-header .login-subtitle,html.dark-mode-loading .login-header .login-subtitle{color:#8b949e!important}.login-form .form-label{color:#495057;font-size:.95rem;font-weight:600;margin-bottom:.5rem;-webkit-transition:color .3s ease;transition:color .3s ease}.login-form .form-label i{color:#17a2b8}.login-form .input-icon-wrapper{position:relative}.login-form .input-icon-wrapper .input-icon{color:#17a2b8;font-size:1.1rem;left:1.25rem;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:10}.login-form .form-control{border:2px solid #e9ecef;border-radius:12px;font-size:1rem;padding:.875rem 1.25rem;-webkit-transition:all .3s ease;transition:all .3s ease}.login-form .form-control:focus{border-color:#17a2b8;-webkit-box-shadow:0 0 0 .25rem rgba(23,162,184,.15);box-shadow:0 0 0 .25rem rgba(23,162,184,.15);outline:none}.login-form .form-control::-webkit-input-placeholder{color:#adb5bd}.login-form .form-control::-moz-placeholder{color:#adb5bd}.login-form .form-control:-ms-input-placeholder{color:#adb5bd}.login-form .form-control::-ms-input-placeholder{color:#adb5bd}.login-form .form-control::placeholder{color:#adb5bd}body.dark-mode .login-form,body.dark-mode .login-form .form-label,html.dark-mode-loading .login-form,html.dark-mode-loading .login-form .form-label{color:#c9d1d9!important}body.dark-mode .login-form .form-control,html.dark-mode-loading .login-form .form-control{background:hsla(0,0%,100%,.05)!important;border-color:hsla(0,0%,100%,.1)!important;color:#f0f6fc!important}body.dark-mode .login-form .form-control::-webkit-input-placeholder,html.dark-mode-loading .login-form .form-control::-webkit-input-placeholder{color:#6e7681!important}body.dark-mode .login-form .form-control::-moz-placeholder,html.dark-mode-loading .login-form .form-control::-moz-placeholder{color:#6e7681!important}body.dark-mode .login-form .form-control:-ms-input-placeholder,html.dark-mode-loading .login-form .form-control:-ms-input-placeholder{color:#6e7681!important}body.dark-mode .login-form .form-control::-ms-input-placeholder,html.dark-mode-loading .login-form .form-control::-ms-input-placeholder{color:#6e7681!important}body.dark-mode .login-form .form-control::placeholder,html.dark-mode-loading .login-form .form-control::placeholder{color:#6e7681!important}body.dark-mode .login-form .form-control:focus,html.dark-mode-loading .login-form .form-control:focus{background:hsla(0,0%,100%,.08)!important;border-color:#17a2b8!important}body.dark-mode .login-form .input-icon,html.dark-mode-loading .login-form .input-icon{color:#17a2b8!important}.btn-login{background:linear-gradient(135deg,#17a2b8,#138496);border:none;border-radius:12px;-webkit-box-shadow:0 4px 15px rgba(23,162,184,.3);box-shadow:0 4px 15px rgba(23,162,184,.3);color:#fff;font-size:1.1rem;font-weight:600;padding:.875rem;-webkit-transition:all .3s ease;transition:all .3s ease}.btn-login:hover{background:linear-gradient(135deg,#138496,#117a8b);-webkit-box-shadow:0 6px 20px rgba(23,162,184,.4);box-shadow:0 6px 20px rgba(23,162,184,.4);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.btn-login:active{-webkit-transform:translateY(0);transform:translateY(0)}.btn-login:focus{-webkit-box-shadow:0 0 0 .25rem rgba(23,162,184,.25);box-shadow:0 0 0 .25rem rgba(23,162,184,.25)}.btn-google{background:#fff;border:2px solid #e9ecef;border-radius:12px;color:#495057;display:-webkit-box;display:-ms-flexbox;display:flex;font-weight:600;padding:.875rem;-webkit-transition:all .3s ease;transition:all .3s ease;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;gap:.75rem;justify-content:center}.btn-google .google-icon{-ms-flex-negative:0;flex-shrink:0}.btn-google:hover{background:#f8f9fa;border-color:#dee2e6;-webkit-box-shadow:0 4px 15px rgba(0,0,0,.1);box-shadow:0 4px 15px rgba(0,0,0,.1);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.btn-google:active{-webkit-transform:translateY(0);transform:translateY(0)}.btn-google:focus{-webkit-box-shadow:0 0 0 .25rem rgba(0,0,0,.05);box-shadow:0 0 0 .25rem rgba(0,0,0,.05)}body.dark-mode .btn-google{background:hsla(0,0%,100%,.05);border-color:hsla(0,0%,100%,.1);color:#f0f6fc}body.dark-mode .btn-google:hover{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.15)}.login-links a{text-decoration:none;-webkit-transition:all .3s ease;transition:all .3s ease}.login-links a.link-primary{color:#17a2b8}.login-links a.link-primary:hover{color:#138496;text-decoration:underline}.login-links a.link-secondary{color:#6c757d;font-size:.95rem}.login-links a.link-secondary:hover{color:#495057;text-decoration:underline}body.dark-mode .login-links{color:#c9d1d9}body.dark-mode .login-links a.link-primary{color:#58a6ff}body.dark-mode .login-links a.link-primary:hover{color:#79c0ff}body.dark-mode .login-links a.link-secondary{color:#8b949e}body.dark-mode .login-links a.link-secondary:hover{color:#c9d1d9}.divider{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#6c757d;text-align:center}.divider:after,.divider:before{content:"";-webkit-box-flex:1;border-bottom:1px solid #dee2e6;-ms-flex:1;flex:1}.divider:before{margin-right:1rem}.divider:after{margin-left:1rem}.divider .divider-text{font-size:.9rem;font-weight:500}body.dark-mode .divider{color:#8b949e}body.dark-mode .divider:after,body.dark-mode .divider:before{border-color:hsla(0,0%,100%,.1)}.alert{border:none;border-radius:12px}.alert.alert-info{background:rgba(23,162,184,.1);border-left:4px solid #17a2b8;color:#17a2b8}.alert.alert-danger{background:rgba(220,53,69,.1);border-left:4px solid #dc3545;color:#dc3545}.alert.alert-success{background:rgba(40,167,69,.1);border-left:4px solid #28a745;color:#28a745}.alert .alert-link{color:inherit;font-weight:600;text-decoration:underline}body.dark-mode .alert.alert-info{background:rgba(88,166,255,.15);border-left-color:#58a6ff;color:#58a6ff}body.dark-mode .alert.alert-danger{background:rgba(248,81,73,.15);border-left-color:#f85149;color:#f85149}body.dark-mode .alert.alert-success{background:rgba(63,185,80,.15);border-left-color:#3fb950;color:#3fb950}@media(max-width:768px){.btn-back{font-size:1.1rem;height:45px;left:1rem;top:7rem;width:45px}.login-card{margin:1rem;padding:2rem 1.5rem}.login-header .login-icon{font-size:3rem}.login-header .login-title{font-size:1.5rem}}@media(max-width:576px){.login-card{padding:1.5rem 1.25rem}}@media(max-width:768px){.login-section{min-height:auto;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;padding:1rem 0 2rem}}.bg-dark,.bg-light,.btn,.card,.card-body,.card-header,.dropdown-menu,.form-control,.modal,.nav,.navbar,.table,body,footer,header,main,td,th{-webkit-transition:background-color !important .1s ease,color !important .1s ease,border-color .1s ease!important;transition:background-color !important .1s ease,color !important .1s ease,border-color .1s ease!important}:root{--bs-body-bg:#fff;--bs-body-color:#212529;--bs-card-bg:#fff;--bs-card-border-color:rgba(0,0,0,.125);--bs-border-color:#dee2e6;--bs-heading-color:#212529;--bs-link-color:#0d6efd;--bs-link-hover-color:#0a58ca;--mecano-primary:#17a2b8;--mecano-secondary:#6c757d;--mecano-bg-light:#f8f9fa;--mecano-text-muted:#6c757d;--mecano-keyboard-bg:#fff;--mecano-keyboard-border:#343a40;--mecano-keyboard-active:#ffc107;--mecano-display-bg:#f8f9fa;--mecano-mark-good:#d4edda;--mecano-mark-bad:#f8d7da;--mecano-overlay:rgba(0,0,0,.5);color-scheme:light}[data-bs-theme=dark]{--bs-body-bg:#212529;--bs-body-color:#dee2e6;--bs-card-bg:#343a40;--bs-card-border-color:hsla(0,0%,100%,.125);--bs-border-color:#495057;--bs-heading-color:#f8f9fa;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--mecano-primary:#17a2b8;--mecano-secondary:#adb5bd;--mecano-bg-light:#343a40;--mecano-text-muted:#adb5bd;--mecano-keyboard-bg:#495057;--mecano-keyboard-border:#adb5bd;--mecano-keyboard-active:#ffc107;--mecano-display-bg:#2b3035;--mecano-mark-good:#155724;--mecano-mark-bad:#721c24;--mecano-overlay:rgba(0,0,0,.7)}body{background-color:var(--bs-body-bg)!important;color:var(--bs-body-color)!important;-webkit-transition:background-color .3s ease,color .3s ease;transition:background-color .3s ease,color .3s ease}.bg-light,.bg-white{opacity:1!important}.bg-white{background-color:#fff!important}.card,footer,header,nav,section{opacity:1!important}.card{background-color:var(--bs-card-bg)!important;border-color:var(--bs-card-border-color)}.bg-light{background-color:var(--mecano-bg-light)!important}.text-muted{color:var(--mecano-text-muted)!important}.keyboard{background-color:var(--mecano-keyboard-bg)!important;border-color:var(--mecano-keyboard-border)!important;color:var(--bs-body-color)!important}.keyboard.key-selected{background-color:var(--mecano-keyboard-active)!important;color:#000!important}.form-control,.text-box{background-color:var(--mecano-display-bg);border-color:var(--bs-border-color);color:var(--bs-body-color)}mark.good{background-color:var(--mecano-mark-good)}mark.bad,mark.good{color:var(--bs-body-color)}mark.bad{background-color:var(--mecano-mark-bad)}.overlay{background-color:var(--mecano-overlay)}.modal-content{background-color:var(--bs-card-bg);color:var(--bs-body-color)}.modal-header{border-bottom-color:var(--bs-border-color)}.modal-footer{border-top-color:var(--bs-border-color)}[data-bs-theme=dark] .accordion-item{background-color:var(--bs-card-bg);border-color:var(--bs-card-border-color)}[data-bs-theme=dark] .accordion-button{background-color:var(--mecano-bg-light);color:var(--bs-body-color)}[data-bs-theme=dark] .accordion-button:not(.collapsed){background-color:var(--bs-card-bg);color:var(--mecano-primary)}[data-bs-theme=dark] .table{--bs-table-bg:var(--bs-card-bg);--bs-table-color:var(--bs-body-color);--bs-table-border-color:var(--bs-border-color);--bs-table-striped-bg:hsla(0,0%,100%,.05);--bs-table-hover-bg:hsla(0,0%,100%,.075)}[data-bs-theme=dark] .btn-outline-dark{border-color:var(--bs-border-color);color:var(--bs-body-color)}[data-bs-theme=dark] .btn-outline-dark:hover{background-color:hsla(0,0%,100%,.1);border-color:var(--bs-body-color)}.theme-toggle{background-color:var(--bs-body-bg);border:2px solid var(--bs-border-color);border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;height:50px;position:fixed;right:20px;top:20px;width:50px;z-index:1060!important;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.15);box-shadow:0 2px 8px rgba(0,0,0,.15);cursor:pointer;justify-content:center;-webkit-transition:all .3s ease;transition:all .3s ease}.theme-toggle:hover{-webkit-box-shadow:0 4px 12px rgba(0,0,0,.2);box-shadow:0 4px 12px rgba(0,0,0,.2);-webkit-transform:scale(1.1);transform:scale(1.1)}.theme-toggle-icon{font-size:1.5rem;-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}.theme-toggle:hover .theme-toggle-icon{-webkit-transform:rotate(20deg);transform:rotate(20deg)}.theme-toggle-light{display:inline-block}.theme-toggle-dark,[data-bs-theme=dark] .theme-toggle-light{display:none}[data-bs-theme=dark] .theme-toggle-dark{display:inline-block}@media (max-width:768px){.theme-toggle{height:45px;right:1rem;top:7rem;width:45px}.theme-toggle-icon{font-size:1.3rem}}*{-webkit-transition:background-color .3s ease,color .3s ease,border-color .3s ease;transition:background-color .3s ease,color .3s ease,border-color .3s ease}:not(.no-transition){-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:background-color,color,border-color;transition-property:background-color,color,border-color;-webkit-transition-timing-function:ease;transition-timing-function:ease}[data-bs-theme=dark] img:not(.no-dark-filter){opacity:.9}[data-bs-theme=dark] canvas{-webkit-filter:brightness(.9) contrast(1.1);filter:brightness(.9) contrast(1.1)}