/* Shared merchant controls. Loaded last so every workspace uses the same
   dimensions, focus treatment and touch targets. */
:root{--pp-control-border:#dce4de;--pp-control-hover:#91a998;--pp-control-focus:#46745b;--pp-control-ring:0 0 0 3px #47795d16;--pp-control-muted:#74847a;--pp-control-soft:#f1f6ef}
.pp-control{position:relative;display:inline-flex;vertical-align:middle;min-width:0;width:100%;font-size:13px;font-weight:400;letter-spacing:normal;text-align:left}
.pp-control[hidden],.pp-search [hidden]{display:none!important}
/* Keep the native field in the form for FormData and browser validation. */
.pp-control>.pp-native{position:absolute!important;inset:0 auto auto 0!important;width:1px!important;min-width:0!important;max-width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;opacity:0!important;overflow:hidden!important;pointer-events:none!important;border:0!important;clip-path:inset(50%)!important}
.pp-control>.pp-trigger{display:flex;align-items:center;gap:9px;width:100%;height:44px;min-height:44px;min-width:0;padding:0 12px;border:1px solid var(--pp-control-border);border-radius:11px;background:#fff;box-shadow:0 1px 2px #17352c03;color:#304c3c;font-size:13px;font-weight:500;line-height:1.4;letter-spacing:normal;text-align:left;cursor:pointer;touch-action:manipulation;transition:border-color .16s,box-shadow .16s,background .16s}
.pp-trigger>.pp-trigger-text{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pp-trigger>svg,.pp-popover svg{width:18px;height:18px;flex-shrink:0;color:#82978a}
.pp-trigger>svg:last-child{width:16px;height:16px;transition:transform .16s}
.pp-control.is-open>.pp-trigger>svg:last-child{transform:rotate(180deg)}
.pp-control>.pp-trigger:hover:not(:disabled){border-color:var(--pp-control-hover);background:#fdfefb}
.pp-control>.pp-trigger:focus-visible,.pp-control.is-open>.pp-trigger{outline:none;border-color:var(--pp-control-focus);box-shadow:var(--pp-control-ring)}
.pp-control>.pp-trigger:disabled{background:#f4f6f3;color:#9aa59c;border-color:#e5eae5;cursor:not-allowed;box-shadow:none;opacity:1}
.pp-control>.pp-trigger[aria-invalid=true]{border-color:#c97469;box-shadow:0 0 0 3px #c9746912}
.pp-trigger.is-placeholder{color:#89958d;font-weight:400}
.pp-popover{position:fixed;inset:auto;margin:0;padding:8px;width:280px;max-width:calc(100vw - 24px);border:1px solid #dce5dd;border-radius:16px;outline:none;background:#fff;color:#304c3c;box-shadow:0 16px 50px #183e2b22,0 3px 12px #183e2b0a;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;font-size:13px;font-weight:400;line-height:1.5;letter-spacing:normal;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d7e1d6 transparent;isolation:isolate}
.pp-popover:popover-open{display:flex;flex-direction:column;animation:pp-control-in .14s ease-out}
.pp-popover::backdrop{pointer-events:none;background:transparent}
.pp-popover-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:4px 4px 9px}
.pp-popover-heading>b{font-size:12px;font-weight:600;color:#718276;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pp-popover button{font:inherit;touch-action:manipulation;flex-shrink:0}
.pp-popover button:focus-visible,.pp-popover input:focus-visible{outline:2px solid #719475;outline-offset:2px}
.pp-popover .pp-close{display:grid;place-items:center;width:30px;height:30px;min-height:30px;border:0;border-radius:9px;background:transparent;color:#7a8e80;font-size:20px;font-weight:400;line-height:1;cursor:pointer}
.pp-popover .pp-close:hover{background:#f1f5ef}
.pp-option-search{display:flex;align-items:center;gap:9px;flex:none;margin:0 2px 8px;padding:0 11px;border:1px solid #dce6db;border-radius:10px;background:#f7faf5}
.pp-option-search:focus-within{border-color:#8cab91;box-shadow:0 0 0 2px #46745b0c}
.pp-option-search>input{width:100%;height:40px;min-width:0;border:0;background:transparent;color:#304c3c;outline:none!important;font-size:13px}
.pp-option-search>input::placeholder{color:#98a297}
.pp-options{flex:1;min-height:0;max-height:286px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d4dfd4 transparent;padding:2px;scroll-padding:4px}
.pp-option{display:flex;align-items:center;gap:12px;min-height:40px;margin:2px 0;padding:9px 11px;border:1px solid transparent;border-radius:9px;cursor:pointer;overflow-wrap:anywhere}
.pp-option>span{flex:1;min-width:0;line-height:1.55}
.pp-option:hover,.pp-option.is-active{background:#f0f5ed}
.pp-option.is-selected{color:#365e3f;font-weight:600;background:#eef4e7}
.pp-option.is-selected.is-active{background:#e5eedb;border-color:#c6d7b9}
.pp-option[aria-disabled=true]{color:#a5aea6;background:transparent;cursor:not-allowed;font-weight:400}
.pp-option>svg{color:#5f8353;width:16px;height:16px}
.pp-option-group{padding:13px 11px 5px;color:#8a988b;font-size:11px;font-weight:500}
.pp-option-group:first-child{padding-top:7px}
.pp-no-options{padding:28px 12px;text-align:center;color:#657a68}
.pp-no-options small{display:block;margin-top:7px;font-size:11px;color:#9aa69a}
.pp-popover-foot{flex:none;border-top:1px solid #edf1e9;margin:8px 4px 0;padding:9px 6px 3px;font-size:10px;color:#8a9a8c}
.pp-multi-actions{display:flex;align-items:center;gap:6px;margin-top:9px}
.pp-multi-actions>button{height:34px;padding:0 12px;border:0;border-radius:8px;background:#f1f6ed;color:#6b855b;font-size:12px;cursor:pointer}
.pp-multi-actions>button:last-child{margin-left:auto;background:#426846;color:#fff}
.pp-calendar{padding:12px;width:336px}
.pp-calendar-nav{display:flex;align-items:center;justify-content:space-between;margin:10px 0 8px}
.pp-calendar-nav>button{width:34px;height:34px;border:1px solid #e7ede3;border-radius:9px;background:white;color:#6a8569;font-size:23px;line-height:1;cursor:pointer}
.pp-calendar-nav>div{display:flex;align-items:center;gap:4px}
.pp-calendar-nav>div>button,.pp-calendar-nav b{padding:7px 8px;border:0;border-radius:8px;background:white;color:#3f5c41;font-size:14px;font-weight:600;cursor:pointer}
.pp-calendar button:hover:not(:disabled){background:#edf4e8}
.pp-calendar button:disabled{opacity:.3;cursor:not-allowed}
.pp-weekdays,.pp-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.pp-weekdays{padding:5px 0;color:#9aa693;text-align:center;font-size:11px}
.pp-days>button{position:relative;display:grid;place-items:center;min-width:0;height:35px;padding:0;border:0;border-radius:9px;background:white;color:#496445;font-size:13px;cursor:pointer;font-variant-numeric:tabular-nums}
.pp-days>button.is-outside{color:#b0bbab}
.pp-days>button.is-today::after{position:absolute;bottom:4px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:#7b9d5b;content:""}
.pp-days>button.is-selected,.pp-period-grid>button.is-selected{background:#426846;color:#fff}
.pp-days>button.is-selected:hover:not(:disabled),.pp-period-grid>button.is-selected:hover:not(:disabled){background:#365d3c}
.pp-days>button.is-selected::after{background:#d4e7bc}
.pp-period-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 0}
.pp-period-grid>button{height:43px;border:0;border-radius:10px;background:#f7f9f3;color:#576f4c;font-size:13px;cursor:pointer}
.pp-manual-date{display:flex;align-items:center;gap:14px;margin:0 2px;padding:0 10px;border:1px solid #dfe7db;background:#fafcf7;border-radius:10px}
.pp-manual-date>span{flex-shrink:0;color:#8a9a80;font-size:11px}
.pp-manual-date>input{width:100%;min-width:0;height:38px;border:0;background:transparent;color:#45633f;font-size:13px;outline:none!important;font-variant-numeric:tabular-nums}
.pp-manual-date:focus-within{border-color:#8eab7f;box-shadow:0 0 0 2px #8eab7f0c}
.pp-time-row{display:flex;align-items:end;gap:7px;margin:11px 2px 0;padding-top:13px;border-top:1px solid #ecf0e6}
.pp-time-row>label{flex:1;min-width:0;display:flex;align-items:center;gap:9px;padding:0 8px;border:1px solid #dfe7db;border-radius:9px;background:#fafcf7}
.pp-time-row>label>span{font-size:11px;color:#8a9a80;white-space:nowrap}
.pp-time-row input{height:38px;min-width:0;width:100%;padding:0;border:0;outline:none!important;background:transparent;color:#45633f;font-size:13px;font-variant-numeric:tabular-nums}
.pp-time-row>button{height:40px;padding:0 9px;border:1px solid #e1e9db;border-radius:9px;background:#fff;color:#718764;font-size:11px;cursor:pointer}
.pp-time-presets{display:flex;gap:6px;margin:14px 2px}
.pp-time-presets>button{flex:1;height:34px;border:0;border-radius:8px;background:#f2f6ec;color:#708262;font-size:12px;cursor:pointer}
.pp-date-error{margin:5px 3px 0;color:#ad6158;font-size:11px;line-height:1.6}
.pp-date-error:empty{display:none}
.pp-date-actions{display:flex;align-items:center;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid #eaf0e4}
.pp-date-actions>button{height:36px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:#74866a;font-size:12px;font-weight:500;cursor:pointer}
.pp-date-actions>button.pp-apply{margin-left:auto;padding:0 20px;color:#fff;background:#426846}
.pp-date-actions>button.pp-apply:hover{background:#365d3c}
/* Keyword fields have one icon and a generous, explicit clear target. */
.pp-search,.cm-search.pp-search,.wf-search.pp-search,.search.pp-search{position:relative;display:flex;align-items:center;gap:10px;min-width:0;min-height:44px;height:44px;padding:0 10px 0 13px;border:1px solid var(--pp-control-border);border-radius:11px;background:white;box-shadow:0 1px 2px #17352c03;color:#82978a;font-size:13px;transition:border-color .16s,box-shadow .16s}
.pp-search:hover{border-color:var(--pp-control-hover)}
.pp-search:focus-within{border-color:var(--pp-control-focus);box-shadow:var(--pp-control-ring)}
.pp-search>.pp-search-icon{display:flex;align-items:center;padding:0;margin:0;color:#82978a;font-size:inherit;flex-shrink:0}
.pp-search-icon>svg{width:18px;height:18px}
.pp-search>input.pp-search-input{flex:1;width:100%;min-width:0;min-height:0;height:40px;margin:0;padding:0;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;outline:none!important;color:#304c3c;font-size:13px;line-height:1.5}
.pp-search>input::placeholder{color:#97a399;font-weight:400}
.pp-search-input::-webkit-search-cancel-button{appearance:none}
.pp-search>.pp-search-clear{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;padding:0;border:0;border-radius:8px;background:#f1f5ee;color:#87977d;font-size:19px;font-weight:400;line-height:1;cursor:pointer}
.pp-search-clear:hover{background:#e8eedf;color:#45603c}
.pp-search[aria-busy=true]>.pp-search-icon{animation:pp-search-pulse 1s infinite alternate}
.pp-search[aria-busy=true]{border-color:#a6b997}
.pp-search.pp-ops-search{width:min(310px,100%)}
/* Match the layout contract of the native controls in each workspace. */
.toolbar>.pp-control,.directory-toolbar>.pp-control,.calendar-filters>.pp-control,.wf-toolbar>.pp-control{width:auto;min-width:142px;max-width:100%}
.wf-store>.pp-control,.cm-store>.pp-control,.ops-store-select>.pp-control{width:100%}
.ops-store-select:has(.pp-control){min-width:180px}
.ops-date-label:has(.pp-control){display:block;padding:0;margin-left:7px;min-width:178px;cursor:pointer}
.ops-date-label:has(.pp-control)>b{display:none!important}
.ops-date-label>.pp-control{width:100%}
.wf-day-nav>.pp-control{width:188px}
.ful-date-nav>.pp-control{width:184px}
.ful-store>.pp-control{width:190px}
.ful-task-toolbar>.pp-control{width:180px}
.ful-detail-task-day label>.pp-control{width:160px}
.ful-quote-row>.pp-control{grid-column:1/-1}
.rp-filter-extra>.rp-field:has(.pp-search){flex:1;min-width:210px}
.rp-filter-extra>.rp-field:has(.pp-search){max-width:360px}
.rp-filter-main>.btn{height:44px}
.rp-store-picker>.pp-control{width:100%}
.rp-store-picker>select[multiple]:not(.pp-native){height:100px}
.rp-mobile-picker>.pp-control{margin-top:7px}
.pp-unit-suggestions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:-4px 0 18px}
.pp-unit-suggestions>button{min-width:39px;height:34px;padding:0 12px;border:1px solid #e0e7d8;border-radius:9px;background:#fff;color:#8a997b;font-size:12px;cursor:pointer}
.pp-unit-suggestions>button[aria-pressed=true]{background:#eef4e5;border-color:#a4bc8d;color:#587944}
.rp-field>.pp-search,.cm-field>.pp-search,.wf-field>.pp-search{width:100%}
.rp-field>.pp-control,.cm-field>.pp-control,.wf-field>.pp-control{font-size:13px}
.directory-toolbar{gap:10px;flex-wrap:wrap}
.directory-search.pp-search{flex:1;min-width:240px;max-width:560px}
.cm-search.pp-search{flex:1;max-width:560px}
.wf-search.pp-search{flex:1;max-width:520px}
.rp-filter-main{align-items:end;gap:12px}
.rp-filter-main .rp-field{min-width:180px}
@keyframes pp-control-in{from{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}
@keyframes pp-search-pulse{to{opacity:.35}}
@media(max-width:760px){
  .directory-search.pp-search{min-width:100%;max-width:none}
  .directory-toolbar>.pp-control{flex:1;min-width:120px}
  .wf-toolbar>.pp-control{flex:1;min-width:120px}
  .cm-search.pp-search{order:3;flex-basis:100%;max-width:none}
  .wf-search.pp-search{min-width:100%;max-width:none}
  .ful-store>.pp-control{width:auto;flex:1;max-width:280px}
  .ful-date-nav>.pp-control{width:auto;flex:1;min-width:150px}
  .ful-task-toolbar>.pp-control{width:100%}
  .ful-detail-task-day label>.pp-control{flex:1}
  .pp-search.pp-ops-search{width:100%}
  .ops-date-label:has(.pp-control){margin-left:0;min-width:0;flex:1}
  .ops-date-label .pp-trigger{padding:0 9px;gap:7px;font-size:12px}
  .ops-date-label .pp-trigger>svg:first-child{display:none}
}
@media(max-width:600px){
  .pp-control>.pp-trigger{min-height:46px;height:46px}
  .pp-popover.pp-sheet{max-width:calc(100vw - 16px);padding:13px;border-radius:20px;box-shadow:0 0 0 100vmax #163a2826,0 12px 55px #17352c2b}
  .pp-sheet .pp-popover-heading{padding:2px 2px 10px}
  .pp-sheet .pp-popover-heading>b{font-size:13px}
  .pp-sheet .pp-close{width:38px;height:38px}
  .pp-sheet .pp-options{max-height:42dvh}
  .pp-sheet .pp-option{min-height:46px;padding:11px 13px;font-size:14px}
  .pp-sheet .pp-days>button{height:39px;font-size:14px}
  .pp-sheet input,.pp-search>input.pp-search-input{font-size:16px}
  .pp-sheet .pp-date-actions>button{height:44px;font-size:13px}
  .pp-sheet .pp-calendar-nav>button{height:40px;width:40px}
  .pp-sheet .pp-calendar-nav>div>button{min-height:40px}
  .pp-sheet .pp-time-row>button{height:44px}
  .pp-sheet .pp-multi-actions>button{height:44px}
  .pp-unit-suggestions>button{height:40px}
  .pp-sheet .pp-manual-date>input,.pp-sheet .pp-time-row input{height:42px}
  .wf-day-nav>.pp-control{width:auto;flex:1;min-width:148px}
}
@media(prefers-reduced-motion:reduce){.pp-popover:popover-open,.pp-search[aria-busy=true]>.pp-search-icon{animation:none}.pp-trigger,.pp-search,.pp-trigger>svg:last-child{transition:none}}
