*{box-sizing:border-box}body{margin:0;background:#f6f7fb;color:#14203a;font:16px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}aside{position:fixed;width:245px;inset:0 auto 0 0;background:linear-gradient(180deg,#43d8cb 0%,#12a89f 36%,#08777e 66%,#063f4e 100%);padding:26px 18px;color:#e2f3ef}.side-logo{width:140px;height:auto;display:block;margin:0 auto 18px}.small{font-size:11px;letter-spacing:.12em;opacity:.65;margin:20px 12px 8px}nav a{display:block;color:#d7efea;text-decoration:none;padding:12px;border-radius:9px;margin:4px 0}nav a:hover,nav .on{background:#0d6d70;color:#fff}.account{position:absolute;bottom:25px;left:30px;right:30px;border-top:1px solid #51a6a1;padding-top:15px}.side-copyright{margin-top:16px;font-size:9px;color:#b9dcd7;line-height:1.4;white-space:nowrap}.account small,.account a,td small{display:block;color:#c0e1da;font-size:13px}.account a{margin-top:7px}.app{margin-left:245px;min-height:calc(100vh - 45px);padding:36px max(40px,6vw)}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}h1{margin:0;font-size:30px}h2{margin-top:0}.badge{background:#e5f7ed;color:#167343;border-radius:999px;padding:6px 12px;font-size:13px}.panel,.card{background:#fff;border:1px solid #e2e7f0;border-radius:14px;padding:28px;box-shadow:0 8px 30px #18365a0c}.inline,.grid,.actions{display:flex;gap:12px;margin:22px 0;align-items:end}.inline label,.grid label{flex:1}.stack{max-width:620px}.stack label{margin:17px 0}label{display:block;font-size:14px;font-weight:600}input{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #cbd5e1;border-radius:8px;font:inherit}button,.button{border:0;border-radius:8px;padding:11px 15px;font:inherit;cursor:pointer;text-decoration:none;background:#e7edf6;color:#15233b;white-space:nowrap}button:disabled{cursor:not-allowed;opacity:.55}.primary{background:#0d6d70;color:#fff}table{width:100%;border-collapse:collapse;margin-top:14px}th,td{text-align:left;border-bottom:1px solid #e7eaf0;padding:13px 10px}th{font-size:13px;color:#68758a}.mini{display:inline}.muted{color:#697689}.error{background:#fff0f0;color:#a72a2a;border:1px solid #ffcaca;padding:12px;border-radius:8px;margin-bottom:18px}.flash{background:#eaf8f4;color:#135f53;border:1px solid #b7e4d9;padding:12px;border-radius:8px;margin-bottom:18px}.notice{background:#f1f7ff;border:1px solid #d7e6fa;padding:12px;border-radius:8px}.auth{max-width:440px;margin:50px auto;text-align:center}.auth .logo{width:180px;mix-blend-mode:multiply}.auth .card{text-align:left}.auth label{margin:14px 0}.auth button{width:100%;margin-top:12px}.auth footer,.foot{text-align:center;color:#7b8799;font-size:13px;margin-top:22px}.foot{margin-left:245px;padding:12px}.mini button{font-size:13px;padding:7px 10px}@media(max-width:720px){aside{position:static;width:auto}.app{margin:0;padding:24px}.foot{margin:0}.account{position:static;margin-top:28px}.side-copyright{margin-top:16px}.inline,.grid,.actions{display:block}.inline>* ,.grid>*{margin:10px 0}}

/* Compact Mailboxes table */
.mailboxes-header + table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

.mailboxes-header + table th,
.mailboxes-header + table td {
    padding: 4px 10px !important;
    height: auto !important;
    line-height: 1.15 !important;
    text-align: left;
    vertical-align: middle;
    border-bottom: 1px solid #dfe7e7;
}

.mailboxes-header + table th {
    font-weight: 700;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}

.mailboxes-header + table tbody tr:hover {
    background: rgba(0,0,0,0.025);
}

.password-wrap{
    position:relative;
}

.password-wrap input{
    width:100%;
    padding-right:46px !important;
}

.password-eye{
    position:absolute;
    right:10px;
    top:50%;
    transform:translateY(-50%);
    border:0;
    background:transparent;
    cursor:pointer;
    padding:4px;
    font-size:18px;
}

.account .side-copyright{
    margin-top:14px !important;
    font-size:9px !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
    color:#b9dcd7 !important;
}


/* Security login history */
.login-history code{
    font-size:12px;
    background:#f3f5f8;
    padding:3px 6px;
    border-radius:5px;
}
.login-status{
    display:inline-block;
    min-width:68px;
    text-align:center;
    padding:4px 8px;
    border-radius:999px;
    font-size:12px;
    font-weight:600;
}
.login-status-success{
    background:#e5f7ed;
    color:#167343;
}
.login-status-failed{
    background:#fff3df;
    color:#9a5a00;
}
.login-status-blocked{
    background:#fff0f0;
    color:#a72a2a;
}


/* Login history pagination */
.history-pagination{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-top:24px;
}

/* Team member danger zone */
.team-danger-zone{
    margin-top:24px;
    padding:18px;
    border:1px solid #f0b8b8;
    border-left:4px solid #a72a2a;
    border-radius:10px;
    background:#fff8f8;
}
.team-danger-zone h3{
    margin-top:0;
    color:#8f2020;
}
.team-danger-zone p{
    color:#7b4a4a;
}
.danger-button{
    background:#a72a2a !important;
    color:#fff !important;
}
.danger-button:hover{
    opacity:.9;
}

/* CSP cleanup - formerly inline styles */

.select-column{
    width:34px;
}

.delete-mailboxes-form{
    margin-top:12px;
}

.mailbox-email-display{
    padding:8px 0;
    font-weight:600;
}

.section-separator{
    margin:30px 0;
}

.section-separator-28{
    margin:28px 0;
}

.section-separator-32{
    margin:32px 0;
}

.mailbox-info{
    margin-top:22px;
    padding:9px 12px;
    border-left:3px solid #7b2635;
    background:#fff8f9;
    color:#7b2635;
    font-size:13px;
    line-height:1.55;
}

.mailix-honeypot{
    position:absolute;
    left:-10000px;
    width:1px;
    height:1px;
    overflow:hidden;
}

.section-actions{
    margin:22px 0;
}

.section-back{
    margin-bottom:22px;
}

.team-member-card{
    padding:16px 18px;
    background:#f7f9fa;
    border-radius:10px;
    margin-bottom:26px;
}

.team-member-card-title{
    margin-top:0;
}

.team-member-meta{
    line-height:1.7;
}


/* Mailbox search and filters */
.mailbox-filters{
    display:flex;
    align-items:flex-end;
    gap:12px;
    margin:22px 0 18px;
    padding:16px;
    background:#f7f9fa;
    border:1px solid #e2e7f0;
    border-radius:10px;
}

.mailbox-filters label{
    min-width:145px;
}

.mailbox-filters .mailbox-search{
    flex:1;
    min-width:240px;
}

.mailbox-filters select{
    display:block;
    width:100%;
    margin-top:6px;
    padding:11px 12px;
    border:1px solid #cbd5e1;
    border-radius:8px;
    background:#fff;
    color:#14203a;
    font:inherit;
}

.mailbox-filter-count{
    margin-left:auto;
    padding-bottom:10px;
    color:#697689;
    font-size:13px;
    white-space:nowrap;
}

.mailbox-row[hidden]{
    display:none;
}

@media(max-width:900px){
    .mailbox-filters{
        display:block;
    }

    .mailbox-filters label,
    .mailbox-filters button,
    .mailbox-filter-count{
        margin-top:10px;
    }

    .mailbox-filter-count{
        padding-bottom:0;
    }
}


/* Mailbox sorting */
.mailbox-sort{
    border:0;
    padding:0;
    background:transparent;
    color:inherit;
    font:inherit;
    font-weight:inherit;
    cursor:pointer;
}

.mailbox-sort:hover{
    text-decoration:underline;
}

.sort-indicator{
    margin-left:4px;
    font-size:10px;
}

.webmail-launch-form{
    display:inline;
    margin:0;
    padding:0;
}

.webmail-launch-link{
    appearance:none;
    border:0;
    background:none;
    padding:0;
    margin:0;
    font:inherit;
    color:inherit;
    text-decoration:underline;
    cursor:pointer;
}

.webmail-launch-link:hover{
    text-decoration:none;
}

.mailix-secret-input {
    -webkit-text-security: disc;
}

.mailix-secret-input.mailix-secret-visible {
    -webkit-text-security: none;
}


/* =========================================================
   MAILIX PREMIUM UI v1
   Visual layer only — no application logic
   ========================================================= */

:root{
    --mx-bg:#f4f7f9;
    --mx-surface:#ffffff;
    --mx-surface-soft:#f7fafb;

    --mx-text:#152c34;
    --mx-muted:#6d7f86;

    --mx-border:#dce7e8;
    --mx-border-soft:#eaf0f1;

    --mx-primary:#087d79;
    --mx-primary-hover:#066965;
    --mx-primary-soft:#e8f7f5;

    --mx-danger:#a63b46;

    --mx-radius-sm:10px;
    --mx-radius:16px;
    --mx-radius-lg:22px;

    --mx-shadow:
        0 1px 2px rgba(18,52,58,.03),
        0 12px 34px rgba(18,52,58,.07);

    --mx-shadow-hover:
        0 2px 4px rgba(18,52,58,.04),
        0 18px 44px rgba(18,52,58,.10);
}


/* ---------- Page ---------- */

html{
    background:var(--mx-bg);
}

body{
    min-height:100vh;
    background:
        radial-gradient(
            circle at 92% 0%,
            rgba(83,201,187,.10),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #f8fbfc 0%,
            var(--mx-bg) 100%
        );
    color:var(--mx-text);
    font-family:
        Inter,
        ui-sans-serif,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
    font-size:15px;
    line-height:1.5;
}


/* ---------- Sidebar ---------- */

aside{
    width:264px;
    padding:28px 20px 26px;
    background:
        radial-gradient(
            circle at 28% 2%,
            rgba(255,255,255,.92),
            rgba(255,255,255,0) 25%
        ),
        linear-gradient(
            180deg,
            #dff9f5 0%,
            #79d9ce 23%,
            #20aa9f 43%,
            #0b7778 69%,
            #063e4a 100%
        );
    border-right:1px solid rgba(5,77,79,.15);
    box-shadow:8px 0 34px rgba(18,75,78,.07);
}

.side-logo{
    width:146px;
    margin:2px auto 30px;
    filter:drop-shadow(0 4px 12px rgba(5,62,74,.07));
}

.small{
    margin:10px 12px 9px;
    color:rgba(8,61,65,.70);
    font-size:10px;
    font-weight:800;
    letter-spacing:.17em;
}

nav a{
    position:relative;
    display:flex;
    align-items:center;
    min-height:46px;
    margin:5px 0;
    padding:11px 14px;
    border:1px solid transparent;
    border-radius:12px;
    color:#f0fffd;
    font-size:14px;
    font-weight:600;
    text-decoration:none;
    transition:
        background .18s ease,
        border-color .18s ease,
        transform .18s ease,
        box-shadow .18s ease;
}

nav a:hover{
    background:rgba(255,255,255,.12);
    border-color:rgba(255,255,255,.13);
    color:#fff;
    transform:translateX(2px);
}

nav .on{
    background:rgba(255,255,255,.18);
    border-color:rgba(255,255,255,.22);
    color:#fff;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.14),
        0 7px 18px rgba(2,52,58,.10);
}

.account{
    left:22px;
    right:22px;
    bottom:24px;
    padding:18px 10px 0;
    border-top:1px solid rgba(255,255,255,.22);
    color:#fff;
    font-weight:600;
}

.account a{
    width:max-content;
    color:rgba(236,255,251,.82);
    font-size:12px;
    font-weight:500;
    text-decoration:none;
}

.account a:hover{
    color:#fff;
    text-decoration:underline;
}

.account .side-copyright{
    color:rgba(220,246,242,.64) !important;
    font-size:9px !important;
    letter-spacing:.01em;
}


/* ---------- Main workspace ---------- */

.app{
    margin-left:264px;
    min-height:100vh;
    padding:42px clamp(32px,5vw,78px) 54px;
}

header{
    margin-bottom:28px;
}

header h1{
    color:#15343b;
    font-size:34px;
    font-weight:750;
    letter-spacing:-.035em;
    line-height:1.15;
}


/* ---------- Panels ---------- */

.panel,
.card{
    background:rgba(255,255,255,.96);
    border:1px solid rgba(209,224,226,.88);
    border-radius:var(--mx-radius-lg);
    padding:30px 32px;
    box-shadow:var(--mx-shadow);
}

.panel{
    transition:
        box-shadow .22s ease,
        border-color .22s ease;
}

.panel:hover{
    border-color:#d4e2e3;
    box-shadow:var(--mx-shadow-hover);
}

.panel h2{
    margin:0 0 5px;
    color:#183a41;
    font-size:22px;
    font-weight:730;
    letter-spacing:-.02em;
}

.panel h3{
    color:#203b42;
    font-size:17px;
    letter-spacing:-.01em;
}

.panel p{
    color:var(--mx-muted);
}


/* ---------- Mailboxes title row ---------- */

.mailboxes-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin-bottom:8px;
}

.mailboxes-header p{
    margin:4px 0 0;
    font-size:14px;
}


/* ---------- Buttons ---------- */

button,
.button,
a.primary{
    border-radius:11px;
    min-height:40px;
    padding:10px 16px;
    font-size:14px;
    font-weight:650;
    line-height:1.2;
    transition:
        background .16s ease,
        border-color .16s ease,
        box-shadow .16s ease,
        transform .16s ease;
}

button:not(.mailbox-sort):not(.webmail-launch-link):not(.password-eye){
    border:1px solid #d6e1e3;
    background:#f7fafb;
    color:#30474d;
}

button:not(.mailbox-sort):not(.webmail-launch-link):not(.password-eye):hover{
    background:#eef4f5;
    border-color:#c7d7d9;
}

.primary,
a.primary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:1px solid var(--mx-primary) !important;
    background:
        linear-gradient(
            180deg,
            #11918b 0%,
            var(--mx-primary) 100%
        ) !important;
    color:#fff !important;
    text-decoration:none;
    box-shadow:
        0 1px 2px rgba(2,74,73,.12),
        0 6px 16px rgba(7,125,121,.17);
}

.primary:hover,
a.primary:hover{
    background:
        linear-gradient(
            180deg,
            #0d827d 0%,
            var(--mx-primary-hover) 100%
        ) !important;
    border-color:var(--mx-primary-hover) !important;
    transform:translateY(-1px);
    box-shadow:
        0 2px 3px rgba(2,74,73,.12),
        0 9px 20px rgba(7,125,121,.20);
}

button:active,
.button:active,
a.primary:active{
    transform:translateY(0);
}

button:disabled{
    opacity:.48;
}


/* ---------- Inputs ---------- */

label{
    color:#334a50;
    font-size:13px;
    font-weight:650;
}

input,
select{
    min-height:43px;
    margin-top:7px;
    padding:10px 12px;
    border:1px solid #ccdadd;
    border-radius:11px;
    background:#fff;
    color:#172f35;
    font:inherit;
    outline:none;
    box-shadow:0 1px 2px rgba(22,58,64,.025);
    transition:
        border-color .16s ease,
        box-shadow .16s ease,
        background .16s ease;
}

input:hover,
select:hover{
    border-color:#b8cbce;
}

input:focus,
select:focus{
    border-color:#2aaaa1;
    box-shadow:
        0 0 0 3px rgba(32,170,159,.12),
        0 1px 2px rgba(22,58,64,.03);
}

input::placeholder{
    color:#9aabad;
}

input[type="checkbox"]{
    min-height:0;
    accent-color:var(--mx-primary);
}


/* ---------- Filters ---------- */

.mailbox-filters{
    margin:25px 0 21px;
    padding:17px 18px;
    gap:14px;
    border:1px solid #e0e9ea;
    border-radius:15px;
    background:
        linear-gradient(
            180deg,
            #f9fbfb 0%,
            #f5f9f9 100%
        );
}

.mailbox-filters label{
    color:#5d7075;
    font-size:12px;
    font-weight:700;
}

.mailbox-filters .mailbox-search{
    min-width:280px;
}

.mailbox-filter-count{
    color:#829196;
    font-size:12px;
    font-weight:600;
}


/* ---------- Mailboxes table ---------- */

.mailboxes-header + .mailbox-filters + table{
    margin-top:4px;
}

table{
    border-collapse:separate;
    border-spacing:0;
}

th{
    color:#73858a;
    font-size:11px;
    font-weight:750;
    letter-spacing:.045em;
    text-transform:uppercase;
}

td{
    color:#31484e;
    font-size:14px;
}

.mailboxes-header + table th,
.mailboxes-header + table td,
.mailbox-filters + table th,
.mailbox-filters + table td{
    padding:9px 11px !important;
    line-height:1.3 !important;
    border-bottom:1px solid var(--mx-border-soft);
}

tbody tr{
    transition:
        background .14s ease,
        box-shadow .14s ease;
}

.mailboxes-header + table tbody tr:hover,
.mailbox-filters + table tbody tr:hover{
    background:#f3faf9;
}

td a{
    color:#087b77;
    font-weight:600;
    text-decoration:none;
}

td a:hover{
    color:#055f5c;
    text-decoration:underline;
}

.mailbox-sort{
    color:#73858a;
    font-size:11px;
    font-weight:750;
    letter-spacing:.045em;
    text-transform:uppercase;
}

.mailbox-sort:hover{
    color:#087b77;
    text-decoration:none;
}

.sort-indicator{
    color:#9eb0b3;
}


/* ---------- Messages ---------- */

.error{
    margin-bottom:20px;
    padding:13px 15px;
    border:1px solid #f0cbcf;
    border-radius:12px;
    background:#fff7f7;
    color:#94333d;
    box-shadow:0 4px 15px rgba(144,44,55,.04);
}

.flash{
    margin-bottom:20px;
    padding:13px 15px;
    border:1px solid #c8e8df;
    border-radius:12px;
    background:#f2fbf8;
    color:#176354;
}


/* ---------- Smaller utility elements ---------- */

.muted{
    color:var(--mx-muted);
}

.mailbox-email-display{
    color:#173d43;
    font-size:15px;
}

.mailbox-info{
    border-left:3px solid #4b9e99;
    border-radius:0 10px 10px 0;
    background:#f3f9f8;
    color:#4d6e70;
}

.section-separator{
    border:0;
    border-top:1px solid #e7eeee;
}


/* ---------- Focus accessibility ---------- */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible{
    outline:3px solid rgba(32,170,159,.23);
    outline-offset:2px;
}


/* ---------- Responsive ---------- */

@media(max-width:900px){

    aside{
        position:static;
        width:auto;
        min-height:auto;
        padding:18px;
    }

    .side-logo{
        width:130px;
        margin:0 0 18px;
    }

    nav{
        display:flex;
        flex-wrap:wrap;
        gap:6px;
    }

    nav a{
        display:inline-flex;
        margin:0;
    }

    .account{
        position:static;
        margin-top:20px;
        padding:15px 2px 0;
    }

    .app{
        margin-left:0;
        padding:28px 20px 40px;
    }

    header h1{
        font-size:28px;
    }

    .panel,
    .card{
        padding:22px 20px;
        border-radius:18px;
    }

    .mailboxes-header{
        display:block;
    }

    .mailboxes-header > div:last-child{
        margin-top:18px;
    }

    .mailbox-filters{
        display:block;
    }

    .mailbox-filters label,
    .mailbox-filters button,
    .mailbox-filter-count{
        margin-top:12px;
    }

    .mailbox-filters .mailbox-search{
        min-width:0;
    }
}

/* Premium UI v1.1 — filter count overflow fix */

.mailbox-filters{
    flex-wrap:wrap;
}

.mailbox-filter-count{
    flex:1 0 100%;
    margin-left:0;
    padding:0 2px 0 0;
    text-align:right;
    white-space:nowrap;
}


/* Premium UI v1.2 — sidebar refinement */

aside{
    width:244px;
}

.app{
    margin-left:244px;
}

.small{
    color:#35666a;
    opacity:1;
}

nav a{
    color:#174f54;
    background:rgba(255,255,255,.10);
}

nav a:hover{
    color:#123f43;
    background:rgba(255,255,255,.28);
    border-color:rgba(255,255,255,.32);
}

nav .on{
    color:#0a4649;
    background:rgba(255,255,255,.48);
    border-color:rgba(255,255,255,.58);
    box-shadow:
        0 7px 20px rgba(4,72,75,.10),
        inset 0 1px 0 rgba(255,255,255,.55);
}

@media(max-width:900px){
    aside{
        width:auto;
    }

    .app{
        margin-left:0;
    }
}

/* Premium UI v1.3 — stable mailbox count position */

.mailbox-filter-count{
    order:100;
    flex:0 0 100%;
    width:100%;
    max-width:100%;
    margin:0 !important;
    padding:2px 0 0 !important;
    text-align:left !important;
    white-space:normal !important;
}


/* Premium UI v1.4 — mailbox table refinement */

.mailbox-filters + table{
    margin-top:8px;
}

.mailbox-filters + table thead th{
    padding-top:10px !important;
    padding-bottom:10px !important;
    background:#f8fbfb;
    border-top:1px solid #e8efef;
    border-bottom:1px solid #dde8e9;
}

.mailbox-filters + table thead th:first-child{
    border-radius:10px 0 0 10px;
}

.mailbox-filters + table thead th:last-child{
    border-radius:0 10px 10px 0;
}

.mailbox-row td{
    height:34px;
}

.mailbox-row:hover{
    background:#f1f9f8 !important;
}

.mailbox-row td a{
    transition:color .15s ease;
}

.mailbox-row td:last-child a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:48px;
    padding:4px 9px;
    border:1px solid #d5e4e4;
    border-radius:8px;
    background:#f8fbfb;
    color:#315c60;
    font-size:12px;
    font-weight:650;
    text-decoration:none;
}

.mailbox-row td:last-child a:hover{
    border-color:#9ecac6;
    background:#eaf7f5;
    color:#076f6b;
    text-decoration:none;
}

.mailbox-row input[type="checkbox"],
#select-all-mailboxes{
    width:15px;
    height:15px;
    margin:0;
    cursor:pointer;
}

.mailbox-row td:nth-child(2){
    font-weight:550;
}

.mailbox-row td{
    white-space:nowrap;
}

.mailbox-row td:nth-child(3),
.mailbox-row td:nth-child(4){
    max-width:260px;
    overflow:hidden;
    text-overflow:ellipsis;
}

/* Premium UI v1.5 — mailbox page finishing */

.foot{
    display:none;
}

.delete-mailboxes-form button{
    background:#fff8f8 !important;
    color:#9b3943 !important;
    border:1px solid #e8c9cd !important;
    box-shadow:none !important;
    font-size:12px;
    min-height:34px;
    padding:7px 12px;
}

.delete-mailboxes-form button:hover{
    background:#fff0f1 !important;
    border-color:#dcaeb4 !important;
    color:#842d36 !important;
}

.mailbox-row td:last-child a{
    font-weight:700;
}

/* Premium UI v1.6 — brand + account refinement */

.side-logo{
    width:142px;
    margin:0 auto 28px;
    padding:14px 16px;
    border-radius:18px;
    background:rgba(255,255,255,.28);
    border:1px solid rgba(255,255,255,.34);
    box-shadow:
        0 8px 24px rgba(5,70,75,.08),
        inset 0 1px 0 rgba(255,255,255,.45);
    backdrop-filter:blur(10px);
}

.account{
    left:18px;
    right:18px;
    bottom:18px;
    padding:16px 16px 14px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:16px;
    background:rgba(4,68,75,.18);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 8px 22px rgba(0,45,52,.08);
    backdrop-filter:blur(8px);
}

.account{
    color:#fff;
    font-size:15px;
    font-weight:700;
}

.account a{
    display:inline-block;
    margin-top:8px;
    margin-right:12px;
    color:rgba(239,255,252,.82);
    font-size:12px;
    font-weight:550;
}

.account a:hover{
    color:#fff;
    text-decoration:none;
}

.account .side-copyright{
    margin-top:14px !important;
    padding-top:10px;
    border-top:1px solid rgba(255,255,255,.12);
    color:rgba(230,250,247,.50) !important;
}

/* =========================================================
   Premium UI v1.7 — integrated sidebar
   ========================================================= */

aside{
    background:
        linear-gradient(
            180deg,
            #ffffff 0,
            #ffffff 145px,
            #eefbf9 205px,
            #a9e7df 285px,
            #45c3b8 410px,
            #15968f 58%,
            #087176 78%,
            #063f4b 100%
        );
}


/* Logo becomes part of the white header area */

.side-logo{
    width:145px;
    margin:0 auto 30px;
    padding:0;
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
    backdrop-filter:none;
    filter:none;
}


/* Workspace */

.small{
    color:#477176;
    font-size:10px;
    font-weight:800;
    letter-spacing:.16em;
}


/* Navigation */

nav a{
    color:#174d51;
    background:transparent;
    border:1px solid transparent;
}

nav a:hover{
    color:#103f43;
    background:rgba(255,255,255,.26);
    border-color:rgba(255,255,255,.20);
}

nav .on{
    color:#123f43;
    background:rgba(255,255,255,.48);
    border-color:rgba(255,255,255,.30);
    box-shadow:
        0 5px 16px rgba(6,83,84,.07);
}


/* Account — no card */

.account{
    left:27px;
    right:27px;
    bottom:22px;

    padding:17px 0 0;

    background:transparent;
    border:0;
    border-top:1px solid rgba(226,255,251,.24);
    border-radius:0;

    box-shadow:none;
    backdrop-filter:none;

    color:#fff;
}


.account-name{
    font-size:15px;
    font-weight:720;
    line-height:1.2;
}


.account-role{
    margin-top:3px;

    color:rgba(226,249,246,.62);

    font-size:10px;
    font-weight:650;
    letter-spacing:.08em;
    text-transform:uppercase;
}


.account-role::before{
    content:"";
    display:inline-block;

    width:6px;
    height:6px;

    margin-right:6px;

    border-radius:50%;
    background:#73e1ce;

    box-shadow:0 0 0 3px rgba(115,225,206,.10);
}


.account-links{
    display:flex;
    align-items:center;
    gap:8px;

    margin-top:11px;

    font-size:12px;
}


.account-links span{
    color:rgba(226,249,246,.34);
}


.account .account-links a{
    display:inline;
    width:auto;
    margin:0;

    color:rgba(239,255,252,.78);

    font-size:12px;
    font-weight:520;

    text-decoration:none;
}


.account .account-links a:hover{
    color:#fff;
}


.account .side-copyright{
    margin-top:13px !important;
    padding-top:0;

    border:0;

    color:rgba(224,247,244,.42) !important;

    font-size:9px !important;
    font-weight:450;
}

/* =========================================================
   Premium UI v1.8 — mailbox forms
   ========================================================= */

.mailbox-form-panel{
    max-width:760px;
    padding:34px 38px;
}

.form-back{
    margin:0 0 26px !important;
}

.form-back a{
    display:inline-flex;
    align-items:center;
    color:#607a7e;
    font-size:13px;
    font-weight:650;
    text-decoration:none;
}

.form-back a:hover{
    color:#087b77;
}

.form-intro{
    margin:4px 0 28px !important;
    color:#75878b !important;
    font-size:14px;
}


/* Main form */

.premium-mailbox-form{
    display:grid;
    gap:20px;
}

.premium-mailbox-form label{
    margin:0;
}

.premium-mailbox-form input[type="text"],
.premium-mailbox-form input[type="email"],
.premium-mailbox-form input[type="password"]{
    min-height:48px;
    padding:12px 14px;
    border-radius:12px;
    background:#fbfdfd;
}

.premium-mailbox-form input:focus{
    background:#fff;
}


/* Email read-only display */

.mailbox-email-display{
    margin-top:7px;
    padding:13px 15px;
    border:1px solid #dce8e9;
    border-radius:12px;
    background:#f5f9f9;
    color:#173f43;
    font-size:14px;
    font-weight:700;
}


/* Checkbox */

.premium-mailbox-form label:has(input[type="checkbox"]){
    display:flex;
    align-items:center;
    gap:10px;
    width:max-content;
    color:#4b6368;
}

.premium-mailbox-form label:has(input[type="checkbox"]) input{
    width:16px;
    height:16px;
    margin:0;
}


/* Primary action */

.premium-mailbox-form > .primary{
    width:max-content;
    min-width:140px;
    margin-top:4px;
}


/* Password area */

.password-settings-block{
    max-width:760px;
    margin-top:30px;
    padding:26px 30px 28px;
    border:1px solid #dce7e8;
    border-radius:18px;
    background:
        linear-gradient(
            180deg,
            #fbfdfd 0%,
            #f7faf9 100%
        );
    box-shadow:0 8px 26px rgba(18,52,58,.045);
}

.password-settings-block h3{
    margin:0 0 5px;
    font-size:17px;
}

.password-settings-block .muted{
    margin:0 0 20px;
    font-size:13px;
}

.premium-password-form{
    display:flex;
    align-items:flex-end;
    gap:12px;
}

.premium-password-form label{
    flex:1;
}

.premium-password-form input{
    min-height:46px;
}

.premium-password-form .primary{
    min-height:46px;
}


/* Mailbox metadata */

.mailbox-info{
    max-width:760px;
    margin-top:20px;
    padding:14px 16px;
    border:1px solid #dfe9e9;
    border-left:3px solid #58aaa4;
    border-radius:10px;
    background:#f8fbfa;
    color:#62797d;
}

.mailbox-info strong{
    color:#334f53;
}


/* Add mailbox password helper */

.new-mailbox-panel .password-wrap small{
    display:block;
    margin-top:7px;
    color:#87979a;
    font-size:11px;
    font-weight:500;
}


/* Mobile */

@media(max-width:720px){

    .mailbox-form-panel{
        max-width:none;
        padding:24px 20px;
    }

    .premium-password-form{
        display:block;
    }

    .premium-password-form .primary{
        margin-top:14px;
    }

    .password-settings-block{
        padding:22px 20px;
    }
}

/* =========================================================
   Premium UI v1.9 — compact mailbox forms
   ========================================================= */

/* Main form card */
.mailbox-form-panel{
    width:100%;
    max-width:650px;
    padding:34px 38px 38px;
}

/* Keep fields visually compact */
.premium-mailbox-form{
    max-width:540px;
    gap:18px;
}

/* Password field / eye */
.password-wrap{
    position:relative;
    width:100%;
}

.password-wrap input{
    width:100%;
    padding-right:48px !important;
}

.password-eye{
    position:absolute;
    right:10px;
    top:30px;
    transform:none;
    width:34px;
    height:34px;
    min-height:34px;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    display:flex;
    align-items:center;
    justify-content:center;
}

/* Password helper */
.password-wrap small{
    padding-right:5px;
    line-height:1.4;
}

/* Edit password section */
.password-settings-block{
    width:100%;
    max-width:650px;
    margin-top:26px;
    padding:25px 30px 28px;
}

.premium-password-form{
    display:block;
    max-width:540px;
}

.premium-password-form label{
    display:block;
}

.premium-password-form input{
    width:100%;
}

.premium-password-form .primary{
    margin-top:14px;
    min-width:150px;
}

/* Mailbox info aligns with forms */
.mailbox-info{
    width:100%;
    max-width:650px;
}

/* separator should not stretch across whole workspace */
.section-separator-28{
    max-width:650px;
    margin-left:0;
    margin-right:0;
}

/* Add/Edit buttons */
.mailbox-form-panel .primary,
.password-settings-block .primary{
    min-height:42px;
}

/* Mobile */
@media(max-width:720px){
    .mailbox-form-panel,
    .password-settings-block,
    .mailbox-info{
        max-width:none;
    }

    .premium-mailbox-form,
    .premium-password-form{
        max-width:none;
    }
}

/* Premium UI v2.0 — mailbox information */

.mailbox-info{
    max-width:650px;
    margin-top:18px;
    padding:11px 14px;

    border:0;
    border-left:3px solid #8b4a57;
    border-radius:0 9px 9px 0;

    background:#fcf7f8;
    color:#80535c;

    font-size:11px;
    line-height:1.55;
}

.mailbox-info strong{
    color:#713b47;
    font-size:11px;
    font-weight:700;
}

/* =========================================================
   Premium UI v2.1 — Team access
   ========================================================= */

.team-panel{
    max-width:980px;
    padding:32px 34px 36px;
}

.team-panel > h2{
    margin-bottom:4px;
}

.team-panel > p{
    margin-top:0;
    color:#74868a;
    font-size:14px;
}


/* Add team member */

.team-add-form{
    display:grid;
    grid-template-columns:
        minmax(150px,1fr)
        minmax(150px,1fr)
        minmax(190px,1.15fr)
        auto;

    gap:14px;
    align-items:end;

    margin:25px 0 30px;
    padding:18px;

    border:1px solid #dfe9ea;
    border-radius:16px;

    background:
        linear-gradient(
            180deg,
            #fafcfc 0%,
            #f6f9f9 100%
        );
}

.team-add-form label{
    margin:0;
    color:#596f74;
    font-size:12px;
    font-weight:700;
}

.team-add-form input{
    min-height:44px;
    margin-top:7px;
    background:#fff;
}

.team-add-form small{
    display:block;
    margin-top:6px;
    color:#89999c;
    font-size:10px;
    font-weight:500;
}

.team-add-form .primary{
    min-height:44px;
    align-self:end;
}


/* Team table */

.team-table{
    margin-top:4px;
    border-collapse:separate;
    border-spacing:0;
}

.team-table thead th{
    padding:11px 14px;
    background:#f7fafa;
    border-top:1px solid #e6eeee;
    border-bottom:1px solid #dce7e8;

    color:#76888c;
    font-size:11px;
    font-weight:750;
    letter-spacing:.045em;
    text-transform:uppercase;
}

.team-table thead th:first-child{
    border-radius:10px 0 0 10px;
}

.team-table thead th:last-child{
    border-radius:0 10px 10px 0;
}

.team-table td{
    padding:12px 14px;
    border-bottom:1px solid #edf2f2;
    vertical-align:middle;
}

.team-table tbody tr{
    transition:background .15s ease;
}

.team-table tbody tr:hover{
    background:#f4faf9;
}

.team-table td strong{
    display:block;
    color:#263f44;
    font-size:14px;
    font-weight:700;
}

.team-table td small{
    margin-top:2px;
    color:#819195;
    font-size:11px;
}


/* Status */

.team-status{
    display:inline-flex;
    align-items:center;
    gap:6px;

    min-width:72px;
    padding:5px 9px;

    border-radius:999px;

    font-size:11px;
    font-weight:700;
}

.team-status::before{
    content:"";
    width:6px;
    height:6px;
    border-radius:50%;
}

.team-status-active{
    background:#ecf8f3;
    color:#24705a;
}

.team-status-active::before{
    background:#3ca67d;
}

.team-status-disabled{
    background:#f2f4f4;
    color:#727f82;
}

.team-status-disabled::before{
    background:#9ba6a8;
}


/* Actions */

.team-actions-cell{
    display:flex;
    align-items:center;
    gap:8px;
}

.team-actions-cell .button,
.team-actions-cell button{
    min-height:34px;
    padding:7px 11px;

    border-radius:9px;

    font-size:11px;
    font-weight:700;
}

.team-actions-cell .button{
    border:1px solid #cfe0e0;
    background:#f7fbfa;
    color:#32666a;
}

.team-actions-cell .button:hover{
    background:#eaf7f5;
    border-color:#a7ceca;
    color:#08736f;
    text-decoration:none;
}

.team-actions-cell .mini{
    margin:0;
}


/* Responsive */

@media(max-width:1100px){
    .team-add-form{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:720px){
    .team-panel{
        max-width:none;
        padding:24px 20px;
    }

    .team-add-form{
        grid-template-columns:1fr;
    }

    .team-actions-cell{
        display:block;
    }

    .team-actions-cell .mini{
        margin-top:7px;
    }
}

/* =========================================================
   Premium UI v2.2 — Manage team member
   ========================================================= */

.team-member-panel{
    max-width:760px;
    padding:32px 36px 38px;
}

.team-member-panel .section-back{
    margin-bottom:22px;
}

.team-member-panel .section-back .button{
    padding:7px 10px;
    min-height:34px;
    background:transparent;
    border:0;
    color:#647c80;
    font-size:12px;
}

.team-member-panel .section-back .button:hover{
    color:#087b77;
    background:#f3f8f8;
}


/* Member summary */

.team-member-card{
    margin-bottom:28px;
    padding:20px 22px;

    border:1px solid #dfe9ea;
    border-radius:16px;

    background:
        linear-gradient(
            180deg,
            #fbfdfd 0%,
            #f6f9f9 100%
        );
}

.team-member-card-title{
    margin:0 0 8px;
    color:#213f45;
    font-size:20px;
}

.team-member-meta{
    color:#728589;
    font-size:12px;
    line-height:1.7;
}

.team-member-meta strong{
    color:#4b6368;
}


/* Change password */

.team-member-panel > h3{
    margin:0 0 5px;
}

.team-password-form{
    display:grid;
    grid-template-columns:1fr auto;
    gap:12px;
    align-items:end;

    margin:16px 0 4px;
    padding:20px;

    border:1px solid #e0e9ea;
    border-radius:16px;
    background:#fafcfc;
}

.team-password-form label{
    margin:0;
}

.team-password-form input{
    min-height:46px;
    background:#fff;
}

.team-password-form small{
    display:block;
    margin-top:6px;
    color:#8a999c;
    font-size:10px;
}

.team-password-form .primary{
    min-height:46px;
    margin:0;
}


/* Separators */

.team-member-panel .section-separator{
    max-width:none;
    margin:28px 0;
    border-top-color:#e5eded;
}


/* Mailbox exclusions */

.team-exclusions-block{
    padding:20px 22px;

    border:1px solid #dfe8e9;
    border-radius:16px;

    background:#f8fbfb;
}

.team-exclusions-block h3{
    margin:0 0 5px;
    color:#29474c;
}

.team-exclusions-block p{
    margin:0 0 16px;
    color:#74868a;
    font-size:13px;
}

.team-exclusions-block .button{
    display:inline-flex;
    min-height:38px;
    align-items:center;

    border:1px solid #cfe0e0;
    background:#fff;
    color:#32666a;

    font-size:12px;
    font-weight:700;
}

.team-exclusions-block .button:hover{
    background:#eaf7f5;
    border-color:#a7ceca;
    color:#08736f;
    text-decoration:none;
}


/* Danger zone */

.team-danger-zone{
    margin-top:0;
    padding:20px 22px;

    border:1px solid #ead1d4;
    border-left:3px solid #98515d;
    border-radius:14px;

    background:#fdf8f9;
}

.team-danger-zone h3{
    margin:0 0 5px;
    color:#7d3c48;
    font-size:15px;
}

.team-danger-zone p{
    margin:0 0 15px;
    color:#89646a;
    font-size:12px;
}

.team-danger-zone .danger-button{
    min-height:36px;
    padding:8px 12px;

    background:#8c4652 !important;
    border:1px solid #8c4652 !important;

    font-size:11px;
    font-weight:700;
}

.team-danger-zone .danger-button:hover{
    background:#783b46 !important;
}


/* Mobile */

@media(max-width:720px){

    .team-member-panel{
        max-width:none;
        padding:24px 20px;
    }

    .team-password-form{
        grid-template-columns:1fr;
    }

    .team-password-form .primary{
        width:max-content;
    }
}

/* =========================================================
   Premium UI v2.3 — Mailbox exclusions
   ========================================================= */

.exclusions-panel{
    max-width:900px;
    padding:32px 36px 38px;
}

.exclusions-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}

.exclusions-person strong{
    display:block;
    color:#253f44;
    font-size:19px;
    font-weight:720;
}

.exclusions-person span{
    display:block;
    margin-top:2px;
    color:#819195;
    font-size:12px;
}

.exclusions-back{
    min-height:34px;
    padding:7px 11px;
    background:#f7fafb;
    border:1px solid #d8e4e5;
    color:#587276;
    font-size:12px;
}

.exclusions-help{
    margin:0 0 24px !important;
    padding:12px 14px;
    border-radius:11px;
    background:#f5f9f9;
    color:#687e82 !important;
    font-size:12px;
}


/* Table */

.exclusions-table{
    margin-top:0;
    border-collapse:separate;
    border-spacing:0;
}

.exclusions-table th{
    padding:10px 13px;
    background:#f8fbfb;
    border-top:1px solid #e4eded;
    border-bottom:1px solid #dce7e8;
}

.exclusions-table th:first-child{
    border-radius:10px 0 0 10px;
}

.exclusions-table th:last-child{
    border-radius:0 10px 10px 0;
}

.exclusions-table td{
    height:42px;
    padding:8px 13px;
    border-bottom:1px solid #edf2f2;
    vertical-align:middle;
}

.exclusions-table tbody tr:hover{
    background:#f5faf9;
}

.exclusions-table tr.exclusion-blocked{
    background:#fdf8f9;
}


/* Status */

.access-status{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:4px 9px;
    border-radius:999px;
    font-size:11px;
    font-weight:700;
}

.access-status::before{
    content:"";
    width:6px;
    height:6px;
    border-radius:50%;
}

.access-allowed{
    background:#edf8f3;
    color:#28705b;
}

.access-allowed::before{
    background:#42a77f;
}

.access-blocked{
    background:#f9ecee;
    color:#874551;
}

.access-blocked::before{
    background:#a45764;
}


/* Actions */

.exclusions-table .mini{
    margin:0;
}

.exclusions-table button{
    min-width:66px;
    min-height:32px;
    padding:6px 10px;
    font-size:11px;
    font-weight:700;
}

.block-access-button{
    background:#fff8f8 !important;
    border:1px solid #e5c7cc !important;
    color:#8a4652 !important;
}

.block-access-button:hover{
    background:#fbecef !important;
}

.allow-access-button{
    background:#eef8f4 !important;
    border:1px solid #c4e2d5 !important;
    color:#286d58 !important;
}

.allow-access-button:hover{
    background:#e3f4ec !important;
}


/* Mobile */

@media(max-width:720px){

    .exclusions-panel{
        max-width:none;
        padding:24px 20px;
    }

    .exclusions-heading{
        display:block;
    }

    .exclusions-back{
        display:inline-flex;
        margin-top:14px;
    }
}

/* Premium UI v2.4 — compact table rows */

/* Mailboxes */
.mailbox-row td{
    height:29px !important;
    padding:5px 10px !important;
    line-height:1.2 !important;
}

/* Mailbox exclusions */
.exclusions-table td{
    height:30px !important;
    padding:5px 12px !important;
    line-height:1.2 !important;
}

/* Slightly smaller action buttons in exclusions */
.exclusions-table button{
    min-height:27px;
    padding:4px 9px;
}

/* Keep status badges compact */
.access-status{
    padding:3px 8px;
}

/* Premium UI v2.5 — extra compact tables */

.mailbox-row td{
    height:26px !important;
    padding:4px 9px !important;
    line-height:1.15 !important;
}

.exclusions-table td{
    height:26px !important;
    padding:4px 11px !important;
    line-height:1.15 !important;
}

.exclusions-table button{
    min-height:24px;
    padding:3px 8px;
    font-size:10px;
}

.access-status{
    padding:2px 7px;
    font-size:10px;
}

/* Premium UI v2.6 — extra compact Mailboxes */

.mailbox-row td{
    height:23px !important;
    padding:3px 8px !important;
    line-height:1.08 !important;
    font-size:13px;
}

.mailbox-row td:last-child a{
    min-width:42px;
    padding:2px 7px;
    font-size:10px;
    border-radius:6px;
}

.mailbox-row input[type="checkbox"]{
    width:13px;
    height:13px;
}

/* Premium UI v2.7 — green Edit buttons */

.mailbox-row td:last-child a{
    background:#eaf7f4 !important;
    border:1px solid #b9ddd6 !important;
    color:#087268 !important;
    font-weight:700;
}

.mailbox-row td:last-child a:hover{
    background:#d9f1ec !important;
    border-color:#7fc4b8 !important;
    color:#055b54 !important;
}

/* =========================================================
   Premium UI v2.8 — Login history
   ========================================================= */

.panel:has(.login-history){
    max-width:1050px;
    padding:32px 34px 36px;
}

.panel:has(.login-history) > h2{
    margin-bottom:4px;
}

.panel:has(.login-history) > .muted{
    margin-top:4px;
    font-size:13px;
}


/* Table */

.login-history{
    margin-top:20px;
    border-collapse:separate;
    border-spacing:0;
}

.login-history thead th{
    padding:10px 12px;
    background:#f7fafa;
    border-top:1px solid #e5eded;
    border-bottom:1px solid #dce7e8;

    color:#718489;
    font-size:10px;
    font-weight:750;
    letter-spacing:.045em;
    text-transform:uppercase;
}

.login-history thead th:first-child{
    border-radius:10px 0 0 10px;
}

.login-history thead th:last-child{
    border-radius:0 10px 10px 0;
}

.login-history td{
    height:31px;
    padding:5px 12px;
    border-bottom:1px solid #edf2f2;

    color:#40565b;
    font-size:12px;
    line-height:1.2;
    vertical-align:middle;
}

.login-history tbody tr:hover{
    background:#f4faf9;
}


/* IP address */

.login-history code{
    padding:3px 7px;
    border:1px solid #e0e8e9;
    border-radius:7px;
    background:#f7f9fa;

    color:#52696e;
    font-size:11px;
}


/* Result badges */

.login-status{
    min-width:66px;
    padding:4px 8px;

    border-radius:999px;

    font-size:10px;
    font-weight:700;
}

.login-status-success{
    background:#eaf7f2;
    color:#246d57;
}

.login-status-failed{
    background:#fff5e8;
    color:#94601d;
}

.login-status-blocked{
    background:#f9ecee;
    color:#884651;
}


/* Pagination */

.history-pagination{
    margin-top:20px;
    padding-top:16px;
    border-top:1px solid #e8eeee;
}

.history-pagination .button,
.history-pagination a{
    min-height:34px;
    padding:7px 11px;

    border:1px solid #d3e1e2;
    border-radius:9px;

    background:#f8fbfb;
    color:#42666a;

    font-size:11px;
    font-weight:700;
    text-decoration:none;
}

.history-pagination .button:hover,
.history-pagination a:hover{
    background:#eaf7f5;
    border-color:#add1cd;
    color:#08736f;
}

/* =========================================================
   Premium UI v2.9 — Settings
   ========================================================= */

.settings-panel{
    max-width:760px;
    padding:32px 36px 38px;
}

.settings-panel > h2{
    margin-bottom:4px;
}

.settings-panel > p{
    margin-top:0;
    margin-bottom:26px;
    color:#74868a;
    font-size:14px;
}

.settings-form{
    display:grid;
    grid-template-columns:1fr;
    gap:22px;
    max-width:600px;
    margin:0;
}

.settings-form label{
    margin:0;
    color:#425a5f;
    font-size:13px;
    font-weight:700;
}

.settings-form input[type="email"]{
    min-height:47px;
    background:#fbfdfd;
}

.settings-form small{
    display:block;
    margin-top:7px;
    color:#87979a;
    font-size:11px;
    font-weight:500;
    line-height:1.4;
}

/* Keep a copy setting */

.settings-form label:has(input[type="checkbox"]){
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    column-gap:10px;

    padding:15px 16px;

    border:1px solid #dfe8e9;
    border-radius:13px;

    background:#f8fbfb;
}

.settings-form label:has(input[type="checkbox"]) input{
    width:16px;
    height:16px;
    margin:0;
    grid-row:1 / span 2;
}

.settings-form label:has(input[type="checkbox"]) small{
    margin-top:3px;
    grid-column:2;
}

/* Save */

.settings-form .primary{
    width:max-content;
    min-width:130px;
    margin-top:2px;
}

@media(max-width:720px){
    .settings-panel{
        max-width:none;
        padding:24px 20px;
    }

    .settings-form{
        max-width:none;
    }
}

/* =========================================================
   Premium UI v3.0 — My account
   ========================================================= */

.my-account-panel{
    max-width:900px;
    padding:32px 36px 38px;
}


/* Profile */

.my-account-profile{
    position:relative;
    padding:20px 22px;
    margin-bottom:26px;

    border:1px solid #dfe9ea;
    border-radius:16px;

    background:
        linear-gradient(
            180deg,
            #fbfdfd 0%,
            #f5f9f9 100%
        );
}

.my-account-name{
    color:#243f44;
    font-size:20px;
    font-weight:730;
}

.my-account-login{
    margin-top:2px;
    color:#788b8f;
    font-size:12px;
}

.my-account-role{
    position:absolute;
    top:22px;
    right:22px;

    padding:5px 9px;

    border-radius:999px;
    background:#eaf7f3;
    color:#27705b;

    font-size:10px;
    font-weight:750;
    letter-spacing:.06em;
    text-transform:uppercase;
}


/* Password */

.my-password-block{
    padding:22px 24px 25px;

    border:1px solid #dfe9ea;
    border-radius:16px;
    background:#fafcfc;
}

.my-password-block h3{
    margin:0 0 4px;
}

.my-password-block > .muted{
    margin:0 0 20px;
    font-size:12px;
}

.my-password-ui{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    max-width:720px;
}

.my-password-ui label{
    margin:0;
}

.my-password-ui label:first-child{
    grid-column:1 / -1;
}

.my-password-ui input{
    min-height:45px;
    background:#fff;
}

.my-password-ui small{
    display:block;
    margin-top:6px;
    color:#87979a;
    font-size:10px;
    font-weight:500;
}

.my-password-ui .primary{
    grid-column:1 / -1;
    width:max-content;
    min-width:165px;
}


/* Trusted devices */

.my-account-panel > .section-separator{
    margin:30px 0;
}

.trusted-devices-table{
    margin-top:18px;
    border-collapse:separate;
    border-spacing:0;
}

.trusted-devices-table th{
    padding:10px 11px;
    background:#f7fafa;
    border-top:1px solid #e4eded;
    border-bottom:1px solid #dce7e8;

    color:#73858a;
    font-size:10px;
    font-weight:750;
    letter-spacing:.045em;
    text-transform:uppercase;
}

.trusted-devices-table th:first-child{
    border-radius:10px 0 0 10px;
}

.trusted-devices-table th:last-child{
    border-radius:0 10px 10px 0;
}

.trusted-devices-table td{
    height:32px;
    padding:6px 11px;

    border-bottom:1px solid #edf2f2;

    color:#40565b;
    font-size:11px;
    vertical-align:middle;
}

.trusted-devices-table tbody tr:hover{
    background:#f4faf9;
}

.trusted-devices-table code{
    padding:3px 6px;
    border-radius:6px;
    background:#f3f6f7;
    color:#52696e;
    font-size:10px;
}

.current-device-badge{
    display:inline-block !important;
    margin-top:3px;

    color:#28705b !important;
    font-size:9px !important;
    font-weight:700;
}

.trusted-devices-table .mini{
    margin:0;
}

.trusted-devices-table button{
    min-height:28px;
    padding:4px 9px;

    background:#fff8f8 !important;
    border:1px solid #e5c9cd !important;
    color:#874651 !important;

    font-size:10px;
}

.trusted-devices-table button:hover{
    background:#faecee !important;
}


/* Mobile */

@media(max-width:720px){

    .my-account-panel{
        max-width:none;
        padding:24px 20px;
    }

    .my-password-ui{
        grid-template-columns:1fr;
    }

    .my-password-ui label:first-child,
    .my-password-ui .primary{
        grid-column:auto;
    }

    .my-account-role{
        position:static;
        display:inline-block;
        margin-top:10px;
    }
}

/* Premium UI v3.1 — Trusted devices finishing */

.current-device-badge{
    display:inline-flex !important;
    align-items:center;
    margin-left:7px;
    margin-top:0;

    padding:2px 6px;
    border-radius:999px;

    background:#e8f7f2;
    color:#24705a !important;

    font-size:9px !important;
    font-weight:700;
}

.trusted-devices-table button{
    min-width:55px;
    min-height:26px;

    padding:3px 8px;

    border-radius:7px;

    background:#fff7f8 !important;
    border:1px solid #e2c5ca !important;
    color:#874652 !important;

    font-size:10px;
    font-weight:700;
}

.trusted-devices-table button:hover{
    background:#f9e9ec !important;
    border-color:#d9aeb5 !important;
}

/* Hide account role in sidebar */
.account-role{
    display:none !important;
}

/* Fix Add mailbox password eye alignment */
.new-mailbox-panel .password-eye{
    top:23px !important;
    transform:translateY(-50%) !important;
}

/* =========================================================
   Premium UI v3.2 — Sign in
   ========================================================= */

.auth{
    min-height:100vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;

    padding:64px 20px 28px;

    background:
        radial-gradient(
            circle at 50% 18%,
            #ffffff 0%,
            #f8fbfb 42%,
            #f1f7f7 100%
        );
}

.auth .logo{
    width:150px;
    max-width:42vw;
    height:auto;
    margin:0 0 24px;
}

.auth .card{
    width:min(100%,390px);

    padding:28px 30px 30px;

    border:1px solid #dde8e9;
    border-radius:18px;

    background:rgba(255,255,255,.96);

    box-shadow:
        0 18px 42px rgba(22,72,76,.08),
        0 2px 8px rgba(22,72,76,.04);
}

.auth .card h1{
    margin:0 0 10px;

    color:#203e43;
    font-size:28px;
    line-height:1.15;
    font-weight:720;
}

.auth .card > p{
    margin:0 0 22px;

    color:#6f8286;
    font-size:13px;
}

.auth .card form{
    display:grid;
    gap:16px;
}

.auth .card label{
    margin:0;

    color:#40575c;
    font-size:13px;
    font-weight:700;
}

.auth .card input{
    min-height:44px;
    margin-top:6px;

    border-radius:10px;
    background:#fbfdfd;
}

.auth .card .primary{
    width:100%;
    min-height:44px;
    margin-top:2px;

    border-radius:10px;
}

.auth footer{
    margin-top:18px;

    color:#8a999c;
    font-size:11px;
}


/* Mobile */

@media(max-width:600px){

    .auth{
        padding:52px 18px 24px;
    }

    .auth .logo{
        width:175px;
        max-width:52vw;
        margin-bottom:24px;
    }

    .auth .card{
        width:100%;
        max-width:420px;

        padding:26px 24px 28px;

        border-radius:17px;
    }

    .auth .card h1{
        font-size:34px;
        line-height:1.08;
        margin-bottom:14px;
    }

    .auth .card > p{
        font-size:15px;
        line-height:1.45;
        margin-bottom:24px;
    }

    .auth .card input{
        min-height:52px;
    }

    .auth .card .primary{
        min-height:50px;
        font-size:16px;
    }

    .auth footer{
        margin-top:24px;
        font-size:12px;
        text-align:center;
    }
}

/* Sign in — tighter mobile spacing */
@media(max-width:600px){
    .auth .logo{
        margin-bottom:12px;
    }
}

/* Sign in — reduce empty space at top on mobile */
@media(max-width:600px){
    .auth{
        padding-top:20px;
    }
}

/* =========================================================
   Premium UI v3.3 — Bulk forwarding
   ========================================================= */

.bulk-forwarding-toolbar{
    display:flex;
    align-items:flex-end;
    gap:9px;

    margin-top:16px;
    padding:12px 14px;

    border:1px solid #dce7e8;
    border-radius:12px;

    background:#f8fbfb;
}

.bulk-forwarding-title{
    min-width:125px;

    color:#38565b;
    font-size:12px;
    font-weight:750;
}

.bulk-forwarding-title small{
    display:block;
    margin-top:2px;

    color:#87979a;
    font-size:9px;
    font-weight:500;
}

.bulk-forwarding-toolbar input{
    width:260px;
    min-height:34px;

    padding:6px 10px;

    font-size:12px;
}

.bulk-forwarding-toolbar button{
    min-height:34px;
    padding:6px 11px;

    font-size:10px;
    font-weight:700;
}

.bulk-forwarding-toolbar #bulk-forward-change{
    background:#eaf7f4 !important;
    border-color:#b9ddd6 !important;
    color:#087268 !important;
}

.bulk-forwarding-toolbar #bulk-forward-change:hover{
    background:#d9f1ec !important;
    border-color:#7fc4b8 !important;
}

.bulk-forward-clear{
    background:#fff7f8 !important;
    border-color:#e3c9cd !important;
    color:#874651 !important;
}

@media(max-width:720px){

    .bulk-forwarding-toolbar{
        align-items:stretch;
        flex-direction:column;
    }

    .bulk-forwarding-toolbar input{
        width:100%;
    }

    .bulk-forwarding-toolbar button{
        width:100%;
    }
}

/* Bulk forwarding selected counter */

#bulk-selected-count{
    display:inline-block;
    margin-top:5px;
    padding:3px 7px;

    border-radius:999px;
    background:#eaf7f4;
    color:#087268;

    font-size:9px;
    font-weight:700;
}

/* =========================================================
   Premium UI v3.4 — Bulk actions popup
   ========================================================= */

.bulk-actions-wrap{
    position:relative;
    display:inline-block;
    margin:14px 0 10px;
}

.bulk-actions-toggle{
    min-height:34px;
    padding:6px 11px !important;

    background:#f7faf9 !important;
    border:1px solid #cddfdd !important;
    border-radius:9px;

    color:#315d5a !important;

    font-size:11px;
    font-weight:700;
}

.bulk-actions-toggle:hover{
    background:#edf7f5 !important;
}

.bulk-actions-toggle #bulk-selected-count{
    margin:0 3px 0 7px;
    padding:2px 6px;
}

.bulk-actions-arrow{
    margin-left:2px;
    font-size:9px;
}


/* Popup */

.bulk-forwarding-toolbar.bulk-actions-popover{
    position:absolute;
    z-index:100;

    top:calc(100% + 7px);
    left:0;

    display:block;

    width:390px;
    max-width:calc(100vw - 42px);

    margin:0;
    padding:16px;

    border:1px solid #d4e2e2;
    border-radius:13px;

    background:#fff;

    box-shadow:
        0 16px 40px rgba(31,74,76,.14),
        0 3px 10px rgba(31,74,76,.07);
}

.bulk-forwarding-toolbar.bulk-actions-popover[hidden]{
    display:none !important;
}

.bulk-actions-popover .bulk-forwarding-title{
    margin-bottom:12px;
}

.bulk-actions-popover input{
    width:100%;
    min-height:39px;
    margin-bottom:11px;
}

.bulk-popup-buttons{
    display:flex;
    gap:8px;
}

.bulk-popup-buttons button{
    flex:1;
    min-height:34px;
}


@media(max-width:600px){

    .bulk-actions-wrap{
        display:block;
    }

    .bulk-actions-popover{
        width:min(390px, calc(100vw - 70px)) !important;
    }

    .bulk-popup-buttons{
        flex-direction:column;
    }
}

/* Bulk actions — inline expandable row */

.bulk-forwarding-toolbar.bulk-actions-popover{
    position:static !important;
    z-index:auto;

    display:flex;
    align-items:flex-end;
    gap:8px;

    width:auto;
    max-width:760px;

    margin:8px 0 0;
    padding:10px 12px;

    border:1px solid #dce7e8;
    border-radius:10px;

    background:#f8fbfb;

    box-shadow:none;
}

.bulk-forwarding-toolbar.bulk-actions-popover[hidden]{
    display:none !important;
}

.bulk-actions-popover .bulk-forwarding-title{
    min-width:115px;
    margin:0;
}

.bulk-actions-popover input{
    width:250px;
    min-height:34px;
    margin:0;
}

.bulk-popup-buttons{
    display:flex;
    gap:7px;
}

.bulk-popup-buttons button{
    flex:none;
    min-height:34px;
    white-space:nowrap;
}

@media(max-width:720px){

    .bulk-forwarding-toolbar.bulk-actions-popover{
        flex-direction:column;
        align-items:stretch;
        max-width:none;
    }

    .bulk-actions-popover input{
        width:100%;
    }

    .bulk-popup-buttons{
        flex-direction:column;
    }

    .bulk-popup-buttons button{
        width:100%;
    }
}

/* =========================================================
   Premium UI v3.5 — Mobile Mailboxes
   Desktop layout is unchanged
   ========================================================= */

@media(max-width:720px){

    /* Mailboxes panel */

    .mailboxes-header{
        align-items:flex-start;
        gap:12px;
    }

    .mailboxes-header h2{
        margin-bottom:3px;
    }

    .mailboxes-header p{
        margin-top:0;
        font-size:12px;
    }

    .mailboxes-header .primary{
        min-height:36px;
        padding:7px 11px;
        font-size:11px;
        white-space:nowrap;
    }


    /* Filters */

    .mailbox-filters{
        gap:9px;
        margin-top:14px;
        margin-bottom:12px;
    }

    .mailbox-filters label{
        font-size:10px;
    }

    .mailbox-filters input,
    .mailbox-filters select,
    .mailbox-filters button{
        min-height:38px;
        font-size:12px;
    }

    .mailbox-filter-count{
        font-size:10px;
    }


    /* Convert table to mobile cards */

    .mailboxes-table{
        display:block;
        width:100%;
        margin-top:8px;
    }

    .mailboxes-table thead{
        display:none;
    }

    .mailboxes-table tbody{
        display:block;
        width:100%;
    }

    .mailboxes-table .mailbox-row{
        position:relative;

        display:block !important;

        margin:0 0 8px;
        padding:11px 54px 10px 34px;

        border:1px solid #dfe9e9;
        border-radius:12px;

        background:#fff;

        box-shadow:
            0 2px 7px rgba(24,70,73,.035);
    }

    .mailboxes-table .mailbox-row:hover{
        background:#fbfefe;
    }


    /* Every cell becomes a line */

    .mailboxes-table .mailbox-row td{
        display:block !important;

        width:auto !important;
        height:auto !important;

        padding:1px 0 !important;

        border:0 !important;

        line-height:1.28 !important;
        font-size:11px !important;

        overflow-wrap:anywhere;
    }


    /* Owner checkbox */

    .mailboxes-table .mailbox-row:has(.mailbox-select)
    td:first-child{
        position:absolute;
        top:13px;
        left:11px;

        padding:0 !important;
    }

    .mailboxes-table .mailbox-row
    .mailbox-select{
        width:14px;
        height:14px;
    }


    /* Name — Owner */

    .mailboxes-table .mailbox-row:has(.mailbox-select)
    td:nth-child(2){
        margin-bottom:2px;

        color:#263f44;
        font-size:12px !important;
        font-weight:750;
    }


    /* Name — Team */

    .mailboxes-table .mailbox-row:not(:has(.mailbox-select))
    td:nth-child(1){
        margin-bottom:2px;

        color:#263f44;
        font-size:12px !important;
        font-weight:750;
    }


    /* Email */

    .mailboxes-table .mailbox-row:has(.mailbox-select)
    td:nth-child(3),
    .mailboxes-table .mailbox-row:not(:has(.mailbox-select))
    td:nth-child(2){
        margin-bottom:4px;
    }

    .mailboxes-table .mailbox-row a{
        overflow-wrap:anywhere;
    }


    /* Forward to */

    .mailboxes-table .mailbox-row:has(.mailbox-select)
    td:nth-child(4)::before,
    .mailboxes-table .mailbox-row:not(:has(.mailbox-select))
    td:nth-child(3)::before{
        content:"Forward to: ";
        color:#879699;
        font-size:9px;
        font-weight:700;
    }


    /* Keep a copy */

    .mailboxes-table .mailbox-row:has(.mailbox-select)
    td:nth-child(5)::before,
    .mailboxes-table .mailbox-row:not(:has(.mailbox-select))
    td:nth-child(4)::before{
        content:"Keep a copy: ";
        color:#879699;
        font-size:9px;
        font-weight:700;
    }


    /* Edit button */

    .mailboxes-table .mailbox-row td:last-child{
        position:absolute;

        top:10px;
        right:10px;

        padding:0 !important;
    }

    .mailboxes-table .mailbox-row td:last-child a{
        display:inline-flex;
        align-items:center;
        justify-content:center;

        min-width:38px;
        min-height:26px;

        padding:3px 7px;

        font-size:9px;
    }


    /* Bottom owner actions */

    .bulk-actions-wrap{
        margin-top:10px;
        margin-bottom:7px;
    }

    .delete-mailboxes-form{
        margin-top:6px;
    }
}

/* =========================================================
   Mobile header — compact
   ========================================================= */

@media(max-width:720px){

    aside{
        min-height:0 !important;
        padding:18px 24px 12px !important;
    }

    .side-logo{
        width:112px !important;
        margin:0 auto 12px !important;
    }

    aside > .small{
        margin:0 0 7px !important;
        font-size:9px !important;
        letter-spacing:.13em;
    }

    aside nav{
        display:flex !important;
        flex-wrap:wrap;
        gap:5px 7px !important;
        margin:0 !important;
    }

    aside nav a{
        min-height:34px !important;
        padding:7px 11px !important;
        border-radius:10px !important;
        font-size:12px !important;
        line-height:1.1 !important;
    }

    .account{
        margin-top:12px !important;
        padding-top:10px !important;
    }

    .account-name{
        font-size:14px !important;
        line-height:1.15 !important;
    }

    .account-links{
        margin-top:5px !important;
        font-size:11px !important;
    }

    .side-copyright{
        margin-top:6px !important;
        font-size:8px !important;
    }
}

/* =========================================================
   Mobile Mailboxes — collapsible filters
   ========================================================= */

.mailbox-filters-toggle{
    display:none;
}

@media(max-width:720px){

    .mailbox-filters{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:12px !important;

        padding:14px 16px !important;
    }

    .mailbox-filters-toggle{
        display:flex !important;
        align-items:center;
        justify-content:space-between;

        width:100%;
        min-height:42px;

        padding:8px 12px !important;

        border:1px solid #cfe0df !important;
        border-radius:10px;

        background:#f4faf9 !important;
        color:#315b59 !important;

        font-size:13px !important;
        font-weight:750 !important;
    }

    .mailbox-filters-arrow{
        font-size:11px;
        transition:transform .18s ease;
    }

    .mailbox-filters:not(.mobile-collapsed)
    .mailbox-filters-arrow{
        transform:rotate(180deg);
    }

    /* Hide filter controls while collapsed */
    .mailbox-filters.mobile-collapsed > label,
    .mailbox-filters.mobile-collapsed > #mailbox-filter-reset{
        display:none !important;
    }

    /* Counter always remains visible */
    .mailbox-filter-count{
        margin:0 !important;
        padding:0 2px !important;

        font-size:11px !important;
        color:#809093 !important;
    }

    .mailbox-filters.mobile-collapsed{
        gap:7px !important;
    }
}

/* Team access — mobile action buttons spacing */
@media(max-width:720px){

    .team-table td:last-child{
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        gap:7px;
    }

    .team-table td:last-child form{
        margin:0 !important;
    }

    .team-table td:last-child a,
    .team-table td:last-child button{
        min-width:86px;
        margin:0 !important;
    }
}

/* Team access — center Manage / Disable text */
@media(max-width:720px){

    .team-table td:last-child a,
    .team-table td:last-child button{
        width:86px !important;
        height:44px !important;
        min-height:44px !important;

        padding:0 !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        box-sizing:border-box;
        text-align:center !important;
        line-height:1 !important;
    }
}

/* =========================================================
   Login history — mobile cards
   ========================================================= */

@media(max-width:720px){

    .panel:has(.login-history){
        padding:26px 20px 30px !important;
        max-width:none !important;
    }

    .login-history{
        display:block;
        width:100%;
        margin-top:18px;
    }

    .login-history thead{
        display:none;
    }

    .login-history tbody{
        display:block;
        width:100%;
    }

    .login-history tbody tr{
        display:grid;
        grid-template-columns:1fr auto;
        grid-template-areas:
            "date result"
            "user result"
            "ip ip"
            "details details";

        gap:5px 12px;

        width:100%;
        margin-bottom:12px;
        padding:14px 15px;

        border:1px solid #dfe9e9;
        border-radius:13px;

        background:#fff;

        box-shadow:
            0 3px 10px rgba(29,74,77,.04);
    }

    .login-history td{
        display:block !important;

        width:auto !important;
        height:auto !important;

        padding:0 !important;
        border:0 !important;

        font-size:12px !important;
        line-height:1.35 !important;
    }

    /* Date / time */
    .login-history td:nth-child(1){
        grid-area:date;

        color:#344f54;
        font-size:12px !important;
        font-weight:700;

        white-space:nowrap;
    }

    /* User */
    .login-history td:nth-child(2){
        grid-area:user;

        color:#687d81;
        font-size:12px !important;
    }

    .login-history td:nth-child(2)::before{
        content:"User: ";
        color:#93a1a4;
        font-weight:600;
    }

    /* IP */
    .login-history td:nth-child(3){
        grid-area:ip;
        margin-top:3px;
    }

    .login-history td:nth-child(3)::before{
        content:"IP: ";
        color:#93a1a4;
        font-weight:600;
    }

    .login-history td:nth-child(3) code{
        display:inline-block;

        padding:3px 7px;

        border:1px solid #e0e8e9;
        border-radius:7px;

        background:#f7f9fa;
        color:#52696e;

        font-size:11px;
    }

    /* Result */
    .login-history td:nth-child(4){
        grid-area:result;

        align-self:start;
        justify-self:end;
    }

    /* Details */
    .login-history td:nth-child(5){
        grid-area:details;

        margin-top:3px;
        padding-top:7px !important;

        border-top:1px solid #edf2f2 !important;

        color:#75878b;
        font-size:11px !important;
    }

    .login-history td:nth-child(5)::before{
        content:"Details: ";
        color:#93a1a4;
        font-weight:600;
    }

    .login-history td:nth-child(5):empty{
        display:none !important;
    }

    .login-status{
        min-width:72px !important;
        text-align:center;
    }

    .history-pagination{
        margin-top:18px;
        padding-top:15px;
    }

    .history-pagination .button,
    .history-pagination a{
        min-height:38px;
    }
}

/* =========================================================
   Login history — mobile cards
   ========================================================= */

@media(max-width:720px){

    .panel:has(.login-history){
        padding:26px 20px 30px !important;
        max-width:none !important;
    }

    .login-history{
        display:block;
        width:100%;
        margin-top:18px;
    }

    .login-history thead{
        display:none;
    }

    .login-history tbody{
        display:block;
        width:100%;
    }

    .login-history tbody tr{
        display:grid;
        grid-template-columns:1fr auto;
        grid-template-areas:
            "date result"
            "user result"
            "ip ip"
            "details details";

        gap:5px 12px;

        width:100%;
        margin-bottom:12px;
        padding:14px 15px;

        border:1px solid #dfe9e9;
        border-radius:13px;

        background:#fff;

        box-shadow:
            0 3px 10px rgba(29,74,77,.04);
    }

    .login-history td{
        display:block !important;

        width:auto !important;
        height:auto !important;

        padding:0 !important;
        border:0 !important;

        font-size:12px !important;
        line-height:1.35 !important;
    }

    /* Date / time */
    .login-history td:nth-child(1){
        grid-area:date;

        color:#344f54;
        font-size:12px !important;
        font-weight:700;

        white-space:nowrap;
    }

    /* User */
    .login-history td:nth-child(2){
        grid-area:user;

        color:#687d81;
        font-size:12px !important;
    }

    .login-history td:nth-child(2)::before{
        content:"User: ";
        color:#93a1a4;
        font-weight:600;
    }

    /* IP */
    .login-history td:nth-child(3){
        grid-area:ip;
        margin-top:3px;
    }

    .login-history td:nth-child(3)::before{
        content:"IP: ";
        color:#93a1a4;
        font-weight:600;
    }

    .login-history td:nth-child(3) code{
        display:inline-block;

        padding:3px 7px;

        border:1px solid #e0e8e9;
        border-radius:7px;

        background:#f7f9fa;
        color:#52696e;

        font-size:11px;
    }

    /* Result */
    .login-history td:nth-child(4){
        grid-area:result;

        align-self:start;
        justify-self:end;
    }

    /* Details */
    .login-history td:nth-child(5){
        grid-area:details;

        margin-top:3px;
        padding-top:7px !important;

        border-top:1px solid #edf2f2 !important;

        color:#75878b;
        font-size:11px !important;
    }

    .login-history td:nth-child(5)::before{
        content:"Details: ";
        color:#93a1a4;
        font-weight:600;
    }

    .login-history td:nth-child(5):empty{
        display:none !important;
    }

    .login-status{
        min-width:72px !important;
        text-align:center;
    }

    .history-pagination{
        margin-top:18px;
        padding-top:15px;
    }

    .history-pagination .button,
    .history-pagination a{
        min-height:38px;
    }
}

/* Login history — final pagination + empty details fix */

.history-pagination{
    display:flex !important;
    align-items:center;
    width:100%;
}

.history-pagination .history-newer{
    margin-right:auto !important;
}

.history-pagination .history-older{
    margin-left:auto !important;
}

@media(max-width:720px){
    .login-history td.login-details-empty{
        display:none !important;
    }
}

/* =========================================================
   My account — Trusted devices mobile cards
   ========================================================= */

@media(max-width:720px){

    .my-account-panel table{
        display:block;
        width:100%;
        margin-top:18px;
    }

    .my-account-panel table thead{
        display:none;
    }

    .my-account-panel table tbody{
        display:block;
        width:100%;
    }

    .my-account-panel table tbody tr{
        display:grid;
        grid-template-columns:1fr auto;
        grid-template-areas:
            "device action"
            "last action"
            "ip action"
            "added action";

        gap:8px 14px;

        width:100%;
        margin-bottom:12px;
        padding:15px 16px;

        border:1px solid #dfe9e9;
        border-radius:13px;

        background:#fff;

        box-shadow:
            0 3px 10px rgba(29,74,77,.04);
    }

    .my-account-panel table td{
        display:block !important;

        width:auto !important;
        height:auto !important;

        padding:0 !important;
        border:0 !important;

        font-size:12px !important;
        line-height:1.4 !important;
    }

    /* Device */
    .my-account-panel table td:nth-child(1){
        grid-area:device;

        color:#344f54;
        font-weight:700;
    }

    .my-account-panel table td:nth-child(1) strong{
        display:block;
        font-size:13px;
    }

    .my-account-panel table td:nth-child(1) small{
        display:inline-block;

        margin-top:5px;
        padding:3px 7px;

        border-radius:999px;

        background:#eaf7f2;
        color:#28715d;

        font-size:9px;
        font-weight:700;
    }

    /* Last used */
    .my-account-panel table td:nth-child(2){
        grid-area:last;
        color:#526a6e;
    }

    .my-account-panel table td:nth-child(2)::before{
        content:"Last used: ";
        color:#93a1a4;
        font-weight:600;
    }

    /* Last IP */
    .my-account-panel table td:nth-child(3){
        grid-area:ip;
        color:#526a6e;
    }

    .my-account-panel table td:nth-child(3)::before{
        content:"Last IP: ";
        color:#93a1a4;
        font-weight:600;
    }

    .my-account-panel table td:nth-child(3) code{
        display:inline-block;

        padding:3px 7px;

        border:1px solid #e0e8e9;
        border-radius:7px;

        background:#f7f9fa;
        color:#52696e;

        font-size:11px;
    }

    /* Added */
    .my-account-panel table td:nth-child(4){
        grid-area:added;
        color:#526a6e;
    }

    .my-account-panel table td:nth-child(4)::before{
        content:"Added: ";
        color:#93a1a4;
        font-weight:600;
    }

    /* Remove */
    .my-account-panel table td:nth-child(5){
        grid-area:action;

        align-self:start;
        justify-self:end;
    }

    .my-account-panel table td:nth-child(5) form{
        margin:0 !important;
    }

    .my-account-panel table td:nth-child(5) button{
        min-width:76px;
        min-height:36px;

        padding:0 10px !important;

        display:flex;
        align-items:center;
        justify-content:center;

        white-space:nowrap;
    }
}
