*{font-family:'Open Sans',Arial,sans-serif;font-optical-sizing:auto;font-style:normal;font-variation-settings:"wdth" 100;font-size:14px}.dropdown-toggle::after{display:none !important}html,body{height:100%;margin:0}body{display:flex;flex-direction:column;min-height:100vh;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}::-webkit-scrollbar{display:none}.desktop-view{display:block}.mobile-view{display:none}.bg-light-warning{background-color:rgba(255,193,7,0.1) !important}.bg-light-success{background-color:rgba(25,135,84,0.1) !important}select{padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}a{text-decoration:none !important}a:hover,a:focus{text-decoration:none}@media (max-width:767.98px){.hide-on-mobile{display:none !important}}.page-loading-spinner{z-index:9999;display:none;visibility:hidden;background-color:rgba(255,255,255,0.85);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.site-header{display:flex;flex-direction:row;background-color:#003264;color:#FFFFFF;position:fixed;width:100%;top:0;z-index:1000;height:58px;padding:5px 0}.site-header .logo-image{background-image:url('/assets/img/LogoUNIRSM_NegativoVuoto.png');background-size:contain;background-repeat:no-repeat;background-position:center;height:48px;width:168px;margin:0}.test-environment-icon{font-size:1.5rem;color:#ffc107;display:flex;align-items:center}.dashboard-password-warning{color:#d7a329 !important}.dashboard-header-label{font-size:0.85rem;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:0.03em}@media (max-width:768px){.site-header .logo-image{height:48px;width:120px}}a.dropdown-toggle.text-white{text-decoration:none}.icon-size{width:24px;height:24px;line-height:24px !important;display:inline-block !important;text-align:center;vertical-align:middle}.site-header .test-environment-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.25rem;font-weight:bold;color:#FFD700;background-color:rgba(0,0,0,0.7);padding:5px 10px;border-radius:5px;z-index:1000;white-space:nowrap;pointer-events:none;max-width:200px;width:auto;text-align:center}.devel-background .site-header{position:relative}.login-content{flex:1;overflow-y:auto;padding-top:65px;margin:0}.password-field{position:relative}.password-field .form-control{padding-right:2.75rem}.password-toggle{position:absolute;top:50%;right:0.35rem;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:0;background:transparent;color:#6c757d;border-radius:0.375rem;cursor:pointer}.password-toggle:hover,.password-toggle:focus-visible{color:#495057;outline:none}.password-toggle:focus-visible{box-shadow:0 0 0 0.2rem rgba(13,110,253,0.25)}.content-logged-message{padding-top:65px;margin:0;display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 93px)}.content-logged-message .alert{width:100%;text-align:center;margin-top:1rem}.navbar{background-color:#004a95;font-size:16px;position:fixed !important;width:100%;top:58px;z-index:999;height:35px}.navbar-toggler{margin:2px 0px 5px 0px !important;border:none !important}.navbar-nav .nav-item:hover{background-color:#0e6bc8}@media (max-width:768px){.navbar{position:fixed !important;top:58px;background-color:rgba(0,74,149);width:100%}.navbar-collapse{position:relative;background-color:rgba(0,74,149,0.9);width:100%}.navbar-dark .navbar-nav .nav-link{color:#ffffff}.navbar-dark .navbar-nav .dropdown-menu{background-color:rgba(54,134,213,0.9);border:none}.navbar-dark .navbar-nav .dropdown-menu .dropdown-item{color:#ffffff}.navbar-dark .navbar-nav .dropdown-menu .dropdown-item:hover{background-color:#0e6bc8}.nav-item .nav-link-dashboard{padding-left:0.5rem !important}.content{margin-top:calc(58px + 35px);transition:margin-top 0.3s ease-in-out}.navbar-collapse.show+.content{margin-top:calc(58px + 35px + 100%)}}.custom-h1{font-size:18pt;margin-bottom:11px}.custom-h1-container{padding-top:35px}.content{flex:1;overflow-y:auto;padding-top:65px;margin:0}.content-wrapper{display:flex;flex-direction:column;height:100vh;overflow:hidden}footer{background-color:#003264;color:#fff;padding:3px;text-align:center;margin-top:auto}footer p{margin:0;font-size:14px}.group-card,.role-card{cursor:pointer}.avatar-font-1{font-size:2.2rem;font-weight:600}.avatar-font-2{font-size:1.7rem;font-weight:600}.avatar-font-3{font-size:1.2rem;font-weight:600;letter-spacing:-1px}.selected-user{border:2px solid #28a745 !important;background:#eaffea !important}.user-selected-check{color:#28a745;font-size:1.2em;margin-left:5px;vertical-align:middle}.loan-date-badges .badge-date{display:inline-flex;align-items:center;justify-content:center;min-width:11rem;min-height:1.45rem;border:1.5px solid rgba(0,0,0,0.5);background-color:transparent;color:#333;font-size:0.85rem !important;font-weight:600;vertical-align:middle}.loan-date-badges .no-expiry{font-size:0.90rem;font-weight:600;padding-left:0.1rem;padding-right:0.1rem;padding-top:0.15rem;padding-bottom:0.15rem}.loan-date-badges .btn-fine-prevista{cursor:pointer}.loan-date-badges .badge-date .bi{font-size:1.45em}.title-uppercase-small{font-size:1.1em;text-transform:uppercase}.product-image{width:100%;height:200px;object-fit:contain;border-top-right-radius:10px;border-top-left-radius:10px}.image-preview{background-color:#fd7e14;display:inline-block;max-width:200px;max-height:200px}.image-preview .img-thumbnail{background-color:transparent !important}.product-image-details{width:100%;max-height:350px;object-fit:contain;border-top-right-radius:10px;border-top-left-radius:10px}.card-footer-data-rest{font-size:10px}.text-muted-prestiti{font-size:10px}.text-value-footer{font-size:12px}.card-prestiti-disponibili{background-color:#c8e6c9 !important}.card-prestiti-incorso{background-color:#f5b3b9 !important}.card-prestiti-scaduti{background-color:#ed3535bf !important}#product-list-container[data-view-mode="card"] .card-footer{display:flex;align-items:center;justify-content:center;min-height:3.5rem;padding:0.5rem;gap:0.4rem;flex-wrap:wrap}#product-list-container[data-view-mode="card"] .card-footer button,#product-list-container[data-view-mode="card"] .card-footer .btn,#product-list-container[data-view-mode="card"] .card-footer .btn-conferma-prestito,#product-list-container[data-view-mode="card"] .card-footer .d-inline-block,#product-list-container[data-view-mode="card"] .card-footer .d-flex.align-items-center.justify-content-center{display:flex !important;align-items:center !important;justify-content:center !important;height:2.5rem;min-width:2.5rem;padding:0 0.6rem !important;margin:0 !important;font-size:0.9rem;box-sizing:border-box;text-align:center}#product-list-container[data-view-mode="card"] .card-footer .btn-sm{width:2.5rem;padding:0 !important}#product-list-container[data-view-mode="card"] .card-footer .btn-restituisci{padding:0.1rem 0.4rem !important;min-width:6.8rem;flex-shrink:0}#product-list-container[data-view-mode="card"] .card-footer .btn-restituisci .row{width:100%;margin:0;display:flex;align-items:center}#product-list-container[data-view-mode="card"] .card-footer .btn-restituisci .col-auto,#product-list-container[data-view-mode="card"] .card-footer .btn-restituisci .col{padding:0 0.05rem !important;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}#product-list-container[data-view-mode="card"] .card-footer .btn-restituisci small,#product-list-container[data-view-mode="card"] .card-footer .btn-restituisci h6{font-size:0.7em !important;line-height:1.1;margin:0;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#product-list-container[data-view-mode="card"] .card-footer .btn-restituisci .bi-arrow-down{font-size:1.1em}#product-list-container[data-view-mode="card"] .card-footer .btn-presta,#product-list-container[data-view-mode="card"] .card-footer .btn-prenota{min-width:4.5rem;font-size:0.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#product-list-container[data-view-mode="card"] .card-footer .d-flex.align-items-center.justify-content-center i{font-size:1.6rem !important;line-height:1}#product-list-container[data-view-mode="card"] .card-footer .text-center.mb-2{display:contents}#product-list-container[data-view-mode="card"] .card-footer a{display:flex;align-items:center;justify-content:center;text-decoration:none;color:inherit}#product-list-container[data-view-mode="card"] .card-footer a > button{width:100%;height:100%}.custom-warning-modal{background:#fffbe6 !important;box-shadow:0 0 16px 2px rgba(255,193,7,0.15),0 2px 8px rgba(0,0,0,0.10);border-radius:10px;border:1.5px solid #ffe082}.custom-warning-modal .modal-header{background:transparent}.custom-warning-modal .modal-title{font-weight:600;color:#856404}.custom-warning-modal .modal-body{font-size:1rem}.custom-warning-modal .bg-light{background:#f8f9fa !important}.custom-warning-modal .alert-warning{background:#fff3cd;color:#856404;border:none}@media (max-width:768px){#toggleViewBtn{display:none !important}}@media (max-width:576px){.card .select-item{transform:scale(1.5);transform-origin:top left}.card .position-absolute{width:2.5rem;height:2.5rem}}@media (min-width:576px){.desktop-view{display:block}.mobile-view{display:none}}@media (max-width:575.98px){.desktop-view{display:none}.mobile-view{display:block}}@media (max-width:767.98px){#modalMultiPrestito .table-responsive,#modalMultiPrestito table,#modalMultiPrestito thead,#modalMultiPrestito tbody,#modalMultiPrestito tr,#modalMultiPrestito th,#modalMultiPrestito td{display:none !important}#cart-cards-mobile{display:block !important}#view-cards .select-all-container,#view-table .select-all-container,label[for="select-all"],#select-all,.select-all-wrapper,.select-all{display:none !important}}@media (min-width:768px){#modalMultiPrestito .modal-dialog{max-width:1000px}#modalMultiPrestito table{table-layout:fixed}#modalMultiPrestito th.w-prod,#modalMultiPrestito td.w-prod{width:25% !important}#modalMultiPrestito th.w-model,#modalMultiPrestito td.w-model{width:20% !important}#modalMultiPrestito th.w-serial,#modalMultiPrestito td.w-serial{width:25% !important}#modalMultiPrestito th.w-disp,#modalMultiPrestito td.w-disp{width:10% !important}#modalMultiPrestito th.w-pren,#modalMultiPrestito td.w-pren{width:15% !important}#modalMultiPrestito th.w-act,#modalMultiPrestito td.w-act{width:5% !important}}.cart-card-mobile{border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,0.03)}.cart-card-mobile .badge{font-size:0.95em}.scadenziario-section .table-hover{margin:0;table-layout:fixed;width:100%}.scadenziario-section .table-collapse{table-layout:fixed;width:100%}.scadenziario-section .table thead th{font-weight:bold;text-align:left;padding:8px}.scadenziario-section .table tbody td{padding:8px}.scadenziario-section .scadenziario-collapse{margin:0;width:100%}.scadenziario-section .scadenziario-collapse thead th{font-weight:bold;text-align:left}.scadenziario-section .collapse .table{border-top:none}.scadenziario-section .card-body{padding:0 !important}.scadenziario-section td,.scadenziario-section th{padding:8px;vertical-align:middle}.scadenziario-section .table-hover tbody td,.scadenziario-section .scadenziario-collapse tbody td{text-align:left}.scadenziario-section .scadenziario-collapse th,.scadenziario-section .table-hover th{display:table-cell}.table-expired{border-left:5px solid #910000;background-color:rgba(145,0,0,0.20)}.table-imminent{border-left:5px solid #ed3535;background-color:rgba(237,53,53,0.15)}.table-soon{border-left:5px solid #f5b3b9;background-color:rgba(245,179,185,0.25)}.table-alert{border-left:5px solid #f7f78d;background-color:rgba(247,247,141,0.20)}.scadenziario-modal{border:none;border-radius:12px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,0.15)}.scadenziario-modal-header{background:linear-gradient(135deg,#003264 0%,#004a95 100%);color:white;border-bottom:none;padding:1.25rem 1.5rem}.scadenziario-modal-header .modal-title{font-weight:600;font-size:1.3rem;display:flex;align-items:center}.scadenziario-modal-header .btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.scadenziario-modal-body{padding:1.5rem;background-color:#f8f9fa}.scadenziario-modal-footer{background-color:#f8f9fa;border-top:1px solid #dee2e6;padding:1rem 1.5rem}.scadenziario-modal-summary{margin-bottom:1.5rem}.scadenziario-info-card{background:white;border-radius:10px;padding:1.25rem;box-shadow:0 2px 8px rgba(0,0,0,0.08);transition:all 0.3s ease;border-left:4px solid #dee2e6;height:100%}.scadenziario-info-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.12)}.scadenziario-info-card-primary{border-left-color:#0d6efd}.scadenziario-info-card-success{border-left-color:#198754}.scadenziario-info-label{font-size:0.85rem;color:#6c757d;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:0.5rem;display:flex;align-items:center}.scadenziario-info-value{font-size:1.4rem;font-weight:700;color:#212529;word-break:break-word}.scadenziario-info-card-primary .scadenziario-info-value{color:#0d6efd}.scadenziario-info-card-success .scadenziario-info-value{color:#198754}.scadenziario-modal-sections{margin-top:1rem}.scadenziario-section-card{background:white;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.08);overflow:hidden;height:100%;transition:all 0.3s ease}.scadenziario-section-card:hover{box-shadow:0 4px 12px rgba(0,0,0,0.12)}.scadenziario-section-header{background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);padding:1rem 1.25rem;font-weight:600;font-size:1.05rem;color:#003264;border-bottom:2px solid #dee2e6;display:flex;align-items:center}.scadenziario-section-body{padding:1.25rem}.scadenziario-detail-item{display:flex;flex-direction:column;padding:0.75rem 0;border-bottom:1px solid #f0f0f0}.scadenziario-detail-item:last-child{border-bottom:none}.scadenziario-detail-label{font-size:0.8rem;color:#6c757d;font-weight:600;margin-bottom:0.35rem;text-transform:uppercase;letter-spacing:0.3px;display:flex;align-items:center}.scadenziario-detail-value{font-size:1rem;color:#212529;font-weight:500;word-break:break-word;line-height:1.5}.scadenziario-modal-ripartizione{margin-top:1.5rem}.scadenziario-ripartizione-table{font-size:0.95rem}.scadenziario-ripartizione-table thead th{background-color:#f8f9fa;font-weight:600;color:#003264;border-bottom:2px solid #dee2e6;padding:0.75rem}.scadenziario-ripartizione-table tbody td{padding:0.75rem;vertical-align:middle}.scadenziario-ripartizione-table tbody tr:hover{background-color:#f8f9fa}.scadenziario-ripartizione-table tbody tr:last-child{border-top:2px solid #dee2e6}.scadenziario-ripartizione-table .badge{font-size:0.85rem;padding:0.35rem 0.65rem}@media (max-width:768px){.scadenziario-modal-header{padding:1rem}.scadenziario-modal-header .modal-title{font-size:1.1rem}.scadenziario-modal-body{padding:1rem}.scadenziario-info-card{padding:1rem;margin-bottom:1rem}.scadenziario-info-value{font-size:1.2rem}.scadenziario-section-header{padding:0.875rem 1rem;font-size:0.95rem}.scadenziario-section-body{padding:1rem}.scadenziario-ripartizione-table{font-size:0.85rem}.scadenziario-ripartizione-table thead th,.scadenziario-ripartizione-table tbody td{padding:0.5rem}}.even-row{background-color:#e9ecef}.odd-row{background-color:#ffffff}.clickable:hover{background-color:#f0f0f0;cursor:pointer !important}.card.bg-light.card-pwd-level3{background-color:#f5b3b9 !important}.card.bg-light.card-pwd-level2{background-color:#ed3535bf !important}.card.bg-light.card-pwd-level1{background-color:#dc0000bf !important;color:white !important}.bg-custom-dashboard-1{background-color:#0da9e7 !important}.bg-custom-dashboard-2{background-color:#40b3e1}.dashboard-notification-card{border-radius:0.5rem !important;border:1.5px solid #0d6efd !important;overflow:hidden}.dashboard-notification-card .card-header{border-top-left-radius:0.5rem !important;border-top-right-radius:0.5rem !important}.dashboard-notification-card .card-body{border-bottom-left-radius:0.5rem !important;border-bottom-right-radius:0.5rem !important;padding:0.5rem 0.75rem 0.5rem 0.75rem !important;margin:0 !important}.dashboard-notification-card .card-body > div{margin:0 !important;padding:0 !important}.dashboard-section-title{margin-bottom:0.25rem !important;font-weight:bold;font-size:1.1rem;display:flex;align-items:center}.dashboard-notification{display:flex;align-items:center;gap:0.4rem;margin-top:0 !important;margin-bottom:0.75rem !important;padding:0 !important}.dashboard-notification i{display:inline-block;width:1.5em;min-width:1.5em;text-align:center;font-size:1.25em;margin-top:0.1em}.dashboard-notification:last-child{margin-bottom:0 !important}.dashboard-notification > div{margin:0 !important;padding:0 !important}.dashboard-notification > div:not(:last-child){margin-bottom:0.08rem !important}.dashboard-notification + .dashboard-notification{margin-top:0.75rem !important}.notif-type{font-weight:600;margin-right:2px}.notif-product{font-weight:500}.notif-serial{color:#888;font-size:0.92em;margin-left:4px}.notif-date{color:#444;font-size:0.97em;font-weight:400;margin-left:6px}.notif-icon{display:inline-block;width:1.5em;min-width:1.5em;text-align:center}.badge-spacer{display:inline-block;width:1.8em;min-width:1.8em;padding:0 !important;margin:0 !important;background:transparent !important;border:none !important;visibility:hidden;font-size:1em !important;line-height:1 !important}.task-card{transition:all 0.3s ease}.task-card .task-item{border:1px solid #e0e0e0 !important;background-color:#ffffff !important;box-shadow:0 2px 8px rgba(0,0,0,0.08) !important}.task-card:hover .task-item{transform:translateY(-3px) !important;box-shadow:0 12px 30px rgba(0,0,0,0.15) !important;border-color:#007bff !important;background-color:#ffffff !important}.task-item.task-closed{background-color:#fdf2f2 !important;border:1px solid #fecaca !important;box-shadow:0 2px 8px rgba(239,68,68,0.1) !important}.attendance-page{padding-bottom:1rem}.attendance-toolbar .btn,.attendance-toolbar .btn.btn-icon{display:inline-flex;align-items:center;height:33px;line-height:1.2}.attendance-toolbar .btn.btn-icon{width:33px;justify-content:center;padding:0}.attendance-page .table-responsive{border-radius:12px;padding:0px}.attendance-table thead th:first-child{border-top-left-radius:12px}.attendance-table thead th:last-child{border-top-right-radius:12px}.attendance-table thead th{background:#f4f7fb !important;border-bottom:1px solid #e6e9f2;font-weight:700;font-size:13px !important;text-transform:uppercase;color:#0b2540 !important}.attendance-day{color:inherit;transition:background-color 0.12s ease,color 0.12s ease}.attendance-day td{padding:0.6rem 0.75rem;vertical-align:middle}.attendance-summary-header{margin-bottom:0.15rem}.attendance-summary-content{display:flex;flex-direction:column;gap:0.25rem}.attendance-hours-container,.attendance-hours-container *,.attendance-hours-container .small,.attendance-hours-container .text-muted,.attendance-hours-container .attendance-split-hours-item,.attendance-hours-container .attendance-split-hours-item.small,.attendance-hours-container .attendance-split-hours-item.text-muted,.attendance-hours-container .attendance-hours-value,.attendance-hours-container .attendance-hours-label{font-size:0.975rem !important}.attendance-summary-content > strong{font-size:1rem}.attendance-split-hours-list{display:table;width:auto;margin-top:0.25rem;margin-left:0;margin-right:auto;border-collapse:separate;border-spacing:0;text-align:left}.attendance-split-hours-item{display:table-row}.attendance-hours-value{display:table-cell;text-align:right;padding-right:0.5rem;padding-bottom:0.15rem;font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap;vertical-align:baseline}.attendance-hours-label{display:table-cell;text-align:left;padding-bottom:0.15rem;vertical-align:baseline}@media (max-width:768px){.attendance-page .table-responsive{border-radius:10px}.attendance-table thead{font-size:11px}.attendance-day td{padding:0.55rem 0.6rem}}.attendance-toolbar .form-select{min-width:120px;height:33px;padding-top:4px;padding-bottom:4px}.attendance-add .hours-input,.attendance-add .minutes-input{border-radius:15px;background:#ffe79f;border-color:#3788d8;height:30px;line-height:1.2;min-width:57px}.attendance-add .hours-detail-input,.attendance-add .minutes-detail-input{border-radius:15px;background:#ffe79f;border-color:#3788d8;height:30px;line-height:1.2;min-width:57px}.attendance-add .locked-input{background:#ffffff !important;border-color:#3788d8}.attendance-add .table textarea.form-control{min-height:38px;border-radius:12px;background:#ffe79f;border-color:#3788d8}.attendance-add .details{gap:2px}.attendance-add .table-responsive{padding:0px;border-radius:12px}.attendance-add .edit-mode-table thead th{background:var(--bs-primary) !important;color:#fff !important}.attendance-toolbar .form-select-wide{min-width:170px}.attendance-add .time-input-sm{width:60px}.attendance-add .time-input-sm::-webkit-outer-spin-button,.attendance-add .time-input-sm::-webkit-inner-spin-button,.attendance-add .time-input-pref::-webkit-outer-spin-button,.attendance-add .time-input-pref::-webkit-inner-spin-button,.attendance-add .hours-detail-input::-webkit-outer-spin-button,.attendance-add .hours-detail-input::-webkit-inner-spin-button,.attendance-add .minutes-detail-input::-webkit-outer-spin-button,.attendance-add .minutes-detail-input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.attendance-add .time-input-sm[type=number],.attendance-add .time-input-pref[type=number],.attendance-add .hours-detail-input[type=number],.attendance-add .minutes-detail-input[type=number]{-moz-appearance:textfield}.attendance-add .input-with-spinner{position:relative;display:inline-block}.attendance-add .custom-spinner-buttons{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity 0.2s ease,visibility 0.2s ease,transform 0.2s ease;z-index:10;background:#ffffff;border:1px solid #3788d8;border-radius:5px 5px 5px 5px;box-shadow:0 2px 6px rgba(55,136,216,0.15);overflow:hidden}.attendance-add .input-with-spinner:hover .custom-spinner-buttons{opacity:1;visibility:visible;transform:translateY(-50%) scale(1)}.attendance-add .custom-spinner-buttons button{width:16px;height:14px;border:none;background:linear-gradient(to bottom,#ffffff 0%,#f8f9fa 100%);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#3788d8;padding:0;transition:all 0.2s ease;line-height:1}.attendance-add .custom-spinner-buttons button:hover{background:linear-gradient(to bottom,#3788d8 0%,#2d6fb8 100%);color:#ffffff;transform:scale(1.05)}.attendance-add .custom-spinner-buttons button:active{background:linear-gradient(to bottom,#2d6fb8 0%,#1f4d7a 100%);color:#ffffff;transform:scale(0.95)}.attendance-add .custom-spinner-buttons button:first-child{border-bottom:1px solid rgba(55,136,216,0.2)}.attendance-add .time-input-pref{width:80px}.attendance-add .info-icon{cursor:pointer}.attendance-add .qr-action-icon{cursor:pointer}.attendance-add .split-progress{height:20px}.attendance-add .date-cell{min-width:100px}.attendance-add .date-cell .fw-bold{}.attendance-add,.attendance-day .date-cell .small{font-size:1.0rem}.attendance-add .table-danger .date-cell .small{}.attendance-admin-dashboard .supervisor-list{line-height:1.4}.attendance-admin-dashboard .supervisor-list .badge{font-size:0.75rem;padding:0.25rem 0.5rem}.attendance-admin-dashboard .supervisor-list .badge:last-child{margin-right:0 !important}.attendance-admin-dashboard .badge.bg-primary.split-hours{background-color:rgb(66,152,251) !important;color:white !important}.attendance-supervisor-dashboard .filter-btn.btn-outline-success:hover{background-color:transparent !important;border-color:#198754 !important;color:#198754 !important;box-shadow:0 0 0 0.2rem rgba(25,135,84,0.25) !important}.attendance-supervisor-dashboard .filter-btn.btn-success:hover{background-color:#157347 !important;border-color:#146c43 !important}.attendance-supervisor-dashboard .filter-btn.btn-outline-primary:hover{background-color:transparent !important;border-color:#0d6efd !important;color:#0d6efd !important;box-shadow:0 0 0 0.2rem rgba(13,110,253,0.25) !important}.attendance-supervisor-dashboard .filter-btn.btn-primary:hover{background-color:#0b5ed7 !important;border-color:#0a58ca !important}.attendance-supervisor-dashboard .supervisor-list{display:flex;flex-wrap:wrap;gap:0.5rem}.attendance-reviewer-dashboard .supervisor-list .badge{white-space:normal;word-wrap:break-word}.attendance-supervisor-dashboard .badge{font-size:0.75rem}.attendance-supervisor-dashboard .badge.bg-primary.split-hours{background-color:rgb(66,152,251) !important;color:white !important}.attendance-supervisor-dashboard .card .table th,.attendance-supervisor-dashboard .card .table td{vertical-align:middle}.attendance-supervisor-dashboard .card .table th.col-2,.attendance-supervisor-dashboard .card .table td.col-2{width:20%}.attendance-supervisor-dashboard .card .table th.col-3,.attendance-supervisor-dashboard .card .table td.col-3{width:30%}.attendance-supervisor-dashboard .card .table th.col-5,.attendance-supervisor-dashboard .card .table td.col-5{width:50%}.attendance-supervisor-dashboard .table:not(.card-table) th.col-1,.attendance-supervisor-dashboard .table:not(.card-table) td.col-1{width:10%}.attendance-supervisor-dashboard .table:not(.card-table) th.col-2,.attendance-supervisor-dashboard .table:not(.card-table) td.col-2{width:18%}.attendance-admin-edit-periods .user-group{border:1px solid #dee2e6;margin-bottom:1rem;border-radius:0.375rem;overflow:hidden}.attendance-admin-edit-periods .user-header{cursor:pointer;transition:background-color 0.2s}.attendance-admin-edit-periods .user-header:hover{background-color:#f8f9fa}.attendance-admin-edit-periods .user-chevron{transition:transform 0.2s}.attendance-admin-edit-periods .period-row{background-color:#f8f9fa;transition:background-color 0.2s}.attendance-admin-edit-periods .period-row:hover{background-color:#e9ecef}.attendance-admin-edit-periods .consecutive-period{background-color:#d1ecf1;border-left:4px solid #17a2b8}.attendance-admin-edit-periods .consecutive-period:hover{background-color:#bee5eb}.attendance-admin-edit-periods .user-header{background-color:#bee5eb}.attendance-admin-edit-periods .user-periods{background-color:#ffffff}.attendance-admin-edit-periods .badge{font-size:0.75em}.attendance-admin-edit-periods .form-control-sm{font-size:0.875rem}.attendance-admin-edit-periods .btn-sm{padding:0.25rem 0.5rem;font-size:0.875rem}.attendance-admin-edit-periods .input-group-text{background-color:#e9ecef;border-color:#ced4da}.attendance-admin-edit-periods .form-select{border-color:#ced4da}.attendance-admin-edit-periods .form-select:focus{border-color:#86b7fe;box-shadow:0 0 0 0.25rem rgba(13,110,253,0.25)}.attendance-admin-edit-periods .form-control:focus{border-color:#86b7fe;box-shadow:0 0 0 0.25rem rgba(13,110,253,0.25)}.attendance-admin-edit-periods .user-group[style*="display:none"]{display:none !important}.attendance-admin-edit-periods .period-row[style*="display:none"]{display:none !important}body.reviewer-token-approval{background-color:#f5f5f5;font-size:16px}body.reviewer-token-approval .approval-container{max-width:800px;margin:50px auto;padding:20px}body.reviewer-token-approval .approval-card{background:white;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,0.1);padding:40px}body.reviewer-token-approval .user-info{background-color:#f8f9fa;border-left:4px solid #0066cc;padding:20px;margin:20px 0;border-radius:5px}body.reviewer-token-approval .btn-approve{font-size:20px;padding:15px 40px;margin:10px}body.reviewer-token-approval .btn-reject{font-size:18px;padding:12px 30px;margin:10px}body.reviewer-token-approval .info-badge{display:inline-block;background-color:#e7f3ff;color:#0066cc;padding:8px 15px;border-radius:20px;margin:5px;font-size:14px}body.reviewer-token-approval .expires-warning{background-color:#fff3cd;border-left:4px solid #ffc107;padding:15px;margin:20px 0;border-radius:5px}body.reviewer-token-error{background-color:#f5f5f5}body.reviewer-token-error .error-container{max-width:600px;margin:100px auto;padding:20px}body.reviewer-token-error .error-card{background:white;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,0.1);padding:40px;text-align:center}body.reviewer-token-error .error-icon{font-size:64px;color:#dc3545;margin-bottom:20px}.doc-image-float{margin-bottom:1.5rem;margin-top:0.5rem}.doc-image-float img{border-radius:0.375rem;box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.075)}.doc-image-float .image-caption{font-size:0.875rem;color:#6c757d;margin-top:0.5rem;text-align:center}.doc-content-flow{text-align:justify;line-height:1.6;margin-bottom:1.5rem;margin-top:0.5rem}.doc-content-flow p{margin-bottom:1rem}.doc-content-flow p:last-child{margin-bottom:0}.doc-content-block{margin-bottom:2rem;clear:both}.doc-content-block:last-child{margin-bottom:0}.clearfix::after{content:"";display:table;clear:both}.doc-content-block + .doc-content-block{margin-top:1rem;padding-top:1rem}.doc-full-image-no-separator{margin-bottom:1rem;margin-top:0.5rem}.teachers-table{font-size:0.9rem}.teachers-table td{vertical-align:top;padding:0.75rem 0.5rem}.teachers-table th{font-weight:600;background-color:#f8f9fa;border-bottom:2px solid #dee2e6}.matricola-highlight{font-size:1.8rem;font-weight:700;color:#003264;text-align:center;padding:0.75rem;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);border-left:5px solid #003264;border-radius:6px;box-shadow:0 2px 4px rgba(0,50,100,0.1);font-family:'Courier New',monospace;letter-spacing:0.5px}.teachers-table .text-center{text-align:center;vertical-align:middle}.nominativo-block{display:flex;flex-direction:column;gap:0.15rem}.nominativo-name{font-weight:600;font-size:1rem;color:#212529}.nominativo-details{font-size:0.8rem;color:#6c757d}.nominativo-details .detail-item{display:block}.nominativo-details .ruolo-didattico{font-weight:500;display:block}.nominativo-matricola{font-size:0.75rem;color:#6c757d;font-style:italic}.cds-block{display:flex;flex-direction:column;gap:0.15rem}.cds-code{font-weight:500;font-size:0.95rem;color:#212529}.cds-year{font-size:0.75rem;color:#6c757d;font-style:italic}.email-block{display:flex;flex-direction:column;gap:0.3rem}.email-item{font-size:0.85rem;display:flex;align-items:center;gap:0.3rem}.email-item i{font-size:0.8rem;opacity:0.6}.email-ateneo{color:#212529;font-weight:500}.email-personale{color:#6c757d;font-size:0.8rem}.teachers-table .badge{font-size:0.75rem;font-weight:500;padding:0.25rem 0.5rem;display:inline-block}.teachers-table .badge.bg-primary{background-color:#0d6efd !important}.ad-list{list-style:none;padding-left:0;margin:0}.ad-list li{padding:0.5rem 0;position:relative;padding-left:1.2rem;padding-right:0.5rem;line-height:1.4;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2rem}.ad-list li:before{content:"•";position:absolute;left:0;top:0.6rem;color:#6c757d;font-weight:bold}.ad-list li:not(:last-child){border-bottom:1px solid #e9ecef}.ad-name{flex:1;min-width:0;padding-right:0.5rem;line-height:1.4}.ad-badges{display:flex;align-items:center;gap:0.35rem;flex-shrink:0;min-width:fit-content}.badge-cds-inline{font-size:0.65rem;font-weight:600;padding:0.25rem 0.5rem;border-radius:4px;background-color:#0d6efd;color:white;white-space:nowrap;display:inline-block;vertical-align:middle;line-height:1;min-width:85px;text-align:center}.badge-ruolo{font-size:0.65rem;font-weight:600;padding:0.25rem 0.5rem;border-radius:4px;text-transform:uppercase;white-space:nowrap;display:inline-block;vertical-align:middle;line-height:1;min-width:95px;text-align:center}.badge-titolare{background-color:#28a745;color:white}.badge-collaboratore{background-color:#6c757d;color:white}.teachers-table .col-1{width:8%}.teachers-table .col-2{width:15%}.teachers-table .col-3{width:20%}.teachers-table .col-4{width:30%}.teachers-table .col-5{width:35%}.teachers-table .col-6{width:50%}@media (max-width:1200px){.teachers-table{font-size:0.85rem}.ad-list li{font-size:0.85rem}}.od-anno-header{border-bottom:3px solid;border-image:linear-gradient(90deg,#667eea 0%,#764ba2 100%) 1;padding-bottom:0.75rem;margin-bottom:2rem}.od-anno-header h3{color:#667eea;font-weight:700;font-size:1.8rem;margin:0;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.od-toggle-anno-btn{border:none !important;color:#667eea !important;font-size:0.875rem;padding:0.35rem;transition:all 0.2s ease;background-color:transparent;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center}.od-toggle-anno-btn:hover{background-color:#667eea !important;color:white !important;transform:translateY(-1px)}.od-toggle-anno-btn .od-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background-color:rgba(102,126,234,0.15);font-size:1.1rem;font-weight:bold;margin:0}.od-toggle-anno-btn:hover .od-toggle-icon{background-color:rgba(255,255,255,0.3)}.od-semestre-header{margin-bottom:1.25rem}.od-semestre-header h5{color:#4facfe;font-weight:600;font-size:1.3rem;margin:0}.od-toggle-semestre-btn{border:none !important;color:#4facfe !important;font-size:0.8rem;padding:0.3rem;transition:all 0.2s ease;background-color:transparent;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center}.od-toggle-semestre-btn:hover{background-color:#4facfe !important;color:white !important;transform:translateY(-1px)}.od-toggle-semestre-btn .od-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background-color:rgba(79,172,254,0.15);font-size:1rem;font-weight:bold;margin:0}.od-toggle-semestre-btn:hover .od-toggle-icon{background-color:rgba(255,255,255,0.3)}.od-corso-card{border:none !important;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.08);transition:all 0.3s ease;margin-bottom:1rem;overflow:hidden;background:white !important}.od-corso-card:hover{box-shadow:0 4px 16px rgba(0,0,0,0.12)}.od-corso-card.collapsed{box-shadow:0 1px 4px rgba(0,0,0,0.06);margin-bottom:0.5rem}.od-corso-card.collapsed:hover{box-shadow:0 2px 8px rgba(0,0,0,0.1)}.od-corso-card .card-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%) !important;border:none !important;padding:1rem 1.25rem;display:flex;align-items:center;gap:0.75rem}.od-corso-title{color:white !important;font-size:1.05rem;font-weight:600;flex:1;min-width:0}.od-syllabus-icon{color:white !important;font-size:1.2rem;padding:0.4rem 0.5rem;margin-left:0.75rem;transition:all 0.2s ease;display:flex;align-items:center;justify-content:center;border-radius:8px;background-color:rgba(255,255,255,0.15);text-decoration:none !important;flex-shrink:0}.od-syllabus-icon:hover{background-color:rgba(255,255,255,0.3);transform:scale(1.1);color:white !important}.od-collapse-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background-color:rgba(255,255,255,0.25);color:white;font-size:1.3rem;transition:all 0.3s ease;font-weight:bold;margin-right:0.75rem;flex-shrink:0;line-height:1}.od-collapse-icon:hover{background-color:rgba(255,255,255,0.35);transform:scale(1.1)}.od-corso-card.collapsed .od-collapse-icon{background-color:rgba(255,255,255,0.2)}.od-info-badges{display:flex;align-items:center;gap:0.35rem;flex-shrink:0}.od-info-badges .badge{background-color:rgba(255,255,255,0.25) !important;border:1px solid rgba(255,255,255,0.3);color:white !important;font-size:0.85rem;padding:0.4rem 0.75rem;border-radius:16px;font-weight:500}.od-info-badges .badge.bg-warning{background-color:#ffd93d !important;color:#333 !important;border:1px solid #ffc107;font-weight:600}.admin-users-table .user-name{font-weight:600;font-size:1rem;color:#1f2d3d}.admin-users-table .user-email{font-size:0.85rem;color:#6c757d}.admin-users-table .meta-label{font-size:0.7rem;letter-spacing:0.05em;text-transform:uppercase;font-weight:600;color:#6c757d;display:block;margin-bottom:0.2rem}.admin-users-table .badge-soft-role{background-color:#e7f1ff;color:#0d6efd;border-color:rgba(13,110,253,0.35) !important}.admin-users-table .badge-soft-group{background-color:#e8f5e9;color:#1b7837;border-color:rgba(25,135,84,0.35) !important}.modal-user-detail .badge-soft-role{background-color:#e7f1ff;color:#0d6efd;border-color:rgba(13,110,253,0.35) !important}.modal-user-detail .badge-soft-group{background-color:#e8f5e9;color:#1b7837;border-color:rgba(25,135,84,0.35) !important}.admin-card-list{display:flex;flex-direction:column;gap:1rem}.badge.badge-soft,.badge[class^="badge-soft-"],.badge[class*=" badge-soft-"]{display:inline-flex;align-items:center;gap:0.2rem;border-radius:999px !important;font-weight:600;padding:0.32rem 0.75rem;font-size:0.9rem;border:1px solid transparent;line-height:1}.badge-soft.badge-soft-primary{background-color:#e7f1ff;color:#0d6efd;border-color:rgba(13,110,253,0.35) !important}.badge-soft.badge-soft-secondary{background-color:#d0d0d0 !important;color:#374151 !important;border-color:rgba(55,65,81,0.2) !important}.badge-soft.badge-timetable-soft-secondary{background-color:#6c757d !important;color:#ffffff !important;border-color:rgba(55,65,81,0.2) !important}.badge-soft.badge-soft-info{background-color:#e0f2fe;color:#075985;border-color:rgba(7,89,133,0.25)}.badge-soft.badge-soft-warning{background-color:#fff3cd !important;color:#92400e;border-color:rgba(146,64,14,0.3)}.badge-soft.badge-soft-success{background-color:#e6f9ed;color:#0f5132;border-color:rgba(15,81,50,0.25)}.badge-soft.badge-timetable-soft-success{background-color:#198754;color:#ffffff;border-color:rgba(15,81,50,0.25)}.badge-soft.badge-soft-danger{background-color:#fdecea;color:#b02a37;border-color:rgba(176,42,55,0.25)}.badge-soft.badge-soft-light{background-color:#f8f9fa;color:#0d6efd;border-color:rgba(13,110,253,0.2)}.calendar-room-status .calendar-table{table-layout:fixed;width:100%}.calendar-room-status .calendar-table th,.calendar-room-status .calendar-table td{padding:0.5rem;vertical-align:middle}:root{--admin-card-border:#d4ddf6;--admin-card-hover-border:#8aa4ff;--admin-card-shadow:rgba(35,71,170,0.12)}.admin-entity-card{border:1px solid var(--admin-card-border);border-radius:1rem;transition:border-color 0.2s ease,box-shadow 0.2s ease;height:100%}.admin-entity-card:hover{border-color:var(--admin-card-hover-border);box-shadow:0 0.5rem 1rem var(--admin-card-shadow)}.admin-entity-card .card-body{padding:1.25rem 1.25rem 1rem}.admin-entity-card .card-footer{background-color:transparent;border-top:1px solid rgba(35,71,170,0.1);border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}.admin-entity-card .show-permissions{color:#2563eb;font-weight:600}.admin-entity-card .show-permissions:hover{text-decoration:underline}.department-card .badge-soft-role{background-color:#eef4ff;color:#1d4ed8;border-color:rgba(29,78,216,0.2)}.department-card .toggle-users{color:#2563eb;font-weight:600}.department-card .toggle-users:hover{text-decoration:underline}.admin-users-table .admin-list{list-style:none;padding-left:0}.admin-users-table .admin-list li{font-size:0.9rem;color:#495057;display:flex;align-items:center;gap:0.35rem}.admin-users-table .admin-list li + li{margin-top:0.15rem}.remote-loading{opacity:0.5;pointer-events:none;transition:opacity 0.2s ease}.od-corso-card .card-body{background-color:white !important;padding:1rem 1.25rem;border:none !important}.od-corso-card.collapsed .card-body{padding:0 !important;margin:0 !important}.od-section-badge{background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%);color:white !important;padding:0.4rem 0.9rem;border-radius:16px;font-size:0.875rem;font-weight:600;display:inline-block;margin-bottom:0.75rem;box-shadow:0 2px 6px rgba(79,172,254,0.3)}.od-docente-item{margin-bottom:0.5rem;display:flex;align-items:center;gap:0.5rem}.od-docente-item p{margin:0}.od-docente-link{color:#667eea !important;text-decoration:none;font-weight:500;transition:all 0.2s}.od-docente-link:hover{color:#764ba2 !important;text-decoration:none;transform:translateX(2px)}.od-badge-titolare{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:white;padding:0.2rem 0.6rem;border-radius:12px;font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.3px;box-shadow:0 1px 3px rgba(16,185,129,0.3)}.od-badge-collaboratore{background:linear-gradient(135deg,#6b7280 0%,#4b5563 100%);color:white;padding:0.2rem 0.6rem;border-radius:12px;font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.3px;box-shadow:0 1px 3px rgba(107,114,128,0.3)}.od-docente-non-definito{color:#ef4444;font-style:italic;font-weight:500}.od-corso-body{overflow:hidden;transition:opacity 0.25s ease,transform 0.25s ease;opacity:1;transform:scaleY(1);transform-origin:top}.od-corso-card.collapsed .od-corso-body{opacity:0;transform:scaleY(0);max-height:0;pointer-events:none}.od-modal-syllabus{border:none;border-radius:16px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,0.2)}.od-docente-details{padding:0.5rem 0}.od-info-section{padding:1rem;background:white;border-radius:12px;border:1px solid #e9ecef}.od-section-title{color:#667eea;font-weight:600;font-size:1.1rem;margin-bottom:1rem;padding-bottom:0.5rem;border-bottom:2px solid #e9ecef}.od-info-item{display:flex;align-items:flex-start;gap:0.75rem;padding:0.75rem;background:#f8f9fa;border-radius:8px;transition:all 0.2s ease}.od-info-item:hover{background:#e9ecef;transform:translateX(2px)}.od-info-icon{font-size:1.3rem;color:#667eea;flex-shrink:0;margin-top:0.25rem}.od-info-label{font-size:0.75rem;color:#6c757d;text-transform:uppercase;font-weight:600;letter-spacing:0.5px;margin-bottom:0.25rem;display:block}.od-info-value{font-size:1rem;color:#212529;font-weight:500}.od-email-link{color:#667eea;text-decoration:none;transition:all 0.2s ease}.od-email-link:hover{color:#764ba2;text-decoration:underline}.od-modal-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:white;border-bottom:none;padding:1.5rem 1.75rem}.od-modal-header .modal-title{font-weight:600;font-size:1.3rem}.od-modal-body{padding:2rem 1.75rem;background-color:#f8f9fa}.od-syllabus-details{display:flex;flex-direction:column;gap:1.5rem}.od-syllabus-section h5{color:#667eea;font-weight:600;font-size:1rem;margin-bottom:0.75rem}.od-syllabus-content{background:#fff;border:1px solid #e9ecef;border-radius:10px;padding:1rem 1.25rem;color:#212529;line-height:1.6}.od-syllabus-content p:last-child,.od-syllabus-content ul:last-child,.od-syllabus-content ol:last-child{margin-bottom:0}.od-syllabus-content p{margin-bottom:0.75rem}.od-syllabus-content ul,.od-syllabus-content ol{margin-bottom:0.75rem;padding-left:1.5rem}.od-syllabus-content li{margin-bottom:0.35rem}.od-syllabus-content a{color:#667eea;text-decoration:underline}.od-syllabus-content a:hover{color:#764ba2}.od-syllabus-empty{color:#6c757d;font-style:italic;margin:0}.od-section-select{border-radius:8px;border:2px solid #667eea;padding:0.6rem 1rem;font-weight:500;transition:all 0.2s ease}.od-section-select:focus{border-color:#764ba2;box-shadow:0 0 0 0.2rem rgba(102,126,234,0.25)}.od-modal-footer{background-color:#f8f9fa;border-top:1px solid #e9ecef;padding:1rem 1.75rem}.od-modal-footer .btn-outline-primary{border-width:2px;font-weight:500;padding:0.5rem 1.5rem;border-radius:8px;transition:all 0.2s ease}.od-modal-footer .btn-outline-primary:hover{background-color:#667eea;border-color:#667eea;transform:translateY(-1px);box-shadow:0 4px 12px rgba(102,126,234,0.3)}.queries-ad-import-toolbar .btn{white-space:nowrap}.queries-ad-import .card-title{font-weight:600;color:#1f2937}.queries-ad-import-table th{font-size:0.85rem;font-weight:600;white-space:nowrap}.queries-ad-import-col-nome,.queries-ad-import-col-cognome{width:14%}.queries-ad-import-col-dipartimento{width:12%}.queries-ad-import-col-email{width:22%}.queries-ad-import-col-scadenza{width:11%}.queries-ad-import-col-ou{width:28%}.queries-ad-import-col-azioni{width:6%}.queries-ad-import-actions{display:flex;flex-wrap:nowrap;gap:0.35rem;align-items:center}.queries-ad-import-actions .btn{flex-shrink:0}.db-status-page .db-status-progress{height:20px}.db-status-page .db-status-checks-table{table-layout:fixed;width:100%}.db-status-page .db-status-col-voce{width:25%}.db-status-page .db-status-col-stato{width:10%}.db-status-page .db-status-col-tempo{width:10%}.db-status-page .db-status-col-dettagli{width:35%}.db-status-page .db-status-col-errore{width:20%}.db-status-page .db-status-section-row td{background-color:#f8f9fa;border-top-width:2px;padding-top:1rem;padding-bottom:0.5rem}.db-status-page .db-status-section:first-child .db-status-section-row td{border-top:none;padding-top:0.5rem}.db-status-page .db-status-info-details{border-left:none}@media (max-width:991.98px){.queries-ad-import-table th,.queries-ad-import-table td{min-width:8rem}.queries-ad-import-col-azioni{min-width:6.5rem}}@media (max-width:768px){.od-corso-card .card-header{padding:0.875rem 1rem}.od-corso-title{font-size:0.95rem}.od-section-badge{font-size:0.8rem;padding:0.35rem 0.7rem}.od-info-badges .badge{font-size:0.75rem;padding:0.3rem 0.6rem}.od-syllabus-icon{font-size:1.1rem;padding:0.3rem}}.task-card{border:1px solid #e4e9f2;border-radius:0.75rem;transition:border-color 0.25s ease,box-shadow 0.25s ease,transform 0.2s ease;background-color:#fff}.task-card.task-clickable{cursor:pointer}.task-card.task-clickable:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.task-card.task-clickable:hover{border-color:#2563eb;box-shadow:0 15px 35px rgba(37,99,235,0.15);transform:translateY(-4px)}.task-status-badge{display:inline-flex;align-items:center;gap:0.35rem;font-size:0.82rem;font-weight:600;padding:0.25rem 0.75rem;border-radius:999px;background-color:rgba(37,99,235,0.08);color:#1d3b6d}.status-pill-in-valutazione{background-color:#fef3c7;color:#92400e}.status-pill-in-lavorazione{background-color:#dbeafe;color:#1d4ed8}.status-pill-pianificato{background-color:#dcfce7;color:#047857}.status-pill-chiuso{background-color:#fee2e2;color:#b91c1c}.status-pill-n-a,.status-pill-default{background-color:#e5e7eb;color:#374151}.task-meta{font-size:0.8rem}.task-title{font-size:1.05rem;font-weight:600;color:#1f2937}.task-preview{font-size:0.92rem;line-height:1.5}.task-card-footer{border-top:1px solid #f1f3f7;padding-top:1rem}.priority-pill{display:inline-flex;align-items:center;padding:0.3rem 0.9rem;border-radius:999px;font-size:0.8rem;font-weight:600;background-color:#edf2ff;color:#1f3b8a;border:1px solid transparent}.priority-emergenza{background-color:#fee2e2;color:#991b1b;border-color:#fecaca}.priority-alta{background-color:#fef3c7;color:#92400e;border-color:#fde68a}.priority-normale{background-color:#dcfce7;color:#065f46;border-color:#bbf7d0}.priority-bassa{background-color:#e0f2fe;color:#0c4a6e;border-color:#bae6fd}.priority-default{background-color:#e5e7eb;color:#374151;border-color:#d1d5db}.task-card.task-closed{border-color:#f0d4d6;background-color:#f6d6d6}.task-card.task-closed .task-status-badge{background-color:#fff2f0;color:#b42318;border:1px solid #ffcdc7}.task-card.task-closed .priority-pill{background-color:#fff2f0;color:#b42318;border-color:#ffcdc7}.task-card.task-closed.task-clickable:hover{border-color:#dc2626;box-shadow:0 12px 32px rgba(220,38,38,0.18)}#modalAttachmentsList .attachment-item{border:1px solid #f0f0f0}#modalAttachmentsList .attachment-item + .attachment-item{margin-top:0.5rem}.due-date-pill{display:inline-flex;flex-direction:column;align-items:flex-end;background-color:#f1f3ff;border:1px solid #d6dcff;border-radius:8px;padding:4px 10px;font-size:0.82rem;font-weight:600;color:#2d3a8c}.due-date-pill--overdue{background-color:#fff2f0;border-color:#ffcdc7;color:#b42318}.due-date-pill--missing{background-color:#fff8e1;border-color:#ffe4a3;color:#8c5e00}.due-date-pill .pill-label{font-size:0.7rem;letter-spacing:0.04em}.task-assignee small{font-size:0.78rem}.image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background-color:#f8f9fa;border:2px dashed #dee2e6;border-radius:0.375rem;text-align:center}.image-placeholder i{font-size:2rem;margin-bottom:0.5rem}.cid-placeholder{background-color:#fff3cd;border-color:#ffeaa7}#modalBodyContent img{max-width:100% !important;height:auto !important;display:block;margin:1rem auto;border-radius:0.375rem;box-shadow:0 2px 8px rgba(0,0,0,0.1)}#modalBodyContent img[width]{max-width:100% !important;width:auto !important}#modalBodyContent img[width="543"],#modalBodyContent img[width="459"]{max-width:80% !important}#modalBodyContent .mb-3{border-left:3px solid #e9ecef;padding-left:1rem;margin-bottom:1.5rem !important}#modalBodyContent .mb-3:last-child{margin-bottom:0 !important}#modalBodyContent .mb-3 strong{color:#495057;font-size:1rem}#modalBodyContent .mb-3 small.text-muted{font-size:0.8rem;color:#6c757d !important}@media (max-width:768px){.task-card{margin-bottom:1rem}.task-card-footer{flex-direction:column;gap:0.75rem;align-items:flex-start}}.modal-user-detail .modal-content{border-radius:1rem;border:none;box-shadow:0 20px 60px rgba(15,23,42,0.2)}.user-avatar-lg{width:3.75rem;height:3.75rem;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:600;font-size:1.25rem;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 20px rgba(37,99,235,0.25)}.info-pill{padding:1rem 1.1rem;border-radius:1rem;background:#fff;border:1px solid #e5e7eb;min-height:5.2rem;display:flex;flex-direction:column;justify-content:center;gap:0.35rem}.info-label{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.05em;color:#6b7280}.info-value{font-weight:600;color:#111827}.mission-reimbursement-cta-card{cursor:pointer;transition:border-color 0.2s ease,box-shadow 0.2s ease,transform 0.2s ease}.mission-reimbursement-cta-card:hover{border-color:#198754 !important;box-shadow:0 8px 24px rgba(25,135,84,0.18);transform:translateY(-2px)}.mission-reimbursement-cta-card:focus-visible{outline:2px solid #198754;outline-offset:2px}.missions-form .mission-km-group,.missions-reimbursement-form .mission-km-group{border-color:var(--bs-primary-border-subtle,#9ec5fe) !important;background-color:rgba(var(--bs-primary-rgb,13,110,253),0.04);overflow:visible}.missions-form .mission-km-stop{overflow:visible;position:relative;z-index:1}.missions-form .mission-km-stop:focus-within{z-index:5}.missions-form .mission-city-results{background:#fff}.missions-form .mission-km-group .form-control[readonly],.missions-reimbursement-form .mission-km-group .form-control[readonly]{background-color:var(--bs-secondary-bg,#e9ecef)}.mission-expenses-grid > .row{margin-bottom:0}.mission-expenses-grid > .row + .row{margin-top:0.75rem}.mission-expenses-grid .form-label{margin-bottom:0.25rem}@media (min-width:768px){.mission-expenses-grid .mission-km-group .row.align-items-end{max-width:50%}}.missions-reimbursement-form .missions-reimbursement-toolbar{width:auto}.missions-reimbursement-form .missions-reimbursement-toolbar > span,.missions-reimbursement-form .missions-reimbursement-toolbar > a,.missions-reimbursement-form .missions-reimbursement-back > a{flex:0 0 auto;width:auto;display:inline-flex}.room-kiosk-body{margin:0;min-height:100vh;background:#eef1f5;color:#212529}.room-kiosk{--kiosk-table-font-size:clamp(17px,2.2vmin,32px);--kiosk-title-size:clamp(20px,3.05vmin,40px);--kiosk-subtitle-size:clamp(15px,2.1vmin,26px);--kiosk-meta-size:clamp(13px,1.65vmin,20px);--kiosk-logo-height:clamp(40px,5.5vmin,64px);--kiosk-logo-width:clamp(130px,17vmin,220px);--kiosk-cell-padding-y:clamp(0.25rem,0.5vmin,0.6rem);--kiosk-cell-padding-x:clamp(0.35rem,0.7vmin,0.85rem);width:100%;max-width:none;min-height:100vh;display:flex;flex-direction:column;padding:0}.room-kiosk-header{display:grid;grid-template-columns:minmax(10rem,1fr) auto minmax(10rem,1fr);align-items:center;gap:0.5rem;width:100%;padding:0.5rem 0.35rem;background:linear-gradient(135deg,#003264 0%,#004a95 100%);color:#fff;border-bottom:3px solid #ffc107;box-shadow:0 2px 8px rgba(0,50,100,0.25)}.room-kiosk-logo{justify-self:start;flex:0 0 auto;background-image:url('/assets/img/LogoUNIRSM_NegativoVuoto.png');background-size:contain;background-repeat:no-repeat;background-position:left center;height:var(--kiosk-logo-height);width:var(--kiosk-logo-width)}.room-kiosk-heading{justify-self:center;text-align:center;min-width:0}.room-kiosk-title{font-size:var(--kiosk-title-size);font-weight:700;margin:0;color:#fff;line-height:1.15}.room-kiosk-subtitle{font-size:var(--kiosk-subtitle-size);color:rgba(255,255,255,0.88);font-weight:500}.room-kiosk-meta{justify-self:end;flex:0 0 auto}.room-kiosk-updated{font-size:var(--kiosk-meta-size);font-weight:500;color:rgba(255,255,255,0.9);white-space:nowrap}.room-kiosk-main{flex:1 1 auto;width:100%;min-height:0;display:flex;flex-direction:column;padding:0.15rem 0.2rem 0.1rem;background:#eef1f5}.room-kiosk-table-wrap{flex:1 1 auto;width:100%;min-height:0;overflow-x:auto;border-radius:0.15rem;box-shadow:none}.room-kiosk-table{width:100%;height:100%;font-size:var(--kiosk-table-font-size);line-height:1.3;margin:0;background:#fff;table-layout:fixed}.room-kiosk-table thead th{background:#003264;color:#fff;font-size:var(--kiosk-table-font-size);font-weight:600;padding:var(--kiosk-cell-padding-y) var(--kiosk-cell-padding-x);border:none;white-space:nowrap}.room-kiosk-table tbody td{padding:var(--kiosk-cell-padding-y) var(--kiosk-cell-padding-x);vertical-align:middle;border-color:#dee2e6;font-size:var(--kiosk-table-font-size);overflow:hidden;text-overflow:ellipsis}.room-kiosk-table tbody td *,.room-kiosk-table thead th *{font-size:inherit}.room-kiosk-table tbody td.room-kiosk-col-room{font-weight:700}.room-kiosk-table tbody td.room-kiosk-col-event{white-space:normal;word-break:break-word}.room-kiosk-table tbody tr{height:var(--kiosk-row-height,auto)}.room-kiosk-table tbody tr.table-danger{--bs-table-bg:#fde8ea;--bs-table-hover-bg:#f9d7da}.room-kiosk-col-room{width:20%;min-width:clamp(5.5rem,11vmin,10rem)}.room-kiosk-col-status{width:11%;min-width:clamp(4.5rem,8vmin,7rem)}.room-kiosk-col-event{width:54%}.room-kiosk-col-time{width:15%;min-width:clamp(5rem,9vmin,8rem);white-space:nowrap}.room-kiosk-table .badge-soft-success,.room-kiosk-table .badge-soft-danger{font-size:1em;font-weight:400;padding:0.35em 0.65em}.room-kiosk-status{display:inline-flex;align-items:center;justify-content:center;gap:0.25em;max-width:100%}.room-kiosk-status-icon{display:none;line-height:1}.room-kiosk-time{display:inline}@media (max-width:767.98px){.room-kiosk-header{grid-template-columns:minmax(4.5rem,0.7fr) auto minmax(4.5rem,0.9fr);gap:0.25rem;padding:0.4rem 0.3rem}.room-kiosk-logo{max-width:5.5rem}.room-kiosk-updated{white-space:normal;line-height:1.2;text-align:right}.room-kiosk-main{padding:0.1rem 0.1rem 0.05rem}.room-kiosk-table-wrap{overflow-x:hidden}.room-kiosk-col-room{width:26%;min-width:0}.room-kiosk-col-status{width:12%;min-width:2.25rem}.room-kiosk-col-event{width:44%}.room-kiosk-col-time{width:18%;min-width:3.25rem;white-space:normal}.room-kiosk-table tbody td.room-kiosk-col-room{white-space:normal;word-break:break-word;overflow:visible;text-overflow:unset}.room-kiosk-table tbody td.room-kiosk-col-time{overflow:visible;text-overflow:unset}.room-kiosk .room-kiosk-status-icon{display:inline-block}.room-kiosk .room-kiosk-status-label{display:none}.room-kiosk-table .room-kiosk-status.badge-soft-success,.room-kiosk-table .room-kiosk-status.badge-soft-danger{padding:0.3em 0.4em}.room-kiosk .room-kiosk-time{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;gap:0.05em}.room-kiosk .room-kiosk-time-sep{display:none}}.task-kanban-page{--task-kanban-column-min:20rem;--task-kanban-board-bg:#eef1f5;margin-left:-0.75rem;margin-right:-0.75rem}.task-kanban-toolbar{padding-left:0.75rem;padding-right:0.75rem}.task-kanban-board{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;gap:0.85rem;width:100%;overflow-x:auto;overflow-y:visible;padding:0.85rem;min-height:calc(100vh - 220px);background:var(--task-kanban-board-bg);border-radius:0.5rem;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.task-kanban-column{flex:1 1 var(--task-kanban-column-min);min-width:var(--task-kanban-column-min);width:auto;max-height:none;height:auto;align-self:flex-start;display:flex;flex-direction:column;border-radius:0.75rem;background:color-mix(in srgb,var(--column-accent,#e9ecef) 14%,#ffffff);box-shadow:inset 0 0 0 1px rgba(0,50,100,0.06)}.task-kanban-column-header{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;padding:0.65rem 0.75rem 0.5rem;border-top:3px solid var(--column-accent,#004a95);border-radius:0.75rem 0.75rem 0 0}.task-kanban-column-title{font-weight:700;font-size:1rem;color:#0b2540;line-height:1.3}.task-kanban-column-count{flex-shrink:0;min-width:1.65rem;height:1.65rem;padding:0 0.45rem;border-radius:999px;background:rgba(255,255,255,0.85);color:#4b5563;font-size:0.8rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(0,50,100,0.08)}.task-kanban-column-body{display:flex;flex-direction:column;gap:0.65rem;padding:0 0.65rem 0.75rem;overflow:visible;flex:0 1 auto;min-height:5rem}.task-kanban-card{display:flex;flex-direction:column;flex-shrink:0;gap:0;position:relative;background:#fff;border:1px solid rgba(0,50,100,0.08);border-radius:0.5rem;padding:0;box-shadow:0 1px 2px rgba(15,23,42,0.06);overflow:hidden;transition:box-shadow 0.15s ease,transform 0.15s ease,border-color 0.15s ease}.task-kanban-card:hover{border-color:rgba(0,74,149,0.22);box-shadow:0 6px 16px rgba(0,74,149,0.12);transform:translateY(-1px)}.task-kanban-card-open{display:flex;flex-direction:column;gap:0.45rem;padding:0.85rem 0.9rem 0.65rem;color:inherit;cursor:pointer;border-radius:0.5rem 0.5rem 0 0}.task-kanban-card-open:hover .task-kanban-card-title{color:#004a95}.task-kanban-card-title{display:block;font-weight:600;font-size:1rem;line-height:1.4;color:#0b2540;word-break:break-word}.task-kanban-card-description{font-size:0.84rem;line-height:1.45;color:#6b7280;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.task-kanban-card-labels{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:0.35rem;width:100%;margin-top:0.1rem}.task-kanban-card-labels .badge{font-size:0.78rem;padding:0.28rem 0.55rem}.task-kanban-card-drag-handle{display:flex;flex-direction:column;gap:0.2rem;padding:0.35rem 0.9rem 0.65rem;border-top:1px solid rgba(0,50,100,0.08);background:rgba(0,50,100,0.02);cursor:grab;user-select:none;touch-action:none}.task-kanban-card-drag-handle:hover{background:rgba(0,74,149,0.05)}.task-kanban-card-drag-handle:active{cursor:grabbing}.task-kanban-card-drag-handle--static{cursor:default;touch-action:auto}.task-kanban-card-drag-handle--static .task-kanban-card-grip{display:none}.task-kanban-card-grip{align-self:center;font-size:0.95rem;color:#9ca3af;line-height:1}.task-kanban-card-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.35rem 0.75rem;font-size:0.85rem;color:#6b7280;margin-top:0;pointer-events:none}.task-kanban-card-assignee{flex:1 1 auto;min-width:0;line-height:1.35;word-break:break-word}.task-kanban-card-due{flex-shrink:0;display:inline-flex;align-items:center;gap:0.2rem;white-space:nowrap}.task-kanban-card-due--overdue{color:#b02a37;font-weight:600}.task-kanban-card-ghost{opacity:0.45;background:#e9ecef;box-shadow:none}.task-kanban-column-empty{padding:0.35rem 0.5rem 0.5rem;font-size:0.8rem;color:#9ca3af;font-style:italic}.task-kanban-column-footer{flex-shrink:0;padding:0 0.65rem 0.75rem}.task-kanban-column-archive-link{display:block;font-size:0.82rem;font-weight:600;color:#004a95;text-align:center;padding:0.45rem 0.5rem;border-radius:0.375rem;background:rgba(255,255,255,0.65)}.task-kanban-column-archive-link:hover{background:rgba(255,255,255,0.95);color:#003264}.kanban-board{display:flex;flex-direction:row;flex-wrap:nowrap}.kanban-column-body{min-height:4rem}.kanban-card-ghost{opacity:0.45;background:#e9ecef}@media (max-width:767.98px){.task-kanban-page{margin-left:-0.5rem;margin-right:-0.5rem}.task-kanban-board{padding:0.5rem;min-height:calc(100vh - 200px)}.task-kanban-column{flex:0 0 88vw;min-width:88vw;width:88vw;max-height:none}}.task-form .task-form-actions > span > .btn{display:inline-flex;width:auto}.task-form-assignees{display:grid;grid-template-columns:minmax(0,1fr);gap:0.5rem;max-height:11rem;overflow-y:auto}.task-form-assignees .form-check{min-width:0;margin-bottom:0}.task-form-assignees .form-check-label{display:block;line-height:1.35;overflow-wrap:anywhere}@media (min-width:768px){.task-form-assignees{grid-template-columns:repeat(2,minmax(0,1fr))}}.student-avatar-wrap{width:192px;height:192px}.student-avatar-img{width:192px;height:192px;object-fit:cover;border:1px solid #dee2e6;background:#f8f9fa}.student-avatar-img.is-hidden,.student-avatar-fallback.is-hidden{display:none}.student-avatar-fallback{width:192px;height:192px;display:flex;align-items:center;justify-content:center;background:#e9ecef;color:#495057;font-weight:600;font-size:2.5rem;border:1px solid #dee2e6}.usys-search-form{margin-bottom:0.75rem}.usys-search-form:not(.usys-search-form--grid) .form-row{display:flex;flex-wrap:wrap;align-items:flex-end}.usys-search-form--grid .usys-search-form-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0.5rem;align-items:end;margin-bottom:0.5rem}.usys-search-field{grid-column:span 3;min-width:0}.usys-search-field--sm{grid-column:span 2}.usys-search-field--md{grid-column:span 3}.usys-search-field--lg{grid-column:span 4}.usys-search-field--xl{grid-column:span 5}.usys-search-field .form-control,.usys-search-field .form-select,.usys-search-field select.form-control,.usys-search-field .input-group{width:100%}@media (max-width:991.98px){.usys-search-form--grid .usys-search-form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.usys-search-field,.usys-search-field--sm,.usys-search-field--md,.usys-search-field--lg,.usys-search-field--xl{grid-column:span 1}}@media (max-width:575.98px){.usys-search-form--grid .usys-search-form-row{grid-template-columns:1fr}.usys-search-field,.usys-search-field--sm,.usys-search-field--md,.usys-search-field--lg,.usys-search-field--xl{grid-column:span 1}}.usys-search-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:0.4rem 0.55rem;margin:0.25rem 0 0.85rem;padding:0.55rem 0.85rem;background:#f8f9fa;border:1px solid #dee2e6;border-radius:0.375rem;color:#495057}.usys-search-summary__count{font-size:1.25rem;font-weight:700;color:#212529;line-height:1}.usys-search-summary__label{font-size:0.95rem}.usys-search-summary__sep{color:#adb5bd;margin:0 0.15rem}.usys-search-summary__pill{display:inline-flex;align-items:center;font-size:0.85rem;font-weight:600;padding:0.15rem 0.55rem;border-radius:999px}.usys-search-summary__pill--active{color:#0f5132;background:#d1e7dd}.usys-search-summary__pill--inactive{color:#842029;background:#f8d7da}