.shell-brand { display: inline-flex; align-items: center; justify-content: center; gap: var(--sp-2); min-height: var(--shell-touch); color: var(--tx-1); font-size: 18px; font-weight: 750; letter-spacing: -.035em; text-decoration: none; }
.shell-sidebar .shell-brand { flex: 0 0 auto; width: var(--shell-touch); min-height: var(--shell-touch); margin-bottom: var(--sp-4); border-radius: 10px; background: var(--ac); color: var(--on-ac); }
.shell-icon { display: inline-block; flex: 0 0 auto; width: 20px; height: 20px; vertical-align: middle; }
.shell-rail-link { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--sp-1); width: calc(var(--shell-rail-width) - 8px); min-height: 56px; padding: 6px 2px; border: 0; border-radius: var(--r-2); background: transparent; color: var(--tx-3); font-size: 10px; line-height: 1.2; text-align: center; text-decoration: none; overflow-wrap: normal; word-break: normal; }
.shell-rail-link .shell-icon { width: 22px; height: 22px; }
.shell-rail-link:hover, .shell-nav-link:hover { background: var(--bg-3); color: var(--tx-1); }
.shell-rail-link[aria-current="page"], .shell-nav-link[aria-current="page"], .shell-nav-link[aria-current="true"] { background: var(--ac-dim); color: var(--ac); }
.shell-nav-link { display: flex; align-items: center; gap: 10px; width: 100%; min-height: var(--shell-touch); padding: 10px 12px; border: 0; border-radius: var(--r-2); background: transparent; color: var(--tx-2); font-size: 14px; font-weight: 500; text-align: left; text-decoration: none; }
.shell-nav-link span:not(.shell-icon) { min-width: 0; overflow-wrap: anywhere; }
.shell-account, .shell-support, .shell-queue-button, .shell-actions > button, .shell-actions > a:not(.shell-balance) { display: inline-flex; align-items: center; justify-content: center; gap: var(--sp-2); min-width: var(--shell-touch); min-height: var(--shell-touch); padding: var(--sp-2) var(--sp-3); border: 1px solid var(--line-1); border-radius: 10px; background: var(--bg-2); color: var(--tx-2); font-size: 13px; font-weight: 600; text-decoration: none; }
.shell-sidebar .shell-account { padding: var(--sp-2); width: var(--shell-touch); min-width: var(--shell-touch); min-height: var(--shell-touch); }
.shell-account:hover, .shell-support:hover, .shell-queue-button:hover, .shell-actions > button:hover { background: var(--bg-3); }
.shell-balance { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 10px; min-height: var(--shell-touch); max-width: 100%; padding: 10px 14px; border: 1px solid var(--line-2); border-radius: 10px; background: var(--bg-2); color: var(--ac-h); font-size: 14px; font-weight: 600; text-decoration: none; }
.shell-balance span + span, .shell-balance strong { padding-left: 10px; border-left: 1px solid var(--line-2); font-family: var(--f-mono); font-size: 13px; font-variant-numeric: tabular-nums; }
.shell-balance a { display: inline-flex; align-items: center; min-height: var(--shell-touch); }
.shell-lang-switch { display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 2px; border: 1px solid var(--line-1); border-radius: 10px; background: var(--bg-2); }
.shell-lang-switch form { display: inline-flex; margin: 0; }
.shell-lang-switch button { min-width: var(--shell-touch); min-height: var(--shell-touch); padding: var(--sp-2); border: 0; border-radius: var(--r-2); background: transparent; color: var(--tx-3); font-size: 12px; font-weight: 650; }
.shell-lang-switch [aria-current="true"], .shell-lang-switch [aria-pressed="true"], .shell-lang-switch button:disabled { background: var(--ac-dim); color: var(--ac); opacity: 1; }
.shell-popover h2, .shell-popover h3 { margin: var(--sp-1) 0 var(--sp-3); font-size: 15px; }
.shell-popover > header, .shell-popover-header { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); padding-bottom: var(--sp-2); border-bottom: 1px solid var(--line-1); }
.shell-popover [data-shell-close] { flex: 0 0 auto; min-width: var(--shell-touch); min-height: var(--shell-touch); border: 0; border-radius: var(--r-2); background: transparent; color: var(--tx-3); font-size: 20px; }
.shell-popover [data-shell-close]:hover { background: var(--bg-3); }
[data-queue-state] { margin: var(--sp-3) 0; padding: var(--sp-6) var(--sp-2); text-align: center; color: var(--tx-3); }
.shell-queue-item { display: grid; gap: var(--sp-1); padding: var(--sp-3) var(--sp-1); border-bottom: 1px solid var(--line-1); color: var(--tx-1); text-decoration: none; }
a.shell-queue-item:hover { background: var(--bg-1); }
.shell-queue-item strong { font-size: 14px; overflow-wrap: anywhere; }
.shell-queue-item small { color: var(--tx-3); }
.shell-queue-item progress { width: 100%; height: 6px; border: 0; border-radius: var(--r-pill); overflow: hidden; accent-color: var(--ac); background: var(--bg-3); }
.shell-queue-item progress::-webkit-progress-bar { background: var(--bg-3); }
.shell-queue-item progress::-webkit-progress-value { background: var(--ac); }
.shell-queue-item progress::-moz-progress-bar { background: var(--ac); }
.apps-hero { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-4); align-items: center; margin: var(--sp-8) 0; }
.apps-hero-card { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: var(--sp-2); min-width: 0; min-height: 200px; padding: var(--sp-6); overflow: hidden; border-radius: var(--r-4); background: radial-gradient(ellipse at 80% 10%, rgb(255 255 255 / 18%), transparent 65%), #2c3e66; color: #fff; text-decoration: none; box-shadow: var(--sh-2); transition: transform var(--dur-1) var(--ease); }
.apps-hero-card:nth-child(2) { min-height: 224px; background-color: #1e2024; }
.apps-hero-card:nth-child(3) { background-color: #3b6e73; }
a.apps-hero-card:hover { transform: translateY(-3px); }
.apps-hero-card h2, .apps-hero-card strong { margin: 0; font-size: clamp(18px, 1.8vw, 24px); font-weight: 650; letter-spacing: -.02em; }
.apps-hero-card p { margin: 0; font-size: 13px; color: #edf0f8; }
.apps-hero-card .shell-icon { width: 32px; height: 32px; margin-bottom: var(--sp-6); }
.apps-tabs { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-1); width: fit-content; max-width: 100%; margin-bottom: var(--sp-4); padding: var(--sp-1); border-radius: var(--r-3); background: var(--bg-3); }
.apps-tabs button { min-height: var(--shell-touch); padding: var(--sp-2) var(--sp-3); border: 0; border-radius: var(--r-2); background: transparent; color: var(--tx-3); font-size: 14px; font-weight: 500; }
.apps-tabs [aria-selected="true"] { background: var(--bg-2); color: var(--tx-1); box-shadow: var(--sh-1); }
[data-app-expand] { min-height: var(--shell-touch); padding: var(--sp-2) var(--sp-3); margin-bottom: var(--sp-3); border: 1px solid var(--line-1); border-radius: var(--r-2); background: var(--bg-2); color: var(--tx-2); font-size: 14px; }
.apps-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr)); gap: 6px var(--sp-4); }
.app-card { display: flex; align-items: center; gap: 14px; min-width: 0; min-height: 84px; padding: 10px 12px; border: 1px solid transparent; border-radius: var(--r-3); color: var(--tx-1); text-decoration: none; transition: background var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease); }
a.app-card:hover { background: var(--bg-2); border-color: var(--line-1); box-shadow: var(--sh-1); }
.app-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; border-radius: 10px; background: var(--ac-dim); color: var(--ac); }
[data-app-group="asset"] .app-icon { background: var(--ok-dim); color: var(--ok); }
[data-app-group="actor"] .app-icon { background: var(--warn-dim); color: var(--warn); }
[data-app-group="intel"] .app-icon { background: var(--vip-dim); color: var(--vip); }
.app-copy { flex: 1; min-width: 0; }
.app-copy strong { display: block; font-size: 15px; font-weight: 600; }
.app-description { display: block; margin: var(--sp-1) 0 0; color: var(--tx-3); font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
.coming-soon { color: var(--tx-3); cursor: default; }
.coming-soon .app-icon { opacity: .65; }
.coming-soon small, .coming-soon > span:last-child:not(.app-copy):not(.app-icon) { border-radius: var(--r-pill); padding: 2px 6px; background: var(--bg-3); font-size: 11px; }
.apps-empty { padding: 48px var(--sp-4); border: 1px dashed var(--line-2); border-radius: var(--r-3); color: var(--tx-3); text-align: center; }
.apps-toolbar { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: var(--sp-3); margin-bottom: var(--sp-1); }
.apps-toolbar .apps-tabs { flex: 0 1 auto; min-width: 0; }
.apps-toolbar [data-app-expand] { flex: 0 0 auto; }
@media (max-width: 1100px) {
    .apps-hero { gap: var(--sp-2); }
    .apps-hero-card { padding: var(--sp-4); }
}
@media (max-width: 760px) {
    .apps-hero { grid-template-columns: 1fr; gap: var(--sp-3); margin-block: var(--sp-5); }
    .apps-hero-card, .apps-hero-card:nth-child(2) { min-height: 152px; padding: var(--sp-5); }
    .apps-hero-card .shell-icon { margin-bottom: var(--sp-3); }
    .apps-hero-card h2, .apps-hero-card strong { font-size: 21px; }
    .apps-tabs { width: 100%; }
    .apps-tabs button { flex: 1 1 auto; }
    .apps-grid { gap: var(--sp-1); }
    .app-card { padding-inline: var(--sp-2); }
}
