.chw-picker{z-index:999999;background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.15);padding:10px 12px 12px;width:380px;max-width:92vw;max-height:90vh;overflow:auto;border:1px solid rgba(0,0,0,.06);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}@media (max-width:640px){.chw-picker{width:420px;max-width:96vw}}.chw-header{display:flex;align-items:center;justify-content:flex-start}.chw-badges{display:flex;gap:6px;align-items:center}.chw-badge{font-size:12px;padding:2px 8px;border-radius:999px;background:#f0f0f0;color:#444;border:1px solid rgba(0,0,0,.08)}.chw-btn,.chw-footer button{padding:6px 10px;background:#fff}.chw-badge.active{background:#e6f6ec;color:#0a7a3f;border-color:#bfe8cf;font-weight:600}.chw-badge-sep{font-size:12px;color:#888}.chw-stage{font-weight:600;font-size:13px;text-align:center;margin:4px 0 6px}.chw-title{text-align:center;font-size:12px;color:#666;margin-top:2px;margin-bottom:6px}.chw-svg{display:block;margin:4px auto 6px}.chw-footer,.chw-header{display:flex;display:flex}.chw-svg,.chw-svg *{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.chw-hour,.chw-minute-label{user-select:none;cursor:pointer}.chw-bg{fill:#f7f7f7;stroke:#e5e5e5;stroke-width:1}.chw-hour{font-size:14px;fill:#333}.chw-hour.inner{fill:#444}.chw-minute-label{font-size:11px;fill:#444}.chw-minute-tick{stroke:#bbb;stroke-width:1}.chw-pointer{stroke:#333;stroke-width:2}.chw-handle{fill:#333}.chw-footer{justify-content:flex-end;gap:8px;margin-top:8px}.chw-footer button{border:1px solid rgba(0,0,0,.15);border-radius:8px;cursor:pointer;font-size:12px}.chw-footer .chw-next{background:#f2f2f2;font-weight:600}.chw-footer .chw-back:disabled{opacity:.5;cursor:not-allowed}@media (max-width:768px){.chw-picker{position:fixed!important;left:50%!important;top:50%!important;transform:translate3d(-50%,-50%,0);will-change:transform;backface-visibility:hidden;width:360px;max-width:94vw;overflow:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:auto}}@media (max-width:480px){.chw-picker{width:320px}.chw-stage{font-size:12px}.chw-title{font-size:11px}}.chw-header{align-items:center;justify-content:space-between;margin-bottom:6px;justify-content:space-between;align-items:center;gap:12px}.chw-header-title{font-size:12px;color:#666}.chw-preview{margin-left:auto;font-size:13px;font-weight:600;color:#333;font-variant-numeric:tabular-nums}.chw-mobile-range,.chw-range{font-weight:700}.chw-base{opacity:.9}.chw-mobile-hour{display:none}.chw-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.chw-btn{border-radius:8px;border:1px solid rgba(0,0,0,.15);cursor:pointer}.chw-btn-clear{font-weight:600}.chw-btn.chw-btn-clear{background:#e53935;border-color:#e53935;color:#fff;font-weight:700}.chw-btn.chw-btn-clear:hover{filter:brightness(.95)}.chw-btn.chw-btn-clear:active{transform:scale(.98)}.mobile-row-label.chw-selected,.time-cell.chw-selected{position:relative;outline:rgba(0,140,255,.95) solid 4px;outline-offset:-4px;box-shadow:inset 0 0 0 3px rgba(255,255,255,.85),0 0 0 3px rgba(0,140,255,.35),0 8px 20px rgba(0,140,255,.25);background:rgba(0,140,255,.14);border-radius:10px;transition:outline-color 140ms,background 140ms,box-shadow 140ms;overflow:hidden}.mobile-row-label.chw-selected::before,.time-cell.chw-selected::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 0,rgba(255,255,255,.35) 45%,rgba(255,255,255,.55) 50%,rgba(255,255,255,.35) 55%,transparent 100%);transform:translateX(-120%);animation:420ms ease-out chwShimmerOnce}.mobile-row-label.chw-selected::after,.time-cell.chw-selected::after{content:"✓";position:absolute;top:6px;right:8px;font-size:16px;font-weight:800;line-height:1;padding:2px 6px;border-radius:999px;background:rgba(0,140,255,.95);color:#fff;box-shadow:0 6px 14px rgba(0,0,0,.18);pointer-events:none}@media (max-width:479px){.mobile-row-label.chw-selected::after,.time-cell.chw-selected::after{top:4px;right:6px;font-size:14px;padding:2px 5px}}@media print{.mobile-row-label.chw-selected,.time-cell.chw-selected{outline:0!important;box-shadow:none!important;background:0 0!important}.mobile-row-label.chw-selected::after,.time-cell.chw-selected::after{content:""!important}}@keyframes chwShimmerOnce{to{transform:translateX(120%)}}@media (prefers-reduced-motion:reduce){.mobile-row-label.chw-selected::before,.time-cell.chw-selected::before{animation:none!important;content:none!important}}.dark-mode .chw-picker{background:#14161a;border:1px solid rgba(255,255,255,.1);box-shadow:0 14px 40px rgba(0,0,0,.55);color:rgba(255,255,255,.92)}.dark-mode .chw-header-title,.dark-mode .chw-title{color:rgba(255,255,255,.7)}.dark-mode .chw-stage{color:rgba(255,255,255,.9)}.dark-mode .chw-preview{color:rgba(255,255,255,.92)}.dark-mode .chw-badge{background:rgba(255,255,255,.06);color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.1)}.dark-mode .chw-badge.active{background:rgba(12,170,90,.2);color:#7dffb6;border-color:rgba(125,255,182,.35)}.dark-mode .chw-bg{fill:rgba(255,255,255,.05);stroke:rgba(255,255,255,.10)}.dark-mode .chw-handle,.dark-mode .chw-hour{fill:rgba(255,255,255,.88)}.dark-mode .chw-hour.inner,.dark-mode .chw-minute-label{fill:rgba(255,255,255,.78)}.dark-mode .chw-minute-tick{stroke:rgba(255,255,255,.25)}.dark-mode .chw-pointer{stroke:rgba(255,255,255,.88)}.dark-mode .chw-btn,.dark-mode .chw-footer button{background:rgba(255,255,255,.06);color:rgba(255,255,255,.9);border-color:rgba(255,255,255,.12)}.dark-mode .chw-btn:hover,.dark-mode .chw-footer button:hover{filter:brightness(1.08)}.dark-mode .chw-footer .chw-next{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.14)}.dark-mode .chw-footer .chw-back:disabled{opacity:.45}.dark-mode .chw-btn.chw-btn-clear{background:#e53935;border-color:#e53935;color:#fff}.dark-mode .mobile-row-label.chw-selected,.dark-mode .time-cell.chw-selected{outline-color:rgba(0,140,255,.95);background:rgba(0,140,255,.18);box-shadow:inset 0 0 0 3px rgba(0,0,0,.35),0 0 0 3px rgba(0,140,255,.25),0 8px 20px rgba(0,140,255,.2)}.dark-mode .mobile-row-label.chw-selected::after,.dark-mode .time-cell.chw-selected::after{background:rgba(0,140,255,.95);color:#fff}