@font-face {
    font-family: 'Avenir';
    src: url('../fonts/Avenir-Light.eot');
    src: url('../fonts/Avenir-Light.eot?#iefix') format('embedded-opentype'), url('../fonts/Avenir-Light.woff2') format('woff2'), url('../fonts/Avenir-Light.woff') format('woff'), url('../fonts/Avenir-Light.svg#Avenir-Light') format('svg');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Avenir';
    src: url('../fonts/Avenir-Medium.woff2') format('woff2'), url('../fonts/Avenir-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Avenir';
    src: url('../fonts/Avenir-Heavy.woff2') format('woff2'), url('../fonts/Avenir-Heavy.woff') format('woff');
    font-weight: 900;
    font-style: normal;
}

.user-panel .info .robot-selection {
    font-size: 13px;
}

.user-panel .info .robot-selection small {
    text-decoration: underline;
}

.map-container {
    text-align: center;
    margin-bottom: 20px;
}

.map-container .map {
    position: relative;
    width: auto;
    display: inline-block;
    margin: 0 auto;
}

.map-container .map-picture {
    width: auto;
    max-width: 100%;
}

.map-container .map-marker {
    position: absolute;
    display: none;
    cursor: pointer;
}

.map-container .map-position {
    color: #186aa9;
    display: none;
    cursor: default;
}

.map-container .loader {
    display: none;
}

.content-header .btn {
    margin: 0 5px 5px 0;
}

.media-container {
    min-height: 1%;
    overflow: hidden;
    background-color: #fff;
    padding: 10px;
    border-radius: 5px;
}

.media-container img,
.media-container video {
    max-width: 100%;
}

.media-container .media-delete {
    position: absolute;
    right: 0;
    cursor: pointer;
}

.media-container .media-select {
    position: absolute;
    margin: 0;
    left: 0;
    left: 18px;
    top: 3px;
    z-index: 1;
}

.video-call .joystick {
    width: 80%;
    margin: 0 auto;
}

.video-call .controls {
    text-align: center;
    margin-bottom: 20px;
}

.video-call .controls.head,
.video-call .controls.movement {
    margin-top: 20px;
}

.video-call .controls .btn {
    margin: 0;
    min-width: 70px;
}

.video-call .controls .stop-button {
    display: inline;
    padding: 4px 20px;
}

.video-call .video-container {
    width: 100%;
    min-height: 480px;
    background-color: #000;
}

.video-call #publisher {
    position: absolute;
    bottom: 0;
    right: 15px;
}

.video-call .joystick path {
    cursor: pointer;
}

.video-call .loader {
    display: none;
}

.video-call #timer {
    text-align: center;
    font-size: 18px;
    margin: 10px;
}

.alert {
    list-style-type: none;
}

.loader {
    width: 20px;
    margin-right: 5px;
}

.small-box .loader {
    float: right;
}


/* custom layout */

body {
    font-family: "Avenir", sans-serif;
    background-color: #eef1f5;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    font-family: 'Avenir', sans-serif;
}

.content {
    clear: both;
}

.content-wrapper {
    padding-top: 40px;
    background-color: #eef1f5;
}

.content-header {
    padding: 40px 40px 0 34px;
    min-height: 1%;
    overflow: hidden;
}

.content-header h1 {
    font-size: 16px;
    color: #000;
    font-weight: 700;
    min-height: 1%;
    overflow: hidden;
}

.content-wrapper .content {
    padding: 20px 40px;
}

.content-title {
    padding: 0px 80px 20px 0px;
}

.content-title h2 {
    font-size: 16px;
    color: #000;
    font-weight: 700;
    min-height: 1%;
    overflow: hidden;
}

.main-sidebar {
    background: #ffffff;
    width: 230px;
    padding-top: 40px;
}

.control-sidebar {
    width: 230px;
    padding-top: 40px;
}

.control-sidebar-bg {
    width: 230px;
    background: #ffffff;
}

.logo img {
    width: 35px;
    height: 35px;
}

.sidebar-collapse .navbar {
    margin-left: 0px;
}

.navbar-nav>.user-menu .user-image {
    width: 40px;
    height: 40px;
    margin-top: 0;
    border: 2px solid #186aa9;
}

.navbar-nav>.user-menu .user-info {
    float: right;
}

.navbar-nav>.user-menu .user-name {
    color: #000000;
}

.user-panel {
    padding: 30px;
}

.user-panel>.info {
    position: static;
    padding: 0;
}

.user-panel .left {
    float: left;
}

.user-panel .right {
    float: right;
}

.user-panel .robot-status {
    font-size: 10px;
    margin: 5px;
    float: left;
    color: #186aa9;
}

.user-panel .robot-name {
    font-size: 16px;
    color: #000;
    font-weight: 700;
    padding-left: 10px;
}

.user-panel .robot-picture {
    margin-left: 10px;
}

.user-panel .facility-name {
    padding: 4px 0 0 10px;
    color: #c2bcbc;
    font-size: 11px;
    font-weight: 100;
}

.sidebar-menu li a {
    padding: 10px 30px 10px 30px;
    font-weight: 100;
    color: #000;
    font-size: 14px;
}

.sidebar-menu li a .icon {
    float: right;
    width: 15px;
    color: #9d9d9d;
    font-size: 16px;
}

.sidebar-menu .treeview-menu {
    padding-left: 0;
    background-color: #eef1f5;
}

.control-sidebar .header {
    padding: 90px 40px 40px 40px;
}

.control-sidebar .title {
    font-size: 16px;
    color: #000;
    font-weight: 700;
    padding-left: 18px;
}

.control-sidebar .subtitle {
    display: block;
    padding: 4px 0 0 18px;
    color: #c2bcbc;
    font-size: 13px;
    font-weight: 100;
}

.main-header .navbar {
    margin-left: 0px;
    padding-top: 40px;
}

.main-header .navbar-custom-menu .user-role {
    color: #c2bcbc;
    font-weight: 100;
}

.navbar-nav>.user-menu>.dropdown-menu>li.user-header {
    height: auto;
}

.navbar-nav>.user-menu>.dropdown-menu>li.user-header>p {
    color: #000000;
}

.nav>li>a:hover,
.nav>li>a:active,
.nav>li>a:focus {
    background: initial;
}

.nav .open>a,
.nav .open>a:focus,
.nav .open>a:hover {
    background: initial;
}

.navbar-nav>li>a {
    min-height: 1%;
    overflow: hidden;
    padding: 10px 0 0 0;
}

.real-time .box-info {
    padding: 0;
    background-color: #fff;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    height: 90px;
}

.real-time a.box-info {
    cursor: pointer;
}

.real-time .box-info .small-box {
    margin-bottom: 0;
    box-shadow: none;
}

.real-time .box-info .small-box:hover {
    color: initial;
}

.real-time .box-info .icon {
    display: inline;
    position: static;
    max-width: 18px;
}

.real-time .box-info .title,
.real-time .box-info .title:hover,
.real-time .box-info .title:active,
.real-time .box-info .title:visited,
.real-time .box-info .title:focus {
    font-size: 14px;
    margin: 6px 0 0;
    color: #000;
}

.real-time .box-info .subtitle {
    display: block;
    color: #c2bcbc;
    margin-top: 6px;
}

.real-time .box-info.active .title {
    color: #fff;
}

.real-time .box-info.active .subtitle {
    color: #fff;
}

.real-time .box-info.box-status.active,
.real-time .box-info.box-localization.active {
    background-color: #1b9fc7;
}

.real-time .box-info.box-mode.active {
    background-color: #1b9fc7;
}

.real-time .box-info.box-localization {
    position: relative;
}

.real-time .box-info .loader {
    position: absolute;
    top: 6px;
    right: 0px;
}

.btn-default:hover,
.btn-default:active,
.btn-default.hover {
    background-color: #186aa9;
}

.btn-default {
    background-color: #186aa9;
    color: #fff;
    border: 0;
}

.status-loader {
    width: 20px;
}

.dataTables_wrapper .table-bordered {
    border: 0;
    padding-top: 20px;
    padding-bottom: 30px;
}

.dataTables_wrapper div.dataTables_filter {
    float: left;
}

.dataTables_wrapper div.dataTables_filter .icon {
    width: 16px;
}

div.dataTables_wrapper div.dataTables_filter input {
    border: 0;
    background: none;
    padding: 4px;
}

.dataTables_wrapper .dt-buttons.btn-group {
    float: right;
}

.dataTables_wrapper .dt-buttons.btn-group .icon {
    background: none;
    width: 14px;
}

table.dataTable thead>tr>th {
    padding-left: 0;
}

table.dataTable tbody>tr>td {
    padding-left: 0;
}

table.dataTable thead th:last-child {
    text-align: right;
}

.table-striped>tbody>tr:nth-of-type(odd) {
    background: none;
}

.dataTable .btn-group {
    float: right;
}

.dataTable .btn-group .icon {
    background: none;
}

.dataTable .btn-group .icon img {
    width: 14px;
    margin-left: 0px;
}

.dataTables_info {
    color: #777;
    float: left;
}

.dataTables_paginate .pagination>li>a {
    background: none;
    padding: 3px 6px;
}

.dataTables_paginate .pagination>li.active>a {
    color: #777;
    border-color: #000;
}

div.dataTables_wrapper div.dataTables_info {
    padding-top: 14px;
}

.note-editor .btn {
    background: none;
    color: initial;
    border: 0;
}

.modal-header {
    border-bottom-color: #2f8fd9;
}

.modal-footer {
    border-top-color: #2f8fd9;
}

.content-header .icon {
    width: 14px;
}

.form-control {
    border: 0;
}

.user-answer-item .user-answer-code {
    display: inline;
    width: 95%;
}

.map-container .map-position.not-localized {
    color: #ff0000;
}

.modal .form-control {
    border: 1px solid #d2d6de;
}

.input-group .input-group-addon {
    border-left: 1px solid #d2d6de;
}

.shift-item {
    margin-bottom: 4px;
    width:100%;
}

.fc-day-number {
    font-size: 16px;
}

.fc-today {
    background-color: #3c8dbc !important;
}

.add-examination {
    margin-top: 4px;
}

.examination-item input,
.examination-item textarea {
    border: 0;
    width: 100%;
}

.examination-item input:focus,
.examination-item textarea:focus {
    border: 1px solid #367fa9;
    outline: none;
}

.modal-full {
    min-width: 100%;
    margin: 0;
}

.modal-full .modal-content {
    min-height: 100vh;
}

.shift-item table {
    table-layout: fixed;
}

.shift-item .cell-small {
    width: 3%;
}

.shift-item .cell-medium {
    width: 6%;
}

.fc .fc-day {
    vertical-align: middle;
    text-align: center;
}

.fc-day .shift {
    display: block;
    font-size: 6px;
    line-height: 6px;
    text-align: left;
    color: #3c8dbc;
}

.fc-day.alert .shift {
    color: #fff;
}

.main-header .sidebar-toggle-left {
    padding-left: 35px;
}

.main-header .sidebar-toggle-right {
    float: right;
    padding-right: 35px;
}

.control-sidebar-collapse .content-wrapper {
    margin-right: 0;
}

.main-header .sidebar-toggle:focus,
.main-header .sidebar-toggle:active,
.main-header .sidebar-toggle:hover {
    color: #3c8dbc;
}

.real-time .box-info {
    margin-bottom: 10px;
}

.dataTables_info {
    width: 100%;
    margin-bottom: 10px;
}

.dataTables_paginate {
    clear: both;
}

.fc-bootstrap .fc-right {
    width: 100%;
    text-align: right;
}

.dataTables_wrapper {
    overflow: scroll;
}

.actions {
    clear: both;
}

.fc-day-grid-container.fc-scroller {
    height: auto !important;
}

.flowchart-container {
    min-height: 1%;
    overflow: hidden;
}

.sidebar-menu .loader {
    display: none;
}

.sidebar-menu .shutdown {
    color: #ff0000;
}

.stop-button {
    display: none;
}

.movement-status {
    font-size: 14px;
    margin-left: 10px;
    font-weight: normal;
}

.movement-status img {
    vertical-align: text-top;
}

.movement-status img.moving {
    width: 20px;
    vertical-align: text-text-bottom;
}

.form-control.has-border {
    border: 1px solid #d2d6de;
}

.movement-status .movement-point {
    text-transform: capitalize;
    font-style: normal;
    color: #3c8dbc;
}

.light.on {
    fill: green;
}

.light.off {
    fill: red;
}

.user-phrase-container.pediatric-dialog .user-phrase-text {
    width: 100%;
}

.user-phrase-container.informed-consent .user-phrase-text {
    width: 80%;
}

.user-phrase-container.informed-consent label,
.user-phrase-container.pediatric-dialog label {
    width: 20%;
    width: 20%;
    text-align: center;
    height: 100%;
    margin-top: 8px;
}
.user-phrase-container.story{
    margin-top:20px;
}
.story-modal .user-phrase-text-add{
    width:90%;
}
.story-modal .user-phrase-text{
    width:96%;
}

.consent-item-fields-information img {
    width: auto;
    height: auto;
    max-width: 200px;
}

.consent-item-fields-information video {
    width: auto;
    height: auto;
    max-width: 200px;
}

.consent-video-preview {
    width: 75%;
}

.modal-body.center {
    text-align: center;
}

.consent-items-table {
    width: 100%;
}

.modal-dialog-scrollable {
    overflow-y: auto;
}

#accordion-activities img {
    max-width: 150px;
}

#accordion-activities .activity-type-6 {
    color: green;
}

#accordion-activities .activity-type-7 {
    color: red;
}

#accordion-activities .panel-title a {
    font-size: 14px;
}

.allowed-termoscanners{
    list-style: none;
    margin: 0;
    padding: 0;
}

.allowed-termoscanners li{
    padding: 10px 0;
}

.algho-description{
    display:none;
}

i.delete{
    font-size: 16px;
    color: red;
}
.translation-languages{
    margin:0;
    padding:0;
    list-style: none;
}
.translation-languages .translation-language-container{
    height: 40px;
    break-inside: avoid;
}
.translation-languages .translation-language-container label{
    font-size: 11px;
}
.translation-languages .translation-language-container .toggle{
    float:right;
}
.translation-languages.small{
    font-size: 10;
}

.modal-story-clone .facilities{
    margin: 0;
    padding: 0;
    list-style: none;
}

.modal-story-clone .facilities .facility input{
    margin-right: 10px;
}

.modal-story-clone .facilities .facility input:checked ~ span{
    font-weight: bold;
}
.modal-story-clone .facilities-container{
    height: 200px;
    overflow-y: scroll;
}

/*::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background-color: rgba(0, 0, 0, .5);
    -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5);
}
::-webkit-scrollbar {
    -webkit-appearance: none;
    width: 10px;
}*/

.app-version{
    color: #756f6f;
    padding-top: 30px !important;
    text-align: center;
}
.robot-version{
    color: #756f6f;
    padding-top: 10px !important;
    text-align: center;
}

.modal-active-workflow .message{
    font-weight: 500;
}

.simple-hr{
    border-bottom: 1px solid #2f8fd9;
    clear:both;
}
.voice-container{
    clear:both;
}
.voice-container .voice{
    display: inline-block;
    width: 140px;
    margin-top: 10px;
}
.mt-20 {
    margin-top: 20px;
}
.mt-30 {
    margin-top: 30px;
}
.examination-statuses{
    list-style-type: none;
    padding: 0;
}
#examination_form label{
    font-weight: normal;
}

@media (min-width: 768px) {
    .real-time .box-info {
        margin: 0px 36px 40px 0;
    }

    .dataTables_info {
        width: auto;
    }

    .dataTables_paginate {
        clear: none;
    }

    .fc-bootstrap .fc-right {
        width: auto;
        text-align: initial;
    }

    .fc-day .shift {
        font-size: 9px;
        line-height: 10px;
    }

    .dataTables_wrapper {
        overflow: visible;
    }

    .main-header .navbar {
        margin-left: 230px;
    }

    .sidebar-collapse .main-header .navbar {
        margin-left: 0px;
    }
}

.nav-tabs-survey, .nav-tabs-quiz{
    text-align: center;
}
.nav-tabs-survey li, .nav-tabs-quiz li{
    float:none;
    display: inline-block;
    padding: 10px;
}
.nav-tabs-survey li a, .nav-tabs-quiz li a{
    border-bottom: 2px solid transparent;
    padding: 10px;
}
.nav-tabs-survey li.active a, .nav-tabs-quiz li.active a{
    border-bottom: 2px solid #3c8dbc;
    font-weight: bold;
}
.survey-order, .quiz-order{
    width:40px;
}
#dataTables_survey thead th:last-child, #dataTables_quiz thead th:last-child{
    text-align: left;
}
.form-group-type-range input{
    display: inline-block;
    width: 80px;
}
#openTextLimit{
    width:80px
}
a.back{
    float: left;
    font-size: 22px;
}
.sessions-download{
    float:right;
    font-size:16px;
}
.quiz_form .form-group-type .points-add, .quiz_form .form-group-type .points{
    width: 70px;
    margin-right: 20px;
}
.quiz_form .form-group-type .input-group{
    display: block;
}
.quiz_form .user-phrase-container{
    margin-top: 30px;
}
.quiz_form .user-phrase-delete{
    border: 0;
    background: no-repeat;
    display: inline;
}
.expand-icon{
    color:#8e8e8e;
    margin-left:10px;
    cursor:pointer;
}
.date-picker {
    display: flex;
    align-items: center;
    gap: 5px;
    width: 40%;
    margin: 0 auto;
}
.date-picker #datetime{
    font-weight: bold;
    background: transparent;
    font-size: 14px;
}
@media (min-width: 1280px) {
    .date-picker {
        width: 25%;
    }
    .date-picker #datetime{
        font-size: 18px;
    }
}
.date-picker #prev-day, .date-picker #next-day, .date-picker #today{
    background-color: #3c8dbc;
    color: white;
}
.tabs-shift{
    margin-top:40px;
    margin-bottom:20px;
}
.tabs-shift li{
    font-weight: bold;
}
.tab-content-shift{
    margin-bottom: 40px;
}
.tabs-shift li.active a, .tabs-shift li.active a:focus{
    border: 0;
    border-bottom: 2px solid #3c8dbc;
    background: #eef1f5;
}
.table-shifts td, .table-shifts th{
    border-color: #cdcdcd !important;
}
.tab-content-shift .tab-pane{
    padding-bottom:30px;
}
.error-template-shifts{
    margin-top:20px;
}
.icon-priority{
    color: #3c8dbc;
}
#examinations-datatable th, #examinations-datatable td{
    padding: 4px 0 0 4px;
}
.icon-examination-call{
    font-size: 16px;
    color: #8c8c8c;
}
.examination-action-item .icon-examination-call{
    color: #3c8dbc;
    font-size:30px;
}
.examination-action-item .icon-examination-call[disabled]{
    color: grey;
    pointer-events: none;
}
.examination-actions {
    text-align: right;
    padding-right: 50px;
    font-size: 30px;
    font-weight: normal;
}

.examination-actions .examination-action-item {
    display: inline-block;
    text-align: center;
    margin-right: 10px;
}

.examination-actions a {
    width: 60px;
    display: inline-block;
    text-align: center;
}

.examination-actions .action-label {
    display: block;
    font-size: 14px;
    margin-top: 5px;
    color: #3c8dbc;
}
.examination-actions i{
    border: 1px solid #3c8dbc;
    border-radius: 6px;
    padding: 10px;
    width: 100%;
}
#quiz-preview-container {
    display: flex;
    align-items: center;
    gap: 10px;
}

#quiz-links-container {
    display: flex;
    flex-direction: column;
    gap: 5px;
    justify-content: center;
}
.quiz-picture-form-group{
    display: flex; 
    align-items: center;
    gap: 20px;
}
.quiz-picture-form-group #image-preview{
    max-height: 34px;
    width: auto;
}
#modal-image-preview{
    max-width: 100%;
    margin-bottom: 20px;
}

table.dataTable thead .sorting:after, table.dataTable thead .sorting_asc:after, table.dataTable thead .sorting_desc:after, table.dataTable thead .sorting_asc_disabled:after, table.dataTable thead .sorting_desc_disabled:after{
    display:inline-block !important;
    position: static !important;
    margin-left: 10px !important;
}

#examinations-datatable .card .title{
    color: #3c8dbc;
    font-weight: bold;
    text-decoration: underline;
    margin-bottom: 20px;
}

.affix {
    top: 0px;
    z-index: 1000;
    width: 100%;
    background-color: white;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.affix .alert{
    margin-bottom: 0;
}

@media screen and (max-width: 1200px) {
    #examinations-datatable > thead > th:not(:first-child),
    #examinations-datatable > tbody > ßtd:not(:first-child) {
        display: none;
    }

    #examinations-datatable > tbody > td:first-child {
        display: block;
        width: 100%;
    }

    #examinations-datatable .card-body td{
        padding: 10px 20px;
    }

    #examinations-datatable .card {
        border: 1px solid #ccc;
        border-radius: 5px;
        padding: 1rem;
        background-color: #fff;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
        width: 100%;
        border-color: #3c8dbc;
    }

    #examinations-datatable .card .priority-stars{
        text-align: center;
    }

    #examinations-datatable .card .fa{
        font-size: 20px;
        color: #3c8dbc;
    }

    #examinations-datatable .card .cell-edit{
        vertical-align: text-bottom;
        text-align: right;
    }

    #examinations-datatable .card .cell-edit .fa{
        font-size: 14px;
    }
}

@media (min-width: 1024px) {
    .real-time .box-info {
        margin: 0px 40px 40px 0;
    }

    .fc-day .shift {
        font-size: 11px;
    }

    .navbar-nav>.user-menu>.dropdown-menu>.user-footer .btn-default {
        color: #fff;
    }
}

@media screen {
    #printSection {
        display: none;
    }
}

@media print {

    body,
    html,
    #printSection {
        margin-top: 0%;
        display: block;
        height: 100%;
        width: 100%;
    }

    body * {
        visibility: hidden;
    }

    #printSection,
    #printSection * {
        visibility: visible;
    }

    #printSection {
        position: absolute;
        left: 0;
        top: 0;
    }

    .modal-header {
        padding: 0;
    }

    .modal-body .row:nth-of-type(1),
    .modal-header .close,
    .modal-footer,
    .modal-body table tr td:last-child,
    .modal-body table tr th:last-child,
    .modal-body .error-template,
    #form-container {
        display: none;
    }

    .modal-body .box-primary {
        border: 0;
    }

    .modal-body .box-header {
        border: 0;
        padding: 0;
    }

    .modal-body .box-body {
        padding: 0;
    }

    .modal-body .row .col-md-12 {
        padding: 0;
    }

    .modal-body textarea {
        resize: none;
    }

    .modal-body select {
        appearance: none;
        -webkit-appearance: none;
        border: 0 !important;
    }

    .modal-body .shift-item tr th,
    .modal-body .shift-item tr td {
        padding: 3px;
    }

    .modal-body select option:first-child {
        content: '';
    }
}

/* ==========================================================================
   Menu laterale — riorganizzazione per aree funzionali
   ========================================================================== */

:root {
    --aphel-sidebar-bg: #163640;
    --aphel-sidebar-text: #F7FAFA;
    --aphel-sidebar-muted: #B7C9CE;
    --aphel-sidebar-accent: #159EB8;
    --aphel-sidebar-active-bg: #214D58;
    --aphel-sidebar-online: #55C995;
    --aphel-sidebar-danger: #E96B6B;
    --aphel-sidebar-divider: rgba(255, 255, 255, 0.12);
    --aphel-sidebar-hover: rgba(255, 255, 255, 0.05);
}

/* Colonna a tre fasce: intestazione, elenco scrollabile, area inferiore fissa. */
.aphel-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    width: 230px;
    height: 100vh;
    padding-top: 40px;
    background: var(--aphel-sidebar-bg);
    color: var(--aphel-sidebar-text);
}

.aphel-sidebar > .main-header {
    flex: 0 0 auto;
    background: transparent;
}

.aphel-sidebar > .main-header .logo {
    display: flex;
    align-items: center;
    float: none;
    width: auto;
    height: auto;
    padding: 0 20px 18px 20px;
    background: transparent;
    color: var(--aphel-sidebar-text);
    font-size: 20px;
    font-weight: 900;
    line-height: 1;
    text-align: left;
}

.aphel-sidebar > .main-header .logo:hover,
.aphel-sidebar > .main-header .logo:focus {
    background: transparent;
    color: var(--aphel-sidebar-text);
    text-decoration: none;
}

.aphel-sidebar .logo-label {
    margin-left: 10px;
}

.aphel-sidebar > .sidebar {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    padding-bottom: 0;
}

/* Area informativa superiore: robot e struttura. */
.aphel-sidebar .user-panel {
    flex: 0 0 auto;
    padding: 0 20px 16px 20px;
    border-bottom: 1px solid var(--aphel-sidebar-divider);
}

.aphel-sidebar .user-panel .robot-name {
    padding-left: 8px;
    color: var(--aphel-sidebar-text);
    font-size: 15px;
    font-weight: 500;
}

.aphel-sidebar .user-panel .facility-name {
    padding: 4px 0 0 8px;
    color: var(--aphel-sidebar-muted);
}

.aphel-sidebar .robot-status {
    color: var(--aphel-sidebar-muted);
}

.aphel-sidebar .robot-status.fa-circle {
    color: var(--aphel-sidebar-online);
}

/* CA-14: l'elenco delle funzionalità scorre, le fasce esterne restano ferme. */
.aphel-menu-scroll {
    flex: 1 1 auto;
    min-height: 0;
    padding: 12px 0;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

.aphel-menu-scroll::-webkit-scrollbar {
    width: 6px;
}

.aphel-menu-scroll::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 3px;
}

.aphel-menu,
.aphel-submenu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.aphel-menu a,
.aphel-menu .aphel-group-header {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 11px 20px;
    border: 0;
    background: transparent;
    color: var(--aphel-sidebar-muted);
    font-size: 14px;
    line-height: 1.35;
    text-align: left;
}

.aphel-menu a:hover,
.aphel-menu a:focus,
.aphel-menu .aphel-group-header:hover,
.aphel-menu .aphel-group-header:focus {
    background: var(--aphel-sidebar-hover);
    color: var(--aphel-sidebar-text);
    outline: 0;
    text-decoration: none;
}

.aphel-item-icon {
    flex: 0 0 24px;
    width: 24px;
    font-size: 15px;
}

.aphel-item-label {
    flex: 1 1 auto;
}

/* Sezioni principali. */
.aphel-item-main > a {
    color: var(--aphel-sidebar-text);
    font-size: 15px;
    font-weight: 500;
}

/* CA-09: la voce corrente è evidenziata da sfondo, barra di accento e peso. */
.aphel-menu .is-active > a {
    background: var(--aphel-sidebar-active-bg);
    box-shadow: inset 3px 0 0 var(--aphel-sidebar-accent);
    color: var(--aphel-sidebar-text);
    font-weight: 500;
}

.aphel-menu .is-active > a .aphel-item-icon {
    color: var(--aphel-sidebar-accent);
}

/* Intestazioni dei gruppi funzionali. */
.aphel-group-header {
    color: var(--aphel-sidebar-text);
    cursor: pointer;
    font-weight: 500;
}

.aphel-group-toggle {
    flex: 0 0 auto;
    color: var(--aphel-sidebar-muted);
    font-family: FontAwesome;
    font-size: 11px;
}

.aphel-group-toggle:before {
    content: "\f067";
}

.aphel-group.is-open > .aphel-group-header .aphel-group-toggle:before {
    content: "\f068";
}

.aphel-group.is-open > .aphel-group-header {
    color: var(--aphel-sidebar-text);
}

.aphel-submenu {
    display: none;
}

.aphel-group.is-open > .aphel-submenu {
    display: block;
}

/* Guida verticale che lega le voci al gruppo di appartenenza. */
.aphel-group-l1 > .aphel-submenu {
    position: relative;
    padding-bottom: 6px;
}

.aphel-group-l1 > .aphel-submenu:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 10px;
    left: 31px;
    width: 1px;
    background: var(--aphel-sidebar-divider);
}

.aphel-group-l1 > .aphel-submenu a,
.aphel-group-l1 > .aphel-submenu .aphel-group-header {
    padding: 9px 20px 9px 44px;
    font-size: 13px;
}

.aphel-group-l2 > .aphel-submenu a {
    padding-left: 60px;
}

.aphel-divider {
    height: 1px;
    margin: 10px 20px;
    background: var(--aphel-sidebar-divider);
}

/* Area inferiore: stato del robot, comando di sistema, versioni. */
.aphel-sidebar-footer {
    flex: 0 0 auto;
    padding: 14px 20px 16px 20px;
    border-top: 1px solid var(--aphel-sidebar-divider);
}

.aphel-robot-state {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.aphel-robot-state .robot-status {
    flex: 0 0 auto;
    margin-right: 10px;
    font-size: 10px;
}

.aphel-robot-state-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.aphel-robot-state .robot-name {
    overflow: hidden;
    color: var(--aphel-sidebar-text);
    font-size: 14px;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aphel-robot-state .robot-connection-text {
    color: var(--aphel-sidebar-muted);
    font-size: 12px;
}

/* CA-13: azione critica, separata dalle voci di navigazione. */
.aphel-shutdown {
    display: flex;
    align-items: center;
    padding: 9px 0;
    color: var(--aphel-sidebar-danger);
    font-size: 14px;
    font-weight: 500;
}

.aphel-shutdown:hover,
.aphel-shutdown:focus {
    color: var(--aphel-sidebar-danger);
    opacity: 0.75;
    text-decoration: none;
}

.aphel-shutdown .fa {
    flex: 0 0 24px;
    width: 24px;
}

.aphel-version {
    padding-top: 10px;
    border-top: 1px solid var(--aphel-sidebar-divider);
    color: var(--aphel-sidebar-muted);
    font-size: 11px;
}

.aphel-version span {
    display: block;
}

.aphel-sidebar .loader {
    display: none;
}

/* ==========================================================================
   Overlay di caricamento per i cambi pagina
   ========================================================================== */

.aphel-page-loader {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(247, 250, 250, 0.72);
}

.aphel-page-loader.is-visible {
    display: flex;
}

.aphel-page-loader-spinner {
    width: 44px;
    height: 44px;
    border: 3px solid rgba(22, 54, 64, 0.15);
    border-top-color: var(--aphel-sidebar-accent);
    border-radius: 50%;
    animation: aphel-spin 0.7s linear infinite;
}

@keyframes aphel-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .aphel-page-loader-spinner {
        animation-duration: 2s;
    }
}

/* ==========================================================================
   Dashboard — stato del robot e accessi rapidi
   ========================================================================== */

:root {
    --aphel-card-bg: #ffffff;
    --aphel-card-border: #e2e8ea;
    --aphel-card-border-hover: #b7c9ce;
    --aphel-card-title: #163640;
    --aphel-card-text: #6b7f86;
    --aphel-ok: #55c995;
    --aphel-warn: #e0a53f;
}

/* Indicatore discreto di aggiornamento in corso. */
.dashboard .status-refresh {
    margin-left: 8px;
    color: var(--aphel-card-text);
    font-size: 12px;
    opacity: 0;
}

.dashboard.is-refreshing .status-refresh {
    animation: aphel-spin 0.9s linear infinite;
    opacity: 1;
}

/* --- Stato del robot: solo informazione, nessun link ---------------------- */

.dashboard-status {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.status-tile {
    display: grid;
    grid-template-columns: 32px 1fr;
    grid-template-rows: auto auto;
    align-items: center;
    padding: 14px 16px;
    border: 1px solid var(--aphel-card-border);
    border-radius: 6px;
    background: var(--aphel-card-bg);
}

.status-tile-icon {
    grid-row: 1 / 3;
    color: var(--aphel-card-text);
    font-size: 18px;
}

.status-tile-label {
    color: var(--aphel-card-text);
    font-size: 12px;
}

.status-tile-value {
    color: var(--aphel-card-title);
    font-size: 16px;
    font-weight: 700;
}

.status-tile.is-ok .status-tile-icon {
    color: var(--aphel-ok);
}

.status-tile.is-warn .status-tile-icon,
.status-tile.is-warn .status-tile-value {
    color: var(--aphel-warn);
}

.status-tile.is-off .status-tile-value {
    color: var(--aphel-card-text);
    font-weight: 400;
}

.dashboard-modes {
    margin-bottom: 16px;
}

.dashboard-modes-label {
    margin-right: 8px;
    color: var(--aphel-card-text);
    font-size: 12px;
}

.mode-chip {
    display: inline-block;
    margin: 0 6px 6px 0;
    padding: 4px 10px;
    border: 1px solid var(--aphel-card-border);
    border-radius: 12px;
    color: var(--aphel-card-text);
    font-size: 12px;
}

.mode-chip.is-active {
    border-color: var(--aphel-ok);
    color: var(--aphel-sidebar-bg);
    font-weight: 700;
}

/* --- Comandi al robot: distinti dalle card di navigazione ----------------- */

.dashboard-actions {
    margin-bottom: 24px;
}

.dashboard-action {
    display: inline-block;
    margin: 0 8px 8px 0;
    padding: 8px 14px;
    border: 1px solid var(--aphel-card-border-hover);
    border-radius: 4px;
    color: var(--aphel-sidebar-bg);
    font-size: 13px;
    font-weight: 500;
}

.dashboard-action:hover,
.dashboard-action:focus {
    border-color: var(--aphel-sidebar-accent);
    color: var(--aphel-sidebar-accent);
    text-decoration: none;
}

.dashboard-action .fa {
    margin-right: 6px;
}

.dashboard-actions .loader {
    vertical-align: middle;
}

/* --- Accessi rapidi ------------------------------------------------------ */

/* La griglia si ricompone da sola sul numero di card visibili: le funzionalità
   non autorizzate non lasciano buchi (CA-14). */
.dashboard-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 14px;
}

.dashboard-card {
    display: flex;
    flex-direction: column;
    padding: 16px;
    border: 1px solid var(--aphel-card-border);
    border-radius: 6px;
    background: var(--aphel-card-bg);
    color: var(--aphel-card-title);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

/* CA-15: la cliccabilità si riconosce, senza suggerire uno stato attivo. */
.dashboard-card:hover,
.dashboard-card:focus {
    border-color: var(--aphel-card-border-hover);
    box-shadow: 0 2px 10px rgba(22, 54, 64, 0.08);
    color: var(--aphel-card-title);
    text-decoration: none;
    transform: translateY(-2px);
}

.dashboard-card-icon {
    margin-bottom: 10px;
    color: var(--aphel-sidebar-accent);
    font-size: 22px;
    line-height: 1;
}

.dashboard-card-category {
    color: var(--aphel-card-text);
    font-size: 11px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.dashboard-card-title {
    margin: 2px 0 6px 0;
    font-size: 16px;
    font-weight: 700;
}

.dashboard-card-text {
    flex: 1 1 auto;
    margin-bottom: 12px;
    color: var(--aphel-card-text);
    font-size: 13px;
    line-height: 1.4;
}

.dashboard-card-action {
    color: var(--aphel-sidebar-accent);
    font-size: 13px;
    font-weight: 500;
}

.dashboard-card:hover .dashboard-card-action {
    text-decoration: underline;
}

.dashboard-empty {
    color: var(--aphel-card-text);
}

@media (prefers-reduced-motion: reduce) {
    .dashboard-card {
        transition: none;
    }

    .dashboard-card:hover,
    .dashboard-card:focus {
        transform: none;
    }
}

/* ==========================================================================
   Localizzazione — stato di movimento, mappa e destinazioni
   ========================================================================== */

.localization-eyebrow {
    display: block;
    color: var(--aphel-sidebar-accent);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.localization-header h1 {
    margin-top: 4px;
    color: var(--aphel-card-title);
    font-size: 32px;
    font-weight: 300;
}

/* --- Stato: fascia informativa, distinta dalle card (CA-14) -------------- */

.localization-state {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
    padding: 20px 24px;
    border-radius: 10px;
    background: linear-gradient(100deg, var(--aphel-sidebar-bg) 0%, #2d6b7d 100%);
    color: var(--aphel-sidebar-text);
}

.localization-movement {
    display: flex;
    align-items: center;
}

/* Il quadrato cambia colore col movimento: è il segnale più immediato. */
.localization-movement-badge {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-right: 16px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.1);
}

.localization-movement-badge:before {
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 3px;
    background: var(--aphel-warn);
}

.localization-state-body {
    display: flex;
    flex-direction: column;
}

.localization-state-label {
    color: var(--aphel-sidebar-muted);
    font-size: 12px;
}

.localization-state .movement-status {
    margin-left: 0;
    color: var(--aphel-sidebar-text);
    font-size: 20px;
    font-weight: 700;
}

.localization-state .stop-button {
    margin-left: 16px;
}

.localization-position {
    display: flex;
    flex-direction: column;
    padding-left: 24px;
    border-left: 1px solid var(--aphel-sidebar-divider);
    text-align: right;
}

.localization-position .localization-current {
    color: var(--aphel-sidebar-text);
    font-size: 20px;
    font-weight: 700;
}

/* CA-04: in movimento la fascia pesa di più dello stato di fermo. */
.localization-state[data-state="moving"] .localization-movement-badge {
    background: rgba(21, 158, 184, 0.25);
}

.localization-state[data-state="moving"] .localization-movement-badge:before {
    border-radius: 50%;
    background: var(--aphel-sidebar-accent);
    animation: aphel-pulse 1.4s ease-in-out infinite;
}

.localization-state[data-state="moving"] .movement-status {
    color: #7fdcf0;
}

@keyframes aphel-pulse {
    50% {
        opacity: 0.25;
    }
}

/* --- Mappa --------------------------------------------------------------- */

.localization-panel {
    margin-bottom: 28px;
    padding: 22px 24px;
    border: 1px solid var(--aphel-card-border);
    border-radius: 10px;
    background: var(--aphel-card-bg);
}

.localization-panel-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
}

.localization-panel-title {
    margin: 4px 0 6px 0;
    color: var(--aphel-card-title);
    font-size: 22px;
    font-weight: 700;
}

.localization-panel-hint {
    margin: 0;
    color: var(--aphel-card-text);
    font-size: 14px;
}

.localization-badge {
    flex: 0 0 auto;
    padding: 6px 14px;
    border-radius: 14px;
    background: #e7f7ef;
    color: #1f7a56;
    font-size: 12px;
    font-weight: 700;
}

.localization-badge:before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 7px;
    border-radius: 50%;
    background: var(--aphel-ok);
    vertical-align: middle;
}

.localization-panel-body {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

.localization-panel-body .map-container {
    flex: 1 1 420px;
    margin-bottom: 0;
    padding: 12px;
    border-radius: 8px;
    background: #eaf2f8;
}

/* Punti configurati scuri, robot in accento: coerente con la legenda. */
.localization .map-marker {
    color: var(--aphel-sidebar-bg);
    text-shadow: 0 1px 3px rgba(22, 54, 64, 0.35);
}

.localization .map-position {
    color: var(--aphel-sidebar-accent);
}

.map-position-label {
    position: absolute;
    bottom: 100%;
    left: 50%;
    padding: 5px 10px;
    border-radius: 6px;
    background: var(--aphel-sidebar-bg);
    color: var(--aphel-sidebar-text);
    font-family: Avenir, sans-serif;
    font-size: 12px;
    font-weight: 500;
    text-shadow: none;
    white-space: nowrap;
    transform: translateX(-50%);
}

.localization-aside {
    display: flex;
    flex: 0 1 260px;
    flex-direction: column;
    padding: 18px;
    border: 1px solid var(--aphel-card-border);
    border-radius: 8px;
}

.localization-aside-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    margin-bottom: 16px;
    border-radius: 8px;
    background: #e8f4f7;
    color: var(--aphel-sidebar-accent);
}

.localization-aside-value {
    margin-bottom: 12px;
    color: var(--aphel-card-title);
    font-size: 22px;
    font-weight: 700;
}

.localization-aside-note {
    color: var(--aphel-card-text);
    font-size: 13px;
    line-height: 1.45;
}

.localization-legend {
    margin: 0;
    padding: 14px 0 0 0;
    border-top: 1px solid var(--aphel-card-border);
    list-style: none;
}

.localization-legend li {
    display: flex;
    align-items: center;
    padding: 4px 0;
    color: var(--aphel-card-text);
    font-size: 12px;
}

.localization-legend-dot {
    width: 11px;
    height: 11px;
    margin-right: 9px;
    border-radius: 3px;
}

.localization-legend-dot.is-robot {
    background: var(--aphel-sidebar-accent);
}

.localization-legend-dot.is-point {
    border: 1px solid var(--aphel-card-border-hover);
}

/* --- Destinazioni -------------------------------------------------------- */

.localization-section-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
}

.localization-section-title {
    margin: 0 0 4px 0;
    color: var(--aphel-card-title);
    font-size: 26px;
    font-weight: 400;
}

.localization-section-hint {
    margin: 0;
    color: var(--aphel-card-text);
    font-size: 14px;
}

.localization-count {
    flex: 0 0 auto;
    padding: 7px 15px;
    border-radius: 16px;
    background: #eef2f4;
    color: var(--aphel-card-title);
    font-size: 12px;
    font-weight: 700;
}

.destination-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 18px;
}

.destination-card {
    display: flex;
    align-items: center;
    padding: 18px 20px;
    border: 1px solid var(--aphel-card-border);
    border-radius: 10px;
    background: var(--aphel-card-bg);
    color: var(--aphel-card-title);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.destination-card:hover,
.destination-card:focus {
    border-color: var(--aphel-card-border-hover);
    box-shadow: 0 2px 10px rgba(22, 54, 64, 0.08);
    color: var(--aphel-card-title);
    text-decoration: none;
    transform: translateY(-2px);
}

.destination-card-icon {
    display: flex;
    flex: 0 0 42px;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-right: 16px;
    border-radius: 10px;
    background: #e8f4f7;
    color: var(--aphel-sidebar-accent);
    font-size: 17px;
}

.destination-card-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
}

.destination-card-title {
    font-size: 16px;
    font-weight: 700;
}

.destination-card-code {
    color: var(--aphel-card-text);
    font-size: 13px;
}

.destination-card-arrow {
    flex: 0 0 auto;
    margin-left: 12px;
    color: var(--aphel-card-text);
    font-size: 16px;
}

.destination-card:hover .destination-card-arrow {
    color: var(--aphel-sidebar-accent);
}

/* La destinazione in corso e la posizione raggiunta si vedono, ma nessuna
   card viene mai disabilitata (CA-08, CA-09). */
.destination-card.is-current {
    border-color: var(--aphel-card-border-hover);
}

.destination-card.is-target {
    border-color: var(--aphel-sidebar-accent);
    box-shadow: inset 0 0 0 1px var(--aphel-sidebar-accent);
}

/* Destinazione scelta ma non ancora confermata. Classe a parte da
   is-current/is-target, che il polling azzera a ogni giro. */
.destination-card.is-selected {
    border-color: var(--aphel-sidebar-accent);
    box-shadow: 0 2px 10px rgba(22, 54, 64, 0.08);
}

.destination-empty {
    color: var(--aphel-card-text);
}

.localization .loader {
    display: none;
}

/* Finestra di conferma della destinazione.
   Le modali dell'applicazione sono ancora quelle di AdminLTE, con i bordi
   #2f8fd9 dichiarati a inizio file: qui vanno riscritti, perché quel blu non
   appartiene alla palette di questa pagina. */
/* La finestra è ancorata in basso, non centrata: la conferma resta vicina alle
   card su cui si è appena cliccato, senza portare lo sguardo al centro della
   pagina.
   `left` e `right` insieme a `margin: 0 auto` mantengono il centraggio
   orizzontale di Bootstrap: sopra i 768px la larghezza è definita (600px) e i
   margini automatici distribuiscono lo spazio, sotto i 768px la larghezza è
   auto e restano i 10px di respiro laterale. */
.modal-destination-confirm .modal-dialog {
    position: absolute;
    right: 10px;
    bottom: 28px;
    left: 10px;
    margin: 0 auto;
}

.modal-destination-confirm .modal-content {
    border: 1px solid var(--aphel-card-border);
    border-radius: 10px;
    box-shadow: 0 12px 32px rgba(22, 54, 64, 0.18);
    /* Su viewport molto bassi la finestra crescerebbe verso l'alto oltre il
       bordo: senza questo il titolo resterebbe tagliato e irraggiungibile. */
    max-height: calc(100vh - 56px);
    overflow-y: auto;
}

.modal-destination-confirm .modal-header {
    padding: 20px 24px 0;
    border-bottom: 0;
}

.modal-destination-confirm .modal-title {
    font-size: 20px;
    font-weight: 400;
    color: var(--aphel-card-title);
}

.modal-destination-confirm .modal-body {
    padding: 14px 24px 20px;
}

.modal-destination-confirm .destination-confirm-text {
    margin: 0;
    font-size: 15px;
    line-height: 1.5;
    color: var(--aphel-card-text);
}

.modal-destination-confirm .destination-confirm-name {
    font-weight: 700;
    color: var(--aphel-card-title);
}

/* Il cambio di destinazione deve leggersi come tale e non come un primo invio:
   la destinazione corrente è marcata con l'accento di avviso, lo stesso già
   usato dal badge del banner a robot fermo. */
.modal-destination-confirm[data-variant="moving"] .destination-confirm-current {
    font-weight: 700;
    color: var(--aphel-warn);
}

.modal-destination-confirm[data-variant="moving"] .modal-content {
    border-top: 3px solid var(--aphel-warn);
}

.modal-destination-confirm .modal-footer {
    padding: 0 24px 20px;
    border-top: 0;
    text-align: right;
}

/* Annulla: visibile ma secondaria. */
.destination-confirm-cancel {
    margin-right: 8px;
    border: 1px solid var(--aphel-card-border);
    border-radius: 8px;
    background: transparent;
    color: var(--aphel-card-text);
}

.destination-confirm-cancel:hover,
.destination-confirm-cancel:focus,
.destination-confirm-cancel:active {
    border-color: var(--aphel-card-border-hover);
    background: transparent;
    color: var(--aphel-card-title);
}

/* Conferma: azione principale. */
.destination-confirm-send {
    border: 1px solid var(--aphel-sidebar-accent);
    border-radius: 8px;
    background: var(--aphel-sidebar-accent);
    color: #ffffff;
    font-weight: 700;
    padding: 7px 18px;
}

.destination-confirm-send:hover,
.destination-confirm-send:focus,
.destination-confirm-send:active {
    border-color: var(--aphel-sidebar-bg);
    background: var(--aphel-sidebar-bg);
    color: #ffffff;
}

@media (prefers-reduced-motion: reduce) {
    .destination-card {
        transition: none;
    }

    .destination-card:hover,
    .destination-card:focus {
        transform: none;
    }

    .localization-state[data-state="moving"] .localization-movement-badge:before {
        animation: none;
    }
}

/* Cambio robot: comando esplicito e stretto quanto il suo testo, così non
   intercetta i click destinati al logo qui sopra. */
.aphel-sidebar .user-panel .robot-selection {
    clear: both;
    display: flex;
    align-items: center;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    margin-top: 12px;
    padding-left: 8px;
    color: var(--aphel-sidebar-accent);
    font-size: 12px;
    font-weight: 500;
}

.aphel-sidebar .user-panel .robot-selection:hover,
.aphel-sidebar .user-panel .robot-selection:focus {
    color: var(--aphel-sidebar-text);
    text-decoration: none;
}

.aphel-sidebar .user-panel .robot-selection .fa {
    margin-right: 7px;
    font-size: 11px;
}
