.pp-panel{position:absolute;z-index:1200;display:none;width:min(360px, calc(100vw - 24px));background:var(--surface);border:1px solid var(--border);border-radius:13px;box-shadow:0 24px 64px -12px rgb(16 34 73 / .24),0 6px 20px rgb(16 34 73 / .10);overflow:hidden}html[data-theme="dark"] .pp-panel{box-shadow:0 24px 64px -8px rgb(0 0 0 / .55),0 6px 20px rgb(0 0 0 / .35)}.pp-panel.show{display:grid;grid-template-columns:118px minmax(0,1fr);animation:ppPanelIn .2s cubic-bezier(.16,1,.3,1)}@keyframes ppPanelIn{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}.pp-side{padding:7px;background:var(--surface-2);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:1px}.pp-item{display:flex;align-items:center;gap:6px;width:100%;border:none;background:none;text-align:left;padding:7px 9px;border-radius:7px;cursor:pointer;font-family:"Poppins",sans-serif;font-size:11.5px;font-weight:500;color:var(--text);transition:background .15s ease,color .15s ease}.pp-item:hover,.pp-item:focus-visible{background:rgb(37 99 235 / .08);color:var(--primary);outline:none}.pp-item.active{color:#fff;font-weight:600;background:linear-gradient(135deg,#3B82F6 0%,#2563EB 55%,#1D4ED8 100%);box-shadow:0 4px 10px -2px rgb(37 99 235 / .35)}html[data-theme="dark"] .pp-item.active{background:linear-gradient(135deg,#60A5FA 0%,#3B82F6 55%,#2563EB 100%)}.pp-sep{height:1px;background:var(--border);margin:5px 2px;flex-shrink:0}.pp-detail{padding:12px 13px;display:flex;flex-direction:column}.pp-grid-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.pp-grid-title{font-size:12px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.pp-nav{width:23px;height:23px;border:none;border-radius:6px;background:#fff0;color:var(--text-light);display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;transition:background .15s ease,color .15s ease}.pp-nav:hover{background:rgb(37 99 235 / .08);color:var(--primary)}.pp-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);gap:3px;min-height:108px}.pp-cell{border:none;border-radius:7px;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:"Poppins",sans-serif;font-size:11.5px;font-weight:500;color:var(--text);font-variant-numeric:tabular-nums;transition:background .15s ease,color .15s ease}.pp-cell:hover:not(:disabled){background:rgb(37 99 235 / .08);color:var(--primary)}.pp-cell.now{color:var(--primary);font-weight:700}.pp-cell.selected{background:var(--primary);color:#fff;font-weight:600}.pp-cell:disabled{color:var(--text-light);opacity:.4;cursor:default}.pp-dow{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:1px}.pp-dow span{text-align:center;font-size:9px;font-weight:700;color:var(--text-light);text-transform:uppercase;padding-bottom:3px}.pp-daygrid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;min-height:190px}.pp-daycell{min-height:27px;border:none;border-radius:6px;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:"Poppins",sans-serif;font-size:11px;font-weight:500;color:var(--text);font-variant-numeric:tabular-nums;transition:background .15s ease,color .15s ease}.pp-daycell:hover:not(.pad):not(:disabled){background:rgb(37 99 235 / .08);color:var(--primary)}.pp-daycell.pad{color:var(--text-light);opacity:.3;cursor:default}.pp-daycell.now{color:var(--primary);font-weight:700}.pp-daycell.selected{background:var(--primary);color:#fff;font-weight:600}.pp-daycell:disabled:not(.pad){color:var(--text-light);opacity:.35;cursor:not-allowed}.pp-reset{width:100%;margin-top:10px;padding-top:10px;border:none;border-top:1px solid var(--border);background:none;color:var(--primary);font-family:"Poppins",sans-serif;font-size:12px;font-weight:600;cursor:pointer;text-align:center}.pp-reset:hover{text-decoration:underline}@media (max-width:600px){.pp-panel{width:calc(100vw - 24px)}.pp-panel.show{grid-template-columns:1fr}.pp-side{flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid var(--border)}.pp-item{width:auto}.pp-sep{display:none}}