.planning-workspace { min-width:0; margin-block:20px; font-size:14px; }
.unified-projects { min-width:0; }
.unified-projects .queue-list-layout .queue-entry { flex-basis:auto; overflow:visible; }
.unified-projects .queue-list-layout .queue-select { grid-template-rows:auto; }
.unified-projects .queue-list-layout .queue-select .project-meter { grid-column:3; grid-row:1; }
.unified-projects .queue-list-layout .queue-select .project-item-icon,.unified-projects .queue-list-layout .queue-select .project-item-placeholder { width:32px; height:32px; grid-row:1; }
.unified-projects .queue-list-layout .queue-item-name { width:100%; }
.unified-projects .queue-list-layout .queue-active { position:static; }
.unified-projects .queue-list-layout .queue-combined { flex-direction:row; min-height:44px; }
.unified-projects .queue-list-layout .queue-add { width:auto; }
.unified-projects .queue-list-layout .queue-toolbar { display:flex; }
.unified-projects .queue-list-layout .queue-entry-controls { padding:0; }
.unified-projects .queue-list-layout .queue-action-menu button { width:auto; height:auto; }
.unified-projects .project-queue-header::after { content:""; width:7px; height:7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); margin-inline:8px; }
.unified-projects .project-queue[open]>.project-queue-header::after { transform:rotate(225deg); }
.unified-projects .queue-list-layout { margin-block:16px; border:1px solid var(--line); border-radius:12px; background:var(--panel); padding:0; }
.unified-projects .project-queue-header { cursor:pointer; padding:12px 16px; min-height:48px; }
.unified-projects .project-queue-header>div { display:grid; gap:4px; }
.unified-projects .queue-toolbar { padding:0 12px 8px; display:flex; justify-content:flex-end; }
.unified-projects .project-queue-body { display:block; padding:0 12px 12px; }
.unified-projects .queue-combined { width:100%; min-height:44px; display:flex; align-items:center; justify-content:space-between; padding:8px 12px; margin-bottom:6px; }
.unified-projects .project-queue-list { display:flex; flex-direction:column; gap:0; overflow:visible; margin:0; padding:0; width:100%; }
.unified-projects .queue-entry { display:flex; flex:0 0 auto; align-items:center; width:100%; min-width:0; border:0; border-top:1px solid var(--line); border-radius:0; padding:6px 10px; gap:16px; }
.unified-projects .queue-entry.selected { background:var(--active); }
.unified-projects .queue-select { flex:1; min-width:0; display:grid; grid-template-columns:32px minmax(100px,1fr) minmax(100px,180px); gap:10px; align-items:center; padding:4px 0; min-height:44px; }
.unified-projects .queue-select .project-icon { width:32px; height:32px; }
.unified-projects .queue-item-name { white-space:normal; overflow-wrap:anywhere; text-align:left; }
.unified-projects .queue-select .project-meter { grid-column:auto; width:100%; }
.unified-projects .queue-entry-controls { display:flex; flex:0 0 auto; align-items:center; gap:16px; padding:0; margin:0; }
.unified-projects .project-quantity-control { display:flex; align-items:center; gap:6px; }
.unified-projects .project-quantity-control select { min-width:56px; min-height:44px; }
.unified-projects .queue-active { min-height:44px; display:flex; align-items:center; gap:6px; }
.unified-projects .queue-actions { position:relative; }
.unified-projects .queue-actions>summary { display:grid; place-items:center; width:44px; height:44px; cursor:pointer; list-style:none; }
.unified-projects .queue-actions>summary::-webkit-details-marker { display:none; }
.unified-projects .queue-action-menu { position:absolute; z-index:5; right:0; top:100%; width:200px; padding:8px; background:var(--panel); border:1px solid var(--line); border-radius:8px; }
.unified-projects .queue-action-menu button { min-height:44px; }
.unified-projects .queue-order { display:flex; justify-content:space-between; }
.unified-projects .queue-order svg { transform:rotate(90deg); }
.unified-scope { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-block:8px; }
.unified-scope h2 { margin:0; font-size:20px; }
.unified-scope .project-meter { width:180px; flex-shrink:0; }
.unified-projects .pw-tablist { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); overflow:visible; }
.unified-projects .pw-tablist button { min-width:0; flex-direction:column; align-items:flex-start; gap:4px; padding:10px 12px; text-align:left; overflow-wrap:anywhere; }
.unified-projects .pw-tablist button>span { font-weight:600; }
.unified-projects .pw-tablist small { line-height:1.4; }
.unified-projects .project-action-label { display:none; }
.unified-projects .project-next-action { margin-top:0; }
.unified-project-requirements { display:flex; width:100%; justify-content:space-between; gap:12px; margin-bottom:6px; min-height:48px; text-align:left; }
.unified-projects .pw-panel>.resource-readiness,.unified-projects .pw-panel>.project-crafting { margin-block:12px; }
@media(max-width:700px) {
  .unified-projects .project-queue-header { padding:10px 12px; }
  .unified-projects .project-queue-header>div>span { display:none; }
  .unified-projects .project-queue-body { padding:0 8px 8px; }
  .unified-projects .queue-entry { flex-wrap:wrap; gap:0 8px; padding:8px; }
  .unified-projects .queue-select { flex-basis:100%; grid-template-columns:28px minmax(0,1fr) 88px; }
  .unified-projects .queue-select .project-icon { width:28px; height:28px; }
  .unified-projects .queue-entry-controls { width:100%; justify-content:flex-end; gap:12px; }
  .unified-projects .queue-active { margin-right:auto; }
  .unified-projects .queue-combined { flex-wrap:wrap; gap:4px; }
  .unified-projects .pw-tablist { grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; }
  .unified-projects .pw-tablist button { padding:8px; min-height:62px; font-size:14px; }
  .unified-scope { flex-wrap:wrap; }
  .unified-scope .project-meter { width:100%; }
  .unified-projects .pw-requirements { grid-template-columns:minmax(0,1fr); }
  .unified-projects .pw-tile summary { flex-wrap:wrap; gap:6px; padding:8px; }
  .unified-projects .pw-tile summary>.pw-name { flex-basis:calc(100% - 48px); }
  .unified-projects .pw-tile summary>.pw-count { margin-left:30px; margin-right:auto; }
}
.planning-workspace [hidden] { display:none!important; }
.pw-tablist { display:flex; gap:4px; padding:4px; border:1px solid var(--line); border-radius:9px; background:var(--panel); overflow-x:auto; }
.pw-tablist button { flex:1 0 auto; display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:8px 14px; border:0; border-radius:6px; background:transparent; color:var(--muted); font:inherit; cursor:pointer; }
.pw-tablist button:not([aria-selected=true]):hover { background:var(--hover); color:var(--text); }
.pw-tablist button[aria-selected=true] { background:var(--active); color:var(--text); }
.pw-tablist small { font-size:12px; font-variant-numeric:tabular-nums; }
.pw-cost-strip { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; padding:14px 0; color:var(--muted); font-size:12px; border-bottom:1px solid var(--line); }
.pw-panel { padding-block:16px; }
.pw-panel h2 { font-size:18px; margin:20px 0 12px; }
.pw-panel h2:first-child { margin-top:0; }
.pw-panel h3 { margin:24px 0 10px; font-size:16px; }
.pw-panel p { color:var(--muted); font-size:14px; }
.pw-requirements { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.pw-tile { border:1px solid var(--line); border-radius:8px; background:var(--panel); min-width:0; }
.pw-tile summary { display:flex; align-items:center; gap:10px; min-height:52px; padding:8px 12px; cursor:pointer; list-style:none; }
.pw-tile summary::-webkit-details-marker,.pw-shopping summary::-webkit-details-marker { display:none; }
.pw-tile summary>.pw-name { flex:1; }
.pw-name { min-width:0; }
.planning-workspace .pw-name .material-link { color:inherit; font-size:14px; font-weight:500; }
.pw-name .external-icon { display:none; }
.pw-name .material-link-label { overflow-wrap:anywhere; }
.pw-count { font-size:12px; font-variant-numeric:tabular-nums; white-space:nowrap; color:var(--muted); }
.pw-count .coin-value { font-size:12px; }
.pw-status { display:inline-flex; flex:0 0 20px; width:20px; height:20px; color:var(--muted); }
.pw-status svg { width:20px; height:20px; }
.pw-status-ready { color:var(--success); }
.pw-status-pending { color:var(--warning); }
.pw-plus { width:22px; height:22px; flex:0 0 22px; border:1px solid var(--line); border-radius:5px; position:relative; }
.pw-plus::before,.pw-plus::after { content:''; position:absolute; top:9px; left:5px; width:10px; height:1px; background:var(--muted); }
.pw-plus::after { transform:rotate(90deg); }
details[open]>summary>.pw-plus::after { transform:none; }
.pw-details { padding:4px 12px 12px; font-size:12px; border-top:1px solid var(--line); }
.pw-details p { font-size:12px; }
.pw-details ul { list-style:none; margin:8px 0; padding:0; }
.pw-details li { display:flex; align-items:center; gap:8px; min-height:34px; }
.planning-workspace .material-item-icon { width:24px; height:24px; flex:0 0 24px; object-fit:contain; border-radius:3px; }
.planning-workspace .is-ready>summary,.planning-workspace .is-ready>.pw-node-line { color:var(--muted); }
.planning-workspace .is-ready>summary .material-item-icon,.planning-workspace .is-ready>summary .craft-discipline-badge img,.planning-workspace .is-ready>.pw-node-line>.material-item-icon,.planning-workspace .pw-shopping-row.is-ready .material-item-icon { filter:grayscale(1); opacity:.65; }
.planning-workspace .is-ready .pw-name { color:var(--muted); }
.pw-source { display:inline-flex; align-items:center; gap:5px; font-size:12px; color:var(--ice); text-decoration:none; }
.pw-source:hover { text-decoration:underline; }
.pw-route-icon { width:18px; height:18px; object-fit:contain; flex-shrink:0; }
.pw-tree-actions,.pw-shopping-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.pw-shopping-filters [aria-pressed=true] { color:var(--text); background:var(--active); }
.pw-tree-scroll { overflow:auto; max-width:100%; padding:8px 4px 20px; border:1px solid var(--line); border-radius:9px; background:var(--panel); scrollbar-color:var(--line) var(--panel); }
.pw-tree-project { padding:8px 12px 16px; }
.pw-tree-project h2 { font-size:16px; }
.pw-tree-project h2 small { font-size:12px; color:var(--muted); }
.pw-progress { display:flex; align-items:center; gap:10px; font-size:12px; color:var(--muted); margin-bottom:12px; }
.pw-progress progress { appearance:none; width:250px; max-width:60%; height:6px; border:1px solid var(--line); border-radius:4px; overflow:hidden; background:var(--panel2); }
.pw-progress progress::-webkit-progress-bar { background:var(--panel2); }
.pw-progress progress::-webkit-progress-value { background:var(--gold); }
.pw-progress progress::-moz-progress-bar { background:var(--gold); }
.pw-tree { --pw-row:34px; --pw-half:17px; --pw-step:38px; --pw-control:20px; --pw-icon-offset:34px; --pw-line-width:2px; --pw-curve:6px; --pw-branch:color-mix(in srgb,var(--gold) 50%,var(--line)); }
.pw-tree,.pw-tree ul { list-style:none; padding:0; margin:0; }
.pw-tree ul { padding-left:var(--pw-step); }
.pw-node { position:relative; padding:0; }
.pw-tree>.pw-node:nth-child(6n+1) { --pw-branch-base:var(--gold); }
.pw-tree>.pw-node:nth-child(6n+2) { --pw-branch-base:var(--ice); }
.pw-tree>.pw-node:nth-child(6n+3) { --pw-branch-base:var(--success); }
.pw-tree>.pw-node:nth-child(6n+4) { --pw-branch-base:color-mix(in oklch,var(--red) 58%,var(--ice)); }
.pw-tree>.pw-node:nth-child(6n+5) { --pw-branch-base:color-mix(in oklch,var(--gold) 68%,var(--red)); }
.pw-tree>.pw-node:nth-child(6n) { --pw-branch-base:color-mix(in oklch,var(--ice) 62%,var(--success)); }
.pw-tree>.pw-node { --pw-branch:color-mix(in srgb,var(--pw-branch-base) 76%,var(--line)); }
.pw-tree>.pw-node>ul>.pw-node { --pw-branch:color-mix(in srgb,var(--pw-branch-base) 88%,var(--line)); }
.pw-tree>.pw-node>ul>.pw-node>ul>.pw-node { --pw-branch:var(--pw-branch-base); }
.pw-tree>.pw-node>ul>.pw-node>ul>.pw-node>ul>.pw-node { --pw-branch:color-mix(in srgb,var(--pw-branch-base) 82%,var(--text)); }
.pw-tree>.pw-node>ul>.pw-node>ul>.pw-node>ul>.pw-node>ul>.pw-node { --pw-branch:color-mix(in srgb,var(--pw-branch-base) 90%,var(--line)); }
.pw-tree>.pw-node>ul>.pw-node>ul>.pw-node>ul>.pw-node>ul>.pw-node>ul>.pw-node { --pw-branch:var(--pw-branch-base); }
.pw-node::before { content:''; position:absolute; left:calc(var(--pw-control)/2 - var(--pw-step)); top:calc(-1 * var(--pw-half)); width:calc(var(--pw-step) - var(--pw-control)/2 + var(--pw-icon-offset) - 4px); height:var(--pw-row); box-sizing:border-box; border-inline-start:var(--pw-line-width) solid var(--pw-branch); border-bottom:var(--pw-line-width) solid var(--pw-branch); }
.pw-node:last-child::before { border-bottom-left-radius:var(--pw-curve); }
.pw-node::after { content:''; position:absolute; left:calc(var(--pw-control)/2 - var(--pw-step)); top:var(--pw-half); bottom:var(--pw-half); width:var(--pw-line-width); background:var(--pw-branch); }
.pw-node:last-child::after,.pw-tree>.pw-node::before,.pw-tree>.pw-node::after { content:none; }
.pw-tree>.pw-node:not(:last-child)::after { content:''; left:calc(var(--pw-control)/2); bottom:calc(-1 * var(--pw-half)); }
.pw-tree>.pw-node>.pw-node-line::before { content:''; position:absolute; left:calc(var(--pw-control)/2); top:calc(var(--pw-half) - var(--pw-line-width)/2); width:calc(var(--pw-icon-offset) - var(--pw-control)/2 - 4px); height:var(--pw-line-width); background:var(--pw-branch); }
.pw-node-line { position:relative; z-index:1; display:flex; align-items:center; gap:7px; min-height:var(--pw-row); height:var(--pw-row); min-width:max-content; padding-left:var(--pw-icon-offset); }
.pw-node-line>.pw-name { white-space:nowrap; }
.pw-node-line>.pw-status { width:16px; height:16px; flex-basis:16px; }
.pw-node-line>.pw-status svg { width:16px; height:16px; }
.pw-toggle { position:absolute; z-index:2; left:0; top:calc(var(--pw-half) - var(--pw-control)/2); padding:0; width:var(--pw-control); height:var(--pw-control); border:1px solid var(--pw-branch); background:var(--panel); border-radius:50%; color:var(--muted); cursor:pointer; }
.pw-toggle svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.25; stroke-linejoin:round; stroke-linecap:round; }
.pw-toggle[aria-expanded=true] svg { transform:rotate(90deg); }
.pw-routes { display:inline-flex; align-items:center; gap:4px; margin-left:4px; }
.pw-routes button { display:inline-flex; align-items:center; gap:5px; min-height:26px; padding:2px 6px; font:inherit; font-size:12px; color:var(--muted); background:var(--panel); border:1px solid var(--line); border-radius:5px; cursor:pointer; }
.pw-routes button[aria-pressed=true] { border-color:var(--success); background:color-mix(in srgb,var(--success) 8%,var(--panel)); color:var(--text); }
.pw-savings { display:inline-flex; align-items:center; gap:5px; color:var(--success); font-size:12px; }
.pw-route-details { margin-left:var(--pw-icon-offset); font-size:12px; color:var(--muted); }
.pw-route-details summary { cursor:pointer; min-height:24px; }
.pw-route-details p { font-size:12px; }
.pw-shopping-row { display:flex; align-items:flex-start; border-bottom:1px solid var(--line); background:var(--panel); }
.pw-shopping-row details { flex:1; min-width:0; }
.pw-shopping-row summary { display:flex; align-items:center; gap:8px; min-height:54px; padding:8px 12px; cursor:pointer; list-style:none; }
.pw-shopping-row .pw-name { flex:1; }
.pw-shopping-row>.material-copy-name { margin:9px 8px 0 0; flex-shrink:0; }
.pw-row-price { margin-left:auto; white-space:nowrap; font-size:12px; }
.pw-step-group .pw-tile { margin-bottom:8px; }
.pw-requirement-group { margin-bottom:24px; }
.pw-requirement-group .pw-requirements { align-items:start; }
.pw-requirement-group .pw-tile summary { min-height:54px; display:grid; grid-template-columns:24px minmax(0,1fr) auto 20px 28px; gap:10px; }
.pw-requirement-group .pw-tile summary>.pw-count { font-weight:600; color:var(--text); margin:0; }
.pw-requirement-group .pw-plus { width:28px; height:28px; border-radius:6px; }
.pw-requirement-group .pw-plus::before,.pw-requirement-group .pw-plus::after { top:12px; left:8px; }
.pw-requirement-group .is-ready summary>.pw-count { color:var(--muted); font-weight:400; }
.pw-requirement-group .pw-name { color:var(--text); }
.pw-requirement-group .is-ready .pw-name { color:var(--muted); }
@media(max-width:700px) {
  .unified-projects .pw-requirement-group .pw-tile summary { grid-template-columns:22px minmax(0,1fr) 20px 28px; gap:6px; }
  .unified-projects .pw-requirement-group .pw-name { grid-column:2; grid-row:1; }
  .unified-projects .pw-requirement-group .pw-count { grid-column:2; grid-row:2; margin:0; white-space:normal; }
  .unified-projects .pw-requirement-group .pw-status { grid-column:3; grid-row:1 / 3; }
  .unified-projects .pw-requirement-group .pw-plus { grid-column:4; grid-row:1 / 3; }
  .unified-projects .pw-requirement-group summary>.material-item-icon { grid-row:1 / 3; }
}
.planning-workspace :is(button,summary,a,[tabindex]):focus-visible { outline:2px solid var(--ice); outline-offset:3px; }
.planning-workspace .coin-value { gap:5px; font-size:12px; }
.planning-workspace .coin-token { background:transparent center/contain no-repeat; border:0; box-shadow:none; border-radius:0; width:14px; height:14px; transform:none; }
.planning-workspace .coin-denomination.gold .coin-token { background-image:url('/assets/planning/gold.png'); }
.planning-workspace .coin-denomination.silver .coin-token { background-image:url('/assets/planning/silver.png'); }
.planning-workspace .coin-denomination.copper .coin-token { background-image:url('/assets/planning/copper.png'); }
@media(max-width:700px) {
  .pw-requirements { grid-template-columns:1fr; }
  .pw-tablist { scroll-snap-type:x proximity; }
  .pw-tablist button { scroll-snap-align:start; }
  .pw-tree { --pw-row:44px; --pw-half:22px; }
  .pw-toggle::after { content:''; position:absolute; inset:-12px; }
  .pw-routes button { min-height:44px; }
  .pw-shopping-row summary { gap:6px; padding-inline:8px; flex-wrap:wrap; }
  .pw-shopping-row .pw-name { flex-basis:calc(100% - 85px); }
  .pw-row-price { margin-left:30px; }
  .pw-tile summary { gap:7px; padding-inline:8px; flex-wrap:wrap; }
  .pw-tile .pw-count { white-space:normal; }
  .pw-cost-strip { gap:8px; }
}

/* Compact planner approved in the Sites preview. */
.unified-projects .compact-project-queue .project-queue-header { padding:8px 14px; min-height:44px; }
.unified-projects .compact-project-queue .project-queue-header small { margin-left:auto; font-size:12px; }
.unified-projects .compact-project-queue .queue-toolbar { padding:4px 14px 10px; align-items:center; gap:10px; }
.queue-search { display:flex; flex:1; align-items:center; min-width:0; gap:8px; min-height:44px; padding:0 12px; border:1px solid var(--line); border-radius:8px; background:var(--panel2); }
.queue-search svg { flex:none; color:var(--muted); }
.queue-search input { min-width:0; width:100%; background:transparent; border:0; min-height:42px; padding:0; font-size:14px; color:var(--text); }
.queue-search:focus-within { outline:2px solid var(--ice); outline-offset:2px; }
.queue-search input:focus-visible { outline:none; }
.unified-projects .compact-project-queue .queue-combined { width:auto; margin:0; white-space:nowrap; font-size:14px; }
.unified-projects .compact-project-queue .project-queue-list { flex-direction:row; flex-wrap:wrap; gap:8px; }
.unified-projects .compact-project-queue .queue-entry { width:auto; max-width:100%; padding:0 3px 0 8px; gap:8px; border:1px solid var(--line); border-radius:8px; min-height:48px; background:var(--panel2); }
.unified-projects .compact-project-queue .queue-entry.selected { border-color:var(--gold); background:var(--active); }
.unified-projects .compact-project-queue .queue-select { display:flex; flex:none; gap:8px; padding:0; min-width:0; }
.unified-projects .compact-project-queue .queue-select .project-item-icon { width:24px; height:24px; }
.unified-projects .compact-project-queue .queue-item-name { width:auto; max-width:220px; font-size:14px; }
.unified-projects .compact-project-queue .queue-item-name small { display:block; font-size:12px; color:var(--muted); }
.unified-projects .compact-project-queue .queue-entry-controls { gap:0; width:auto; }
.unified-projects .compact-project-queue .project-quantity-control select { min-width:48px; min-height:36px; font-size:14px; padding:4px; }
.unified-projects .compact-project-queue .queue-actions>summary,.queue-remove { width:36px; height:44px; display:grid; place-items:center; border:0; border-radius:6px; background:transparent; color:var(--muted); cursor:pointer; }
.queue-remove:hover { background:var(--hover); color:var(--text); }
.unified-projects .compact-project-queue .queue-action-menu { width:225px; }
.unified-projects .compact-project-queue .queue-action-menu button { display:block; padding:6px 8px; width:100%; text-align:left; font-size:14px; }
.unified-projects .compact-project-queue .queue-active { margin:0; padding:6px 8px; }
.queue-mini-progress { display:none; }
.queue-hint { font-size:12px; color:var(--muted); margin:10px 0 0; }
#queue-search-results { display:flex; flex-wrap:wrap; gap:6px; padding:0 14px 12px; }
#queue-search-results[hidden] { display:none; }
#queue-search-results button { display:flex; align-items:center; gap:8px; min-height:44px; text-align:left; }
#queue-search-results button>span:last-child { color:var(--muted); font-size:12px; }
#queue-search-results img { width:24px; height:24px; }
#queue-search-results p { font-size:14px; margin:0; }
.unified-projects .unified-scope { padding:4px 0; }
.unified-projects .unified-scope h2 { font-size:16px; }
.unified-projects .unified-scope .project-meter { width:140px; }
.unified-projects .planning-workspace { margin-top:8px; }
.unified-projects .pw-tablist button { flex-direction:row; align-items:center; text-align:center; padding:8px; min-height:48px; gap:8px; }
.unified-projects .pw-tablist small { font-size:12px; }
.unified-projects .pw-tablist button[aria-selected=true] { background:var(--gold); color:var(--bg); }
.pw-budget { border:1px solid var(--line); border-radius:12px; background:var(--panel); padding:16px; margin-bottom:20px; }
.pw-budget-heading,.pw-budget-main { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.pw-budget-heading h2 { margin:0; font-size:18px; }
.pw-budget-heading>span { color:var(--gold); font-size:12px; }
.pw-budget-main { padding:16px 0; }
.pw-budget-main strong>.coin-value { font-size:24px; }
.pw-budget-main strong .coin-token { width:20px; height:20px; }
.pw-budget-main small { display:block; margin-top:5px; color:var(--muted); font-size:12px; }
.pw-budget-breakdown { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; margin:0; padding:14px 0; border-block:1px solid var(--line); }
.pw-budget-breakdown>div { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.pw-budget-breakdown dt { font-size:12px; color:var(--muted); }
.pw-budget-breakdown dd { margin:0; text-align:right; font-size:14px; }
.pw-budget p { margin:12px 0 0; font-size:12px; max-width:85ch; }
.unified-projects .pw-tree-scroll { padding:6px 4px; }
.unified-projects .pw-tree-project { padding:4px 8px 6px; }
.unified-projects .pw-tree-project h2 { font-size:14px; margin:0 0 6px; }
.unified-projects .pw-progress { margin-bottom:6px; }
.unified-projects .pw-tree-actions { margin-block:10px; }
.pw-entering { animation:pw-reveal 180ms cubic-bezier(.16,1,.3,1); }
@keyframes pw-reveal { from { opacity:.65; transform:translateY(5px); } to { opacity:1; transform:none; } }
.pw-toggle svg,.pw-plus::after { transition:transform 160ms cubic-bezier(.16,1,.3,1); }
@media(max-width:700px) {
  .unified-projects .compact-project-queue .queue-toolbar { flex-wrap:wrap; padding-inline:10px; }
  .queue-search { flex-basis:100%; }.queue-search input { font-size:16px; }
  .unified-projects .compact-project-queue .queue-entry { width:100%; flex-wrap:nowrap; gap:4px; }
  .unified-projects .compact-project-queue .queue-select { flex:1; flex-basis:auto; }
  .unified-projects .compact-project-queue .queue-item-name { overflow-wrap:anywhere; font-size:14px; }
  .unified-projects .compact-project-queue .queue-actions>summary,.queue-remove { width:44px; }
  .unified-projects .compact-project-queue .project-quantity-control select { min-width:44px; min-height:44px; font-size:16px; }
  .unified-projects .pw-tablist button { flex-direction:column; min-height:56px; gap:3px; font-size:12px; }
  .unified-projects .unified-scope .project-meter { width:100px; }
  .pw-budget { padding:12px; }
  .pw-budget-heading,.pw-budget-main { flex-direction:column; align-items:flex-start; gap:10px; }
  .pw-budget-main>.button-outline { width:100%; }
  .pw-budget-breakdown { grid-template-columns:1fr; }
  .pw-budget-breakdown>div { flex-wrap:wrap; gap:4px 8px; }
  .pw-route-details summary { min-height:44px; }
}
@media(prefers-reduced-motion:reduce) { .pw-entering { animation:none; }.pw-toggle svg,.pw-plus::after { transition:none; } }
.unified-projects .compact-project-queue .queue-select { width:auto; }
.unified-projects .compact-project-queue .queue-entry .queue-entry-controls .queue-remove { width:36px; height:44px; padding:8px; }
.unified-projects .compact-project-queue .queue-entry .project-quantity-control { border:0; padding:0; margin:0; }
@media(max-width:700px) { .unified-projects .compact-project-queue .queue-entry .queue-entry-controls .queue-remove { width:44px; } }
.pw-filter-tools { display:flex; align-items:center; gap:16px; margin:0 0 16px; }
.pw-filter-search { flex:1; max-width:360px; }
.pw-filter-search input { width:100%; min-height:44px; border:1px solid var(--line); border-radius:8px; padding:8px 12px; color:var(--text); background:var(--panel2); font-size:14px; }
.pw-filter-pending { display:flex; align-items:center; gap:8px; min-height:44px; font-size:14px; cursor:pointer; }
@media(max-width:700px) { .pw-filter-tools { flex-wrap:wrap; gap:6px; }.pw-filter-search { flex-basis:100%; max-width:none; }.pw-filter-search input { font-size:16px; } }
.unified-projects .pw-tree-project h2 { display:flex; align-items:center; gap:8px; min-height:34px; }
@media(max-width:700px) {
  .unified-projects .pw-tablist .pw-tab-unit { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
}
