/* Kerege Clean pickers (assets/js/pick.js): list, calendar and time in the brand instead of the system wheel.
   A host page tunes the field look with: --kp-h, --kp-r, --kp-bg, --kp-bg-focus, --kp-line, --kp-bw, --kp-fs. */
.kp{position:relative;display:block;min-width:0}
.kp-native{position:absolute!important;left:0;bottom:0;width:100%!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;opacity:0;pointer-events:none}

/* the field button */
.kp-btn{display:flex;align-items:center;gap:10px;width:100%;min-height:var(--kp-h,48px);margin:0;padding:6px 14px 6px 16px;border:0;border-radius:var(--kp-r,12px);background:var(--kp-bg,#fff);box-shadow:inset 0 0 0 var(--kp-bw,1.5px) var(--kp-line,rgba(19,26,38,.36));color:#131a26;font:400 var(--kp-fs,16px)/1.3 var(--body,"Golos Text",system-ui,sans-serif);letter-spacing:normal;text-transform:none;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:box-shadow .25s ease,background-color .25s ease}
.kp-val{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kp-btn.is-empty .kp-val{color:#6b7585}
.kp-chev{flex:none;width:12px;height:8px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s cubic-bezier(.22,.7,.2,1)}
.kp-btn.is-open .kp-chev{transform:rotate(180deg)}
.kp-ico{flex:none;width:18px;height:18px;fill:none;stroke:#1a73c0;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.kp-btn:hover{box-shadow:inset 0 0 0 var(--kp-bw,1.5px) #4a5566}
.kp-btn:focus-visible,.kp-btn.is-open{outline:none;background:var(--kp-bg-focus,#fff);box-shadow:inset 0 0 0 2px #1a73c0,0 0 0 4px rgba(26,115,192,.14)}
.kp-btn.is-invalid{box-shadow:inset 0 0 0 2px #c0392b}
.kp-btn:disabled{cursor:not-allowed;opacity:.55;box-shadow:inset 0 0 0 var(--kp-bw,1.5px) var(--kp-line,rgba(19,26,38,.36))}

/* popup: a clean white glass panel */
.kp-pop{position:fixed;z-index:1000;box-sizing:border-box;margin:0;padding:6px;overflow:auto;overscroll-behavior:contain;background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);border-radius:16px;box-shadow:0 0 0 1px rgba(19,26,38,.08),0 26px 60px -20px rgba(23,28,38,.45),0 10px 24px -14px rgba(26,115,192,.35);color:#131a26;font-family:var(--body,"Golos Text",system-ui,sans-serif);font-size:15px;line-height:1.35;text-align:left;opacity:0;transform:translateY(-6px) scale(.98);transform-origin:50% 0;transition:opacity .18s ease,transform .3s cubic-bezier(.22,.7,.2,1)}
.kp-pop.is-up{transform:translateY(6px) scale(.98);transform-origin:50% 100%}
.kp-pop.open{opacity:1;transform:none}
.kp-pop:focus{outline:none}
.kp-pop *{box-sizing:border-box}
/* a thin sky glint runs along the top edge as it opens, like a squeegee pass */
.kp-pop:not(.kp-sheet)::before{content:"";position:absolute;left:16px;right:16px;top:0;height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(159,208,238,0),#9fd0ee 30%,#1a73c0 50%,#9fd0ee 70%,rgba(159,208,238,0));transform:scaleX(0);transform-origin:0 50%;pointer-events:none}
.kp-pop.open:not(.kp-sheet)::before{animation:kp-glint .7s .05s cubic-bezier(.22,.7,.2,1) forwards}
@keyframes kp-glint{0%{transform:scaleX(0);opacity:1}70%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:.35}}

/* list options */
.kp-opt{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 12px 10px 14px;border-radius:10px;cursor:pointer;user-select:none;-webkit-user-select:none;transition:background-color .15s ease,color .15s ease}
.kp-opt-text{flex:1;min-width:0}
.kp-opt.is-active{background:#e6eff7;box-shadow:inset 3px 0 0 #1a73c0}
.kp-opt[aria-selected="true"]{color:#1a73c0;font-weight:600;background:rgba(26,115,192,.08)}
.kp-opt[aria-selected="true"].is-active{background:rgba(26,115,192,.14)}
.kp-opt[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.kp-star{flex:none;width:14px;height:14px;fill:#1a73c0;opacity:0;transform:scale(.3) rotate(-60deg);transition:opacity .25s ease,transform .45s cubic-bezier(.34,1.56,.64,1)}
.kp-opt[aria-selected="true"] .kp-star{opacity:1;transform:none}
.kp-group-label{padding:10px 14px 4px;font:500 11px/1.3 var(--mono,"JetBrains Mono",monospace);letter-spacing:.08em;text-transform:uppercase;color:#6b7585}

/* shared small buttons */
.kp-foot{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(19,26,38,.08)}
.kp-chip{min-height:38px;padding:0 14px;border:0;border-radius:999px;background:#eef3f7;color:#131a26;font:500 14px/1 var(--body,"Golos Text",system-ui,sans-serif);cursor:pointer;transition:background-color .15s ease,color .15s ease}
.kp-chip:hover{background:rgba(26,115,192,.12);color:#1a73c0}
.kp-chip:disabled{opacity:.4;cursor:default;background:#eef3f7;color:#131a26}
.kp-chip--ghost{margin-left:auto;background:transparent;color:#4a5566}
.kp-chip--solid{margin-left:auto;background:#1a73c0;color:#fff}
.kp-chip--ghost+.kp-chip--solid{margin-left:0}
.kp-chip--solid:hover{background:#1f86db;color:#fff}
.kp-chip:focus-visible,.kp-nav:focus-visible,.kp-cell:focus-visible{outline:2px solid #1a73c0;outline-offset:2px}

/* calendar */
.kp-pop--date{width:328px;padding:12px 12px 10px}
.kp-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.kp-cal-title{margin:0;font:500 15px/1.2 var(--display,"Unbounded",system-ui,sans-serif);letter-spacing:-.01em;color:#131a26}
.kp-nav{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:#eef3f7;color:#131a26;cursor:pointer;transition:background-color .15s ease,color .15s ease}
.kp-nav:hover{background:rgba(26,115,192,.12);color:#1a73c0}
.kp-nav:disabled{opacity:.35;cursor:default;background:#eef3f7;color:#131a26}
.kp-arr{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kp-grid{width:100%;border-collapse:collapse;border-spacing:0;table-layout:fixed}
.kp-grid th{padding:8px 0 6px;font:500 11px/1 var(--mono,"JetBrains Mono",monospace);letter-spacing:.06em;text-transform:uppercase;color:#6b7585;text-align:center}
.kp-grid th.is-wkend{color:#1a73c0}
.kp-grid td{padding:2px;text-align:center}
.kp-day{position:relative;display:inline-grid;place-items:center;width:40px;max-width:100%;height:40px;padding:0;border:0;border-radius:50%;background:transparent;color:#131a26;font:500 15px/1 var(--body,"Golos Text",system-ui,sans-serif);font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color .15s ease,color .15s ease}
.kp-day:hover{background:#eef3f7}
.kp-day.is-out{color:#8a94a3}
.kp-day.is-today{color:#1a73c0;box-shadow:inset 0 0 0 1.5px #1a73c0}
.kp-day.is-sel{background:#1a73c0;color:#fff;box-shadow:0 8px 16px -8px rgba(26,115,192,.9)}
.kp-day.is-sel::after{content:"";position:absolute;top:-3px;right:-3px;width:12px;height:12px;background:#9fd0ee;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 1q1.3 7.7 9 9q-7.7 1.3-9 9q-1.3-7.7-9-9q7.7-1.3 9-9z'/%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 20 20'%3E%3Cpath d='M10 1q1.3 7.7 9 9q-7.7 1.3-9 9q-1.3-7.7-9-9q7.7-1.3 9-9z'/%3E%3C/svg%3E") center/contain no-repeat}
.kp-day:focus-visible{outline:2px solid #1a73c0;outline-offset:2px}
.kp-day:disabled{color:#c5ced8;background:transparent;box-shadow:none;cursor:default}

/* time */
.kp-pop--time{width:328px;padding:12px 12px 10px}
.kp-time-cap{margin:4px 4px 8px;font:500 11px/1 var(--mono,"JetBrains Mono",monospace);letter-spacing:.08em;text-transform:uppercase;color:#6b7585}
.kp-hours,.kp-mins{display:grid;gap:5px}
.kp-hours{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:12px}
.kp-mins{grid-template-columns:repeat(6,minmax(0,1fr))}
.kp-cell{min-height:40px;padding:0;border:0;border-radius:10px;background:#eef3f7;color:#131a26;font:500 15px/1 var(--body,"Golos Text",system-ui,sans-serif);font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color .15s ease,color .15s ease,opacity .2s ease}
.kp-cell:hover{background:rgba(26,115,192,.12);color:#1a73c0}
.kp-cell[aria-pressed="true"]{background:#1a73c0;color:#fff;box-shadow:0 8px 16px -8px rgba(26,115,192,.9)}
.kp-cell.is-wait{opacity:.5}

/* phones: a bottom sheet */
.kp-backdrop{position:fixed;inset:0;z-index:999;touch-action:none;background:rgba(19,28,38,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:kp-fade .25s ease both}
@keyframes kp-fade{from{opacity:0}to{opacity:1}}
.kp-sheet{top:auto;left:0;right:0;bottom:0;width:auto;max-height:82vh;max-height:82dvh;padding:0 12px calc(14px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;opacity:1;transform:translateY(105%);transition:transform .36s cubic-bezier(.22,.7,.2,1)}
.kp-sheet.open{transform:none}
.kp-sheet.is-drag{transition:none}
.kp-lock{scrollbar-gutter:stable}
.kp-lock,.kp-lock body{overflow:hidden}
.kp-sheet.kp-pop--select{display:flex;flex-direction:column;overflow:hidden}
.kp-sheet .kp-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:2px 0 4px}
.kp-sheet-head{position:sticky;top:0;z-index:1;flex:none;touch-action:none;cursor:grab;margin:0 -12px 4px;padding:10px 20px 10px;background:inherit;text-align:center}
.kp-grip{display:block;width:40px;height:4px;margin:0 auto 10px;border-radius:4px;background:rgba(19,26,38,.18)}
.kp-sheet-title{margin:0;font:500 15px/1.3 var(--display,"Unbounded",system-ui,sans-serif);color:#131a26}
.kp-sheet .kp-opt{min-height:52px;font-size:16px}
.kp-sheet .kp-day{width:44px;height:44px;font-size:16px}
.kp-sheet .kp-cell{min-height:46px;font-size:16px}
.kp-sheet .kp-chip{min-height:44px;font-size:15px}
.kp-sheet .kp-nav{width:44px;height:44px}
.kp-sheet.kp-pop--date .kp-grid,.kp-sheet.kp-pop--date .kp-cal-head,.kp-sheet.kp-pop--date .kp-foot,.kp-sheet.kp-pop--time>*{max-width:420px;margin-left:auto;margin-right:auto}
.kp-sheet.kp-pop--time .kp-hours{margin-bottom:14px}
.kp-sheet .kp-time-cap{margin-top:10px}
.kp-sheet.kp-pop--time .kp-sheet-head{max-width:none;margin:0 -12px 4px}
@media (pointer:coarse){.kp-cell{min-height:44px}.kp-chip{min-height:44px}.kp-nav{width:44px;height:44px}}
@media (prefers-reduced-motion:reduce){.kp-pop,.kp-sheet,.kp-backdrop,.kp-chev,.kp-star,.kp-opt,.kp-day,.kp-cell{transition:none;animation:none}.kp-pop:not(.kp-sheet)::before{animation:none;transform:scaleX(1);opacity:.35}}
@media (forced-colors:active){.kp-btn,.kp-pop{border:1px solid CanvasText}.kp-btn:focus-visible,.kp-btn.is-open{outline:2px solid Highlight;outline-offset:2px}.kp-opt.is-active{outline:2px solid Highlight;outline-offset:-2px}.kp-opt[aria-selected="true"],.kp-day.is-sel,.kp-cell[aria-pressed="true"]{forced-color-adjust:none;background:Highlight;color:HighlightText}}
