body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;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}#root,.login-container{background-color:#fff;border:2px solid #b3b3b3;border-radius:10px;box-shadow:0 0 15px #0000001a;max-width:769px;position:relative;text-align:center;width:100%}.login-container{padding:40px}.login-container h1{font-size:14px;margin-bottom:40px}.login-container h1 span{font-weight:400}.login-container h1 a{border-bottom:1px solid #106b00;color:#106b00;font-weight:700;padding-bottom:1px;text-decoration:none;transition:color .3s ease}.login-container h1 a:hover{border-bottom:1px solid #1ec900;color:#1ec900}.login-container form{display:flex;flex-direction:column;gap:20px}.checkbox-container{align-items:center;display:flex;justify-content:space-between}.checkbox-container input[type=checkbox]{margin-right:10px}.forgot-password{font-size:14px;font-weight:700}.forgot-password a{color:#106b00;text-decoration:none;transition:color .3s ease}.forgot-password a:hover{color:#1ec900}.login-button{background-color:#106b00;border:none;border-radius:22px;box-shadow:0 4px #0a4e00;color:#fff;cursor:pointer;font-size:18px;font-weight:700;padding:12px;transition:all .2s ease;width:100%}.login-button:active{background-color:#0a4e00;box-shadow:0 2px #0a4e00;transform:translateY(2px)}.login-button:hover{background-color:#18a300;box-shadow:0 4px #0a4e00}.error-message{color:red;font-weight:700;margin-top:10px}.password-toggle-icon{cursor:pointer;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.loading-container{background:#00000080}.loading-container,.loading_overlay{align-items:center;background:#000;display:flex;height:87%;justify-content:center;left:0;position:fixed;top:8%;width:100%;z-index:1000}.loading_logo{left:50%;max-width:200px;position:absolute;top:230px;transform:translateX(-50%);z-index:10}.loading_scanner-container{height:300px;position:relative;width:300px}.loading_qr-code{background:#2196f31a;border:2px solid #074e00;height:100%;position:relative;width:100%}.loading_scan-line{animation:loading_scan 2s linear infinite;background:#074e00;box-shadow:0 0 10px #0da000,0 0 20px #0da000;height:2px;position:absolute;width:100%;z-index:2}.loading_corner{border:2px solid #dbaf00;height:30px;position:absolute;width:30px}.loading_corner-tl{border-bottom:none;border-right:none;left:-2px;top:-2px}.loading_corner-tr{border-bottom:none;border-left:none;right:-2px;top:-2px}.loading_corner-bl{border-right:none;border-top:none;bottom:-2px;left:-2px}.loading_corner-br{border-left:none;border-top:none;bottom:-2px;right:-2px}.loading_text{bottom:-50px;color:#fff;font-size:18px;left:50%;position:absolute;transform:translateX(-50%);white-space:nowrap}.loading_dots{display:inline-block;width:20px}@keyframes loading_scan{0%{top:0}50%{top:100%}to{top:0}}.loading_grid{grid-gap:1px;box-sizing:border-box;display:grid;gap:1px;grid-template-columns:repeat(29,1fr);grid-template-rows:repeat(29,1fr);height:100%;padding:20px;position:absolute;width:100%}.loading_grid-item{animation:loading_flicker 1s infinite;animation-delay:calc(var(--delay)*.1s);background:#0000;opacity:.3;transition:transform .3s ease,opacity .3s ease}.loading_position-pattern{background:#074e00!important;opacity:1!important}.loading_alignment-pattern{background:#dbaf00!important;opacity:1!important}.loading_near-pattern{background:#000!important;opacity:1!important}.loading_tetromino{opacity:.4!important}.loading_tetromino-i,.loading_tetromino-j,.loading_tetromino-l,.loading_tetromino-o,.loading_tetromino-s,.loading_tetromino-t,.loading_tetromino-z{background:#ffffff4d!important}.loading_tetromino-solid{background:#000!important;opacity:1!important}@keyframes loading_flicker{0%,to{opacity:.3}50%{opacity:.5}}.container{min-height:100vh;width:100%}.sidebar{background-color:#4a90e2;background-color:var(--primary-color);color:#fff;padding:1rem;width:100%}.logo{font-size:1.5rem;font-weight:600;text-align:center}.logo,.nav-menu{margin-bottom:1rem}.nav-menu{display:flex;justify-content:space-between;list-style-type:none}.nav-item{flex:1 1;text-align:center}.nav-link{align-items:center;border-radius:8px;color:#fff;display:flex;flex-direction:column;padding:.5rem;text-decoration:none;transition:all .3s ease}.nav-link svg{height:24px;margin-bottom:.25rem;width:24px}.nav-link:hover{background-color:#ffffff1a}.nav-link.active{background-color:#fff3}.user-section{display:none}.main-content{padding:1rem}.section-title{color:#4a90e2;color:var(--primary-color);font-size:1.5rem;font-weight:600;margin-bottom:1rem}.report-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.report-card{background-color:#fff;background-color:var(--card-bg);border-radius:10px;box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow);padding:1.5rem}.chart-container{height:200px;margin-top:1rem;position:relative}.stat-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.stat-card{background-color:#f0f4f8;background-color:var(--background-color);border-radius:8px;padding:1rem;text-align:center}.stat-value{color:#4a90e2;color:var(--primary-color);font-size:1.5rem;font-weight:600}.stat-label{color:#666;font-size:.9rem;margin-top:.25rem}@media (min-width:769px){.container,.sidebar{display:flex}.sidebar{flex-direction:column;height:100vh;padding:2rem 1rem;position:fixed;width:250px}.logo{margin-bottom:2rem}.nav-menu{flex-direction:column;margin-bottom:auto}.nav-item{margin-bottom:.5rem;text-align:left}.nav-link{flex-direction:row;justify-content:flex-start;padding:.75rem 1rem}.nav-link svg{margin-bottom:0;margin-right:.75rem}.user-section{border-top:1px solid #ffffff1a;display:block;margin-top:auto;padding-top:1rem}.user-info{align-items:center;display:flex;margin-bottom:1rem;padding:.5rem}.user-avatar,.user-avatar-placeholder{border-radius:50%;height:40px;width:40px}.user-avatar{object-fit:cover}.user-avatar-placeholder{align-items:center;background-color:#fff3;display:flex;font-weight:600;justify-content:center}.user-details{margin-left:.75rem;overflow:hidden}.user-name{display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{display:block;font-size:.8rem;opacity:.8}.logout-button{align-items:center;background-color:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:.75rem;transition:all .3s ease;width:100%}.logout-button:hover{background-color:#fff3}.logout-button svg{margin-right:.5rem}.main-content{margin-left:250px;padding:2rem;width:calc(100% - 250px)}.report-grid{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.chart-container{height:250px}}:root{--primary-color:#4a90e2;--secondary-color:#50e3c2;--accent-color:#f5a623;--background-color:#f0f4f8;--text-color:#333;--card-bg:#fff;--shadow:0 4px 6px #0000001a}body{background-color:#f0f4f8;background-color:var(--background-color);color:#333;color:var(--text-color);font-family:Poppins,sans-serif;line-height:1.6}.dashboard-root{background-color:#fff;border:2px solid #b3b3b3;border-radius:10px;box-shadow:0 0 15px #0000001a;position:relative;text-align:center;width:100%}.dashboard-container{min-height:100vh;width:100%}.dashboard-main{padding:1rem}.dashboard-header{margin-bottom:2rem}.dashboard-title{color:#4a90e2;color:var(--primary-color);font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.dashboard-subtitle{color:#333;color:var(--text-color);opacity:.8}.dashboard-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.dashboard-card{background-color:#fff;background-color:var(--card-bg);border-radius:10px;box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow);padding:1.5rem}.dashboard-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.dashboard-card-title{color:#333;color:var(--text-color);font-size:1.2rem;font-weight:500}.dashboard-chart{height:200px;margin-top:1rem;position:relative}.dashboard-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.dashboard-stat-item{background-color:#f0f4f8;background-color:var(--background-color);border-radius:8px;padding:1rem;text-align:center}.dashboard-stat-value{color:#4a90e2;color:var(--primary-color);font-size:1.5rem;font-weight:600}.dashboard-stat-label{color:#666;font-size:.9rem;margin-top:.25rem}.dashboard-actions{display:flex;gap:.5rem;margin-top:1rem}.dashboard-button{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.dashboard-button--primary{background-color:#4a90e2;background-color:var(--primary-color);color:#fff}.dashboard-button--secondary{background-color:#50e3c2;background-color:var(--secondary-color);color:#fff}.dashboard-button:hover{opacity:.9;transform:translateY(-1px)}.dashboard-button:active{transform:translateY(0)}.dashboard-loading{align-items:center;display:flex;justify-content:center;min-height:200px}.dashboard-error{background-color:#fff;border:1px solid #dc3545;border-radius:4px;color:#dc3545;margin:1rem 0;padding:1rem}@media (min-width:769px){.dashboard-main{margin-left:250px;padding:2rem;width:calc(100% - 250px)}.dashboard-grid{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.dashboard-chart{height:250px}.dashboard-stats{grid-template-columns:repeat(4,1fr)}.dashboard-header{align-items:center;display:flex;justify-content:space-between}}@media (min-width:1200px){.dashboard-grid{grid-template-columns:repeat(3,1fr)}.dashboard-card--full{grid-column:1/-1}}@media print{.dashboard-main{margin-left:0;width:100%}.dashboard-actions,.dashboard-button{display:none}.dashboard-card{border:1px solid #ddd;box-shadow:none;break-inside:avoid;page-break-inside:avoid}}*{box-sizing:border-box;margin:0;padding:0}body{align-items:center;background-color:#f5f5f5;display:flex;flex-direction:column;font-family:Arial,sans-serif;justify-content:center;min-height:100vh;padding:20px}.logo-container{margin-bottom:20px;text-align:center}.logo-container img{height:100px;object-fit:contain;width:auto}.register-container{background-color:#fff;border:2px solid #b3b3b3;border-radius:10px;box-shadow:0 0 15px #0000001a;max-width:769px;padding:40px;position:relative;text-align:center;width:100%}.register-container h1{font-size:14px;margin-bottom:40px}.register-container h1 span{font-weight:400}.register-container h1 a{border-bottom:1px solid #106b00;color:#106b00;font-weight:700;padding-bottom:1px;text-decoration:none;transition:color .3s ease}.register-container h1 a:hover{border-bottom:1px solid #1ec900;color:#1ec900}.register-container form{display:flex;flex-direction:column;gap:20px}.input-container{position:relative}.input-container input{border:1px solid #ccc;border-radius:5px;font-size:16px;outline:none;padding:15px;transition:border-color .3s ease;width:100%}.input-container input:focus{border-color:#106b00}.input-container label{background-color:#fff;color:#999;font-size:16px;left:15px;padding:0 7px;pointer-events:none;top:50%;transition:all .3s ease}.input-container label,label.label-error{position:absolute;transform:translateY(-50%)}label.label-error{color:red;top:35%}.input-container input:focus+label,.input-container input:not(:placeholder-shown)+label{color:#106b00;font-size:12px;top:-1px}.input-container input:not(:placeholder-shown)+label{top:-1px}.register-button{background-color:#106b00;border:none;border-radius:22px;box-shadow:0 4px #0a4e00;color:#fff;cursor:pointer;font-size:18px;font-weight:700;padding:12px;transition:all .2s ease;width:100%}.register-button:active{background-color:#0a4e00;box-shadow:0 2px #0a4e00;transform:translateY(2px)}.register-button:hover{background-color:#18a300;box-shadow:0 4px #0a4e00}.separator{align-items:center;display:flex;margin:20px 0;text-align:center}.separator hr{border:none;border-top:1px solid #ccc;flex-grow:1}.separator span{color:#666;font-size:14px;padding:0 10px}.google-login{display:flex;width:100%}.google-login div{align-items:center;background-color:#fff;border:1px solid #00bfff;border-radius:3px 0 0 3px;cursor:pointer;display:flex;height:51px;justify-content:center;width:51px}.google-login div img{height:auto;transition:transform .5s ease;width:42px}.google-login:hover div img{transform:rotate(1turn)}.google-login button{align-items:center;background-color:#4285f4;border:none;border-radius:0 3px 3px 0;color:#fff;cursor:pointer;display:flex;flex-grow:1;font-size:18px;font-weight:700;justify-content:center;padding:12px}.google-login button:hover{background-color:#5b9be3}.google-login button,.google-login div{outline:none}.password-strength{display:flex;margin-top:10px}.strength-bar{background-color:#ccc;border-radius:2px;flex:1 1;height:5px;margin:0 2px}.strength-bar.weak{background-color:red}.strength-bar.medium{background-color:#ff0}.strength-bar.strong{background-color:green}@media (max-width:768px){.label-error{top:32%}}@media (max-width:480px){.label-error{top:32%}}.forgot-password-container{align-items:center;background-color:#f0f4f8;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.forgot-password-container .logo-container img{margin-bottom:20px;width:150px}.forgot-password-container h1{font-size:1.5rem;margin-bottom:20px}.forgot-password-container form{align-items:center;display:flex;flex-direction:column}.forgot-password-container .input-container{margin-bottom:20px;position:relative}.forgot-password-container .input-container input{border:1px solid #ccc;border-radius:5px;padding:10px;width:300px}.forgot-password-container .input-container label{background-color:#f0f4f8;color:#666;left:10px;padding:0 5px;position:absolute;top:-10px}.forgot-password-container .error-message{color:red;font-size:.875rem;margin-top:5px}.forgot-password-container .input-container .success-message,.forgot-password-container .success-message{color:green;font-size:.875rem;margin-top:5px}.forgot-password-container button{background-color:#4a90e2;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:10px 20px;transition:background-color .3s ease}.forgot-password-container button:hover{background-color:#357ab8}.reset-password-container{align-items:center;background-color:#f0f4f8;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.reset-password-container .logo-container img{margin-bottom:20px;width:150px}.reset-password-container h1{font-size:1.5rem;margin-bottom:20px}.reset-password-container form{align-items:center;display:flex;flex-direction:column}.reset-password-container .input-container{margin-bottom:20px;position:relative}.reset-password-container .input-container input{border:1px solid #ccc;border-radius:5px;padding:10px;width:300px}.reset-password-container .input-container label{background-color:#f0f4f8;color:#666;left:10px;padding:0 5px;position:absolute;top:-10px}.reset-password-container .error-message{color:red;font-size:.875rem;margin-top:5px}.reset-password-container button{background-color:#4a90e2;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:10px 20px;transition:background-color .3s ease}.reset-password-container button:hover{background-color:#357ab8}.top-bar{background:#95c3f4;color:#fff;left:0;padding:10px 0;position:fixed;text-align:center;top:0;width:100%;z-index:1000}.logo-container-navbar{align-items:center;display:flex}.logo{height:40px;margin-right:10px}.top-bar-nav{align-items:center;display:flex}.contact-link{color:#fff;font-size:1rem;margin-left:20px;text-decoration:none;transition:color .3s ease}.contact-link:hover{color:#ddd}.favorite-button{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:1rem;margin-left:20px}.favorite-button i{margin-right:5px}.favorite-button:hover{color:#ddd}.contact-icon,.favorite-icon{display:none}@media (max-width:767px){.contact-link,.favorite-button span{display:none}.contact-icon,.favorite-button{align-items:center;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;margin-left:20px}.contact-icon:hover,.favorite-button:hover{color:#ddd}}.footer{background-color:#000;bottom:0;color:#fff;left:0;padding:10px 0;position:fixed;text-align:center;width:100%;z-index:1000}.footer-content{align-items:center;display:flex;flex-direction:column}.footer-text{font-size:24px;font-weight:700}.footer-text-min{color:#dbdbdb;font-size:12px;font-weight:400}.footer-text-green{color:#28a745}.footer-text-yellow{color:#ffc107}
/*# sourceMappingURL=main.470ce487.css.map*/