/* ACLab tokens are in tokens.css. Local layout aliases use the approved scale. */
:root{--app-width:1200px;--control-h:48px;--display-leading:.96;--app-radius:6px;--panel-radius:12px;--headline:var(--fs-3);--app-font:system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background-color:var(--paper);font-family:var(--app-font);font-size:var(--fs--1);line-height:var(--lh-body-en)}a{color:var(--brand-text);text-underline-offset:4px}a:hover{color:var(--brand-strong)}a,button,input,select,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.shell{width:calc(100% - 48px);max-width:var(--app-width);margin-inline:auto}.topbar{background-color:var(--surface);border-bottom:1px solid var(--line)}.header-inner{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:var(--s-4)}.header-inner>a{display:inline-flex;align-items:center;min-height:var(--control-h)}.wordmark{gap:var(--s-2);font-size:var(--fs-1);font-weight:700;text-decoration:none;color:var(--ink)}.wordmark svg{color:var(--brand-text)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--app-font)}h1{font-size:var(--headline);line-height:var(--display-leading);letter-spacing:-.02em;max-width:20ch}h2{font-size:var(--fs-1);line-height:var(--lh-heading)}h3{font-size:var(--fs-0);line-height:var(--lh-heading)}.intro{padding-block:var(--s-7) var(--s-6);display:flex;justify-content:space-between;gap:var(--s-7);align-items:flex-end}.eyebrow{color:var(--muted);font-size:var(--fs--2);font-weight:700;letter-spacing:.08em;margin-bottom:var(--s-3)}.lede{font-size:var(--fs-0);margin-top:var(--s-4);max-width:52ch}.sandbox-note{max-width:30ch;color:var(--muted);font-size:var(--fs--2);line-height:var(--lh-tight)}.steps{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 var(--s-5);gap:var(--s-5);color:var(--muted)}.steps li{display:flex;align-items:center;gap:var(--s-2)}.steps span{font-weight:700;color:var(--brand-text)}.notice,.error{padding:var(--s-3) var(--s-4);border-left:4px solid var(--brand);background-color:var(--surface);margin-bottom:var(--s-5);overflow-wrap:anywhere}.notice[data-tone="success"]{border-color:var(--success)}.notice[data-tone="warning"]{border-color:var(--warning)}.error{border-color:var(--danger);color:var(--danger)}[hidden]{display:none!important}.workspace-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--s-6);align-items:start}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-2)}.section-note,.field-note{font-size:var(--fs--2);color:var(--muted)}.inventory-header{display:flex;justify-content:space-between;color:var(--muted);font-size:var(--fs--2);padding-block:var(--s-4) var(--s-2);border-bottom:1px solid var(--line-strong)}.inventory-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding-block:var(--s-4);border-bottom:1px solid var(--line);min-width:0}.item-meta{font-size:var(--fs--2);color:var(--muted);margin-top:var(--s-1);overflow-wrap:anywhere}.item-name{font-size:var(--fs-0);font-weight:500}.quantity{text-align:right;flex-shrink:0}.quantity strong{font-size:var(--fs-3);font-weight:500;line-height:var(--lh-heading);display:block}.quantity span{font-size:var(--fs--2);color:var(--muted)}.request-panel{border:1px solid var(--line-strong);border-radius:var(--panel-radius);padding:var(--s-5);background-color:var(--surface)}.request-panel h2{margin-bottom:var(--s-5)}label{font-weight:500;display:block;margin-bottom:var(--s-2)}input,select{display:block;width:100%;min-width:0;min-height:var(--control-h);padding:var(--s-3);font:inherit;font-size:var(--fs-0);color:var(--ink);background-color:var(--surface);border:1px solid var(--line-strong);border-radius:var(--app-radius);margin-bottom:var(--s-4)}input:focus,select:focus{border-color:var(--focus)}button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-h);max-width:100%;padding:var(--s-3) var(--s-4);border:1px solid var(--line-strong);border-radius:var(--app-radius);color:var(--ink);background-color:var(--surface);font:inherit;font-weight:500;cursor:pointer;line-height:var(--lh-tight);text-align:center}button:hover:not(:disabled){border-color:var(--brand);color:var(--brand-text);background-color:var(--tint)}button:active:not(:disabled){border-color:var(--brand-strong)}button.primary{background-color:var(--brand);border-color:var(--brand);color:var(--on-brand)}button.primary:hover:not(:disabled){background-color:var(--brand-strong);border-color:var(--brand-strong);color:var(--on-brand)}button:disabled,input:disabled,select:disabled{background-color:var(--paper);border-color:var(--line-strong);color:var(--muted);cursor:not-allowed}button.quiet{background-color:transparent}.full{width:100%}.preview{display:grid;grid-template-columns:1fr auto;gap:var(--s-2) var(--s-4);margin-block:var(--s-5) var(--s-2);padding-block:var(--s-4);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.preview strong{font-size:var(--fs-0)}#preview-note{margin-bottom:var(--s-4)}.queue-section,.history-section{margin-top:var(--s-7)}.count{color:var(--muted);font-weight:400}.empty{padding-block:var(--s-5);color:var(--muted)}.request-row{border-bottom:1px solid var(--line);padding-block:var(--s-5)}.request-row:first-child{border-top:1px solid var(--line);margin-top:var(--s-4)}.request-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4)}.status{font-size:var(--fs--2);font-weight:700;white-space:nowrap}.status.pending{color:var(--warning)}.status.approved{color:var(--success)}.status.conflict,.status.rejected{color:var(--danger)}.request-reason{margin-top:var(--s-2);overflow-wrap:anywhere;max-width:100%}.request-meta{font-size:var(--fs--2);color:var(--muted);margin-top:var(--s-2)}.request-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-4)}.conflict-note{margin-top:var(--s-3);color:var(--danger)}.events{list-style:none;padding:0;margin:var(--s-4) 0 0;border-top:1px solid var(--line)}.event{display:grid;grid-template-columns:176px 1fr;gap:var(--s-5);padding-block:var(--s-4);border-bottom:1px solid var(--line)}.event time{font-size:var(--fs--2);color:var(--muted)}.event p{overflow-wrap:anywhere;max-width:100%}.test-section{margin-top:var(--s-7);padding-top:var(--s-6);border-top:1px solid var(--line-strong)}.test-section>p{margin-top:var(--s-3);max-width:70ch}.test-actions{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-5)}.technical{margin-top:var(--s-6);border-block:1px solid var(--line);padding-block:var(--s-2)}summary{cursor:pointer;min-height:var(--control-h);padding-block:var(--s-3);font-weight:500}details>div{padding-bottom:var(--s-4)}details p+p{margin-top:var(--s-3)}details p{max-width:75ch}footer{padding-block:var(--s-6);display:flex;justify-content:space-between;gap:var(--s-5);color:var(--muted);font-size:var(--fs--2)}footer nav{display:flex;flex-wrap:wrap;gap:var(--s-5)}footer a{display:inline-flex;align-items:center;min-height:var(--control-h)}.skip-link{position:absolute;top:var(--s-2);left:var(--s-4);padding:var(--s-3);background-color:var(--surface);transform:translateY(-200%);z-index:1}.skip-link:focus{transform:none}
@media(max-width:767px){.shell{width:calc(100% - 32px)}.header-inner{min-height:56px}.intro{padding-top:var(--s-6);display:block}.sandbox-note{max-width:100%;margin-top:var(--s-5)}h1{line-height:var(--lh-display)}.workspace-layout{grid-template-columns:minmax(0,1fr);gap:var(--s-6)}.steps{gap:var(--s-2) var(--s-4);font-size:var(--fs--2)}.request-panel{padding:var(--s-5)}.section-heading{align-items:flex-start}.section-heading>.section-note{max-width:18ch;text-align:right}.request-top{align-items:flex-start}.request-top h3{max-width:20ch}.request-actions>button{flex:1 1 auto}.event{grid-template-columns:minmax(0,1fr);gap:var(--s-1)}footer{display:block}footer nav{margin-top:var(--s-3)}}

.showcase { margin-top: var(--s-7); padding-top: var(--s-7); border-top: 1px solid var(--line); }
.showcase h2 { margin: var(--s-3) 0 var(--s-4); }
.showcase h3 { margin: var(--s-6) 0 var(--s-3); font-size: var(--fs-1); }
.showcase p { max-width: 60em; }
.showcase figure { margin: var(--s-5) 0; padding: var(--s-4); border: 1px solid var(--line); border-radius: var(--panel-radius); background-color: var(--surface); }
.showcase img { display: block; width: 100%; height: auto; }
.showcase figcaption { margin-top: var(--s-3); color: var(--muted); font-size: var(--fs--2); }
.consult-link { display: inline-flex; align-items: center; min-height: var(--control-h); margin-top: var(--s-4); font-weight: var(--fw-bold); }
