/* Compact, current employee device preferences. Historical ticket snapshots stay immutable. */
.panel.requester-devices { padding: 10px 16px; border-radius: 18px; border-color: rgb(128 195 216 / .3); background: linear-gradient(120deg,rgb(115 186 214 / .1),rgb(148 205 179 / .07)),var(--surface); box-shadow: inset 0 1px 0 rgb(255 255 255 / .05); min-width: 0; }
.requester-devices-row { display: grid; grid-template-columns: auto minmax(0,1fr) minmax(0,1fr) auto; align-items: center; gap: 12px 20px; min-height: 40px; }
.my-devices-inventory-heading { margin-top: 16px; }
.requester-device { display: flex; align-items: center; gap: 11px; min-width: 0; }
.requester-device > div { min-width: 0; display: flex; align-items: baseline; flex-wrap: wrap; gap: 3px 10px; }
.requester-device-icon { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 32px; border-radius: 10px; background: rgb(126 195 232 / .13); color: #a7d8f1; }
.requester-device-printer .requester-device-icon { color: #b3dfcd; background: rgb(135 203 176 / .12); }
.requester-device-icon .icon { width: 18px; height: 18px; }
.requester-device-label { font-size: 12px; color: var(--muted); white-space: nowrap; }
.requester-pc-separator { color: var(--muted); }
.requester-device strong,.requester-device-value { font-size: 13px; line-height: 1.4; font-weight: 750; overflow-wrap: anywhere; }
.requester-device .is-empty,.requester-device .is-empty strong { color: var(--muted); font-weight: 450; }
.requester-device-value a { display: inline-flex; align-items: center; gap: 6px; color: inherit; text-decoration: none; border-bottom: 1px solid rgb(150 211 190 / .4); padding-bottom: 1px; }
.requester-device-value a:hover { color: #b3dfcd; border-color: currentColor; }
.requester-device-value a .icon { width: 14px; height: 14px; flex: 0 0 14px; }
.requester-device-edit,.requester-device-clear { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; padding: 0; border: 1px solid var(--stroke); border-radius: 10px; background: rgb(156 190 211 / .1); color: var(--text); cursor: pointer; }
.requester-device-edit:hover,.requester-device-clear:hover { background: rgb(150 201 220 / .19); }
.requester-device-edit .icon,.requester-device-clear .icon { width: 17px; height: 17px; }
.requester-devices :focus-visible { outline: 2px solid var(--focus-color, #93c5fd); outline-offset: 3px; }
.requester-devices-form { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 14px 20px; border-top: 1px solid var(--stroke); margin-top: 10px; padding-top: 14px; }
.requester-device-field { min-width: 0; }
.requester-device-field label { display: block; font-size: 13px; font-weight: 700; margin-bottom: .6rem; }
.requester-devices-form .intake-device-row input { width: 100%; min-width: 0; min-height: 47px; padding: 10px 13px; border: 1px solid var(--control-stroke, #657b96); border-radius: 13px; outline: none; color: var(--text); background: var(--control-bg, #0c1728); font: inherit; }
.requester-devices-form .intake-device-row input::placeholder { color: var(--soft,#9eabba); }
.requester-devices-form .intake-device-row input:focus { border-color: rgba(96,165,250,.65); box-shadow: var(--focus,0 0 0 3px rgba(96,165,250,.15)); }
.requester-printer-search { position: relative; }
.requester-printer-input-row { display: flex; gap: 6px; align-items: center; }
.requester-printer-input-row input { min-width: 0; }
.requester-printer-options { top: calc(100% + 6px); z-index: 30; max-height: 250px; }
.requester-printer-options strong { font-size: 13px; overflow-wrap: anywhere; }
.requester-printer-options small,.requester-device-help,.requester-devices-footer p { font-size: 12px; line-height: 1.5; color: var(--muted); }
.requester-device-help { margin: 5px 0 0; }
.requester-devices-footer { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.requester-devices-footer p { margin: 0; }
.requester-devices-actions { display: flex; gap: 8px; }
.requester-devices-status { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }
.requester-devices-status p { font-size: 12px; margin: 6px 0 0; color: var(--muted); }
.requester-devices-status p:empty { display: none; }
.requester-devices-status .text-button { font-size: 12px; padding: 3px 0; }
.requester-devices [hidden] { display: none !important; }
[data-theme="light"] .requester-device-icon { color: #31647d; }
[data-theme="light"] .requester-device-printer .requester-device-icon { color: #356f59; }
[data-theme="light"] .requester-device-value a:hover { color: #31684f; }
[data-theme="light"] .requester-printer-options { background: #f5fafb; }
@media (max-width: 650px) {
  .panel.requester-devices { padding: 10px 12px; }
  .requester-devices-row { grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
  .requester-device-pc { grid-column: 1; grid-row: 1; }
  .requester-device-printer { grid-column: 1; grid-row: 2; }
  .requester-device-edit { grid-column: 2; grid-row: 1 / 3; }
  .requester-devices-form { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .requester-devices-footer { flex-wrap: wrap; }
  .requester-devices-actions { margin-left: auto; }
}

.requester-devices-caption { margin: 0; color: var(--muted); font-size: 10px; font-weight: 700; line-height: 1.4; letter-spacing: .05em; text-transform: uppercase; max-width: 70px; }
@media (max-width: 800px) { .requester-devices-row { column-gap: 12px; } }
@media (max-width: 650px) { .requester-devices-caption { grid-column: 1 / -1; grid-row: 1; max-width: none; } .requester-device-pc { grid-row: 2; } .requester-device-printer { grid-row: 3; } .requester-device-edit { grid-row: 2 / 4; } }

.requester-device-warning { color: var(--muted); font-size: 12px; line-height: 1.5; margin: 5px 0 0; }

/* A configured PC address is a neutral shortcut, never a connection status. */
.requester-device-pc > div { align-items: center; }
.requester-device-pc { position: relative; }
.requester-device-pc .requester-pc-copy-feedback { position: absolute; top: calc(100% + 6px); left: 0; max-width: 100%; pointer-events: none; }
.requester-device-pc [data-requester-pc] { min-width: 0; max-width: 100%; }
.requester-ticket-pc { display: inline-flex; align-items: center; gap: 3px; max-width: 100%; vertical-align: middle; }
.requester-ticket-pc-name { min-width: 0; overflow-wrap: anywhere; }
.requester-pc-edit { max-width: 100%; min-height: 32px; padding: 3px 6px; border: 1px solid var(--stroke); border-radius: var(--radius-sm); background: var(--surface); color: var(--text); font: inherit; text-align: left; overflow-wrap: anywhere; cursor: pointer; }
.requester-pc-edit:hover:not(:disabled),.requester-pc-edit:focus-visible { border-color: var(--primary); background: var(--surface-hover); }
.requester-pc-edit:active:not(:disabled) { box-shadow: inset 0 0 0 1px currentColor; }
.requester-pc-edit:disabled { opacity: .65; cursor: not-allowed; }
/* Compact provenance marker: 18px seal, separate 24px target; never part of the AnyDesk link. */
.requester-pc-seal { display: inline-grid; place-items: center; flex: 0 0 24px; width: 24px; height: 24px; padding: 3px; border: 0; border-radius: 50%; background: transparent; color: color-mix(in srgb, var(--text) 80%, var(--primary)); cursor: pointer; }
.requester-pc-seal-mark { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: linear-gradient(145deg, var(--glass-strong), var(--info-bg)); box-shadow: inset 0 1px 0 var(--stroke-strong); font-size: 18px; line-height: 1; transition: background .16s ease, box-shadow .16s ease; }
.requester-pc-seal:hover .requester-pc-seal-mark,.requester-pc-seal:focus-visible .requester-pc-seal-mark { background: var(--surface-hover); box-shadow: inset 0 1px 0 var(--stroke-strong), 0 0 6px var(--info-bg); }
.requester-pc-seal:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.requester-pc-seal:active .requester-pc-seal-mark { background: var(--info-bg); box-shadow: inset 0 0 0 1px var(--primary); }
.requester-pc-seal-hint { position: fixed; z-index: var(--z-header-popover, 90); width: max-content; box-sizing: border-box; padding: 8px 11px; border: 1px solid var(--stroke-strong); border-radius: var(--radius-sm); background: linear-gradient(160deg, var(--glass), transparent), color-mix(in srgb, var(--bg-1) 90%, transparent); color: var(--text); box-shadow: var(--shadow-sm), inset 0 1px 0 var(--glass); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); font-family: inherit; font-size: 12px; font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; }
.requester-pc-seal-hint[hidden] { display: none; }
.requester-pc-anydesk { display: inline-grid; grid-template-areas: "target"; align-items: center; max-width: 100%; min-height: 44px; padding: 5px 8px; box-sizing: border-box; border: 1px solid var(--stroke); border-radius: var(--radius-sm); color: var(--text); background: var(--surface); text-decoration: none; cursor: pointer; }
.requester-pc-anydesk-name,.requester-pc-anydesk-hover { grid-area: target; display: flex; align-items: center; gap: 7px; min-width: 0; overflow-wrap: anywhere; }
.requester-pc-anydesk img { display: block; width: 20px; height: 20px; flex: 0 0 20px; border-radius: 4px; object-fit: contain; }
.requester-pc-anydesk-hover { visibility: hidden; pointer-events: none; }
.requester-pc-anydesk:not([aria-disabled="true"]):hover,.requester-pc-anydesk:focus-visible { color: var(--text); background: var(--surface-hover); border-color: var(--primary); }
.requester-pc-anydesk:not([aria-disabled="true"]):is(:hover,:focus-visible) .requester-pc-anydesk-name { visibility: hidden; }
.requester-pc-anydesk:not([aria-disabled="true"]):is(:hover,:focus-visible) .requester-pc-anydesk-hover { visibility: visible; }
.requester-pc-anydesk:active:not([aria-disabled="true"]) { box-shadow: inset 0 0 0 1px currentColor; }
.requester-pc-anydesk[aria-disabled="true"] { cursor: not-allowed; color: var(--muted); }
.requester-anydesk-field { margin-top: 14px; }
.requester-anydesk-error { color: var(--danger); }
.requester-devices-form [data-requester-anydesk-input][aria-invalid="true"] { border-color: var(--danger); }
.requester-devices-form [data-requester-anydesk-input]:disabled { opacity: .65; cursor: not-allowed; }
@media (any-pointer: coarse) {
  .requester-pc-edit { min-height: 44px; }
  .requester-device-edit,.requester-device-clear { width: 44px; height: 44px; flex-basis: 44px; }
  .requester-devices-status .text-button { min-height: 44px; padding-inline: 8px; }
}
@media(forced-colors:active) {
  .requester-pc-seal,.requester-pc-seal-mark { background: ButtonFace; color: ButtonText; box-shadow: none; }
  .requester-pc-seal:focus-visible { outline-color: Highlight; }
  .requester-pc-seal-hint { background: Canvas; color: CanvasText; border-color: CanvasText; box-shadow: none; backdrop-filter: none; }
  .requester-pc-anydesk { background: Canvas; border-color: LinkText; color: LinkText; }
  .requester-pc-anydesk:focus-visible { outline-color: Highlight; }
}
@media(prefers-reduced-motion:reduce) { .requester-pc-seal-mark { transition: none; } }
