/* The shared compact-dialog shell keeps this task a content-sized popup.
   Long source lists and the keyboard shrink its body, leaving actions visible. */
#stockRequestModal > .modal { width:min(460px,100%); max-height:calc(100dvh - max(16px,env(safe-area-inset-top,0px)) - max(16px,env(safe-area-inset-bottom,0px))); background:var(--surface); }
#stockRequestModal .modal-head { margin:0 16px; padding:16px 0; border-bottom:1px solid var(--line); background:var(--surface); }
#stockRequestModal .modal-head h2 { color:var(--ink); font-size:var(--ui-title-size); font-weight:var(--ui-title-weight); letter-spacing:-.025em; }
#stockRequestModal .modal-head #closeStockRequestModal { min-width:44px; min-height:44px; padding:0; border:0; background:transparent; color:var(--primary-dark); box-shadow:none; font-size:27px; }
#stockRequestModal .modal-body { padding:8px 16px 12px; }
#stockRequestModal #stockRequestDetails { margin:0 0 10px; }
#stockRequestModal .stock-request-part-heading { position:relative; display:grid; grid-template-columns:36px minmax(0,1fr); gap:3px 10px; align-items:center; padding:16px 2px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
#stockRequestModal .stock-request-part-heading::before { content:''; grid-row:1 / span 3; width:36px; height:44px; background-color:var(--primary); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='m12 2 9 5v10l-9 5-9-5V7l9-5Z M3 7l9 5 9-5 M12 12v10'/%3E%3C/svg%3E") center/29px no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='m12 2 9 5v10l-9 5-9-5V7l9-5Z M3 7l9 5 9-5 M12 12v10'/%3E%3C/svg%3E") center/29px no-repeat; }
#stockRequestModal .stock-request-part-label { color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
#stockRequestModal .stock-request-material { font-size:23px; line-height:1.15; letter-spacing:-.025em; }
#stockRequestModal .stock-request-description { font-size:13px; font-weight:500; }
#stockRequestModal .stock-request-source-label { margin:16px 2px 8px; font-size:11px; letter-spacing:.07em; }
#stockRequestModal .stock-request-source-list { gap:0; }
#stockRequestModal .stock-request-source { position:relative; grid-template-columns:20px 20px minmax(0,1fr) auto; gap:3px 6px; min-height:64px; padding:8px 4px; border:0; border-bottom:1px solid var(--line); border-left:3px solid transparent; border-radius:0; background:transparent; }
#stockRequestModal .stock-request-source[aria-pressed="true"] { border-left-color:var(--primary); background:var(--primary-soft); box-shadow:none; }
#stockRequestModal .stock-request-source-radio { grid-column:1; grid-row:1 / span 2; width:19px; height:19px; border:1.5px solid var(--line-strong); border-radius:50%; }
#stockRequestModal .stock-request-source[aria-pressed="true"] .stock-request-source-radio { border:5px solid var(--primary); background:var(--surface); }
#stockRequestModal .stock-request-source-pin { grid-column:2; grid-row:1 / span 2; width:22px; height:26px; background:var(--primary); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") center/contain no-repeat; }
#stockRequestModal .stock-request-source-copy { grid-column:3; gap:4px; }
#stockRequestModal .stock-request-source-title { font-size:15px; line-height:1.3; overflow:visible; white-space:normal; overflow-wrap:anywhere; }
#stockRequestModal .stock-request-source-meta { font-size:12px; overflow-wrap:anywhere; }
#stockRequestModal .stock-request-source-facts { grid-column:4; grid-row:1 / span 2; justify-content:flex-end; max-width:105px; }
#stockRequestModal .stock-request-source-facts .disp { padding:0; border:0; background:transparent; }
#stockRequestModal .stock-request-source-aux, #stockRequestModal #stockRequestSourceMeta:not(.stock-request-expiry-warning) { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#stockRequestModal .stock-request-source-facts .badge, #stockRequestModal .stock-request-source-facts .disp { white-space:normal; overflow-wrap:anywhere; }
#stockRequestModal .stock-request-source-check { display:none; }
#stockRequestModal #stockRequestSourceMeta { margin:7px 2px 0; line-height:1.4; }
#stockRequestModal .stock-request-quantity-row { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 2px; border:0; border-block:1px solid var(--line); border-radius:0; background:transparent; }
#stockRequestModal .stock-request-quantity-row > label { color:var(--muted); font-size:12px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
#stockRequestModal .stock-request-stepper { display:grid; grid-template-columns:44px minmax(42px,56px) 44px; overflow:hidden; border:1px solid var(--line-strong); border-radius:10px; background:var(--surface); }
#stockRequestModal .stock-request-stepper button { display:grid; place-items:center; min-width:0; width:44px; min-height:44px; padding:0; border:0; border-radius:0; background:var(--surface-2); color:var(--primary-dark); box-shadow:none; font-size:24px; line-height:1; }
@media (hover:hover) and (pointer:fine) { #stockRequestModal .stock-request-stepper button:hover { background:var(--primary-soft); transform:none; } }
#stockRequestModal .stock-request-stepper input { appearance:textfield; min-width:0; width:100%; min-height:44px; padding:0 4px; border:0; border-radius:0; background:var(--surface); color:var(--ink); text-align:center; font-size:17px; font-weight:700; }
#stockRequestModal .stock-request-stepper input::-webkit-inner-spin-button, #stockRequestModal .stock-request-stepper input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
#stockRequestModal .stock-request-notes, #stockRequestModal #stockRequestPickupPinField { display:block; margin:12px 0 0; padding:0; border:0; background:transparent; color:var(--ink-2); font-size:13px; font-weight:700; letter-spacing:normal; line-height:1.35; text-transform:none; }
#stockRequestModal .stock-request-optional { font-weight:500; }
#stockRequestModal .stock-request-notes textarea, #stockRequestModal #stockRequestPickupPin { display:block; width:100%; min-height:58px; height:58px; margin-top:7px; background:var(--surface); color:var(--ink); font-size:16px; font-weight:400; letter-spacing:normal; line-height:1.4; text-transform:none; }
#stockRequestModal #stockRequestPickupPin { min-height:44px; height:44px; }
#stockRequestModal #stockRequestPickupPinField .tiny { display:block; margin-top:7px; font-weight:400; letter-spacing:normal; text-transform:none; }
#stockRequestModal .top-copy { display:flex; align-items:flex-start; gap:8px; margin:14px 2px 0; line-height:1.4; }
#stockRequestModal .top-copy::before { content:'i'; display:grid; place-items:center; flex:none; width:16px; height:16px; border:1px solid currentColor; border-radius:50%; font-size:11px; font-weight:700; }
#stockRequestModal .modal-foot { flex-wrap:nowrap; gap:10px; padding:10px 16px 14px; border:0; background:var(--surface); }
#stockRequestModal .modal-foot button { min-height:var(--ui-action-height); flex-basis:0; border-radius:var(--ui-control-radius); }
#stockRequestModal #cancelStockRequest { flex:1; }
#stockRequestModal #submitStockRequest { flex:1.4; }
#stockRequestModal #submitStockRequest { border-color:#0072ce; background:#0072ce; color:#fff; }
@media (hover:hover) and (pointer:fine) { #stockRequestModal #submitStockRequest:hover { border-color:#005a9e; background:#005a9e; } }
