/* Isolated redesign. Loaded after the existing Hub styles; business behaviour stays in its modules. */
body.atelier {
  --forest:#12483b;
  --forest-deep:#10392f;
  --wine:#9e3049;
  --gold:#b39a55;
  --paper:#f8f8f5;
  --paper-warm:#fff;
  --ink:#172b2b;
  --muted:#66716e;
  --line:#e0e5e1;
  --line-dark:#81988d;
  --success:#366d42;
  --warning:#806122;
  --atelier-surface:#fff;
  --atelier-surface-soft:#f5f5f1;
  --atelier-sidebar-width:224px;
  --atelier-radius:6px;
  --atelier-control-radius:4px;
  --atelier-body:15px;
  --shadow:0 12px 32px rgb(16 57 47 / .08);
  margin:0;
  background:var(--forest-deep);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Helvetica Neue",sans-serif;
  font-size:var(--atelier-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.atelier *,body.atelier *::before,body.atelier *::after { box-sizing:border-box; }
body.atelier :is(button,input,textarea,select) { font-family:inherit; letter-spacing:0; }
body.atelier :is(h1,h2,h3,h4) { font-family:inherit; letter-spacing:0; color:var(--ink); }
body.atelier h1 { font-size:36px; line-height:1.25; font-weight:650; margin:0; color:var(--forest); }
body.atelier h2 { font-size:22px; line-height:1.4; font-weight:600; }
body.atelier h3 { font-size:18px; line-height:1.45; font-weight:600; }
body.atelier h4 { font-size:16px; line-height:1.5; font-weight:600; }
body.atelier :is(p,dd,li) { overflow-wrap:anywhere; }
body.atelier :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible { outline:2px solid var(--forest); outline-offset:3px; }
body.atelier button:hover {
  outline:none!important;
  outline-offset:0!important;
  box-shadow:none!important;
}
body.atelier button:focus-visible {
  outline:none!important;
  outline-offset:0!important;
  box-shadow:inset 0 0 0 2px var(--forest)!important;
}
body.atelier ::selection { background:#dce9e0; color:var(--forest-deep); }
body.atelier [hidden] { display:none!important; }

/* The intact brand lockup is the only display lettering. */
body.atelier .topbar {
  position:relative;
  min-height:124px;
  padding:20px 30px 22px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  border:0;
  background:var(--forest-deep);
  background-image:none;
  color:#fff;
}
body.atelier .topbar .brand-center { flex:0 0 338px; display:block; padding:0; border:0; background:none; }
body.atelier .topbar .brand-logo { display:block; width:100%; max-width:338px; height:auto; max-height:none; object-fit:contain; mix-blend-mode:normal; }
body.atelier .topbar .brand-context { margin-top:8px; font-size:10px; line-height:1.3; }
body.atelier .topbar :is(.topbar-meta,.brand-context) { display:none; }
body.atelier .topbar :is(button,a):focus-visible { outline-color:#e6d48a; }
body.atelier .atelier-header-right { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:14px 22px; min-width:0; }
body.atelier .atelier-date { position:absolute; top:10px; right:20px; color:#dbe6de; font-size:11px; line-height:1.5; white-space:nowrap; font-variant-numeric:tabular-nums; }
body.atelier .topbar .topbar-tools { display:flex; align-self:center; align-items:center; flex-wrap:wrap; gap:12px; padding:0; }
body.atelier .topbar .status { background:transparent; color:#d0ddd3; border-color:#728f80; font-size:12px; padding:3px 8px; }
body.atelier .team-profile-strip { display:flex; align-items:center; gap:18px; min-width:0; }
body.atelier .team-profile-person { display:flex; flex:0 0 auto; align-items:center; gap:9px; min-width:0; }
body.atelier .team-profile-person > div { min-width:max-content; }
body.atelier .team-profile-person strong { display:block; color:inherit; font-size:14px; line-height:1.4; letter-spacing:0; font-weight:500; }
body.atelier .team-profile-person small { display:block; color:inherit; opacity:.9; font-size:11px; line-height:1.5; max-width:none; white-space:nowrap; }
body.atelier .team-profile-avatar { display:grid; place-items:center; width:34px; height:34px; min-width:34px; border-radius:50%; object-fit:cover; background:#f4f6f1; color:var(--forest-deep); font-size:16px; line-height:1; }
body.atelier button.team-profile-open { display:block; width:34px; min-width:34px; min-height:34px; height:34px; padding:0; border:0; border-radius:50%; background:none; }
body.atelier .topbar .personal-menu #my-menu-trigger { min-height:36px; padding:6px 14px; border:1px solid #bccbc1; border-radius:20px; background:transparent; color:#fff; font-size:13px; font-weight:500; }
body.atelier .topbar .personal-menu .menu-panel { color:var(--ink); background:#fff; border-radius:6px; }
body.atelier .topbar .menu-panel :is(button,p,strong) { color:var(--ink); }
body.atelier .topbar .my-avatar { width:24px; height:24px; border-radius:50%; object-fit:cover; }

/* Login uses the same masthead, workspace surface and control scale as the redesign. */
body.atelier:has(#login:not([hidden])) { background:#0f2d27; }
body.atelier:has(#login:not([hidden])) > main.shell { width:100%; max-width:none; margin:0; padding:0; }
body.atelier #login { min-height:calc(100dvh - 46px); margin:0; background:#0f2d27; }
body.atelier #login .login-masthead { height:120px; min-height:120px; padding:18px 30px; grid-template-columns:minmax(220px,270px) minmax(240px,1fr) auto; align-items:center; gap:24px; border:0; background:#0f2d27; }
body.atelier #login .login-wordmark { grid-column:1; grid-row:1; width:250px; max-width:100%; text-align:left; }
body.atelier #login .login-wordmark img { display:block; width:100%; max-width:250px; height:auto; margin:0; background:transparent; }
body.atelier #login .login-wordmark p { margin:5px 0 0; color:#d0ddd3; font-size:9px; line-height:1.35; letter-spacing:.07em; white-space:nowrap; }
body.atelier #login .login-wordmark p span { color:#d1ae60; margin-right:16px; }
body.atelier #login .masthead-side:not(.masthead-right) { grid-column:2; grid-row:1; justify-self:start; padding:3px 0 3px 24px; border-left:1px solid rgba(208,221,211,.36); }
body.atelier #login .masthead-side { color:#f1f4ef; font-size:12px; font-weight:500; letter-spacing:.04em; }
body.atelier #login .masthead-side span { margin-top:4px; color:#d0ddd3; font-size:11px; font-weight:400; }
body.atelier #login .masthead-right { grid-column:3; grid-row:1; align-self:center; }
body.atelier:has(#login:not([hidden])) #message { display:none; }
body.atelier #login .login-body { width:calc(100% - 24px); max-width:none; min-height:calc(100dvh - 188px); margin:0 12px 18px; padding:0; grid-template-columns:minmax(0,.72fr) minmax(360px,1.28fr); gap:0; align-items:stretch; overflow:hidden; border:1px solid #d5ded7; border-radius:8px; background:#fff; }
body.atelier #login .login-welcome { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:48px; border-right:1px solid var(--line); background:#fafaf7; }
body.atelier #login h1 { margin:0 0 18px; color:var(--forest); font-size:36px; font-weight:650; line-height:1.25; letter-spacing:0; }
body.atelier #login .login-intro { margin:0; max-width:52ch; color:var(--muted); font-size:14px; line-height:1.7; }
body.atelier #login .login-principle { max-width:370px; margin-top:36px; padding-top:18px; border-top:1px solid var(--line); }
body.atelier #login .login-principle > span { color:var(--muted); font-size:11px; font-weight:500; letter-spacing:.04em; }
body.atelier #login .login-principle p { margin:8px 0 12px; color:var(--forest); font-size:17px; font-weight:600; }
body.atelier #login .login-principle > div { color:var(--muted); font-size:12px; }
body.atelier #login .login-principle div span { margin:0 10px; color:var(--gold); }
body.atelier #login .login-entry { align-self:center; justify-self:center; width:min(100%,480px); margin:0; padding:44px 48px; border:0; border-radius:0; background:#fff; }
body.atelier #login .login-entry-heading { padding-bottom:18px; border-bottom:1px solid var(--line); }
body.atelier #login .login-entry h2 { margin:0 0 7px; color:var(--forest); font-size:22px; font-weight:600; line-height:1.4; }
body.atelier #login .login-entry-heading p { margin:0; color:var(--muted); font-size:13px; }
body.atelier #login .atelier-login-message { margin:14px 0 0; padding:9px 11px; border:1px solid #d9e2d8; border-radius:4px; background:#eef3ed; color:var(--forest); font-size:12px; line-height:1.5; }
body.atelier #login .atelier-login-message:empty { display:none; }
body.atelier #login .atelier-login-message.error { border-color:#e5c9ce; background:#fbf2f3; color:var(--wine); }
body.atelier #login form { max-width:none; margin:22px 0 0; }
body.atelier #login label { gap:6px; margin-bottom:16px; color:var(--ink); font-size:13px; font-weight:500; }
body.atelier #login :is(input,select) { height:40px; min-height:40px; margin:0; padding:8px 11px; border:1px solid #adbdb2; border-radius:4px; background:#fff; color:var(--ink); font-size:14px; line-height:22px; }
body.atelier #login input::placeholder { color:#6c7971; }
body.atelier #login form button { display:flex; align-items:center; justify-content:space-between; width:100%; height:40px; min-height:40px; margin-top:4px; padding:8px 14px; border:1px solid var(--forest); border-radius:4px; background:var(--forest); color:#fff; font-size:14px; font-weight:500; line-height:22px; }
body.atelier #login form button:hover { border-color:#205747; background:#205747; }
body.atelier #login form button svg { width:18px; height:18px; }
body.atelier #login .login-help { margin:15px 0 22px; color:var(--muted); font-size:11px; line-height:1.7; }
body.atelier #login .login-entry-foot { padding:12px 0 0; border-top:1px solid var(--line); color:var(--muted); font-size:10px; }
body.atelier #login .login-entry-foot span:last-child { color:var(--gold); }
body.atelier #login .atelier-preview-login { margin:0; padding:0 20px 16px; max-width:none; color:#d0ddd3; font-size:11px; line-height:1.5; text-align:center; }
body.atelier:has(#login:not([hidden])) > footer { max-width:none; margin:0; padding:10px 28px 20px; border:0; background:#0f2d27; color:#d0dcd3; }

/* Keep .view as a direct workspace child: the original router depends on it. */
body.atelier > main.shell,body.atelier[data-unified] > main.shell { width:auto; max-width:none; margin:0 12px 18px; padding:0; }
body.atelier #workspace {
  display:grid;
  grid-template-columns:var(--atelier-sidebar-width) minmax(0,1fr);
  align-items:start;
  min-height:calc(100dvh - 144px);
  background:var(--atelier-surface);
  border:1px solid #d5ded7;
  border-radius:8px;
  overflow:visible;
  position:relative;
}
body.atelier .atelier-sidebar { grid-column:1; grid-row:1 / span 50; align-self:stretch; min-width:0; border-right:1px solid var(--line); padding:22px 20px; background:#fafaf7; position:relative; z-index:70; border-radius:8px 0 0 8px; }
body.atelier .atelier-nav-toggle { display:none; }
body.atelier #workspace > .atelier-main { grid-column:2; min-width:0; padding:28px 28px 40px; margin:0; background:var(--atelier-surface); }
body.atelier .atelier-sidebar nav { border:0; }
body.atelier .atelier-sidebar :is(.tabs,.atelier-primary-nav) { position:static; display:flex; flex-direction:column; align-items:stretch; gap:7px; padding:0 0 20px; margin:0; min-height:0; border-bottom:1px solid var(--line); }
body.atelier .atelier-sidebar .tabs > .tab,body.atelier .atelier-sidebar .atelier-primary-nav button { width:100%; min-height:44px; padding:10px 12px; text-align:left; border:0; border-radius:4px; color:var(--ink); background:transparent; font-size:16px; font-weight:500; position:relative; }
body.atelier .atelier-sidebar .tabs > .tab.is-active,body.atelier .atelier-sidebar .tabs > .tab.is-selected,body.atelier .atelier-sidebar .atelier-primary-nav button.is-active,body.atelier .atelier-sidebar .atelier-primary-nav button.is-selected { color:var(--forest); background:#eef3ed; font-weight:600; box-shadow:none; }
body.atelier .atelier-sidebar .tabs > .tab.is-active::before,body.atelier .atelier-sidebar .tabs > .tab.is-selected::before,body.atelier .atelier-sidebar .atelier-primary-nav button.is-active::before,body.atelier .atelier-sidebar .atelier-primary-nav button.is-selected::before { content:""; position:absolute; width:3px; height:24px; border-radius:2px; left:-1px; top:50%; transform:translateY(-50%); background:var(--wine); }
body.atelier .atelier-sidebar :is(.tab,.map-node-stage,.menu-trigger):hover { color:var(--forest); background:#eef3ed; }
body.atelier .atelier-sidebar :is(.tab,.map-node-stage)::after { display:none; }
body.atelier .atelier-sidebar :is(.workflow-rail,.atelier-stage-nav) { display:block; padding:18px 0; margin:0; border:0; border-bottom:1px solid var(--line); background:transparent; }
body.atelier .atelier-sidebar .rail-heading { border:0; padding:0 0 14px; margin:0; min-height:0; }
body.atelier .atelier-sidebar .rail-heading :is(strong,.eyebrow),body.atelier .atelier-sidebar .atelier-nav-label { color:var(--muted); font-size:12px; font-weight:400; letter-spacing:0; line-height:1.5; }
body.atelier .atelier-sidebar .atelier-nav-label { margin:0 0 14px; }
body.atelier .atelier-sidebar :is(.workflow-stage-list,.atelier-stage-list) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 5px; width:100%; border:0; }
body.atelier .atelier-sidebar .map-node-stage { display:flex; align-items:center; justify-content:flex-start; gap:9px; width:100%; min-width:0; min-height:42px; padding:6px 4px; border:0; border-radius:4px; background:transparent; color:var(--ink); font-size:14px; line-height:1.4; box-shadow:none; }
body.atelier .atelier-sidebar .map-node-stage strong { font-size:14px; font-weight:500; line-height:1.4; }
body.atelier .atelier-sidebar .map-node-stage .map-node-stage-en { display:none; }
body.atelier .atelier-sidebar .map-node-stage .map-node-copy { display:block; min-width:0; }
body.atelier .atelier-sidebar .map-node-stage.is-selected { background:#e7efe7; color:var(--forest); box-shadow:none; }
body.atelier .atelier-sidebar :is(.atelier-resources,.atelier-resource-nav) { display:grid; gap:9px; padding-top:24px; margin:0; }
body.atelier .atelier-sidebar :is(.atelier-connection,#connection-status) { display:block; width:fit-content; margin-top:22px; padding:5px 0; color:var(--muted); border:0; border-radius:0; background:transparent; font-size:11px; line-height:1.6; white-space:normal; }
body.atelier .atelier-sidebar #connection-status.warn { color:#806122; }
body.atelier .atelier-sidebar #connection-status.error { color:#9b3149; }
body.atelier .atelier-sidebar .nav-menu { position:relative; margin:0; width:100%; }
body.atelier .atelier-sidebar .menu-trigger { display:flex; justify-content:flex-start; align-items:center; gap:10px; width:100%; min-height:44px; padding:6px 4px; border:0; background:transparent; color:var(--ink); font-size:14px; font-weight:500; text-align:left; }
body.atelier .atelier-sidebar .menu-trigger > span:last-child { margin-left:auto; color:var(--muted); }
body.atelier .atelier-sidebar .menu-panel { position:absolute; z-index:80; left:calc(100% + 6px); right:auto; top:auto; bottom:0; width:340px; max-width:min(340px,calc(100vw - 40px)); max-height:calc(100dvh - 32px); overflow:auto; overscroll-behavior:contain; border:1px solid var(--line); border-radius:6px; padding:8px; background:#fff; box-shadow:0 14px 32px rgba(18,63,52,.14); }
body.atelier .atelier-sidebar .menu-panel::before { content:""; position:absolute; inset-block:0; left:-8px; width:8px; }
body.atelier .atelier-sidebar .nav-menu:not(.is-open) .menu-panel { visibility:hidden !important; opacity:0 !important; pointer-events:none !important; }
body.atelier .atelier-sidebar .nav-menu:is(.is-open,:focus-within) .menu-panel,
body.atelier .atelier-sidebar .nav-menu:not(.is-dismissed):hover .menu-panel { visibility:visible !important; opacity:1 !important; pointer-events:auto !important; transform:translateY(0); }
body.atelier .atelier-sidebar .nav-menu:not(.is-open) .menu-trigger > span { transform:none; }
body.atelier .atelier-sidebar .nav-menu.is-open .menu-trigger > span { transform:rotate(180deg); }
body.atelier .atelier-sidebar .menu-item { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px 18px; min-height:48px; padding:10px 12px; border:0; background:transparent; color:var(--ink); text-align:left; border-radius:4px; }
body.atelier .atelier-sidebar .menu-item:hover { background:#eef3ed; }
body.atelier .atelier-sidebar .menu-item strong { min-width:0; font-size:14px; font-weight:600; }
body.atelier .atelier-sidebar .menu-item span { color:var(--wine); font-size:12px; line-height:1.45; text-align:right; }
body.atelier .atelier-icon { display:inline-block; width:24px; height:24px; flex:0 0 24px; object-fit:contain; vertical-align:middle; }
body.atelier .atelier-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:9px; }
body.atelier .atelier-toolbar button { display:inline-flex; gap:6px; align-items:center; justify-content:center; min-height:32px; padding:4px 9px; border:1px solid var(--line); background:#fff; color:var(--forest); border-radius:4px; font-size:12px; font-weight:500; }
body.atelier .atelier-toolbar .atelier-icon { width:16px; height:16px; flex-basis:16px; }
body.atelier #workspace .atelier-page-header > .atelier-toolbar > button { height:32px; min-height:32px; margin:0; padding:4px 9px; border:1px solid var(--line); border-radius:4px; background:#fff; color:var(--forest); font-size:12px; font-weight:500; line-height:22px; box-shadow:none; }
body.atelier #workspace .atelier-page-header > .atelier-toolbar > button:hover { border-color:var(--line-dark); background:#eef3ed; color:var(--forest); }
body.atelier .period-management-entry.atelier-period-source { display:none!important; }

/* Page headings and controls share one scale across all business areas. */
body.atelier :is(.page-heading,.stage-heading,.heading,.overview-heading,.brand-detail-heading,.development-detail-heading) { height:auto; min-height:0; align-items:center; gap:20px; margin:0 0 24px; padding:0 0 20px; border-bottom:1px solid var(--line); }
body.atelier :is(.page-heading,.stage-heading,.heading,.overview-heading) :is(h1,h2),body.atelier[data-unified] :is(#work .heading,#account) h1 { font-size:36px; line-height:1.25; letter-spacing:0; font-weight:650; margin:0; color:var(--forest); }
body.atelier .page-heading .muted,body.atelier .stage-heading > div > p:not(.eyebrow) { margin:10px 0 0; max-width:70ch; color:var(--muted); font-size:14px; line-height:1.6; }
body.atelier :is(.eyebrow,.brand-card-index,.planning-flow-index) { font-size:11px; letter-spacing:.08em; font-weight:500; color:var(--muted); }
body.atelier :is(#today > .today-heading,#tasks > .page-heading,#work > .heading) { display:grid; grid-template-columns:minmax(0,1fr) auto; position:relative; height:auto; min-height:0; padding:0; margin-bottom:18px; gap:16px 20px; align-items:center; }
body.atelier :is(#today,#tasks,#work) > :is(.today-heading,.page-heading,.heading) > :first-child { grid-column:1; grid-row:1; min-width:0; }
body.atelier :is(#today > .today-heading,#tasks > .page-heading,#work > .heading) > .atelier-toolbar { grid-column:2; grid-row:1; align-self:start; margin:2px 0 0; }
body.atelier .today-heading .heading-copy { min-width:0; }
body.atelier .today-heading .heading-copy .muted { font-size:13px; }
body.atelier .today-heading-tools { display:contents; }
body.atelier .today-view-switch,body.atelier .today-switch-host .today-view-switch { position:static; display:flex; flex-wrap:wrap; grid-column:1 / -1; grid-row:2; justify-content:flex-start; gap:24px; width:100%; margin:0; padding:0; border:0; border-radius:0; background:transparent; overflow:visible; order:3; }
body.atelier .today-view-switch button { position:relative; min-height:40px; padding:7px 2px 10px; border:0; border-radius:0; background:transparent; color:var(--muted); font-size:16px; font-weight:500; line-height:1.5; white-space:nowrap; }
body.atelier #workspace .today-view-switch button { border:0; border-radius:0; box-shadow:none; background:transparent; }
body.atelier #workspace .today-view-switch button::after { content:""; display:block; position:absolute; left:2px; right:2px; top:auto; bottom:0; width:auto; height:3px; border-radius:2px; background:transparent; pointer-events:none; }
body.atelier #workspace .today-view-switch button:is(.is-active,.active,[aria-pressed="true"]) { background:transparent; color:var(--forest); font-weight:600; box-shadow:none; }
body.atelier #workspace .today-view-switch button:is(.is-active,.active,[aria-pressed="true"])::after { background:var(--wine); }
body.atelier .today-view-switch button:hover { background:transparent; color:var(--forest); }
body.atelier .today-page-refresh { position:static; min-height:32px; min-width:0; margin:0; padding:4px 9px; border:1px solid var(--line); border-radius:4px; background:#fff; color:var(--forest); font-size:12px; font-weight:500; }
body.atelier .today-page-refresh:hover { background:#eef3ed; color:var(--forest); border-color:var(--line-dark); }
body.atelier :is(.stage-workbench,.atelier-main) :is(button,input,textarea,select) { font-family:inherit; font-size:14px; }
body.atelier :is(.stage-workbench,.atelier-main) button { font-weight:500; letter-spacing:0; border-radius:var(--atelier-control-radius); }
body.atelier :is(.button,button.solid) { min-height:40px; border-radius:4px; padding:8px 14px; font-size:14px; font-weight:500; background:var(--forest); border-color:var(--forest); color:#fff; }
body.atelier :is(.button.secondary,button.quiet,button.text-button) { background:transparent; color:var(--forest); border-color:var(--line); }
body.atelier .button.secondary:hover { background:#eef3ed; border-color:var(--line-dark); }
/* Calendar controls share a baseline; form-label spacing must not offset them. */
body.atelier .launch-calendar .lc-toolbar { align-items:flex-end; gap:16px; }
body.atelier .launch-calendar .lc-toolbar label,
body.atelier .launch-calendar .lc-legend label { margin:0; }
body.atelier .launch-calendar .lc-toolbar > label { flex:1 1 120px; min-width:120px; max-width:200px; gap:6px; }
body.atelier .launch-calendar .lc-month { gap:8px; align-items:center; }
body.atelier .launch-calendar .lc-month-input { flex:0 0 auto; }
body.atelier .launch-calendar .lc-toolbar :is(button,input,select) { box-sizing:border-box; height:40px; min-height:40px; margin:0; padding:0 12px; font-size:14px; line-height:20px; border-radius:4px; }
body.atelier .launch-calendar .lc-toolbar button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; white-space:nowrap; }
body.atelier .launch-calendar .lc-toolbar select { width:100%; min-width:0; }
body.atelier .launch-calendar .lc-month input { width:152px; }
body.atelier .launch-calendar .lc-legend { align-items:center; gap:12px 20px; margin:16px 0; line-height:20px; }
body.atelier .launch-calendar .lc-legend label { display:inline-flex; align-items:center; gap:8px; min-height:28px; font-size:13px; line-height:20px; white-space:nowrap; }
body.atelier .launch-calendar .lc-legend input[type="checkbox"] { flex:0 0 16px; width:16px; height:16px; min-height:16px; margin:0; padding:0; }
@media(max-width:600px) {
 body.atelier .launch-calendar .lc-toolbar { gap:12px; }
 body.atelier .launch-calendar .lc-month { width:100%; gap:6px; }
 body.atelier .launch-calendar .lc-month-input { flex:1 1 128px; min-width:128px; }
 body.atelier .launch-calendar .lc-month input { width:100%; padding-inline:8px; }
 body.atelier .launch-calendar .lc-toolbar button { padding-inline:10px; }
 body.atelier .launch-calendar .lc-toolbar > label { flex:1 1 100px; min-width:100px; max-width:none; }
 body.atelier .launch-calendar .lc-legend > span:last-child { flex-basis:100%; }
}
/* Embedded business headers use the workboard surface; only the top-level brand bar is dark. */
body.atelier #workspace header { background:#fff; color:var(--ink); }
body.atelier #workspace header :is(p,small,span:not(.stage-module-index)) { color:var(--muted); }
body.atelier #workspace header button { background:#fff; color:var(--forest); border-color:var(--line); }
body.atelier #workspace header button:hover:not(:disabled) { background:#eef3ed; color:var(--forest); }
body.atelier #workspace header :is(button.solid,.button:not(.secondary)) { background:var(--forest); border-color:var(--forest); color:#fff; }
body.atelier #workspace header :is(button.solid,.button:not(.secondary)):hover:not(:disabled) { background:#1d5948; color:#fff; }
/* Control and collaboration pages must not inherit the old white-on-green header skin. */
body.atelier :is(.hub-overview,#member-work) { --overview-green:var(--forest); --overview-line:var(--line); color:var(--ink); }
body.atelier :is(.hub-overview,#member-work) :is(.overview-heading,.overview-hero) { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-start; gap:18px; padding:0 0 22px; margin:0 0 22px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; color:var(--ink); }
body.atelier :is(.hub-overview,#member-work) :is(.overview-heading,.overview-hero) > div:first-child { min-width:0; flex:1 1 320px; }
body.atelier :is(.hub-overview,#member-work) :is(.overview-heading,.overview-hero) :is(h1,h2) { margin:6px 0 10px; color:var(--forest); font-size:36px; font-weight:650; line-height:1.25; }
body.atelier :is(.hub-overview,#member-work) :is(.overview-heading,.overview-hero) p { margin:0; color:var(--muted); font-size:14px; line-height:1.6; }
body.atelier :is(.hub-overview,#member-work) :is(.overview-heading,.overview-hero) p:first-child { margin-bottom:9px; font-size:11px; letter-spacing:.06em; }
body.atelier :is(.hub-overview,#member-work) :is(.overview-heading,.overview-hero) button { min-height:32px; padding:4px 9px; border:1px solid var(--line); border-radius:4px; background:#fff; color:var(--forest); font-size:12px; }
body.atelier :is(.hub-overview,#member-work) :is(.overview-heading,.overview-hero) button:hover { background:#eef3ed; color:var(--forest); }
body.atelier .hub-overview .overview-toolbar { gap:16px; margin:0 0 20px; padding:0; color:var(--muted); }
body.atelier .hub-overview .overview-counts { gap:14px; }
body.atelier .hub-overview .overview-counts button { min-height:106px; padding:18px; gap:12px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--ink); box-shadow:none; }
body.atelier .hub-overview .overview-counts button:hover { background:#f5f7f3; border-color:var(--line-dark); }
body.atelier .hub-overview .overview-counts strong { color:var(--forest); font-size:20px; line-height:1.45; font-weight:600; }
body.atelier .hub-overview .overview-counts span { color:var(--muted); font-size:13px; line-height:1.5; }
body.atelier .hub-overview .overview-panel { padding:22px; margin:18px 0; color:var(--ink); }
body.atelier .hub-overview .overview-panel h3 { font-size:20px; font-weight:600; color:var(--ink); }
body.atelier .hub-overview .overview-panel > button { border-color:var(--line); background:#fff; color:var(--forest); }
body.atelier .hub-overview .overview-day { color:var(--ink); }
body.atelier .hub-overview .overview-day:hover { background:#eef3ed; color:var(--forest); }
body.atelier .hub-overview .overview-day small { color:var(--muted); }
body.atelier .schedule-basics .sb-heading { padding:0 0 22px; margin-bottom:22px; border-bottom:1px solid var(--line); background:transparent; color:var(--ink); }
body.atelier .schedule-basics .sb-heading h2 { margin:6px 0 10px; color:var(--forest); font-size:36px; line-height:1.25; font-weight:650; }
body.atelier .schedule-basics .sb-heading p { color:var(--muted); font-size:14px; line-height:1.6; }
body.atelier .schedule-basics .sb-heading p:first-child { margin-bottom:9px; color:var(--muted); font-size:11px; letter-spacing:.06em; }
body.atelier .knowledge-library { margin:0; padding:22px; border-color:var(--line); border-radius:6px; color:var(--ink); }
body.atelier .knowledge-library h2 { color:var(--forest); font-size:28px; font-weight:600; line-height:1.35; }
body.atelier :is(.kl-toolbar,.mkt-toolbar) { gap:16px; }
body.atelier .mkt-admin :is(.mkt-data,.mkt-panel,.mkt-kpis) { border-color:var(--line); border-radius:6px; color:var(--ink); }
body.atelier .mkt-admin .mkt-data { padding:22px; background:var(--atelier-surface-soft); }
body.atelier .mkt-admin .mkt-data > header h3 { font-size:22px; line-height:1.4; }
body.atelier .mkt-admin :is(.mkt-connection-note,.mkt-account-access p,.mkt-panel-head p,.mkt-kpis small,.mkt-sync-state,.mkt-kpis dt) { color:var(--muted); font-size:13px; line-height:1.6; }
body.atelier .mkt-admin .mkt-panel-head h4 { font-size:17px; line-height:1.4; }
body.atelier .mkt-admin .mkt-kpis dd { font-size:30px; line-height:1.35; }
body.atelier .mkt-admin .mkt-tabs button { border-radius:4px; font-size:14px; }
body.atelier .stage-workbench:has(> .stage-feedback[data-atelier-guidance]) { display:flex; flex-direction:column; }
body.atelier .stage-workbench > .stage-feedback[data-atelier-guidance] { order:100; margin:16px 0 0; padding:8px 0 0; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }
body.atelier .intelligence-dashboard { --intel-ink:var(--ink); --intel-muted:var(--muted); --intel-rule:var(--line); }
body.atelier .intelligence-dashboard .intel-heading { align-items:flex-start; padding:0 0 20px; gap:20px; }
body.atelier .intelligence-dashboard .intel-heading > div:first-child { min-width:0; }
body.atelier .intelligence-dashboard .intel-heading h2 { margin:6px 0 10px; font-size:36px; line-height:1.25; letter-spacing:0; color:var(--forest); font-weight:650; }
body.atelier .intelligence-dashboard .intel-heading p { color:var(--muted); font-size:14px; line-height:1.6; }
body.atelier .intelligence-dashboard .intel-kicker { color:var(--muted); font-size:11px; font-weight:500; letter-spacing:.08em; }
body.atelier :is(.intel-panel,.launch-calendar) { border-color:var(--line); border-radius:6px; padding:22px; color:var(--ink); }
body.atelier .intelligence-dashboard .intel-tabs { gap:24px; padding-bottom:0; margin-bottom:18px; }
body.atelier .intelligence-dashboard .intel-tabs button { font-size:14px; font-weight:500; border-radius:0; }
body.atelier .intelligence-dashboard .intel-tabs button[aria-pressed="true"] { color:var(--forest); border-bottom-color:var(--wine); font-weight:600; }
body.atelier .launch-calendar .lc-heading h3 { font-size:20px; line-height:1.4; font-weight:600; }
body.atelier .pipeline-live { --pipe-ink:var(--ink); --pipe-line:var(--line); background:transparent; padding:0; color:var(--ink); font-family:inherit; font-size:14px; line-height:1.6; }
body.atelier .pipeline-live .pipeline-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:8px 20px; margin:0 0 22px; padding:0 0 20px; border-bottom:1px solid var(--line); }
body.atelier .pipeline-live .pipeline-heading > div:first-child { grid-column:1; grid-row:1; min-width:0; }
body.atelier .pipeline-live .pipeline-heading h1 { margin:0; font-size:36px; line-height:1.25; font-weight:650; color:var(--forest); }
body.atelier .pipeline-live .pipeline-heading p { margin:10px 0 0; color:var(--muted); font-size:14px; line-height:1.6; }
body.atelier .pipeline-live .pipeline-heading > :is(span,.atelier-heading-meta) { grid-column:1 / -1; grid-row:2; margin:0; padding:0; text-align:left; color:var(--muted); font-size:12px; line-height:1.5; }
body.atelier .pipeline-live .pipeline-heading > :is(.atelier-toolbar,.catalog-actions) { grid-column:2; grid-row:1; align-self:start; margin:0; }
body.atelier .pipeline-live .pipeline-toolbar { gap:12px; margin:0 0 12px; }
body.atelier .pipeline-live .pipeline-toolbar label { margin:0; }
body.atelier .pipeline-live .period-management-entry { margin:0 0 14px; font-size:13px; }
body.atelier .pipeline-live [data-pipeline-status] { margin:0 0 18px; color:var(--muted); font-size:12px; }
body.atelier .pipeline-live :is(.pipeline-panel,.pipeline-steps,.pipeline-media,.pipeline-style-card) { border-color:var(--line); border-radius:6px; }
body.atelier .pipeline-live .pipeline-panel { padding:22px; background:#fff; color:var(--ink); }
body.atelier .pipeline-live .pipeline-panel h2 { font-size:22px; line-height:1.4; color:var(--ink); font-weight:600; }
body.atelier .pipeline-live .pipeline-panel h3 { font-size:17px; line-height:1.45; color:var(--ink); font-weight:600; }
body.atelier .pipeline-live .pipeline-panel > header { margin-bottom:20px; }
body.atelier .pipeline-live .pipeline-steps { background:var(--atelier-surface-soft); }
body.atelier .pipeline-live :is(button,.pipeline-upload,input,select,textarea) { font-family:inherit; border-radius:4px; }
body.atelier .pipeline-live .atelier-toolbar button { min-height:32px; padding:4px 9px; font-size:12px; }
body.atelier .pipeline-live .atelier-stage-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-start; gap:18px; padding:0 0 20px; margin:0 0 22px; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--ink); }
body.atelier .pipeline-live .atelier-stage-heading h1 { margin:0; font-size:36px; line-height:1.25; font-weight:650; color:var(--forest); }
body.atelier .pipeline-live .atelier-stage-heading > .atelier-toolbar { margin:0; }
body.atelier .pipeline-live :is(.pipeline-brief,.stage-development,.pipeline-order-grid output) { border-color:var(--line); border-radius:6px; background:#fff; color:var(--ink); }
body.atelier .pipeline-live .stage-development { padding:22px; margin-bottom:20px; }
body.atelier .pipeline-live .stage-development-title { flex-wrap:wrap; align-items:center; gap:16px; }
body.atelier .pipeline-live .stage-development-title h3 { margin:0 0 6px; font-size:22px; line-height:1.4; font-weight:600; color:var(--ink); }
body.atelier .pipeline-live .stage-development-title p { font-size:13px; color:var(--muted); line-height:1.6; }
body.atelier .pipeline-live .stage-product-grid > :is(article,.pipeline-style-card) { border-color:var(--line); border-radius:6px; background:#fff; color:var(--ink); }
body.atelier .pipeline-live dialog { border-color:var(--line); border-radius:8px; }
body.atelier #workspace .stage-workbench > .stage-heading { margin:0 0 22px; padding:0 0 20px; border-bottom:1px solid var(--line); background:transparent; color:var(--ink); }
body.atelier #workspace .stage-workbench > .stage-heading h2 { margin:6px 0 10px; color:var(--forest); font-size:36px; line-height:1.25; font-weight:650; letter-spacing:0; }
body.atelier #workspace .stage-workbench > .stage-heading p { color:var(--muted); font-size:14px; line-height:1.6; }
body.atelier #workspace .stage-workbench > .stage-heading .eyebrow { color:var(--muted); font-size:11px; font-weight:500; letter-spacing:.08em; }
body.atelier #workspace .stage-module-card > header { border-color:var(--line); background:transparent; color:var(--ink); }
body.atelier #workspace .stage-module-card > header :is(span:not(.stage-module-index),.stage-module-goal) { color:var(--muted); font-size:13px; line-height:1.5; white-space:normal; }
body.atelier #workspace .stage-module-card > header :is(h3,strong) { color:var(--ink); }
body.atelier .stage-module-card-header-main { grid-template-columns:4.25rem minmax(0,1fr); column-gap:20px; }
body.atelier #workspace .marketing-data-panel.mkt-data { border-color:var(--line); border-radius:6px; background:var(--atelier-surface-soft); color:var(--ink); }
body.atelier #workspace .marketing-data-panel.mkt-data > header,
body.atelier #workspace .marketing-data-panel.mkt-data > header > div { background:transparent !important; }
body.atelier #workspace .launch-product-material h4 { border-bottom:1px solid var(--line); background:var(--atelier-surface-soft); color:var(--ink); font-size:16px; }
body.atelier #workspace .knowledge-library { margin:0; padding:0; border:0; border-radius:0; background:#fff; }
body.atelier #workspace .knowledge-library > header { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:20px; padding:0 0 20px; margin:0 0 22px; border-bottom:1px solid var(--line); }
body.atelier #workspace .knowledge-library > header > div:first-child { flex:1 1 300px; min-width:0; }
body.atelier #workspace .knowledge-library > header h2 { margin:6px 0 10px; color:var(--forest); font-size:36px; line-height:1.25; font-weight:650; }
body.atelier #workspace .knowledge-library > header p { color:var(--muted); font-size:14px; line-height:1.6; }
body.atelier #workspace .knowledge-library > header .eyebrow { margin:0 0 8px; font-size:11px; font-weight:500; letter-spacing:.08em; }
body.atelier #workspace .knowledge-library > header .button { color:var(--forest); background:#fff; border-color:var(--line); border-radius:4px; }
body.atelier #workspace .atelier-bare-heading { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:18px; padding:0 0 20px; margin:0 0 16px; border-bottom:1px solid var(--line); }
body.atelier #workspace #ability-content .page-heading h2 { margin:0; font-size:36px; font-weight:650; line-height:1.25; color:var(--forest); }
body.atelier #workspace .ability-row { border:1px solid var(--line); border-radius:6px; padding:22px; background:#fff; color:var(--ink); box-shadow:none; }
body.atelier #workspace .ability-row h3 { font-size:18px; line-height:1.45; font-weight:600; color:var(--ink); }
body.atelier #workspace .ability-row p { font-size:14px; line-height:1.65; color:var(--muted); }
body.atelier #workspace .customer-message-hub { --customer-line:var(--line); --customer-soft:var(--atelier-surface-soft); --customer-warm:#f8f6ee; color:var(--ink); }
body.atelier #workspace .customer-hub-header { align-items:flex-start; flex-wrap:wrap; gap:18px; min-height:0; padding:0 0 20px; margin:0 0 22px; background:transparent; color:var(--ink); border-bottom:1px solid var(--line); }
body.atelier #workspace .customer-hub-header > div:first-child { flex:1 1 340px; min-width:0; }
body.atelier #workspace .customer-hub-header h2 { margin:0 0 10px; color:var(--forest); font-size:36px; font-weight:650; line-height:1.25; letter-spacing:0; }
body.atelier #workspace .customer-hub-header p { max-width:68ch; margin:0; color:var(--muted); font-size:14px; line-height:1.6; }
body.atelier #workspace .customer-hub-tools { align-items:center; gap:8px; }
body.atelier #workspace .customer-hub-tools button { min-height:36px; padding:7px 12px; border:1px solid var(--line); border-radius:4px; background:#fff; color:var(--forest); font-size:13px; font-weight:500; }
body.atelier #workspace .customer-hub-tools button[aria-pressed="true"] { border-color:var(--forest); background:var(--forest); color:#fff; font-weight:600; }
body.atelier #workspace .customer-sync-state { color:var(--muted); font-size:12px; line-height:1.5; }
body.atelier #workspace .customer-channel-tabs { margin-top:0; border:0; border-radius:0; background:transparent; overflow:visible; }
body.atelier #workspace .customer-channel-tab { border-color:var(--line); }
body.atelier #workspace .customer-channel-tabs button { min-height:48px; padding:10px 16px; border-color:var(--line); border-radius:0; font-size:14px; font-weight:500; }
body.atelier #workspace .customer-channel-tab[data-selected="true"] button { background:transparent; color:var(--forest); font-weight:600; }
body.atelier #workspace .customer-summary { margin:0; padding:12px 16px; border:0; border-top:1px solid var(--line); border-radius:0; background:#fff; overflow:visible; }
body.atelier #workspace .customer-summary span { color:var(--muted); font-size:13px; }
body.atelier #workspace .customer-summary strong { color:var(--forest); font-size:16px; font-weight:600; }
body.atelier #workspace .customer-hub-columns { border:1px solid var(--line); border-radius:6px; background:#fff; box-shadow:none; overflow:hidden; }
body.atelier #workspace :is(.customer-conversation-list,.customer-thread,.customer-side-panel,.customer-conversation-list > header,.customer-thread > header,.customer-filter-row,.customer-reply-box,.customer-side-sections > section) { border-color:var(--line); }
body.atelier #workspace :is(.customer-conversation-list h3,.customer-thread h3,.customer-task-board h3) { color:var(--ink); font-size:18px; line-height:1.45; font-weight:600; }
body.atelier #workspace :is(.customer-conversation-list > header > span,.customer-thread-state,.customer-conversation-head time,.customer-conversation-meta,.customer-sync-state) { color:var(--muted); font-size:12px; }
body.atelier #workspace .customer-filter-row button { min-height:58px; color:var(--muted); font-size:13px; font-weight:500; }
body.atelier #workspace .customer-filter-row button[aria-pressed="true"] { background:transparent; color:var(--forest); font-weight:650; box-shadow:none; }
body.atelier #workspace .customer-conversation { border-color:var(--line); }
body.atelier #workspace .customer-conversation-head strong { color:var(--ink); font-size:14px; font-weight:600; }
body.atelier #workspace :is(.customer-conversation-preview,.customer-empty,.customer-loading,.customer-load-error) { color:var(--muted); font-size:13px; line-height:1.6; }
body.atelier #workspace .customer-message { border-color:var(--line); border-radius:4px; }
body.atelier #workspace .customer-message.outgoing { border-color:#b9c9bf; background:#edf3ed; }
body.atelier #workspace .customer-message header strong { color:var(--forest); font-size:13px; }
body.atelier #workspace .customer-message header time { color:var(--muted); font-size:12px; }
body.atelier #workspace .customer-message p { color:var(--ink); font-size:14px; line-height:1.65; }
body.atelier #workspace .customer-reply-box textarea { border-color:#adbdb2; border-radius:4px; background:#fff; font-size:14px; }
body.atelier #workspace .customer-reply-box label { color:var(--ink); font-size:13px; font-weight:600; }
body.atelier #workspace .customer-side-sections h4 { color:var(--ink); font-size:16px; line-height:1.5; font-weight:600; }
body.atelier #workspace .customer-side-sections section > p:not(.customer-kicker) { color:var(--muted); font-size:13px; line-height:1.65; }
body.atelier #workspace .customer-task-board { border-color:var(--line); border-radius:6px; overflow:hidden; }
body.atelier #workspace .customer-task-board > header { border-color:var(--line); background:var(--atelier-surface-soft); color:var(--ink); }
/* Scope secondary-page controls to their page, without enlarging data-card headings. */
body.atelier #task-list .overview-toolbar [data-plan-mode][aria-pressed] { min-height:36px; padding:7px 13px; border:1px solid var(--line); border-radius:4px; background:#fff; color:var(--forest); font-size:14px; font-weight:500; }
body.atelier #task-list .overview-toolbar [data-plan-mode][aria-pressed="true"] { border-color:var(--forest); background:var(--forest); color:#fff; font-weight:600; }
body.atelier #task-list .overview-toolbar [data-plan-mode][aria-pressed="false"]:hover { border-color:var(--line-dark); background:#eef3ed; color:var(--forest); }
body.atelier #task-list .overview-day[aria-pressed="true"],body.atelier #task-list .overview-day[aria-pressed="true"]:hover { border-color:var(--forest); background:var(--forest); color:#fff; }
body.atelier #task-list .overview-day[aria-pressed="true"] small { color:#e0eae4; }
body.atelier #workspace .trim-library > .trim-heading { margin:0 0 20px; padding:0 0 20px; border-bottom:1px solid var(--line); }
body.atelier #workspace .trim-library > .trim-heading h2 { margin:0 0 10px; color:var(--forest); font-size:36px; font-weight:650; line-height:1.25; letter-spacing:0; }
body.atelier #workspace .trim-library > .trim-heading p { margin:0; color:var(--muted); font-size:14px; line-height:1.6; }
body.atelier #workspace .trim-library :is(button,input,select,textarea) { border-radius:4px; font-family:inherit; font-size:14px; }
body.atelier #workspace .trim-library .trim-card { border-radius:6px; }
body.atelier #workspace .trim-library .trim-card-content :is(strong,span) { color:var(--ink); }
body.atelier #account > h1 { margin:0 0 24px; font-size:36px; line-height:1.25; font-weight:650; color:var(--forest); }
body.atelier #account :is(.member-profile,.ability-settings) { margin:0 0 24px; padding:20px 0 24px; }
body.atelier #account :is(.member-profile,.ability-settings,.account-grid > section) > h2 { margin:0 0 12px; font-size:22px; font-weight:600; line-height:1.4; }
body.atelier #account .profile-avatar-dropzone { border-radius:6px; }
body.atelier #account input[type="range"] { min-height:20px; padding:0; border:0; background:transparent; accent-color:var(--forest); }
body.atelier #employees > .page-heading h1 { margin:0; font-size:36px; font-weight:650; line-height:1.25; color:var(--forest); }
body.atelier #employees .directory-toolbar label { font-size:13px; font-weight:500; }
body.atelier #employees .group-tab { font-size:14px; font-weight:500; }
body.atelier #employees .group-tab[aria-selected="true"] { color:var(--forest); font-weight:600; }
body.atelier #employees .employee-card h3 { font-size:18px; font-weight:600; line-height:1.45; }
body.atelier #employees :is(.employee-card-header p,.employee-responsibility) { font-size:14px; line-height:1.65; }
body.atelier #employees :is(.employee-details dt,.employee-details code,.employee-id) { font-size:12px; line-height:1.6; }
body.atelier #employees .status-chip { border-radius:4px; font-size:12px; font-weight:500; }
body.atelier #employees .employee-metrics.atelier-module { grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; margin:28px 0 24px; border:1px solid var(--line); border-radius:6px; background:var(--atelier-surface-soft); overflow:hidden; }
body.atelier #employees .employee-metrics article { min-height:94px; padding:18px 20px; border:0; background:transparent; }
body.atelier #employees .employee-metrics article + article { padding-left:20px; border-left:1px solid var(--line); }
body.atelier #employees .employee-metrics article span { color:var(--muted); font-size:12px; line-height:1.5; }
body.atelier #employees .employee-metrics article strong { display:block; margin-top:14px; color:var(--forest); font-size:26px; line-height:1; font-weight:600; }
body.atelier #employees .employee-groups { gap:26px; margin:0; padding:0 18px; border:1px solid var(--line); border-bottom:0; border-radius:6px 6px 0 0; background:#fff; }
body.atelier #employees .group-tab { min-height:48px; padding:13px 0 12px; }
body.atelier #employees .group-tab:hover { background:transparent; color:var(--forest); }
body.atelier #employees .directory-toolbar { grid-template-columns:minmax(260px,2fr) repeat(3,minmax(150px,1fr)); gap:14px; padding:18px; border:1px solid var(--line); border-top:0; border-radius:0 0 6px 6px; background:#fff; }
body.atelier #employees .directory-toolbar :is(input,select) { min-height:42px; border-color:#adbdb2; border-radius:4px; background:#fff; }
body.atelier #employees .directory-result { margin:16px 0 8px; color:var(--muted); font-size:12px; }
body.atelier #employees .employee-grid.atelier-module { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
body.atelier #employees .employee-card { gap:16px; padding:20px; border:1px solid var(--line); border-radius:6px; background:#fff; }
body.atelier #employees .employee-identity { display:flex; align-items:center; gap:12px; min-width:0; }
body.atelier #employees .employee-avatar { display:grid; place-items:center; width:42px; height:42px; flex:0 0 42px; border:1px solid #cbd7cf; border-radius:50%; background:#eef3ed; color:var(--forest); font-size:16px; font-weight:650; }
body.atelier #employees .employee-card h3 { margin:2px 0 2px; }
body.atelier #employees .employee-id { color:var(--gold); }
body.atelier #employees .employee-details { padding-top:14px; border-top:1px solid var(--line); }
body.atelier #employees .employee-card .actions { gap:8px; margin-top:auto; }
body.atelier #employees .employee-card .actions :is(button,a) { min-height:34px; padding:6px 9px; border-radius:4px; font-size:12px; }
body.atelier #employees .employee-grid > .empty { grid-column:1 / -1; min-height:180px; display:grid; place-items:center; padding:28px; border:1px solid var(--line); border-radius:6px; background:var(--atelier-surface-soft); color:var(--muted); }

body.atelier .schedule-basics { width:100%; max-width:none; margin:0; color:var(--ink); }
body.atelier .schedule-basics .sb-toolbar { display:grid; grid-template-columns:minmax(280px,1fr) auto auto; align-items:end; gap:10px; margin:0 0 18px; padding:18px; border:1px solid var(--line); border-radius:6px; background:var(--atelier-surface-soft); }
body.atelier .schedule-basics .sb-toolbar label { min-width:0; margin:0; }
body.atelier .schedule-basics .sb-toolbar button { min-height:40px; padding:8px 12px; border:1px solid var(--line); border-radius:4px; background:#fff; color:var(--forest); font-size:13px; font-weight:500; }
body.atelier .schedule-basics .sb-toolbar button:hover:not(:disabled) { border-color:var(--line-dark); background:#eef3ed; }
body.atelier .schedule-basics .sb-message { min-height:0; margin:0 0 14px; padding:0 2px; color:var(--muted); font-size:13px; }
body.atelier .schedule-basics [data-form] { min-width:0; padding:24px; border:1px solid var(--line); border-radius:6px; background:#fff; }
body.atelier .schedule-basics .sb-add-round-row .sb-add-round { min-height:30px; padding:4px 12px; border-radius:4px; background:#fff; color:var(--forest); font-size:12px; font-weight:500; }
body.atelier .schedule-basics .sb-add-round-row .sb-add-round:hover:not(:disabled) { border-color:var(--line-dark); background:#eef3ed; }
body.atelier .schedule-basics fieldset { margin:0; }
body.atelier .schedule-basics legend { margin:22px 0 16px; color:var(--forest); font-size:20px; font-weight:600; }
body.atelier .schedule-basics .sb-notice { margin:0; padding:14px 16px; border:1px solid #e7dfc9; background:#fbf8ed; color:var(--muted); font-size:13px; }
body.atelier .schedule-basics .sb-fields { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
body.atelier .schedule-basics .sb-save { min-height:42px; border-radius:4px; font-size:14px; }

body.atelier .workflow-records-page { display:grid; gap:20px; width:100%; min-width:0; }
body.atelier .workflow-records-heading { margin:0; }
body.atelier .workflow-records-section { min-width:0; padding:22px; border:1px solid var(--line); border-radius:6px; background:#fff; }
body.atelier .workflow-records-section > header { display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin-bottom:16px; padding-bottom:14px; border-bottom:1px solid var(--line); }
body.atelier .workflow-records-section h3 { margin:0; color:var(--ink); font-size:20px; font-weight:600; }
body.atelier .workflow-records-section header span { color:var(--muted); font-size:12px; }
body.atelier .workflow-version-list,.workflow-event-list { display:grid; gap:0; }
body.atelier .workflow-version-list details { padding:14px 0; border-bottom:1px solid var(--line); }
body.atelier .workflow-event-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 20px; align-items:center; padding:16px 0; border-bottom:1px solid var(--line); }
body.atelier .workflow-event-row:last-child,.workflow-version-list details:last-child { border-bottom:0; }
body.atelier .workflow-event-open { display:flex; align-items:center; justify-content:space-between; gap:16px; min-width:0; min-height:0; padding:0; border:0; border-radius:0; background:transparent; color:var(--ink); text-align:left; }
body.atelier .workflow-event-open:hover { background:transparent; color:var(--forest); }
body.atelier .workflow-event-open strong { min-width:0; font-size:15px; font-weight:600; overflow-wrap:anywhere; }
body.atelier .workflow-event-open span { flex:0 0 auto; color:var(--wine); font-size:12px; }
body.atelier .workflow-event-meta { grid-column:1; margin:0; color:var(--muted); font-size:12px; line-height:1.55; }
body.atelier .workflow-event-result { grid-column:1 / -1; margin:2px 0 0; padding:10px 12px; border-left:2px solid var(--gold); background:#fbf8ed; color:var(--muted); font-size:13px; line-height:1.6; }

@media(max-width:1050px){
  body.atelier #employees .directory-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.atelier .schedule-basics .sb-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
body.atelier #workspace .wechat-distribution-hero { display:flex; flex-wrap:wrap; align-items:flex-start; gap:18px; padding:0 0 20px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:#fff; color:var(--ink); box-shadow:none; }
body.atelier #workspace .wechat-distribution-hero > div:first-child { flex:1 1 320px; min-width:0; }
body.atelier #workspace .wechat-distribution-hero h1 { margin:6px 0 10px; color:var(--forest); font-size:36px; line-height:1.25; font-weight:650; letter-spacing:0; }
body.atelier #workspace .wechat-distribution-hero p:last-child { color:var(--muted); font-size:14px; line-height:1.6; }
body.atelier #workspace .wechat-release-state { padding:6px 10px; border:1px solid var(--line); border-radius:4px; background:#edf3ec; color:var(--forest); font-size:12px; font-weight:500; }
body.atelier #workspace .wechat-release-state i { background:var(--forest); box-shadow:none; }
body.atelier #workspace :is(.wechat-package-card,.wechat-prerequisites) { min-width:0; padding:22px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--ink); box-shadow:none; }
body.atelier #workspace .wechat-package-card { grid-template-columns:auto minmax(0,1fr); gap:18px; }
body.atelier #workspace :is(.wechat-package-person,.wechat-package-card dl div,.wechat-prerequisites li,.wechat-package-pending) { border-radius:6px; }
body.atelier #workspace .wechat-package-copy { min-width:0; }
body.atelier #workspace .wechat-package-copy h2 { color:var(--ink); font-size:18px; font-weight:600; line-height:1.45; overflow-wrap:anywhere; word-break:normal; }
body.atelier #workspace .wechat-package-card :is(p,dd) { max-width:100%; overflow-wrap:anywhere; }
body.atelier #workspace .wechat-package-hash dd { overflow:visible; text-overflow:clip; white-space:normal; font-size:12px; line-height:1.6; }
body.atelier #workspace .wechat-prerequisites h2 { font-size:22px; font-weight:600; line-height:1.4; }
body.atelier #workspace :is(.operating-detail-header,.knowledge-detail-header) { display:flex; flex-wrap:wrap; align-items:flex-start; gap:18px; margin:0 0 20px; padding:0 0 20px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:#fff; color:var(--ink); box-shadow:none; }
body.atelier #workspace :is(.operating-detail-header,.knowledge-detail-header) > div:first-child { flex:1 1 280px; min-width:0; }
body.atelier #workspace :is(.operating-detail-header,.knowledge-detail-header) h2 { margin:0 0 10px; color:var(--forest); font-size:36px; font-weight:650; line-height:1.25; letter-spacing:0; }
body.atelier #workspace :is(.operating-detail-header,.knowledge-detail-header) p:last-child { margin:0; color:var(--muted); font-size:14px; line-height:1.6; }
body.atelier #workspace :is(.operating-detail-header,.knowledge-detail-header) button { background:#fff; color:var(--forest); border-color:var(--line); }
body.atelier #workspace :is(.knowledge-guide-grid,.knowledge-sources,.detail-tools,.detail-tasks) { min-width:0; border-radius:6px; border-color:var(--line); }
body.atelier #workspace :is(.knowledge-sources,.detail-tools,.detail-tasks) { background:#fff; color:var(--ink); box-shadow:none; }
body.atelier :is(.atelier-main,.stage-dialog,.development-product-dialog) :is(label,summary) { font-size:14px; font-weight:500; line-height:1.5; }
body.atelier :is(.atelier-main,.stage-dialog,.development-product-dialog) :is(input,textarea,select) { max-width:100%; min-width:0; min-height:40px; padding:9px 11px; border:1px solid #adbdb2; border-radius:4px; background:#fff; color:var(--ink); font-size:14px; line-height:1.5; }
body.atelier :is(.atelier-main,.stage-dialog,.development-product-dialog) input:is([type=checkbox],[type=radio]) { width:17px; height:17px; min-height:17px; padding:0; accent-color:var(--forest); }
body.atelier :is(.atelier-main,.stage-dialog,.development-product-dialog) textarea { resize:vertical; }
body.atelier :is(input,textarea)::placeholder { color:#6c7971; opacity:1; }
body.atelier :is(input,select,textarea):disabled { background:#f0f3ee; color:#68786e; opacity:1; }
body.atelier :is(.atelier-main,.stage-workbench) :is(.card,.stage-module-card,.stage-module,.stage-product-card,.development-product-card,.production-product-card,.brand-card,.intelligence-card,.overview-panel,.series-product-card,.mkt-card,.iq-card) { border-radius:6px; border-color:var(--line); box-shadow:none; background:var(--atelier-surface); }
body.atelier .atelier-main .series-product-card { border-radius:6px; }
body.atelier .atelier-main .series-product-card .series-product-related-toggle { min-height:24px; border-radius:0; font-size:.56rem; line-height:1.2; }
body.atelier .atelier-main .series-product-card .series-product-related-toggle strong { font-size:.52rem; }
body.atelier .atelier-main .series-product-card:is(.is-related-hover,.is-related-open) { border-radius:6px; border-color:rgba(0,0,0,.72); background:rgba(0,0,0,.72); transform:none; }
body.atelier :is(.stage-module-card,.stage-record,.brand-card,.development-product-card) :is(h3,h4) { font-size:18px; line-height:1.45; font-weight:600; letter-spacing:0; }
body.atelier :is(.stage-record,.stage-unit,.mkt-card,.overview-panel) p { font-size:14px; line-height:1.65; }
body.atelier :is(.stage-facts dt,.stage-facts dd,.stage-empty,.stage-record small,.page-status) { font-size:13px; line-height:1.6; }
body.atelier :is(.stage-module-card,.stage-unit,.overview-panel) > header { background:transparent; color:var(--ink); border-color:var(--line); }
body.atelier :is(.series-product-card,.brand-card,.intelligence-card):hover { transform:none; box-shadow:none; border-color:var(--line-dark); }
body.atelier :is(.module-subnav,.stage-tabs,.series-filter,.control-page-tabs,.control-scope-tabs,.ability-sections) { gap:6px; flex-wrap:wrap; border:0; }
body.atelier :is(.module-subnav,.stage-tabs,.series-filter,.control-page-tabs,.control-scope-tabs,.ability-sections) button { min-height:38px; padding:8px 13px; border:1px solid var(--line); border-radius:4px; font-size:14px; font-weight:500; }
body.atelier :is(.module-subnav,.stage-tabs,.series-filter,.control-page-tabs,.control-scope-tabs,.ability-sections) button:is([aria-pressed=true],.is-active) { background:var(--forest); color:#fff; border-color:var(--forest); }
body.atelier :is(dialog,.stage-dialog,.development-product-dialog,.media-upload-dialog) { border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); box-shadow:0 20px 70px rgb(16 57 47 / .2); max-width:calc(100vw - 32px); max-height:calc(100dvh - 40px); }
body.atelier dialog::backdrop { background:rgb(17 37 29 / .42); backdrop-filter:blur(2px); }
body.atelier :is(dialog,.stage-dialog) :is(h2,h3) { font-size:23px; line-height:1.4; font-weight:600; letter-spacing:0; }
body.atelier :is(.atelier-main table,.order-sheet table) { font-size:13px; line-height:1.6; }
body.atelier :is(.atelier-main table,.order-sheet table) :is(th,td) { border-color:var(--line); }
body.atelier .atelier-main th { font-weight:500; }
body.atelier :is(.order-scroll,.table-scroll,.stage-table-scroll,.production-table-scroll) { border-radius:6px; border-color:var(--line); overflow:auto; max-width:100%; }
body.atelier .atelier-main :is(.warning,.notice,.order-warning) { border-radius:4px; font-size:13px; line-height:1.65; }
body.atelier > footer { padding:10px 28px 20px; border:0; color:#d0dcd3; background:var(--forest-deep); font-size:12px; }

/* Series overview: approved option 3, one labelled filter rail and one metric frame. */
body.atelier #series .series-toolbar { align-items:flex-end; padding:18px 0 14px; border-bottom:0; }
body.atelier #series .series-toolbar label { min-width:210px; margin:0; gap:7px; }
body.atelier #series .series-toolbar select { min-height:48px; border-color:#adbdb2; border-radius:8px; background:#fff; }
body.atelier #series .series-filter { display:flex; align-items:stretch; justify-content:flex-end; flex-wrap:nowrap; gap:0; min-height:48px; padding:0 6px 0 14px; border:1px solid var(--line); border-radius:8px; background:var(--atelier-surface-soft); overflow:hidden; }
body.atelier #series .series-filter-label { display:flex; align-items:center; padding:0 12px 0 0; color:var(--muted); font-size:13px; font-weight:500; white-space:nowrap; }
body.atelier #series .series-filter button { position:relative; min-height:46px; padding:8px 14px; border:0; border-radius:6px; background:transparent; color:var(--muted); font-size:13px; font-weight:500; white-space:nowrap; }
body.atelier #series .series-filter button.is-active { padding-left:24px; border:0; background:#eaf0ea; color:var(--forest); }
body.atelier #series .series-filter button.is-active::before { content:""; position:absolute; left:13px; top:50%; width:2px; height:16px; border-radius:2px; background:var(--wine); transform:translateY(-50%); }
body.atelier #series .series-filter button:hover:not(.is-active) { background:#eef3ed; color:var(--forest); }
body.atelier #series .series-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:0 0 45px; border:1px solid var(--line); border-radius:8px; background:#fff; overflow:hidden; }
body.atelier #series .series-metrics article { position:relative; min-height:144px; padding:25px 26px; border:0; background:transparent; }
body.atelier #series .series-metrics article + article { border:0; }
body.atelier #series .series-metrics article:not(:last-child)::after { content:""; position:absolute; top:24px; right:0; bottom:24px; width:1px; background:var(--line); }

@media(max-width:800px){
  body.atelier #series .series-toolbar { align-items:stretch; flex-direction:column; }
  body.atelier #series .series-filter { justify-content:flex-start; width:100%; overflow-x:auto; }
  body.atelier #series .series-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.atelier #series .series-metrics article:nth-child(2)::after { content:none; }
  body.atelier #series .series-metrics article:nth-child(-n+2)::before { content:""; position:absolute; right:24px; bottom:0; left:24px; height:1px; background:var(--line); }
}

@media(max-width:520px){
  body.atelier #series .series-metrics { grid-template-columns:minmax(0,1fr); }
  body.atelier #series .series-metrics article:not(:last-child)::after { top:auto; right:24px; bottom:0; left:24px; width:auto; height:1px; }
  body.atelier #series .series-metrics article:nth-child(-n+2)::before { content:none; }
}

/* Today: the same source projection, presented as movable independent modules. */
body.atelier #today-focus { --focus-green:var(--forest); --focus-line:var(--line); --focus-muted:var(--muted); font-size:15px; min-width:0; }
body.atelier #today-focus .focus-layout-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-flow:row; gap:16px; align-items:stretch; margin:0; }
body.atelier #today-focus .focus-section { grid-column:span var(--layout-span,12); container-type:inline-size; padding:0; min-width:0; min-height:0; margin:0; border:1px solid var(--line); border-radius:6px; background:#fff; overflow:visible; scroll-margin-top:24px; }
body.atelier #today-focus .focus-section.atelier-fixed-height { overflow:auto; overscroll-behavior:contain; }
body.atelier #today-focus .focus-section-action { grid-column:span var(--layout-span,8); grid-row:span 2; }
body.atelier #today-focus :is(.focus-section-review,.focus-section-receipt) { grid-column:span var(--layout-span,4); background:var(--atelier-surface-soft); border-color:transparent; }
body.atelier #today-focus .focus-section-header { display:flex; justify-content:flex-start; align-items:center; gap:9px; padding:15px 18px; border-bottom:0; border-radius:6px 6px 0 0; background:transparent; color:var(--ink); }
body.atelier #today-focus .focus-section-header h2 { font-size:20px; font-weight:600; line-height:1.45; margin:0; letter-spacing:0; color:var(--ink); }
body.atelier #today-focus .focus-section-header > span { color:var(--muted); font-size:13px; line-height:1.5; white-space:nowrap; font-variant-numeric:tabular-nums; }
body.atelier #today-focus .focus-section-plan > .focus-section-header { gap:12px; }
body.atelier #today-focus .focus-section-plan > .focus-section-header h2 { color:var(--forest); }
body.atelier #today-focus .focus-section-plan .focus-glyph { flex:0 0 24px; width:24px; height:24px; }
body.atelier #today-focus .focus-plan-all { display:inline-flex; align-items:center; gap:7px; margin-left:auto; padding:4px 0; min-height:32px; border:0; border-radius:0; background:transparent; color:var(--muted); font-size:12px; font-weight:400; white-space:nowrap; }
body.atelier #today-focus .focus-plan-all:hover { color:var(--forest); background:transparent; }
body.atelier #today-focus .focus-plan-row { display:grid; grid-template-columns:58px minmax(0,1fr) minmax(54px,.13fr) 66px; align-items:center; gap:12px; padding:13px 0; border-top:1px solid var(--line); }
body.atelier #today-focus .focus-plan-row:first-child { border-top:0; }
body.atelier #today-focus .focus-plan-row time { color:var(--muted); font-size:13px; font-variant-numeric:tabular-nums; }
body.atelier #today-focus .focus-plan-owner { color:var(--muted); font-size:12px; overflow-wrap:anywhere; }
body.atelier #today-focus .focus-plan-row .focus-task-link { font-size:14px; font-weight:500; }
body.atelier #today-focus .focus-section-action > .focus-section-header { background:#f6f7f3; border-bottom:1px solid var(--line); }
body.atelier #today-focus .focus-section-action > .focus-section-header::before { content:""; width:3px; height:22px; margin-right:3px; border-radius:2px; background:var(--wine); }
body.atelier #today-focus .focus-section-content { min-width:0; padding:0 16px 12px; }
body.atelier #today-focus .focus-row { display:grid; grid-template-columns:minmax(120px,1fr) minmax(60px,.35fr) minmax(52px,.28fr) minmax(52px,.28fr) auto; align-items:center; gap:4px 14px; margin:0; border-top:1px solid var(--line); padding:17px 0 8px; background:transparent; }
body.atelier #today-focus .focus-row:first-child { border-top:0; }
body.atelier #today-focus .focus-row:last-child { padding-bottom:0; }
body.atelier #today-focus .focus-row-main { min-width:0; }
body.atelier #today-focus .focus-row-main h3 { margin:0; font-size:15px; line-height:1.55; font-weight:550; }
body.atelier #today-focus .focus-task-link { display:inline; padding:0; min-height:0; border:0; border-radius:0; background:transparent; text-align:left; color:var(--ink); font:inherit; font-weight:550; text-decoration:none; overflow-wrap:anywhere; line-height:1.55; }
body.atelier #today-focus .focus-task-link:hover { background:transparent; color:var(--forest); text-decoration:underline; text-underline-offset:3px; }
body.atelier #today-focus .focus-row p { max-width:none; margin:3px 0 0; font-size:12px; line-height:1.6; color:var(--muted); }
body.atelier #today-focus .focus-owner { display:flex; align-items:center; gap:7px; min-width:0; font-size:13px; line-height:1.5; color:var(--ink); overflow-wrap:anywhere; }
body.atelier #today-focus .focus-avatar { display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border-radius:50%; background:#edf0ea; color:#354a40; font-size:14px; font-weight:500; }
body.atelier #today-focus .focus-due { display:grid; gap:1px; color:var(--ink); font-size:13px; line-height:1.5; font-variant-numeric:tabular-nums; }
body.atelier #today-focus .focus-due small { color:var(--muted); font-size:11px; line-height:1.5; }
body.atelier #today-focus .focus-due.is-overdue :is(time,small) { color:#9b3149; }
body.atelier #today-focus .focus-status { padding:0; border:0; border-radius:0; background:transparent; color:#596e64; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
body.atelier #today-focus .focus-row[data-status=in_progress] > .focus-status { color:#366d42; font-weight:500; }
body.atelier #today-focus .focus-row[data-status=review] > .focus-status { color:#796a38; }
body.atelier #today-focus .focus-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:7px; min-width:0; }
body.atelier #today-focus .focus-actions button { min-height:34px; padding:6px 10px; border:1px solid #9cafa4; border-radius:4px; background:#fff; color:var(--forest); font-size:12px; line-height:1.5; font-weight:500; }
body.atelier #today-focus .focus-actions button:hover { background:#edf3eb; border-color:var(--forest); }
body.atelier #today-focus .focus-actions button[data-open-today] { white-space:nowrap; }
body.atelier #today-focus .focus-row-action > .focus-actions button { border-color:transparent; padding-inline:0; background:transparent; }
body.atelier #today-focus .focus-row-action > .focus-actions button::after { content:" ›"; display:inline; margin-left:5px; font-size:16px; }
body.atelier #today-focus .focus-row-details { grid-column:1 / -1; margin:0; border:0; padding:0; }
body.atelier #today-focus .focus-row-details > summary { display:list-item; list-style:disclosure-closed; width:fit-content; padding:2px 0; min-height:24px; color:var(--muted); font-size:11px; font-weight:400; line-height:1.6; }
body.atelier #today-focus .focus-row-details[open] > summary { list-style:disclosure-open; }
body.atelier #today-focus .focus-row-details > summary:hover { color:var(--forest); }
body.atelier #today-focus .focus-metadata { padding:12px; margin-top:6px; border-radius:4px; background:#f5f7f3; }
body.atelier #today-focus .focus-metadata :is(p,small,summary,dt,dd) { font-size:13px; line-height:1.65; }
body.atelier #today-focus .focus-metadata .focus-next { color:var(--ink); }
body.atelier #today-focus .focus-metadata details { margin-top:8px; }
body.atelier #today-focus .focus-metadata dl { display:grid; grid-template-columns:95px minmax(0,1fr); gap:8px 12px; }
body.atelier #today-focus :is(.focus-row-review,.focus-row-receipt) { grid-template-columns:30px minmax(0,1fr) auto; gap:5px 10px; background:#fff; padding:14px 12px 8px; border:0; border-radius:4px; margin-bottom:9px; }
body.atelier #today-focus :is(.focus-row-review,.focus-row-receipt) .focus-file-glyph { grid-column:1; grid-row:1 / span 2; width:30px; height:30px; align-self:center; color:#e6e8e6; }
body.atelier #today-focus :is(.focus-row-review,.focus-row-receipt) .focus-row-main { grid-column:2; grid-row:1; }
body.atelier #today-focus :is(.focus-row-review,.focus-row-receipt) .focus-actions { grid-column:3; grid-row:1; }
body.atelier #today-focus :is(.focus-row-review,.focus-row-receipt) .focus-owner { grid-column:2; grid-row:2; font-size:11px; gap:5px; }
body.atelier #today-focus :is(.focus-row-review,.focus-row-receipt) .focus-owner .focus-avatar { width:20px; height:20px; flex-basis:20px; font-size:10px; }
body.atelier #today-focus :is(.focus-row-review,.focus-row-receipt) .focus-due { grid-column:3; grid-row:2; text-align:right; font-size:11px; }
body.atelier #today-focus :is(.focus-row-review,.focus-row-receipt) .focus-status { grid-column:2 / -1; font-size:11px; }
body.atelier #today-focus :is(.focus-row-review,.focus-row-receipt) .focus-row-details { margin-left:12px; }
body.atelier #today-focus .focus-disclosure { background:#fff; }
body.atelier #today-focus .focus-disclosure > summary { display:flex; align-items:center; gap:12px; padding:12px 18px; min-height:48px; list-style:none; color:var(--ink); }
body.atelier #today-focus .focus-disclosure > summary::-webkit-details-marker { display:none; }
body.atelier #today-focus .focus-disclosure > summary h2 { margin:0; font-size:16px; line-height:1.5; font-weight:550; }
body.atelier #today-focus .focus-disclosure > summary > span { color:var(--muted); font-size:12px; font-weight:400; }
body.atelier #today-focus .focus-disclosure > summary > .focus-chevron { margin-left:auto; font-size:22px; line-height:1; color:var(--forest); transform:rotate(0); }
body.atelier #today-focus .focus-disclosure[open] > summary > .focus-chevron { transform:rotate(90deg); }
body.atelier #today-focus .focus-disclosure[open] > summary { border-bottom:1px solid var(--line); }
body.atelier #today-focus .focus-note { color:var(--muted); font-size:13px; line-height:1.6; margin:10px 0; }
body.atelier #today-focus .focus-empty { padding:18px 2px 22px; margin:0; min-height:60px; font-size:13px; line-height:1.7; }
body.atelier #today-focus .focus-footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; border-top:0; margin:18px 0 0; padding:0; }
body.atelier #today-focus .focus-footer p { font-size:12px; color:var(--muted); margin:0; }
body.atelier #today-focus .focus-footer .focus-actions { justify-content:flex-start; }
body.atelier #today-focus .focus-footer button { display:flex; align-items:center; gap:8px; padding:6px 11px; }
body.atelier #today-focus .focus-context-disclosure { margin-top:15px; border-top:1px solid var(--line); padding-top:5px; }
body.atelier #today-focus .focus-context-disclosure > summary { color:var(--muted); font-size:12px; font-weight:400; padding:8px 0; }
body.atelier #today-focus .focus-context { font-size:12px; gap:8px; margin:12px 0; }
body.atelier #today-focus .focus-counts button { min-height:40px; font-size:12px; padding:10px 12px; }
body.atelier #today-focus .focus-counts strong { font-size:16px; font-weight:500; }
body.atelier #today-focus .focus-team h2 { font-size:18px; }
body.atelier #today-focus .focus-team h3 { font-size:14px; }
body.atelier #today-focus .focus-team p { font-size:12px; }

/* A resized module reflows its own content, independent of the viewport. */
body.atelier .atelier-module { container-type:inline-size; container-name:atelier-module; }
/* These grids can themselves be layout modules; auto-fit measures their own width. */
body.atelier :is(.atelier-module:is(.pipeline-style-grid,.trim-grid),.atelier-module :is(.pipeline-style-grid,.trim-grid)) { grid-template-columns:repeat(auto-fit,minmax(min(100%,max(180px,calc((100% - 54px)/4))),1fr)); gap:18px; }
body.atelier :is(.atelier-module.series-card-grid,.atelier-module .series-card-grid) { grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; }
body.atelier :is(.atelier-module.pipeline-order-grid,.atelier-module .pipeline-order-grid) { grid-template-columns:repeat(auto-fit,minmax(min(100%,max(160px,calc((100% - 54px)/4))),1fr)); gap:18px; }
body.atelier .atelier-module.trim-detail { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:24px; }
body.atelier #ability-content .ability-list.atelier-module { grid-template-columns:repeat(auto-fit,minmax(min(100%,max(220px,calc((100% - 36px)/3))),1fr)); gap:18px; }
body.atelier #employees .employee-metrics.atelier-module { grid-template-columns:repeat(auto-fit,minmax(min(100%,max(128px,calc(100%/5))),1fr)); }
body.atelier #employees .employee-grid.atelier-module { grid-template-columns:repeat(auto-fit,minmax(min(100%,max(220px,calc((100% - 36px)/2))),1fr)); gap:0 36px; }
@container atelier-module (max-width:560px) {
  body.atelier .atelier-module :is(.single-field-grid,.single-bulk-row-four,.trim-form-pair,.trim-production-pickers,.sb-fields,.sb-step-values,.intel-form-columns,.iq-form-grid,.pipeline-doc-checks),body.atelier .atelier-module form .two { grid-template-columns:repeat(auto-fit,minmax(min(100%,max(160px,calc((100% - 12px)/2))),1fr)); gap:12px; }
  body.atelier .atelier-module :is(.single-field-grid,.single-bulk-row-four,.trim-form-pair,.trim-production-pickers,.sb-fields,.sb-step-values,.intel-form-columns,.iq-form-grid,.pipeline-doc-checks) > * { min-width:0; }
  body.atelier .atelier-module :is(.pipeline-media-grid,.single-production-media,.production-media-grid) { grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr)); gap:12px; }
  body.atelier .atelier-module :is(.pipeline-brief,.pipeline-two.planning,.trim-picture-selected) { grid-template-columns:minmax(0,1fr); gap:16px; }
  body.atelier :is(.atelier-module.pipeline-order-grid,.atelier-module .pipeline-order-grid) label { grid-template-rows:auto minmax(42px,auto); min-width:0; }
  body.atelier .atelier-module .pipeline-toolbar label { min-width:0; flex:1 1 160px; }
  body.atelier .atelier-module .sb-step-values > strong { grid-column:1 / -1; }
  body.atelier .atelier-module :is(.order-scroll,.table-scroll,.stage-table-scroll,.production-table-scroll,.trim-table-wrap) { min-width:0; max-width:100%; overflow:auto; }
  body.atelier #today-focus :is(.focus-due,.focus-owner,.focus-actions,.focus-status) { min-width:0; overflow-wrap:anywhere; }
  body.atelier #today-focus .focus-section-header { flex-wrap:wrap; }
  body.atelier #today-focus .focus-metadata dl { grid-template-columns:minmax(0,1fr); gap:4px; }
  body.atelier #today-focus .focus-metadata dd { margin:0 0 8px; overflow-wrap:anywhere; }
}
@container atelier-module (max-width:439px) {
  body.atelier #employees .employee-metrics.atelier-module { grid-template-columns:1fr; }
  body.atelier #employees .employee-metrics.atelier-module article { border-left:0; padding:16px 0; }
  body.atelier #employees .employee-metrics.atelier-module article + article { border-top:1px solid var(--line); }
  body.atelier #employees .employee-card-header { flex-wrap:wrap; gap:10px; }
}
@container (max-width:570px) {
  body.atelier #today-focus .focus-row:not(.focus-row-review,.focus-row-receipt) { grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; }
  body.atelier #today-focus .focus-row:not(.focus-row-review,.focus-row-receipt) .focus-row-main { grid-column:1 / -1; }
  body.atelier #today-focus .focus-row:not(.focus-row-review,.focus-row-receipt) .focus-owner { grid-column:1; grid-row:auto; }
  body.atelier #today-focus .focus-row:not(.focus-row-review,.focus-row-receipt) .focus-due { grid-column:2; grid-row:auto; text-align:right; }
  body.atelier #today-focus .focus-row:not(.focus-row-review,.focus-row-receipt) > .focus-status { grid-column:1; }
  body.atelier #today-focus .focus-row:not(.focus-row-review,.focus-row-receipt) > .focus-actions { grid-column:2; grid-row:auto; }
  body.atelier #today-focus .focus-plan-row { grid-template-columns:48px minmax(0,1fr) auto; gap:5px 10px; }
  body.atelier #today-focus .focus-plan-row time { grid-column:1; grid-row:1; }
  body.atelier #today-focus .focus-plan-row .focus-task-link { grid-column:2 / -1; grid-row:1; }
  body.atelier #today-focus .focus-plan-row .focus-plan-owner { grid-column:2; grid-row:2; }
  body.atelier #today-focus .focus-plan-row .focus-status { grid-column:3; grid-row:2; }
}
@container (max-width:290px) {
  body.atelier #today-focus :is(.focus-row-review,.focus-row-receipt) { grid-template-columns:30px minmax(0,1fr); }
  body.atelier #today-focus :is(.focus-row-review,.focus-row-receipt) .focus-row-main { grid-column:2; grid-row:1; }
  body.atelier #today-focus :is(.focus-row-review,.focus-row-receipt) .focus-owner { grid-column:2; grid-row:2; }
  body.atelier #today-focus :is(.focus-row-review,.focus-row-receipt) .focus-due { grid-column:1 / -1; grid-row:auto; text-align:left; display:flex; gap:6px; }
  body.atelier #today-focus :is(.focus-row-review,.focus-row-receipt) .focus-status { grid-column:2; }
  body.atelier #today-focus :is(.focus-row-review,.focus-row-receipt) .focus-actions { grid-column:2; grid-row:auto; }
}
@media(min-width:1600px) {
  body.atelier { --atelier-sidebar-width:248px; }
  body.atelier #workspace > .atelier-main { padding-inline:36px; }
}
@media(max-width:1099px) {
  body.atelier { --atelier-sidebar-width:196px; }
  body.atelier .atelier-sidebar { padding-inline:14px; }
  body.atelier #workspace > .atelier-main { padding:24px 20px 32px; }
  body.atelier .topbar { padding-inline:22px; gap:18px; }
  body.atelier .topbar .brand-center { flex-basis:300px; }
  body.atelier .atelier-header-right { gap:10px 14px; }
  body.atelier .team-profile-strip { gap:10px; }
  body.atelier #employees .directory-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.atelier #today-focus .focus-section-action { grid-column:span var(--layout-span,12); grid-row:auto; }
  body.atelier #today-focus :is(.focus-section-review,.focus-section-receipt) { grid-column:span var(--layout-span,6); }
  body.atelier .atelier-date { font-size:11px; }
  body.atelier .team-profile-person strong { font-size:12px; }
  body.atelier .team-profile-avatar,body.atelier button.team-profile-open { width:30px; height:30px; min-width:30px; min-height:30px; }
}
@media(max-width:719px) {
  body.atelier { --atelier-sidebar-width:100%; }
  body.atelier:has(#login:not([hidden])) > main.shell { margin:0; }
  body.atelier #login .login-masthead { height:102px; min-height:102px; padding:12px 18px; grid-template-columns:minmax(0,1fr) auto; gap:14px; }
  body.atelier #login .login-wordmark { grid-column:1; width:190px; max-width:100%; margin:0; }
  body.atelier #login .login-wordmark img { max-width:190px; }
  body.atelier #login .login-wordmark p { font-size:8px; white-space:normal; }
  body.atelier #login .masthead-side:not(.masthead-right) { display:none; }
  body.atelier #login .masthead-right { display:block; grid-column:2; padding:0; font-size:11px; }
  body.atelier #login .masthead-right span { display:none; }
  body.atelier #login .login-body { width:calc(100% - 16px); min-height:0; margin:0 8px 12px; grid-template-columns:minmax(0,1fr); }
  body.atelier #login .login-welcome { padding:28px 24px 22px; border-right:0; border-bottom:1px solid var(--line); }
  body.atelier #login h1 { margin-bottom:12px; font-size:28px; }
  body.atelier #login .login-entry { width:100%; padding:28px 24px; }
  body.atelier #login .login-entry h2 { font-size:20px; }
  body.atelier #login :is(input,select),body.atelier #login form button { height:44px; min-height:44px; }
  body.atelier #login .atelier-preview-login { padding-inline:16px; font-size:10px; }
  body.atelier .topbar { display:grid; grid-template-columns:minmax(0,1fr) auto; min-height:0; padding:12px 16px; gap:8px 10px; }
  body.atelier .topbar .brand-center { grid-column:1; grid-row:1; width:210px; max-width:100%; }
  body.atelier .topbar .brand-logo { width:100%; max-width:210px; }
  body.atelier .atelier-header-right { display:contents; }
  body.atelier .atelier-date { top:7px; right:12px; max-width:120px; padding:0; color:#e4ece5; font-size:10px; line-height:1.4; white-space:nowrap; text-align:right; }
  body.atelier .team-profile-strip { grid-column:1; grid-row:2; flex-wrap:wrap; gap:6px; }
  body.atelier .team-profile-person { gap:4px; }
  body.atelier .team-profile-person strong { font-size:11px; }
  body.atelier .team-profile-person small { font-size:10px; line-height:1.4; max-width:7em; }
  body.atelier .team-profile-avatar,body.atelier button.team-profile-open { width:26px; height:26px; min-width:26px; min-height:26px; font-size:13px; }
  body.atelier .topbar .topbar-tools { grid-column:2; grid-row:2; justify-content:flex-end; }
  body.atelier .topbar .personal-menu #my-menu-trigger { min-height:44px; padding:8px 10px; font-size:12px; }
  body.atelier > main.shell,body.atelier[data-unified] > main.shell { margin:0 8px 12px; }
  body.atelier #workspace { display:block; overflow:visible; }
  body.atelier .atelier-sidebar { border-right:0; border-bottom:1px solid var(--line); padding:10px 12px; border-radius:8px 8px 0 0; }
  body.atelier .atelier-sidebar :is(.tabs,.atelier-primary-nav) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; padding:0; border-bottom:0; }
  body.atelier .atelier-sidebar :is(.tabs > .tab,.atelier-primary-nav button) { width:100%; min-height:44px; padding:8px 7px; font-size:14px; text-align:center; }
  body.atelier .atelier-sidebar .atelier-nav-toggle { display:flex; width:100%; min-height:44px; justify-content:center; align-items:center; margin:4px 0 0; padding:8px 10px; border:1px solid var(--line); border-radius:4px; background:transparent; color:var(--forest); font-size:13px; font-weight:500; }
  body.atelier .atelier-sidebar :is(.workflow-rail,.atelier-stage-nav) { padding:12px 0; }
  body.atelier .atelier-sidebar :is(.workflow-stage-list,.atelier-stage-list) { grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
  body.atelier .atelier-sidebar .map-node-stage { gap:6px; font-size:12px; padding:6px 2px; min-height:44px; }
  body.atelier .atelier-sidebar .map-node-stage strong { font-size:12px; }
  body.atelier .atelier-sidebar .atelier-icon { width:20px; height:20px; flex-basis:20px; }
  body.atelier .atelier-sidebar :is(.atelier-resources,.atelier-resource-nav) { display:flex; flex-wrap:wrap; gap:10px; padding-top:10px; }
  body.atelier .atelier-sidebar :is(.atelier-resources,.atelier-resource-nav) > .nav-menu { width:auto; flex:1 1 90px; }
  body.atelier .atelier-sidebar .atelier-resource-nav > .atelier-nav-label { flex-basis:100%; margin-bottom:0; }
  body.atelier .atelier-sidebar .menu-trigger { min-height:44px; font-size:12px; gap:6px; }
  body.atelier .atelier-sidebar > :is(.atelier-stage-nav,.atelier-resource-nav,.atelier-connection),body.atelier .atelier-sidebar > #connection-status { display:none; }
  body.atelier.atelier-nav-expanded .atelier-sidebar > .atelier-stage-nav { display:block; }
  body.atelier.atelier-nav-expanded .atelier-sidebar > .atelier-resource-nav { display:flex; }
  body.atelier.atelier-nav-expanded .atelier-sidebar > :is(.atelier-connection,#connection-status) { display:block; margin-top:12px; }
  body.atelier .atelier-sidebar .menu-panel { left:0; right:auto; top:100%; min-width:200px; max-width:calc(100vw - 40px); }
  body.atelier .atelier-sidebar .nav-menu:last-child .menu-panel { right:0; left:auto; }
  body.atelier #workspace > .atelier-main { padding:22px 16px 28px; border-radius:0 0 8px 8px; }
  body.atelier :is(.page-heading,.stage-heading,.heading,.overview-heading) :is(h1,h2),body.atelier[data-unified] :is(#work .heading,#account) h1 { font-size:28px; }
  body.atelier :is(.hub-overview,#member-work) :is(.overview-heading,.overview-hero) :is(h1,h2) { font-size:28px; }
  body.atelier .schedule-basics .sb-heading h2 { font-size:28px; }
  body.atelier .intelligence-dashboard .intel-heading h2 { font-size:28px; }
  body.atelier .intelligence-dashboard .intel-heading { flex-wrap:wrap; gap:14px; }
  body.atelier :is(.intel-panel,.launch-calendar) { padding:16px; }
  body.atelier .pipeline-live .pipeline-heading { grid-template-columns:minmax(0,1fr); gap:12px; }
  body.atelier .pipeline-live .pipeline-heading h1 { font-size:28px; }
  body.atelier .pipeline-live .atelier-stage-heading h1 { font-size:28px; }
  body.atelier #workspace .stage-workbench > .stage-heading h2 { font-size:28px; }
  body.atelier #workspace .knowledge-library > header h2,body.atelier #workspace #ability-content .page-heading h2,body.atelier #workspace .customer-hub-header h2 { font-size:28px; }
  body.atelier #workspace .customer-hub-header > div:first-child { flex:0 1 auto; width:100%; }
  body.atelier #workspace .customer-hub-tools { width:100%; justify-content:flex-start; }
  body.atelier #workspace .trim-library > .trim-heading h2,body.atelier #account > h1,body.atelier #employees > .page-heading h1 { font-size:28px; }
  body.atelier #workspace .wechat-distribution-hero h1 { font-size:28px; }
  body.atelier #workspace :is(.operating-detail-header,.knowledge-detail-header) h2 { font-size:28px; }
  body.atelier #workspace :is(.operating-detail-header,.knowledge-detail-header) { flex-direction:row; gap:14px; }
  body.atelier #workspace :is(.wechat-package-card,.wechat-prerequisites) { padding:16px; }
  body.atelier #workspace .wechat-package-card { grid-template-columns:minmax(0,1fr); }
  body.atelier #employees .employee-grid { grid-template-columns:minmax(0,1fr); }
  body.atelier #employees .directory-toolbar { grid-template-columns:minmax(0,1fr); }
  body.atelier #workspace .ability-row { padding:16px; }
  body.atelier .pipeline-live .pipeline-heading > :is(.atelier-toolbar,.catalog-actions) { grid-column:1; grid-row:2; justify-content:flex-start; }
  body.atelier .pipeline-live .pipeline-heading > :is(span,.atelier-heading-meta) { grid-column:1; grid-row:3; }
  body.atelier .pipeline-live .pipeline-panel { padding:16px; }
  body.atelier .pipeline-live .stage-development { padding:16px; }
  body.atelier :is(.knowledge-library,.mkt-admin .mkt-data) { padding:16px; }
  body.atelier .hub-overview .overview-panel { padding:16px; }
  body.atelier :is(.page-heading,.stage-heading,.heading) { flex-wrap:wrap; gap:14px; }
  body.atelier .today-view-switch,body.atelier .today-switch-host .today-view-switch { gap:15px; flex-basis:100%; }
  body.atelier .today-view-switch button { font-size:14px; }
  body.atelier .atelier-toolbar { margin-left:auto; }
  body.atelier #workspace .atelier-toolbar button { min-height:44px; padding:10px 12px; font-size:13px; }
  body.atelier #workspace .atelier-page-header > .atelier-toolbar > button { height:44px; min-height:44px; padding:10px 12px; font-size:13px; line-height:22px; }
  body.atelier :is(#today > .today-heading,#tasks > .page-heading,#work > .heading) { grid-template-columns:minmax(0,1fr); gap:12px; }
  body.atelier :is(#today > .today-heading,#tasks > .page-heading,#work > .heading) > .atelier-toolbar { grid-column:1; grid-row:2; justify-content:flex-start; margin:0; }
  body.atelier :is(#today > .today-heading,#tasks > .page-heading,#work > .heading) .today-view-switch { grid-column:1; grid-row:3; gap:17px; }
  body.atelier #today-focus .focus-layout-grid { gap:12px; }
  body.atelier #today-focus .focus-section,body.atelier #today-focus :is(.focus-section-action,.focus-section-review,.focus-section-receipt) { grid-column:1 / -1; grid-row:auto; }
  body.atelier #today-focus .focus-section-header { padding:13px 14px; }
  body.atelier #today-focus .focus-section-header h2 { font-size:18px; }
  body.atelier #today-focus .focus-section-content { padding-inline:12px; }
  body.atelier #today-focus .focus-row { grid-template-columns:minmax(0,1fr) auto; }
  body.atelier #today-focus .focus-disclosure > summary { padding:12px 14px; gap:9px; }
  body.atelier #today-focus .focus-disclosure > summary h2 { font-size:15px; }
  body.atelier #today-focus .focus-metadata dl { grid-template-columns:76px minmax(0,1fr); }
  body.atelier #today-focus .focus-footer { align-items:flex-start; }
  body.atelier #today-focus .focus-footer .focus-actions { width:100%; }
  body.atelier #today-focus .focus-footer .focus-actions button { flex:1 1 auto; }
  body.atelier .atelier-main .stage-form-pair { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
  body.atelier *,body.atelier *::before,body.atelier *::after { scroll-behavior:auto; animation-duration:.01ms; transition-duration:.01ms; }
}

/* Consistent inset for single-select arrows, including embedded workspaces. */
body.atelier select:not([multiple]):is(:not([size]),[size="1"]) {
  appearance:none; -webkit-appearance:none;
  padding-right:36px !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 5.5 5 5 5-5' fill='none' stroke='%23475e53' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 12px center !important;
  background-size:16px 16px !important;
}
body.atelier select:not([multiple]):is(:not([size]),[size="1"]):focus-visible {
  outline:none;
  outline-offset:0;
  border-color:var(--forest) !important;
  box-shadow:none !important;
}
@media(forced-colors:active) {
  body.atelier select:not([multiple]):is(:not([size]),[size="1"]) { appearance:auto; -webkit-appearance:auto; background-image:none !important; }
  body.atelier select:not([multiple]):is(:not([size]),[size="1"]):focus-visible { outline:2px solid CanvasText; outline-offset:2px; }
}
