/* Scoped to the authenticated workspace; login keeps its own layout. */
#appView { --console-line:#e0e8f2; --console-muted:#687d95; --console-blue:#1677ff; grid-template-columns:220px minmax(0,1fr); color:#244568; background:#f5f7fb; min-width:0; }
#appView, #appView * { letter-spacing:0; }
#appView button, #appView a, #appView input, #appView select, #appView textarea { font:inherit; }
#appView button, #appView a { -webkit-tap-highlight-color:transparent; }
#appView button:disabled { opacity:.6; cursor:not-allowed; }
#appView svg { width:18px; height:18px; flex:0 0 18px; stroke-width:1.7; }
#appView > aside { position:sticky; top:0; display:flex; flex-direction:column; height:100dvh; min-width:0; padding:0; overflow:hidden; background:#fff; color:#244568; border-right:1px solid var(--console-line); }
#appView aside .wordmark { display:flex; align-items:center; gap:8px; flex:0 0 76px; height:76px; padding:0 14px; border-bottom:1px solid var(--console-line); }
#appView aside .wordmark-logo { width:90px; height:43px; max-width:90px; object-fit:contain; }
#appView .console-brand-copy { display:grid; gap:4px; min-width:0; }
#appView .console-brand-copy strong { color:#0967d7; font-size:15px; white-space:nowrap; }
#appView .console-brand-copy small { color:#6886aa; font-size:10px; white-space:nowrap; }
#appView aside > nav { display:block; flex:1; width:auto; min-height:0; padding:14px 10px; margin:0; overflow:auto; scrollbar-width:thin; }
#appView .nav-group { margin-bottom:8px; border:0; }
#appView .nav-group-toggle { min-height:48px; padding:0 14px; border:1px solid transparent; border-radius:6px; color:#244568; background:#fff; font-size:14px; }
#appView .nav-group-toggle > span { display:flex; align-items:center; gap:12px; }
#appView .nav-group-toggle svg, #appView .nav-link svg { color:var(--console-blue); }
#appView .nav-group-toggle:hover, #appView .nav-group.is-open > .nav-group-toggle { background:#f4f9ff; border-color:#e7f0fc; color:#0967d7; }
#appView .nav-group-items { padding:6px 0; }
#appView .nav-group-items .nav-link { display:flex; width:100%; min-height:40px; padding:8px 12px 8px 24px; gap:10px; font-size:13px; border:0; border-radius:4px; white-space:normal; color:#536b85; }
#appView .nav-link-icon { display:block; width:16px; height:16px; flex-basis:16px; }
#appView .nav-group-items .nav-link:hover, #appView .nav-group-items .nav-link.active { color:#0967d7; background:#eaf4ff; }
#appView .side-footer { display:grid; flex:none; gap:10px; margin:0; padding:16px 20px; border-top:1px solid var(--console-line); }
#appView .side-footer a, #appView .side-footer button { font-size:12px; padding:0; color:#607a97; }
#appView > main { min-width:0; max-width:100%; }
#appView .workspace-topbar { height:58px; gap:12px; padding:0 22px; border-bottom:1px solid var(--console-line); font-size:12px; color:#71839a; }
#appView .topbar-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 34px; width:34px; height:36px; padding:0; position:relative; border:0; border-radius:4px; text-decoration:none; background:transparent; color:#5c7ba1; }
#appView .topbar-icon:hover { color:var(--console-blue); background:#edf6ff; }
#appView .console-top-tools { display:flex; align-items:center; gap:10px; min-width:0; }
#appView .console-top-tools > a:first-child { border-left:1px solid var(--console-line); border-radius:0; }
#appView .console-top-tools b[data-console-unread] { position:absolute; right:0; top:0; padding:0 3px; border-radius:8px; background:#e34564; color:#fff; font-size:9px; line-height:14px; }
#appView .console-account { position:relative; margin-left:4px; padding-left:14px; border-left:1px solid var(--console-line); }
#appView #consoleAccountToggle { display:flex; align-items:center; gap:9px; max-width:236px; height:42px; padding:0; color:#355a83; border:0; background:none; cursor:pointer; font-size:13px; }
#appView #accountName { max-width:140px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#appView .console-avatar { position:relative; display:inline-grid; flex:0 0 32px; place-items:center; width:32px; height:32px; padding:0; overflow:hidden; border:1px solid #d6e6fc; border-radius:8px; color:#1677ff; background:#edf6ff; font-size:16px; font-weight:600; font-style:normal; }
#appView .console-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background:#fff; }
#appView .console-avatar-large { width:64px; height:64px; flex-basis:64px; font-size:26px; border-radius:50%; cursor:pointer; }
#appView .console-account-menu { position:absolute; z-index:40; right:0; top:48px; width:210px; padding:6px; border:1px solid var(--console-line); border-radius:6px; background:#fff; box-shadow:0 8px 24px #203c6320; }
#appView .console-account-menu p { margin:0; padding:10px; border-bottom:1px solid var(--console-line); overflow-wrap:anywhere; font-size:13px; }
#appView .console-account-menu button { display:flex; align-items:center; gap:10px; width:100%; padding:12px 10px; border:0; background:#fff; color:#355a83; text-align:left; font-size:13px; cursor:pointer; }
#appView .console-account-menu button:hover { background:#edf6ff; }
#appView .workspace-tabs { display:flex; flex-wrap:nowrap; align-items:stretch; height:44px; width:100%; max-width:100%; min-width:0; padding:0 16px; overflow-x:auto; overflow-y:hidden; border-color:var(--console-line); scrollbar-width:thin; }
#appView .workspace-tab { flex:0 0 auto; min-width:120px; width:max-content; padding:0 14px; gap:10px; white-space:nowrap; font-size:12px; border-right:1px solid var(--console-line); }
#appView .workspace-tab > span { white-space:nowrap; }
#appView .console-tab-icon { display:flex; }
#appView .console-tab-icon svg { width:16px; height:16px; }
#appView .workspace-tab .tab-close { flex:0 0 22px; width:22px; height:24px; }
#appView .tab-close svg { width:12px; height:12px; }
#appView main > header { height:58px; padding:0 24px; background:transparent; }
#appView main > header p { display:none; }
#appView main > header h1 { font-size:18px; color:#214363; }
#appView[data-workspace=overview] main > header { position:absolute; width:1px; height:1px; overflow:hidden; padding:0; clip-path:inset(50%); }
#appView .content { width:100%; min-width:0; max-width:none; padding:0 24px 28px; overflow-wrap:anywhere; }
#appView[data-workspace=overview] .content { padding-top:22px; }
#appView .content > *, #appView .data-row > *, #appView .purchase-head > *, #appView .section-heading > * { min-width:0; max-width:100%; }
#appView .mini-action, #appView .primary-action { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-width:0; min-height:36px; padding:8px 12px; margin:0; border-radius:4px; font-size:13px; text-decoration:none; }
#appView .primary-action { color:#fff; background:var(--console-blue); font-weight:600; }
#appView .mini-action { background:#fff; color:#2169b4; border-color:#d4e4f5; }
#appView .console-dashboard { display:grid; gap:20px; }
#appView .console-welcome { display:flex; align-items:center; gap:18px; padding:20px 8px; border-bottom:1px solid var(--console-line); }
#appView .console-welcome > div { flex:1; min-width:0; }
#appView .console-welcome p { margin:0 0 7px; color:#687f96; font-size:12px; }
#appView .console-welcome h2 { margin:0 0 6px; font-size:24px; color:#21466f; overflow-wrap:anywhere; }
#appView .console-welcome div > span { color:#6d8399; font-size:13px; }
#appView .console-stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
#appView .console-stat { display:grid; gap:12px; padding:18px; border:1px solid #dce7f3; border-top:3px solid #4790f1; border-radius:6px; background:#fff; color:#216bce; cursor:pointer; text-align:left; }
#appView .console-stat.amber { border-top-color:#e7a22e; color:#a06b18; }
#appView .console-stat.green { border-top-color:#20aa93; color:#157e70; }
#appView .console-stat > span, #appView .console-stat small { display:flex; align-items:center; gap:10px; font-size:13px; }
#appView .console-stat strong { font-size:28px; font-variant-numeric:tabular-nums; }
#appView .console-stat small { justify-content:space-between; padding-top:12px; border-top:1px solid #edf1f6; color:#77889d; font-size:12px; }
#appView .console-overview-columns { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
#appView .console-section { min-width:0; padding:8px 0; }
#appView .console-section h2, #appView .console-section-title h2 { display:flex; align-items:center; gap:9px; margin:0 0 16px; font-size:16px; color:#21466f; }
#appView .console-task-list { border-block:1px solid var(--console-line); }
#appView .console-task-list button { display:flex; align-items:center; gap:12px; width:100%; padding:18px 2px; background:transparent; border:0; color:#355a83; text-align:left; cursor:pointer; }
#appView .console-task-list button + button { border-top:1px solid var(--console-line); }
#appView .console-task-list span { display:grid; flex:1; gap:6px; min-width:0; font-size:14px; }
#appView .console-task-list small { color:#77889d; font-size:12px; }
#appView .console-account-facts { display:grid; gap:13px; margin:0 0 16px; font-size:13px; }
#appView .console-account-facts > div { display:grid; grid-template-columns:80px minmax(0,1fr); gap:10px; }
#appView .console-account-facts dt { color:#728398; }
#appView .console-account-facts dd { margin:0; overflow-wrap:anywhere; }
#appView .console-shortcuts > div { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:10px; }
#appView .console-shortcuts button { display:grid; justify-items:center; gap:12px; min-height:98px; padding:16px 6px; border:1px solid var(--console-line); border-radius:5px; background:#fff; color:#3e658f; font-size:12px; cursor:pointer; }
#appView .console-shortcuts svg { color:#1677ff; width:22px; height:22px; }
#appView .console-shortcuts button:nth-child(3n) svg { color:#128f7a; }
#appView .console-shortcuts button:nth-child(3n + 2) svg { color:#b08030; }
#appView .console-profile { background:#fff; padding:24px; }
#appView .console-profile-head { display:flex; align-items:center; gap:20px; padding-bottom:24px; border-bottom:1px solid var(--console-line); }
#appView .console-profile-head h2 { margin:0 0 6px; font-size:19px; }
#appView .console-profile-head p { margin:0 0 12px; color:#728398; font-size:13px; }
#appView .console-profile-head small { display:block; margin-top:10px; color:#77889d; font-size:12px; }
#appView .console-settings { display:grid; max-width:760px; gap:14px; padding:24px 0; margin:0; }
#appView .console-settings h2, #appView .console-profile-bindings h2 { margin:0; font-size:16px; }
#appView .console-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:14px; }
#appView .console-form-grid label { min-width:0; }
#appView .console-form-grid input { min-width:0; width:100%; }
#appView .console-save-row { display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
#appView .console-save-row p { margin:0; font-size:13px; color:#167d61; }
#appView .console-save-row .is-error { color:#b4233c; }
#appView .console-profile-bindings { border-top:1px solid var(--console-line); padding-top:22px; }
#appView .console-section-title { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:18px; }
#appView .security-oauth { padding:24px; border:0; border-radius:0; }
#appView .security-oauth h2 { font-size:18px; }
#appView .security-oauth-row { gap:16px; padding:18px 0; }
#appView .security-oauth-row .auth-brand-icon { font-size:30px; width:34px; text-align:center; }
#appView .security-password summary { display:flex; align-items:center; gap:8px; font-size:15px; }
#appView .security-password form { max-width:560px; }
#appView .security-last-login { margin-top:24px; }
#appView .purchase-shell, #appView .list-shell, #appView .data-panel { margin:0; padding:22px; border:0; border-radius:0; background:#fff; }
#appView .purchase-head h2 { font-size:20px; }
#appView .purchase-head p { display:none; }
#appView .purchase-head span { font-size:13px; }
#appView .purchase-total strong { font-size:28px; }
#appView .purchase-section { padding-top:20px; }
#appView .purchase-version-grid, #appView .purchase-grid { grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); }
#appView .purchase-option, #appView .purchase-version-card { grid-template-columns:auto minmax(0,1fr); gap:10px; border-radius:5px; padding:16px; min-width:0; min-height:112px; }
#appView .purchase-option > b, #appView .purchase-version-card > b { grid-column:2; justify-items:start; white-space:normal; }
#appView .purchase-version-card.is-selected { border-width:1px; box-shadow:inset 0 0 0 1px #4a95f3; }
#appView .purchase-option small[data-plugin-version] { color:#6f859e; font-size:11px; }
#appView .purchase-option:has(input:disabled) { cursor:default; background:#f8fafc; }
#appView .purchase-actions { margin:20px 0 0; padding:18px 0 0; background:transparent; }
#appView .purchase-actions #purchaseResult { min-width:0; flex-basis:100%; }
#appView .table-scroll { max-width:100%; min-width:0; }
#appView .data-row, #appView .row-actions, #appView .inline-create, #appView .panel-toolbar { flex-wrap:wrap; }
#appView .panel-toolbar label { max-width:100%; min-width:0; }
#appView .inline-create input, #appView .inline-create select { max-width:100%; min-width:0; }
#appView .domain-summary { min-width:0; }
#appView pre, #appView code { white-space:pre-wrap; overflow-wrap:anywhere; max-width:100%; }
#appView .console-feedback { position:fixed; bottom:22px; left:50%; transform:translateX(-50%); z-index:100; width:max-content; max-width:calc(100% - 32px); padding:12px 18px; margin:0; border:1px solid #a8dacb; border-radius:6px; background:#f0faf6; color:#176b53; box-shadow:0 4px 18px #203c6318; font-size:14px; overflow-wrap:anywhere; }
#appView .console-feedback.is-error { background:#fff3f4; color:#ab2c40; border-color:#edc1c7; }
#appView.sidebar-collapsed { grid-template-columns:64px minmax(0,1fr); }
#appView.sidebar-collapsed aside .wordmark { padding:0 8px; }
#appView.sidebar-collapsed .wordmark-logo { max-width:48px; }
#appView.sidebar-collapsed .console-brand-copy, #appView.sidebar-collapsed .side-footer { display:none; }
#appView.sidebar-collapsed .nav-group-toggle { display:none; }
#appView.sidebar-collapsed .nav-group-items { display:block; }
#appView.sidebar-collapsed .nav-group-items .nav-link { padding:10px 0; justify-content:center; }
#appView .console-nav-backdrop { position:fixed; inset:0; border:0; border-radius:0; background:#21365355; z-index:45; }
@media(max-width:1100px) { #appView .console-shortcuts > div { grid-template-columns:repeat(4,minmax(0,1fr)); } #appView .workspace-topbar { gap:8px; padding-inline:14px; } #appView .breadcrumb, #appView .workspace-topbar > b { display:none; } }
@media(max-width:800px) {
  #appView, #appView.sidebar-collapsed, #appView[data-workspace=platform-commerce] { grid-template-columns:minmax(0,1fr); }
  #appView > aside, #appView[data-workspace=platform-commerce] > aside { display:flex; position:fixed; width:min(280px,calc(100% - 44px)); z-index:50; top:0; left:0; transform:translateX(-100%); }
  #appView.console-navigation-open > aside { transform:translateX(0); }
  #appView .workspace-topbar { padding:0 10px; gap:6px; }
  #appView .topbar-icon { display:inline-flex; width:36px; height:44px; flex-basis:36px; }
  #appView .console-top-tools { gap:4px; }
  #appView .console-top-tools > a, #appView .console-fullscreen { display:none; }
  #appView .console-account { margin-left:0; padding-left:8px; }
  #appView #accountName { max-width:100px; }
  #appView .workspace-tab { min-height:44px; flex-shrink:0; }
  #appView .content, #appView[data-workspace=platform-commerce] .content { padding:0 16px 24px; }
  #appView main > header { padding-inline:16px; }
  #appView .console-overview-columns { grid-template-columns:1fr; gap:16px; }
  #appView .console-profile, #appView .security-oauth, #appView .list-shell, #appView .purchase-shell { padding:18px; }
  #appView .console-welcome { display:grid; grid-template-columns:64px minmax(0,1fr); gap:14px; }
  #appView .console-welcome h2 { font-size:20px; }
  #appView .console-welcome > a { grid-column:2; justify-self:start; margin:0; }
  #appView .console-form-grid { grid-template-columns:1fr; }
  #appView .security-oauth-row { flex-wrap:wrap; }
  #appView .security-oauth-row > div:not(.phone-security-actions) { flex:1 1 calc(100% - 54px); }
  #appView .security-oauth-row > button, #appView .phone-security-actions { margin-left:50px; }
  #appView .console-profile-head { align-items:flex-start; gap:14px; }
  #appView .console-profile-head > div { min-width:0; }
  #appView .mini-action, #appView .primary-action { min-height:44px; }
  #appView .domain-summary, #appView .order-detail-grid { grid-template-columns:1fr; }
}
@media(max-width:480px) {
  #appView #breadcrumbCurrent { max-width:90px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
  #appView #accountName { display:none; }
  #appView .console-stat-grid { gap:8px; }
  #appView .console-stat { padding:12px 9px; gap:10px; }
  #appView .console-stat > span { flex-direction:column; align-items:flex-start; font-size:12px; gap:8px; }
  #appView .console-stat strong { font-size:24px; }
  #appView .console-stat small { display:none; }
  #appView .console-shortcuts > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #appView .console-profile-head { flex-wrap:wrap; }
  #appView .security-captcha button { width:110px; }
}
@media(prefers-reduced-motion:reduce) { #appView * { scroll-behavior:auto; transition:none; } }
