/* Shared controls: contained source fields, top-layer menus, no layout movement. */
.pakr-date-control { position:relative; min-width:0; width:100%; }
.pakr-temporal-native { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:0!important; border:0!important; opacity:0!important; pointer-events:none!important; inset:0 auto auto 0!important; }
.pakr-date-trigger, .pakr-select-trigger { background:var(--pakr-soft,#edf2f5); border:1px solid var(--pakr-line,#cbd7df); border-radius:11px; color:var(--pakr-ink,#203347); font:inherit; font-size:14px; font-weight:600; min-height:44px; width:100%; padding:9px 12px; display:flex; align-items:center; justify-content:space-between; gap:10px; cursor:pointer; text-align:left; box-sizing:border-box; transition:background .15s,border-color .15s,box-shadow .15s; }
.pakr-date-trigger>span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pakr-date-trigger svg { flex:0 0 18px; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; opacity:.7; }
.pakr-date-trigger:hover,.pakr-select-trigger:hover { background:var(--pakr-surface,#fff); border-color:var(--pakr-primary,#3279f6); }
.pakr-date-trigger:focus-visible,.pakr-select-trigger:focus-visible { outline:0; border-color:var(--pakr-primary,#3279f6); box-shadow:0 0 0 3px color-mix(in srgb,var(--pakr-primary,#3279f6) 20%,transparent); }
.pakr-date-trigger[aria-invalid=true] { border-color:#c33e50; }
.pakr-date-trigger:disabled { opacity:.5; cursor:not-allowed; }
.pakr-date-trigger[aria-readonly=true] { cursor:default; opacity:.8; }
.pakr-date-trigger.is-empty { color:var(--pakr-muted,#5b6e81); }
#pakr-app .pakr-quick-priority[data-quick-saving] .pakr-select-trigger:disabled { opacity:1; cursor:progress; }
.pakr-language-control { padding:0!important; border:0!important; background:transparent!important; }
.pakr-language-control>.pakr-select { width:auto; }
.pakr-language-control>.pakr-select .pakr-select-trigger { min-height:40px; }
@media(max-width:760px) {
    #pakr-app .pakr-language-control .pakr-select-trigger>span { display:inline!important; font-size:0!important; }
    #pakr-app .pakr-language-control .pakr-select-trigger>span::after { content:'EN'; font-size:12px; }
    [data-pakr-language="zh-CN"] #pakr-app .pakr-language-control .pakr-select-trigger>span::after { content:'中'; }
}
.pakr-select-menu[popover],.pakr-date-menu[popover] { position:fixed!important; inset:auto; margin:0!important; min-width:0!important; max-width:calc(100vw - 20px); box-sizing:border-box; background:var(--pakr-surface,#f5f8fa); color:var(--pakr-ink,#203347); border:1px solid var(--pakr-line,#cbd7df); border-radius:14px; padding:8px; box-shadow:0 12px 36px #142d4826; overflow:auto; overscroll-behavior:contain; z-index:100000; animation:pakr-control-reveal .12s ease-out; font:14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.pakr-select-menu[hidden],.pakr-date-menu[hidden] { display:none!important; }
/* Reset browser popover sizing: short lists stay short, long lists scroll.
   Grid's default stretch must never distribute spare height between options. */
.pakr-select-menu[popover],.pakr-date-menu[popover] { height:auto; min-height:0; right:auto!important; bottom:auto!important; }
.pakr-select-menu[popover] { align-content:start; grid-auto-rows:max-content; grid-template-columns:minmax(0,1fr); }
.pakr-select-menu[popover] button { height:auto; margin:0; box-sizing:border-box; }
.pakr-select-menu[popover] button>span { min-width:0; white-space:normal; overflow-wrap:anywhere; line-height:1.4; }
.pakr-select-menu[popover] button { min-height:40px; font-size:14px; }
.pakr-date-menu button { appearance:none; border:0; border-radius:9px; background:transparent; color:inherit; font:inherit; font-weight:600; min-height:40px; cursor:pointer; padding:6px 8px; box-shadow:none; }
.pakr-date-menu button:hover,.pakr-date-menu button:focus-visible,.pakr-select-menu button:focus-visible { background:color-mix(in srgb,var(--pakr-primary,#3279f6) 12%,var(--pakr-surface,#fff)); outline:2px solid var(--pakr-primary,#3279f6); outline-offset:-2px; }
.pakr-date-menu button:disabled { opacity:.3; cursor:not-allowed; outline:0; }
.pakr-calendar-heading { display:grid; grid-template-columns:40px 1fr 40px; align-items:center; text-align:center; gap:5px; margin-bottom:8px; }
.pakr-calendar-heading strong { font-size:15px; }
.pakr-calendar-heading button { font-size:25px; }
.pakr-calendar-year { display:flex; align-items:center; justify-content:flex-end; gap:8px; font-size:12px; color:var(--pakr-muted,#5b6e81); margin-bottom:7px; }
.pakr-calendar-year input { width:84px!important; min-height:34px!important; box-sizing:border-box; background:var(--pakr-soft,#edf2f5)!important; color:var(--pakr-ink,#203347)!important; border:1px solid var(--pakr-line,#cbd7df)!important; border-radius:8px!important; padding:5px 8px!important; font:inherit; }
.pakr-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:2px; }
.pakr-calendar-grid small { padding:5px 0; text-align:center; color:var(--pakr-muted,#5b6e81); font-size:12px; }
.pakr-calendar-grid button { padding:5px 0; font-variant-numeric:tabular-nums; }
.pakr-calendar-grid button.is-outside { color:var(--pakr-muted,#5b6e81); }
.pakr-calendar-grid button[aria-current=date] { box-shadow:inset 0 0 0 1px var(--pakr-primary,#3279f6); }
.pakr-date-menu button[aria-pressed=true],.pakr-date-menu .pakr-control-primary { background:var(--pakr-primary,#3279f6); color:white; }
.pakr-clock-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; border-top:1px solid var(--pakr-line,#cbd7df); padding-top:12px; margin-top:10px; }
.pakr-clock-fields label { display:grid; gap:5px; font-size:12px; color:var(--pakr-muted,#5b6e81); }
.pakr-clock-fields input { appearance:textfield; background:var(--pakr-soft,#edf2f5)!important; color:var(--pakr-ink,#203347)!important; border:1px solid var(--pakr-line,#cbd7df)!important; border-radius:9px!important; min-height:44px!important; width:100%!important; padding:8px!important; font:600 18px/1.3 inherit; box-sizing:border-box; }
.pakr-time-presets { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; margin:8px 0; }
.pakr-time-presets button { background:var(--pakr-soft,#edf2f5); }
.pakr-calendar-footer { display:flex; justify-content:space-between; gap:6px; border-top:1px solid var(--pakr-line,#cbd7df); padding-top:8px; margin-top:8px; }
.pakr-control-error { color:#cc4053; margin:6px 0; font-size:12px; }
.pakr-control-error:empty { display:none; }
#pakr-app .pakr-filter-date .pakr-date-control { flex:1; width:auto; }
#pakr-app .pakr-filter-date .pakr-date-trigger { border:0; background:transparent; box-shadow:none; padding:4px; min-height:42px; font-size:14px; }
[data-pakr-theme=dark] .pakr-date-menu,[data-pakr-theme=dark] .pakr-select-menu { background:var(--pakr-surface,#172638); border-color:var(--pakr-line,#344b61); color:var(--pakr-ink,#e2edf7); }
:is(.pakr-outline-grip,[data-drag-handle],[data-detail-drag]) { border-radius:9px; transition:background .15s,box-shadow .15s; touch-action:none; }
:is(.pakr-outline-grip,[data-drag-handle],[data-detail-drag]):focus-visible { outline:2px solid var(--pakr-primary,#3279f6); outline-offset:2px; }
@keyframes pakr-control-reveal { from { opacity:0; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) { .pakr-date-menu,.pakr-select-menu,.pakr-date-trigger,.pakr-select-trigger { animation:none!important; transition:none!important; } }
@media print { .pakr-date-menu,.pakr-select-menu { display:none!important; } }

/* Host themes (including Elementor) style every button hover with white text.
   Own both ink and surface for shared dropdown states, including public forms.
   !important is deliberately limited to these component colours, not geometry. */
#pakr-app .pakr-jobs-panel button.pakr-job-actions-trigger {
    background:var(--pakr-soft,#edf2f5)!important;
    color:var(--pakr-ink,#203347)!important;
    border:1px solid var(--pakr-line,#dce4ed)!important;
    box-shadow:none!important;
}
#pakr-app .pakr-jobs-panel button.pakr-job-actions-trigger:not(:disabled):is(:hover,:focus-visible,:active,[aria-expanded=true]) {
    background:color-mix(in srgb,var(--pakr-primary,#3279f6) 12%,var(--pakr-surface,#fff))!important;
    color:var(--pakr-ink,#203347)!important;
    border-color:var(--pakr-primary,#3279f6)!important;
}
.pakr-select > button.pakr-select-trigger,
button.pakr-date-trigger,
button.pakr-job-actions-trigger {
    color:var(--pakr-ink,#203347)!important;
    -webkit-text-fill-color:currentColor!important;
}
.pakr-select > button.pakr-select-trigger:not(:disabled):is(:hover,:focus,:active,[aria-expanded=true]),
button.pakr-date-trigger:not(:disabled):is(:hover,:focus,:active,[aria-expanded=true]),
button.pakr-job-actions-trigger:not(:disabled):is(:hover,:focus,:active,[aria-expanded=true]) {
    background:var(--pakr-soft,#edf2f5)!important;
    color:var(--pakr-ink,#203347)!important;
    -webkit-text-fill-color:currentColor!important;
}
.pakr-select-menu[role=listbox],.pakr-date-menu[popover],.pakr-job-actions-popover[role=menu] {
    background:var(--pakr-surface,#fff)!important;
    color:var(--pakr-ink,#203347)!important;
}
.pakr-select-menu[role=listbox] > button[role=option],
.pakr-job-actions-popover[role=menu] > button[role=menuitem] {
    background:var(--pakr-surface,#fff)!important;
    color:var(--pakr-ink,#203347)!important;
    -webkit-text-fill-color:currentColor!important;
}
.pakr-select-menu[role=listbox] > button[role=option]:not(:disabled):is(:hover,:focus,:active,[aria-selected=true]),
.pakr-job-actions-popover[role=menu] > button[role=menuitem]:not(:disabled):is(:hover,:focus,:active),
.pakr-date-menu[popover] button:not(:disabled):is(:hover,:focus,:active) {
    background:color-mix(in srgb,var(--pakr-primary,#3279f6) 10%,var(--pakr-surface,#fff))!important;
    color:var(--pakr-ink,#203347)!important;
    -webkit-text-fill-color:currentColor!important;
}
.pakr-select > button.pakr-select-trigger :is(span,b,strong),
button.pakr-date-trigger :is(span,b,strong),
button.pakr-job-actions-trigger :is(span,b,strong),
.pakr-select-menu[role=listbox] > button[role=option] :is(span,b,strong),
.pakr-job-actions-popover[role=menu] > button[role=menuitem] :is(span,b,strong,small) {
    color:inherit!important;
    -webkit-text-fill-color:currentColor!important;
}
.pakr-select-menu[role=listbox] > button[role=option]:focus-visible,
.pakr-job-actions-popover[role=menu] > button[role=menuitem]:focus-visible {
    outline:2px solid var(--pakr-primary,#3279f6);outline-offset:-2px;
}
/* Search suggestions are dropdowns too; keep their text paired with the hover surface. */
:is(.pakr-customer-search-results,.pakr-intake-device-results,.pakr-job-filter-results,.pakr-booking-search-results) > button:is(:hover,:focus,:active) {
    background:var(--pakr-soft,#edf2f5)!important;color:var(--pakr-ink,#203347)!important;
    -webkit-text-fill-color:currentColor!important;
}
:is(.pakr-customer-search-results,.pakr-intake-device-results,.pakr-job-filter-results,.pakr-booking-search-results) > button:is(:hover,:focus,:active) :is(span,strong,b) {
    color:inherit!important;-webkit-text-fill-color:currentColor!important;
}
:is(.pakr-customer-search-results,.pakr-intake-device-results,.pakr-job-filter-results,.pakr-booking-search-results) > button:is(:hover,:focus,:active) small {
    color:var(--pakr-muted,#5b6e81)!important;-webkit-text-fill-color:currentColor!important;
}
.pakr-customer-search-results > button > span,
.pakr-intake-device-results .pakr-intake-device-image,
.pakr-job-filter-results :is(.pakr-job-filter-avatar,.pakr-job-filter-device),
.pakr-booking-search-results .pakr-booking-model-image {
    background:var(--pakr-soft,#edf2f5)!important;color:var(--pakr-ink,#203347)!important;
}

/* Square and local item results are buttons, not the shared select component. */
#pakr-app button.pakr-catalog-result {
    background:var(--pakr-surface)!important;
    color:var(--pakr-ink)!important;
    -webkit-text-fill-color:currentColor!important;
}
#pakr-app button.pakr-catalog-result:is(:hover,:focus-visible,:active,.is-selected) {
    background:color-mix(in srgb,var(--pakr-primary) 10%,var(--pakr-surface))!important;
    color:var(--pakr-ink)!important;
}
#pakr-app button.pakr-catalog-result :is(span,strong,small,i) {
    color:inherit!important;
    -webkit-text-fill-color:currentColor!important;
}
#pakr-app button.pakr-catalog-result > i { background:var(--pakr-soft)!important; }
#pakr-app button.pakr-catalog-result:focus-visible { outline:2px solid var(--pakr-primary);outline-offset:-3px; }

/* Keep stock beside the part name on all breakpoints, not in tiny price metadata. */
#pakr-app .pakr-part-stock {
    display:block;width:fit-content;max-width:100%;box-sizing:border-box;
    margin-top:5px;padding:4px 8px;border:1px solid var(--pakr-line);border-left-width:3px;
    border-radius:6px;background:var(--pakr-soft);color:var(--pakr-ink)!important;
    -webkit-text-fill-color:currentColor!important;font-size:12px;font-weight:700;line-height:1.4;
    white-space:normal;overflow-wrap:anywhere;
}
#pakr-app .pakr-part-stock[data-stock-state="available"] { border-left-color:#168566; }
#pakr-app .pakr-part-stock:is([data-stock-state="low"],[data-stock-state="empty"]) { border-left-color:#ca8315; }

.pakr-create-sign-progress {
    box-sizing:border-box;width:min(460px,calc(100vw - 32px));padding:28px;
    border:1px solid var(--pakr-line,#dce4ec);border-radius:20px;
    background:var(--pakr-surface,#fff);color:var(--pakr-ink,#203347);
    box-shadow:0 20px 80px #0003;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.pakr-create-sign-progress::backdrop { background:#10233480;backdrop-filter:blur(4px); }
.pakr-create-sign-progress h2 { margin:0 0 12px;color:inherit;font-size:22px; }
.pakr-create-sign-progress p { margin:0 0 20px;color:inherit;font-size:16px;line-height:1.6;overflow-wrap:anywhere; }
.pakr-create-sign-bar { overflow:hidden;width:100%;height:7px;border-radius:99px;background:var(--pakr-soft,#edf2f5); }
.pakr-create-sign-bar > span { display:block;width:40%;height:100%;border-radius:inherit;background:var(--pakr-primary,#3279f6);animation:pakr-sign-wait 1.4s ease-in-out infinite alternate; }
@keyframes pakr-sign-wait { from{transform:translateX(0)} to{transform:translateX(150%)} }
@media(prefers-reduced-motion:reduce) { .pakr-create-sign-bar > span { animation:none; } }
.pakr-create-sign-progress [hidden] { display:none!important; }
.pakr-create-sign-recovery { display:flex;flex-wrap:wrap;gap:10px; }
.pakr-create-sign-recovery button {
    flex:1;min-height:44px;padding:10px 14px;border:1px solid var(--pakr-line,#dce4ec);border-radius:10px;
    background:var(--pakr-soft,#edf2f5)!important;color:var(--pakr-ink,#203347)!important;
    -webkit-text-fill-color:currentColor!important;font:inherit;cursor:pointer;
}
.pakr-create-sign-recovery button:is(:hover,:focus-visible) { outline:2px solid var(--pakr-primary,#3279f6);outline-offset:2px; }
