@import url("./admin-workspace-price.css");

/* Admin and customer order detail: header, next step, process, models, price, communication and order dialogs.
   Screen composition owned by this area. Tokens and shared components come from design.css;
   no !important, no #workspace ID selectors, no reserved min-heights. */

/* Case workspace (admin summary and every admin tab). Container widths: ~1176px at 1440, ~770 at 1024,
   ~530 at 768, ~360 at 390. The aside sits beside the main column from 740px of content. */
.aw-workspace{container:aw-case/inline-size;display:grid;gap:var(--space-3);min-width:0;color:var(--ink)}
.aw-workspace .muted{color:var(--muted)}
.aw-workspace :is(button,a,input,textarea,select,summary):focus-visible{outline:3px solid #93b4ff;outline-offset:2px}
.aw-workspace>.tabs{margin:0}
.aw-workspace .panel{min-width:0;overflow-wrap:anywhere}

/* One header per case: identity, state and term, GROSS, shortcuts and the next-step strip. */
.aw-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-5);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}
.aw-identity{display:grid;gap:2px;flex:1 1 220px;min-width:0}
.aw-identity>strong{font-size:var(--text-2xl);font-weight:700;line-height:1.2;letter-spacing:-.4px;overflow-wrap:anywhere}
.aw-identity>span{font-size:var(--text-sm);color:var(--muted);overflow-wrap:anywhere}
.aw-identity>.aw-title{font-size:var(--text-md);font-weight:600;line-height:1.35;color:var(--ink-2)}
.aw-header-status{display:grid;justify-items:start;gap:2px;min-width:0;font-size:var(--text-sm);color:var(--muted)}
.aw-header-status>.badge{margin-bottom:2px}
.aw-header-status strong{color:var(--ink)}
.aw-header-price{display:grid;gap:1px;min-width:200px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);background:var(--accent-soft);border:1px solid #c9dcfa;font-variant-numeric:tabular-nums}
.aw-header-price>strong{font-size:32px;font-weight:750;line-height:1.15;letter-spacing:-1px;color:var(--accent);overflow-wrap:anywhere}
.aw-header-price>small{font-size:var(--text-sm);color:var(--accent)}
.aw-header-price>small:last-child{font-size:var(--text-xs);color:var(--muted)}
.aw-header-price>small>strong{font-weight:600;color:var(--ink-2)}
.aw-next{display:flex}
.aw-header-tools{display:flex;flex-wrap:wrap;gap:var(--space-2);min-width:0}
.aw-header-tools .btn{color:var(--accent);border-color:#c3d4ee}
/* Identity keeps its own width and GROSS the right edge (D4, V7 total), the same on every tab with or without the summary tools. */
@container aw-case (min-width:900px){
 .aw-identity{flex:0 1 auto;max-width:400px}
 .aw-header-price{margin-left:auto}
 .aw-header-tools{flex:1 1 100%;margin-left:0}
}
/* 900 to 999px of content (about 1200px viewports): the short 'Napísať' keeps the tools on the first row,
   so the sticky header stays one row lower. */
@container aw-case (min-width:900px) and (max-width:999px){
 .aw-tool-long{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}
@container aw-case (max-width:899px){
 .aw-header{column-gap:var(--space-4)}
 .aw-header-tools{flex:1 1 100%}
}
@container aw-case (max-width:599px){
 .aw-header{padding:var(--space-3);row-gap:var(--space-2)}
 .aw-identity{flex-basis:100%}
 /* State and price share one row even at 320px: the state keeps its width, the price takes the rest and
    its NET line may wrap before the amount; the price never drops to a row of its own. */
 .aw-header-status{flex:0 1 auto}
 .aw-header-price{flex:1 1 100%;min-width:0;padding:var(--space-3);justify-items:start;text-align:left}
 .aw-header-price>small>strong{white-space:nowrap}
 .aw-header-price>strong{font-size:30px}
 .aw-next{flex:1 1 100%}
 .aw-next>.btn{flex:1 1 auto}
 .aw-header-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .aw-tool-long{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}
/* A tall sticky header only where the viewport leaves room for the content below it. */
@media(min-width:1200px) and (min-height:760px){
 .aw-header{position:sticky;top:calc(var(--topbar-height) + var(--space-2));z-index:12}
}

/* Next-step strip: the only primary of the case, part of the header on every admin tab. */
.order-next-steps{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-2) var(--space-4);border:1px solid #cbdcf5;border-radius:var(--radius);background:#f7faff;min-width:0}
.aw-header>.order-next-steps{flex:1 1 100%;margin:var(--space-1) calc(-1 * var(--space-4)) calc(-1 * var(--space-3));border:0;border-top:1px solid #dbe6f5;border-radius:0 0 calc(var(--radius) - 1px) calc(var(--radius) - 1px)}
.order-next-steps-copy{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px var(--space-3);min-width:0}
.order-next-steps-copy h2{margin:0;font-size:var(--text-sm);font-weight:700;line-height:1.4;letter-spacing:0;color:var(--accent);white-space:nowrap}
.order-next-steps-copy p{flex:1 1 240px;margin:0;font-size:var(--text-sm);line-height:1.45;color:var(--muted);overflow-wrap:anywhere}
.order-next-steps-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:var(--space-2);min-width:0}
.order-next-steps-actions:empty{display:none}
.order-next-steps .btn{max-width:100%;white-space:normal;overflow-wrap:break-word;text-align:center}
.order-next-steps .btn:disabled{cursor:not-allowed}
/* 'Ďalšie kroky': steps beyond the first two (when there are four or more) in one disclosure menu. */
.next-steps-more{position:relative;min-width:0}
.next-steps-more>summary::before{content:none}
.next-steps-more>summary{gap:6px;list-style:none}
.next-steps-more>summary>.icon{transition:transform .15s}
.next-steps-more[open]>summary{border-color:#b9cadd;background:var(--accent-soft)}
.next-steps-more[open]>summary>.icon{transform:rotate(180deg)}
.next-steps-more-count{min-width:20px;padding:0 6px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:var(--text-xs);font-weight:700;line-height:18px;text-align:center}
.next-steps-more[open] .next-steps-more-count{background:#fff}
.next-steps-more-list{position:absolute;top:calc(100% + 6px);right:0;z-index:30;scroll-margin:var(--space-3);display:grid;gap:2px;width:max-content;min-width:240px;max-width:min(340px,calc(100vw - 32px));padding:6px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 12px 32px #0b23372b}
.next-steps-more-item{display:grid}
.next-steps-more-list .btn{justify-content:flex-start;width:100%;min-height:var(--control-height);padding:7px 10px;border-color:transparent;background:transparent;box-shadow:none;color:var(--ink-2);text-align:left}
.next-steps-more-list .btn:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-hover)}
.next-steps-more-list .btn .icon{color:var(--accent)}
.next-steps-more-list .btn:disabled{opacity:1;color:#8494a7}
.next-steps-more-reason{margin:0;padding:0 10px 6px 10px;font-size:var(--text-xs);line-height:1.4;color:var(--muted)}
@media(prefers-reduced-motion:reduce){.next-steps-more>summary>.icon{transition:none}}
@container aw-case (max-width:899px){
 .order-next-steps{display:flex;flex-wrap:wrap;align-items:center}
 .order-next-steps-copy{flex:0 1 auto}
 .order-next-steps-copy:has(p){flex:1 1 100%}
 .order-next-steps-actions{justify-content:flex-start}
}
@container aw-case (max-width:599px){
 .aw-header>.order-next-steps{margin-inline:calc(-1 * var(--space-3));margin-bottom:calc(-1 * var(--space-3));padding:var(--space-2) var(--space-3) var(--space-3)}
 .order-next-steps-copy{flex-basis:100%}
}
@container aw-case (max-width:479px){
 .order-next-steps-actions{display:grid;flex:1 1 100%;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
 .order-next-steps-actions>.btn:first-child{grid-column:1/-1}
 /* Two-column phone grid: only the full-width primary keeps its icon, so secondary labels stay on one line. */
 .order-next-steps-actions>.btn:not(:first-child)>.icon{display:none}
 /* The menu takes the free grid cell next to the second step; its list opens full width under the strip. */
 .order-next-steps{position:relative}
 .next-steps-more{position:static}
 .next-steps-more>summary{width:100%;min-height:44px}
 .next-steps-more-list{left:var(--space-3);right:var(--space-3);width:auto;max-width:none}
 .next-steps-more-list .btn{min-height:44px}
}
/* Case column under 360px (phones 320 to 375): a half-width 'Ďalšie kroky' would wrap (it needs 156px), so the step before it and the menu take full rows. */
@container aw-case (max-width:359px){
 .order-next-steps-actions>.btn:has(+ .next-steps-more),.next-steps-more{grid-column:1/-1}
}

/* Recorded process: one line of five steps; centred columns on medium width; a list on phones. */
.aw-process{container:aw-process/inline-size;padding:var(--space-3) var(--space-4) var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}
.aw-timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;counter-reset:aw-step}
.aw-step{counter-increment:aw-step;position:relative;display:grid;grid-template-columns:26px minmax(0,max-content) minmax(var(--space-3),1fr);grid-template-rows:auto auto;column-gap:var(--space-2);align-items:center;min-width:0;color:var(--muted)}
.aw-step-marker{position:relative;grid-column:1;grid-row:1/3;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#eef2f7;color:var(--muted);box-shadow:inset 0 0 0 1px #dbe3ed;font-size:var(--text-xs);font-weight:700;font-variant-numeric:tabular-nums}
/* Decorative number: the empty alternative text keeps it out of the accessibility tree. */
.aw-step-marker::before{content:counter(aw-step);content:counter(aw-step) / ""}
.aw-step>strong{grid-column:2;grid-row:1;font-size:var(--text-sm);font-weight:600;line-height:1.3;color:var(--ink-2);overflow-wrap:anywhere}
.aw-step>small{grid-column:2;grid-row:2;font-size:var(--text-xs);line-height:1.3;overflow-wrap:anywhere}
.aw-step::after{content:"";grid-column:3;grid-row:1/3;height:2px;margin-right:var(--space-2);border-radius:2px;background:var(--line)}
.aw-step:last-child::after{display:none}
.aw-step-recorded .aw-step-marker{background:var(--accent);box-shadow:none;color:transparent}
.aw-step-recorded .aw-step-marker::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translate(-50%,-70%) rotate(-45deg)}
.aw-step-recorded::after{background:var(--accent)}
:is(.aw-step-active,.aw-step-partial) .aw-step-marker{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}
:is(.aw-step-recorded,.aw-step-active,.aw-step-partial)>strong{color:var(--accent)}
.aw-step-unknown .aw-step-marker{background:var(--surface);box-shadow:inset 0 0 0 1px #c3cfdc}
.aw-process-caption{display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--space-2);margin:var(--space-2) 0 0;padding-top:var(--space-2);border-top:1px solid var(--line-soft);font-size:var(--text-xs);line-height:1.45;color:var(--muted)}
@container aw-process (max-width:959px){
 .aw-step{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;justify-items:center;align-content:start;row-gap:2px;padding-inline:4px;text-align:center}
 .aw-step-marker,.aw-step>strong,.aw-step>small{grid-column:1;grid-row:auto}
 .aw-step::after{position:absolute;top:12px;left:calc(50% + 17px);right:calc(-50% + 17px);height:2px;margin:0}
}
@container aw-process (max-width:439px){
 .aw-timeline{grid-template-columns:minmax(0,1fr);gap:var(--space-2)}
 .aw-step{grid-template-columns:24px minmax(0,max-content) minmax(0,1fr);justify-items:start;column-gap:var(--space-2);padding:0;text-align:left}
 .aw-step-marker{grid-column:1;grid-row:1;width:24px;height:24px}
 .aw-step>strong{grid-column:2;grid-row:1}
 .aw-step>small{grid-column:3;grid-row:1;justify-self:end;text-align:right}
 .aw-step::after{display:none}
}

/* Summary grid: main column and a 260 to 312px aside; one column below 740px of content. */
.aw-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3);align-items:start;min-width:0}
.aw-main,.aw-aside{display:grid;gap:var(--space-3);align-content:start;min-width:0}
@container aw-case (min-width:740px){.aw-grid{grid-template-columns:minmax(0,1fr) minmax(260px,280px)}}
@container aw-case (min-width:1000px){.aw-grid{grid-template-columns:minmax(0,7fr) minmax(290px,3fr);gap:var(--space-4)}}
@container aw-case (min-width:520px) and (max-width:739px){.aw-aside{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Disclosures in the workspace use the shared CSS chevron. */
.aw-disclosure{min-width:0;border-top:1px solid var(--line-soft)}
.aw-disclosure:first-child{border-top:0}
.aw-disclosure>summary{padding:var(--space-3) 0;font-size:var(--text-md);font-weight:600;color:var(--ink-2);overflow-wrap:anywhere}
.aw-disclosure-body{min-width:0;padding:0 0 var(--space-3)}
.aw-disclosure-body h3{margin:0 0 2px;font-size:var(--text-sm)}
.aw-disclosure-body p{margin:0 0 var(--space-2);font-size:var(--text-sm);line-height:1.5}
.aw-preserve{white-space:pre-wrap;overflow-wrap:anywhere}
.aw-caption{margin:var(--space-2) 0;font-size:var(--text-xs);line-height:1.5;color:var(--muted)}

/* Models: a small preview, name, chips and line price per part; part counts and 3D in one row. */
.aw-models{--aw-thumb:80px}
.aw-models-many{--aw-thumb:64px}
.aw-models>.aw-disclosure>summary{display:grid;grid-template-columns:var(--aw-thumb) minmax(0,1fr) minmax(112px,auto) 12px;align-items:center;gap:var(--space-3);font-weight:400}
.aw-models>.aw-disclosure>summary::before{grid-column:4;grid-row:1;justify-self:center;margin:0}
.aw-models>.aw-disclosure:first-child>summary{padding-top:0}
.aw-models>.aw-disclosure:last-child:not([open])>summary{padding-bottom:0}
.aw-model-thumb{grid-column:1;grid-row:1;display:block;width:var(--aw-thumb);min-width:0}
.aw-model-thumb .model-visual{width:var(--aw-thumb);height:var(--aw-thumb);aspect-ratio:auto;border-radius:var(--radius-control);background:#f1f5fa}
.aw-model-thumb .model-visual>svg.icon{width:36%;height:36%}
.aw-model-thumb .model-visual img{display:block;width:100%;height:100%;object-fit:contain}
.aw-model-identity{grid-column:2;grid-row:1;display:grid;gap:4px;min-width:0}
.aw-model-identity>strong{font-size:var(--text-lg);font-weight:650;line-height:1.35;color:var(--ink);overflow-wrap:anywhere}
.aw-model-identity>span{font-size:var(--text-sm);color:var(--muted)}
.aw-model-chips{display:flex;flex-wrap:wrap;gap:4px}
.aw-model-chips>span{padding:1px 8px;border-radius:var(--radius-sm);background:#eef3f9;color:#35506e;font-size:var(--text-xs);font-weight:600;line-height:20px}
.aw-model-price{grid-column:3;grid-row:1;display:grid;justify-items:end;gap:2px;min-width:0;text-align:right;font-variant-numeric:tabular-nums}
.aw-model-price>strong{font-size:var(--text-lg);font-weight:700;color:var(--ink);overflow-wrap:anywhere}
.aw-model-price>small{font-size:var(--text-xs);color:var(--muted)}
.aw-model-price:is([data-price-kind=included],[data-price-kind=unknown])>strong{font-size:var(--text-md);font-weight:600;color:var(--muted)}
.aw-models .aw-disclosure-body{padding-left:calc(var(--aw-thumb) + var(--space-3))}
.aw-models .aw-disclosure-body>.aw-production-meta{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--muted)}
.aw-model-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4)}
.aw-part-counts{display:flex;flex-wrap:wrap;gap:4px var(--space-4);font-size:var(--text-sm);color:var(--muted)}
.aw-part-counts strong{margin-left:4px;color:var(--ink);font-variant-numeric:tabular-nums}
.aw-model-tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}
.aw-model-tools>.muted{font-size:var(--text-xs)}
@container aw-case (max-width:899px){.aw-models{--aw-thumb:80px}.aw-models-many{--aw-thumb:56px}}
@container aw-case (max-width:599px){
 .aw-models,.aw-models-many{--aw-thumb:64px}
 .aw-models>.aw-disclosure>summary{grid-template-columns:var(--aw-thumb) minmax(0,1fr) 12px;align-items:start;row-gap:var(--space-1)}
 .aw-models>.aw-disclosure>summary::before{grid-column:3;margin-top:8px}
 .aw-model-thumb{grid-row:1/3}
 .aw-model-price{grid-column:2;grid-row:2;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;gap:2px var(--space-2);text-align:left}
 .aw-models .aw-disclosure-body{padding-left:0}
}

/* The admin price/services component owns its separate scoped stylesheet. */
@media(min-width:700px){[data-screen-id="admin.contact"] .aw-disclosure:not([open])>summary{padding-bottom:var(--space-2)}}

/* Communication: tab row, visibility line, messages and a form with the hint under the field. */
.aw-comms-tabs{display:flex;gap:var(--space-5);padding:0 var(--space-4);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.aw-comms-tabs .btn{flex-shrink:0;min-height:40px;padding:8px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);font-size:var(--text-sm);font-weight:600;box-shadow:none}
.aw-comms-tabs .btn:hover{background:transparent;color:var(--ink)}
.aw-comms-tabs .btn[aria-pressed=true]{border-bottom-color:var(--accent);color:var(--accent)}
.aw-visibility{margin:0 0 var(--space-3);padding:6px 10px;border-radius:var(--radius-sm);background:#f1f6fb;color:#335574;font-size:var(--text-sm);line-height:1.5}
.aw-private{background:#fff7e8;color:#765317}
.aw-messages{display:grid;gap:var(--space-2);margin-bottom:var(--space-3)}
.aw-messages>.muted{margin:0;font-size:var(--text-sm)}
:is(.aw-message,.order-message){padding:var(--space-2) var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-control);background:var(--surface-2)}
:is(.aw-message,.order-message)>div{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px var(--space-3);font-size:var(--text-sm)}
:is(.aw-message,.order-message)>div>:is(small,span){font-size:var(--text-xs);color:var(--muted)}
:is(.aw-message,.order-message) p{margin:4px 0 0;font-size:var(--text-md);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.aw-message-internal{border-color:#eddfc8;background:#fffcf5}
.aw-comms form .aw-caption{margin:calc(-1 * var(--space-2)) 0 0}
:is(.aw-comms,.order-detail-grid) form>.cluster{justify-content:flex-end}
@media(max-width:699px){:is(.aw-comms,.order-detail-grid) form>.cluster>.btn{flex:1 1 auto}}
.aw-workspace .field textarea{min-height:72px}
.aw-comms .panel-body>.btn-ghost,.aw-recent .panel-head>.btn-ghost{min-height:var(--control-height-sm);padding-inline:0;font-size:var(--text-sm);color:var(--accent)}
.aw-comms .panel-body>.btn-ghost{margin-top:var(--space-2)}
@media(max-width:699px){.aw-comms .panel-body>.btn-ghost,.aw-recent .panel-head>.btn-ghost{min-height:44px}}

/* Events: time and author in a fixed column, the event and its changes beside it. */
.aw-events{display:grid}
.aw-event{display:grid;grid-template-columns:minmax(120px,170px) minmax(0,1fr);gap:2px var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--line-soft);font-size:var(--text-sm);overflow-wrap:anywhere}
.aw-event:first-child{padding-top:0}
.aw-event:last-child{padding-bottom:0;border-bottom:0}
.aw-event>small{padding-top:1px;font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums}
.aw-event strong{font-weight:600;color:var(--ink)}
.aw-event p{margin:2px 0 0;color:var(--ink-2)}
.aw-events>p.muted{margin:0}

/* Aside: contact, label/value rows, panels that hold one disclosure show it as their header, tasks. */
.aw-contact-name{display:block;font-size:var(--text-md)}
.aw-contact-lines{display:grid;gap:2px;margin-top:2px;font-size:var(--text-sm);color:var(--ink-2);overflow-wrap:anywhere}
[data-screen-id="admin.contact"] .aw-caption{margin-bottom:var(--space-1)}
[data-screen-id="admin.contact"] .aw-disclosure{border-top:1px solid var(--line-soft)}
.aw-context{display:grid;gap:var(--space-2);margin:0}
.aw-context>div{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);min-width:0}
.aw-context dt{flex-shrink:0;font-size:var(--text-sm);color:var(--muted)}
.aw-context dd{margin:0;font-size:var(--text-sm);font-weight:600;text-align:right;overflow-wrap:anywhere}
.aw-aside .panel:has(>.panel-body>.aw-disclosure:only-child)>.panel-head{display:none}
.aw-aside .panel:has(>.panel-body>.aw-disclosure:only-child)>.panel-body{padding-block:0}
.aw-aside .panel:has(>.panel-body>.aw-disclosure:only-child)>.panel-body>.aw-disclosure>summary{padding-block:var(--space-3);font-size:var(--text-lg);font-weight:650;color:var(--ink)}
/* Secondary forms keep an outlined submit; the next-step strip carries the case primary. */
/* The production start, the produced-pieces form and the lot row button are the in-tab targets of the strip CTA
   (data-visual-target), so they stay outlined too: one solid primary per case. */
:is(.aw-aside,.aw-tab-content) form:is([data-submit=status],[data-submit=status-configure],[data-submit=case-update],[data-submit=task-create],[data-submit=document-generate],[data-submit=status-start],[data-submit=production-add]) .btn-primary,.aw-tab-content [data-action=lot-modal].btn-primary{background:var(--surface);border-color:#b9cdf3;color:var(--accent);box-shadow:none}
:is(.aw-aside,.aw-tab-content) form:is([data-submit=status],[data-submit=status-configure],[data-submit=case-update],[data-submit=task-create],[data-submit=document-generate],[data-submit=status-start],[data-submit=production-add]) .btn-primary:hover,.aw-tab-content [data-action=lot-modal].btn-primary:hover{background:var(--accent-soft)}
.aw-task-list{display:grid;gap:var(--space-2)}
.aw-task{display:flex;align-items:flex-start;gap:var(--space-2);min-width:0}
.aw-task>div{display:grid;gap:1px;min-width:0}
.aw-task strong{font-size:var(--text-sm);font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.aw-task small{color:var(--muted)}
.aw-task-symbol{display:inline-grid;place-items:center;flex:0 0 20px;height:20px;color:var(--muted)}
.aw-task-symbol.is-done{color:#226a4f}
.aw-task-list>.aw-caption{margin:0}
.aw-aside>.aw-caption{margin:0}

/* Admin workspace refinements: price first, concise production metadata and
   composers that expand only when needed. No customer selectors. */
.aw-header>.aw-identity{flex-grow:1}
.aw-header-tools .btn{min-height:34px;padding:6px 10px;font-size:var(--text-sm)}
.aw-step[aria-current="step"] .aw-step-marker{outline:3px solid #d7e6ff;outline-offset:2px;box-shadow:inset 0 0 0 2px var(--accent);color:var(--accent);background:var(--surface)}
.aw-step[aria-current="step"]>strong{color:var(--accent);font-weight:700}
.aw-part-spec{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin:0 0 var(--space-2);font-size:var(--text-sm)}
.aw-part-spec>div{display:flex;flex-wrap:wrap;gap:4px;align-items:baseline}
.aw-part-spec dt{font-size:var(--text-xs);color:var(--muted)}
.aw-part-spec dd{margin:0;color:var(--ink);font-weight:600}
.aw-model-identity>.aw-model-version{font-size:10px;overflow-wrap:anywhere}
.aw-model-tools .btn{min-height:32px;padding:5px 9px;font-size:var(--text-sm)}
.aw-phone{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}
.aw-phone .btn{min-height:28px;padding:2px 4px;color:var(--accent)}
.aw-copy-feedback:empty{display:none}
.aw-copy-feedback{color:var(--accent);font-size:var(--text-xs)}
.aw-contact-lines+.aw-caption{margin-top:4px}
.aw-comms .aw-disclosure>summary{font-size:var(--text-sm);color:var(--accent);padding:var(--space-2) 0}
.aw-comms .aw-visibility{padding:0;background:none;font-size:var(--text-xs);margin-bottom:var(--space-2)}
.aw-comms .aw-messages{margin-bottom:var(--space-2)}
.aw-aside .panel-head{padding-block:var(--space-3)}
.aw-workspace .aw-disclosure,.aw-tab-content .product-lots{scroll-margin-top:var(--space-4)}
@media(min-width:1200px) and (min-height:760px){
 .aw-workspace .aw-disclosure,.aw-tab-content .product-lots{scroll-margin-top:320px}
}
@container aw-case (max-width:599px){
 .aw-header-tools .btn,.aw-model-tools .btn,.aw-phone .btn{min-height:44px}
 .aw-header-status{flex-basis:100%}
 .aw-part-spec{gap:var(--space-2) var(--space-4)}
 .aw-comms-tabs{gap:var(--space-3)}
}

.aw-aside .aw-recent .panel-head{flex-wrap:wrap;gap:2px}
.aw-aside .aw-recent .panel-head h2{flex:1 1 100%}
.aw-aside .aw-event{grid-template-columns:1fr;gap:2px}
.aw-aside .aw-event-author{display:inline}
