html{background:linear-gradient(135deg,#667eea,#764ba2)}body,html{display:block;height:100vh;margin:0;padding:0;width:100vw}body{float:none;position:relative}:root{--primary-gradient-start:#667eea;--primary-gradient-end:#764ba2;--primary-gradient:linear-gradient(135deg,#667eea,#764ba2);--primary-hover-gradient:linear-gradient(135deg,#5a6fd8,#6a4c93);--success-gradient-start:#4caf50;--success-gradient-end:#45a049;--success-gradient:linear-gradient(135deg,#4caf50,#45a049);--success-hover-gradient:linear-gradient(135deg,#45a049,#3d8b40);--gray-gradient-start:#6c757d;--gray-gradient-end:#5a6268;--gray-gradient:linear-gradient(135deg,#6c757d,#5a6268);--gray-hover-gradient:linear-gradient(135deg,#5a6268,#495057);--text-primary:hsla(0,0%,100%,.95);--text-secondary:hsla(0,0%,100%,.8);--text-muted:hsla(0,0%,100%,.6);--text-dark:#2c3e50;--bg-glass-light:linear-gradient(135deg,hsla(0,0%,100%,.15),hsla(0,0%,100%,.1));--bg-glass-medium:linear-gradient(135deg,hsla(0,0%,100%,.25),hsla(0,0%,100%,.2));--bg-glass-heavy:linear-gradient(135deg,hsla(0,0%,100%,.95),hsla(0,0%,100%,.9));--bg-white-transparent:hsla(0,0%,100%,.9);--bg-white-light:hsla(0,0%,100%,.1);--bg-white-medium:hsla(0,0%,100%,.2);--bg-white-heavy:hsla(0,0%,100%,.95);--border-light:hsla(0,0%,100%,.2);--border-medium:hsla(0,0%,100%,.4);--border-primary:rgba(102,126,234,.3);--border-success:rgba(76,175,80,.2);--shadow-primary:rgba(102,126,234,.3);--shadow-primary-hover:rgba(102,126,234,.4);--shadow-success:rgba(76,175,80,.3);--shadow-success-hover:rgba(76,175,80,.4);--shadow-gray:hsla(208,7%,46%,.3);--shadow-gray-hover:hsla(208,7%,46%,.4);--shadow-dark:rgba(0,0,0,.1);--shadow-dark-medium:rgba(0,0,0,.15);--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:2.5rem;--spacing-xxl:3rem;--border-radius-sm:0.5rem;--border-radius-md:0.75rem;--border-radius-lg:1rem;--border-radius-xl:1.5rem;--font-family-primary:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-size-xs:0.9rem;--font-size-sm:1rem;--font-size-md:1.2rem;--font-size-lg:1.5rem;--font-size-xl:1.8rem;--font-size-xxl:2.1rem;--font-size-xxxl:2.2rem;--transition-fast:all 0.1s ease;--transition-normal:all 0.3s ease;--transition-slow:all 0.4s cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box}body{background:linear-gradient(135deg,#667eea,#764ba2);color:hsla(0,0%,100%,.95);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;min-height:100vh}.glass-morphism{backdrop-filter:blur(10px);background:linear-gradient(135deg,hsla(0,0%,100%,.15),hsla(0,0%,100%,.101));border:1px solid hsla(0,0%,100%,.2)}.glass-morphism-hover{background:linear-gradient(135deg,hsla(0,0%,100%,.25),hsla(0,0%,100%,.2));border-color:hsla(0,0%,100%,.4)}.button-gradient{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:.75rem;box-shadow:0 4px 15px rgba(102,126,234,.3);color:#fff;cursor:pointer;font-weight:600;overflow:hidden;position:relative;transition:all .3s ease}.button-gradient:before{background:linear-gradient(135deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.05));bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.button-gradient:hover{background:linear-gradient(135deg,#506be7,#694391);box-shadow:0 6px 20px rgba(102,126,234,.4);transform:translateY(-2px)}.button-gradient:hover:before{opacity:1}.button-gradient:active{transform:translateY(0);transition:all .1s ease}.button-gradient-success{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:.75rem;box-shadow:0 4px 15px rgba(76,175,80,.3);color:#fff;cursor:pointer;font-weight:600;overflow:hidden;position:relative;transition:all .3s ease}.button-gradient-success:before{background:linear-gradient(135deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.05));bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.button-gradient-success:hover{background:linear-gradient(135deg,#449d48,#3d8e41);box-shadow:0 6px 20px rgba(76,175,80,.4);transform:translateY(-2px)}.button-gradient-success:hover:before{opacity:1}.button-gradient-success:active{transform:translateY(0);transition:all .1s ease}.button-gradient-gray{background:linear-gradient(135deg,#6c757d,#5a6268);border:none;border-radius:.75rem;box-shadow:0 4px 15px hsla(208,7%,46%,.3);color:#fff;cursor:pointer;font-weight:600;overflow:hidden;position:relative;transition:all .3s ease}.button-gradient-gray:before{background:linear-gradient(135deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.05));bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.button-gradient-gray:hover{background:linear-gradient(135deg,#60686f,#4e555a);box-shadow:0 6px 20px hsla(208,7%,46%,.4);transform:translateY(-2px)}.button-gradient-gray:hover:before{opacity:1}.button-gradient-gray:active{transform:translateY(0);transition:all .1s ease}.card-glass{backdrop-filter:blur(10px);background:linear-gradient(135deg,hsla(0,0%,100%,.15),hsla(0,0%,100%,.101));border:1px solid hsla(0,0%,100%,.2);border-radius:1rem;box-shadow:0 8px 25px rgba(0,0,0,.1);transition:all .4s cubic-bezier(.4,0,.2,1)}.card-glass:hover{background:linear-gradient(135deg,hsla(0,0%,100%,.25),hsla(0,0%,100%,.2));border-color:hsla(0,0%,100%,.4);box-shadow:0 12px 35px rgba(0,0,0,.15);transform:translateY(-4px)}.text-shadow{text-shadow:0 2px 4px rgba(0,0,0,.1)}.text-shadow-heavy{text-shadow:0 3px 6px rgba(0,0,0,.2)}@media(min-width:576px){.hidden-sm{display:none!important}}@media(min-width:768px){.hidden-md{display:none!important}}@media(min-width:992px){.hidden-lg{display:none!important}}@media(min-width:1200px){.hidden-xl{display:none!important}}.admin-dashboard{color:var(--text-primary);margin:0 auto;max-width:1280px;padding:32px 24px 48px;position:relative}.admin-dashboard__header{display:flex;justify-content:flex-end;margin-bottom:8px;padding:8px 0 16px;position:sticky;top:0;z-index:10}.admin-dashboard h1{color:#fff;font-size:32px;font-weight:600;margin:0 0 16px;text-shadow:0 4px 12px rgba(0,0,0,.25)}.admin-dashboard__actions{align-items:center;display:flex;gap:12px;margin:8px 0 24px}.admin-dashboard__table-container{backdrop-filter:blur(8px);background:hsla(0,0%,100%,.92);border:1px solid hsla(0,0%,100%,.6);border-radius:14px;box-shadow:0 8px 30px rgba(0,0,0,.18);color:#2d3748;margin-top:20px;overflow-x:auto;padding:20px 20px 8px}.admin-dashboard__table-container h2{color:#2d3748;font-size:20px;font-weight:600;margin:0 0 12px}.admin-dashboard__table-container label{color:#4a5568;display:block;font-weight:600;margin:8px 0 6px}.admin-dashboard__table-container .form-control,.admin-dashboard__table-container .form-select,.admin-dashboard__table-container input[type=email],.admin-dashboard__table-container input[type=number],.admin-dashboard__table-container input[type=text],.admin-dashboard__table-container select,.admin-dashboard__table-container textarea{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#1f2937;font-size:14px;outline:none;padding:10px 12px;transition:box-shadow .2s ease,border-color .2s ease;width:100%}.admin-dashboard__table-container .form-control::placeholder{color:#9aa3af}.admin-dashboard__table-container .form-control:focus,.admin-dashboard__table-container .form-select:focus,.admin-dashboard__table-container input:focus,.admin-dashboard__table-container select:focus,.admin-dashboard__table-container textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.25)}.admin-dashboard__error{background:#fde8e8;border:1px solid #fecaca;border-radius:10px;color:#7f1d1d;margin:12px 0 16px;padding:12px 14px}.admin-dashboard__table{border-collapse:collapse;width:100%}.admin-dashboard__table-cell,.admin-dashboard__table-header{border-bottom:1px solid #dee2e6;color:#2d3748;padding:12px 14px;text-align:left}.admin-dashboard__table-header{background:#f8f9fa;color:#1f2937;font-weight:600}.admin-dashboard__table-row{transition:background .2s ease}.admin-dashboard__table-row:hover{background-color:#f5f7fb}.admin-dashboard__table-row--checked{background-color:#e6ffed!important}.admin-dashboard__table-row--checked:hover{background-color:#d1f7e0!important}.admin-dashboard__table-row--active{background-color:#fff3cd!important;border-left:4px solid #ffc107}.admin-dashboard__table-row--active:hover{background-color:#ffeaa7!important}.admin-dashboard__checkbox--checked{accent-color:green!important}.admin-dashboard__person-info{align-items:center;display:flex;gap:10px}.admin-dashboard__person-picture{border:2px solid #e9ecef;border-radius:50%;height:40px;object-fit:cover;width:40px}.admin-dashboard__table-cell--no-data{color:#6b7280;padding:16px 0;text-align:center}.admin-dashboard__departments{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);margin-top:40px;padding:20px}.admin-dashboard__departments h2{color:#333;margin-bottom:20px}.admin-dashboard__departments-item{border-bottom:1px solid #eee;padding:10px}.admin-dashboard__departments-textarea{border:1px solid #ddd;border-radius:4px;padding:12px}.admin-dashboard__button{border:none;border-radius:12px;box-shadow:0 6px 18px rgba(0,0,0,.15);cursor:pointer;font-size:16px;font-weight:600;padding:12px 20px;transition:all .25s ease}.admin-dashboard__button--configure{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.admin-dashboard__button--configure:hover{box-shadow:0 10px 24px rgba(102,126,234,.35);transform:translateY(-2px)}.admin-dashboard__button--persons{background:linear-gradient(135deg,#38b2ac,#2f855a);color:#fff}.admin-dashboard__button--persons:hover{box-shadow:0 10px 24px rgba(56,178,172,.35);transform:translateY(-2px)}.admin-dashboard__button--edit{background:#ffc107;border-radius:8px;color:#212529;font-size:12px;font-weight:500;padding:6px 12px}.admin-dashboard__button--edit:hover{background:#e0a800}.admin-dashboard__button--save{background:#28a745;color:#fff}.admin-dashboard__button--save:hover{background:#218838}.admin-dashboard__button--cancel{background:#6c757d;color:#fff}.admin-dashboard__button--cancel:hover{background:#5a6268}.admin-dashboard__button--delete-small{background:#dc3545;border-radius:8px;color:#fff;font-size:12px;font-weight:600;padding:6px 12px}.admin-dashboard__button--delete-small:hover{background:#c82333}.admin-dashboard__language-section,.admin-dashboard__logo-section{background-color:#fff;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.18);color:#2d3748;margin-bottom:2rem;padding:1.25rem 1rem}.admin-dashboard__language-selector{margin-top:1rem}.admin-dashboard__select{background-color:#fff;border:1px solid #ddd;border-radius:4px;font-size:16px;min-width:200px;padding:10px}.admin-dashboard__select:focus{border-color:#007bff;box-shadow:0 0 0 2px rgba(0,123,255,.25);outline:none}.admin-dashboard__button--upload{background-color:#007bff;border:none;border-radius:4px;cursor:pointer;padding:.5rem 1rem}.admin-dashboard__button--delete{background-color:#dc3545;border:none;border-radius:4px;cursor:pointer;padding:.5rem 1rem}.admin-dashboard__error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:5px;color:#721c24;margin-bottom:20px;padding:15px}.admin-dashboard__phone-link{align-items:center;color:#007bff;display:flex;gap:8px;text-decoration:none;transition:color .2s}.admin-dashboard__phone-link:hover{color:#0056b3;text-decoration:underline}.admin-dashboard__phone-icon{font-size:1.1em}.admin-dashboard__no-video{color:#6c757d;font-size:12px;font-style:italic}.admin-dashboard__video-preview{border:1px solid #ddd;border-radius:4px;max-height:100px;max-width:150px}.admin-dashboard__refresh-btn:disabled{cursor:not-allowed;opacity:.5}.admin-config{margin:0 auto;max-width:1200px;padding:20px}.admin-config h1{color:#333;font-size:28px;margin-bottom:30px}.admin-config h2{color:#495057;font-size:20px;margin-bottom:20px}.admin-dashboard__button--back{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:.75rem;box-shadow:0 4px 15px rgba(102,126,234,.3);color:#fff;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;margin-bottom:20px;overflow:hidden;padding:.75rem 1.5rem;position:relative;text-decoration:none;transition:all .3s ease}.admin-dashboard__button--back:before{background:linear-gradient(135deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.05));bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.admin-dashboard__button--back:hover{background:linear-gradient(135deg,#5a6fd8,#6a4c93);box-shadow:0 6px 20px rgba(102,126,234,.4);transform:translateY(-2px)}.admin-dashboard__button--back:hover:before{opacity:1}.admin-dashboard__button--back:active{transform:translateY(0);transition:all .1s ease}.admin-dashboard__button--back:active,.admin-dashboard__button--back:hover,.admin-dashboard__button--back:link,.admin-dashboard__button--back:visited{text-decoration:none}.admin-dashboard__logo-section{margin-bottom:30px}.admin-dashboard__departments,.admin-dashboard__logo-section{background:#fff;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.1);padding:30px}.admin-dashboard__departments-textarea{border:1px solid #ced4da;border-radius:5px;font-family:inherit;font-size:14px;margin-bottom:20px;min-height:200px;padding:15px;resize:vertical;width:100%}.admin-dashboard__departments-textarea:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25);outline:none}.admin-dashboard__departments-list{list-style:none;margin:0 0 20px;padding:0}.admin-dashboard__departments-item{border-bottom:1px solid #dee2e6;color:#495057;padding:12px}.admin-dashboard__departments-item:last-child{border-bottom:none}.admin-dashboard__departments-buttons{display:flex;gap:10px;justify-content:flex-end}.admin-dashboard__logo-container{align-items:center;display:flex;flex-wrap:wrap;gap:2rem}.admin-dashboard__logo-preview{border:2px solid #dee2e6;border-radius:5px;max-height:150px;max-width:150px;object-fit:contain}.admin-dashboard__logo-actions{flex-wrap:wrap}.admin-dashboard__logo-actions,.admin-dashboard__logo-upload{align-items:center;display:flex;gap:1rem}.admin-dashboard__file-input{display:none}.admin-dashboard__button--upload{background:#007bff;color:#fff}.admin-dashboard__button--upload:hover{background:#0056b3}.admin-dashboard__button--delete{background:#dc3545;color:#fff}.admin-dashboard__button--delete:hover{background:#c82333}.admin-dashboard__loader{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.admin-dashboard__loader-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:40px;margin-bottom:16px;width:40px}.admin-dashboard__loader p{color:#6c757d;font-size:14px;margin:0}.language-switcher{align-items:center;display:flex;flex-direction:row;gap:.8rem;margin:0;padding:0;position:absolute;right:20px;top:20px;z-index:1000}.language-switcher__flag{align-items:center;background:none;border:none;border-radius:10px;box-shadow:none;cursor:pointer;display:flex;flex-direction:column;font-size:2.2rem;height:80px;justify-content:flex-start;outline:none;padding:.4rem .4rem .3rem;position:relative;transition:box-shadow .2s,background .2s,border .2s;width:70px}.language-switcher__flag.active{background:#f0f4ff;box-shadow:0 2px 8px rgba(0,123,255,.1)}.language-switcher__flag:focus{box-shadow:0 0 0 3px rgba(0,123,255,.15);outline:none}.language-switcher__flag:hover{background:#f5faff}.language-switcher__label{color:#222;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:.85rem;font-weight:500;letter-spacing:.01em;margin-top:.25rem;text-align:center}.language-switcher__flag span[role=img]{font-size:2.2rem;margin-bottom:.1rem}.digital-keyboard-overlay{align-items:center;backdrop-filter:blur(5px);background:rgba(0,0,0,.8);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.digital-keyboard{background:#fff;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-width:400px;overflow-y:auto;padding:30px;width:90%}.digital-keyboard__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.digital-keyboard__header h2{color:#333;font-size:24px;font-weight:600;margin:0}.digital-keyboard__close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:32px;height:40px;justify-content:center;padding:0;transition:all .2s ease;width:40px}.digital-keyboard__close-btn:hover{background:#f0f0f0;color:#333}.digital-keyboard__display{margin-bottom:30px;text-align:center}.digital-keyboard__pin-display{align-items:center;display:flex;gap:32px;justify-content:center;margin-bottom:40px;padding:12px 0 24px}.digital-keyboard__pin-digit{align-items:center;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.06);display:flex;height:56px;justify-content:center;line-height:1;margin:0 2px;text-align:center;transition:background .2s,color .2s,box-shadow .2s,font-size .2s;width:56px}.digital-keyboard__pin-digit,.digital-keyboard__pin-digit--empty{background:#f3f3f3;border:2px solid #e0e0e0;color:#bdbdbd;font-size:2.2rem;font-weight:700}.digital-keyboard__pin-digit--filled{animation:popIn .18s cubic-bezier(.68,-.55,.27,1.55);background:linear-gradient(135deg,#43e97b,#38f9d7);border:2px solid #43e97b;box-shadow:0 4px 16px rgba(67,233,123,.15);color:#222;font-size:2.9rem;font-weight:900;line-height:1;text-align:center}@keyframes popIn{0%{opacity:.5;transform:scale(.7)}80%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.digital-keyboard__pin-text{color:#666;font-family:monospace;font-size:18px;letter-spacing:2px}.digital-keyboard__buttons{margin-bottom:30px}.digital-keyboard__row{display:flex;gap:15px;margin-bottom:15px}.digital-keyboard__row:last-child{margin-bottom:0}.digital-keyboard__button{align-items:center;border:none;border-radius:15px;cursor:pointer;display:flex;flex:1;font-size:24px;font-weight:600;height:60px;justify-content:center;transition:all .2s ease}.digital-keyboard__button--number{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px rgba(102,126,234,.4);color:#fff}.digital-keyboard__button--number:hover{box-shadow:0 6px 20px rgba(102,126,234,.6);transform:translateY(-2px)}.digital-keyboard__button--number:active{transform:translateY(0)}.digital-keyboard__button--delete{background:linear-gradient(135deg,#ff6b6b,#ee5a52);box-shadow:0 4px 15px hsla(0,100%,71%,.4);color:#fff}.digital-keyboard__button--delete:hover{box-shadow:0 6px 20px hsla(0,100%,71%,.6);transform:translateY(-2px)}.digital-keyboard__button--empty{background:transparent;cursor:default}.digital-keyboard__button:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.digital-keyboard__actions{display:flex;gap:15px}.digital-keyboard__action-btn{border:none;border-radius:12px;cursor:pointer;flex:1;font-size:16px;font-weight:600;height:50px;transition:all .2s ease}.digital-keyboard__action-btn--clear{background:#f0f0f0;color:#666}.digital-keyboard__action-btn--clear:hover:not(:disabled){background:#e0e0e0;color:#333}.digital-keyboard__action-btn--submit{background:linear-gradient(135deg,#4caf50,#45a049);box-shadow:0 4px 15px rgba(76,175,80,.4);color:#fff}.digital-keyboard__action-btn--submit:hover:not(:disabled){box-shadow:0 6px 20px rgba(76,175,80,.6);transform:translateY(-2px)}.digital-keyboard__action-btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important}@media (max-width:480px){.digital-keyboard{border-radius:15px;padding:20px}.digital-keyboard__header h2{font-size:20px}.digital-keyboard__button{font-size:20px;height:50px}.digital-keyboard__pin-display,.digital-keyboard__row{gap:10px}}.checkin-result-overlay{align-items:center;backdrop-filter:blur(5px);background:rgba(0,0,0,.8);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.checkin-result{animation:slideIn .3s ease-out;background:#fff;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-height:90vh;max-width:500px;overflow-y:auto;padding:30px;width:90%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.checkin-result__header{margin-bottom:30px;text-align:center}.checkin-result__icon{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:40px;font-weight:700;height:80px;justify-content:center;margin:0 auto 20px;width:80px}.checkin-result__icon--checkin{background:linear-gradient(135deg,#4caf50,#45a049);box-shadow:0 8px 25px rgba(76,175,80,.4)}.checkin-result__icon--checkout{background:linear-gradient(135deg,#ff9800,#f57c00);box-shadow:0 8px 25px rgba(255,152,0,.4)}.checkin-result__title{color:#333;font-size:24px;font-weight:600;margin:0}.checkin-result__offline-badge{align-items:center;background:linear-gradient(135deg,#ff6b6b,#ee5a52);border-radius:20px;box-shadow:0 4px 12px hsla(0,100%,71%,.3);color:#fff;display:inline-flex;font-size:14px;font-weight:600;gap:8px;margin-top:10px;padding:8px 16px}.checkin-result__offline-icon{font-size:16px}.checkin-result__content{margin-bottom:30px}.checkin-result__person{align-items:center;background:#f8f9fa;border-radius:15px;display:flex;gap:20px;margin-bottom:25px;padding:20px}.checkin-result__picture{border:3px solid #e9ecef;border-radius:50%;flex-shrink:0;height:80px;overflow:hidden;width:80px}.checkin-result__picture img{height:100%;object-fit:cover;width:100%}.checkin-result__person-info{flex:1}.checkin-result__name{color:#333;font-size:20px;font-weight:600;margin:0 0 8px}.checkin-result__department{color:#666;font-size:16px;margin:0}.checkin-result__details{display:flex;flex-direction:column;gap:15px}.checkin-result__detail{align-items:center;background:#f8f9fa;border-left:4px solid #667eea;border-radius:10px;display:flex;justify-content:space-between;padding:15px}.checkin-result__detail--offline{background:linear-gradient(135deg,#fff5f5,#ffe8e8);border-left-color:#ff6b6b}.checkin-result__label{color:#495057;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.checkin-result__value{color:#333;font-size:14px;font-weight:500}.checkin-result__actions{text-align:center}.checkin-result__close-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px rgba(102,126,234,.4);color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:15px 30px;transition:all .2s ease}.checkin-result__close-btn:hover{box-shadow:0 6px 20px rgba(102,126,234,.6);transform:translateY(-2px)}.checkin-result__close-btn:active{transform:translateY(0)}@media (max-width:480px){.checkin-result{border-radius:15px;padding:20px}.checkin-result__title{font-size:20px}.checkin-result__icon{font-size:30px;height:60px;width:60px}.checkin-result__person{flex-direction:column;gap:15px;text-align:center}.checkin-result__picture{height:60px;width:60px}.checkin-result__name{font-size:18px}.checkin-result__detail{flex-direction:column;gap:8px;text-align:center}.checkin-result__offline-badge{font-size:12px;padding:6px 12px}}.offline-decision-overlay{align-items:center;background-color:rgba(0,0,0,.7);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.offline-decision-modal{background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.3);max-width:500px;padding:2rem;text-align:center;width:90%}.offline-decision-modal__header{margin-bottom:1.5rem}.offline-decision-modal__header h2{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.offline-decision-modal__header p{color:#666;font-size:.9rem;margin:0}.offline-decision-modal__person{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;justify-content:center;margin-bottom:2rem;padding:1rem}.offline-decision-modal__picture{margin-right:1rem}.offline-decision-modal__picture img{object-fit:cover}.offline-decision-modal__picture img,.offline-decision-modal__picture--placeholder{border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.1);height:60px;width:60px}.offline-decision-modal__picture--placeholder{align-items:center;background:#e9ecef;display:flex;justify-content:center}.offline-decision-modal__placeholder-icon{color:#6c757d;font-size:24px}.offline-decision-modal__person-info{text-align:left}.offline-decision-modal__name{color:#333;font-size:1.2rem;font-weight:600;margin:0 0 .25rem}.offline-decision-modal__department{color:#666;font-size:.9rem;margin:0}.offline-decision-modal__actions{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem}.offline-decision-modal__btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;font-size:1rem;font-weight:600;justify-content:center;min-height:80px;min-width:120px;padding:1.5rem 2rem;transition:all .2s ease}.offline-decision-modal__btn--checkin{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.offline-decision-modal__btn--checkin:hover{background:linear-gradient(135deg,#218838,#1ea085);box-shadow:0 4px 12px rgba(40,167,69,.3);transform:translateY(-2px)}.offline-decision-modal__btn--checkout{background:linear-gradient(135deg,#fd7e14,#ffc107);color:#fff}.offline-decision-modal__btn--checkout:hover{background:linear-gradient(135deg,#e8690b,#e0a800);box-shadow:0 4px 12px rgba(253,126,20,.3);transform:translateY(-2px)}.offline-decision-modal__btn-icon{font-size:1.5rem;margin-bottom:.5rem}.offline-decision-modal__footer{border-top:1px solid #eee;padding-top:1rem}.offline-decision-modal__cancel-btn{background:none;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;padding:.5rem 1rem;transition:all .2s ease}.offline-decision-modal__cancel-btn:hover{background:#f8f9fa;border-color:#ccc;color:#333}@media (max-width:480px){.offline-decision-modal{margin:1rem;padding:1.5rem}.offline-decision-modal__actions{flex-direction:column;gap:.75rem}.offline-decision-modal__btn{min-height:60px;padding:1rem 1.5rem}}.checkin-button-container{bottom:20px;left:20px;position:fixed;z-index:1000}.checkin-button{align-items:center;background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:50%;box-shadow:0 6px 20px rgba(76,175,80,.4);color:#fff;cursor:pointer;display:flex;font-size:24px;font-weight:700;height:100px;justify-content:center;transition:all .3s ease;width:100px}.checkin-button:hover{background:linear-gradient(135deg,#45a049,#4caf50);box-shadow:0 6px 20px rgba(76,175,80,.6);transform:scale(1.1)}.checkin-button:active{transform:scale(.95)}.checkin-button:before{background:hsla(0,0%,100%,.2);border-radius:50%;content:"";height:40px;position:absolute;width:40px}.checkin-error{animation:slideInError .3s ease-out;background:#ff6b6b;border-radius:15px;box-shadow:0 10px 30px hsla(0,100%,71%,.4);color:#fff;left:50%;padding:20px 30px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:10001}@keyframes slideInError{0%{opacity:0;transform:translate(-50%,-60%)}to{opacity:1;transform:translate(-50%,-50%)}}.checkin-error__message{font-size:16px;font-weight:600;margin:0;text-align:center}.contact-form-container{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;padding:var(--spacing-lg);width:100%}.contact-form{backdrop-filter:blur(15px);background:hsla(0,0%,100%,.95);border:1px solid hsla(0,0%,100%,.3);border-radius:var(--border-radius-md);box-shadow:0 8px 25px rgba(0,0,0,.15);max-width:1200px;padding:var(--spacing-lg);width:100%}.form-row{display:flex;gap:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.form-group{flex:1}.form-group label{color:rgba(0,0,0,.9);font-family:var(--font-family-primary);font-size:var(--font-size-xxl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm);text-shadow:0 1px 2px hsla(0,0%,100%,.8)}.form-group input{backdrop-filter:blur(10px);background:hsla(0,0%,100%,.9);border:1px solid var(--border-light);border-radius:var(--border-radius-sm);color:var(--text-dark);font-size:var(--font-size-lg);padding:var(--spacing-sm);transition:var(--transition-normal);width:100%}.form-group input::placeholder{color:rgba(0,0,0,.6);font-weight:var(--font-weight-normal)}.form-group input:focus{background:#fff;border-color:var(--primary-gradient-start);box-shadow:0 0 0 2px var(--shadow-primary);outline:none}.form-group input.error{background-color:rgba(220,53,69,.15);border-color:#dc3545;box-shadow:0 0 0 2px rgba(220,53,69,.2)}.field-error-message{color:#dc3545;display:block;font-family:var(--font-family-primary);font-size:var(--font-size-md);margin-top:var(--spacing-sm)}.gdpr-notice{backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border:1px solid var(--border-light);border-radius:var(--border-radius-sm);color:rgba(0,0,0,.8);font-size:var(--font-size-md);font-weight:var(--font-weight-normal);line-height:1.6;margin:var(--spacing-md) 0;padding:var(--spacing-lg)}.submit-button{background:var(--primary-gradient);border-radius:var(--border-radius-sm);box-shadow:0 4px 15px var(--shadow-primary);font-size:var(--font-size-xxxl);font-weight:var(--font-weight-semibold);overflow:hidden;padding:var(--spacing-lg) var(--spacing-xxl);position:relative;transition:var(--transition-normal)}.submit-button:hover{background:var(--primary-hover-gradient);box-shadow:0 6px 20px var(--shadow-primary-hover);transform:translateY(-2px)}.error-message{backdrop-filter:blur(10px);background-color:rgba(220,53,69,.15);border:1px solid rgba(220,53,69,.4);border-radius:var(--border-radius-sm);font-weight:var(--font-weight-medium);margin:var(--spacing-sm) 0;padding:var(--spacing-sm)}.contact-form-title{color:var(--text-primary);font-family:var(--font-family-primary);font-size:var(--font-size-xxxl);font-weight:var(--font-weight-bold);letter-spacing:1px;margin-bottom:var(--spacing-lg);text-align:center;text-shadow:0 3px 6px rgba(0,0,0,.2)}.departments-container{display:flex;flex-direction:column;margin:0 auto;padding:2rem;width:100%}.departments-title{color:var(--text-primary);font-family:var(--font-family-primary);font-size:var(--font-size-xxxl);font-weight:var(--font-weight-light);letter-spacing:1px;margin-bottom:var(--spacing-xl);text-align:center;text-shadow:0 3px 6px rgba(0,0,0,.2)}.departments-grid{display:grid;gap:var(--spacing-lg) var(--spacing-xl);grid-template-columns:repeat(3,1fr);height:40rem;margin-bottom:var(--spacing-lg);margin-left:auto;margin-right:auto;width:60rem}.department-box{align-items:center;aspect-ratio:1;background:var(--primary-gradient);border:none;border-radius:var(--border-radius-xl);box-shadow:0 8px 25px var(--shadow-primary);color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);justify-content:center;overflow:hidden;padding:var(--spacing-lg);position:relative;text-align:center;transition:var(--transition-slow)}.department-box:before{background:linear-gradient(135deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.05));bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.department-box:hover{background:var(--primary-hover-gradient);box-shadow:0 16px 40px var(--shadow-primary-hover);transform:translateY(-8px) scale(1.02)}.department-box:hover:before{opacity:1}.department-box.selected{background:var(--success-gradient);box-shadow:0 12px 35px var(--shadow-success);transform:scale(1.05)}.department-box.selected:hover{background:var(--success-hover-gradient);box-shadow:0 16px 45px var(--shadow-success-hover)}.department-box:active{transform:translateY(-4px) scale(.98);transition:var(--transition-fast)}.pagination{align-items:center;display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-sm);width:100%}.pagination button{background:var(--primary-gradient);border:none;border-radius:var(--border-radius-md);box-shadow:0 4px 15px var(--shadow-primary);color:#fff;cursor:pointer;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);min-width:60px;padding:var(--spacing-sm) var(--spacing-md);transition:var(--transition-normal)}.pagination button:hover:not(:disabled){background:var(--primary-hover-gradient);box-shadow:0 6px 20px var(--shadow-primary-hover);transform:translateY(-2px)}.pagination button:disabled{background:var(--gray-gradient);box-shadow:none;cursor:not-allowed;transform:none}.pagination span{background:hsla(0,0%,100%,.9);border-radius:var(--border-radius-sm);box-shadow:0 2px 8px var(--shadow-dark);color:var(--text-dark);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-md)}.departments-empty,.departments-error,.departments-loading{background:var(--bg-white-transparent);border-radius:var(--border-radius-lg);box-shadow:0 4px 15px var(--shadow-dark);color:var(--text-dark);font-size:var(--font-size-lg);margin:var(--spacing-lg) auto;max-width:400px;padding:var(--spacing-lg);text-align:center}.login-form-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);margin:0 auto;max-width:400px;padding:2rem}.login-form-container h2{color:#333;margin-bottom:2rem;text-align:center}.form-group{margin-bottom:1.5rem}.form-group label{color:#666;display:block;margin-bottom:.5rem}.form-group input[type=email]{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;width:100%}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:.5rem}.checkbox-label input[type=checkbox]{height:1.2rem;width:1.2rem}.submit-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem;transition:background-color .2s;width:100%}.submit-button:hover{background-color:#0056b3}.submit-button:disabled{background-color:#ccc;cursor:not-allowed}.message{background-color:#f8f9fa;border-radius:4px;color:#333;margin-top:1rem;padding:.75rem;text-align:center}.rating-container{align-items:center;bottom:0;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--spacing-xxl);justify-content:center;left:0;min-height:100%;padding:var(--spacing-lg);position:fixed;right:0;top:0;width:100%}.rating-title{color:var(--text-primary);font-family:var(--font-family-primary);font-size:var(--font-size-xxxl);font-weight:var(--font-weight-bold);letter-spacing:1px;margin-bottom:var(--spacing-lg);text-align:center;text-shadow:0 3px 6px rgba(0,0,0,.2)}.rating-circles-wrapper{gap:var(--spacing-xl)}.rating-circle,.rating-circles-wrapper{align-items:center;display:flex;justify-content:center}.rating-circle{border-radius:50%;box-shadow:0 4px 8px var(--shadow-dark);cursor:pointer;flex-direction:column;height:19rem;overflow:hidden;position:relative;transition:var(--transition-normal);width:19rem}.rating-circle:after{background:hsla(0,0%,100%,.2);border-radius:50%;bottom:0;content:"";left:0;position:absolute;right:0;top:0;transform:scale(0);transition:transform .3s ease}.rating-circle.selected{box-shadow:0 8px 16px var(--shadow-dark-medium);transform:scale(1.1)}.rating-circle.selected:after{transform:scale(1)}.rating-circle:hover{transform:scale(1.05)}.rating-circle .emoji{font-size:6rem;margin-bottom:var(--spacing-lg)}.rating-circle .title{color:#fff;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.1)}.rating-circle.very-bad{background-color:#f44}.rating-circle.bad{background-color:#f80}.rating-circle.good{background-color:#0a0}.rating-circle.very-good{background-color:#080}.video-message-option{display:flex;justify-content:center;margin-top:var(--spacing-lg);width:100%}.video-message-button{background:var(--primary-gradient);border:none;border-radius:var(--border-radius-md);box-shadow:0 4px 8px var(--shadow-primary);color:#fff;cursor:pointer;font-size:var(--font-size-xxxl);font-weight:var(--font-weight-bold);overflow:hidden;padding:var(--spacing-sm) var(--spacing-lg);position:relative;transition:var(--transition-normal)}.video-message-button:hover{background:var(--primary-hover-gradient);box-shadow:0 6px 20px var(--shadow-primary-hover);transform:translateY(-2px)}.video-message-button:active{background:var(--primary-hover-gradient);transform:translateY(1px);transition:var(--transition-fast)}.reasons-container{margin:0 auto;padding:var(--spacing-lg);width:100%}.reasons-title{color:var(--text-primary);font-family:var(--font-family-primary);font-size:var(--font-size-xxxl);font-weight:var(--font-weight-light);letter-spacing:1px;margin-bottom:var(--spacing-lg);text-align:center;text-shadow:0 3px 6px rgba(0,0,0,.2)}.reasons-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.reasons-grid{display:grid;gap:var(--spacing-md) var(--spacing-xl);grid-template-columns:1fr 1fr;width:100%}.reasons-row{display:flex;gap:var(--spacing-xl)}.reasons-column{display:flex;flex:1;flex-direction:column;gap:var(--spacing-sm)}.reason-checkbox{align-items:center;backdrop-filter:blur(10px);background:var(--bg-glass-light);border:1px solid var(--border-light);border-radius:var(--border-radius-lg);box-shadow:0 8px 25px var(--shadow-dark);box-sizing:border-box;cursor:pointer;display:flex;justify-content:flex-start;margin:0;min-height:7rem;overflow:hidden;padding:var(--spacing-md);position:relative;transition:var(--transition-slow);width:100%}.reason-checkbox:before{background:linear-gradient(135deg,rgba(102,126,234,.1),rgba(118,75,162,.05));bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.reason-checkbox:hover{background:var(--bg-glass-medium);border-color:var(--border-medium);box-shadow:0 12px 35px var(--shadow-dark-medium);transform:translateY(-4px)}.reason-checkbox:hover:before{opacity:1}.reason-checkbox input[type=checkbox]{accent-color:var(--primary-gradient-start);cursor:pointer;height:1.8rem;margin-right:var(--spacing-md);transform:scale(1.1);width:1.8rem}.reason-text{color:var(--text-primary);font-size:var(--font-size-xxl);font-weight:var(--font-weight-medium);line-height:1.4;text-shadow:0 2px 4px rgba(0,0,0,.1)}.additional-comments-container{display:flex;flex-direction:column;gap:var(--spacing-sm)}.additional-comments-label{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);text-shadow:0 2px 4px rgba(0,0,0,.1)}.additional-comments-textarea{backdrop-filter:blur(10px);background:var(--bg-glass-light);border:1px solid var(--border-light);border-radius:var(--border-radius-lg);box-shadow:0 8px 25px var(--shadow-dark);color:var(--text-primary);font-size:var(--font-size-xxxl);min-height:100px;padding:var(--spacing-md);resize:vertical;transition:var(--transition-normal);width:100%}.additional-comments-textarea:focus{background:var(--bg-glass-medium);border-color:var(--border-medium);box-shadow:0 12px 35px var(--shadow-primary);outline:none}.additional-comments-textarea::placeholder{color:var(--text-muted)}.continue-button{align-self:center;background:var(--primary-gradient);border:none;border-radius:var(--border-radius-lg);box-shadow:0 8px 25px var(--shadow-primary);color:#fff;cursor:pointer;font-size:var(--font-size-xxxl);font-weight:var(--font-weight-semibold);max-width:500px;overflow:hidden;padding:var(--spacing-lg) var(--spacing-xxl);position:relative;transition:var(--transition-slow);width:100%}.continue-button:before{background:linear-gradient(135deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.05));bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.continue-button:hover{background:var(--primary-hover-gradient);box-shadow:0 12px 35px var(--shadow-primary-hover);transform:translateY(-4px)}.continue-button:hover:before{opacity:1}.continue-button:active{transform:translateY(-2px);transition:var(--transition-fast)}.comment-input-container{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-xl);width:100%}.comment-input-container .additional-comments-textarea{backdrop-filter:blur(10px);background:var(--bg-glass-light);border:1px solid var(--border-light);border-radius:var(--border-radius-lg);box-shadow:0 8px 25px var(--shadow-dark);color:var(--text-primary);font-size:var(--font-size-lg);max-width:800px;min-height:200px;padding:var(--spacing-md);resize:vertical;transition:var(--transition-normal);width:100%}.comment-input-container .additional-comments-textarea:focus{background:var(--bg-glass-medium);border-color:var(--border-medium);box-shadow:0 12px 35px var(--shadow-primary);outline:none}.comment-input-container .finish-comment-button{background:var(--success-gradient);border:none;border-radius:var(--border-radius-md);box-shadow:0 4px 15px var(--shadow-success);color:#fff;cursor:pointer;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-lg);transition:var(--transition-normal)}.comment-input-container .finish-comment-button:hover{background:var(--success-hover-gradient);box-shadow:0 6px 20px var(--shadow-success-hover);transform:translateY(-2px)}.form-actions{align-items:center;gap:var(--spacing-lg);margin-top:30px}.comments-section,.form-actions{display:flex;flex-direction:column;width:100%}.comments-section{gap:var(--spacing-md);max-width:500px}.comment-block{width:100%}.add-button{backdrop-filter:blur(10px);background:var(--bg-glass-light);border:2px dashed hsla(0,0%,100%,.3);border-radius:var(--border-radius-lg);color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-md);text-align:center;transition:var(--transition-normal);width:100%}.add-button:hover{background:var(--bg-glass-medium);border-color:hsla(0,0%,100%,.5);color:var(--text-primary);transform:translateY(-2px)}.add-button.video{border-color:rgba(102,126,234,.4)}.comment-display{align-items:center;backdrop-filter:blur(10px);background:var(--bg-glass-light);border:1px solid var(--border-light);border-radius:var(--border-radius-lg);box-shadow:0 4px 15px var(--shadow-dark);display:flex;justify-content:space-between;padding:12px 15px}.comment-display.video{background:linear-gradient(135deg,rgba(102,126,234,.15),rgba(118,75,162,.1));border:1px solid rgba(102,126,234,.3)}.comment-preview{align-items:center;color:var(--text-primary);display:flex;flex-grow:1;font-size:var(--font-size-sm);gap:10px;margin-right:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.change-button{background:var(--primary-gradient);border:none;border-radius:var(--border-radius-sm);box-shadow:0 2px 8px var(--shadow-primary);color:#fff;cursor:pointer;flex-shrink:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:8px 18px;transition:var(--transition-normal)}.change-button:hover{background:var(--primary-hover-gradient);box-shadow:0 4px 12px var(--shadow-primary-hover);transform:translateY(-1px)}.add-video-comment-button{background:var(--primary-gradient);border:none;border-radius:var(--border-radius-sm);box-shadow:0 2px 8px var(--shadow-primary);color:#fff;cursor:pointer;font-size:14px;margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);transition:var(--transition-normal)}.add-video-comment-button:hover{background:var(--primary-hover-gradient);box-shadow:0 4px 12px var(--shadow-primary-hover);transform:translateY(-1px)}.video-comment-display{backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(76,175,80,.1),rgba(69,160,73,.05));border:1px solid rgba(76,175,80,.2);border-radius:var(--border-radius-md);margin-top:var(--spacing-sm);padding:var(--spacing-md)}.video-comment-preview{color:var(--text-dark);font-weight:var(--font-weight-medium);margin-bottom:8px}.change-video-comment-button{background:var(--gray-gradient);border:none;border-radius:var(--border-radius-sm);box-shadow:0 2px 8px var(--shadow-gray);color:#fff;cursor:pointer;font-size:12px;padding:8px 16px;transition:var(--transition-normal)}.change-video-comment-button:hover{background:var(--gray-hover-gradient);box-shadow:0 4px 12px var(--shadow-gray-hover);transform:translateY(-1px)}.success-message-container{align-items:center;bottom:0;box-sizing:border-box;display:flex;flex-direction:column;gap:3rem;justify-content:center;left:0;min-height:100%;padding:2rem;position:fixed;right:0;top:0;width:100%}.success-message{background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);max-width:900px;padding:2rem;text-align:center;width:100%}.success-message h2{color:#28a745;font-size:4rem;margin-bottom:1rem}.success-message p{color:#6c757d;font-size:2.1rem;line-height:1.5}.add-another-button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:2rem;padding:.8rem 1.5rem;transition:background-color .3s ease}.add-another-button:hover{background-color:#2980b9}.timer-display{display:flex;flex-direction:column;gap:10px;position:fixed;right:20px;top:20px;z-index:1000}.timer{align-items:center;background-color:hsla(0,0%,100%,.9);border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);display:flex;gap:10px;padding:10px 15px}.timer-label{color:#333;font-weight:500}.timer-value{color:#007bff;font-weight:600}.idle-timer{border-left:4px solid #ffc107}.success-timer{border-left:4px solid #28a745}.video-recorder-container,.video-recorder-instructions{align-items:center;bottom:0;box-sizing:border-box;display:flex;flex-direction:column;font-family:sans-serif;gap:2rem;justify-content:center;left:0;min-height:100%;padding:2rem;position:fixed;right:0;top:0;width:100%}.video-recorder-content-wrapper{background-color:#fff;border-radius:12px;box-shadow:0 5px 15px rgba(0,0,0,.15);max-width:600px;padding:2rem 3rem;text-align:center;width:100%}.video-recorder-instructions .video-recorder-content-wrapper h2{color:#333;font-size:2.5rem;margin-bottom:1.5rem}.video-recorder-instructions .video-recorder-content-wrapper li,.video-recorder-instructions .video-recorder-content-wrapper p{color:#555;font-size:1.6rem;line-height:1.6;margin-bottom:.8rem;text-align:left}.video-recorder-instructions .video-recorder-content-wrapper ol{margin-bottom:1.5rem;padding-left:2.5rem}.control-button,.start-permissions-button{border:none;border-radius:8px;box-shadow:0 4px 8px rgba(0,0,0,.15);color:#fff;cursor:pointer;font-size:2rem;font-weight:700;margin-top:1rem;min-width:220px;padding:1rem 2rem;transition:background-color .3s ease,transform .2s ease}.start-permissions-button{background-color:#007bff}.start-permissions-button:hover{background-color:#0056b3;transform:translateY(-2px)}.start-permissions-button:active{background-color:#004085;transform:translateY(1px)}.video-preview-container{aspect-ratio:16/9;background-color:#000;border:2px solid #ddd;border-radius:8px;margin:1rem auto 1.5rem;overflow:hidden;position:relative;width:100%}.video-preview{display:block;height:auto;width:100%}.video-preview.live{transform:scaleX(-1)}.video-preview.placeholder p{color:#ccc;font-size:1.5rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.controls{align-items:center;display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.start-button{background-color:#28a745}.start-button:hover{background-color:#1e7e34;transform:translateY(-2px)}.start-button:active{background-color:#155d27;transform:translateY(1px)}.start-button:disabled{background-color:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.stop-button{background-color:#dc3545}.stop-button:hover{background-color:#b02a37;transform:translateY(-2px)}.stop-button:active{background-color:#8c1f2b;transform:translateY(1px)}.send-button{background-color:#28a745;box-shadow:0 6px 12px rgba(40,167,69,.3);font-size:2.2rem;padding:1.2rem 2.5rem}.send-button:hover{background-color:#1e7e34;box-shadow:0 8px 16px rgba(40,167,69,.4);transform:translateY(-3px)}.send-button:active{background-color:#155d27;transform:translateY(1px)}.retake-button{background-color:#6c757d;color:#fff;font-size:1.8rem;opacity:.9;padding:.8rem 2rem}.retake-button:hover{background-color:#5a6268;opacity:1;transform:translateY(-1px)}.retake-button:active{background-color:#495057;transform:translateY(1px)}.countdown-timer{color:#333;font-size:2rem;font-weight:500;margin-bottom:1rem}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;box-sizing:border-box;color:#dc3545;font-size:1.6rem;margin-top:1.5rem;max-width:600px;padding:1rem 1.5rem;text-align:center;width:100%}.video-recorder-instructions__title{font-size:1.5rem}.video-recorder-instructions__description{font-size:1rem;margin-bottom:1rem}.video-recorder-instructions__list{font-size:.9rem;padding-left:20px}.video-recorder-instructions__list-item{margin-bottom:.5rem}.rating-flow-container{align-items:center;display:flex;flex-direction:row;justify-content:center;min-height:100vh}.rating-flow__header{align-items:center;display:flex;gap:var(--spacing-xl);left:var(--spacing-lg);position:absolute;top:var(--spacing-lg);z-index:10}.back-button{align-items:center;background:var(--primary-gradient);border:none;border-radius:var(--border-radius-md);box-shadow:0 4px 15px var(--shadow-primary);color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;overflow:hidden;padding:var(--spacing-sm) var(--spacing-md);position:relative;transition:var(--transition-normal)}.back-button:before{background:linear-gradient(135deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.05));bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.back-button span{color:#fff;display:inline-block;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1;margin-right:var(--spacing-sm);transform:translateY(-1px)}.back-button:hover{background:var(--primary-hover-gradient);box-shadow:0 6px 20px var(--shadow-primary-hover);transform:translateY(-2px)}.back-button:hover:before{opacity:1}.back-button:active{transform:translateY(0);transition:var(--transition-fast)}.refresh-button{align-items:center;background:var(--bg-white-heavy);border:1px solid #ccc;border-radius:var(--border-radius-sm);box-shadow:0 2px 6px var(--shadow-dark);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:8px;padding:var(--spacing-sm) var(--spacing-lg);position:absolute;right:var(--spacing-lg);top:var(--spacing-lg);transition:var(--transition-normal);z-index:10}.refresh-button:hover{background:var(--bg-white-medium)}.rating-flow__logo-container{align-items:center;display:flex}.rating-flow__logo-container:first-child{margin-top:var(--spacing-xxl)}.rating-flow__logo{max-height:150px;max-width:150px;object-fit:contain}.machine-dashboard{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-direction:column;font-family:Arial,sans-serif;height:100vh;justify-content:center;position:relative;width:100%}.machine-dashboard__header{position:absolute;right:20px;top:20px;z-index:30}.machine-dashboard__logo-container{left:50%;position:absolute;top:20px;transform:translateX(-50%);z-index:10}.machine-dashboard__logo{max-height:80px;max-width:200px;object-fit:contain}.machine-dashboard__review-section{height:100%;width:100%}.machine-dashboard__checkin-section{bottom:20px;left:20px;position:absolute;z-index:20}.machine-dashboard__no-services{backdrop-filter:blur(10px);background:hsla(0,0%,100%,.1);border-radius:10px;padding:40px;text-align:center}.machine-dashboard__no-services p{font-size:18px;margin:0}.machine-dashboard-container.loading-container{flex-direction:column}.machine-dashboard-container.error-container,.machine-dashboard-container.loading-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;height:100vh;justify-content:center}.machine-dashboard-container.error-container{text-align:center}.spinner{animation:spin 1s linear infinite;border:5px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;height:50px;margin-bottom:20px;width:50px}.master-dashboard{margin:0 auto;max-width:1200px;padding:20px}.master-dashboard__header{display:flex;justify-content:flex-end;margin-bottom:30px}.master-dashboard__actions{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:30px}.master-dashboard__button{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:16px;font-weight:600;min-width:200px;padding:15px 30px;text-align:center;text-decoration:none;transition:all .3s ease}.master-dashboard__button--sites{background:linear-gradient(135deg,#38b2ac,#2f855a);color:#fff}.master-dashboard__button--sites:hover{background:linear-gradient(135deg,#2aa89e,#27724e);box-shadow:0 10px 24px rgba(56,178,172,.35);transform:translateY(-2px)}.master-dashboard__button--users{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.master-dashboard__button--users:hover{background:linear-gradient(135deg,#5a6fd8,#6a4c93);box-shadow:0 10px 24px rgba(102,126,234,.35);transform:translateY(-2px)}.master-dashboard__button:active{box-shadow:0 2px 4px rgba(0,0,0,.2);transform:translateY(0)}@media (max-width:768px){.master-dashboard{padding:10px}.master-dashboard__actions{align-items:center;flex-direction:column}.master-dashboard__button{margin:0 0 10px!important;max-width:300px;width:100%}}.person-calendar{color:#2d3748;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.person-calendar__back-button{background:#6c757d;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s}.person-calendar__back-button:hover{background:#5a6268}.person-calendar__header h1{color:#333;font-size:24px;font-weight:600;margin:0}.person-calendar__navigation{align-items:center;display:flex;gap:10px}.person-calendar__nav-button{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.person-calendar__nav-button:hover{background:#0056b3}.person-calendar__current-button{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.person-calendar__current-button:hover{background:#218838}.person-calendar__person-info{background:#f8f9fa;border-left:4px solid #007bff;border-radius:5px;margin-bottom:20px;padding:15px}.person-calendar__person-info p{color:#495057;font-size:16px;margin:0}.person-calendar__error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:5px;color:#721c24;margin-bottom:20px;padding:15px}.person-calendar__loader{color:#6c757d;padding:40px;text-align:center}.person-calendar__loader-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:40px;margin:0 auto 20px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.person-calendar__container{background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1);overflow:hidden}.person-calendar__modal-overlay{align-items:center;background:rgba(0,0,0,.3);display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.person-calendar__modal{background:#fff!important;border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.25);color:#1f2937;max-width:90vw;min-width:320px;padding:32px;position:relative}.person-calendar__modal h3{color:#111827;margin-top:0}.person-calendar__modal table{border-collapse:collapse;width:100%}.person-calendar__modal td,.person-calendar__modal th{border-bottom:1px solid #e5e7eb;padding:6px 8px;text-align:left}.person-calendar__modal-close{background:none;border:none;color:#374151;cursor:pointer;font-size:22px;position:absolute;right:8px;top:8px}.person-calendar__month-title{background:#007bff;color:#fff;font-size:20px;font-weight:600;margin:0;padding:20px;text-align:center}.person-calendar__table{background:#fff;border-collapse:collapse;table-layout:fixed;width:100%}.person-calendar__table-header{background:#f8f9fa;border-bottom:1px solid #dee2e6;color:#495057;font-size:14px;font-weight:600;padding:15px 10px;text-align:center}.person-calendar__header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px}.person-calendar__week{border-bottom:1px solid #dee2e6}.person-calendar__day{background:#fff;border:1px solid #dee2e6;height:80px;padding:10px;position:relative;transition:background-color .2s;vertical-align:top}.person-calendar__day:hover{background:#f8f9fa}.person-calendar__day--empty{background:#f8f9fa;border-color:#e9ecef}.person-calendar__day-number{color:#333;font-size:16px;font-weight:600;margin-bottom:5px}.person-calendar__hours{color:#28a745;font-size:12px;font-weight:600;margin-bottom:2px}.person-calendar__checkins{color:#6c757d;font-size:10px;font-style:italic}@media (max-width:768px){.person-calendar{padding:10px}.person-calendar__header{align-items:stretch;flex-direction:column;gap:15px}.person-calendar__header h1{font-size:20px;text-align:center}.person-calendar__navigation{justify-content:center}.person-calendar__day{height:60px;padding:5px}.person-calendar__day-number{font-size:14px}.person-calendar__hours{font-size:10px}.person-calendar__checkins{font-size:8px}.person-calendar__header{font-size:12px;padding:10px 5px}}@media (max-width:480px){.person-calendar__day{height:50px;padding:3px}.person-calendar__day-number{font-size:12px}.person-calendar__hours{font-size:9px}.person-calendar__checkins{font-size:7px}}.person-management{color:#2d3748;margin:0 auto;max-width:1200px;padding:20px}.person-management__header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.person-management__header h1{color:#fff;font-weight:600;margin:0;text-shadow:0 4px 12px rgba(0,0,0,.25)}.person-management__add-button{background:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:12px 24px}.person-management__add-button:hover{background:#218838}.person-management__error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:5px;color:#721c24;margin-bottom:20px;padding:15px}.person-management__form-container{background:#fff;border:1px solid #dee2e6;border-radius:10px;margin-bottom:30px;padding:30px}.person-management__form-container h2{color:#1f2937;margin-top:0}.person-management__form{display:grid;gap:20px;grid-template-columns:1fr 1fr}.person-management__form-group{display:flex;flex-direction:column}.person-management__form-group label{color:#495057;font-weight:700;margin-bottom:5px}.person-management__form-group input,.person-management__form-group select{border:1px solid #ced4da;border-radius:5px;font-size:14px;padding:10px}.person-management__form-group input:focus,.person-management__form-group select:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25);outline:none}.person-management__form-group select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;cursor:pointer;padding-right:40px}.person-management__form-actions{display:flex;gap:10px;grid-column:1/-1;justify-content:flex-end;margin-top:20px}.person-management__submit-button{background:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:12px 24px}.person-management__submit-button:hover{background:#0056b3}.person-management__cancel-button{background:#6c757d;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;padding:12px 24px}.person-management__cancel-button:hover{background:#5a6268}.person-management__table-container{background:hsla(0,0%,100%,.95);border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.18);color:#2d3748;padding:20px}.person-management__table{border-collapse:collapse;margin-top:20px;width:100%}.person-management__table td,.person-management__table th{border-bottom:1px solid #dee2e6;color:#2d3748;padding:12px 14px;text-align:left}.person-management__table th{background:#f8f9fa;color:#1f2937;font-weight:600}.person-management__picture{border:2px solid #dee2e6;border-radius:5px;height:60px;object-fit:cover;width:60px}.person-management__no-picture{align-items:center;background:#f8f9fa;border:2px solid #dee2e6;border-radius:5px;color:#6c757d;display:flex;font-size:12px;height:60px;justify-content:center;width:60px}.person-management__edit-button{background:#ffc107;border:none;border-radius:8px;color:#212529;cursor:pointer;font-size:12px;font-weight:600;margin-right:5px;padding:6px 12px}.person-management__edit-button:hover{background:#e0a800}.person-management__delete-button{background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px}.person-management__delete-button:hover{background:#c82333}.person-management__calendar-button{background:linear-gradient(135deg,#38b2ac,#2f855a);border:none;border-radius:8px;box-shadow:0 6px 18px rgba(56,178,172,.35);color:#fff;cursor:pointer;font-size:12px;margin-right:5px;padding:6px 12px}.person-management__calendar-button:hover{background:#138496}.person-management__no-data{color:#6c757d;font-style:italic;padding:40px;text-align:center}@media (max-width:768px){.person-management__form{grid-template-columns:1fr}.person-management__header{align-items:stretch;flex-direction:column;gap:15px}.person-management__table{font-size:14px}.person-management__table td,.person-management__table th{padding:8px}}