:root {
    color-scheme: dark;

    --bg:#05070a;
    --surface:#0a0e13;
    --surface-2:#0f151d;
    --surface-3:#151d27;

    --border:rgba(255,255,255,.09);
    --border-strong:rgba(255,255,255,.15);

    --text:#f4f7fb;
    --text-soft:#c6d0dc;
    --muted:#8390a0;

    --accent:#6bbcff;
    --accent-strong:#2488f4;
    --accent-soft:rgba(66,157,255,.10);

    --success:#50d7a0;
    --warning:#f2bd63;
    --danger:#ff7278;

    --radius-sm:10px;
    --radius:16px;
    --radius-lg:24px;

    --shadow:
        0 30px 80px rgba(0,0,0,.26);

    --max:1480px;
}

* {
    box-sizing:border-box;
}

html {
    min-height:100%;
    background:var(--bg);
}

body {
    margin:0;
    min-height:100vh;

    color:var(--text);

    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    background:
        radial-gradient(
            circle at 78% -12%,
            rgba(40,130,230,.14),
            transparent 34%
        ),
        radial-gradient(
            circle at -10% 32%,
            rgba(50,80,120,.08),
            transparent 26%
        ),
        var(--bg);
}

a {
    color:inherit;
}

button,
input,
textarea,
select {
    font:inherit;
}

button {
    cursor:pointer;
}

.shell {
    width:min(calc(100% - 42px),var(--max));
    margin:0 auto;
}

.topbar {
    min-height:78px;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;

    border-bottom:1px solid var(--border);
}

.topbar-right {
    display:flex;
    align-items:center;
    gap:22px;
}

.identity {
    display:grid;
    text-align:right;
}

.identity strong {
    font-size:.88rem;
}

.identity span {
    margin-top:2px;
    color:var(--muted);
    font-size:.73rem;
}


.topbar-logout {
    margin:0;
}

.topbar-logout .btn {
    min-height:36px;
    white-space:nowrap;
}

.permission-group {
    margin-top:20px;
    padding:18px;
    border:1px solid var(--border);
    border-radius:12px;
    background:rgba(255,255,255,.018);
}

.permission-group:first-child {
    margin-top:0;
}

.permission-group h3 {
    margin:0 0 6px;
    font-size:.93rem;
}

.permission-group > p {
    margin:0 0 14px;
    color:var(--muted);
    font-size:.82rem;
}

.permission-item .permission-description {
    display:block;
    margin-top:4px;
    color:var(--muted);
    font-size:.72rem;
    line-height:1.45;
}

.workflow-steps {
    display:grid;
    gap:12px;
    counter-reset:workflow;
}

.workflow-step {
    position:relative;
    padding:15px 16px 15px 52px;
    border:1px solid var(--border);
    border-radius:11px;
    background:rgba(255,255,255,.018);
}

.workflow-step::before {
    counter-increment:workflow;
    content:counter(workflow);
    position:absolute;
    left:15px;
    top:14px;
    width:25px;
    height:25px;
    display:grid;
    place-items:center;
    border:1px solid rgba(107,188,255,.28);
    border-radius:50%;
    color:var(--accent);
    font-size:.72rem;
    font-weight:850;
}

.lifecycle-actions {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
}

.lifecycle-note {
    margin-top:12px;
    color:var(--muted);
    font-size:.82rem;
}

.brand {
    display:inline-flex;
    gap:12px;
    align-items:center;

    color:var(--text);
    text-decoration:none;
}

.brand-mark {
    width:38px;
    height:38px;

    display:grid;
    place-items:center;

    border:1px solid rgba(107,188,255,.30);
    border-radius:11px;

    background:
        linear-gradient(
            145deg,
            rgba(107,188,255,.21),
            rgba(107,188,255,.025)
        );

    box-shadow:
        inset 0 1px rgba(255,255,255,.06);

    font-weight:900;
}

.brand-name {
    font-size:.93rem;
    font-weight:850;
    letter-spacing:.085em;
}

.brand-name span {
    color:var(--muted);
    font-weight:650;
}

.admin-layout {
    display:grid;
    grid-template-columns:250px minmax(0,1fr);

    min-height:calc(100vh - 79px);
}

.sidebar {
    position:relative;

    display:flex;
    flex-direction:column;

    padding:28px 24px 28px 0;

    border-right:1px solid var(--border);
}

.nav {
    display:grid;
    gap:5px;
}

.nav a {
    min-height:43px;

    display:flex;
    align-items:center;

    padding:0 14px;

    color:var(--muted);
    border:1px solid transparent;
    border-radius:10px;

    font-size:.89rem;
    font-weight:650;
    text-decoration:none;

    transition:
        color .16s ease,
        background .16s ease,
        border-color .16s ease;
}

.nav a:hover {
    color:var(--text);
    background:rgba(255,255,255,.035);
}

.nav a.active {
    color:var(--text);
    border-color:rgba(107,188,255,.13);
    background:
        linear-gradient(
            90deg,
            rgba(50,145,245,.11),
            rgba(50,145,245,.025)
        );
}

.nav-section {
    padding:26px 14px 8px;

    color:#657180;

    font-size:.64rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.sidebar-footer {
    margin-top:auto;
    padding-top:30px;
}

.main {
    min-width:0;
    padding:45px 0 80px 40px;
}

.page-head {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:22px;

    margin-bottom:32px;
}

.page-head-copy {
    min-width:0;
}

.eyebrow {
    margin-bottom:9px;

    color:var(--accent);

    font-size:.72rem;
    font-weight:850;
    letter-spacing:.14em;
    text-transform:uppercase;
}

h1,
h2,
h3,
p {
    margin-top:0;
}

h1 {
    margin-bottom:10px;

    font-size:clamp(2.1rem,4vw,3.7rem);
    line-height:.98;
    letter-spacing:-.052em;
}

h2 {
    margin-bottom:10px;
    letter-spacing:-.028em;
}

h3 {
    letter-spacing:-.018em;
}

.lead {
    max-width:790px;
    margin-bottom:0;

    color:var(--muted);

    line-height:1.72;
}

.grid {
    display:grid;
    gap:18px;
}

.grid-4 {
    grid-template-columns:
        repeat(4,minmax(0,1fr));
}

.grid-3 {
    grid-template-columns:
        repeat(3,minmax(0,1fr));
}

.grid-2 {
    grid-template-columns:
        repeat(2,minmax(0,1fr));
}

.card {
    padding:22px;

    border:1px solid var(--border);
    border-radius:var(--radius);

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.026),
            rgba(255,255,255,.009)
        ),
        var(--surface);

    box-shadow:
        inset 0 1px rgba(255,255,255,.018);
}

.card-large {
    padding:28px;
}

.metric {
    min-height:130px;
}

.metric-label {
    margin-bottom:18px;

    color:var(--muted);

    font-size:.7rem;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.metric-value {
    font-size:1.72rem;
    font-weight:850;
    letter-spacing:-.025em;
}

.metric-sub {
    margin-top:8px;

    color:var(--muted);

    font-size:.78rem;
}

.section {
    margin-top:26px;
}

.section-large {
    margin-top:38px;
}

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

    color:var(--text-soft);

    font-size:.79rem;
    font-weight:700;
}

.status:before {
    content:"";

    width:8px;
    height:8px;

    flex:0 0 auto;

    border-radius:50%;

    background:#657180;
}

.status.live:before,
.status.active:before {
    background:var(--success);

    box-shadow:
        0 0 0 4px rgba(80,215,160,.07),
        0 0 18px rgba(80,215,160,.45);
}

.status.inactive:before {
    background:#66717e;
}

.badge {
    display:inline-flex;
    align-items:center;

    min-height:27px;

    padding:0 9px;

    border:1px solid var(--border-strong);
    border-radius:999px;

    color:var(--text-soft);
    background:rgba(255,255,255,.025);

    font-size:.7rem;
    font-weight:750;
}

.badge-owner {
    color:#d1e8ff;
    border-color:rgba(107,188,255,.25);
    background:rgba(107,188,255,.07);
}

.badge-operator {
    color:#e2d5ff;
    border-color:rgba(166,125,255,.24);
    background:rgba(166,125,255,.07);
}

.badge-pilot {
    color:#d1f7e6;
    border-color:rgba(80,215,160,.23);
    background:rgba(80,215,160,.07);
}

.actions {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
}

.btn {
    min-height:44px;

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

    padding:0 16px;

    border:1px solid var(--border-strong);
    border-radius:10px;

    color:var(--text);
    background:rgba(255,255,255,.04);

    font-weight:720;
    font-size:.86rem;
    text-decoration:none;

    transition:
        transform .14s ease,
        background .14s ease,
        border-color .14s ease;
}

.btn:hover {
    border-color:rgba(255,255,255,.24);
    background:rgba(255,255,255,.07);
}

.btn:active {
    transform:translateY(1px);
}

.btn-primary {
    border-color:rgba(50,145,245,.65);

    background:
        linear-gradient(
            180deg,
            #3999ff,
            #227fdc
        );

    box-shadow:
        0 8px 30px rgba(26,115,220,.14);
}

.btn-danger {
    color:#ffc7ca;
    border-color:rgba(255,114,120,.25);
    background:rgba(255,114,120,.065);
}

.btn-ghost {
    background:transparent;
}

.btn-small {
    min-height:36px;
    padding:0 12px;
    font-size:.78rem;
}

.btn:disabled {
    opacity:.45;
    cursor:not-allowed;
    filter:saturate(.55);
}


.btn-block {
    width:100%;
}

.form-grid {
    display:grid;
    gap:18px;
}

.form-grid-2 {
    grid-template-columns:
        repeat(2,minmax(0,1fr));
}

.field {
    display:grid;
    gap:8px;
}

.field label {
    color:#c6d0dc;

    font-size:.81rem;
    font-weight:700;
}

.field-help {
    color:var(--muted);
    font-size:.75rem;
    line-height:1.45;
}

.field input,
.field textarea,
.field select {
    width:100%;
    min-height:48px;

    padding:11px 13px;

    color:var(--text);

    border:1px solid rgba(255,255,255,.135);
    border-radius:10px;

    background:#080c11;

    outline:none;
}

.field textarea {
    min-height:120px;
    resize:vertical;
}

.field select {
    cursor:pointer;
}

.field input:focus,
.field textarea:focus,
.field select:focus {
    border-color:rgba(107,188,255,.64);

    box-shadow:
        0 0 0 3px rgba(107,188,255,.075);
}

.checkbox-row {
    display:flex;
    align-items:flex-start;
    gap:10px;
}

.checkbox-row input {
    width:18px;
    height:18px;
    margin-top:2px;
}

.checkbox-copy {
    display:grid;
    gap:2px;
}

.checkbox-copy strong {
    font-size:.85rem;
}

.checkbox-copy span {
    color:var(--muted);
    font-size:.75rem;
}

.permission-grid {
    display:grid;
    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:10px;
}

.permission-item {
    padding:14px;

    border:1px solid var(--border);
    border-radius:11px;

    background:
        rgba(255,255,255,.018);
}

.table-wrap {
    overflow:auto;

    border:1px solid var(--border);
    border-radius:var(--radius);

    background:var(--surface);
}

table {
    width:100%;
    min-width:760px;

    border-collapse:collapse;
}

th,
td {
    padding:15px 17px;

    text-align:left;
    vertical-align:middle;

    border-bottom:1px solid var(--border);
}

th {
    color:var(--muted);

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

    font-size:.67rem;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
}

td {
    color:var(--text-soft);
    font-size:.84rem;
}

tr:last-child td {
    border-bottom:0;
}

tr:hover td {
    background:rgba(255,255,255,.012);
}

.table-title {
    color:var(--text);
    font-weight:740;
}

.table-sub {
    margin-top:4px;
    color:var(--muted);
    font-size:.72rem;
}

.notice {
    margin-bottom:22px;
    padding:14px 16px;

    border:1px solid var(--border);
    border-radius:11px;

    font-size:.84rem;
}

.notice-success {
    color:#bdf5dd;
    border-color:rgba(80,215,160,.22);
    background:rgba(80,215,160,.065);
}

.notice-error {
    color:#ffc7ca;
    border-color:rgba(255,114,120,.23);
    background:rgba(255,114,120,.065);
}

.notice-warning {
    color:#ffe0a5;
    border-color:rgba(242,189,99,.25);
    background:rgba(242,189,99,.06);
}

.empty {
    padding:42px 24px;

    color:var(--muted);
    text-align:center;
}

.live-grid {
    display:grid;
    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:18px;
}

.live-card {
    overflow:hidden;

    border:1px solid var(--border);
    border-radius:var(--radius);

    background:var(--surface);
}

.live-preview {
    position:relative;

    aspect-ratio:16/9;

    display:grid;
    place-items:center;

    background:
        radial-gradient(
            circle at center,
            rgba(50,145,245,.08),
            transparent 45%
        ),
        #05080c;
}

.live-preview:before {
    content:"LIVE";

    position:absolute;
    top:14px;
    left:14px;

    padding:6px 9px;

    color:#c7f8e4;

    border:1px solid rgba(80,215,160,.22);
    border-radius:7px;

    background:rgba(10,30,22,.75);

    font-size:.65rem;
    font-weight:850;
    letter-spacing:.10em;
}

.live-placeholder {
    color:#647180;
    font-size:.78rem;
}

.live-body {
    padding:18px;
}

.live-title {
    margin-bottom:5px;
    color:var(--text);
    font-weight:780;
}

.live-meta {
    color:var(--muted);
    font-size:.75rem;
}

.login-page {
    min-height:100vh;

    display:grid;
    place-items:center;

    padding:24px;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(35,125,220,.16),
            transparent 35%
        ),
        var(--bg);
}

.login-card {
    width:min(100%,450px);

    padding:34px;

    border:1px solid var(--border);
    border-radius:var(--radius-lg);

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.025),
            transparent
        ),
        var(--surface);

    box-shadow:var(--shadow);
}

.login-card h1 {
    font-size:2.05rem;
}

.login-card .lead {
    margin-bottom:26px;
}

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

.danger-zone {
    border-color:rgba(255,114,120,.18);
}

.code {
    display:inline-block;

    padding:3px 7px;

    border:1px solid var(--border);
    border-radius:6px;

    color:#b9caDC;
    background:#06090d;

    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Consolas,
        monospace;

    font-size:.76rem;
}

@media(max-width:1100px) {
    .grid-4 {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .live-grid {
        grid-template-columns:1fr;
    }
}

@media(max-width:900px) {
    .admin-layout {
        grid-template-columns:1fr;
    }

    .sidebar {
        padding:15px 0;

        border-right:0;
        border-bottom:1px solid var(--border);
    }

    .nav {
        display:flex;
        overflow-x:auto;
    }

    .nav a {
        white-space:nowrap;
    }

    .nav-section,
    .sidebar-footer {
        display:none;
    }

    .main {
        padding:34px 0 64px;
    }
}

@media(max-width:700px) {
    .shell {
        width:min(calc(100% - 26px),var(--max));
    }

    .topbar {
        min-height:68px;
    }

    .identity {
        display:none;
    }

    .topbar-right {
        gap:10px;
    }

    .topbar-logout .btn {
        padding-left:10px;
        padding-right:10px;
    }

    .topbar-right > .status {
        display:none;
    }

    .status {
        font-size:.72rem;
    }

    .page-head {
        align-items:flex-start;
        flex-direction:column;
    }

    .grid-4,
    .grid-3,
    .grid-2,
    .form-grid-2,
    .permission-grid {
        grid-template-columns:1fr;
    }

    .card,
    .card-large {
        padding:19px;
    }

    .login-card {
        padding:26px 20px;
    }
}

@media(prefers-reduced-motion:reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior:auto !important;
        transition:none !important;
    }
}


/*
|--------------------------------------------------------------------------
| Responsive hardening v1.3.1
|--------------------------------------------------------------------------
*/

html {
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
}

body {
    padding-left:env(safe-area-inset-left);
    padding-right:env(safe-area-inset-right);
}

img,
svg,
video,
canvas {
    max-width:100%;
}

.card,
.card-large,
.field,
.page-head-copy,
.permission-item,
.workflow-step,
td,
th {
    min-width:0;
}

.code {
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:break-word;
}

.field input,
.field textarea,
.field select {
    min-width:0;
}

.table-wrap {
    max-width:100%;
    -webkit-overflow-scrolling:touch;
    scrollbar-gutter:stable;
}

.topbar {
    position:sticky;
    top:0;
    z-index:100;
    padding-top:env(safe-area-inset-top);
    background:rgba(5,7,10,.90);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}

.nav a,
.btn,
.mobile-nav-toggle {
    min-height:44px;
}

.mobile-nav-toggle {
    display:none;
    width:44px;
    min-width:44px;
    padding:0 11px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:4px;
    border:1px solid var(--border-strong);
    border-radius:10px;
    color:var(--text);
    background:rgba(255,255,255,.04);
}

.mobile-nav-toggle span {
    width:18px;
    height:2px;
    border-radius:2px;
    background:currentColor;
    transition:transform .16s ease, opacity .16s ease;
}

body.mobile-nav-open .mobile-nav-toggle span:nth-child(1) {
    transform:translateY(6px) rotate(45deg);
}

body.mobile-nav-open .mobile-nav-toggle span:nth-child(2) {
    opacity:0;
}

body.mobile-nav-open .mobile-nav-toggle span:nth-child(3) {
    transform:translateY(-6px) rotate(-45deg);
}

@media(max-width:900px) {
    .topbar {
        min-height:70px;
        gap:12px;
    }

    .mobile-nav-toggle {
        display:inline-flex;
        margin-left:auto;
    }

    .topbar-right {
        flex:0 0 auto;
    }

    .admin-layout {
        display:block;
        min-height:0;
    }

    .sidebar {
        display:none;
        position:sticky;
        top:70px;
        z-index:90;
        max-height:calc(100svh - 70px);
        overflow:auto;
        padding:10px 0 16px;
        background:rgba(5,7,10,.98);
        box-shadow:0 24px 50px rgba(0,0,0,.28);
    }

    body.mobile-nav-open .sidebar {
        display:block;
    }

    .nav {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:7px;
        overflow:visible;
    }

    .nav a {
        white-space:normal;
        padding:10px 12px;
        line-height:1.25;
    }

    .nav-section {
        display:block;
        grid-column:1 / -1;
        padding:16px 12px 5px;
    }

    .main {
        padding:30px 0 calc(64px + env(safe-area-inset-bottom));
    }
}

@media(max-width:700px) {
    .shell {
        width:min(calc(100% - 20px),var(--max));
    }

    .topbar {
        min-height:64px;
    }

    .brand {
        min-width:0;
        gap:9px;
    }

    .brand-mark {
        width:36px;
        height:36px;
        flex:0 0 36px;
    }

    .brand-name {
        font-size:.78rem;
        letter-spacing:.06em;
        white-space:nowrap;
    }

    .mobile-nav-toggle {
        width:42px;
        min-width:42px;
        min-height:42px;
    }

    .topbar-logout .btn {
        min-height:42px;
        padding:0 10px;
    }

    .sidebar {
        top:64px;
        max-height:calc(100svh - 64px);
    }

    .nav {
        grid-template-columns:1fr;
    }

    .page-head {
        margin-bottom:24px;
        gap:16px;
    }

    h1 {
        font-size:clamp(1.85rem,10vw,2.65rem);
        line-height:1.02;
    }

    .actions,
    .lifecycle-actions {
        align-items:stretch;
    }

    .actions > .btn,
    .actions > a.btn,
    .actions > form,
    .lifecycle-actions > .btn,
    .lifecycle-actions > a.btn,
    .lifecycle-actions > form {
        width:100%;
    }

    .actions form .btn,
    .lifecycle-actions form .btn {
        width:100%;
    }

    table {
        min-width:680px;
    }
}

@media(max-width:480px) {
    .brand-name span {
        display:none;
    }

    .topbar {
        gap:8px;
    }

    .topbar-right {
        gap:6px;
    }

    .topbar-logout .btn {
        font-size:.75rem;
    }

    .card,
    .card-large {
        padding:16px;
        border-radius:13px;
    }

    .permission-group {
        padding:14px;
    }

    .workflow-step {
        padding:14px 14px 14px 48px;
    }
}

@media(hover:none) and (pointer:coarse) {
    .btn,
    .nav a,
    .mobile-nav-toggle,
    input,
    select {
        min-height:46px;
    }

    .checkbox-row {
        min-height:44px;
        padding-block:4px;
    }
}


/* Mission/Users responsive hardening v1.4 */
.section-divider{height:1px;background:rgba(255,255,255,.08);margin:10px 0 2px}
.mission-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){
  .responsive-card-table{display:block;min-width:0!important}
  .responsive-card-table thead{display:none}
  .responsive-card-table tbody,.responsive-card-table tr,.responsive-card-table td{display:block;width:100%}
  .responsive-card-table tr{padding:14px 16px;border:1px solid rgba(255,255,255,.08);border-radius:14px;margin:0 0 12px;background:rgba(255,255,255,.025)}
  .responsive-card-table td{border:0!important;padding:8px 0!important;display:grid;grid-template-columns:minmax(110px,38%) 1fr;gap:12px;align-items:center;white-space:normal!important}
  .responsive-card-table td::before{content:attr(data-label);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#8290a0);font-weight:700}
  .responsive-card-table td[data-label="Användare"]{display:block}.responsive-card-table td[data-label="Användare"]::before{display:none}
  .responsive-card-table td[data-label="Åtgärd"] .btn{width:100%}
  .users-table.table-wrap{overflow:visible}
  .mission-toggle-grid{grid-template-columns:1fr}
}

/* ============================================================
   SKYPIXELS REPORTING v1.5
   ============================================================ */
.report-card,
.report-list-card {
    overflow: hidden;
}

.report-status {
    display: grid;
    gap: 6px;
    padding: 16px 18px;
    margin: 18px 0;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 14px;
    background: rgba(255,255,255,.025);
}

.report-status span,
.report-asset-row span {
    color: var(--muted, #9aa4b2);
    font-size: .9rem;
}

.report-error {
    color: #ffaaa5 !important;
    white-space: normal;
    overflow-wrap: anywhere;
}

.report-list {
    display: grid;
    gap: 18px;
}

.report-list-head {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    justify-content: space-between;
}

.report-list-head h2 {
    margin-bottom: 6px;
}

.report-meta-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0;
}

.report-meta-grid > div {
    min-width: 0;
    display: grid;
    gap: 4px;
    padding: 14px;
    border-radius: 12px;
    background: rgba(255,255,255,.025);
    border: 1px solid rgba(255,255,255,.07);
}

.report-meta-grid span {
    color: var(--muted, #9aa4b2);
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.report-assets {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.report-asset-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    border-top: 1px solid rgba(255,255,255,.07);
}

.report-asset-row > div:first-child {
    min-width: 0;
    display: grid;
    gap: 3px;
}

@media (max-width: 780px) {
    .report-list-head,
    .report-asset-row {
        align-items: stretch;
        flex-direction: column;
    }

    .report-meta-grid {
        grid-template-columns: 1fr;
    }

    .report-list-head .actions,
    .report-asset-row .actions {
        width: 100%;
    }

    .report-list-head .actions .btn,
    .report-asset-row .actions .btn {
        flex: 1 1 auto;
        justify-content: center;
    }
}


/*
|--------------------------------------------------------------------------
| Backup administration
|--------------------------------------------------------------------------
*/

.backup-page-head {
    margin-bottom:18px;
}

.backup-page-head h1 {
    margin-bottom:8px;
    font-size:clamp(2rem,3vw,3rem);
    line-height:1.05;
}

.backup-page-head .lead {
    max-width:780px;
    font-size:.94rem;
    line-height:1.5;
}

.backup-grid {
    grid-template-columns:
        repeat(2,minmax(0,1fr));
    gap:16px;
    align-items:start;
}

.backup-card {
    padding:22px;
}

.backup-card h2 {
    margin-bottom:8px;
    font-size:1.35rem;
    line-height:1.2;
}

.backup-card > .status {
    margin-bottom:12px;
}

.backup-meta-grid {
    grid-template-columns:
        repeat(2,minmax(0,1fr));
    gap:9px;
    margin:14px 0;
}

.backup-meta-grid > div {
    min-height:0;
    padding:11px 12px;
}

.backup-meta-grid span {
    font-size:.68rem;
}

.backup-meta-grid strong {
    font-size:.92rem;
    overflow-wrap:anywhere;
}

.backup-card .field-help {
    margin-top:12px;
    margin-bottom:0;
    font-size:.76rem;
    line-height:1.45;
}

.backup-card .eyebrow {
    margin-bottom:8px;
}

@media(max-width:1200px) {

    .backup-grid {
        grid-template-columns:1fr;
    }

    .backup-meta-grid {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }
}

@media(max-width:760px) {

    .backup-card {
        padding:18px;
    }

    .backup-page-head h1 {
        font-size:2rem;
    }

    .backup-meta-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }
}

@media(max-width:480px) {

    .backup-meta-grid {
        grid-template-columns:1fr;
    }
}

/*
|--------------------------------------------------------------------------
| Backup administration - final compact tuning
|--------------------------------------------------------------------------
*/

.backup-page-head {
    margin-bottom:14px;
}

.backup-page-head h1 {
    font-size:clamp(1.85rem,2.4vw,2.55rem);
    line-height:1.05;
}

.backup-page-head .lead {
    margin-top:4px;
    font-size:.9rem;
}

.backup-card {
    padding:20px;
}

.backup-card h2 {
    font-size:1.22rem;
}

.backup-card > .status {
    margin-top:2px;
    margin-bottom:10px;
}

.backup-meta-grid {
    gap:8px;
    margin:12px 0;
}

.backup-meta-grid > div {
    padding:10px 11px;
}

.backup-meta-grid strong {
    font-size:.88rem;
}

.backup-card .field-help {
    margin-top:10px;
    font-size:.72rem;
}

.backup-grid + .actions {
    margin-top:14px;
}

@media(min-width:1201px) {
    .backup-card {
        min-height:100%;
    }
}
