:root{--bg:#050607;--panel:#0b0e10;--line:#23292d;--text:#ecf1f3;--muted:#869197;--accent:#d6ff43;--danger:#ff5b5b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 70% 0,#13191b 0,#050607 36%);color:var(--text);font:14px Inter,ui-sans-serif,system-ui;min-height:100vh}a{color:inherit;text-decoration:none}header{height:64px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:#050607dd;position:sticky;top:0;backdrop-filter:blur(12px);z-index:2}header b{letter-spacing:.18em}header span{color:var(--muted)}.shell{width:min(1180px,92vw);margin:auto;padding:54px 0}.hero{padding:24px 0 36px}.hero h1{font-size:clamp(34px,5vw,64px);margin:8px 0;letter-spacing:-.045em}.eyebrow{color:var(--accent);font-size:11px;letter-spacing:.22em;font-weight:800}.muted{color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-bottom:22px}.metrics div{padding:24px;border-right:1px solid var(--line)}.metrics div:last-child{border:0}.metrics strong,.metrics span{display:block}.metrics strong{font-size:21px}.metrics span{color:var(--muted);font-size:10px;letter-spacing:.16em;margin-top:8px}.grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.panel{background:linear-gradient(180deg,#0d1113,#090b0c);border:1px solid var(--line);padding:24px;margin-bottom:22px}.panel-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:18px}.panel-title h2{margin:0;font-size:17px}.panel-title span{font-size:9px;color:var(--muted);letter-spacing:.15em}.case-row,.audit,.evidence{display:flex;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid #171c1f}.case-row:hover{background:#111618}.case-row p{margin:5px 0;color:var(--muted)}.case-row small,.case-row .tag{display:block;text-align:right}.tag{color:var(--accent);font-size:10px}.audit code{color:var(--muted)}.audit span{margin-left:auto;color:var(--muted)}.evidence{display:grid}.evidence code,pre{overflow:auto;color:#b7c4ca}form{display:grid;gap:14px}label{display:grid;gap:7px;color:var(--muted);font-size:12px}input,textarea,select{background:#050708;border:1px solid #2a3236;color:var(--text);padding:12px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--accent)}textarea{min-height:86px}button{background:var(--accent);color:#0a0b0b;border:0;padding:12px 18px;font-weight:800;cursor:pointer}.ghost{background:transparent;color:var(--muted);border:1px solid var(--line)}.inline{display:flex;gap:12px}.inline input{flex:1}pre{background:#050708;border:1px solid var(--line);padding:18px;min-height:180px}.login-body{display:grid;place-items:center}.login-card{width:min(420px,90vw);border:1px solid var(--line);padding:42px;background:#090c0e}.login-card h1{font-size:44px;margin:7px 0}.mark{width:48px;height:48px;border:1px solid var(--accent);display:grid;place-items:center;color:var(--accent);font-weight:900}.warning{color:var(--danger);font-size:11px;margin-top:24px}@media(max-width:760px){.grid,.metrics{grid-template-columns:1fr}.metrics div{border-right:0;border-bottom:1px solid var(--line)}.audit{display:grid}.inline{display:grid}}
.button-link{display:inline-block;background:var(--accent);color:#0a0b0b;padding:12px 18px;font-weight:800}.panel button:disabled{opacity:.55;cursor:wait}

/* Operations Centre */

.operations-shell{
    width:min(1480px,94vw);
    padding-top:34px;
}

.topbar-actions{
    display:flex;
    align-items:center;
    gap:20px;
}

.system-online{
    color:var(--muted);
    font-size:10px;
    letter-spacing:.14em;
    font-weight:800;
}

.system-online i{
    display:inline-block;
    width:7px;
    height:7px;
    margin-right:7px;
    border-radius:50%;
    background:var(--accent);
    box-shadow:0 0 12px var(--accent);
}

.operations-hero{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
    padding-top:18px;
}

.operations-hero h1{
    font-size:clamp(38px,5vw,70px);
    margin-bottom:5px;
}

.operations-clock{
    min-width:190px;
    border-left:1px solid var(--line);
    padding-left:22px;
    text-align:right;
}

.operations-clock span,
.operations-clock strong,
.operations-clock code{
    display:block;
}

.operations-clock span{
    color:var(--muted);
    font-size:9px;
    letter-spacing:.16em;
}

.operations-clock strong{
    margin-top:8px;
    font-size:14px;
}

.operations-clock code{
    margin-top:4px;
    color:var(--accent);
    font-size:18px;
}

.operations-metrics{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    border:1px solid var(--line);
    margin-bottom:22px;
    background:#080a0b;
}

.metric-card{
    min-height:130px;
    padding:24px;
    border-right:1px solid var(--line);
    display:flex;
    flex-direction:column;
}

.metric-card:last-child{
    border-right:0;
}

.metric-card span{
    color:var(--muted);
    font-size:9px;
    letter-spacing:.16em;
    font-weight:800;
}

.metric-card strong{
    margin-top:auto;
    font-size:34px;
    letter-spacing:-.04em;
}

.metric-card small{
    color:var(--muted);
    margin-top:4px;
}

.operations-layout{
    display:grid;
    grid-template-columns:minmax(0,1.75fr) minmax(310px,.75fr);
    gap:22px;
    align-items:start;
}

.operations-panel{
    padding:22px;
}

.panel-kicker{
    margin:0 0 6px;
    color:var(--accent);
    font-size:9px;
    letter-spacing:.17em;
    font-weight:800;
}

.operation-row{
    display:grid;
    grid-template-columns:5px minmax(0,1fr) auto;
    gap:16px;
    align-items:stretch;
    padding:17px 0;
    border-bottom:1px solid #171c1f;
}

.operation-row:hover{
    background:#101416;
}

.operation-marker{
    background:var(--accent);
    opacity:.75;
}

.operation-reference{
    display:flex;
    align-items:center;
    gap:12px;
}

.operation-details p{
    margin:6px 0;
    color:#c8d0d3;
}

.operation-details small{
    color:var(--muted);
}

.operation-status{
    min-width:90px;
    text-align:right;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.operation-status span{
    color:var(--muted);
    font-size:10px;
    letter-spacing:.12em;
}

.operation-status b{
    color:var(--accent);
    font-size:10px;
}

.activity-feed{
    position:relative;
}

.activity-item{
    display:grid;
    grid-template-columns:10px minmax(0,1fr) auto;
    gap:15px;
    padding:15px 0;
    border-bottom:1px solid #171c1f;
}

.activity-node{
    width:7px;
    height:7px;
    margin-top:5px;
    border:1px solid var(--accent);
    transform:rotate(45deg);
}

.activity-item p{
    margin:4px 0 0;
    color:var(--muted);
    text-transform:capitalize;
}

.activity-item time{
    color:var(--muted);
    font-size:10px;
    text-align:right;
}

.activity-item time strong{
    display:block;
    margin-top:3px;
    color:#cbd4d7;
}

.evidence-ops-row{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:15px 0;
    border-bottom:1px solid #171c1f;
}

.evidence-ops-row p{
    margin:5px 0 0;
    color:var(--muted);
}

.evidence-ops-row > div:last-child{
    text-align:right;
}

.evidence-ops-row code,
.evidence-ops-row small{
    display:block;
}

.evidence-ops-row code{
    color:var(--accent);
}

.evidence-ops-row small{
    margin-top:5px;
    color:var(--muted);
}

.health-row{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:13px 0;
    border-bottom:1px solid #171c1f;
}

.health-row span{
    color:var(--muted);
}

.health-row b{
    font-size:10px;
    letter-spacing:.1em;
}

.health-good{
    color:var(--accent);
}

.health-warn{
    color:#ffcf5b;
}

.health-staged{
    color:#7f8b91;
}

.system-note{
    margin:18px 0 0;
    color:var(--muted);
    font-size:11px;
    line-height:1.6;
}

.empty-state{
    padding:28px 18px;
    border:1px dashed #293136;
    background:#07090a;
}

.empty-state p{
    color:var(--muted);
    line-height:1.6;
    margin-bottom:0;
}

.empty-state.compact{
    padding:20px;
}

.communications-preview{
    text-align:center;
    padding:14px 6px 4px;
}

.comms-icon{
    width:50px;
    height:50px;
    margin:0 auto 15px;
    border:1px solid var(--accent);
    display:grid;
    place-items:center;
    color:var(--accent);
    font-weight:900;
}

.communications-preview p{
    color:var(--muted);
    line-height:1.6;
}

.threat-operations-panel{
    margin-top:0;
}

@media(max-width:1100px){
    .operations-metrics{
        grid-template-columns:repeat(3,1fr);
    }

    .metric-card{
        border-bottom:1px solid var(--line);
    }

    .operations-layout{
        grid-template-columns:1fr;
    }
}

@media(max-width:760px){
    .operations-hero{
        display:block;
    }

    .operations-clock{
        margin-top:24px;
        padding:15px 0 0;
        border-left:0;
        border-top:1px solid var(--line);
        text-align:left;
    }

    .operations-metrics{
        grid-template-columns:1fr;
    }

    .metric-card{
        min-height:105px;
        border-right:0;
    }

    .topbar-actions .system-online{
        display:none;
    }

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

    .operation-status{
        grid-column:2;
        flex-direction:row;
        width:100%;
        text-align:left;
    }

    .evidence-ops-row{
        display:grid;
    }

    .evidence-ops-row > div:last-child{
        text-align:left;
    }
}

/* Australian Command Clock */

.command-clock {
    min-width: 430px;
    padding: 18px;
    background: rgba(11, 18, 29, 0.88);
    border: 1px solid rgba(132, 151, 177, 0.18);
    border-radius: 12px;
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.22);
}

.command-clock-local {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 4px 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(132, 151, 177, 0.16);
}

.command-clock-local > span {
    color: var(--muted, #8995a7);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.14em;
}

.command-clock-local > strong {
    grid-column: 2;
    grid-row: 1 / span 3;
    align-self: center;
    color: var(--text, #f3f6fa);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: clamp(1.8rem, 3vw, 2.7rem);
    letter-spacing: 0.05em;
}

.command-clock-local > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.command-clock-local small {
    color: var(--muted, #8995a7);
    font-size: 0.67rem;
    letter-spacing: 0.05em;
}

.command-clock-local time {
    color: var(--accent, #7db8ff);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.command-timezones {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 6px;
    padding-top: 12px;
}

.command-zone {
    min-width: 0;
    padding: 9px 8px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid rgba(132, 151, 177, 0.11);
    border-radius: 7px;
}

.command-zone span,
.command-zone strong,
.command-zone small {
    display: block;
}

.command-zone span {
    overflow: hidden;
    color: var(--muted, #8995a7);
    font-size: 0.57rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.command-zone strong {
    margin: 5px 0 2px;
    color: var(--text, #f3f6fa);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.95rem;
}

.command-zone small {
    color: var(--accent, #7db8ff);
    font-size: 0.58rem;
    font-weight: 700;
}

@media (max-width: 900px) {
    .command-clock {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 620px) {
    .command-clock-local {
        grid-template-columns: 1fr;
    }

    .command-clock-local > strong {
        grid-column: 1;
        grid-row: auto;
    }

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

    .command-zone:last-child {
        grid-column: 1 / -1;
    }
}

/* Operator identity and session security */

.operator-alias {
    color: var(--text, #f3f6fa);
    font-weight: 700;
}

.session-security-panel {
    position: relative;
    overflow: hidden;
}

.session-security-panel::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 2px;
    background: rgba(186, 255, 85, 0.42);
    content: "";
}

.session-risk {
    padding: 5px 8px;
    border: 1px solid rgba(132, 151, 177, 0.18);
    border-radius: 5px;
    font-size: 0.58rem;
    font-weight: 900;
    letter-spacing: 0.1em;
}

.session-risk-low {
    color: #baff55;
    border-color: rgba(186, 255, 85, 0.28);
    background: rgba(186, 255, 85, 0.07);
}

.session-risk-review {
    color: #f4c66a;
    border-color: rgba(244, 198, 106, 0.28);
    background: rgba(244, 198, 106, 0.07);
}

.session-risk-high {
    color: #ff7b7b;
    border-color: rgba(255, 123, 123, 0.32);
    background: rgba(255, 123, 123, 0.08);
}

.session-risk-neutral {
    color: var(--muted, #8995a7);
}

.operator-identity {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 8px;
    margin-bottom: 16px;
}

.operator-identity > div {
    min-width: 0;
    padding: 10px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid rgba(132, 151, 177, 0.1);
    border-radius: 7px;
}

.operator-identity span,
.operator-identity strong {
    display: block;
}

.operator-identity span {
    margin-bottom: 5px;
    color: var(--muted, #8995a7);
    font-size: 0.55rem;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.operator-identity strong {
    overflow: hidden;
    color: var(--text, #f3f6fa);
    font-size: 0.76rem;
    text-overflow: ellipsis;
}

.security-detail-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    padding: 9px 0;
    border-bottom: 1px solid rgba(132, 151, 177, 0.1);
}

.security-detail-row span {
    color: var(--muted, #8995a7);
    font-size: 0.7rem;
}

.security-detail-row b,
.security-detail-row code {
    max-width: 62%;
    color: var(--text, #f3f6fa);
    font-size: 0.69rem;
    text-align: right;
    overflow-wrap: anywhere;
}

.security-disclaimer {
    margin: 13px 0 0;
    color: var(--muted, #8995a7);
    font-size: 0.61rem;
    line-height: 1.5;
}

@media (max-width: 520px) {
    .operator-identity {
        grid-template-columns: 1fr;
    }
}


/* ============================================================
   Checkmate v1 shared platform layout
   ============================================================ */

.platform-header {
    min-height: 72px;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 0 3vw;
    background: rgba(5, 6, 7, 0.96);
    border-bottom: 1px solid var(--line);
    backdrop-filter: blur(14px);
    position: sticky;
    top: 0;
    z-index: 50;
}

.platform-header-primary,
.platform-header-actions {
    display: flex;
    align-items: center;
}

.platform-header-primary {
    min-width: 0;
    gap: clamp(24px, 4vw, 58px);
}

.platform-header-actions {
    flex-shrink: 0;
    gap: 16px;
}

.platform-brand {
    display: flex;
    align-items: baseline;
    gap: 7px;
    white-space: nowrap;
}

.platform-brand b {
    color: var(--text);
    font-size: 13px;
    letter-spacing: 0.18em;
}

.platform-brand span {
    color: var(--muted);
    font-size: 10px;
    letter-spacing: 0.11em;
}

.platform-nav {
    display: flex;
    align-items: stretch;
    align-self: stretch;
    gap: 3px;
}

.platform-nav a,
.platform-nav-staged {
    min-height: 71px;
    display: flex;
    align-items: center;
    padding: 0 13px;
    border-bottom: 2px solid transparent;
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

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

.platform-nav a.active {
    color: var(--text);
    border-bottom-color: var(--accent);
}

.platform-nav-staged {
    cursor: not-allowed;
    opacity: 0.42;
}

.platform-status {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.12em;
    white-space: nowrap;
}

.platform-status i {
    width: 7px;
    height: 7px;
    display: block;
    background: var(--accent);
    border-radius: 50%;
    box-shadow: 0 0 12px var(--accent);
}

.notification-trigger {
    width: 40px;
    height: 40px;
    position: relative;
    display: grid;
    place-items: center;
    padding: 0;
    color: var(--muted);
    background: transparent;
    border: 1px solid var(--line);
    cursor: not-allowed;
    opacity: 0.68;
}

.notification-trigger small {
    min-width: 16px;
    height: 16px;
    display: grid;
    place-items: center;
    position: absolute;
    top: -6px;
    right: -6px;
    padding: 0 4px;
    color: #090b0c;
    background: var(--accent);
    border-radius: 8px;
    font-size: 8px;
    font-weight: 900;
}

.operator-menu {
    position: relative;
}

.operator-menu summary {
    min-width: 150px;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 8px 12px;
    background: #090c0e;
    border: 1px solid var(--line);
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.operator-menu summary::-webkit-details-marker {
    display: none;
}

.operator-menu[open] summary {
    border-color: #394247;
}

.operator-menu-identity {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.operator-menu-identity b {
    overflow: hidden;
    color: var(--text);
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.operator-menu-identity small {
    overflow: hidden;
    color: var(--muted);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.operator-menu-chevron {
    color: var(--accent);
    font-size: 10px;
}

.operator-menu-panel {
    width: 280px;
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    background: #080b0d;
    border: 1px solid #30383c;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.52);
    z-index: 100;
}

.operator-menu-header {
    display: grid;
    gap: 5px;
    padding: 18px;
    border-bottom: 1px solid var(--line);
}

.operator-menu-header span,
.operator-menu-label {
    color: var(--muted);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.14em;
}

.operator-menu-header strong {
    font-size: 16px;
}

.operator-menu-header small {
    color: var(--accent);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.operator-menu-section {
    display: grid;
    padding: 10px;
    border-bottom: 1px solid var(--line);
}

.operator-menu-label {
    padding: 8px;
}

.operator-menu-staged {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 8px;
    color: #aeb8bd;
    font-size: 11px;
    cursor: not-allowed;
}

.operator-menu-staged:hover {
    background: rgba(255, 255, 255, 0.025);
}

.operator-menu-staged small {
    color: #657076;
    font-size: 7px;
    font-weight: 900;
    letter-spacing: 0.09em;
}

.operator-logout {
    display: block;
    padding: 10px;
}

.operator-logout button {
    width: 100%;
    display: block;
    padding: 11px 10px;
    color: var(--danger);
    background: transparent;
    border: 1px solid transparent;
    text-align: left;
}

.operator-logout button:hover {
    background: rgba(255, 91, 91, 0.07);
    border-color: rgba(255, 91, 91, 0.2);
}

@media (max-width: 1180px) {
    .platform-header {
        align-items: stretch;
        flex-direction: column;
        gap: 0;
        padding: 0 3vw;
    }

    .platform-header-primary {
        min-height: 64px;
        justify-content: space-between;
    }

    .platform-header-actions {
        min-height: 58px;
        justify-content: flex-end;
        border-top: 1px solid #15191b;
    }

    .platform-nav {
        overflow-x: auto;
    }

    .platform-nav a,
    .platform-nav-staged {
        min-height: 63px;
    }
}

@media (max-width: 760px) {
    .platform-header-primary {
        align-items: stretch;
        flex-direction: column;
        gap: 0;
        padding-top: 17px;
    }

    .platform-brand {
        padding-bottom: 15px;
    }

    .platform-nav {
        width: 100%;
    }

    .platform-nav a,
    .platform-nav-staged {
        min-height: 47px;
        padding: 0 10px;
        font-size: 9px;
    }

    .platform-header-actions {
        justify-content: space-between;
    }

    .platform-status span {
        display: none;
    }

    .operator-menu summary {
        min-width: 132px;
    }

    .operator-menu-panel {
        width: min(280px, 92vw);
    }
}

@media (max-width: 430px) {
    .notification-trigger {
        display: none;
    }

    .operator-menu {
        margin-left: auto;
    }
}


/* ============================================================
   Checkmate shared operational workspace
   ============================================================ */

.workspace-body {
    background:
        radial-gradient(
            circle at 72% -10%,
            rgba(28, 38, 41, 0.8),
            transparent 34%
        ),
        var(--bg);
}

.workspace-shell {
    width: min(1540px, 95vw);
    margin: 0 auto;
    padding: 30px 0 60px;
}

.workspace-breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    min-height: 30px;
    margin-bottom: 18px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.workspace-breadcrumbs a {
    color: #aeb9bd;
}

.workspace-breadcrumbs a:hover {
    color: var(--accent);
}

.workspace-breadcrumbs span::before,
.workspace-breadcrumbs a + a::before,
.workspace-breadcrumbs a + span::before {
    content: "/";
    margin-right: 9px;
    color: #455056;
}

.workspace-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    padding: 18px 0 30px;
    border-bottom: 1px solid var(--line);
}

.workspace-heading-copy {
    min-width: 0;
}

.workspace-kicker {
    margin: 0 0 9px;
    color: var(--accent);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 0.18em;
}

.workspace-heading h1 {
    margin: 0;
    font-size: clamp(34px, 4vw, 58px);
    letter-spacing: -0.045em;
}

.workspace-description {
    max-width: 760px;
    margin: 12px 0 0;
    color: var(--muted);
    line-height: 1.65;
}

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

.workspace-action {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    background: var(--accent);
    border: 1px solid var(--accent);
    color: #080a0b;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.workspace-action:hover {
    filter: brightness(1.08);
}

.workspace-action-secondary {
    background: transparent;
    border-color: #30383c;
    color: #b9c3c7;
}

.workspace-action-secondary:hover {
    border-color: var(--accent);
    color: var(--accent);
    filter: none;
}

.workspace-status-strip {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1px;
    margin: 22px 0;
    border: 1px solid var(--line);
    background: var(--line);
}

.workspace-status-item {
    min-width: 150px;
    flex: 1;
    padding: 15px 18px;
    background: #080b0c;
}

.workspace-status-item span,
.workspace-status-item strong {
    display: block;
}

.workspace-status-item span {
    color: var(--muted);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.13em;
}

.workspace-status-item strong {
    margin-top: 7px;
    font-size: 13px;
}

.workspace-frame {
    display: grid;
    grid-template-columns:
        minmax(210px, 245px)
        minmax(0, 1fr)
        minmax(250px, 310px);
    gap: 22px;
    align-items: start;
    margin-top: 22px;
}

.workspace-navigation,
.workspace-sidebar,
.workspace-content {
    min-width: 0;
}

.workspace-navigation {
    position: sticky;
    top: 94px;
    background:
        linear-gradient(
            180deg,
            rgba(13, 17, 19, 0.98),
            rgba(8, 11, 12, 0.98)
        );
    border: 1px solid var(--line);
}

.workspace-navigation-header {
    display: grid;
    gap: 6px;
    padding: 19px;
    border-bottom: 1px solid var(--line);
}

.workspace-navigation-header span {
    color: var(--muted);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.14em;
}

.workspace-navigation-header strong {
    font-size: 15px;
}

.workspace-navigation-links {
    display: grid;
    padding: 9px;
}

.workspace-navigation-links a,
.workspace-navigation-staged {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 42px;
    padding: 10px 11px;
    border-left: 2px solid transparent;
    color: #abb5b9;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.workspace-navigation-links a:hover {
    color: var(--text);
    background: rgba(255, 255, 255, 0.025);
}

.workspace-navigation-links a.active {
    color: var(--text);
    background: rgba(214, 255, 67, 0.045);
    border-left-color: var(--accent);
}

.workspace-navigation-links small,
.workspace-navigation-staged small {
    color: #657076;
    font-size: 7px;
    letter-spacing: 0.08em;
}

.workspace-navigation-staged {
    cursor: not-allowed;
    opacity: 0.48;
}

.workspace-content {
    min-height: 500px;
}

.workspace-content > .panel:last-child {
    margin-bottom: 0;
}

.workspace-sidebar {
    position: sticky;
    top: 94px;
}

.workspace-sidebar .panel:last-child {
    margin-bottom: 0;
}

.workspace-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 15px;
    margin-bottom: 18px;
    border-bottom: 1px solid var(--line);
}

.workspace-section-heading h2 {
    margin: 0;
    font-size: 18px;
}

.workspace-section-heading p {
    margin: 5px 0 0;
    color: var(--muted);
}

.workspace-section-heading > span {
    color: var(--muted);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.13em;
    white-space: nowrap;
}

.workspace-empty {
    display: grid;
    place-items: center;
    min-height: 240px;
    padding: 35px;
    border: 1px dashed #30383c;
    text-align: center;
}

.workspace-empty b {
    font-size: 16px;
}

.workspace-empty p {
    max-width: 480px;
    margin: 9px auto 0;
    color: var(--muted);
    line-height: 1.6;
}

.workspace-classification {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 27px;
    padding: 0 10px;
    border: 1px solid currentColor;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.classification-official {
    color: #aeb7bb;
}

.classification-sensitive {
    color: #ffc45b;
}

.classification-protected {
    color: #ff9d4d;
}

.classification-secret,
.classification-top-secret {
    color: #ff6666;
}

@media (max-width: 1220px) {
    .workspace-frame {
        grid-template-columns:
            minmax(190px, 225px)
            minmax(0, 1fr);
    }

    .workspace-sidebar {
        position: static;
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    .workspace-sidebar .panel {
        margin-bottom: 0;
    }
}

@media (max-width: 850px) {
    .workspace-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .workspace-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .workspace-frame {
        grid-template-columns: 1fr;
    }

    .workspace-navigation,
    .workspace-sidebar {
        position: static;
    }

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

    .workspace-sidebar {
        grid-column: auto;
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .workspace-shell {
        width: min(92vw, 1540px);
        padding-top: 22px;
    }

    .workspace-navigation-links {
        grid-template-columns: 1fr;
    }

    .workspace-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .workspace-action {
        width: 100%;
    }

    .workspace-status-strip {
        display: grid;
        grid-template-columns: 1fr;
    }
}


/* ============================================================
   Case Workspaces register
   ============================================================ */

.metric-card-link {
    transition:
        background 140ms ease,
        border-color 140ms ease;
}

.metric-card-link:hover {
    background: #101416;
    box-shadow: inset 0 -2px 0 var(--accent);
}

.metric-card-link:hover span,
.metric-card-link:hover small {
    color: var(--accent);
}

.case-register-panel {
    padding: 22px;
}

.case-register-table {
    display: grid;
}

.case-register-header,
.case-register-row {
    display: grid;
    grid-template-columns:
        minmax(220px, 1.6fr)
        minmax(90px, 0.7fr)
        minmax(145px, 0.9fr)
        minmax(125px, 0.85fr)
        minmax(105px, 0.7fr)
        minmax(105px, 0.7fr);
    gap: 16px;
    align-items: center;
}

.case-register-header {
    min-height: 38px;
    padding: 0 12px;
    border-bottom: 1px solid var(--line);
    color: var(--muted);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.12em;
}

.case-register-row {
    min-height: 82px;
    padding: 14px 12px;
    border-bottom: 1px solid #171c1f;
}

.case-register-row:hover {
    background: rgba(255, 255, 255, 0.018);
}

.case-register-identity {
    min-width: 0;
    display: grid;
    gap: 7px;
}

.case-register-identity strong {
    color: var(--accent);
    font-size: 12px;
    letter-spacing: 0.04em;
}

.case-register-identity span {
    overflow: hidden;
    color: #cad2d5;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.case-register-cell {
    min-width: 0;
    display: grid;
    gap: 5px;
}

.case-register-cell small,
.case-register-cell time {
    color: var(--muted);
    font-size: 9px;
}

.case-status {
    width: fit-content;
    display: inline-flex;
    padding: 6px 8px;
    border: 1px solid #3a4449;
    color: #b8c1c5;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.1em;
}

.case-status-open,
.case-status-active {
    border-color: rgba(214, 255, 67, 0.42);
    color: var(--accent);
}

.case-status-closed,
.case-status-archived {
    color: var(--muted);
}

.case-register-actions {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.case-open-link {
    color: var(--accent);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.case-assignment-control {
    position: relative;
}

.case-assignment-control summary {
    padding: 7px 8px;
    border: 1px solid #30383c;
    color: #aeb8bc;
    cursor: pointer;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.08em;
    list-style: none;
    text-transform: uppercase;
}

.case-assignment-control summary::-webkit-details-marker {
    display: none;
}

.case-assignment-control[open] summary {
    border-color: var(--accent);
    color: var(--accent);
}

.case-assignment-control form {
    width: 310px;
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 20;
    padding: 18px;
    background: #080b0c;
    border: 1px solid #364046;
    box-shadow: 0 22px 54px rgba(0, 0, 0, 0.56);
}

.case-assignment-control textarea {
    min-height: 76px;
}

@media (max-width: 1250px) {
    .case-register-header {
        display: none;
    }

    .case-register-row {
        grid-template-columns:
            minmax(210px, 1.4fr)
            repeat(2, minmax(120px, 0.8fr));
    }

    .case-register-row > :nth-child(4),
    .case-register-row > :nth-child(5),
    .case-register-row > :nth-child(6) {
        grid-column: auto;
    }
}

@media (max-width: 800px) {
    .case-register-row {
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }

    .case-register-identity {
        grid-column: 1 / -1;
    }

    .case-register-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .case-assignment-control form {
        right: auto;
        left: 0;
    }
}

@media (max-width: 520px) {
    .case-register-row {
        grid-template-columns: 1fr;
    }

    .case-register-identity,
    .case-register-actions {
        grid-column: auto;
    }

    .case-register-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .case-assignment-control form {
        width: min(82vw, 310px);
    }
}


/* ============================================================
   Individual Case Workspace
   ============================================================ */

.workspace-action-staged {
    cursor: not-allowed;
    opacity: 0.55;
}

.classification-text {
    width: fit-content;
}

.case-overview-panel {
    padding: 22px;
}

.case-overview-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin: 0;
    background: var(--line);
    border: 1px solid var(--line);
}

.case-overview-grid > div {
    min-width: 0;
    padding: 18px;
    background: #080b0c;
}

.case-overview-grid dt {
    color: var(--muted);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.case-overview-grid dd {
    margin: 8px 0 0;
    overflow-wrap: anywhere;
    font-weight: 700;
}

.case-objective {
    margin-top: 20px;
    padding: 20px;
    border-left: 3px solid var(--accent);
    background: rgba(214, 255, 67, 0.035);
}

.case-objective span {
    color: var(--accent);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.14em;
}

.case-objective p {
    margin: 10px 0 0;
    color: #c9d1d4;
    line-height: 1.7;
}

.case-evidence-record,
.case-audit-record {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 16px 0;
    border-bottom: 1px solid #171c1f;
}

.case-evidence-record > div,
.case-audit-record > div {
    min-width: 0;
    display: grid;
    gap: 6px;
}

.case-evidence-record > div:last-child {
    max-width: 62%;
    text-align: right;
}

.case-evidence-record span,
.case-evidence-record time,
.case-audit-record span,
.case-audit-record time {
    color: var(--muted);
    font-size: 9px;
}

.case-evidence-record code {
    overflow: hidden;
    color: var(--accent);
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.case-audit-record time {
    flex-shrink: 0;
    text-align: right;
}

.case-audit-record time strong {
    display: block;
    margin-top: 4px;
    color: #c4ced1;
}

.case-workspace-empty {
    min-height: 170px;
}

.case-ip-enrichment {
    margin-bottom: 14px;
}

.case-security-classification {
    display: grid;
    place-items: center;
    min-height: 70px;
    margin-bottom: 17px;
    border: 2px solid currentColor;
    font-size: 15px;
    font-weight: 950;
    letter-spacing: 0.16em;
    text-align: center;
}

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

    .case-evidence-record {
        align-items: flex-start;
        flex-direction: column;
    }

    .case-evidence-record > div:last-child {
        max-width: 100%;
        text-align: left;
    }
}

@media (max-width: 560px) {
    .case-overview-grid {
        grid-template-columns: 1fr;
    }

    .case-audit-record {
        align-items: flex-start;
        flex-direction: column;
    }

    .case-audit-record time {
        text-align: left;
    }
}


/* ============================================================
   Case Evidence Workspace
   ============================================================ */

.evidence-upload-trigger {
    cursor: pointer;
}

.evidence-register-table {
    display: grid;
}

.evidence-register-header,
.evidence-register-row {
    display: grid;
    grid-template-columns:
        minmax(260px, 1.7fr)
        minmax(150px, 1fr)
        minmax(90px, 0.6fr)
        minmax(135px, 0.85fr)
        minmax(120px, 0.8fr);
    gap: 18px;
    align-items: center;
}

.evidence-register-header {
    min-height: 38px;
    padding: 0 12px;
    border-bottom: 1px solid var(--line);
    color: var(--muted);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.12em;
}

.evidence-register-row {
    min-height: 86px;
    padding: 15px 12px;
    border-bottom: 1px solid #171c1f;
}

.evidence-register-row:hover {
    background: rgba(255, 255, 255, 0.018);
}

.evidence-file-identity,
.evidence-register-cell {
    min-width: 0;
    display: grid;
    gap: 7px;
}

.evidence-file-identity strong {
    overflow: hidden;
    color: #d4dcdf;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.evidence-file-identity code {
    overflow: hidden;
    color: var(--accent);
    font-size: 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.evidence-register-cell span,
.evidence-register-cell small,
.evidence-register-cell time {
    color: var(--muted);
    font-size: 9px;
    overflow-wrap: anywhere;
}

.evidence-register-cell time strong {
    display: block;
    margin-top: 4px;
    color: #c5ced1;
}

.evidence-control-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    background: var(--line);
    border: 1px solid var(--line);
}

.evidence-control-grid > div {
    padding: 18px;
    background: #080b0c;
}

.evidence-control-grid span,
.evidence-control-grid strong {
    display: block;
}

.evidence-control-grid span {
    color: var(--muted);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.11em;
}

.evidence-control-grid strong {
    margin-top: 8px;
}

.evidence-intake-notice {
    margin: 0;
    font-size: 10px;
    line-height: 1.6;
}

.case-section-link {
    color: var(--accent);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.1em;
    white-space: nowrap;
}

@media (max-width: 1150px) {
    .evidence-register-header {
        display: none;
    }

    .evidence-register-row {
        grid-template-columns:
            minmax(240px, 1.5fr)
            repeat(2, minmax(120px, 0.8fr));
    }

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

@media (max-width: 720px) {
    .evidence-register-row {
        grid-template-columns: 1fr 1fr;
    }

    .evidence-file-identity {
        grid-column: 1 / -1;
    }
}

@media (max-width: 520px) {
    .evidence-register-row,
    .evidence-control-grid {
        grid-template-columns: 1fr;
    }

    .evidence-file-identity {
        grid-column: auto;
    }
}
