/* Textile Engine 2.12.0-candidate.3 — Unified Layout visual foundation. */
:root{
  --pt-canvas:#f4f6f3;
  --pt-surface:#ffffff;
  --pt-surface-soft:#f8faf8;
  --pt-surface-muted:#eef3ef;
  --pt-ink:#17231c;
  --pt-ink-soft:#506057;
  --pt-muted:#748078;
  --pt-primary:#245a3d;
  --pt-primary-deep:#173e2b;
  --pt-primary-soft:#eaf3ed;
  --pt-accent:#bd913c;
  --pt-border:#dce3dd;
  --pt-border-strong:#cbd6ce;
  --pt-danger:#9a4338;
  --pt-radius-sm:8px;
  --pt-radius-md:12px;
  --pt-radius-lg:16px;
  --pt-radius-xl:20px;
  --pt-shadow-sm:0 1px 2px rgba(23,35,28,.04),0 8px 24px rgba(23,35,28,.035);
  --pt-shadow-md:0 14px 36px rgba(23,35,28,.08);
  --pt-space-1:4px;
  --pt-space-2:8px;
  --pt-space-3:12px;
  --pt-space-4:16px;
  --pt-space-5:20px;
  --pt-space-6:24px;
  --pt-space-7:32px;
  --pt-space-8:40px;
}

body.pt-ui-v278{background:var(--pt-canvas);color:var(--pt-ink)}
body.pt-ui-v278 aside{
  background:linear-gradient(180deg,#173d2a 0%,#132f22 100%);
  border-left:1px solid rgba(255,255,255,.07);
  padding:20px 14px 16px;
  box-shadow:-12px 0 34px rgba(20,45,32,.08);
}
body.pt-ui-v278 .brand{
  padding:4px 12px 18px;
  margin-bottom:6px;
  border-bottom:1px solid rgba(255,255,255,.12);
  gap:5px;
}
body.pt-ui-v278 .brand span{color:#aabcb1;font-size:10px;letter-spacing:.01em}
body.pt-ui-v278 .brand b{font-size:16px;line-height:1.6;color:#fff}
body.pt-ui-v278 aside nav.work-center-nav-v2160{padding-top:10px;gap:6px;scrollbar-width:thin;scrollbar-color:#ffffff25 transparent}
body.pt-ui-v278 .nav-group-v2160{border:1px solid transparent;border-radius:12px;overflow:visible}
body.pt-ui-v278 .nav-group-v2160.open{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.07)}
body.pt-ui-v278 .nav-group-toggle-v2160{
  min-height:42px;
  padding:10px 11px!important;
  border-radius:10px;
  background:transparent!important;
  color:#e7eee9;
}
body.pt-ui-v278 .nav-group-toggle-v2160 b{font-size:12px;font-weight:800;line-height:1.65}
body.pt-ui-v278 .nav-group-toggle-v2160 i{color:#94aa9d;font-size:12px}
body.pt-ui-v278 .nav-group-items-v2160{padding:1px 5px 7px!important}
body.pt-ui-v278 .nav-group-v2160.open>.nav-group-items-v2160>button,
body.pt-ui-v278 .nav-standalone-v2160{
  min-height:36px!important;
  padding:8px 10px!important;
  border-radius:8px!important;
  color:#bdc9c1;
  font-size:11px;
  line-height:1.65;
  transition:background .15s,color .15s,transform .15s;
}
body.pt-ui-v278 .nav-group-v2160.open>.nav-group-items-v2160>button:hover,
body.pt-ui-v278 .nav-standalone-v2160:hover{background:rgba(255,255,255,.065);color:#fff}
body.pt-ui-v278 aside nav button.active{
  background:#d4aa57!important;
  color:#173122!important;
  box-shadow:0 4px 12px rgba(0,0,0,.12);
  font-weight:900;
}
body.pt-ui-v278 .nav-standalone-v2160{margin:1px 0!important;font-weight:800!important}

body.pt-ui-v278 header{
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--pt-border);
  padding:0 26px;
  box-shadow:0 1px 0 rgba(23,35,28,.02);
  backdrop-filter:saturate(1.05) blur(10px);
  gap:12px;
}
body.pt-ui-v278 header>div:not(.session-box){gap:2px;min-width:0}
body.pt-ui-v278 header small{color:var(--pt-muted);font-size:10px;line-height:1.5}
body.pt-ui-v278 header strong{color:var(--pt-ink);font-size:17px;line-height:1.5;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.pt-ui-v278 header .session-box{margin-right:auto;display:flex;flex-direction:row;align-items:center;gap:8px;min-width:0}
body.pt-ui-v278 header .session-box>span{color:var(--pt-ink-soft);font-size:11px;white-space:nowrap}
body.pt-ui-v278 header #logout{height:32px;border:1px solid var(--pt-border);background:#fff;border-radius:8px;padding:0 10px;color:var(--pt-ink-soft)}
body.pt-ui-v278 #menu{width:38px;height:38px;border:1px solid var(--pt-border)!important;border-radius:9px!important;background:#fff!important;color:var(--pt-primary)!important;place-items:center;padding:0!important}

body.pt-ui-v278 .breadcrumb-bar{
  background:#fbfcfb;
  border-bottom:1px solid var(--pt-border);
  padding-inline:26px;
  gap:6px;
  scrollbar-width:none;
}
body.pt-ui-v278 .breadcrumb-bar::-webkit-scrollbar{display:none}
body.pt-ui-v278 .breadcrumb-bar button{color:#527161;font-size:10px}
body.pt-ui-v278 .breadcrumb-bar strong{color:#293b31;font-size:10px;font-weight:800}
body.pt-ui-v278 .breadcrumb-bar span{color:#a3aea7}
body.pt-ui-v278 main{padding-inline:28px!important;padding-bottom:44px!important;width:auto}
body.pt-ui-v278 #app{width:100%;min-width:0}
body.pt-ui-v278 .test-env-banner{font-size:11px;letter-spacing:0}

/* Shared page primitives. These classes are intentionally usable by future migrations. */
body.pt-ui-v278 .pt-page-v278{display:flex;flex-direction:column;gap:18px;min-width:0}
body.pt-ui-v278 .pt-page-head-v278{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin:0!important;padding:0 2px}
body.pt-ui-v278 .pt-page-head-v278>div{min-width:0}
body.pt-ui-v278 .pt-page-head-v278 small{display:block;color:var(--pt-primary);font-size:10px;font-weight:800;margin-bottom:4px}
body.pt-ui-v278 .pt-page-head-v278 h1{font-size:24px;line-height:1.4;margin:0;color:var(--pt-ink);letter-spacing:-.01em}
body.pt-ui-v278 .pt-page-head-v278 p{margin:5px 0 0;color:var(--pt-muted);font-size:12px;line-height:1.8;max-width:760px}
body.pt-ui-v278 .pt-surface-v278{background:var(--pt-surface);border:1px solid var(--pt-border);border-radius:var(--pt-radius-lg);box-shadow:var(--pt-shadow-sm)}
body.pt-ui-v278 .pt-card-v278{background:var(--pt-surface);border:1px solid var(--pt-border)!important;border-radius:14px!important;box-shadow:none!important}
body.pt-ui-v278 .pt-card-v278 .definition-card-title{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #edf0ed}
body.pt-ui-v278 .pt-card-v278 .definition-card-title h2{font-size:15px;margin:0 0 3px;color:var(--pt-ink)}
body.pt-ui-v278 .pt-card-v278 .definition-card-title small{color:var(--pt-muted);font-size:10px;line-height:1.75}
body.pt-ui-v278 .pt-toolbar-v278{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
body.pt-ui-v278 .pt-actionbar-v278{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:14px;border-top:1px solid var(--pt-border)}
body.pt-ui-v278 .pt-field-v278 input,body.pt-ui-v278 .pt-field-v278 select,body.pt-ui-v278 .pt-field-v278 textarea{border-color:var(--pt-border-strong);border-radius:9px;background:#fff}

/* Settings is the first page fully migrated to the visual layout contract. */
body.pt-ui-v278 .settings-page-v2160.pt-settings-page-v278{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
  overflow:visible!important;
}
body.pt-ui-v278 .settings-page-v2160.pt-settings-page-v278>.pt-page-head-v278{margin-bottom:0!important}
body.pt-ui-v278 .settings-center-v235.pt-settings-layout-v278{
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr);
  align-items:start;
  gap:18px;
  max-width:1180px!important;
  width:100%;
}
body.pt-ui-v278 .settings-tabs-v235.pt-settings-nav-v278{
  display:flex!important;
  flex-direction:column;
  flex-wrap:nowrap!important;
  gap:5px!important;
  position:sticky;
  top:calc(var(--pt-shell-env-offset) + var(--pt-shell-header-height) + var(--pt-shell-context-height) + var(--pt-shell-backup-height) + 18px);
  background:var(--pt-surface);
  border:1px solid var(--pt-border);
  border-radius:14px;
  padding:8px;
  box-shadow:var(--pt-shadow-sm);
}
body.pt-ui-v278 .settings-tabs-v235.pt-settings-nav-v278 button{
  width:100%;
  min-height:40px;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:var(--pt-ink-soft)!important;
  padding:8px 11px!important;
  text-align:right;
  font-size:11px;
  font-weight:800;
  white-space:normal;
}
body.pt-ui-v278 .settings-tabs-v235.pt-settings-nav-v278 button:hover{background:#f2f6f3!important;color:var(--pt-primary)!important}
body.pt-ui-v278 .settings-tabs-v235.pt-settings-nav-v278 button.active{
  background:var(--pt-primary-soft)!important;
  color:var(--pt-primary-deep)!important;
  box-shadow:inset -3px 0 0 var(--pt-primary);
}
body.pt-ui-v278 .settings-panes-v235.pt-settings-panes-v278{min-width:0;width:100%}
body.pt-ui-v278 .settings-pane-v235.pt-settings-pane-v278{min-width:0;width:100%}
body.pt-ui-v278 .settings-pane-body-v235.pt-settings-body-v278{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  max-width:none!important;
  width:100%;
  min-width:0;
}
body.pt-ui-v278 .settings-pane-body-v235.pt-settings-body-v278>.definition-card,
body.pt-ui-v278 .settings-pane-body-v235.pt-settings-body-v278>.pt-card-v278{
  width:100%!important;
  max-width:none!important;
  padding:18px!important;
}
body.pt-ui-v278 .settings-pane-body-v235.pt-settings-body-v278 form{gap:14px!important}
body.pt-ui-v278 .settings-pane-body-v235.pt-settings-body-v278 label{color:var(--pt-ink-soft);font-size:11px;line-height:1.7}
body.pt-ui-v278 .settings-pane-body-v235.pt-settings-body-v278 label>span:first-child:not(.color-swatch){font-weight:700;color:#43534a}
body.pt-ui-v278 .settings-pane-body-v235.pt-settings-body-v278 input:not([type=checkbox]):not([type=radio]),
body.pt-ui-v278 .settings-pane-body-v235.pt-settings-body-v278 select,
body.pt-ui-v278 .settings-pane-body-v235.pt-settings-body-v278 textarea{
  min-height:40px;
  border:1px solid var(--pt-border-strong)!important;
  border-radius:9px!important;
  background:#fff!important;
  color:var(--pt-ink)!important;
  padding-inline:10px;
  outline:none;
  transition:border-color .15s,box-shadow .15s;
}
body.pt-ui-v278 .settings-pane-body-v235.pt-settings-body-v278 textarea{padding-block:9px;min-height:86px}
body.pt-ui-v278 .settings-pane-body-v235.pt-settings-body-v278 input:focus,
body.pt-ui-v278 .settings-pane-body-v235.pt-settings-body-v278 select:focus,
body.pt-ui-v278 .settings-pane-body-v235.pt-settings-body-v278 textarea:focus{border-color:#7da58d!important;box-shadow:0 0 0 3px rgba(36,90,61,.09)}
body.pt-ui-v278 .settings-pane-body-v235.pt-settings-body-v278 .settings-compact-grid-v235{gap:12px 14px!important}
body.pt-ui-v278 .settings-pane-body-v235.pt-settings-body-v278 .settings-switch-row{
  min-height:54px;
  border:1px solid #e4e9e5;
  border-radius:10px;
  background:#fafcfb;
  padding:10px 12px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
body.pt-ui-v278 .settings-pane-body-v235.pt-settings-body-v278 .settings-switch-row>span{display:flex;flex-direction:column;gap:2px;min-width:0}
body.pt-ui-v278 .settings-pane-body-v235.pt-settings-body-v278 .settings-switch-row input[type=checkbox]{width:18px!important;height:18px!important;min-width:18px;accent-color:var(--pt-primary)}
body.pt-ui-v278 .settings-save-bar-v235{
  margin-top:4px!important;
  padding-top:14px!important;
  border-top:1px solid #e8ece9!important;
  flex-direction:row!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:10px!important;
}
body.pt-ui-v278 .settings-save-bar-v235 .primary{min-width:150px!important;height:40px;border-radius:9px!important;background:var(--pt-primary)!important;color:#fff!important;border:0!important}
body.pt-ui-v278 .settings-save-note-v235{text-align:right!important;margin-left:auto}
body.pt-ui-v278 .market-settings-card-v274,body.pt-ui-v278 .market-settings-card-v272{max-width:none!important}
body.pt-ui-v278 .market-settings-actions-v272{padding:10px 12px;border:1px solid #e4e9e5;border-radius:10px;background:#fafcfb}
body.pt-ui-v278 .market-settings-actions-v272 button{border-radius:8px;border:1px solid var(--pt-border-strong);background:#fff}
body.pt-ui-v278 .market-active-series-v274{border-radius:12px!important;background:#fafcfb!important}

@media(max-width:1100px){
  body.pt-ui-v278 .settings-center-v235.pt-settings-layout-v278{grid-template-columns:190px minmax(0,1fr);gap:14px}
}
@media(max-width:900px){
  body.pt-ui-v278 main{padding-inline:16px!important}
  body.pt-ui-v278 .settings-center-v235.pt-settings-layout-v278{display:flex!important;flex-direction:column!important;gap:12px}
  body.pt-ui-v278 .settings-tabs-v235.pt-settings-nav-v278{
    position:static;
    width:100%;
    flex-direction:row!important;
    overflow-x:auto;
    padding:6px;
    gap:4px!important;
    scrollbar-width:none;
  }
  body.pt-ui-v278 .settings-tabs-v235.pt-settings-nav-v278::-webkit-scrollbar{display:none}
  body.pt-ui-v278 .settings-tabs-v235.pt-settings-nav-v278 button{width:auto;min-width:max-content;min-height:36px;padding:7px 10px!important;text-align:center}
  body.pt-ui-v278 .settings-tabs-v235.pt-settings-nav-v278 button.active{box-shadow:inset 0 -3px 0 var(--pt-primary)}
}
@media(max-width:760px){
  body.pt-ui-v278 header{padding-inline:10px;gap:8px}
  body.pt-ui-v278 header strong{font-size:14px}
  body.pt-ui-v278 header small{font-size:9px}
  body.pt-ui-v278 .breadcrumb-bar{padding-inline:10px}
  body.pt-ui-v278 main{padding-inline:9px!important;padding-bottom:28px!important}
  body.pt-ui-v278 .pt-page-v278{gap:12px}
  body.pt-ui-v278 .pt-page-head-v278{align-items:flex-start;flex-direction:column;gap:8px;padding-inline:4px}
  body.pt-ui-v278 .pt-page-head-v278 h1{font-size:20px}
  body.pt-ui-v278 .settings-pane-body-v235.pt-settings-body-v278>.definition-card,
  body.pt-ui-v278 .settings-pane-body-v235.pt-settings-body-v278>.pt-card-v278{padding:14px!important;border-radius:12px!important}
  body.pt-ui-v278 .settings-save-bar-v235{align-items:stretch!important;flex-direction:column!important}
  body.pt-ui-v278 .settings-save-bar-v235 .primary{width:100%!important}
}
