@charset "windows-1252";

.mgps-user-page {
    color:#25435b;
    font-family:inherit;
    font-size:14px;
    line-height:1.5;
    padding:8px 6px 18px;
}

.mgps-user-page * {
    box-sizing:border-box;
}

.mgps-user-page [hidden] {
    display:none !important;
}

.mgps-user-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:22px;
}

.mgps-user-heading-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:9px;
}

.mgps-user-heading h2 {
    color:#18374e;
    margin:0 0 6px;
    font-size:25px;
    font-weight:600;
}

.mgps-user-heading p {
    color:#526f84;
    margin:0;
}

.mgps-user-button {
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:39px;
    padding:9px 15px;
    border:1px solid #cddae5;
    border-radius:6px;
    background:#fff;
    color:#34536b;
    cursor:pointer;
    font:inherit;
    line-height:1.3;
    text-decoration:none;
}

.mgps-user-button:hover,
.mgps-user-button:focus {
    background:#f1f7fb;
    color:#34536b;
    text-decoration:none;
}

.mgps-user-button:disabled,
.mgps-user-button[aria-disabled="true"],
.mgps-user-button.disabled {
    opacity:.58;
    cursor:not-allowed;
    pointer-events:none;
}

.mgps-user-button.is-loading,
.mgps-user-button[aria-busy="true"] {
    opacity:1;
    color:transparent !important;
    text-shadow:none !important;
    cursor:progress;
}

.mgps-user-button.is-loading > *,
.mgps-user-button[aria-busy="true"] > * {
    opacity:0;
}

.mgps-user-button.is-loading::after,
.mgps-user-button[aria-busy="true"]::after {
    content:'';
    position:absolute;
    top:50%;
    left:50%;
    width:16px;
    height:16px;
    margin:-8px 0 0 -8px;
    border:2px solid #0272a9;
    border-right-color:transparent;
    border-radius:50%;
    animation:mgps-user-action-spin .7s linear infinite;
}

.mgps-user-primary.is-loading::after,
.mgps-user-primary[aria-busy="true"]::after {
    border-color:#fff;
    border-right-color:transparent;
}

.mgps-user-primary {
    background:#0272a9;
    border-color:#0272a9;
    color:#fff;
}

.mgps-user-primary:hover,
.mgps-user-primary:focus {
    background:#025e8b;
    border-color:#025e8b;
    color:#fff;
}

.mgps-user-button:focus,
.mgps-user-icon-button:focus {
    outline:3px solid #025e8b;
    outline-offset:2px;
}

.mgps-user-notice {
    display:flex;
    align-items:center;
    gap:10px;
    padding:13px 16px;
    border:1px solid #dceaf4;
    border-radius:8px;
    margin-bottom:18px;
    background:#f1f8fc;
    color:#456b83;
}

.mgps-user-notice > .fa {
    color:#0272a9;
}

.mgps-user-notice strong {
    margin-left:auto;
    white-space:nowrap;
    color:#0272a9;
}

.mgps-user-message {
    padding:11px 13px;
    margin:0 0 16px;
    border:1px solid #cde4d5;
    border-radius:6px;
    background:#f0faf3;
    color:#276240;
}

.mgps-user-error {
    color:#a93636;
    background:#fff2f2;
    border-color:#e8c8c8;
}

.mgps-user-table-wrap {
    width:100%;
    max-width:100%;
    overflow:hidden;
    border:1px solid #dce6ef;
    border-radius:9px;
    box-shadow:0 3px 12px rgba(24,55,78,.04);
    background:#fff;
}

.mgps-user-table {
    width:100%;
    min-width:0;
    max-width:100%;
    margin:0 !important;
    border:0 !important;
    border-collapse:collapse;
    table-layout:fixed;
    background:#fff;
    font-size:13px;
}

.mgps-user-table > thead > tr > th {
    padding:15px 14px;
    border:0;
    border-bottom:1px solid #e1ebf3;
    background:#f2f7fb;
    color:#58738b;
    text-align:left;
    font-weight:600;
    overflow-wrap:anywhere;
}

.mgps-user-table[aria-busy="true"] > thead {
    display:none;
}

.mgps-user-table > tbody > tr > td {
    padding:14px;
    border:0;
    border-bottom:1px solid #e8eff5;
    background:transparent;
    vertical-align:middle;
}

.mgps-user-table > tbody > tr:nth-child(even) {
    background:#fbfdff;
}

.mgps-user-table > tbody > tr:last-child > td {
    border-bottom:0;
}

.mgps-user-table > thead > tr > th:first-child {
    width:auto;
}

.mgps-user-table > thead > tr > th:nth-child(2) {
    width:145px;
}

.mgps-user-table > thead > tr > th:nth-child(7) {
    width:112px;
}

.mgps-user-table > thead > tr > .mgps-user-actions-heading {
    width:270px;
}

.mgps-user-technical-column,
.mgps-user-table > thead > tr > th:nth-child(3),
.mgps-user-table > thead > tr > th:nth-child(4),
.mgps-user-table > thead > tr > th:nth-child(5),
.mgps-user-table > thead > tr > th:nth-child(6),
.mgps-user-table > thead > tr > th:nth-child(8),
.mgps-user-table > tbody > tr > td:nth-child(3),
.mgps-user-table > tbody > tr > td:nth-child(4),
.mgps-user-table > tbody > tr > td:nth-child(5),
.mgps-user-table > tbody > tr > td:nth-child(6),
.mgps-user-table > tbody > tr > td:nth-child(8) {
    display:none !important;
}

.mgps-user-setting-heading,
.mgps-user-settings-cell {
    text-align:center !important;
}

.mgps-user-account-cell {
    color:#254b66;
    font-weight:600;
    overflow-wrap:anywhere;
    word-break:break-word;
}

.mgps-user-actions-heading,
.mgps-user-actions-cell {
    text-align:right !important;
}

.mgps-user-actions-cell {
    padding-top:8px !important;
    padding-bottom:8px !important;
}

.mgps-user-row-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    width:100%;
    min-width:0;
}

.mgps-user-icon-button {
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:34px !important;
    min-width:34px !important;
    height:34px !important;
    min-height:34px !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid #d8e5ee !important;
    border-radius:6px !important;
    box-shadow:none !important;
    background:#f8fbfd !important;
    color:#0272a9 !important;
    cursor:pointer;
    font-size:14px !important;
    line-height:1 !important;
    text-align:center;
    text-decoration:none !important;
    vertical-align:middle;
}

.mgps-user-icon-button:hover,
.mgps-user-icon-button:focus {
    border-color:#c5dce9 !important;
    background:#e9f4fa !important;
    color:#025e8b !important;
    text-decoration:none !important;
}

.mgps-user-icon-button:disabled,
.mgps-user-icon-button[aria-disabled="true"],
.mgps-user-icon-button.disabled {
    opacity:.55;
    cursor:not-allowed;
    pointer-events:none;
}

.mgps-user-row-action {
    position:relative;
    flex:0 0 34px;
}

.mgps-user-row-action.is-loading,
.mgps-user-row-action[aria-busy="true"] {
    opacity:1;
    cursor:progress;
}

.mgps-user-row-action.is-loading .fa,
.mgps-user-row-action[aria-busy="true"] .fa {
    visibility:hidden;
}

.mgps-user-row-action.is-loading::after,
.mgps-user-row-action[aria-busy="true"]::after {
    content:'';
    position:absolute;
    top:50%;
    left:50%;
    width:14px;
    height:14px;
    margin:-7px 0 0 -7px;
    border:2px solid currentColor;
    border-right-color:transparent;
    border-radius:50%;
    animation:mgps-user-action-spin .7s linear infinite;
}

.mgps-user-row-action.is-danger,
.mgps-user-row-action.is-delete,
.mgps-user-row-action[data-user-row-action="delete"],
.mgps-user-row-action[data-user-action="delete"],
.mgps-user-row-action[data-row-action="delete"],
.mgps-user-row-action[data-action="delete"] {
    border-color:#ead7d7 !important;
    background:#fffafa !important;
    color:#a84a4a !important;
}

.mgps-user-row-action.is-danger:hover,
.mgps-user-row-action.is-danger:focus,
.mgps-user-row-action.is-delete:hover,
.mgps-user-row-action.is-delete:focus,
.mgps-user-row-action[data-user-row-action="delete"]:hover,
.mgps-user-row-action[data-user-row-action="delete"]:focus,
.mgps-user-row-action[data-user-action="delete"]:hover,
.mgps-user-row-action[data-user-action="delete"]:focus,
.mgps-user-row-action[data-row-action="delete"]:hover,
.mgps-user-row-action[data-row-action="delete"]:focus,
.mgps-user-row-action[data-action="delete"]:hover,
.mgps-user-row-action[data-action="delete"]:focus {
    border-color:#ddbcbc !important;
    background:#fff1f1 !important;
    color:#913737 !important;
}

@keyframes mgps-user-action-spin {
    to { transform:rotate(360deg); }
}

.mgps-user-icon-button .fa {
    margin:0 !important;
    font-size:14px;
    line-height:1;
}

.mgps-user-settings-cell > .tooltipped,
.mgps-user-settings-cell > .tooltipstered {
    display:inline-flex;
    vertical-align:middle;
}

.mgps-user-type {
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:24px;
    padding:4px 9px;
    border:0;
    border-radius:5px;
    font-size:11px;
    font-weight:600;
    line-height:16px;
    white-space:nowrap;
}

.mgps-user-type::before {
    content:'';
    width:6px;
    height:6px;
    flex:0 0 6px;
    border-radius:50%;
    background:currentColor;
}

.mgps-user-type.is-readonly {
    background:#eef4f8;
    color:#526f84;
}

.mgps-user-type.is-custom {
    background:#e8f3fb;
    color:#0272a9;
}

.mgps-user-type.is-admin {
    background:#e4f4e8;
    color:#277943;
}

.mgps-user-type.is-default {
    background:#f2f4f6;
    color:#526f84;
}

.mgps-user-empty {
    padding:35px 20px !important;
    color:#526f84;
    text-align:center !important;
}

.mgps-user-empty-state {
    display:flex;
    align-items:center;
    gap:18px;
    width:100%;
    padding:26px 28px;
    border:1px solid #dce6ef;
    border-radius:9px;
    box-shadow:0 3px 12px rgba(24,55,78,.04);
    background:#fff;
}

.mgps-user-empty-state-icon {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 54px;
    width:54px;
    height:54px;
    border-radius:50%;
    background:#e8f3fb;
    color:#0272a9;
    font-size:22px;
}

.mgps-user-empty-state-copy {
    flex:1 1 auto;
    min-width:0;
}

.mgps-user-empty-state-copy h3 {
    margin:0 0 4px;
    color:#18374e;
    font-size:17px;
    font-weight:600;
}

.mgps-user-empty-state-copy p {
    max-width:690px;
    margin:0;
    color:#526f84;
}

.mgps-user-empty-state-action {
    flex:0 0 auto;
    white-space:nowrap;
}

.mgps-user-footnote {
    max-width:970px;
    margin:16px 0 0;
    color:#526f84;
    font-size:12px;
}

.mgps-user-sr-only {
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
    border:0 !important;
}

.mgps-user-mobile-label {
    display:none;
}

.mgps-user-page.mgps-user-table-cards .mgps-user-table-wrap {
    overflow:visible;
    border-color:transparent;
    border-radius:0;
    box-shadow:none;
    background:transparent;
}

.mgps-user-page.mgps-user-table-cards .mgps-user-table,
.mgps-user-page.mgps-user-table-cards .mgps-user-table > tbody {
    display:block;
    width:100%;
    min-width:0;
    max-width:100%;
    background:transparent;
}

.mgps-user-page.mgps-user-table-cards .mgps-user-table > thead {
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    clip-path:inset(50%) !important;
    white-space:nowrap !important;
    border:0 !important;
}

.mgps-user-page.mgps-user-table-cards .mgps-user-table > tbody > tr.mgps-user-data-row,
.mgps-user-page.mgps-user-table-cards .mgps-user-table > tbody > tr.mgps-user-data-row:nth-child(even) {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:100%;
    max-width:100%;
    padding:0 12px 12px;
    margin:0 0 12px;
    border:1px solid #dce6ef;
    border-radius:9px;
    box-shadow:0 3px 12px rgba(24,55,78,.04);
    background:#fff;
}

.mgps-user-page.mgps-user-table-cards .mgps-user-data-row > td {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-width:0;
    min-height:58px;
    padding:10px 12px;
    border:0;
    border-radius:6px;
    background:#f8fbfd;
    text-align:left !important;
}

.mgps-user-page.mgps-user-table-cards .mgps-user-data-row > td > .mgps-user-mobile-label {
    display:block;
    flex:1;
    min-width:0;
    color:#526f84;
    font-size:12px;
    font-weight:600;
    line-height:1.3;
    overflow-wrap:anywhere;
}

.mgps-user-page.mgps-user-table-cards .mgps-user-data-row > .mgps-user-account-cell {
    grid-column:1;
    display:block;
    min-height:0;
    padding:15px 4px 12px;
    border-bottom:1px solid #e8eff5;
    border-radius:0;
    background:transparent;
    color:#18374e;
    font-size:15px;
}

.mgps-user-page.mgps-user-table-cards .mgps-user-data-row > .mgps-user-type-cell {
    grid-column:2;
    min-height:0;
    justify-content:flex-end;
    padding:15px 4px 12px;
    border-bottom:1px solid #e8eff5;
    border-radius:0;
    background:transparent;
}

.mgps-user-page.mgps-user-table-cards .mgps-user-account-cell > .mgps-user-mobile-label,
.mgps-user-page.mgps-user-table-cards .mgps-user-type-cell > .mgps-user-mobile-label {
    display:none;
}

.mgps-user-page.mgps-user-table-cards .mgps-user-icon-button {
    width:44px !important;
    min-width:44px !important;
    height:44px !important;
    min-height:44px !important;
}

.mgps-user-page.mgps-user-table-cards .mgps-user-row-action {
    flex-basis:44px;
}

.mgps-user-page.mgps-user-table-cards .mgps-user-actions-cell {
    flex-wrap:wrap;
    padding-top:10px !important;
    padding-bottom:10px !important;
}

.mgps-user-page.mgps-user-table-cards .mgps-user-row-actions {
    width:auto;
    margin-left:auto;
}

.mgps-user-page.mgps-user-table-cards .mgps-user-table > tbody > tr.mgps-user-state-row {
    display:block;
    width:100%;
    margin:0 0 12px;
    border:1px solid #dce6ef;
    border-radius:9px;
    box-shadow:0 3px 12px rgba(24,55,78,.04);
    background:#fff;
}

.mgps-user-page.mgps-user-table-cards .mgps-user-state-row > .mgps-user-empty {
    display:block;
    width:100%;
    padding:28px 14px !important;
    border:0;
    background:transparent;
    text-align:center !important;
}

.mgps-user-page.mgps-user-table-cards.mgps-user-table-compact .mgps-user-table > tbody > tr.mgps-user-data-row,
.mgps-user-page.mgps-user-table-cards.mgps-user-table-compact .mgps-user-table > tbody > tr.mgps-user-data-row:nth-child(even) {
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.mgps-user-page.mgps-user-table-cards.mgps-user-table-compact .mgps-user-data-row > .mgps-user-account-cell,
.mgps-user-page.mgps-user-table-cards.mgps-user-table-compact .mgps-user-data-row > .mgps-user-type-cell {
    grid-column:1 / -1;
}

.mgps-user-page.mgps-user-table-cards.mgps-user-table-compact .mgps-user-data-row > .mgps-user-account-cell {
    padding-bottom:3px;
    border-bottom:0;
}

.mgps-user-page.mgps-user-table-cards.mgps-user-table-compact .mgps-user-data-row > .mgps-user-type-cell {
    justify-content:flex-start;
    padding-top:0;
}

.mgps-user-page.mgps-user-table-cards.mgps-user-table-phone .mgps-user-table > tbody > tr.mgps-user-data-row,
.mgps-user-page.mgps-user-table-cards.mgps-user-table-phone .mgps-user-table > tbody > tr.mgps-user-data-row:nth-child(even) {
    grid-template-columns:minmax(0,1fr);
}

.mgps-user-page.mgps-user-table-cards.mgps-user-table-phone .mgps-user-data-row > td,
.mgps-user-page.mgps-user-table-cards.mgps-user-table-phone .mgps-user-data-row > .mgps-user-account-cell,
.mgps-user-page.mgps-user-table-cards.mgps-user-table-phone .mgps-user-data-row > .mgps-user-type-cell {
    grid-column:1;
}

@media (max-width:640px) {
    .mgps-user-page {
        padding-right:0;
        padding-left:0;
    }

    .mgps-user-heading {
        flex-direction:column;
        align-items:stretch;
        gap:14px;
    }

    .mgps-user-heading h2 {
        font-size:22px;
    }

    .mgps-user-heading-actions {
        display:grid;
        grid-template-columns:minmax(0,1fr);
        width:100%;
    }

    .mgps-user-heading-actions .mgps-user-button {
        width:100%;
        min-height:44px;
    }

    .mgps-user-notice {
        flex-wrap:wrap;
        align-items:flex-start;
        font-size:13px;
    }

    .mgps-user-notice span {
        flex:1;
        min-width:170px;
    }

    .mgps-user-notice strong {
        width:100%;
        margin-left:22px;
    }

    .mgps-user-empty-state {
        align-items:flex-start;
        flex-direction:column;
        padding:22px 20px;
    }

    .mgps-user-empty-state-action {
        width:100%;
        min-height:44px;
        white-space:normal;
    }
}

@media (max-width:400px) {
    .mgps-user-page.mgps-user-table-cards .mgps-user-actions-cell {
        display:block;
    }

    .mgps-user-page.mgps-user-table-cards .mgps-user-actions-cell > .mgps-user-mobile-label {
        margin-bottom:9px;
    }

    .mgps-user-page.mgps-user-table-cards .mgps-user-row-actions {
        justify-content:flex-start;
        width:100%;
        margin-left:0;
    }
}

@media (prefers-reduced-motion:reduce) {
    .mgps-user-button.is-loading::after,
    .mgps-user-button[aria-busy="true"]::after,
    .mgps-user-row-action.is-loading::after,
    .mgps-user-row-action[aria-busy="true"]::after {
        animation-duration:1.5s;
    }
}

/* Shared portal modules - geofences, 2026-10-26.
   Existing mgps-user-* rules above remain compatible with user-management.js. */
.mgps-fence-content { min-width:0; }
.mgps-fence-content > .page-content { overflow-y:scroll; overflow-x:hidden; min-width:0; }
.mgps-fence-content .mgps-fence-panel { margin-bottom:0; border:0; background:#fff; box-shadow:none; }
.mgps-fence-content .mgps-fence-panel > .panel-heading { display:none; }
.mgps-fence-content .mgps-fence-panel > .panel-body { padding:16px; background:#fff; }
.mgps-fence-content .mgps-fence-panel > .panel-body::after { content:''; display:table; clear:both; }
.mgps-fence-page { width:100%; min-width:0; padding:8px 6px 24px; }
.mgps-fence-page .mgps-user-heading { align-items:flex-start; }
.mgps-fence-heading-copy { flex:1 1 480px; min-width:0; }
.mgps-fence-page .mgps-user-heading-actions { flex:0 1 auto; }
.mgps-fence-page .mgps-user-heading-actions .mgps-user-button { white-space:nowrap; }
.mgps-fence-page .mgps-user-heading h2 { line-height:1.25; }
.mgps-fence-page .mgps-user-heading p { max-width:780px; }
.mgps-fence-page button { font-family:inherit; }
.mgps-fence-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin:22px 0 12px; }
.mgps-fence-toolbar h3 { display:flex; align-items:center; gap:9px; margin:0; color:#18374e; font-size:17px; font-weight:600; }
.mgps-module-count { display:inline-flex; align-items:center; justify-content:center; min-width:25px; min-height:25px; padding:2px 7px; border-radius:6px; background:#eef4f8; color:#526f84; font-size:12px; font-weight:600; }
.mgps-module-count:empty { display:none; }
.mgps-module-table-wrap { width:100%; max-width:100%; overflow:hidden; border:1px solid #dce6ef; border-radius:9px; background:#fff; box-shadow:0 3px 12px rgba(24,55,78,.04); }
.mgps-module-table { width:100%; max-width:100%; min-width:0; table-layout:fixed; border-collapse:collapse; border:0; margin:0; color:#25435b; font-size:13px; }
.mgps-module-table > thead > tr > th { padding:15px 14px; border:0; border-bottom:1px solid #e1ebf3; background:#f2f7fb; color:#58738b; font-weight:600; text-align:left; }
.mgps-module-table > tbody > tr > td { padding:14px; border:0; border-bottom:1px solid #e8eff5; background:transparent; vertical-align:middle; }
.mgps-module-table > tbody > tr:nth-child(even) { background:#fbfdff; }
.mgps-module-table > tbody > tr:last-child > td { border-bottom:0; }
.mgps-module-table > tbody > tr:hover { background:#f7fbfe; }
.mgps-module-table .mgps-module-empty { padding:30px 18px; color:#526f84; text-align:center; }
.mgps-module-mobile-label { display:none; }
.mgps-module-row-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:6px; }
.mgps-module-badge { display:inline-flex; align-items:center; gap:6px; width:max-content; max-width:100%; padding:4px 8px; border:0; border-radius:5px; color:#526f84; background:#eef4f8; font:inherit; font-size:11px; font-weight:600; line-height:16px; }
.mgps-module-badge.is-active { color:#277943; background:#e4f4e8; }
.mgps-module-badge.is-paused { color:#8c691b; background:#fff4d8; }
.mgps-module-badge.is-active::before,.mgps-module-badge.is-paused::before { content:''; flex:0 0 6px; width:6px; height:6px; border-radius:50%; background:currentColor; }
.mgps-module-badge.is-enter { color:#0272a9; background:#e8f3fb; }
.mgps-module-badge.is-leave { color:#526f84; background:#eef4f8; }
.mgps-module-message { margin:0 0 16px; padding:12px 14px; border:1px solid #cde4d5; border-radius:6px; color:#276240; background:#f0faf3; }
.mgps-module-message.is-error { color:#a93636; background:#fff2f2; border-color:#e8c8c8; }
.mgps-fence-table > thead > tr > th:nth-child(1) { width:7%; }
.mgps-fence-table > thead > tr > th:nth-child(2) { width:16%; }
.mgps-fence-table > thead > tr > th:nth-child(3) { width:15%; }
.mgps-fence-table > thead > tr > th:nth-child(4) { width:auto; }
.mgps-fence-table > thead > tr > th:nth-child(5) { width:110px; }
.mgps-fence-table > thead > tr > th:nth-child(6) { width:180px; }
.mgps-fence-table > thead > tr > .mgps-fence-actions-heading { width:270px; text-align:right; }
.mgps-fence-cell-value { min-width:0; max-width:100%; overflow-wrap:anywhere; word-break:break-word; }
.mgps-fence-device-cell .mgps-fence-cell-value { font-weight:600; color:#254b66; }
.mgps-fence-imei { color:#58738b; white-space:nowrap; font-size:12px; }
.mgps-fence-muted { color:#8193a1; }
.mgps-fence-name-line { display:flex; flex-wrap:nowrap; align-items:center; gap:8px; }
.mgps-fence-name-line > .mgps-fence-name { flex:1 1 auto; min-width:0; color:#254b66; font-weight:400; }
.mgps-fence-status-cell .mgps-module-badge { white-space:nowrap; }
.mgps-fence-trigger-button.is-enter { border:1px solid #acd4ef; background:#e7f4ff; color:#08649c; }
.mgps-fence-trigger-button.is-leave { border:1px solid #d7b7ed; background:#f5eaff; color:#783b9b; }
.mgps-fence-time-cell .mgps-fence-cell-value { display:flex; align-items:center; gap:5px; }
.mgps-fence-action { flex:0 0 34px; }
.mgps-fence-action.is-danger { color:#a84a4a !important; background:#fffafa !important; border-color:#ead7d7 !important; }
.mgps-fence-action.is-danger:hover,.mgps-fence-action.is-danger:focus { color:#913737 !important; background:#fff1f1 !important; border-color:#ddbcbc !important; }
.mgps-fence-inline-action { width:27px !important; min-width:27px !important; height:27px !important; min-height:27px !important; flex:0 0 27px; }
.mgps-fence-inline-action .fa { font-size:12px; }
.mgps-fence-text-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; max-width:100%; padding:0; border:0; background:transparent; color:#0272a9; font:inherit; font-size:13px; line-height:1.5; text-align:left; cursor:pointer; text-decoration:none; }
.mgps-fence-text-button:hover { color:#025e8b; text-decoration:underline; }
.mgps-fence-text-button:focus,.mgps-fence-trigger-button:focus { outline:3px solid #025e8b; outline-offset:2px; }
.mgps-fence-assignment { justify-content:flex-start; font-weight:600; }
.mgps-fence-trigger-button { cursor:pointer; text-align:left; white-space:normal; }
.mgps-fence-trigger-button:hover { filter:brightness(.96); }
.mgps-fence-builder { margin-top:32px; padding:24px; border:1px solid #dce6ef; border-radius:9px; background:#fff; scroll-margin-top:85px; }
.mgps-fence-builder-heading { margin-bottom:20px; }
.mgps-fence-builder-heading h3 { margin:0 0 5px; color:#18374e; font-size:20px; font-weight:600; }
.mgps-fence-builder-heading p { margin:0; color:#526f84; }
.mgps-fence-step { min-width:0; margin-top:22px; }
.mgps-fence-step > h3.alert { margin:0 0 17px; padding:12px 14px; border:1px solid #dceaf4; border-radius:6px; background:#f1f8fc !important; color:#345b76 !important; font-size:15px; font-weight:600; line-height:1.5; }
.mgps-fence-step > h3.alert-success { color:#277943 !important; background:#f0faf3 !important; border-color:#cde4d5; }
.mgps-fence-field { min-width:0; max-width:680px; margin-bottom:18px; }
.mgps-fence-field .control-label { margin-bottom:7px; color:#526f84; font-size:13px; font-weight:600; }
.mgps-fence-field .form-control,.mgps-fence-create-option > .form-control { float:none; width:100%; min-height:42px; height:auto; padding:10px 12px; border:1px solid #cddae5; border-radius:6px; box-shadow:none; font-size:14px; }
.mgps-fence-page .select2-container { max-width:100%; min-width:0; width:100% !important; }
.mgps-fence-page .select2-selection--single { min-height:42px; border-color:#cddae5; border-radius:6px; }
.mgps-fence-page .select2-selection--single .select2-selection__rendered { line-height:40px; }
.mgps-fence-page .select2-selection--single .select2-selection__arrow { height:40px; }
.mgps-fence-create-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.mgps-fence-create-option { min-width:0; padding:18px; border:1px solid #e1ebf3; border-radius:7px; background:#fbfdff; }
.mgps-fence-create-option h4 { margin:0 0 10px; color:#254b66; font-size:15px; font-weight:600; }
.mgps-fence-create-option h4 > .fa { margin-right:4px; color:#0272a9; }
.mgps-fence-create-option p { margin:0 0 14px; color:#526f84; font-size:13px; }
.mgps-fence-radius-buttons,.mgps-fence-form-actions { display:flex; flex-wrap:wrap; align-items:center; gap:9px; }
.mgps-fence-radius-buttons .mgps-user-button { min-height:38px; padding:8px 12px; font-size:13px; }
.mgps-fence-form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.mgps-fence-form-actions { margin-top:14px; }
.mgps-fence-page #timerangeGroups { min-width:0; max-width:100%; overflow-x:auto; }
.mgps-fence-page #timerangeGroups .form-control { max-width:100%; }

/* Cards follow the available module width, including an open portal sidebar. */
.mgps-fence-page.mgps-fence-cards .mgps-user-heading { flex-wrap:wrap; }
.mgps-fence-page.mgps-fence-cards .mgps-fence-heading-copy { flex:1 1 100%; }
.mgps-fence-page.mgps-fence-cards .mgps-user-heading-actions { justify-content:flex-start; }
.mgps-fence-page.mgps-fence-cards .mgps-module-table-wrap { overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none; }
.mgps-fence-page.mgps-fence-cards .mgps-fence-table,
.mgps-fence-page.mgps-fence-cards .mgps-fence-table > tbody { display:block; width:100%; background:transparent; }
.mgps-fence-page.mgps-fence-cards .mgps-fence-table > thead { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); border:0; white-space:nowrap; }
.mgps-fence-page.mgps-fence-cards .mgps-fence-table > tbody > .mgps-fence-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; padding:0 12px 12px; margin-bottom:14px; border:1px solid #dce6ef; border-radius:9px; background:#fff; box-shadow:0 3px 12px rgba(24,55,78,.04); }
.mgps-fence-page.mgps-fence-cards .mgps-fence-row > td { display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:0; min-height:56px; padding:12px; border:0; border-radius:6px; background:#f8fbfd; }
.mgps-fence-page.mgps-fence-cards .mgps-module-mobile-label { display:block; flex:0 1 auto; color:#526f84; font-size:12px; font-weight:600; }
.mgps-fence-page.mgps-fence-cards .mgps-fence-cell-value { flex:0 1 auto; }
.mgps-fence-page.mgps-fence-cards .mgps-fence-row > .mgps-fence-name-cell { grid-column:1 / -1; grid-row:1; display:block; min-height:0; padding:17px 4px 14px; margin-bottom:3px; border-bottom:1px solid #e8eff5; border-radius:0; background:transparent; }
.mgps-fence-page.mgps-fence-cards .mgps-fence-name-cell > .mgps-module-mobile-label { margin-bottom:5px; }
.mgps-fence-page.mgps-fence-cards .mgps-fence-name-line > .mgps-fence-name { font-size:16px; font-weight:400; }
.mgps-fence-page.mgps-fence-cards .mgps-fence-row > .mgps-fence-status-cell { grid-column:1 / -1; grid-row:2; }
.mgps-fence-page.mgps-fence-cards .mgps-fence-row > .mgps-fence-device-cell { grid-column:1; grid-row:3; }
.mgps-fence-page.mgps-fence-cards .mgps-fence-row > .mgps-fence-imei-cell { grid-column:2; grid-row:3; }
.mgps-fence-page.mgps-fence-cards .mgps-fence-row > .mgps-fence-time-cell { grid-column:1; grid-row:4; }
.mgps-fence-page.mgps-fence-cards .mgps-fence-row > .mgps-fence-trigger-cell { grid-column:2; grid-row:4; }
.mgps-fence-page.mgps-fence-cards .mgps-fence-row > .mgps-fence-actions-cell { grid-column:1 / -1; grid-row:5; flex-wrap:wrap; }
.mgps-fence-page.mgps-fence-cards .mgps-user-icon-button { width:44px !important; min-width:44px !important; height:44px !important; min-height:44px !important; flex-basis:44px; }
.mgps-fence-page.mgps-fence-cards .mgps-fence-trigger-button { min-height:44px; padding:8px 10px; }
.mgps-fence-page.mgps-fence-cards .mgps-fence-assignment,.mgps-fence-page.mgps-fence-cards .mgps-fence-toolbar .mgps-fence-text-button { min-height:44px; }
.mgps-fence-page.mgps-fence-cards .mgps-module-row-actions { gap:6px; }
.mgps-fence-page.mgps-fence-cards .mgps-fence-create-options { grid-template-columns:minmax(0,1fr); }
.mgps-fence-page.mgps-fence-cards .mgps-fence-form-grid { grid-template-columns:minmax(0,1fr); gap:0; }
.mgps-fence-page.mgps-fence-phone .mgps-fence-table > tbody > .mgps-fence-row { grid-template-columns:minmax(0,1fr); }
.mgps-fence-page.mgps-fence-phone .mgps-fence-row > .mgps-fence-device-cell,
.mgps-fence-page.mgps-fence-phone .mgps-fence-row > .mgps-fence-imei-cell,
.mgps-fence-page.mgps-fence-phone .mgps-fence-row > .mgps-fence-time-cell,
.mgps-fence-page.mgps-fence-phone .mgps-fence-row > .mgps-fence-trigger-cell,
.mgps-fence-page.mgps-fence-phone .mgps-fence-row > .mgps-fence-actions-cell { grid-column:1; grid-row:auto; }
.mgps-fence-page.mgps-fence-phone .mgps-fence-row > .mgps-fence-imei-cell { min-height:38px; padding-top:7px; padding-bottom:7px; }
.mgps-fence-page.mgps-fence-cards.mgps-fence-phone .mgps-fence-row > .mgps-fence-actions-cell { display:block; }
.mgps-fence-page.mgps-fence-phone .mgps-fence-actions-cell > .mgps-module-mobile-label { margin-bottom:12px; }
.mgps-fence-page.mgps-fence-phone .mgps-module-row-actions { justify-content:flex-start; }
.mgps-fence-page.mgps-fence-phone .mgps-fence-actions-cell .mgps-fence-cell-value { width:100%; }
.mgps-fence-page.mgps-fence-phone .mgps-user-heading-actions { display:grid; grid-template-columns:minmax(0,1fr); width:100%; }
.mgps-fence-page.mgps-fence-phone .mgps-user-heading-actions .mgps-user-button { width:100%; min-height:44px; white-space:normal; }
.mgps-fence-page.mgps-fence-phone .mgps-user-heading h2 { font-size:22px; }
.mgps-fence-page.mgps-fence-phone .mgps-user-notice { align-items:flex-start; flex-wrap:wrap; }
.mgps-fence-page.mgps-fence-phone .mgps-user-notice > span { flex:1; min-width:150px; }
.mgps-fence-page.mgps-fence-phone .mgps-user-notice > strong { width:100%; margin-left:24px; }
.mgps-fence-page.mgps-fence-phone .mgps-fence-builder { padding:18px 12px; }
.mgps-fence-page.mgps-fence-phone .mgps-fence-field .form-control,.mgps-fence-create-option > .form-control { font-size:16px; }
.mgps-fence-page.mgps-fence-phone .mgps-fence-form-actions > .mgps-user-button { width:100%; min-height:44px; }
@media (prefers-reduced-motion:reduce) { .mgps-fence-page * { scroll-behavior:auto !important; } }

.mgps-fence-page.mgps-fence-phone .mgps-user-button { min-height:44px; }
.mgps-fence-page.mgps-fence-phone .mgps-fence-create-option > .form-control { font-size:16px; }

.mgps-fence-content .mgps-fence-phone { padding-right:0; padding-left:0; }

/* Alarm management, based on final Geofences version 20261026-5.
   Existing user and Geofences rules above are retained byte-for-byte. */
.mgps-alert-content { min-width:0; }
.mgps-alert-content > .page-content { min-width:0; overflow-y:scroll; overflow-x:hidden; }
.mgps-alert-content .mgps-alert-panel { margin-bottom:0; border:0; background:#fff; box-shadow:none; }
.mgps-alert-content .mgps-alert-panel > .panel-heading { display:none; }
.mgps-alert-content .mgps-alert-panel > .panel-body { padding:16px; background:#fff; }
.mgps-alert-page { width:100%; min-width:0; padding:8px 6px 24px; }
.mgps-alert-page button,.mgps-alert-page input,.mgps-alert-page select { font-family:inherit; }
.mgps-alert-page .mgps-user-heading { align-items:flex-start; }
.mgps-alert-heading-copy { min-width:0; }
/* Classic portal tabs, matching the supplied original navigation. */
.mgps-alert-page .mgps-alert-tabs { display:flex; align-items:stretch; flex-wrap:nowrap; float:none; gap:0; margin:22px 0 0; padding:0; border:0; border-bottom:1px solid #ddd; border-radius:0; background:#fafafa; list-style:none; }
.mgps-alert-page .mgps-alert-tabs::before,.mgps-alert-page .mgps-alert-tabs::after { display:none; }
.mgps-alert-page .mgps-alert-tabs > li { flex:0 0 auto; float:none; margin:0 0 -1px; }
.mgps-alert-page .mgps-alert-tabs > li > a { display:block; margin:0; padding:14px 23px; border:1px solid transparent; border-radius:0; background:transparent; color:#3c8dbc; font-size:14px; font-weight:400; line-height:20px; white-space:nowrap; text-decoration:none; }
.mgps-alert-page .mgps-alert-tabs > li.active > a,.mgps-alert-page .mgps-alert-tabs > li.active > a:hover { background:#fff; color:#006699; border-color:#ccc #ddd #fff; }
.mgps-alert-page .mgps-alert-tabs > li > a:hover { background:#f5f5f5; color:#006699; }
.mgps-alert-page .mgps-alert-tabs > li > a:focus { outline:2px solid #0272a9; outline-offset:-4px; }
.mgps-alert-page .mgps-alert-tab-content { padding:0; background:#fff; }
.mgps-alert-tab-content > .tab-pane { display:none; }
.mgps-alert-tab-content > .tab-pane.active { display:block; }
.mgps-alert-toolbar { display:flex; align-items:flex-end; flex-wrap:wrap; gap:10px; margin:22px 0; }
.mgps-alert-field { min-width:0; }
.mgps-alert-field > label { display:block; margin:0 0 7px; color:#526f84; font-size:13px; font-weight:600; }
.mgps-alert-device-picker { flex:0 1 520px; }
.mgps-alert-field input.form-control,.mgps-alert-field select.form-control { float:none; width:100%; max-width:100%; min-width:0; min-height:42px; height:auto; padding:10px 12px; border:1px solid #cddae5; border-radius:6px; box-shadow:none; background:#fff; color:#25435b; font-size:14px; line-height:20px; }
.mgps-alert-field input.form-control:focus,.mgps-alert-field select.form-control:focus { border-color:#0272a9; outline:2px solid #d8edf9; outline-offset:1px; }
/* Select2 v3 copies form-control onto its outer container. Keep only the actual selector border. */
.mgps-alert-page .select2-container,.mgps-alert-page .select2-container.form-control { width:100% !important; min-width:0; max-width:100%; min-height:0; height:auto; padding:0 !important; border:0 !important; border-radius:0; background:transparent !important; box-shadow:none !important; }
/* Select2 v3 uses .select2-choice, v4 uses .select2-selection--single. */
.mgps-alert-page .mgps-user-button { min-height:42px; }
.mgps-alert-page .select2-container > .select2-choice { box-sizing:border-box; height:42px !important; min-height:42px; line-height:40px !important; }
.mgps-alert-page .select2-container > .select2-choice .select2-arrow { top:0; bottom:0; height:auto; }
.mgps-alert-page .select2-container > .select2-choice .select2-arrow b { position:absolute; top:50%; left:0; width:100%; height:34px; line-height:34px; transform:translateY(-50%); }
.mgps-alert-page .select2-selection--single { box-sizing:border-box; height:42px !important; min-height:42px; border:1px solid #cddae5; border-radius:6px; }
.mgps-alert-page .select2-selection--single .select2-selection__rendered { line-height:40px; }
.mgps-alert-page .select2-selection--single .select2-selection__arrow { height:40px; }
.mgps-alert-section-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin:26px 0 12px; }
.mgps-alert-section-heading h3 { display:flex; align-items:center; gap:9px; margin:0; color:#18374e; font-size:17px; font-weight:600; line-height:1.4; }
.mgps-alert-section-heading > span { color:#6a8194; font-size:12px; }
.mgps-alert-cell-value { min-width:0; max-width:100%; overflow-wrap:anywhere; word-break:break-word; }
.mgps-alert-name-cell .mgps-alert-cell-value { color:#254b66; }
.mgps-alert-page .mgps-module-table > thead > tr > th { line-height:1.4; vertical-align:middle; }
.mgps-alert-page .mgps-module-table > tbody > tr > td { line-height:1.5; }
.mgps-alert-page .mgps-module-badge { vertical-align:middle; white-space:normal; text-align:left; }
.mgps-alert-page .mgps-module-badge.is-leave { color:#783b9b; background:#f5eaff; }
.mgps-alert-rule-badge { font-size:12px; font-weight:500; }
.mgps-alert-imei-cell { color:#58738b; font-size:12px; }
.mgps-alert-actions-heading { text-align:right !important; }
.mgps-alert-action { flex:0 0 34px; vertical-align:middle; }
.mgps-alert-action.is-danger { color:#a84a4a !important; background:#fffafa !important; border-color:#ead7d7 !important; }
.mgps-alert-action.is-danger:hover { background:#fff1f1 !important; border-color:#ddbcbc !important; }
.mgps-alert-feedback:empty { display:none; }
.mgps-alert-feedback { display:inline-block; width:30px; height:30px; }
.mgps-alert-inline-actions { display:inline-flex; flex-wrap:wrap; gap:5px; margin:5px; vertical-align:middle; }
.mgps-alert-inline-actions .mgps-alert-action { width:27px !important; min-width:27px !important; height:27px !important; min-height:27px !important; }
.mgps-alert-page .mgps-alert-table input[type=checkbox] { position:static !important; left:auto !important; opacity:1 !important; appearance:auto; -webkit-appearance:checkbox; width:17px; height:17px; margin:0; vertical-align:middle; cursor:pointer; accent-color:#0272a9; }
.mgps-alert-page .mgps-alert-table input[type=checkbox] + label { display:inline-block; position:static; width:8px; height:24px; margin:0; padding:0; vertical-align:middle; cursor:pointer; }
.mgps-alert-page .mgps-alert-table input[type=checkbox] + label::before,.mgps-alert-page .mgps-alert-table input[type=checkbox] + label::after { display:none !important; }
.mgps-alert-check-heading { width:65px; }
.mgps-alert-rules-table > thead > tr > th:nth-child(2) { width:110px; }
.mgps-alert-rules-table > thead > tr > th:nth-child(4) { width:100px; }
.mgps-alert-rules-table > thead > tr > th:nth-child(5) { width:110px; }
.mgps-alert-rules-table > thead > tr > th:nth-child(6) { width:110px; }
.mgps-alert-inbox-table > thead > tr > th:nth-child(2) { width:90px; }
.mgps-alert-inbox-table > thead > tr > th:nth-child(5) { width:165px; }
.mgps-alert-inbox-table > thead > tr > th:last-child { width:72px; }
/* Three 34px actions need 114px plus 28px cell padding. Leave extra room. */
.mgps-alert-sms-table > thead > tr > th:last-child { width:160px; }
.mgps-alert-page:not(.mgps-alert-cards) .mgps-alert-sms-table .mgps-module-row-actions { flex-wrap:nowrap; }
.mgps-alert-object-table > thead > tr > th:first-child { width:80px; }
.mgps-alert-object-table > thead > tr > th:nth-child(2) { width:110px; }
.mgps-alert-object-table img { max-width:100%; object-fit:contain; }
.mgps-alert-history-table > thead > tr > th:nth-child(1) { width:190px; }
.mgps-alert-history-table > thead > tr > th:nth-child(2) { width:180px; }
.mgps-alert-fence-name { margin-bottom:6px; font-weight:400; }
.mgps-alert-message-cell .mgps-alert-cell-value { white-space:normal; }
.mgps-alert-muted { color:#6a8194; font-size:13px; }
.mgps-alert-bulk-panel { margin-top:22px; padding:20px; border:1px solid #dce6ef; border-radius:9px; background:#fbfdff; }
.mgps-alert-bulk-panel .mgps-alert-section-heading { margin-top:0; }
.mgps-alert-bulk-controls { display:flex; align-items:flex-end; flex-wrap:wrap; gap:10px; }
.mgps-alert-bulk-controls .mgps-alert-field { flex:0 1 240px; }
.mgps-alert-bulk-panel .mgps-user-footnote { margin-bottom:0; }
.mgps-alert-filter-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto; align-items:end; gap:14px; margin-bottom:20px; padding:18px; border:1px solid #dce6ef; border-radius:9px; background:#fbfdff; }
.mgps-alert-search { position:relative; }
.mgps-alert-search > .fa { position:absolute; top:14px; left:13px; color:#8193a1; }
.mgps-alert-search > input.form-control { padding-left:36px; }
.mgps-alert-text-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; max-width:100%; min-height:42px; padding:6px 2px; border:0; background:transparent; color:#0272a9; font:inherit; font-size:13px; line-height:1.4; cursor:pointer; }
.mgps-alert-text-button:hover { color:#025e8b; text-decoration:underline; }
.mgps-alert-text-button:focus { outline:3px solid #025e8b; outline-offset:2px; }
.mgps-alert-page th[data-sort] > button { display:flex; align-items:center; gap:7px; width:100%; padding:0; border:0; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.mgps-alert-page th[data-sort] > button:focus { outline:2px solid #0272a9; outline-offset:4px; }
.mgps-alert-page th[data-sort] .fa { color:#91a5b5; }
.mgps-alert-page th[aria-sort=ascending] .fa,.mgps-alert-page th[aria-sort=descending] .fa { color:#0272a9; }
.mgps-alert-page .is-hidden { display:none !important; }
.mgps-alert-geofence-filters { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mgps-alert-page.mgps-alert-cards .mgps-alert-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.mgps-alert-page.mgps-alert-cards .mgps-alert-filter-grid > .mgps-alert-text-button { justify-self:start; }
.mgps-alert-page.mgps-alert-cards .mgps-module-table-wrap { overflow:visible; border:0; border-radius:0; box-shadow:none; background:transparent; }
.mgps-alert-page.mgps-alert-cards .mgps-alert-table,.mgps-alert-page.mgps-alert-cards .mgps-alert-table > tbody { display:block; width:100%; background:transparent; }
.mgps-alert-page.mgps-alert-cards .mgps-alert-table > thead { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); border:0; white-space:nowrap; }
.mgps-alert-page.mgps-alert-cards .mgps-alert-table > tbody > .mgps-alert-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; padding:0 12px 12px; margin-bottom:14px; border:1px solid #dce6ef; border-radius:9px; background:#fff; box-shadow:0 3px 12px rgba(24,55,78,.04); }
.mgps-alert-page.mgps-alert-cards .mgps-alert-row > td { display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:0; min-height:56px; padding:12px; border:0; border-radius:6px; background:#f8fbfd; }
.mgps-alert-page.mgps-alert-cards .mgps-module-mobile-label { display:block; flex:0 1 auto; color:#526f84; font-size:12px; font-weight:600; }
.mgps-alert-page.mgps-alert-cards .mgps-alert-cell-value { flex:0 1 auto; }
.mgps-alert-page.mgps-alert-cards .mgps-alert-row > .mgps-alert-name-cell { grid-column:1 / -1; grid-row:1; display:block; min-height:0; padding:17px 4px 14px; border-bottom:1px solid #e8eff5; border-radius:0; background:transparent; }
.mgps-alert-page.mgps-alert-cards .mgps-alert-name-cell > .mgps-module-mobile-label { margin-bottom:5px; }
.mgps-alert-page.mgps-alert-cards .mgps-alert-row > .mgps-alert-actions-cell { grid-column:1 / -1; flex-wrap:wrap; }
.mgps-alert-page.mgps-alert-cards .mgps-alert-check-cell { min-height:44px; }
.mgps-alert-page.mgps-alert-cards .mgps-alert-check-cell .mgps-alert-cell-value { display:flex; align-items:center; min-height:44px; }
.mgps-alert-page.mgps-alert-cards .mgps-alert-table input[type=checkbox] + label { width:27px; min-height:44px; }
.mgps-alert-page.mgps-alert-cards .mgps-user-icon-button { width:44px !important; min-width:44px !important; height:44px !important; min-height:44px !important; flex-basis:44px; }
.mgps-alert-page.mgps-alert-cards .mgps-alert-inline-actions .mgps-user-icon-button { width:44px !important; min-width:44px !important; height:44px !important; min-height:44px !important; }
.mgps-alert-page.mgps-alert-cards .mgps-module-state-row { display:block; width:100%; margin-bottom:14px; border:1px solid #dce6ef; border-radius:9px; }
.mgps-alert-page.mgps-alert-cards .mgps-module-state-row > td { display:block; width:100%; border:0; }
.mgps-alert-page.mgps-alert-phone { padding-right:0; padding-left:0; }
.mgps-alert-page.mgps-alert-phone .mgps-user-heading h2 { font-size:22px; }
.mgps-alert-page.mgps-alert-cards .mgps-alert-tabs { max-width:100%; overflow-x:auto; overflow-y:hidden; }
.mgps-alert-page.mgps-alert-phone .mgps-alert-tabs > li > a { min-height:44px; padding:13px 16px; }
.mgps-alert-page.mgps-alert-phone .mgps-alert-toolbar { align-items:stretch; }
.mgps-alert-page.mgps-alert-phone .mgps-alert-toolbar > .mgps-user-button,.mgps-alert-page.mgps-alert-phone .mgps-alert-device-picker { width:100%; flex-basis:100%; }
.mgps-alert-page.mgps-alert-phone .mgps-alert-filter-grid { grid-template-columns:minmax(0,1fr); padding:14px; }
.mgps-alert-page.mgps-alert-phone .mgps-alert-field input.form-control,.mgps-alert-field select.form-control { font-size:16px; }
.mgps-alert-page.mgps-alert-phone .mgps-alert-table > tbody > .mgps-alert-row { grid-template-columns:minmax(0,1fr); }
.mgps-alert-page.mgps-alert-phone .mgps-alert-row > td { grid-column:1; }
.mgps-alert-page.mgps-alert-phone .mgps-alert-row > .mgps-alert-actions-cell { display:block; }
.mgps-alert-page.mgps-alert-phone .mgps-alert-actions-cell > .mgps-module-mobile-label { margin-bottom:10px; }
.mgps-alert-page.mgps-alert-phone .mgps-module-row-actions { justify-content:flex-start; }
.mgps-alert-page.mgps-alert-phone .mgps-alert-bulk-panel { padding:16px 12px; }
.mgps-alert-page.mgps-alert-phone .mgps-alert-bulk-controls > * { width:100%; flex-basis:100%; }
/* Keep equally sized controls and comfortable touch targets on phones. */
.mgps-alert-page.mgps-alert-phone .mgps-alert-field input.form-control,.mgps-alert-page.mgps-alert-phone .mgps-alert-field select.form-control { min-height:44px; }
.mgps-alert-page.mgps-alert-phone .select2-container > .select2-choice,.mgps-alert-page.mgps-alert-phone .select2-selection--single { height:44px !important; min-height:44px; }
.mgps-alert-page.mgps-alert-phone .select2-container > .select2-choice,.mgps-alert-page.mgps-alert-phone .select2-selection--single .select2-selection__rendered { line-height:42px !important; }
.mgps-alert-page.mgps-alert-phone .select2-selection--single .select2-selection__arrow { height:42px; }
.mgps-alert-page.mgps-alert-phone .mgps-user-button { min-height:44px; white-space:normal; }
@media (prefers-reduced-motion:reduce) { .mgps-alert-page * { scroll-behavior:auto !important; } }


/* Intuitive alarm management, 20261026-alerts-5. Other modules stay scoped. */
.mgps-alert-intuitive .mgps-user-heading { margin-bottom:16px; }
.mgps-alert-intuitive .mgps-alert-tabs { margin-top:0; }
.mgps-alert-intuitive #mgpsAlertMessage { margin-top:18px; }
.mgps-alert-view-heading { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:16px; margin:26px 0 22px; }
.mgps-alert-view-heading > div:first-child { flex:1 1 330px; min-width:0; }
.mgps-alert-view-heading h3 { margin:0 0 6px; color:#18374e; font-size:23px; font-weight:600; line-height:1.3; }
.mgps-alert-view-heading p { margin:0; color:#526f84; }
.mgps-alert-heading-buttons { display:flex; flex:0 1 auto; flex-wrap:wrap; align-items:center; gap:9px; }
.mgps-alert-device-bar { display:flex; align-items:flex-end; flex-wrap:wrap; gap:10px; padding:18px; margin:0 0 20px; border:1px solid #dce6ef; border-radius:7px; background:#f7fbfe; }
.mgps-alert-device-bar .mgps-alert-device-picker { flex:0 1 480px; }
.mgps-alert-device-summary { flex:0 0 100%; color:#6a8194; font-size:12px; }
.mgps-alert-intuitive .mgps-alert-label-action { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:42px; padding:8px 10px; border:1px solid #c4dceb; border-radius:6px; background:#fff; color:#0272a9; font:inherit; font-size:13px; line-height:20px; text-decoration:none; cursor:pointer; }
.mgps-alert-intuitive .mgps-alert-label-action:hover { background:#eef7fd; color:#025e8b; }
.mgps-alert-intuitive .mgps-alert-label-action.is-danger { color:#b64242; border-color:#ebcccc; background:#fffafa; }
.mgps-alert-intuitive .mgps-alert-label-action.is-danger:hover { background:#fff1f1; color:#962e2e; }
.mgps-alert-intuitive .mgps-alert-label-action:disabled { opacity:.55; cursor:progress; }
.mgps-alert-intuitive .mgps-module-row-actions { gap:8px; }
.mgps-alert-intuitive .mgps-alert-label-action .fa { flex:0 0 auto; }
.mgps-alert-switch { display:inline-flex; align-items:center; justify-content:flex-start; gap:9px; min-width:0; min-height:42px; max-width:100%; padding:5px 0; border:0; border-radius:5px; background:transparent; color:#526f84; font:inherit; font-size:13px; line-height:20px; text-align:left; cursor:pointer; text-decoration:none; }
.mgps-alert-switch-track { display:inline-flex; position:relative; flex:0 0 43px; width:43px; height:25px; border:1px solid #a9b6c1; border-radius:14px; background:#b8c2ca; transition:background .15s,border-color .15s; }
.mgps-alert-switch-thumb { position:absolute; top:2px; left:2px; width:19px; height:19px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(25,44,59,.18); transition:transform .15s; }
.mgps-alert-switch[aria-checked=true] { color:#277943; }
.mgps-alert-switch[aria-checked=true] .mgps-alert-switch-track { background:#348c4f; border-color:#348c4f; }
.mgps-alert-switch[aria-checked=true] .mgps-alert-switch-thumb { transform:translateX(18px); }
.mgps-alert-switch:focus-visible,.mgps-alert-label-action:focus-visible { outline:3px solid #0272a9; outline-offset:3px; }
.mgps-alert-switch:disabled { opacity:.6; cursor:progress; }
.mgps-alert-switch[aria-busy=true] .mgps-alert-switch-track { border-style:dashed; }
.mgps-alert-contact-name,.mgps-alert-device-name { display:block; color:#25435b; font-weight:600; }
.mgps-alert-contact-name:empty { display:none; }
.mgps-alert-contact-number,.mgps-alert-subline { display:block; margin-top:3px; color:#70899b; font-size:12px; font-weight:400; overflow-wrap:anywhere; }
.mgps-alert-intuitive .mgps-module-badge.is-confirmed { color:#277943; background:#e4f4e8; }
.mgps-alert-intuitive .mgps-module-badge.is-unconfirmed { color:#8c691b; background:#fff4d8; }
.mgps-alert-intuitive .mgps-alert-rules-table > thead > tr > th:nth-child(1) { width:56px; }
.mgps-alert-intuitive .mgps-alert-rules-table > thead > tr > th:nth-child(2) { width:auto; }
.mgps-alert-intuitive .mgps-alert-rules-table > thead > tr > th:nth-child(3) { width:150px; }
.mgps-alert-intuitive .mgps-alert-rules-table > thead > tr > th:nth-child(4) { width:110px; }
.mgps-alert-intuitive .mgps-alert-rules-table > thead > tr > th:nth-child(5) { width:150px; }
.mgps-alert-intuitive .mgps-alert-rules-table > thead > tr > th:nth-child(6) { width:160px; }
.mgps-alert-intuitive .mgps-alert-inbox-table > thead > tr > th:nth-child(1) { width:56px; }
.mgps-alert-intuitive .mgps-alert-inbox-table > thead > tr > th:nth-child(2) { width:auto; }
.mgps-alert-intuitive .mgps-alert-inbox-table > thead > tr > th:nth-child(3) { width:25%; }
.mgps-alert-intuitive .mgps-alert-inbox-table > thead > tr > th:nth-child(4) { width:180px; }
.mgps-alert-intuitive .mgps-alert-inbox-table > thead > tr > th:nth-child(5) { width:285px; }
.mgps-alert-intuitive .mgps-alert-sms-table > thead > tr > th:nth-child(1) { width:auto; }
.mgps-alert-intuitive .mgps-alert-sms-table > thead > tr > th:nth-child(2) { width:20%; }
.mgps-alert-intuitive .mgps-alert-sms-table > thead > tr > th:nth-child(3) { width:17%; }
.mgps-alert-intuitive .mgps-alert-sms-table > thead > tr > th:nth-child(4) { width:100px; }
.mgps-alert-intuitive .mgps-alert-sms-table > thead > tr > th:nth-child(5) { width:150px; }
.mgps-alert-intuitive .mgps-alert-sms-table > thead > tr > th:nth-child(6) { width:245px; }
.mgps-alert-intuitive .mgps-alert-recipients-table > thead > tr > th:nth-child(1) { width:auto; }
.mgps-alert-intuitive .mgps-alert-recipients-table > thead > tr > th:nth-child(2) { width:190px; }
.mgps-alert-intuitive .mgps-alert-recipients-table > thead > tr > th:nth-child(3) { width:180px; }
.mgps-alert-intuitive .mgps-alert-recipients-table > thead > tr > th:nth-child(4) { width:150px; }
.mgps-alert-intuitive .mgps-alert-recipients-table > thead > tr > th:nth-child(5) { width:270px; }
.mgps-alert-intuitive:not(.mgps-alert-cards) .mgps-alert-inbox-table .mgps-module-row-actions,.mgps-alert-intuitive:not(.mgps-alert-cards) .mgps-alert-sms-table .mgps-module-row-actions { flex-wrap:nowrap; }
.mgps-alert-intuitive:not(.mgps-alert-cards) .mgps-alert-label-action { white-space:nowrap; }
.mgps-alert-intuitive .mgps-alert-history-table > thead > tr > th:nth-child(1) { width:190px; }
.mgps-alert-intuitive .mgps-alert-history-table > thead > tr > th:nth-child(2) { width:210px; }
.mgps-alert-selection-panel { display:flex; align-items:flex-end; flex-wrap:wrap; gap:16px; margin-top:16px; padding:18px; border:1px solid #cde1f0; border-radius:7px; background:#f1f8fd; }
.mgps-alert-selection-panel h4 { margin:0; color:#18374e; font-size:16px; font-weight:600; line-height:1.4; }
.mgps-alert-selection-panel p { margin:5px 0 0; color:#526f84; font-size:13px; }
.mgps-alert-selection-copy { flex:1 1 240px; }
.mgps-alert-selection-panel .mgps-alert-field { flex:0 1 220px; }
.mgps-alert-selection-panel > .mgps-user-primary { margin-left:auto; }
.mgps-alert-selection-panel > h4 { align-self:center; }
.mgps-alert-mobile-sort { display:none; max-width:100%; }
.mgps-alert-intuitive.mgps-alert-cards .mgps-alert-mobile-sort { display:block; }
.mgps-alert-intuitive.mgps-alert-cards .mgps-alert-actions-cell .mgps-module-row-actions { flex-wrap:wrap; }
.mgps-alert-intuitive.mgps-alert-cards .mgps-alert-actions-cell .mgps-alert-cell-value { min-width:0; }
.mgps-alert-intuitive.mgps-alert-phone .mgps-alert-view-heading { flex-direction:column; align-items:stretch; gap:14px; }
.mgps-alert-intuitive.mgps-alert-phone .mgps-alert-view-heading > div:first-child { flex-basis:auto; }
.mgps-alert-intuitive.mgps-alert-phone .mgps-alert-heading-buttons { display:grid; grid-template-columns:minmax(0,1fr); width:100%; }
.mgps-alert-intuitive.mgps-alert-phone .mgps-alert-device-bar { padding:14px 12px; }
.mgps-alert-intuitive.mgps-alert-phone .mgps-alert-device-bar > .mgps-alert-device-picker,.mgps-alert-intuitive.mgps-alert-phone .mgps-alert-device-bar > .mgps-user-button { flex-basis:100%; width:100%; }
.mgps-alert-intuitive.mgps-alert-phone .mgps-alert-selection-panel { padding:16px 12px; align-items:stretch; }
.mgps-alert-intuitive.mgps-alert-phone .mgps-alert-selection-panel > * { flex-basis:100%; width:100%; }
.mgps-alert-intuitive.mgps-alert-phone .mgps-alert-selection-panel > .mgps-user-primary { margin-left:0; }
.mgps-alert-intuitive.mgps-alert-phone .mgps-alert-switch,.mgps-alert-intuitive.mgps-alert-phone .mgps-alert-label-action { min-height:44px; }
.mgps-alert-intuitive.mgps-alert-phone .mgps-alert-actions-cell .mgps-alert-label-action { flex:0 1 auto; }
@media (prefers-reduced-motion:reduce) { .mgps-alert-switch-track,.mgps-alert-switch-thumb { transition:none; } }

/* Native filters use the same height as Select2 and the adjacent buttons. */
.mgps-alert-intuitive .mgps-alert-field input.form-control,.mgps-alert-intuitive .mgps-alert-field select.form-control:not(.select2-offscreen):not(.select2-hidden-accessible) { box-sizing:border-box; height:42px; min-height:42px; }
.mgps-alert-intuitive.mgps-alert-phone .mgps-alert-field input.form-control,.mgps-alert-intuitive.mgps-alert-phone .mgps-alert-field select.form-control:not(.select2-offscreen):not(.select2-hidden-accessible) { height:44px; min-height:44px; }

/* Selection actions stay below their table; the short interval list is native. */
.mgps-alert-intuitive .mgps-alert-bulk-buttons { display:flex; flex:0 1 auto; align-items:center; flex-wrap:wrap; gap:10px; margin-left:auto; max-width:100%; }
.mgps-alert-intuitive .mgps-alert-bulk-buttons .mgps-user-button { white-space:normal; }
.mgps-alert-intuitive.mgps-alert-phone .mgps-alert-bulk-buttons { display:grid; grid-template-columns:minmax(0,1fr); margin-left:0; }
.mgps-alert-intuitive.mgps-alert-phone .mgps-alert-bulk-buttons .mgps-user-button { width:100%; }

/* Underline tabs: compact mobile labels keep every destination visible. */
.mgps-alert-intuitive .mgps-alert-tabs.mgps-alert-tabs-underline { gap:0; margin-top:0; border:0; border-bottom:1px solid #c7ddec; background:#fff; }
.mgps-alert-intuitive .mgps-alert-tabs-underline > li { margin:0 0 -1px; }
.mgps-alert-intuitive .mgps-alert-tabs-underline > li > a { display:flex; align-items:center; justify-content:center; gap:10px; min-height:51px; margin:0; padding:13px 22px 14px; border:0; border-bottom:3px solid transparent; border-radius:0; background:transparent; color:#375970; font-size:14px; font-weight:400; line-height:20px; text-decoration:none; }
.mgps-alert-intuitive .mgps-alert-tabs-underline > li > a:hover { border-color:#d6e8f3; background:#f7fbfe; color:#007eaf; }
.mgps-alert-intuitive .mgps-alert-tabs-underline > li.active > a,.mgps-alert-intuitive .mgps-alert-tabs-underline > li.active > a:hover,.mgps-alert-intuitive .mgps-alert-tabs-underline > li.active > a:focus { border:0; border-bottom:3px solid #007eaf; background:transparent; color:#007eaf; font-weight:600; }
.mgps-alert-intuitive .mgps-alert-tab-icon { display:block; flex:0 0 22px; width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.mgps-alert-intuitive .mgps-alert-tab-short { display:none; }
.mgps-alert-intuitive.mgps-alert-phone .mgps-alert-tabs-underline { position:-webkit-sticky; position:sticky; top:0; z-index:20; overflow:visible; box-shadow:0 2px 5px rgba(24,55,78,.04); }
.mgps-alert-intuitive.mgps-alert-phone .mgps-alert-tabs-underline > li { flex:1 1 0; min-width:0; }
.mgps-alert-intuitive.mgps-alert-phone .mgps-alert-tabs-underline > li > a { gap:6px; min-height:46px; padding:11px 5px 10px; font-size:13px; line-height:20px; }
.mgps-alert-intuitive.mgps-alert-phone .mgps-alert-tab-icon { flex-basis:18px; width:18px; height:18px; }
.mgps-alert-intuitive.mgps-alert-phone .mgps-alert-tab-label { display:none; }
.mgps-alert-intuitive.mgps-alert-phone .mgps-alert-tab-short { display:inline; }


/* Address book, 20261027-addressbook-1. Append-only extension of the shared
   portal stylesheet. User management, geofences and alarms retain their rules. */
.mgps-address-content { min-width:0; }
.mgps-address-content > .mgps-address-scroll { min-width:0; overflow-y:scroll; overflow-x:hidden; -webkit-overflow-scrolling:touch; overscroll-behavior-y:contain; }
.mgps-address-content .mgps-address-panel { margin-bottom:0; border:0; background:#fff; box-shadow:none; }
.mgps-address-content .mgps-address-panel > .panel-body { padding:16px; background:#fff; }
.mgps-address-page { width:100%; min-width:0; padding:8px 6px 24px; }
.mgps-address-page .mgps-user-heading { align-items:flex-start; }
.mgps-address-heading-copy { flex:1 1 360px; min-width:0; }
.mgps-address-page .mgps-user-heading-actions { flex:0 1 auto; }
.mgps-address-page .mgps-user-heading h2 { line-height:1.25; }
.mgps-address-page button { font-family:inherit; }
.mgps-address-page .mgps-user-button { min-height:42px; }
.mgps-address-page button:focus-visible,.mgps-address-page input:focus-visible,.mgps-address-page select:focus-visible,.mgps-address-help > summary:focus-visible { outline:3px solid #0272a9; outline-offset:3px; }
.mgps-address-notice { display:flex; align-items:flex-start; gap:10px; margin:0 0 22px; padding:13px 15px; border:1px solid #d8e8f4; border-radius:7px; background:#f3f9fd; color:#4b6c82; font-size:13px; }
.mgps-address-notice > .fa { flex:0 0 auto; margin-top:3px; color:#2788b4; font-size:16px; }
.mgps-address-notice > div { min-width:0; overflow-wrap:anywhere; }
.mgps-address-notice p:last-child { margin-bottom:0; }
.mgps-address-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:24px 0 16px; }
.mgps-address-list-heading { display:flex; align-items:center; flex-wrap:wrap; gap:10px 18px; min-width:0; }
.mgps-address-list-heading h3 { display:flex; align-items:center; gap:9px; margin:0; color:#18374e; font-size:18px; font-weight:600; }
.mgps-address-quota { color:#6a8194; font-size:12px; }
.mgps-address-quota #contingent { color:#375970; font-weight:600; }
.mgps-address-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(190px,260px) auto; align-items:end; gap:14px; margin:0 0 18px; padding:16px; border:1px solid #dce6ef; border-radius:7px; background:#fbfdff; }
.mgps-address-field { min-width:0; }
.mgps-address-field > label { display:block; margin:0 0 7px; color:#526f84; font-size:12px; font-weight:600; }
.mgps-address-field .form-control { box-sizing:border-box; width:100%; max-width:100%; height:42px; min-height:42px; padding:9px 11px; border:1px solid #cddae5; border-radius:6px; background:#fff; color:#25435b; font:inherit; font-size:13px; line-height:22px; box-shadow:none; }
.mgps-address-field select.form-control { padding-right:25px; cursor:pointer; }
.mgps-address-search { position:relative; }
.mgps-address-search > .fa { position:absolute; top:14px; left:13px; color:#8193a1; pointer-events:none; }
.mgps-address-search > input.form-control { padding-left:36px; }
.mgps-address-text-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; max-width:100%; min-height:42px; padding:6px 2px; border:0; border-radius:3px; background:transparent; color:#0272a9; font:inherit; font-size:13px; line-height:1.4; text-align:left; cursor:pointer; }
.mgps-address-text-button:hover { color:#025e8b; text-decoration:underline; }
.mgps-address-text-button:disabled { opacity:.55; cursor:default; text-decoration:none; }
.mgps-address-table > thead > tr > th:nth-child(1) { width:48px; }
.mgps-address-table > thead > tr > th:nth-child(2) { width:100px; }
.mgps-address-table > thead > tr > th:nth-child(3) { width:18%; }
.mgps-address-table > thead > tr > th:nth-child(4) { width:auto; }
.mgps-address-table > thead > tr > th:nth-child(5) { width:140px; }
.mgps-address-table > thead > tr > th:nth-child(6) { width:128px; white-space:nowrap; }
.mgps-address-table > thead > tr > th:nth-child(7) { width:138px; }
.mgps-address-table > thead > tr > .mgps-address-actions-heading { text-align:right; }
.mgps-address-table > tbody > tr > td { padding:15px 12px; }
.mgps-address-table .mgps-address-cell-value { min-width:0; max-width:100%; overflow-wrap:anywhere; word-break:break-word; }
.mgps-address-table .mgps-address-name-cell { color:#254b66; font-weight:600; }
.mgps-address-table .mgps-address-email-cell { color:#526f84; }
.mgps-address-table .mgps-address-check-cell { cursor:pointer; }
.mgps-address-table .mgps-address-email-cell a { color:#0272a9; }
.mgps-address-table .mgps-address-language { display:flex; align-items:center; flex-wrap:nowrap; gap:8px; }
.mgps-address-table .mgps-address-language-cell .mgps-address-cell-value { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.mgps-address-table .mgps-address-language-cell img { display:inline-block; flex:0 0 auto; width:24px; height:auto; max-height:20px; object-fit:contain; }
.mgps-address-table .mgps-address-language-cell .mgps-address-action { flex:0 0 auto; width:32px !important; min-width:32px !important; height:32px !important; min-height:32px !important; padding:5px !important; }
.mgps-address-table .mgps-address-actions-cell .mgps-address-cell-value { display:flex; align-items:center; justify-content:flex-end; }
.mgps-address-table .mgps-address-actions-cell .mgps-user-button { gap:7px; padding:9px 11px; font-size:12px; white-space:nowrap; }
.mgps-address-action.is-pause { color:#8c691b; border-color:#e5d8b8; background:#fffdf7; }
.mgps-address-action.is-pause:hover { color:#765713; background:#fff4d8; }
.mgps-address-action.is-play { color:#277943; border-color:#c5dfcc; background:#f8fcf9; }
.mgps-address-action.is-play:hover { color:#206738; background:#e4f4e8; }
.mgps-address-page .mgps-module-badge { max-width:100%; white-space:normal; overflow-wrap:anywhere; font-size:11px; }
.mgps-address-status.is-success { color:#277943; background:#e4f4e8; }
.mgps-address-status.is-warning { color:#8c691b; background:#fff4d8; }
.mgps-address-status.is-danger { color:#ae4040; background:#fbeaea; }
.mgps-address-status::before { content:''; flex:0 0 6px; width:6px; height:6px; border-radius:50%; background:currentColor; }
.mgps-address-page .mgps-address-table input[type=checkbox] { position:static !important; display:inline-block !important; width:18px !important; height:18px !important; margin:0; opacity:1 !important; appearance:auto; -webkit-appearance:checkbox; pointer-events:auto !important; vertical-align:middle; accent-color:#0272a9; cursor:pointer; }
.mgps-address-page .mgps-address-table input[type=checkbox] + label { position:absolute !important; width:1px !important; height:1px !important; min-height:0 !important; margin:-1px !important; padding:0 !important; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0; }
.mgps-address-page .mgps-address-table input[type=checkbox] + label::before,.mgps-address-page .mgps-address-table input[type=checkbox] + label::after { display:none !important; }
.mgps-address-page .mgps-address-row.is-selected { background:#f0f8fe; }
.mgps-address-page .mgps-address-row[hidden] { display:none !important; }
.mgps-address-selection-tools { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:5px 15px; margin:5px 0 0; }
.mgps-address-selection-tools > span { color:#6a8194; font-size:12px; }
.mgps-address-bulk { display:flex; align-items:flex-end; flex-wrap:wrap; gap:16px; margin-top:12px; padding:18px; border:1px solid #cde1f0; border-radius:7px; background:#f1f8fd; }
.mgps-address-selection-copy { flex:1 1 250px; min-width:0; }
.mgps-address-selection-copy h4 { margin:0; color:#18374e; font-size:16px; font-weight:600; line-height:1.4; }
.mgps-address-selection-copy p { margin:5px 0 0; color:#526f84; font-size:13px; }
.mgps-address-bulk > .mgps-address-field { flex:0 1 210px; }
.mgps-address-bulk-buttons { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; margin-left:auto; max-width:100%; }
.mgps-address-bulk .mgps-user-button { white-space:normal; }
.mgps-address-bulk .mgps-user-button.is-danger { color:#fff; background:#b64242; border-color:#a23737; }
.mgps-address-bulk .mgps-user-button.is-danger:hover { background:#9e3434; }
.mgps-address-page .mgps-user-footnote { margin-top:8px; }
.mgps-address-empty { display:flex; align-items:flex-start; gap:12px; margin:0 0 14px; padding:22px 18px; border:1px solid #dce6ef; border-radius:7px; background:#fbfdff; color:#526f84; }
.mgps-address-empty > .fa { margin-top:4px; font-size:21px; color:#91a9bc; }
.mgps-address-empty h3 { margin:0 0 6px; font-size:16px; color:#25435b; }
.mgps-address-empty p { margin:0; }
.mgps-address-help { margin-top:25px; padding-top:14px; border-top:1px solid #e1ebf3; color:#526f84; font-size:13px; }
.mgps-address-help > summary { width:fit-content; max-width:100%; min-height:42px; padding:10px 0; color:#375970; cursor:pointer; }
.mgps-address-help-body { padding:8px 0 0; max-width:900px; overflow-wrap:anywhere; }
.mgps-address-help-body p { margin:0 0 12px; }
.mgps-address-page.mgps-address-cards .mgps-module-table-wrap { overflow:visible; border:0; border-radius:0; box-shadow:none; background:transparent; }
.mgps-address-page.mgps-address-cards .mgps-address-table,.mgps-address-page.mgps-address-cards .mgps-address-table > tbody { display:block; width:100%; background:transparent; }
.mgps-address-page.mgps-address-cards .mgps-address-table > thead { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); border:0; white-space:nowrap; }
.mgps-address-page.mgps-address-cards .mgps-address-table > tbody > .mgps-address-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; padding:10px 12px 12px; margin-bottom:14px; border:1px solid #dce6ef; border-radius:9px; background:#fff; box-shadow:0 3px 12px rgba(24,55,78,.04); }
.mgps-address-page.mgps-address-cards .mgps-address-table > tbody > .mgps-address-row.is-selected { border-color:#7ebadf; background:#f7fbff; }
.mgps-address-page.mgps-address-cards .mgps-address-row > td { display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:0; min-height:52px; padding:12px; border:0; border-radius:6px; background:#f8fbfd; }
.mgps-address-page.mgps-address-cards .mgps-module-mobile-label { display:block; flex:0 0 auto; color:#526f84; font-size:12px; font-weight:600; }
.mgps-address-page.mgps-address-cards .mgps-address-cell-value { flex:0 1 auto; }
.mgps-address-page.mgps-address-cards .mgps-address-row > .mgps-address-check-cell { grid-column:1; grid-row:1; justify-content:flex-start; gap:14px; min-height:44px; padding:5px 4px; background:transparent; }
.mgps-address-page.mgps-address-cards .mgps-address-row > .mgps-address-language-cell { grid-column:2; grid-row:1; justify-content:flex-end; min-height:44px; padding:0; background:transparent; }
.mgps-address-page.mgps-address-cards .mgps-address-language-cell .mgps-address-action { width:44px !important; min-width:44px !important; height:44px !important; min-height:44px !important; }
.mgps-address-page.mgps-address-cards .mgps-address-row > .mgps-address-name-cell { grid-column:1 / -1; grid-row:2; display:block; min-height:0; padding:6px 4px 11px; border-bottom:1px solid #e8eff5; border-radius:0; background:transparent; font-size:16px; }
.mgps-address-page.mgps-address-cards .mgps-address-name-cell > .mgps-module-mobile-label { margin-bottom:4px; }
.mgps-address-page.mgps-address-cards .mgps-address-row > .mgps-address-email-cell { grid-column:1 / -1; grid-row:3; }
.mgps-address-page.mgps-address-cards .mgps-address-email-cell .mgps-address-cell-value { text-align:right; }
.mgps-address-page.mgps-address-cards .mgps-address-row > .mgps-address-status-cell { grid-row:4; }
.mgps-address-page.mgps-address-cards .mgps-address-row > .mgps-address-actions-cell { grid-column:1 / -1; grid-row:5; }
.mgps-address-page.mgps-address-cards .mgps-module-state-row { display:block; width:100%; margin-bottom:14px; border:1px solid #dce6ef; border-radius:9px; }
.mgps-address-page.mgps-address-cards .mgps-module-state-row > td { display:block; width:100%; border:0; }
.mgps-address-page.mgps-address-cards .mgps-address-table input[type=checkbox] { width:22px !important; height:22px !important; }
.mgps-address-page.mgps-address-phone { padding-left:0; padding-right:0; }
.mgps-address-page.mgps-address-phone .mgps-user-heading { flex-direction:column; align-items:stretch; gap:15px; }
.mgps-address-page.mgps-address-phone .mgps-address-heading-copy { flex-basis:auto; }
.mgps-address-page.mgps-address-phone .mgps-user-heading h2 { font-size:22px; }
.mgps-address-page.mgps-address-phone .mgps-user-heading-actions { width:100%; }
.mgps-address-page.mgps-address-phone .mgps-user-heading-actions .mgps-user-button { width:100%; }
.mgps-address-page.mgps-address-phone .mgps-address-filters { grid-template-columns:minmax(0,1fr); padding:14px 12px; }
.mgps-address-page.mgps-address-phone .mgps-address-filters > .mgps-address-text-button { justify-self:start; }
.mgps-address-page.mgps-address-phone .mgps-user-button,.mgps-address-page.mgps-address-phone .mgps-address-field .form-control,.mgps-address-page.mgps-address-phone .mgps-address-text-button { min-height:44px; }
.mgps-address-page.mgps-address-phone .mgps-address-field .form-control { height:44px; }
.mgps-address-page.mgps-address-phone .mgps-address-notice { padding:12px; }
.mgps-address-page.mgps-address-phone .mgps-address-list-heading { flex-direction:column; align-items:flex-start; gap:4px; }
.mgps-address-page.mgps-address-phone .mgps-address-language-cell > .mgps-module-mobile-label { display:none; }
.mgps-address-page.mgps-address-phone .mgps-address-row > .mgps-address-status-cell { grid-column:1 / -1; grid-row:auto; }
.mgps-address-page.mgps-address-phone .mgps-address-row > .mgps-address-actions-cell { grid-row:auto; }
.mgps-address-page.mgps-address-phone .mgps-address-row > .mgps-address-email-cell { align-items:flex-start; }
.mgps-address-page.mgps-address-phone .mgps-address-email-cell .mgps-address-cell-value { flex:1 1 auto; }
.mgps-address-page.mgps-address-phone .mgps-address-bulk { align-items:stretch; padding:16px 12px; }
.mgps-address-page.mgps-address-phone .mgps-address-bulk > * { width:100%; flex-basis:100%; }
.mgps-address-page.mgps-address-phone .mgps-address-bulk-buttons { display:grid; grid-template-columns:minmax(0,1fr); margin-left:0; }
.mgps-address-page.mgps-address-phone .mgps-address-bulk-buttons > * { width:100%; }


/* Address-book fixes, 20261027-addressbook-2. All preceding module styles stay
   byte-for-byte intact; status switches reuse the alarm-management component. */
.mgps-address-table > thead > tr > th:nth-child(5) { width:188px; }
.mgps-address-table > thead > tr > th:nth-child(7) { width:154px; }
.mgps-address-table .mgps-address-status-cell .mgps-module-badge { white-space:nowrap; }
.mgps-address-page .mgps-address-switch { min-height:44px; padding:5px 0; font-size:13px; white-space:nowrap; }
.mgps-address-page .mgps-address-switch:focus-visible { outline:3px solid #0272a9; outline-offset:3px; }
.mgps-address-page .mgps-address-switch[aria-busy=true] { cursor:progress; }
.mgps-address-page .mgps-address-switch[aria-busy=true] .mgps-alert-switch-track { opacity:.65; }
.mgps-address-page .mgps-address-help > h3 { margin:4px 0 10px; color:#375970; font-size:16px; font-weight:600; line-height:1.4; }
.mgps-address-page .mgps-address-help-body { padding-top:0; }
.mgps-address-page.mgps-address-cards .mgps-address-actions-cell .mgps-address-switch { min-height:44px; }
.mgps-address-page.mgps-address-phone .mgps-address-status-cell .mgps-module-badge { font-size:11px; }
/* Device management, 20261027-devices-1. Append to layout_modules.css. */
.mgps-device-content { min-width:0; }
.mgps-device-content > .page-content { min-width:0; overflow-y:scroll; overflow-x:hidden; -webkit-overflow-scrolling:touch; overscroll-behavior-y:contain; }
.mgps-device-content .mgps-device-panel { margin-bottom:0; border:0; background:#fff; box-shadow:none; }
.mgps-device-content .mgps-device-panel > .panel-heading { display:none; }
.mgps-device-content .mgps-device-panel > .panel-body { padding:16px; background:#fff; }
.mgps-device-page { width:100%; min-width:0; padding:8px 6px 24px; }
.mgps-device-page button { font-family:inherit; }
.mgps-device-page .mgps-user-heading,.mgps-device-heading { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:15px; margin-bottom:16px; }
.mgps-device-heading h2 { margin:0 0 6px; color:#18374e; font-size:25px; font-weight:600; line-height:1.25; }
.mgps-device-heading p { margin:0; color:#526f84; }
.mgps-device-page .mgps-user-button { min-height:42px; }
.mgps-device-page button:focus-visible,.mgps-device-page input:focus-visible,.mgps-device-page select:focus-visible,.mgps-device-tabs a:focus-visible { outline:3px solid #0272a9; outline-offset:3px; }
.mgps-device-page tr[hidden] { display:none !important; }
.mgps-device-tabs { display:flex; align-items:stretch; flex-wrap:nowrap; gap:0; width:100%; max-width:100%; margin:0 0 24px; padding:0; list-style:none; border:0; border-bottom:1px solid #c7ddec; background:#fff; float:none; }
.mgps-device-tabs > li { float:none; flex:0 1 auto; min-width:0; margin:0 0 -1px; }
.mgps-device-tabs > li > a { display:flex; align-items:center; justify-content:center; gap:10px; min-height:51px; margin:0; padding:13px 22px 14px; border:0; border-bottom:3px solid transparent; border-radius:0; background:transparent; color:#375970; font-size:14px; font-weight:400; line-height:20px; text-decoration:none; cursor:pointer; }
.mgps-device-tabs > li > a:hover { border-color:#d6e8f3; background:#f7fbfe; color:#007eaf; }
.mgps-device-tabs > li.active > a,.mgps-device-tabs > li.active > a:hover,.mgps-device-tabs > li.active > a:focus { border:0; border-bottom:3px solid #007eaf; background:transparent; color:#007eaf; font-weight:600; }
.mgps-device-tabs svg { display:block; flex:0 0 22px; width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.mgps-device-tabs .mgps-device-short-label,.mgps-device-tabs .short-label,.mgps-device-tabs .mgps-device-tab-short { display:none; }
.mgps-device-notice { display:flex; align-items:flex-start; gap:10px; margin:0 0 20px; padding:13px 15px; border:1px solid #d8e8f4; border-radius:7px; background:#f3f9fd; color:#4b6c82; font-size:13px; }
.mgps-device-notice > .fa { flex:0 0 auto; margin-top:3px; color:#2788b4; font-size:16px; }
.mgps-device-notice > div { min-width:0; overflow-wrap:anywhere; }
.mgps-device-notice p:last-child { margin-bottom:0; }
.mgps-device-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:24px 0 16px; }
.mgps-device-toolbar h3 { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin:0; color:#18374e; font-size:18px; font-weight:600; }
.mgps-device-toolbar p { margin:5px 0 0; color:#526f84; font-size:13px; }
.mgps-device-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(170px,230px) minmax(170px,230px) auto; align-items:end; gap:14px; margin:0 0 18px; padding:16px; border:1px solid #dce6ef; border-radius:7px; background:#fbfdff; }
.mgps-device-field { min-width:0; }
.mgps-device-field > label { display:block; margin:0 0 7px; color:#526f84; font-size:12px; font-weight:600; }
.mgps-device-field .form-control,.mgps-device-rename .form-control { box-sizing:border-box; width:100%; max-width:100%; height:42px; min-height:42px; padding:9px 11px; border:1px solid #cddae5; border-radius:6px; background:#fff; color:#25435b; font:inherit; font-size:13px; line-height:22px; box-shadow:none; }
.mgps-device-field select.form-control { padding-right:25px; cursor:pointer; }
.mgps-device-search { position:relative; }
.mgps-device-search > .fa { position:absolute; top:14px; left:13px; color:#8193a1; pointer-events:none; }
.mgps-device-search > input.form-control { padding-left:36px; }
.mgps-device-text-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; max-width:100%; min-height:42px; padding:6px 2px; border:0; border-radius:3px; background:transparent; color:#0272a9; font:inherit; font-size:13px; line-height:1.4; text-align:left; cursor:pointer; }
.mgps-device-text-button:hover { color:#025e8b; text-decoration:underline; }
.mgps-device-text-button:disabled { opacity:.55; cursor:default; text-decoration:none; }
.mgps-device-icon-tools { display:flex; align-items:flex-end; flex-wrap:wrap; gap:12px; padding:16px; margin:0 0 18px; border:1px solid #dce6ef; border-radius:7px; background:#fbfdff; }
.mgps-device-icon-tools > .mgps-device-field { flex:1 1 260px; max-width:480px; }
.mgps-device-icon-tools #dropdownVehicles { min-width:0; max-width:100%; }
.mgps-device-icon-tools .select2-container { width:100% !important; max-width:100%; }
.mgps-device-table > thead > tr > th:nth-child(1) { width:auto; }
.mgps-device-table > thead > tr > th:nth-child(2) { width:230px; }
.mgps-device-table > thead > tr > th:nth-child(3) { width:170px; }
.mgps-device-table > thead > tr > th:nth-child(4) { width:166px; }
.mgps-device-table > thead > tr > th:nth-child(5) { width:110px; }
.mgps-device-table > thead > tr > th:nth-child(6) { width:250px; }
.mgps-device-table > thead > tr > th:nth-child(7) { width:155px; }
.mgps-device-table > tbody > tr > td,.mgps-device-daily-table > tbody > tr > td { padding:14px 12px; }
.mgps-device-page .mgps-device-cell-value { min-width:0; max-width:100%; overflow-wrap:anywhere; word-break:break-word; }
.mgps-device-identity { display:flex; align-items:center; gap:10px; min-width:0; max-width:100%; }
.mgps-device-identity > div { flex:1 1 auto; min-width:0; }
.mgps-device-icon { display:block; flex:0 0 34px; width:34px; height:34px; object-fit:contain; }
.mgps-device-title { display:block; color:#254b66; font-weight:600; }
.mgps-device-imei { display:block; margin-top:4px; color:#70899b; font-size:12px; font-weight:400; }
.mgps-device-progress { display:inline-block; flex:0 0 30px; width:30px; height:30px; }
.mgps-device-progress:empty { display:none; }
.mgps-device-rename { display:flex; align-items:center; gap:8px; width:100%; min-width:0; }
.mgps-device-rename .form-control { flex:1 1 auto; width:0; min-width:0; font-size:12px; }
.mgps-device-page .mgps-device-action { display:inline-flex; align-items:center; justify-content:center; flex:0 1 auto; gap:7px; max-width:100%; min-height:42px; padding:8px 10px; border:1px solid #cddae5; border-radius:6px; background:#fff; color:#0272a9; font:inherit; font-size:12px; line-height:20px; text-decoration:none; cursor:pointer; }
.mgps-device-page .mgps-device-action:hover { color:#025e8b; border-color:#b5d1e3; background:#eef7fd; }
.mgps-device-page .mgps-device-action:disabled { opacity:.55; cursor:progress; }
.mgps-device-page .mgps-device-save { flex:0 0 auto; }
.mgps-device-page .mgps-device-action > .fa { flex:0 0 auto; }
.mgps-device-driver-name { display:block; margin-bottom:8px; color:#25435b; }
.mgps-device-history-cell .mgps-device-cell-value { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.mgps-device-timezone-value { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:7px; }
.mgps-device-timezone-buttons { display:flex; align-items:center; gap:6px; min-width:0; max-width:100%; }
.mgps-device-page .mgps-device-timezone-step { flex:0 1 auto; min-height:36px; padding:5px 8px; white-space:nowrap; }
.mgps-device-page .mgps-device-switch { min-height:44px; max-width:100%; padding:5px 0; font-size:12px; line-height:20px; }
.mgps-device-page .mgps-device-switch .mgps-alert-switch-label { min-width:0; overflow-wrap:anywhere; }
.mgps-device-page .mgps-device-switch:focus-visible { outline:3px solid #0272a9; outline-offset:3px; }
.mgps-device-page .mgps-device-switch[aria-busy=true] { cursor:progress; }
.mgps-device-page .mgps-device-switch[aria-busy=true] .mgps-alert-switch-track { opacity:.65; }
.mgps-device-page .mgps-module-badge { max-width:100%; font-size:11px; }
.mgps-device-daily-table > thead > tr > th:nth-child(1) { width:88px; }
.mgps-device-daily-table > thead > tr > th:nth-child(3) { width:auto; }
.mgps-device-daily-table > thead > tr > th:nth-child(4) { width:240px; }
.mgps-device-daily-table > thead > tr > th:nth-child(5) { width:260px; }
.mgps-device-page .mgps-device-daily-imei-cell { display:none !important; }
.mgps-device-daily-check-cell .mgps-device-cell-value { display:flex; align-items:center; gap:9px; }
.mgps-device-daily-check-cell img { flex:0 0 28px; width:28px; height:28px; object-fit:contain; }
.mgps-device-daily-name-cell .mgps-device-cell-value { color:#254b66; font-weight:600; }
.mgps-device-daily-export-cell .mgps-device-cell-value,.mgps-device-daily-mail-cell .mgps-device-cell-value { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.mgps-device-legacy-controls { display:none !important; }
.mgps-device-inline-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; max-width:100%; }
.mgps-device-daily-table > tbody > tr.is-selected { background:#f0f8fe; }
.mgps-device-page .mgps-device-daily-table input[type=checkbox] { position:static !important; display:inline-block !important; flex:0 0 18px; width:18px !important; height:18px !important; margin:0; opacity:1 !important; appearance:auto; -webkit-appearance:checkbox; pointer-events:auto !important; vertical-align:middle; accent-color:#0272a9; cursor:pointer; }
.mgps-device-page .mgps-device-daily-table input[type=checkbox] + label { position:absolute !important; width:1px !important; height:1px !important; min-height:0 !important; margin:-1px !important; padding:0 !important; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0; }
.mgps-device-page .mgps-device-daily-table input[type=checkbox] + label::before,.mgps-device-page .mgps-device-daily-table input[type=checkbox] + label::after { display:none !important; }
.mgps-device-selection-tools { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:5px 15px; margin:5px 0 0; }
.mgps-device-selection-tools > span { color:#6a8194; font-size:12px; }
.mgps-device-bulk { display:flex; align-items:flex-end; flex-wrap:wrap; gap:16px; margin-top:12px; padding:18px; border:1px solid #cde1f0; border-radius:7px; background:#f1f8fd; }
.mgps-device-selection-copy { flex:1 1 250px; min-width:0; }
.mgps-device-selection-copy h4 { margin:0; color:#18374e; font-size:16px; font-weight:600; line-height:1.4; }
.mgps-device-selection-copy p { margin:5px 0 0; color:#526f84; font-size:13px; }
.mgps-device-bulk > .mgps-device-field { flex:0 1 250px; }
.mgps-device-bulk-buttons { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; margin-left:auto; max-width:100%; }
.mgps-device-bulk .mgps-user-button { white-space:normal; }
.mgps-device-help { margin-top:25px; padding-top:16px; border-top:1px solid #e1ebf3; color:#526f84; font-size:13px; }
.mgps-device-help h3 { margin:0 0 10px; color:#375970; font-size:16px; font-weight:600; line-height:1.4; }
.mgps-device-help p { max-width:980px; margin:0 0 10px; }
.mgps-device-page.mgps-device-cards .mgps-device-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
.mgps-device-page.mgps-device-cards .mgps-device-filters > .mgps-device-text-button { justify-self:start; }
.mgps-device-page.mgps-device-cards .mgps-module-table-wrap { overflow:visible; border:0; border-radius:0; box-shadow:none; background:transparent; }
.mgps-device-page.mgps-device-cards .mgps-device-table,.mgps-device-page.mgps-device-cards .mgps-device-table > tbody,.mgps-device-page.mgps-device-cards .mgps-device-daily-table,.mgps-device-page.mgps-device-cards .mgps-device-daily-table > tbody { display:block; width:100%; background:transparent; }
.mgps-device-page.mgps-device-cards .mgps-device-table > thead,.mgps-device-page.mgps-device-cards .mgps-device-daily-table > thead { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); border:0; white-space:nowrap; }
.mgps-device-page.mgps-device-cards .mgps-device-table > tbody > .mgps-device-row,.mgps-device-page.mgps-device-cards .mgps-device-daily-table > tbody > tr:not(.mgps-module-state-row) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; padding:10px 12px 12px; margin-bottom:14px; border:1px solid #dce6ef; border-radius:9px; background:#fff; box-shadow:0 3px 12px rgba(24,55,78,.04); }
.mgps-device-page.mgps-device-cards .mgps-device-row > td,.mgps-device-page.mgps-device-cards .mgps-device-daily-table > tbody > tr:not(.mgps-module-state-row) > td { display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:0; min-height:52px; padding:12px; border:0; border-radius:6px; background:#f8fbfd; }
.mgps-device-page.mgps-device-cards .mgps-module-mobile-label { display:block; flex:0 0 auto; color:#526f84; font-size:12px; font-weight:600; }
.mgps-device-page.mgps-device-cards .mgps-device-row > .mgps-device-name-cell { grid-column:1 / -1; grid-row:1; display:block; min-height:0; padding:6px 4px 12px; border-bottom:1px solid #e8eff5; border-radius:0; background:transparent; }
.mgps-device-page.mgps-device-cards .mgps-device-name-cell > .mgps-module-mobile-label { margin-bottom:7px; }
.mgps-device-page.mgps-device-cards .mgps-device-title { font-size:16px; }
.mgps-device-page.mgps-device-cards .mgps-device-row > .mgps-device-rename-cell { grid-column:1 / -1; grid-row:2; display:block; }
.mgps-device-page.mgps-device-cards .mgps-device-rename-cell > .mgps-module-mobile-label { margin-bottom:7px; }
.mgps-device-page.mgps-device-cards .mgps-device-row > .mgps-device-driver-cell { grid-column:1; grid-row:3; }
.mgps-device-page.mgps-device-cards .mgps-device-row > .mgps-device-driver-map-cell { grid-column:2; grid-row:3; }
.mgps-device-page.mgps-device-cards .mgps-device-row > .mgps-device-history-cell { grid-column:1; grid-row:4; }
.mgps-device-page.mgps-device-cards .mgps-device-row > .mgps-device-timezone-cell { grid-column:2; grid-row:4; display:block; }
.mgps-device-page.mgps-device-cards .mgps-device-timezone-cell > .mgps-module-mobile-label { margin-bottom:7px; }
.mgps-device-page.mgps-device-cards .mgps-device-row > .mgps-device-group-cell { grid-column:1 / -1; grid-row:5; }
.mgps-device-page.mgps-device-cards .mgps-module-state-row { display:block; width:100%; margin-bottom:14px; border:1px solid #dce6ef; border-radius:9px; }
.mgps-device-page.mgps-device-cards .mgps-module-state-row > td { display:block; width:100%; border:0; }
.mgps-device-page.mgps-device-cards .mgps-device-daily-table > tbody > tr.is-selected { border-color:#7ebadf; background:#f7fbff; }
.mgps-device-page.mgps-device-cards .mgps-device-daily-table input[type=checkbox] { flex-basis:22px; width:22px !important; height:22px !important; }
.mgps-device-page.mgps-device-cards .mgps-device-daily-check-cell { grid-column:1 / -1; grid-row:1; justify-content:flex-start; gap:14px; min-height:44px; padding:4px; background:transparent; }
.mgps-device-page.mgps-device-cards .mgps-device-daily-name-cell { grid-column:1 / -1; grid-row:2; display:block !important; min-height:0; padding:6px 4px 12px !important; border-bottom:1px solid #e8eff5 !important; border-radius:0 !important; background:transparent !important; }
.mgps-device-page.mgps-device-cards .mgps-device-daily-name-cell > .mgps-module-mobile-label { margin-bottom:5px; }
.mgps-device-page.mgps-device-cards .mgps-device-daily-name-cell .mgps-device-cell-value { font-size:16px; }
.mgps-device-page.mgps-device-cards .mgps-device-daily-export-cell { grid-column:1; grid-row:3; }
.mgps-device-page.mgps-device-cards .mgps-device-daily-mail-cell { grid-column:2; grid-row:3; }
.mgps-device-page.mgps-device-phone { padding-right:0; padding-left:0; }
.mgps-device-page.mgps-device-phone .mgps-device-heading,.mgps-device-page.mgps-device-phone .mgps-user-heading { flex-direction:column; align-items:stretch; gap:15px; }
.mgps-device-page.mgps-device-phone .mgps-device-heading h2 { font-size:22px; }
.mgps-device-page.mgps-device-phone .mgps-device-heading .mgps-user-button { width:100%; }
.mgps-device-page.mgps-device-phone .mgps-device-tabs { position:-webkit-sticky; position:sticky; top:0; z-index:20; overflow:visible; margin-bottom:20px; box-shadow:0 2px 5px rgba(24,55,78,.04); }
.mgps-device-page.mgps-device-phone .mgps-device-tabs > li { flex:1 1 0; min-width:0; }
.mgps-device-page.mgps-device-phone .mgps-device-tabs > li > a { gap:6px; min-height:46px; padding:11px 5px 10px; font-size:13px; line-height:20px; }
.mgps-device-page.mgps-device-phone .mgps-device-tabs svg { flex-basis:18px; width:18px; height:18px; }
.mgps-device-page.mgps-device-phone .mgps-device-tabs .mgps-device-full-label,.mgps-device-page.mgps-device-phone .mgps-device-tabs .full-label,.mgps-device-page.mgps-device-phone .mgps-device-tabs .mgps-device-tab-label { display:none; }
.mgps-device-page.mgps-device-phone .mgps-device-tabs .mgps-device-short-label,.mgps-device-page.mgps-device-phone .mgps-device-tabs .short-label,.mgps-device-page.mgps-device-phone .mgps-device-tabs .mgps-device-tab-short { display:inline; }
.mgps-device-page.mgps-device-phone .mgps-device-filters { grid-template-columns:minmax(0,1fr); padding:14px 12px; }
.mgps-device-page.mgps-device-phone .mgps-device-field .form-control,.mgps-device-page.mgps-device-phone .mgps-device-rename .form-control { min-height:44px; height:44px; }
.mgps-device-page.mgps-device-phone .mgps-device-action,.mgps-device-page.mgps-device-phone .mgps-user-button,.mgps-device-page.mgps-device-phone .mgps-device-text-button { min-height:44px; }
.mgps-device-page.mgps-device-phone .mgps-device-notice { padding:12px; }
.mgps-device-page.mgps-device-phone .mgps-device-icon-tools { padding:14px 12px; }
.mgps-device-page.mgps-device-phone .mgps-device-icon-tools > .mgps-device-field,.mgps-device-page.mgps-device-phone .mgps-device-icon-tools > .mgps-user-button { flex-basis:100%; width:100%; max-width:100%; }
.mgps-device-page.mgps-device-phone .mgps-device-table > tbody > .mgps-device-row,.mgps-device-page.mgps-device-phone .mgps-device-daily-table > tbody > tr:not(.mgps-module-state-row) { grid-template-columns:minmax(0,1fr); }
.mgps-device-page.mgps-device-phone .mgps-device-table .mgps-device-row > td { grid-column:1 / -1; grid-row:auto; display:block; }
.mgps-device-page.mgps-device-phone .mgps-device-table .mgps-module-mobile-label { margin-bottom:7px; }
.mgps-device-page.mgps-device-phone .mgps-device-rename { flex-wrap:wrap; }
.mgps-device-page.mgps-device-phone .mgps-device-rename .form-control { flex:1 1 120px; }
.mgps-device-page.mgps-device-phone .mgps-device-rename .mgps-device-save { flex:0 1 auto; }
.mgps-device-page.mgps-device-phone .mgps-device-daily-export-cell,.mgps-device-page.mgps-device-phone .mgps-device-daily-mail-cell { grid-column:1 / -1; grid-row:auto; display:block !important; }
.mgps-device-page.mgps-device-phone .mgps-device-daily-export-cell > .mgps-module-mobile-label,.mgps-device-page.mgps-device-phone .mgps-device-daily-mail-cell > .mgps-module-mobile-label { margin-bottom:7px; }
.mgps-device-page.mgps-device-phone .mgps-device-bulk { align-items:stretch; padding:16px 12px; }
.mgps-device-page.mgps-device-phone .mgps-device-bulk > * { width:100%; flex-basis:100%; }
.mgps-device-page.mgps-device-phone .mgps-device-bulk-buttons { display:grid; grid-template-columns:minmax(0,1fr); margin-left:0; }
.mgps-device-page.mgps-device-phone .mgps-device-bulk-buttons > * { width:100%; }
@media (prefers-reduced-motion:reduce) { .mgps-device-page * { scroll-behavior:auto !important; } }

/* Existing icon pickers can use either Select2 generation. */
.mgps-device-page .select2-container,.mgps-device-page .select2-container.form-control { width:100% !important; min-width:0; max-width:100%; min-height:0; height:auto; padding:0 !important; border:0 !important; border-radius:0; background:transparent !important; box-shadow:none !important; }
.mgps-device-page .select2-container > .select2-choice { box-sizing:border-box; height:42px !important; min-height:42px; padding-left:11px; border:1px solid #cddae5; border-radius:6px; background:#fff; color:#25435b; line-height:40px !important; box-shadow:none; }
.mgps-device-page .select2-container > .select2-choice .select2-arrow { top:0; bottom:0; height:auto; border-left:0; background:transparent; }
.mgps-device-page .select2-container > .select2-choice .select2-arrow b { position:absolute; top:50%; left:0; width:100%; height:34px; line-height:34px; transform:translateY(-50%); }
.mgps-device-page .select2-selection--single { box-sizing:border-box; height:42px !important; min-height:42px; border:1px solid #cddae5; border-radius:6px; background:#fff; }
.mgps-device-page .select2-selection--single .select2-selection__rendered { color:#25435b; line-height:40px; }
.mgps-device-page .select2-selection--single .select2-selection__arrow { height:40px; }
.mgps-device-page.mgps-device-phone .select2-container > .select2-choice,.mgps-device-page.mgps-device-phone .select2-selection--single { height:44px !important; min-height:44px; }
.mgps-device-page.mgps-device-phone .select2-container > .select2-choice,.mgps-device-page.mgps-device-phone .select2-selection--single .select2-selection__rendered { line-height:42px !important; }
.mgps-device-page.mgps-device-phone .select2-selection--single .select2-selection__arrow { height:42px; }

/* Preserve legacy selector classes while applying the shared neutral controls. */
.mgps-device-page .mgps-device-inline-actions .mgps-device-action { color:#0272a9 !important; background:#fff !important; border-color:#cddae5 !important; }
.mgps-device-table > thead > tr > th:nth-child(2) { width:270px; }
.mgps-device-table > thead > tr > th:nth-child(5) { width:132px; white-space:nowrap; }
.mgps-device-page .mgps-device-help-button { display:inline-flex; min-height:20px; height:20px; padding:0 2px; vertical-align:middle; font-size:14px; }


/* Device management, revision 2: calm overview and one aligned action bar. */
.mgps-device-page .mgps-device-filters { grid-template-columns:minmax(0,1fr) minmax(210px,300px) auto; }
.mgps-device-page .mgps-device-legacy-source { display:none !important; }
.mgps-device-page #example { display:block; table-layout:auto; background:transparent; }
.mgps-device-page #example > thead { display:none; }
.mgps-device-page #example > tbody { display:block; width:100%; }
.mgps-device-page #example > tbody > .mgps-device-row { display:block; width:100%; margin:0 0 14px; padding:0; border:1px solid #dce6ef; border-radius:9px; background:#fff; box-shadow:0 3px 12px rgba(24,55,78,.04); }
.mgps-device-page #example > tbody > .mgps-device-row > .mgps-device-card-cell { display:block; width:100%; padding:0; border:0; border-radius:9px; background:transparent; }
.mgps-device-page #example .mgps-device-overview { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1.1fr) minmax(0,.7fr) minmax(0,1fr); gap:20px; padding:18px 20px; }
.mgps-device-page #example .mgps-device-info { min-width:0; }
.mgps-device-page #example .mgps-device-info-label,.mgps-device-page #example .mgps-device-action-label { display:block; margin:0 0 8px; color:#58738b; font-size:12px; line-height:18px; font-weight:600; }
.mgps-device-page #example .mgps-device-cell-value { display:block; min-width:0; }
.mgps-device-page #example .mgps-device-title { font-size:15px; }
.mgps-device-page #example .mgps-device-driver-name { display:block; min-height:20px; margin:0 0 4px; }
.mgps-device-page #example .mgps-device-driver-map-cell { display:block; }
.mgps-device-page #example .mgps-device-timezone-value { min-height:24px; margin:0 0 3px; }
.mgps-device-page #example .mgps-device-timezone-cell .mgps-device-switch { display:inline-flex; }
.mgps-device-page #example .mgps-device-actionbar { display:flex; align-items:flex-end; gap:10px; padding:14px 20px; border-top:1px solid #e1ebf3; border-radius:0 0 9px 9px; background:#f8fbfd; }
.mgps-device-page #example .mgps-device-actionbar > .mgps-user-button { flex:0 0 auto; min-height:42px; height:42px; padding:8px 11px; white-space:nowrap; font-size:12px; }
.mgps-device-page #example .mgps-device-rename-wrapper { flex:1 1 300px; min-width:220px; max-width:430px; }
.mgps-device-page #example .mgps-device-rename { display:flex; flex-wrap:nowrap; align-items:center; gap:8px; }
.mgps-device-page #example .mgps-device-rename .form-control { flex:1 1 auto; min-width:0; width:0; height:42px; min-height:42px; }
.mgps-device-page #example .mgps-device-save { flex:0 0 auto; height:42px; min-height:42px; padding:8px 11px; font-size:12px; white-space:nowrap; }
.mgps-device-page #example .mgps-device-timezone-step-group { flex:0 0 auto; margin-left:auto; }
.mgps-device-page #example .mgps-device-timezone-buttons { display:flex; flex-wrap:nowrap; gap:6px; }
.mgps-device-page #example .mgps-device-timezone-step { height:42px; min-height:42px; padding:8px 10px; font-size:12px; white-space:nowrap; }
.mgps-device-page #example .mgps-module-state-row { display:block; }
.mgps-device-page #example .mgps-module-state-row > td { display:block; width:100%; }
.mgps-device-page .mgps-device-list-wrap { overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none; }
.mgps-device-page.mgps-device-cards #example .mgps-device-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }
.mgps-device-page.mgps-device-cards #example .mgps-device-actionbar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; align-items:end; }
.mgps-device-page.mgps-device-cards #example .mgps-device-rename-wrapper { grid-column:1 / -1; max-width:none; min-width:0; }
.mgps-device-page.mgps-device-cards #example .mgps-device-actionbar > .mgps-user-button { width:100%; }
.mgps-device-page.mgps-device-cards #example .mgps-device-timezone-step-group { margin-left:0; }
.mgps-device-page.mgps-device-cards #example .mgps-device-timezone-step-group .mgps-device-timezone-buttons > button { flex:1 1 0; }
.mgps-device-page.mgps-device-phone .mgps-device-filters { grid-template-columns:minmax(0,1fr); }
.mgps-device-page.mgps-device-phone #example .mgps-device-overview { grid-template-columns:minmax(0,1fr); gap:15px; padding:16px 14px; }
.mgps-device-page.mgps-device-phone #example .mgps-device-info + .mgps-device-info { padding-top:12px; border-top:1px solid #edf2f6; }
.mgps-device-page.mgps-device-phone #example .mgps-device-actionbar { grid-template-columns:minmax(0,1fr); padding:14px; }
.mgps-device-page.mgps-device-phone #example .mgps-device-actionbar > .mgps-user-button,.mgps-device-page.mgps-device-phone #example .mgps-device-save,.mgps-device-page.mgps-device-phone #example .mgps-device-rename .form-control,.mgps-device-page.mgps-device-phone #example .mgps-device-timezone-step { min-height:44px; height:44px; }
.mgps-device-page.mgps-device-phone #example .mgps-device-rename { flex-wrap:wrap; }
.mgps-device-page.mgps-device-phone #example .mgps-device-rename .form-control { flex:1 1 130px; }
.mgps-device-page.mgps-device-phone #example .mgps-device-save { flex:1 1 90px; }

.mgps-device-page .mgps-device-switch-cell { font-size:0; }
.mgps-device-page .mgps-device-switch-cell > .mgps-device-cell-value { font-size:13px; color:#526f84; }

.mgps-device-page #example .mgps-device-info { display:flex; flex-direction:column; }
.mgps-device-page #example .mgps-device-info > .mgps-device-cell-value { display:flex; flex:1 1 auto; flex-direction:column; align-items:flex-start; }
.mgps-device-page #example .mgps-device-driver-map-cell { margin-top:auto; }
.mgps-device-page #example .mgps-device-timezone-cell .mgps-device-switch { margin-top:auto; }

/* Device daily reports: shared export/mail state and contract restrictions. */
.mgps-device-page .mgps-module-badge.is-danger { color:#a63b42; background:#fff0f1; }
.mgps-device-page .mgps-device-daily-switch:disabled { cursor:default; }
.mgps-device-page .mgps-device-daily-export-cell .mgps-device-cell-value { align-items:flex-start; }

/* Device daily reports: temporary bulk-action progress overlay. */
.mgps-device-page .mgps-device-busy { position:fixed; inset:0; z-index:1060; display:flex; align-items:center; justify-content:center; padding:18px; background:rgba(235,243,249,.7); cursor:wait; }
.mgps-device-page .mgps-device-busy[hidden] { display:none !important; }
.mgps-device-page .mgps-device-busy-card { display:flex; align-items:flex-start; gap:16px; width:100%; max-width:390px; padding:24px; border:1px solid #cfe3f0; border-radius:12px; background:#fff; color:#254b66; box-shadow:0 12px 42px rgba(24,55,78,.15); text-align:left; }
.mgps-device-page .mgps-device-busy-card strong { display:block; font-size:15px; font-weight:600; line-height:1.5; }
.mgps-device-page .mgps-device-busy-card p { margin:8px 0 0; color:#6b8497; font-size:13px; line-height:1.5; }
.mgps-device-page .mgps-device-busy-spinner { flex:0 0 25px; width:25px; height:25px; margin-top:3px; border:3px solid #e2eff7; border-top-color:#0272a9; border-radius:50%; animation:mgps-device-busy-turn .8s linear infinite; }
@keyframes mgps-device-busy-turn { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .mgps-device-page .mgps-device-busy-spinner { animation:none; } }

/* Device daily reports: selection shortcuts beside each other. */
.mgps-device-page .mgps-device-selection-links { display:flex; align-items:center; flex-wrap:wrap; gap:0 8px; min-width:0; max-width:100%; }
.mgps-device-page .mgps-device-selection-separator { color:#a0b2bf; font-size:12px; }
.mgps-device-page.mgps-device-phone .mgps-device-selection-links { column-gap:6px; }
.mgps-device-page.mgps-device-phone .mgps-device-selection-links .mgps-device-text-button { font-size:12px; }
@media (max-width:380px) { .mgps-device-page .mgps-device-selection-separator { display:none; } .mgps-device-page .mgps-device-selection-links .mgps-device-text-button { min-height:32px; } }

/* Cloud upload module, 20261028-cloud-1. Append to layout_modules.css. */
.mgps-cloud-content { min-width:0; }
.mgps-cloud-content > .mgps-cloud-scroll { min-width:0; overflow-y:scroll; overflow-x:hidden; -webkit-overflow-scrolling:touch; overscroll-behavior-y:contain; }
.mgps-cloud-content .panel { margin-bottom:0; border:0; background:#fff; box-shadow:none; }
.mgps-cloud-content .panel > .panel-body { padding:16px; background:#fff; }
.mgps-cloud-page { width:100%; min-width:0; padding:8px 6px 24px; }
.mgps-cloud-page button { font-family:inherit; }
.mgps-cloud-page .mgps-user-heading { align-items:flex-start; flex-wrap:wrap; gap:15px; margin-bottom:16px; }
.mgps-cloud-page .mgps-user-heading h2 { line-height:1.25; }
.mgps-cloud-page .mgps-user-heading p { max-width:900px; }
.mgps-cloud-page .mgps-user-button { min-height:42px; max-width:100%; color:#0272a9; white-space:normal; }
.mgps-cloud-page .mgps-user-button:hover { border-color:#b5d1e3; color:#025e8b; background:#eef7fd; }
.mgps-cloud-page .mgps-user-button.mgps-user-primary { color:#fff; }
.mgps-cloud-page button:focus-visible,.mgps-cloud-page input:focus-visible,.mgps-cloud-page select:focus-visible,.mgps-cloud-tabs a:focus-visible { outline:3px solid #0272a9; outline-offset:3px; }
.mgps-cloud-page tr[hidden] { display:none !important; }
.mgps-cloud-tabs { display:flex; align-items:stretch; flex-wrap:nowrap; gap:0; width:100%; max-width:100%; margin:0 0 24px; padding:0; list-style:none; border:0; border-bottom:1px solid #c7ddec; background:#fff; float:none; }
.mgps-cloud-tabs > li { float:none; flex:0 1 auto; min-width:0; margin:0 0 -1px; }
.mgps-cloud-tabs > li > a { display:flex; align-items:center; justify-content:center; gap:10px; min-height:51px; margin:0; padding:13px 22px 14px; border:0; border-bottom:3px solid transparent; border-radius:0; background:transparent; color:#375970; font-size:14px; font-weight:400; line-height:20px; text-decoration:none; cursor:pointer; }
.mgps-cloud-tabs > li > a:hover { border-color:#d6e8f3; background:#f7fbfe; color:#007eaf; }
.mgps-cloud-tabs > li.active > a,.mgps-cloud-tabs > li.active > a:hover,.mgps-cloud-tabs > li.active > a:focus { border:0; border-bottom:3px solid #007eaf; background:transparent; color:#007eaf; font-weight:600; }
.mgps-cloud-tabs svg { display:block; flex:0 0 22px; width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.mgps-cloud-tabs .mgps-cloud-short-label { display:none; }
.mgps-cloud-provider-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:18px; margin:22px 0 0; }
.mgps-cloud-provider { display:flex; flex-direction:column; min-width:0; padding:22px; border:1px solid #dce6ef; border-radius:9px; background:#fff; box-shadow:0 3px 12px rgba(24,55,78,.04); }
.mgps-cloud-provider-heading { display:flex; align-items:center; gap:12px; margin:0 0 15px; min-width:0; }
.mgps-cloud-provider-heading > svg { display:block; flex:0 0 42px; width:42px; height:42px; padding:8px; border-radius:9px; background:#edf6fd; color:#0272a9; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.mgps-cloud-provider-heading h3 { margin:0; color:#18374e; font-size:18px; font-weight:600; line-height:1.4; }
.mgps-cloud-quota { min-height:56px; margin:0 0 18px; color:#526f84; font-size:13px; line-height:1.65; overflow-wrap:anywhere; }
.mgps-cloud-quota p { margin:0; }
.mgps-cloud-quota * { max-width:100%; }
.mgps-cloud-quota b,.mgps-cloud-quota strong { color:#254b66; font-weight:600; }
.mgps-cloud-quota img { max-width:100%; height:auto; }
.mgps-cloud-quota.is-error { color:#a63b42; }
.mgps-cloud-provider-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:10px; margin-top:auto; padding-top:16px; border-top:1px solid #e8eff5; }
.mgps-cloud-provider-actions > .mgps-user-button { width:100%; height:42px; min-width:0; padding:8px 10px; font-size:13px; line-height:20px; }
.mgps-cloud-provider-actions .fa { flex:0 0 auto; }
.mgps-cloud-notice { display:flex; align-items:flex-start; gap:10px; margin:0 0 20px; padding:13px 15px; border:1px solid #d8e8f4; border-radius:7px; background:#f3f9fd; color:#4b6c82; font-size:13px; }
.mgps-cloud-notice > .fa { flex:0 0 auto; margin-top:3px; color:#2788b4; font-size:16px; }
.mgps-cloud-notice > div { min-width:0; overflow-wrap:anywhere; }
.mgps-cloud-notice p:last-child { margin-bottom:0; }
.mgps-cloud-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:24px 0 16px; }
.mgps-cloud-toolbar h3 { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin:0; color:#18374e; font-size:18px; font-weight:600; }
.mgps-cloud-toolbar p { margin:5px 0 0; color:#526f84; font-size:13px; }
.mgps-cloud-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,260px) auto; align-items:end; gap:14px; margin:0 0 18px; padding:16px; border:1px solid #dce6ef; border-radius:7px; background:#fbfdff; }
.mgps-cloud-field { min-width:0; }
.mgps-cloud-field > label { display:block; margin:0 0 7px; color:#526f84; font-size:12px; font-weight:600; }
.mgps-cloud-field .form-control { box-sizing:border-box; width:100%; max-width:100%; height:42px; min-height:42px; padding:9px 11px; border:1px solid #cddae5; border-radius:6px; background:#fff; color:#25435b; font:inherit; font-size:13px; line-height:22px; box-shadow:none; }
.mgps-cloud-field select.form-control { padding-right:25px; cursor:pointer; }
.mgps-cloud-search { position:relative; }
.mgps-cloud-search > .fa { position:absolute; top:14px; left:13px; color:#8193a1; pointer-events:none; }
.mgps-cloud-search > input.form-control { padding-left:36px; }
.mgps-cloud-text-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; max-width:100%; min-height:42px; padding:6px 2px; border:0; border-radius:3px; background:transparent; color:#0272a9; font:inherit; font-size:13px; line-height:1.4; text-align:left; cursor:pointer; }
.mgps-cloud-text-button:hover { color:#025e8b; text-decoration:underline; }
.mgps-cloud-text-button:disabled { opacity:.55; cursor:default; text-decoration:none; }
.mgps-cloud-page .mgps-cloud-cell-value { min-width:0; max-width:100%; overflow-wrap:anywhere; word-break:break-word; }
.mgps-cloud-title { display:block; color:#254b66; font-weight:600; }
.mgps-cloud-imei { display:block; margin-top:4px; color:#70899b; font-size:12px; font-weight:400; }
.mgps-cloud-page .mgps-cloud-legacy-imei { display:none !important; }
.mgps-cloud-table > thead > tr > th:first-child { width:65px; }
.mgps-cloud-table > thead > tr > .mgps-cloud-mail-cell,.mgps-cloud-table > thead > tr > .mgps-cloud-dropbox-cell,.mgps-cloud-table > thead > tr > .mgps-cloud-hidrive-cell { width:170px; }
.mgps-cloud-table > tbody > tr > td { padding:14px 12px; }
.mgps-cloud-mail-cell .mgps-cloud-cell-value,.mgps-cloud-dropbox-cell .mgps-cloud-cell-value,.mgps-cloud-hidrive-cell .mgps-cloud-cell-value { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.mgps-cloud-page .mgps-cloud-switch { min-height:44px; max-width:100%; font-size:13px; }
.mgps-cloud-page .mgps-cloud-switch .mgps-alert-switch-label { min-width:0; overflow-wrap:anywhere; }
.mgps-cloud-page .mgps-cloud-switch:disabled { cursor:default; }
.mgps-cloud-page .mgps-cloud-switch[aria-busy=true] { cursor:progress; }
.mgps-cloud-page .mgps-cloud-switch[aria-busy=true] .mgps-alert-switch-track { opacity:.65; }
.mgps-cloud-page .mgps-module-badge { max-width:100%; white-space:normal; overflow-wrap:anywhere; font-size:11px; }
.mgps-cloud-page .mgps-module-badge.is-danger { color:#a63b42; background:#fff0f1; }
.mgps-cloud-table > tbody > tr.is-selected { background:#f0f8fe; }
.mgps-cloud-page .mgps-cloud-table input[type=checkbox] { position:static !important; display:inline-block !important; flex:0 0 18px; width:18px !important; height:18px !important; margin:0; opacity:1 !important; appearance:auto; -webkit-appearance:checkbox; pointer-events:auto !important; vertical-align:middle; accent-color:#0272a9; cursor:pointer; }
.mgps-cloud-page .mgps-cloud-table input[type=checkbox] + label { position:absolute !important; width:1px !important; height:1px !important; min-height:0 !important; margin:-1px !important; padding:0 !important; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0; }
.mgps-cloud-page .mgps-cloud-table input[type=checkbox] + label::before,.mgps-cloud-page .mgps-cloud-table input[type=checkbox] + label::after { display:none !important; }
.mgps-cloud-selection-tools { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:5px 15px; margin:5px 0 0; }
.mgps-cloud-selection-tools > span { color:#6a8194; font-size:12px; }
.mgps-cloud-selection-links { display:flex; align-items:center; flex-wrap:wrap; gap:0 8px; min-width:0; max-width:100%; }
.mgps-cloud-selection-separator { color:#a0b2bf; font-size:12px; }
.mgps-cloud-bulk { display:flex; align-items:flex-end; flex-wrap:wrap; gap:16px; margin-top:12px; padding:18px; border:1px solid #cde1f0; border-radius:7px; background:#f1f8fd; }
.mgps-cloud-selection-copy { flex:1 1 230px; min-width:0; }
.mgps-cloud-selection-copy h4 { margin:0; color:#18374e; font-size:16px; font-weight:600; line-height:1.4; }
.mgps-cloud-selection-copy p { margin:5px 0 0; color:#526f84; font-size:13px; }
.mgps-cloud-bulk > .mgps-cloud-field { flex:0 1 200px; }
.mgps-cloud-bulk-buttons { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; margin-left:auto; max-width:100%; }
.mgps-cloud-help { margin-top:25px; padding-top:16px; border-top:1px solid #e1ebf3; color:#526f84; font-size:13px; }
.mgps-cloud-help h3 { margin:0 0 10px; color:#375970; font-size:16px; font-weight:600; line-height:1.4; }
.mgps-cloud-help p { max-width:980px; margin:0 0 10px; }
.mgps-cloud-page.mgps-cloud-cards .mgps-cloud-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
.mgps-cloud-page.mgps-cloud-cards .mgps-cloud-filters > .mgps-cloud-text-button { justify-self:start; }
.mgps-cloud-page.mgps-cloud-cards .mgps-module-table-wrap { overflow:visible; border:0; border-radius:0; box-shadow:none; background:transparent; }
.mgps-cloud-page.mgps-cloud-cards .mgps-cloud-table,.mgps-cloud-page.mgps-cloud-cards .mgps-cloud-table > tbody { display:block; width:100%; background:transparent; }
.mgps-cloud-page.mgps-cloud-cards .mgps-cloud-table > thead { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); border:0; white-space:nowrap; }
.mgps-cloud-page.mgps-cloud-cards .mgps-cloud-table > tbody > .mgps-cloud-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; padding:10px 12px 12px; margin-bottom:14px; border:1px solid #dce6ef; border-radius:9px; background:#fff; box-shadow:0 3px 12px rgba(24,55,78,.04); }
.mgps-cloud-page.mgps-cloud-cards .mgps-cloud-row > td { display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:0; min-height:54px; padding:12px; border:0; border-radius:6px; background:#f8fbfd; }
.mgps-cloud-page.mgps-cloud-cards .mgps-cloud-row > .mgps-cloud-check-cell { grid-column:1 / -1; justify-content:flex-start; min-height:40px; padding:4px; background:transparent; }
.mgps-cloud-page.mgps-cloud-cards .mgps-cloud-row > .mgps-cloud-name-cell { grid-column:1 / -1; display:block; min-height:0; padding:6px 4px 12px; border-bottom:1px solid #e8eff5; border-radius:0; background:transparent; }
.mgps-cloud-page.mgps-cloud-cards .mgps-module-mobile-label { display:block; flex:0 0 auto; color:#526f84; font-size:12px; font-weight:600; }
.mgps-cloud-page.mgps-cloud-cards .mgps-cloud-name-cell > .mgps-module-mobile-label { margin-bottom:5px; }
.mgps-cloud-page.mgps-cloud-cards .mgps-cloud-title { font-size:16px; }
.mgps-cloud-page.mgps-cloud-cards .mgps-cloud-table > tbody > tr.is-selected { border-color:#7ebadf; background:#f7fbff; }
.mgps-cloud-page.mgps-cloud-cards .mgps-cloud-table input[type=checkbox] { flex-basis:22px; width:22px !important; height:22px !important; }
.mgps-cloud-page.mgps-cloud-cards .mgps-module-state-row { display:block; width:100%; margin-bottom:14px; border:1px solid #dce6ef; border-radius:9px; }
.mgps-cloud-page.mgps-cloud-cards .mgps-module-state-row > td { display:block; width:100%; border:0; }
.mgps-cloud-page.mgps-cloud-phone { padding-right:0; padding-left:0; }
.mgps-cloud-page.mgps-cloud-phone .mgps-user-heading { flex-direction:column; align-items:stretch; }
.mgps-cloud-page.mgps-cloud-phone .mgps-user-heading h2 { font-size:22px; }
.mgps-cloud-page.mgps-cloud-phone .mgps-cloud-tabs { position:-webkit-sticky; position:sticky; top:0; z-index:20; overflow:visible; margin-bottom:20px; box-shadow:0 2px 5px rgba(24,55,78,.04); }
.mgps-cloud-page.mgps-cloud-phone .mgps-cloud-tabs > li { flex:1 1 0; min-width:0; }
.mgps-cloud-page.mgps-cloud-phone .mgps-cloud-tabs > li > a { gap:6px; min-height:46px; padding:11px 5px 10px; font-size:13px; line-height:20px; }
.mgps-cloud-page.mgps-cloud-phone .mgps-cloud-tabs svg { flex-basis:18px; width:18px; height:18px; }
.mgps-cloud-page.mgps-cloud-phone .mgps-cloud-tabs .mgps-cloud-full-label { display:none; }
.mgps-cloud-page.mgps-cloud-phone .mgps-cloud-tabs .mgps-cloud-short-label { display:inline; }
.mgps-cloud-page.mgps-cloud-phone .mgps-cloud-provider-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
.mgps-cloud-page.mgps-cloud-phone .mgps-cloud-provider { padding:18px 14px; }
.mgps-cloud-page.mgps-cloud-phone .mgps-cloud-provider-actions { gap:8px; }
.mgps-cloud-page.mgps-cloud-phone .mgps-cloud-provider-actions > .mgps-user-button { min-height:44px; height:44px; font-size:12px; }
.mgps-cloud-page.mgps-cloud-phone .mgps-cloud-filters { grid-template-columns:minmax(0,1fr); padding:14px 12px; }
.mgps-cloud-page.mgps-cloud-phone .mgps-cloud-field .form-control { min-height:44px; height:44px; }
.mgps-cloud-page.mgps-cloud-phone .mgps-user-button,.mgps-cloud-page.mgps-cloud-phone .mgps-cloud-text-button { min-height:44px; }
.mgps-cloud-page.mgps-cloud-phone .mgps-cloud-notice { padding:12px; }
.mgps-cloud-page.mgps-cloud-phone .mgps-cloud-table > tbody > .mgps-cloud-row { grid-template-columns:minmax(0,1fr); }
.mgps-cloud-page.mgps-cloud-phone .mgps-cloud-table .mgps-cloud-row > td:not(.mgps-cloud-legacy-imei) { grid-column:1 / -1; }
.mgps-cloud-page.mgps-cloud-phone .mgps-cloud-bulk { align-items:stretch; padding:16px 12px; }
.mgps-cloud-page.mgps-cloud-phone .mgps-cloud-bulk > * { width:100%; flex-basis:100%; }
.mgps-cloud-page.mgps-cloud-phone .mgps-cloud-bulk-buttons { display:grid; grid-template-columns:minmax(0,1fr); margin-left:0; }
.mgps-cloud-page.mgps-cloud-phone .mgps-cloud-bulk-buttons > * { width:100%; }
.mgps-cloud-page.mgps-cloud-phone .mgps-cloud-selection-links { column-gap:6px; }
.mgps-cloud-page.mgps-cloud-phone .mgps-cloud-selection-links .mgps-cloud-text-button { font-size:12px; }
.mgps-cloud-page .mgps-cloud-busy { position:fixed; inset:0; z-index:1060; display:flex; align-items:center; justify-content:center; padding:18px; background:rgba(235,243,249,.7); cursor:wait; }
.mgps-cloud-page .mgps-cloud-busy[hidden] { display:none !important; }
.mgps-cloud-page .mgps-cloud-busy-card { display:flex; align-items:flex-start; gap:16px; width:100%; max-width:390px; padding:24px; border:1px solid #cfe3f0; border-radius:12px; background:#fff; color:#254b66; box-shadow:0 12px 42px rgba(24,55,78,.15); text-align:left; }
.mgps-cloud-page .mgps-cloud-busy-card strong { display:block; font-size:15px; font-weight:600; line-height:1.5; }
.mgps-cloud-page .mgps-cloud-busy-card p { margin:8px 0 0; color:#6b8497; font-size:13px; line-height:1.5; }
.mgps-cloud-page .mgps-cloud-busy-spinner { flex:0 0 25px; width:25px; height:25px; margin-top:3px; border:3px solid #e2eff7; border-top-color:#0272a9; border-radius:50%; animation:mgps-cloud-busy-turn .8s linear infinite; }
@keyframes mgps-cloud-busy-turn { to { transform:rotate(360deg); } }
@media (max-width:380px) { .mgps-cloud-page .mgps-cloud-selection-separator { display:none; } .mgps-cloud-page .mgps-cloud-selection-links .mgps-cloud-text-button { min-height:32px; } }
@media (prefers-reduced-motion:reduce) { .mgps-cloud-page .mgps-cloud-busy-spinner { animation:none; } .mgps-cloud-page * { scroll-behavior:auto !important; } }
/* Live shares, 20261028-shares-1. Append to layout_modules.css. */
.mgps-share-content { min-width:0; }
.mgps-share-content > .mgps-share-scroll { min-width:0; overflow-y:scroll; overflow-x:hidden; -webkit-overflow-scrolling:touch; overscroll-behavior-y:contain; }
.mgps-share-content .panel { margin-bottom:0; border:0; background:#fff; box-shadow:none; }
.mgps-share-content .panel > .panel-body { padding:16px; background:#fff; }
.mgps-share-page { width:100%; min-width:0; padding:8px 6px 24px; }
.mgps-share-page button { font-family:inherit; }
.mgps-share-page .mgps-user-heading { align-items:flex-start; flex-wrap:wrap; gap:15px; margin-bottom:16px; }
.mgps-share-page .mgps-user-heading > div { min-width:0; }
.mgps-share-page .mgps-user-heading h2 { line-height:1.25; }
.mgps-share-page .mgps-user-heading p { max-width:900px; overflow-wrap:anywhere; }
.mgps-share-page .mgps-user-button { min-height:42px; max-width:100%; color:#0272a9; white-space:normal; }
.mgps-share-page .mgps-user-button:hover { border-color:#b5d1e3; color:#025e8b; background:#eef7fd; }
.mgps-share-page .mgps-user-button.mgps-user-primary { color:#fff; }
.mgps-share-page button:focus-visible,.mgps-share-page input:focus-visible,.mgps-share-page select:focus-visible,.mgps-share-tabs a:focus-visible { outline:3px solid #0272a9; outline-offset:3px; }
.mgps-share-page tr[hidden] { display:none !important; }
.mgps-share-tabs { display:flex; align-items:stretch; flex-wrap:nowrap; gap:0; width:100%; max-width:100%; margin:0 0 24px; padding:0; list-style:none; border:0; border-bottom:1px solid #c7ddec; background:#fff; float:none; }
.mgps-share-tabs > li { float:none; flex:0 1 auto; min-width:0; margin:0 0 -1px; }
.mgps-share-tabs > li > a { display:flex; align-items:center; justify-content:center; gap:10px; min-height:51px; margin:0; padding:13px 22px 14px; border:0; border-bottom:3px solid transparent; border-radius:0; background:transparent; color:#375970; font-size:14px; font-weight:400; line-height:20px; text-decoration:none; cursor:pointer; }
.mgps-share-tabs > li > a:hover { border-color:#d6e8f3; background:#f7fbfe; color:#007eaf; }
.mgps-share-tabs > li.active > a,.mgps-share-tabs > li.active > a:hover,.mgps-share-tabs > li.active > a:focus { border:0; border-bottom:3px solid #007eaf; background:transparent; color:#007eaf; font-weight:600; }
.mgps-share-tabs svg { display:block; flex:0 0 22px; width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.mgps-share-tabs .mgps-share-short-label { display:none; white-space:nowrap; }
.mgps-share-quota { display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; min-width:0; max-width:100%; color:#6a8194; font-size:12px; line-height:1.5; }
.mgps-share-quota #contingent { display:inline-flex; align-items:center; gap:4px; max-width:100%; padding:5px 10px; border:1px solid #d6e6f1; border-radius:20px; background:#f2f8fd; color:#375970; font-weight:600; overflow-wrap:anywhere; }
.mgps-share-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:24px 0 16px; }
.mgps-share-toolbar > div { min-width:0; }
.mgps-share-toolbar h3 { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin:0; color:#18374e; font-size:18px; font-weight:600; line-height:1.4; }
.mgps-share-toolbar p { margin:5px 0 0; color:#526f84; font-size:13px; }
.mgps-share-notice { display:flex; align-items:flex-start; gap:10px; margin:0 0 20px; padding:13px 15px; border:1px solid #d8e8f4; border-radius:7px; background:#f3f9fd; color:#4b6c82; font-size:13px; }
.mgps-share-notice > .fa { flex:0 0 auto; margin-top:3px; color:#2788b4; font-size:16px; }
.mgps-share-notice > div { min-width:0; overflow-wrap:anywhere; }
.mgps-share-notice p:last-child { margin-bottom:0; }
.mgps-share-notice.is-warning { border-color:#ecdfbc; background:#fffbf1; color:#806328; }
.mgps-share-notice.is-warning > .fa { color:#ac812a; }
.mgps-share-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,260px) auto; align-items:end; gap:14px; margin:0 0 18px; padding:16px; border:1px solid #dce6ef; border-radius:7px; background:#fbfdff; }
.mgps-share-field { min-width:0; }
.mgps-share-field > label { display:block; margin:0 0 7px; color:#526f84; font-size:12px; font-weight:600; }
.mgps-share-field .form-control { box-sizing:border-box; width:100%; max-width:100%; height:42px; min-height:42px; padding:9px 11px; border:1px solid #cddae5; border-radius:6px; background:#fff; color:#25435b; font:inherit; font-size:13px; line-height:22px; box-shadow:none; }
.mgps-share-field select.form-control { padding-right:25px; cursor:pointer; }
.mgps-share-search { position:relative; }
.mgps-share-search > .fa { position:absolute; top:14px; left:13px; color:#8193a1; pointer-events:none; }
.mgps-share-search > input.form-control { padding-left:36px; }
.mgps-share-text-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; max-width:100%; min-height:42px; padding:6px 2px; border:0; border-radius:3px; background:transparent; color:#0272a9; font:inherit; font-size:13px; line-height:1.4; text-align:left; cursor:pointer; }
.mgps-share-text-button:hover { color:#025e8b; text-decoration:underline; }
.mgps-share-text-button:disabled { opacity:.55; cursor:default; text-decoration:none; }
.mgps-share-page .mgps-share-cell-value { min-width:0; max-width:100%; overflow-wrap:anywhere; word-break:break-word; }
.mgps-share-title,.mgps-share-device-name { display:block; color:#254b66; font-weight:600; overflow-wrap:anywhere; }
.mgps-share-imei { display:block; margin-top:4px; color:#70899b; font-size:12px; font-weight:400; }
.mgps-share-page .mgps-share-legacy-imei,.mgps-share-page .mgps-share-legacy-spare,.mgps-share-page .mgps-share-device-spare-cell { display:none !important; }
.mgps-share-table > thead > tr > th:first-child,.mgps-share-device-table > thead > tr > th:first-child { width:58px; }
.mgps-share-table > thead > tr > th:nth-child(3) { width:170px; }
.mgps-share-table > thead > tr > th:nth-child(4) { width:520px; text-align:right; }
.mgps-share-table > tbody > tr > td,.mgps-share-device-table > tbody > tr > td { padding:14px 12px; }
.mgps-share-page .mgps-share-check-cell { cursor:pointer; }
.mgps-share-page .mgps-share-name-cell { min-width:0; }
.mgps-share-device-filters { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; margin:18px 0; padding:16px; border:1px solid #dce6ef; border-radius:7px; background:#fbfdff; }
.mgps-share-status-cell > .mgps-share-cell-value { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; }
.mgps-share-status-cell .mgps-share-switch > .mgps-alert-switch-label { display:none; }
.mgps-share-state { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; min-width:0; max-width:100%; }
.mgps-share-page .mgps-share-switch,.mgps-share-page .mgps-share-facebook-switch { min-height:44px; max-width:100%; font-size:13px; }
.mgps-share-page .mgps-share-switch .mgps-alert-switch-label,.mgps-share-page .mgps-share-facebook-switch .mgps-alert-switch-label { min-width:0; overflow-wrap:anywhere; }
.mgps-share-page .mgps-share-switch:disabled,.mgps-share-page .mgps-share-facebook-switch:disabled { cursor:default; }
.mgps-share-page .mgps-share-switch[aria-busy=true],.mgps-share-page .mgps-share-facebook-switch[aria-busy=true] { cursor:progress; }
.mgps-share-page .mgps-share-switch[aria-busy=true] .mgps-alert-switch-track,.mgps-share-page .mgps-share-facebook-switch[aria-busy=true] .mgps-alert-switch-track { opacity:.65; }
.mgps-share-page .mgps-module-badge { max-width:100%; white-space:normal; overflow-wrap:anywhere; font-size:11px; }
.mgps-share-page .mgps-module-badge.is-success,.mgps-share-status.is-success { color:#277943; background:#e4f4e8; }
.mgps-share-page .mgps-module-badge.is-warning,.mgps-share-status.is-warning { color:#8c691b; background:#fff4d8; }
.mgps-share-page .mgps-module-badge.is-danger,.mgps-share-status.is-danger { color:#a63b42; background:#fff0f1; }
.mgps-share-status::before { content:''; flex:0 0 6px; width:6px; height:6px; border-radius:50%; background:currentColor; }
.mgps-share-page .mgps-share-actions-cell > .mgps-share-cell-value,.mgps-share-row-actions,.mgps-share-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; min-width:0; max-width:100%; }
.mgps-share-page .mgps-share-actions-cell .mgps-user-button { min-height:42px; padding:9px 11px; font-size:12px; line-height:20px; }
.mgps-share-page .mgps-share-action.is-danger { color:#a34242; border-color:#e5c4c4; background:#fffafa; }
.mgps-share-page .mgps-share-action.is-danger:hover { color:#8d3434; border-color:#d6abab; background:#fceeee; }
.mgps-share-table > tbody > tr.is-selected,.mgps-share-device-table > tbody > tr.is-selected { background:#f0f8fe; }
.mgps-share-page .mgps-share-table input[type=checkbox],.mgps-share-page .mgps-share-device-table input[type=checkbox] { position:static !important; display:inline-block !important; flex:0 0 18px; width:18px !important; height:18px !important; margin:0; opacity:1 !important; appearance:auto; -webkit-appearance:checkbox; pointer-events:auto !important; vertical-align:middle; accent-color:#0272a9; cursor:pointer; }
.mgps-share-page .mgps-share-table input[type=checkbox] + label,.mgps-share-page .mgps-share-device-table input[type=checkbox] + label { position:absolute !important; width:1px !important; height:1px !important; min-height:0 !important; margin:-1px !important; padding:0 !important; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0; }
.mgps-share-page .mgps-share-table input[type=checkbox] + label::before,.mgps-share-page .mgps-share-table input[type=checkbox] + label::after,.mgps-share-page .mgps-share-device-table input[type=checkbox] + label::before,.mgps-share-page .mgps-share-device-table input[type=checkbox] + label::after { display:none !important; }
.mgps-share-page .mgps-share-table [class*=icheckbox],.mgps-share-page .mgps-share-device-table [class*=icheckbox] { display:inline-flex !important; align-items:center; width:auto !important; height:auto !important; margin:0 !important; padding:0 !important; border:0 !important; background:none !important; box-shadow:none !important; }
.mgps-share-page .mgps-share-table .iCheck-helper,.mgps-share-page .mgps-share-device-table .iCheck-helper { display:none !important; }
.mgps-share-selection-tools { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:5px 15px; margin:5px 0 0; }
.mgps-share-selection-tools > span { color:#6a8194; font-size:12px; }
.mgps-share-selection-links { display:flex; align-items:center; flex-wrap:wrap; gap:0 8px; min-width:0; max-width:100%; }
.mgps-share-selection-separator { color:#a0b2bf; font-size:12px; }
.mgps-share-bulk { display:flex; align-items:flex-end; flex-wrap:wrap; gap:16px; margin-top:12px; padding:18px; border:1px solid #cde1f0; border-radius:7px; background:#f1f8fd; }
.mgps-share-selection-copy { flex:1 1 230px; min-width:0; }
.mgps-share-selection-copy h4 { margin:0; color:#18374e; font-size:16px; font-weight:600; line-height:1.4; }
.mgps-share-selection-copy p { margin:5px 0 0; color:#526f84; font-size:13px; }
.mgps-share-bulk > .mgps-share-field { flex:0 1 200px; }
.mgps-share-bulk-buttons { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; margin-left:auto; max-width:100%; }
.mgps-share-bulk-buttons > .mgps-user-button,.mgps-share-bulk-buttons > .mgps-share-text-button { min-height:42px; }
.mgps-share-create-form { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:14px 16px; margin-top:18px; padding:18px; border:1px solid #cde1f0; border-radius:7px; background:#f1f8fd; }
.mgps-share-create-form > .mgps-share-field { flex:1 1 300px; }
.mgps-share-create-form > .mgps-user-button { flex:0 1 auto; min-height:42px; margin-top:25px; }
.mgps-share-create-form > .mgps-share-selection-copy { flex:1 1 100%; }
.mgps-share-create-form .mgps-share-selection-copy p { max-width:900px; }
.mgps-share-create-form #mgpsShareDevicesSelected { margin:7px 0 0; color:#526f84; font-size:12px; line-height:18px; }
.mgps-share-options { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 20px; margin-top:24px; padding:18px 0 0; border-top:1px solid #e1ebf3; }
.mgps-share-options > div { flex:1 1 300px; min-width:0; }
.mgps-share-options h3 { margin:0 0 9px; color:#375970; font-size:16px; font-weight:600; line-height:1.4; }
.mgps-share-options p { max-width:980px; margin:0 0 9px; color:#526f84; font-size:13px; }
.mgps-share-options .mgps-share-facebook-switch { margin-top:3px; }
.mgps-share-help { margin-top:25px; padding-top:16px; border-top:1px solid #e1ebf3; color:#526f84; font-size:13px; }
.mgps-share-help h3 { margin:0 0 10px; color:#375970; font-size:16px; font-weight:600; line-height:1.4; }
.mgps-share-help p { max-width:980px; margin:0 0 10px; overflow-wrap:anywhere; }
.mgps-share-page.mgps-share-cards .mgps-share-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
.mgps-share-page.mgps-share-cards .mgps-share-filters > .mgps-share-text-button { justify-self:start; }
.mgps-share-page.mgps-share-cards .mgps-module-table-wrap { overflow:visible; border:0; border-radius:0; box-shadow:none; background:transparent; }
.mgps-share-page.mgps-share-cards .mgps-share-table,.mgps-share-page.mgps-share-cards .mgps-share-table > tbody,.mgps-share-page.mgps-share-cards .mgps-share-device-table,.mgps-share-page.mgps-share-cards .mgps-share-device-table > tbody { display:block; width:100%; background:transparent; }
.mgps-share-page.mgps-share-cards .mgps-share-table > thead,.mgps-share-page.mgps-share-cards .mgps-share-device-table > thead { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); border:0; white-space:nowrap; }
.mgps-share-page.mgps-share-cards .mgps-share-table > tbody > .mgps-share-row,.mgps-share-page.mgps-share-cards .mgps-share-device-table > tbody > .mgps-share-device-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; padding:10px 12px 12px; margin-bottom:14px; border:1px solid #dce6ef; border-radius:9px; background:#fff; box-shadow:0 3px 12px rgba(24,55,78,.04); }
.mgps-share-page.mgps-share-cards .mgps-share-row > td,.mgps-share-page.mgps-share-cards .mgps-share-device-row > td { display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:0; min-height:54px; padding:12px; border:0; border-radius:6px; background:#f8fbfd; }
.mgps-share-page.mgps-share-cards .mgps-share-row > .mgps-share-check-cell,.mgps-share-page.mgps-share-cards .mgps-share-device-row > .mgps-share-check-cell { grid-column:1 / -1; justify-content:flex-start; min-height:40px; padding:4px; background:transparent; }
.mgps-share-page.mgps-share-cards .mgps-share-row > .mgps-share-name-cell,.mgps-share-page.mgps-share-cards .mgps-share-device-row > .mgps-share-device-name-cell { grid-column:1 / -1; display:block; min-height:0; padding:6px 4px 12px; border-bottom:1px solid #e8eff5; border-radius:0; background:transparent; }
.mgps-share-page.mgps-share-cards .mgps-share-device-row > .mgps-share-device-name-cell { border-bottom:0; padding-bottom:6px; }
.mgps-share-page.mgps-share-cards .mgps-module-mobile-label { display:block; flex:0 0 auto; color:#526f84; font-size:12px; font-weight:600; }
.mgps-share-page.mgps-share-cards .mgps-share-name-cell > .mgps-module-mobile-label,.mgps-share-page.mgps-share-cards .mgps-share-device-name-cell > .mgps-module-mobile-label { margin-bottom:5px; }
.mgps-share-page.mgps-share-cards .mgps-share-title,.mgps-share-page.mgps-share-cards .mgps-share-device-name { font-size:16px; }
.mgps-share-page.mgps-share-cards .mgps-share-row > .mgps-share-status-cell,.mgps-share-page.mgps-share-cards .mgps-share-row > .mgps-share-actions-cell { grid-column:1 / -1; }
.mgps-share-page.mgps-share-cards .mgps-share-status-cell > .mgps-share-cell-value { flex:0 1 auto; }
.mgps-share-page.mgps-share-cards .mgps-share-status-cell .mgps-share-state { justify-content:flex-end; }
.mgps-share-page.mgps-share-cards .mgps-share-actions-cell > .mgps-share-cell-value { flex:1 1 auto; }
.mgps-share-page.mgps-share-cards .mgps-share-actions-cell > .mgps-share-cell-value > .mgps-share-row-actions { width:100%; }
.mgps-share-page.mgps-share-cards .mgps-share-table > tbody > tr.is-selected,.mgps-share-page.mgps-share-cards .mgps-share-device-table > tbody > tr.is-selected { border-color:#7ebadf; background:#f7fbff; }
.mgps-share-page.mgps-share-cards .mgps-share-table input[type=checkbox],.mgps-share-page.mgps-share-cards .mgps-share-device-table input[type=checkbox] { flex-basis:22px; width:22px !important; height:22px !important; }
.mgps-share-page.mgps-share-cards .mgps-module-state-row { display:block; width:100%; margin-bottom:14px; border:1px solid #dce6ef; border-radius:9px; }
.mgps-share-page.mgps-share-cards .mgps-module-state-row > td { display:block; width:100%; border:0; }
.mgps-share-page.mgps-share-phone { padding-right:0; padding-left:0; }
.mgps-share-page.mgps-share-phone .mgps-user-heading { flex-direction:column; align-items:stretch; gap:12px; }
.mgps-share-page.mgps-share-phone .mgps-user-heading h2 { font-size:22px; }
.mgps-share-page.mgps-share-phone .mgps-share-tabs { position:-webkit-sticky; position:sticky; top:0; z-index:20; overflow:visible; margin-bottom:20px; box-shadow:0 2px 5px rgba(24,55,78,.04); }
.mgps-share-page.mgps-share-phone .mgps-share-tabs > li { flex:1 1 0; min-width:0; }
.mgps-share-page.mgps-share-phone .mgps-share-tabs > li > a { gap:6px; height:46px; min-height:46px; padding:11px 5px 10px; font-size:13px; line-height:20px; }
.mgps-share-page.mgps-share-phone .mgps-share-tabs svg { flex-basis:18px; width:18px; height:18px; }
.mgps-share-page.mgps-share-phone .mgps-share-tabs .mgps-share-full-label { display:none; }
.mgps-share-page.mgps-share-phone .mgps-share-tabs .mgps-share-short-label { display:inline; }
.mgps-share-page.mgps-share-phone .mgps-share-filters { grid-template-columns:minmax(0,1fr); padding:14px 12px; }
.mgps-share-page.mgps-share-phone .mgps-share-field .form-control { min-height:44px; height:44px; }
.mgps-share-page.mgps-share-phone .mgps-user-button,.mgps-share-page.mgps-share-phone .mgps-share-text-button { min-height:44px; }
.mgps-share-page.mgps-share-phone .mgps-share-notice { padding:12px; }
.mgps-share-page.mgps-share-phone .mgps-share-table > tbody > .mgps-share-row,.mgps-share-page.mgps-share-phone .mgps-share-device-table > tbody > .mgps-share-device-row { grid-template-columns:minmax(0,1fr); }
.mgps-share-page.mgps-share-phone .mgps-share-row > td:not(.mgps-share-legacy-imei):not(.mgps-share-legacy-spare),.mgps-share-page.mgps-share-phone .mgps-share-device-row > td:not(.mgps-share-legacy-imei):not(.mgps-share-legacy-spare) { grid-column:1 / -1; }
.mgps-share-page.mgps-share-phone .mgps-share-row > .mgps-share-status-cell { align-items:flex-start; }
.mgps-share-page.mgps-share-phone .mgps-share-status-cell > .mgps-module-mobile-label { padding-top:11px; }
.mgps-share-page.mgps-share-phone .mgps-share-status-cell > .mgps-share-cell-value { justify-content:flex-end; }
.mgps-share-page.mgps-share-phone .mgps-share-device-filters { padding:14px 12px; }
.mgps-share-page.mgps-share-phone .mgps-share-status-cell .mgps-share-state { flex-direction:column; align-items:flex-end; gap:2px; }
.mgps-share-page.mgps-share-phone .mgps-share-row > .mgps-share-actions-cell { display:block; }
.mgps-share-page.mgps-share-phone .mgps-share-actions-cell > .mgps-module-mobile-label { margin-bottom:9px; }
.mgps-share-page.mgps-share-phone .mgps-share-actions-cell > .mgps-share-cell-value,.mgps-share-page.mgps-share-phone .mgps-share-row-actions,.mgps-share-page.mgps-share-phone .mgps-share-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:8px; width:100%; }
.mgps-share-page.mgps-share-phone .mgps-share-actions-cell > .mgps-share-cell-value > .mgps-share-row-actions { grid-column:1 / -1; }
.mgps-share-page.mgps-share-phone .mgps-share-actions-cell .mgps-user-button { width:100%; min-width:0; min-height:44px; padding:9px 7px; font-size:12px; }
.mgps-share-page.mgps-share-phone .mgps-share-row-actions > .mgps-user-button:only-child,.mgps-share-page.mgps-share-phone .mgps-share-actions > .mgps-user-button:only-child { grid-column:1 / -1; }
.mgps-share-page.mgps-share-phone .mgps-share-bulk { align-items:stretch; padding:16px 12px; }
.mgps-share-page.mgps-share-phone .mgps-share-bulk > * { width:100%; flex-basis:100%; }
.mgps-share-page.mgps-share-phone .mgps-share-bulk-buttons { display:grid; grid-template-columns:minmax(0,1fr); margin-left:0; }
.mgps-share-page.mgps-share-phone .mgps-share-bulk-buttons > * { width:100%; }
.mgps-share-page.mgps-share-phone .mgps-share-create-form { grid-template-columns:minmax(0,1fr); align-items:stretch; padding:16px 12px; }
.mgps-share-page.mgps-share-phone .mgps-share-create-form > .mgps-user-button { margin-top:0; }
.mgps-share-page.mgps-share-phone .mgps-share-create-form > * { width:100%; flex-basis:100%; }
.mgps-share-page.mgps-share-phone .mgps-share-selection-links { column-gap:6px; }
.mgps-share-page.mgps-share-phone .mgps-share-selection-links .mgps-share-text-button { font-size:12px; }
.mgps-share-page .mgps-share-busy { position:fixed; inset:0; z-index:1060; display:flex; align-items:center; justify-content:center; padding:18px; background:rgba(235,243,249,.7); cursor:wait; }
.mgps-share-page .mgps-share-busy[hidden] { display:none !important; }
.mgps-share-page .mgps-share-busy-card { display:flex; align-items:flex-start; gap:16px; width:100%; max-width:390px; padding:24px; border:1px solid #cfe3f0; border-radius:12px; background:#fff; color:#254b66; box-shadow:0 12px 42px rgba(24,55,78,.15); text-align:left; }
.mgps-share-page .mgps-share-busy-card > div { min-width:0; overflow-wrap:anywhere; }
.mgps-share-page .mgps-share-busy-card strong { display:block; font-size:15px; font-weight:600; line-height:1.5; }
.mgps-share-page .mgps-share-busy-card p { margin:8px 0 0; color:#6b8497; font-size:13px; line-height:1.5; }
.mgps-share-page .mgps-share-busy-spinner { flex:0 0 25px; width:25px; height:25px; margin-top:3px; border:3px solid #e2eff7; border-top-color:#0272a9; border-radius:50%; animation:mgps-share-busy-turn .8s linear infinite; }
@keyframes mgps-share-busy-turn { to { transform:rotate(360deg); } }
@media (max-width:380px) { .mgps-share-page .mgps-share-selection-separator { display:none; } .mgps-share-page .mgps-share-selection-links .mgps-share-text-button { min-height:32px; } }
@media (prefers-reduced-motion:reduce) { .mgps-share-page .mgps-share-busy-spinner { animation:none; } .mgps-share-page .mgps-alert-switch-track,.mgps-share-page .mgps-alert-switch-thumb { transition:none; } .mgps-share-page * { scroll-behavior:auto !important; } }

/* API management - central module styles, 20261029-api-6. */
.mgps-api-module { box-sizing:border-box; min-width:0; min-height:0; height:var(--mgps-api-module-height,auto) !important; max-height:var(--mgps-api-module-height,none) !important; margin-bottom:0; padding:0; overflow:hidden; background:#fff; }
.mgps-api-module > .mgps-api-scroll { min-width:0; min-height:0; height:var(--mgps-api-scroll-height,auto) !important; max-height:var(--mgps-api-scroll-height,none) !important; overflow-y:scroll; overflow-x:hidden; touch-action:pan-y pinch-zoom; -webkit-overflow-scrolling:touch; overscroll-behavior-y:contain; background:#fff; }
.mgps-api-page,.mgps-api-dialog { color:#25435b; font-family:inherit; font-size:14px; line-height:1.5; }
.mgps-api-page *,.mgps-api-dialog * { box-sizing:border-box; }
.mgps-api-page [hidden],.mgps-api-dialog [hidden] { display:none !important; }
.mgps-api-module .mgps-api-panel { margin-bottom:0; border:0; background:#fff; box-shadow:none; }
.mgps-api-module .mgps-api-panel > .panel-body { padding:16px; background:#fff; }
.mgps-api-page { width:100%; min-width:0; padding:8px 6px 24px; }
.mgps-api-page button { font-family:inherit; }
.mgps-api-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px 24px; margin:0 0 20px; }
.mgps-api-heading > div { min-width:0; }
.mgps-api-heading h2,.mgps-api-title { margin:0 0 6px; color:#18374e; font-size:25px; font-weight:600; line-height:1.3; }
.mgps-api-heading p,.mgps-api-subtitle { max-width:820px; margin:0; color:#526f84; overflow-wrap:anywhere; }
.mgps-api-heading > .mgps-api-button { flex:0 0 auto; }
.mgps-api-page .mgps-api-button { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:0; min-height:42px; max-width:100%; margin:0; padding:9px 15px; border:1px solid #cddae5; border-radius:6px; background:#fff; color:#0272a9; cursor:pointer; font:inherit; line-height:1.3; text-align:center; text-decoration:none; box-shadow:none; }
.mgps-api-page .mgps-api-button:hover,.mgps-api-page .mgps-api-button:focus { border-color:#b5d1e3; background:#eef7fd; color:#025e8b; text-decoration:none; }
.mgps-api-page .mgps-api-button:disabled,.mgps-api-page .mgps-api-icon-button:disabled { opacity:.55; cursor:not-allowed; }
.mgps-api-page .mgps-api-primary { border-color:#0272a9; background:#0272a9; color:#fff; }
.mgps-api-page .mgps-api-primary:hover,.mgps-api-page .mgps-api-primary:focus { border-color:#025e8b; background:#025e8b; color:#fff; }
.mgps-api-page .mgps-api-danger { border-color:#e5c4c4; background:#fffafa; color:#a34242; }
.mgps-api-page .mgps-api-danger:hover,.mgps-api-page .mgps-api-danger:focus { border-color:#d6abab; background:#fceeee; color:#8d3434; }
.mgps-api-page .mgps-api-button:focus-visible,.mgps-api-page .mgps-api-icon-button:focus-visible { outline:3px solid #77c8ec; outline-offset:2px; }
.mgps-api-notice { display:flex; align-items:center; gap:10px 14px; margin:0 0 18px; padding:13px 16px; border:1px solid #dceaf4; border-radius:8px; background:#f1f8fc; color:#456b83; }
.mgps-api-notice > .fa { flex:0 0 auto; color:#0272a9; }
.mgps-api-notice > span { min-width:0; overflow-wrap:anywhere; }
.mgps-api-notice strong { flex:0 0 auto; margin-left:auto; color:#0272a9; font-weight:500; white-space:nowrap; }
.mgps-api-table-wrap { width:100%; min-width:0; overflow:auto; border:1px solid #dce6ef; border-radius:9px; background:#fff; box-shadow:0 3px 12px rgba(24,55,78,.04); }
.mgps-api-table { width:100%; min-width:1140px; margin:0; border:0; border-collapse:collapse; font-size:13px; }
.mgps-api-table > thead > tr > th { padding:14px 13px; border:0; border-bottom:1px solid #e1ebf3; background:#f2f7fb; color:#58738b; font-weight:600; text-align:left; white-space:nowrap; }
.mgps-api-table > tbody > tr > td { padding:16px 13px; border:0; border-bottom:1px solid #e8eff5; vertical-align:middle; }
.mgps-api-table > tbody > tr:last-child > td { border-bottom:0; }
.mgps-api-table > tbody > tr:nth-child(even) { background:#fbfdff; }
.mgps-api-table > tbody > tr > td::before { display:none; }
.mgps-api-name-cell { min-width:145px; max-width:260px; color:#18374e; font-size:14px; font-weight:600; overflow-wrap:anywhere; }
.mgps-api-key-cell { min-width:250px; }
.mgps-api-key-value { display:flex; align-items:center; gap:8px; min-width:0; max-width:100%; }
.mgps-api-key-value > .mgps-api-masked { flex:1 1 auto; min-width:0; white-space:nowrap; }
.mgps-api-page .mgps-api-key-reveal { flex:0 0 42px; }
.mgps-api-masked { padding:0; border:0; border-radius:0; background:transparent; color:#254b66; font:13px/1.5 Consolas,Monaco,monospace; overflow-wrap:anywhere; word-break:break-all; }
.mgps-api-status { display:inline-flex; align-items:center; gap:6px; padding:4px 9px; border-radius:5px; font-size:12px; font-weight:600; line-height:1.3; white-space:nowrap; }
.mgps-api-status::before { content:''; flex:0 0 6px; width:6px; height:6px; border-radius:50%; background:currentColor; }
.mgps-api-status.is-active { background:#e4f4e8; color:#277943; }
.mgps-api-status.is-paused { background:#fff0d4; color:#92621d; }
.mgps-api-date { color:#527087; font-size:12px; white-space:nowrap; }
.mgps-api-usage-cell { min-width:172px; color:#254b66; }
.mgps-api-usage-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; width:150px; max-width:100%; }
.mgps-api-stat { display:flex; flex-direction:column; justify-content:space-between; gap:4px; min-width:0; min-height:56px; padding:9px 4px; border:1px solid #dce8f0; border-radius:6px; background:#f2f7fb; color:#254b66; text-align:center; }
.mgps-api-stat strong { display:block; min-width:0; color:#254b66; font-size:16px; font-weight:600; line-height:1.25; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; word-break:break-word; }
.mgps-api-stat span { display:block; min-width:0; color:#526f84; font-size:11px; font-weight:400; line-height:1.35; overflow-wrap:anywhere; }
.mgps-api-stat.is-success { border-color:#d6e9dd; background:#eef8f1; }
.mgps-api-stat.is-success strong { color:#277943; }
.mgps-api-stat.is-success span { color:#477c58; }
.mgps-api-actions-heading { text-align:right !important; }
.mgps-api-actions-cell { width:260px; min-width:260px; text-align:right; }
.mgps-api-actions { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:center; gap:6px; width:234px; max-width:100%; margin-left:auto; }
.mgps-api-page .mgps-api-icon-button { display:inline-flex; align-items:center; justify-content:center; width:42px; min-width:0; height:42px; min-height:42px; margin:0; padding:0; border:1px solid #d8e5ee; border-radius:6px; background:#f8fbfd; color:#0272a9; cursor:pointer; font-size:14px; line-height:1; text-align:center; text-decoration:none; box-shadow:none; }
.mgps-api-actions > .mgps-api-icon-button { width:100%; }
.mgps-api-page .mgps-api-icon-button .fa { margin:0; font-size:14px; line-height:1; }
.mgps-api-page .mgps-api-icon-button:hover,.mgps-api-page .mgps-api-icon-button:focus { border-color:#c5dce9; background:#e9f4fa; color:#025e8b; text-decoration:none; }
.mgps-api-page .mgps-api-delete-icon { border-color:#e5c4c4; background:#fffafa; color:#a34242; }
.mgps-api-page .mgps-api-delete-icon:hover,.mgps-api-page .mgps-api-delete-icon:focus { border-color:#d6abab; background:#fceeee; color:#8d3434; }
.mgps-api-empty { padding:32px 18px !important; color:#6c8498; font-weight:400; text-align:center; }
.mgps-api-footnote { max-width:1100px; margin:18px 0 0; color:#526f84; font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.mgps-api-page .mgps-api-message { margin:0 0 16px; padding:11px 13px; border:1px solid #cde4d5; border-radius:6px; background:#f0faf3; color:#276240; overflow-wrap:anywhere; }
.mgps-api-page .mgps-api-error { border-color:#e8c8c8; background:#fff2f2; color:#a93636; }
.mgps-api-sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); border:0; white-space:nowrap; }
.mgps-api-dialog .mgps-api-busy { position:fixed; inset:0; z-index:11000; display:flex; align-items:center; justify-content:center; padding:18px; background:rgba(235,243,249,.78); cursor:wait; }
.mgps-api-dialog .mgps-api-busy-card { display:flex; align-items:flex-start; gap:16px; width:100%; max-width:390px; padding:24px; border:1px solid #cfe3f0; border-radius:12px; background:#fff; color:#254b66; box-shadow:0 12px 42px rgba(24,55,78,.15); text-align:left; }
.mgps-api-dialog .mgps-api-busy-card > div { min-width:0; overflow-wrap:anywhere; }
.mgps-api-dialog .mgps-api-busy-card strong { display:block; font-size:15px; font-weight:600; line-height:1.5; }
.mgps-api-dialog .mgps-api-busy-card p { margin:8px 0 0; color:#6b8497; font-size:13px; line-height:1.5; }
.mgps-api-dialog .mgps-api-busy-spinner { flex:0 0 25px; width:25px; height:25px; margin-top:3px; border:3px solid #e2eff7; border-top-color:#0272a9; border-radius:50%; animation:mgps-api-busy-turn .8s linear infinite; }
.mgps-api-dialog .mgps-api-busy-progress { display:block; margin-top:10px; color:#0272a9; font-size:13px; font-variant-numeric:tabular-nums; }
@keyframes mgps-api-busy-turn { to { transform:rotate(360deg); } }
@media (min-width:768px) and (max-width:1400px) {
    .mgps-api-table { min-width:940px; table-layout:fixed; font-size:12px; }
    .mgps-api-table > thead > tr > th { padding:12px 8px; font-size:12px; white-space:normal; overflow-wrap:anywhere; }
    .mgps-api-table > thead > tr > th:nth-child(2) { width:216px; }
    .mgps-api-table > thead > tr > th:nth-child(3) { width:76px; }
    .mgps-api-table > thead > tr > th:nth-child(4),.mgps-api-table > thead > tr > th:nth-child(5) { width:86px; }
    .mgps-api-table > thead > tr > th:nth-child(6) { width:156px; }
    .mgps-api-table > thead > tr > th:nth-child(7) { width:210px; }
    .mgps-api-table > tbody > tr > td { padding:12px 8px; }
    .mgps-api-name-cell { min-width:0; max-width:none; font-size:13px; }
    .mgps-api-key-cell { min-width:0; }
    .mgps-api-key-value { gap:6px; }
    .mgps-api-page .mgps-api-key-reveal { flex-basis:34px; width:34px; height:34px; min-height:34px; }
    .mgps-api-masked { font-size:12px; white-space:nowrap; }
    .mgps-api-date { font-size:11px; white-space:normal; }
    .mgps-api-status { gap:4px; padding:4px 5px; font-size:11px; }
    .mgps-api-usage-cell { min-width:0; }
    .mgps-api-usage-stats { width:140px; }
    .mgps-api-stat { min-height:52px; padding:8px 3px; }
    .mgps-api-stat strong { font-size:15px; }
    .mgps-api-stat span { font-size:10px; }
    .mgps-api-actions-cell { width:210px; min-width:0; }
    .mgps-api-actions { width:194px; }
    .mgps-api-actions > .mgps-api-icon-button { height:34px; min-height:34px; }
}
@media (max-width:767px) {
    .mgps-api-table-wrap { overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none; }
    .mgps-api-table,.mgps-api-table > tbody { display:block; width:100%; min-width:0; max-width:100%; background:transparent; }
    .mgps-api-table > thead { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); border:0; white-space:nowrap; }
    .mgps-api-table > tbody > tr,.mgps-api-table > tbody > tr:nth-child(even) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; margin:0 0 14px; padding:0 12px 12px; border:1px solid #dce6ef; border-radius:9px; background:#fff; box-shadow:0 3px 12px rgba(24,55,78,.04); }
    .mgps-api-table > tbody > tr > td { display:flex; align-items:center; justify-content:space-between; gap:10px; min-width:0; min-height:58px; max-width:100%; padding:10px 12px; border:0; border-radius:6px; background:#f8fbfd; text-align:right; }
    .mgps-api-table > tbody > tr > td[data-label]::before { content:attr(data-label); display:block; flex:1 1 auto; min-width:0; color:#526f84; font-size:12px; font-weight:500; line-height:1.4; text-align:left; overflow-wrap:anywhere; }
    .mgps-api-table > tbody > tr > .mgps-api-name-cell { grid-column:1 / -1; display:block; min-height:0; padding:14px 4px 12px; border-bottom:1px solid #e8eff5; border-radius:0; background:transparent; color:#18374e; font-size:15px; text-align:left; }
    .mgps-api-table > tbody > tr > .mgps-api-name-cell::before { margin-bottom:3px; font-weight:400; }
    .mgps-api-table > tbody > tr > .mgps-api-status-cell { background:transparent; }
    .mgps-api-table > tbody > tr > .mgps-api-key-cell { grid-column:1 / -1; }
    .mgps-api-key-cell > .mgps-api-masked { min-width:0; max-width:75%; }
    .mgps-api-table > tbody > tr > .mgps-api-actions-cell { grid-column:1 / -1; display:block; width:100%; min-width:0; padding:10px 12px; }
    .mgps-api-table > tbody > tr > .mgps-api-actions-cell::before { margin-bottom:12px; }
    .mgps-api-actions { margin-left:0; }
    .mgps-api-table > tbody > tr > .mgps-api-empty { grid-column:1 / -1; display:block; width:100%; background:transparent; text-align:center; }
    .mgps-api-table > tbody > tr > .mgps-api-usage-cell { display:block; text-align:left; }
    .mgps-api-table > tbody > tr > .mgps-api-usage-cell::before { margin-bottom:9px; }
    .mgps-api-usage-stats { width:100%; }
    .mgps-api-stat { min-height:62px; padding:10px; }
    .mgps-api-stat strong { font-size:17px; }
    .mgps-api-stat span { font-size:12px; }
}
@media (max-width:767px) {
    .mgps-api-page { padding:4px 3px 24px; }
    .mgps-api-heading { flex-direction:column; align-items:stretch; gap:15px; margin-bottom:20px; }
    .mgps-api-heading h2,.mgps-api-title { font-size:22px; }
    .mgps-api-heading p,.mgps-api-subtitle { font-size:13px; }
    .mgps-api-heading > .mgps-api-button { width:100%; }
    .mgps-api-notice { flex-wrap:wrap; align-items:flex-start; gap:9px 10px; padding:12px 14px; font-size:13px; }
    .mgps-api-notice > .fa { margin-top:3px; }
    .mgps-api-notice > span { flex:1 1 calc(100% - 30px); }
    .mgps-api-notice strong { flex-basis:100%; margin-left:23px; }
}
@media (max-width:600px) {
    .mgps-api-table > tbody > tr,.mgps-api-table > tbody > tr:nth-child(even) { grid-template-columns:minmax(0,1fr); }
    .mgps-api-table > tbody > tr > td { grid-column:1 / -1; }
    .mgps-api-table > tbody > tr > .mgps-api-status-cell { grid-row:2; min-height:40px; margin-top:-3px; padding:4px 4px 10px; border-bottom:1px solid #e8eff5; border-radius:0; }
    .mgps-api-table > tbody > tr > .mgps-api-key-cell { grid-row:3; display:block; }
    .mgps-api-table > tbody > tr > .mgps-api-key-cell::before { margin-bottom:6px; }
    .mgps-api-key-cell > .mgps-api-masked { display:block; max-width:100%; text-align:left; }
    .mgps-api-actions { width:100%; max-width:234px; }
    .mgps-api-dialog .mgps-api-busy-card { gap:12px; padding:20px 16px; }
}
@media (max-width:380px) {
    .mgps-api-page { padding-right:0; padding-left:0; }
    .mgps-api-table > tbody > tr,.mgps-api-table > tbody > tr:nth-child(even) { padding-right:10px; padding-left:10px; }
    .mgps-api-table > tbody > tr > .mgps-api-actions-cell { padding-right:9px; padding-left:9px; }
    .mgps-api-actions { gap:4px; }
    .mgps-api-actions > .mgps-api-icon-button { height:40px; min-height:40px; }
}
@media (prefers-reduced-motion:reduce) { .mgps-api-dialog .mgps-api-busy-spinner { animation:none; } .mgps-api-page *,.mgps-api-dialog * { scroll-behavior:auto !important; } }

/* Original API dialog content styles; the portal owns modal size and chrome. */
.mgps-api-dialog .mgps-api-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:39px; padding:9px 15px; border:1px solid #cddae5; border-radius:6px; background:#fff; color:#34536b; cursor:pointer; font:inherit; line-height:1.3; text-decoration:none; }
.mgps-api-dialog .mgps-api-button:hover { background:#f1f7fb; }
.mgps-api-dialog .mgps-api-button:disabled { opacity:.55; cursor:not-allowed; }
.mgps-api-dialog .mgps-api-primary { background:#0272a9; border-color:#0272a9; color:#fff; }
.mgps-api-dialog .mgps-api-primary:hover { background:#025e8b; border-color:#025e8b; }
.mgps-api-dialog .mgps-api-danger { background:#c33c3c; border-color:#c33c3c; color:#fff; }
.mgps-api-dialog .mgps-api-danger:hover { background:#a72f2f; }
.mgps-api-dialog .mgps-api-button:focus-visible, .mgps-api-dialog .mgps-api-icon-button:focus-visible { outline:3px solid #77c8ec; outline-offset:2px; }
.mgps-api-dialog .mgps-api-dialog-message { padding:11px 13px; margin:0 0 16px; border-radius:6px; border:1px solid #cde4d5; background:#f0faf3; color:#276240; }
.mgps-api-dialog .mgps-api-error { color:#a93636; background:#fff2f2; border-color:#e8c8c8; }
.mgps-api-dialog { min-width:0; width:100%; max-width:700px; padding:10px 4px; }
.mgps-api-dialog p { margin:0 0 16px; }
.mgps-api-dialog .mgps-api-label, .mgps-api-dialog .mgps-api-secret-area label { display:block; font-weight:600; margin-bottom:12px; }
.mgps-api-dialog .mgps-api-label input { width:100%; display:block; font:inherit; margin-top:7px; padding:10px 11px; border:1px solid #cbdce9; border-radius:5px; background:#fff; color:#25435b; }
.mgps-api-dialog .mgps-api-label input:focus, .mgps-api-dialog .mgps-api-secret:focus { outline:2px solid #7cc5e7; outline-offset:1px; }
.mgps-api-dialog .mgps-api-secret { display:block; width:100%; resize:vertical; word-break:break-all; margin:8px 0 12px; padding:12px; border:1px solid #cbdce9; border-radius:6px; background:#f3f8fb; font:14px/1.65 Consolas,Monaco,monospace; color:#234b68; }
.mgps-api-dialog .mgps-api-copy-message { display:inline-block; margin-left:8px; font-size:12px; color:#517a61; }
.mgps-api-dialog .mgps-api-dialog-buttons { display:flex; gap:9px; flex-wrap:wrap; margin-top:20px; }
.mgps-api-dialog .mgps-api-selected-key { padding:12px; border-radius:6px; background:#f3f8fb; }
.mgps-api-dialog .mgps-api-selected-key code { color:#345b75; padding:0; background:transparent; font-family:Consolas,Monaco,monospace; }
.mgps-api-dialog .mgps-api-dialog-close { margin-top:18px; }
.mgps-api-dialog .mgps-api-device-mode { padding:10px 12px; border:1px solid #dce6ef; border-radius:6px; margin:0 0 16px; }
.mgps-api-dialog .mgps-api-device-mode legend { width:auto; font:inherit; font-weight:600; border:0; margin:0; }
.mgps-api-dialog .mgps-api-device-mode label { display:block; margin:6px 0; font-weight:normal; }
.mgps-api-dialog .mgps-api-device-tools { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:12px; }
.mgps-api-dialog .mgps-api-device-list { max-height:320px; overflow:auto; border:1px solid #dce6ef; border-radius:6px; }
.mgps-api-dialog .mgps-api-device-table { width:100%; min-width:430px; border-collapse:collapse; }
.mgps-api-dialog .mgps-api-device-table th, .mgps-api-dialog .mgps-api-device-table td { padding:9px; border-bottom:1px solid #e8eff5; text-align:left; }
.mgps-api-dialog .mgps-api-device-table th { background:#f2f7fb; position:sticky; top:0; }
.mgps-api-dialog .mgps-api-device-table input[type=checkbox] { width:18px; height:18px; cursor:pointer; }
.mgps-api-dialog .mgps-api-ip-input { width:100%; display:block; resize:vertical; margin-top:8px; padding:11px; border:1px solid #cbdce9; border-radius:6px; font:14px/1.6 Consolas,monospace; }
.mgps-api-dialog .mgps-api-settings-note { color:#6c8498; font-size:12px; margin-top:12px !important; }
.mgps-api-dialog .mgps-api-usage-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-bottom:16px; }
.mgps-api-dialog .mgps-api-usage-summary div { background:#f1f8fc; border-radius:6px; padding:10px; }
.mgps-api-dialog .mgps-api-usage-summary strong { display:block; color:#0272a9; font-size:21px; }
.mgps-api-dialog .mgps-api-usage-summary span { font-size:12px; }
.mgps-api-dialog .mgps-api-usage-list { max-height:360px; }
.mgps-api-dialog .mgps-api-usage-list td { white-space:nowrap; font-size:12px; }
@media (max-width:767px) { .mgps-api-dialog .mgps-api-dialog-buttons .mgps-api-button { flex:1; } }

/* Device assignment content only; the existing portal modal remains in charge. */
.mgps-api-dialog[data-action="devices"] { display:flex; flex-direction:column; box-sizing:border-box; min-height:0; height:100%; max-height:100%; overflow:hidden; }
.mgps-api-dialog[data-action="devices"] > .mgps-api-dialog-message { flex:0 0 auto; }
.mgps-api-dialog[data-action="devices"] > .mgps-api-dialog-form { display:flex; flex:1 1 auto; flex-direction:column; min-width:0; min-height:0; margin:0; overflow:hidden; }
.mgps-api-dialog[data-action="devices"] .mgps-api-device-body { position:relative; flex:1 1 auto; min-width:0; min-height:0; padding-right:3px; overflow-x:hidden; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior-y:contain; }
.mgps-api-dialog[data-action="devices"] .mgps-api-device-body > p,.mgps-api-dialog[data-action="devices"] .mgps-api-selected-key { overflow-wrap:anywhere; }
.mgps-api-dialog[data-action="devices"] .mgps-api-device-footer { position:sticky; bottom:0; z-index:2; flex:0 0 auto; align-items:stretch; min-width:0; margin:0; padding:12px 0 0; border-top:1px solid #dce6ef; background:#fff; }
.mgps-api-dialog[data-action="devices"] .mgps-api-device-footer .mgps-api-button { max-width:100%; white-space:normal; }
.mgps-api-dialog[data-action="devices"] .mgps-api-device-list { max-width:100%; max-height:none; overflow:visible; }
.mgps-api-dialog[data-action="devices"] .mgps-api-device-table { width:100%; min-width:0; table-layout:fixed; font-size:13px; }
.mgps-api-dialog[data-action="devices"] .mgps-api-device-table th:first-child { width:84px; text-align:center; }
.mgps-api-dialog[data-action="devices"] .mgps-api-device-table th:last-child { width:150px; }
.mgps-api-dialog[data-action="devices"] .mgps-api-device-table th,.mgps-api-dialog[data-action="devices"] .mgps-api-device-table td { min-width:0; vertical-align:middle; overflow-wrap:anywhere; word-break:break-word; }
.mgps-api-dialog[data-action="devices"] .mgps-api-device-check-cell { text-align:center; }
@media (max-width:767px) {
    .mgps-api-dialog[data-action="devices"] .mgps-api-device-table,.mgps-api-dialog[data-action="devices"] .mgps-api-device-table > tbody { display:block; width:100%; min-width:0; }
    .mgps-api-dialog[data-action="devices"] .mgps-api-device-table > thead { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); border:0; white-space:nowrap; }
    .mgps-api-dialog[data-action="devices"] .mgps-api-device-table > tbody > tr { display:grid; grid-template-columns:44px minmax(0,1fr); gap:7px 9px; min-width:0; margin:0; padding:12px 10px; border-bottom:1px solid #e8eff5; }
    .mgps-api-dialog[data-action="devices"] .mgps-api-device-table > tbody > tr:last-child { border-bottom:0; }
    .mgps-api-dialog[data-action="devices"] .mgps-api-device-table > tbody > tr > td { display:block; min-width:0; padding:0; border:0; text-align:left; }
    .mgps-api-dialog[data-action="devices"] .mgps-api-device-table > tbody > tr > .mgps-api-device-check-cell { grid-column:1; grid-row:1 / span 2; display:flex; align-items:flex-start; justify-content:center; padding-top:3px; }
    .mgps-api-dialog[data-action="devices"] .mgps-api-device-table > tbody > tr > .mgps-api-device-name-cell { grid-column:2; grid-row:1; color:#25435b; font-weight:600; }
    .mgps-api-dialog[data-action="devices"] .mgps-api-device-table > tbody > tr > .mgps-api-device-plate-cell { grid-column:2; grid-row:2; color:#527087; }
    .mgps-api-dialog[data-action="devices"] .mgps-api-device-table > tbody > tr > td[data-label]::before { content:attr(data-label); display:block; margin-bottom:3px; color:#6c8498; font-size:12px; font-weight:400; line-height:1.4; }
    .mgps-api-dialog[data-action="devices"] .mgps-api-device-table > tbody > tr > td.mgps-api-device-check-cell::before { display:none; }
    .mgps-api-dialog[data-action="devices"] .mgps-api-device-table > tbody > tr > .mgps-api-device-plate-empty { display:none; }
    .mgps-api-dialog[data-action="devices"] .mgps-api-device-table > tbody > tr > td[colspan] { grid-column:1 / -1; }
}
@media (max-width:480px) {
    .mgps-api-dialog[data-action="devices"] .mgps-api-device-footer { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
    .mgps-api-dialog[data-action="devices"] .mgps-api-device-footer .mgps-api-button { width:100%; min-width:0; }
    .mgps-api-dialog[data-action="devices"] .mgps-api-device-tools > span { flex-basis:100%; }
}

/* API documentation and the requested complete endpoint field. */
.mgps-api-page .mgps-api-documentation { margin:0 0 16px; color:#526f84; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.mgps-api-dialog .mgps-api-documentation { margin:16px 0; color:#526f84; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.mgps-api-page .mgps-api-documentation-link,.mgps-api-dialog .mgps-api-documentation-link { color:#0272a9; text-decoration:underline; text-underline-offset:2px; overflow-wrap:anywhere; }
.mgps-api-page .mgps-api-documentation-link:hover,.mgps-api-page .mgps-api-documentation-link:focus,.mgps-api-dialog .mgps-api-documentation-link:hover,.mgps-api-dialog .mgps-api-documentation-link:focus { color:#025e8b; }
.mgps-api-dialog .mgps-api-endpoint-area { margin-top:18px; }
.mgps-api-dialog .mgps-api-endpoint-label { display:block; margin-bottom:12px; font-weight:600; }
.mgps-api-dialog .mgps-api-endpoint { display:block; box-sizing:border-box; width:100%; min-width:0; max-width:100%; margin:8px 0 12px; padding:12px; border:1px solid #cbdce9; border-radius:6px; background:#f3f8fb; color:#234b68; font:14px/1.65 Consolas,Monaco,monospace; resize:vertical; white-space:pre-wrap; overflow-wrap:anywhere; word-break:break-all; overflow-x:hidden; }
.mgps-api-dialog .mgps-api-endpoint:focus { outline:2px solid #7cc5e7; outline-offset:1px; }
.mgps-api-dialog .mgps-api-endpoint-copy-message { display:inline-block; margin-left:8px; color:#517a61; font-size:12px; }

/* Mietparkmanager entry module, 20261030-mietpark-1. */
.mgps-mietpark-module { box-sizing:border-box; min-width:0; min-height:0; height:var(--mgps-mietpark-height,auto) !important; margin-bottom:0; padding:0; overflow:hidden; background:#fff; }
.mgps-mietpark-module > .mgps-mietpark-scroll { box-sizing:border-box; width:100%; min-width:0; min-height:0; height:100%; overflow-x:hidden; overflow-y:auto; touch-action:pan-y pinch-zoom; -webkit-overflow-scrolling:touch; overscroll-behavior-y:contain; background:#fff; }
.mgps-mietpark-page { box-sizing:border-box; width:100%; min-width:0; padding:24px 22px; color:#25435b; font-family:inherit; font-size:14px; line-height:1.5; }
.mgps-mietpark-page * { box-sizing:border-box; }
.mgps-mietpark-heading { margin:0 0 20px; }
.mgps-mietpark-heading h2 { margin:0 0 6px; color:#18374e; font-size:25px; font-weight:600; line-height:1.3; }
.mgps-mietpark-heading p { max-width:960px; margin:0; color:#526f84; overflow-wrap:anywhere; }
.mgps-mietpark-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:20px 24px; width:100%; min-width:0; margin:0 0 18px; padding:22px; border:1px solid #dce6ef; border-radius:9px; background:#fff; box-shadow:0 3px 12px rgba(24,55,78,.04); }
.mgps-mietpark-card-heading { display:flex; align-items:flex-start; gap:15px; min-width:0; }
.mgps-mietpark-card-heading > div { min-width:0; }
.mgps-mietpark-symbol { display:flex; flex:0 0 54px; align-items:center; justify-content:center; width:54px; height:54px; border:1px solid #d8eaf4; border-radius:10px; background:#eef7fc; color:#0272a9; }
.mgps-mietpark-symbol > .fa { font-size:25px; line-height:1; }
.mgps-mietpark-card-heading h3 { margin:1px 0 6px; color:#18374e; font-size:18px; font-weight:600; line-height:1.4; }
.mgps-mietpark-card-heading p { max-width:820px; margin:0; color:#526f84; font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.mgps-mietpark-form { display:flex; flex-direction:column; align-items:flex-end; gap:7px; min-width:0; max-width:100%; margin:0; }
.mgps-mietpark-page .mgps-mietpark-button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-width:0; min-height:44px; max-width:100%; margin:0; padding:10px 18px; border:1px solid #0272a9; border-radius:6px; background:#0272a9; color:#fff; box-shadow:none; font:inherit; font-weight:600; line-height:1.4; text-align:center; text-decoration:none; text-transform:none; white-space:normal; cursor:pointer; }
.mgps-mietpark-page .mgps-mietpark-button > .fa { flex:0 0 auto; font-size:14px; line-height:1; }
.mgps-mietpark-page .mgps-mietpark-button > span { min-width:0; overflow-wrap:anywhere; }
.mgps-mietpark-page .mgps-mietpark-button:hover,.mgps-mietpark-page .mgps-mietpark-button:focus { border-color:#025e8b; background:#025e8b; color:#fff; text-decoration:none; }
.mgps-mietpark-page .mgps-mietpark-button:focus-visible { outline:3px solid #77c8ec; outline-offset:3px; }
.mgps-mietpark-page .mgps-mietpark-button:disabled { opacity:.55; cursor:not-allowed; }
.mgps-mietpark-new-tab { max-width:100%; color:#6c8498; font-size:12px; line-height:1.4; text-align:right; overflow-wrap:anywhere; }
.mgps-mietpark-notice { display:flex; align-items:flex-start; gap:11px; min-width:0; margin:0; padding:15px 16px; border:1px solid #dceaf4; border-radius:8px; background:#f1f8fc; color:#526f84; }
.mgps-mietpark-card > .mgps-mietpark-notice { grid-column:1 / -1; }
.mgps-mietpark-notice > .fa { flex:0 0 16px; width:16px; margin-top:3px; color:#0272a9; font-size:15px; line-height:1.2; }
.mgps-mietpark-notice > div { min-width:0; }
.mgps-mietpark-notice h3 { margin:0 0 5px; color:#345b76; font-size:14px; font-weight:600; line-height:1.4; }
.mgps-mietpark-notice p { margin:0; color:#526f84; font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
@media (max-width:900px) {
    .mgps-mietpark-card { grid-template-columns:minmax(0,1fr); gap:18px; }
    .mgps-mietpark-form { align-items:flex-start; }
    .mgps-mietpark-new-tab { text-align:left; }
}
@media (max-width:767px) {
    .mgps-mietpark-page { padding:16px 14px; }
    .mgps-mietpark-heading { margin-bottom:18px; }
    .mgps-mietpark-heading h2 { font-size:22px; }
    .mgps-mietpark-heading p { font-size:13px; }
    .mgps-mietpark-card { padding:18px 16px; }
    .mgps-mietpark-card-heading { gap:12px; }
    .mgps-mietpark-symbol { flex-basis:44px; width:44px; height:44px; border-radius:8px; }
    .mgps-mietpark-symbol > .fa { font-size:21px; }
    .mgps-mietpark-card-heading h3 { font-size:17px; }
    .mgps-mietpark-form { width:100%; align-items:stretch; }
    .mgps-mietpark-page .mgps-mietpark-button { width:100%; padding:10px 14px; }
    .mgps-mietpark-notice { padding:13px 14px; }
}

/* Mietparkmanager details and beta notice, 20261030-mietpark-2. */
.mgps-mietpark-heading-title { display:flex; align-items:center; flex-wrap:wrap; gap:8px 10px; margin:0 0 6px; }
.mgps-mietpark-heading-title > h2 { margin:0; }
.mgps-mietpark-beta-badge { display:inline-flex; align-items:center; padding:4px 8px; border:1px solid #eddbb4; border-radius:5px; background:#fff3dc; color:#886018; font-size:11px; font-weight:600; line-height:1.3; text-transform:uppercase; }
.mgps-mietpark-details { grid-column:1 / -1; min-width:0; padding-top:16px; border-top:1px solid #e8eff5; color:#526f84; font-size:13px; line-height:1.6; }
.mgps-mietpark-details > p { margin:0 0 9px; overflow-wrap:anywhere; }
.mgps-mietpark-details > p:last-child { margin-bottom:0; }
.mgps-mietpark-beta-note > strong { color:#345b76; font-weight:600; }
.mgps-mietpark-page .mgps-mietpark-info-link { color:#0272a9; text-decoration:underline; text-underline-offset:2px; }
.mgps-mietpark-page .mgps-mietpark-info-link:hover { color:#025e8b; }
.mgps-mietpark-page .mgps-mietpark-info-link:focus-visible { outline:3px solid #77c8ec; outline-offset:3px; }
@media (min-width:768px) {
    .mgps-api-module,.mgps-mietpark-module { border-left:1px solid #eee; }
}

/* Mietparkmanager launch action at the end of the card, 20261030-mietpark-3. */
.mgps-mietpark-card { grid-template-columns:minmax(0,1fr); }
.mgps-mietpark-card > .mgps-mietpark-form { grid-column:1 / -1; width:100%; align-items:flex-end; }
.mgps-mietpark-card .mgps-mietpark-new-tab { text-align:right; }
@media (max-width:767px) {
    .mgps-mietpark-card > .mgps-mietpark-form { align-items:stretch; }
}


.mgps-mietpark-card > .mgps-mietpark-form {
    align-items:flex-start;
}

.mgps-mietpark-card .mgps-mietpark-new-tab {
    text-align:left;
}