@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}*,::after,::before{box-sizing:border-box;margin:0;padding:0}:root{--sp-pink:#ec4899;--sp-pink-dark:#db2777;--sp-ink:#111827;--sp-ink2:#374151;--sp-muted:#6b7280;--sp-border:#e5e7eb;--sp-bg:#f9fafb;--sp-card:#ffffff;--sp-green:#16a34a;--sp-red:#dc2626;--sp-amber:#d97706;--sp-radius:14px;--sp-radius-sm:8px;--sp-shadow:0 1px 4px rgba(15,23,42,.08);--sp-shadow-lg:0 8px 24px rgba(15,23,42,.12);--safe-top:env(safe-area-inset-top, 0px);--safe-bottom:env(safe-area-inset-bottom, 0px)}body.yatoon-staff-portal-page{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--sp-bg);color:var(--sp-ink);min-height:100dvh;-webkit-font-smoothing:antialiased}#ysp-app{max-width:480px;margin:0 auto;min-height:100dvh;flex-direction:column}.ysp-screen{display:none;flex-direction:column;flex:1}#ysp-app,.ysp-screen.active{display:flex}#ysp-login-screen,.ysp-login-logo{align-items:center;justify-content:center}#ysp-login-screen{padding:32px 24px calc(32px + var(--safe-bottom));background:var(--sp-card)}.ysp-login-logo{width:64px;height:64px;background:linear-gradient(135deg,var(--sp-pink) 0%,var(--sp-pink-dark) 100%);border-radius:16px;display:flex;font-size:28px;margin:0 auto 20px;box-shadow:0 4px 14px rgba(236,72,153,.3)}.ysp-login-title{font-size:22px;font-weight:700;text-align:center;margin-bottom:6px}.ysp-login-sub{font-size:14px;color:var(--sp-muted);text-align:center;margin-bottom:32px}.ysp-login-form{width:100%;max-width:320px}.ysp-field{margin-bottom:16px}.ysp-label{display:block;font-size:13px;font-weight:600;color:var(--sp-ink2);margin-bottom:6px}.ysp-input{width:100%;height:48px;border:1.5px solid var(--sp-border);border-radius:var(--sp-radius-sm);padding:0 14px;font-size:16px;color:var(--sp-ink);background:var(--sp-card);outline:0;transition:border-color .15s}.ysp-input:focus{border-color:var(--sp-pink)}.ysp-pin-display{display:flex;gap:12px;justify-content:center;margin-bottom:24px}.ysp-pin-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--sp-border);background:0 0;transition:background .15s,border-color .15s}.ysp-pin-dot.filled{background:var(--sp-pink);border-color:var(--sp-pink)}.ysp-numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:280px;margin:0 auto 24px}.ysp-numpad-btn{height:64px;border:1.5px solid var(--sp-border);border-radius:var(--sp-radius-sm);background:var(--sp-card);font-size:22px;font-weight:500;color:var(--sp-ink);cursor:pointer;transition:background .1s,transform .1s;-webkit-tap-highlight-color:transparent;user-select:none}.ysp-numpad-btn:active{background:var(--sp-bg);transform:scale(.95)}.ysp-numpad-btn.backspace{font-size:18px;color:var(--sp-muted)}.ysp-numpad-btn.empty{border:0;background:0 0;pointer-events:none}.ysp-login-error{color:var(--sp-red);font-size:13px;text-align:center;min-height:20px;margin-bottom:8px}.ysp-topbar{background:var(--sp-card);border-bottom:1px solid var(--sp-border);padding:calc(12px + var(--safe-top)) 16px 12px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.ysp-topbar-name{font-size:16px;font-weight:700;color:var(--sp-ink)}.ysp-topbar-sub{font-size:12px;color:var(--sp-muted);margin-top:1px}.ysp-topbar-logout{font-size:13px;color:var(--sp-muted);background:0 0;border:0;cursor:pointer;padding:6px 10px;border-radius:6px}.ysp-topbar-logout:active{background:var(--sp-bg)}.ysp-day-tabs{display:flex;gap:6px;padding:12px 16px;background:var(--sp-card);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ysp-day-tabs::-webkit-scrollbar{display:none}.ysp-day-tab{flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding:8px 14px;border-radius:var(--sp-radius-sm);border:1.5px solid var(--sp-border);background:var(--sp-card);color:var(--sp-ink);cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent}.ysp-day-tab.active{background:var(--sp-pink);border-color:var(--sp-pink);color:#fff}.ysp-day-tab-day{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.ysp-day-tab-num{font-size:20px;font-weight:700;line-height:1.2}.ysp-day-tab-count{font-size:10px;background:rgba(0,0,0,.08);border-radius:999px;padding:1px 6px;margin-top:3px}.ysp-day-tab.active .ysp-day-tab-count{background:rgba(255,255,255,.25)}.ysp-schedule{flex:1;padding:12px 16px calc(24px + var(--safe-bottom));overflow-y:auto}.ysp-date-heading{font-size:13px;font-weight:600;color:var(--sp-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;margin-top:4px}.ysp-empty{text-align:center;padding:48px 24px;color:var(--sp-muted)}.ysp-empty-icon{font-size:40px;margin-bottom:12px}.ysp-empty-text{font-size:15px}.ysp-card{background:var(--sp-card);border:1px solid var(--sp-border);border-radius:var(--sp-radius);padding:16px;margin-bottom:10px;box-shadow:var(--sp-shadow);cursor:pointer;transition:box-shadow .15s;-webkit-tap-highlight-color:transparent}.ysp-card:active{box-shadow:var(--sp-shadow-lg)}.ysp-card-row1{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}.ysp-card-time{font-size:20px;font-weight:700;color:var(--sp-ink);line-height:1}.ysp-card-duration{font-size:12px;color:var(--sp-muted);margin-top:3px}.ysp-status-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px;text-transform:capitalize}.ysp-status-badge.confirmed{background:#dcfce7;color:#15803d}.ysp-status-badge.pending{background:#fef9c3;color:#a16207}.ysp-status-badge.arrived{background:#dbeafe;color:#1d4ed8}.ysp-status-badge.no_show{background:#fee2e2;color:#b91c1c}.ysp-status-badge.cancelled{background:#f3f4f6;color:#6b7280}.ysp-status-badge.completed{background:#f0fdf4;color:#16a34a}.ysp-card-customer{font-size:16px;font-weight:600;color:var(--sp-ink);margin-bottom:2px}.ysp-card-service{font-size:13px;color:var(--sp-muted);margin-bottom:8px}.ysp-card-price{font-size:14px;font-weight:600;color:var(--sp-pink)}.ysp-card-notes{font-size:13px;color:var(--sp-ink2);background:#fef3c7;border-radius:6px;padding:6px 10px;margin-top:8px;border-left:3px solid #fbbf24}.ysp-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:200;align-items:flex-end}.ysp-overlay.open{display:flex}.ysp-sheet{background:var(--sp-card);border-radius:20px 20px 0 0;width:100%;max-height:90dvh;overflow-y:auto;padding:0 0 calc(24px + var(--safe-bottom));animation:slideUp .25s ease-out}.ysp-sheet-handle{width:36px;height:4px;background:var(--sp-border);border-radius:999px;margin:12px auto 20px}.ysp-sheet-body{padding:0 20px}.ysp-sheet-time{font-size:28px;font-weight:700;margin-bottom:4px}.ysp-sheet-customer{font-size:18px;font-weight:600;margin-bottom:2px}.ysp-sheet-service{font-size:14px;color:var(--sp-muted);margin-bottom:16px}.ysp-sheet-info-row{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--sp-ink2);padding:10px 0;border-bottom:1px solid var(--sp-border)}.ysp-sheet-info-row:last-of-type{border-bottom:none}.ysp-sheet-info-icon{font-size:18px;width:24px;text-align:center;flex-shrink:0}.ysp-sheet-notes-box{background:#fef9c3;border-radius:10px;padding:12px 14px;font-size:14px;color:var(--sp-ink2);margin:16px 0;border-left:3px solid #fbbf24}.ysp-sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.ysp-action-btn{height:48px;border-radius:var(--sp-radius-sm);border:0;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s;-webkit-tap-highlight-color:transparent}.ysp-action-btn:active{opacity:.8;transform:scale(.97)}.ysp-action-btn.arrived{background:#dbeafe;color:#1d4ed8}.ysp-action-btn.no-show{background:#fee2e2;color:#b91c1c}.ysp-action-btn.complete{background:#dcfce7;color:#15803d;grid-column:1/-1}.ysp-action-btn.call{background:var(--sp-bg);color:var(--sp-ink2);border:1.5px solid var(--sp-border)}.ysp-action-btn.cancel{background:var(--sp-bg);color:var(--sp-muted)}.ysp-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--sp-border);border-top-color:var(--sp-pink);border-radius:50%;animation:spin .7s linear infinite}.ysp-loading-wrap{display:flex;justify-content:center;padding:40px}.ysp-toast{position:fixed;bottom:calc(24px + var(--safe-bottom));left:50%;transform:translateX(-50%) translateY(20px);background:var(--sp-ink);color:#fff;font-size:14px;font-weight:500;padding:10px 20px;border-radius:999px;opacity:0;transition:opacity .2s,transform .2s;z-index:300;white-space:nowrap}.ysp-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.ysp-refresh-btn{background:0 0;border:0;cursor:pointer;font-size:18px;color:var(--sp-muted);padding:6px;border-radius:6px;-webkit-tap-highlight-color:transparent}.ysp-refresh-btn:active{background:var(--sp-bg)}