#psPlanningRoot{--ps-line:#e5eaf0;--ps-text:#203347;color:var(--ps-text)}
.ps-shell{background:white;border:1px solid var(--ps-line);border-radius:18px;overflow:hidden}
.ps-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:18px;border-bottom:1px solid var(--ps-line)}
.ps-toolbar h2{font-size:20px;margin:0;flex:1;min-width:240px}.ps-toolbar button{padding:8px 13px}.ps-toolbar input{width:150px}
.ps-filters{display:flex;gap:12px;flex-wrap:wrap;padding:14px 18px;background:#f8fafc;align-items:end}
.ps-filters label{display:grid;gap:4px;font-size:12px;font-weight:600;flex:1;min-width:180px}.ps-filters select{min-width:0;width:100%;height:38px}.ps-filters .ps-zoom{flex:0 0 100px;min-width:100px}
.ps-filters .ps-mode{flex:0 0 210px;min-width:210px}
.ps-summary{padding:10px 18px;font-size:13px;color:#637487;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ps-scroll{overflow:auto;max-height:72vh;position:relative;overscroll-behavior:contain;border-top:1px solid var(--ps-line)}
.ps-grid{display:grid;grid-template-columns:56px repeat(var(--ps-days,6),minmax(155px,1fr));min-width:986px}
.ps-toolbar .ps-sunday{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.ps-toolbar .ps-sunday input{width:18px;height:18px;margin:0;accent-color:#258770;cursor:pointer}
.ps-head{position:sticky;top:0;background:#fff;z-index:5;text-align:center;border-bottom:1px solid var(--ps-line);border-right:1px solid var(--ps-line);padding:10px 4px;font-size:12px;font-weight:600;color:#65758a}
.ps-head strong{display:block;font-size:22px;color:#253950}.ps-head.today{background:#eaf5f0;color:#127356}.ps-head.today strong{color:#127356}
.ps-hours{position:sticky;left:0;z-index:3;background:#fff;border-right:1px solid var(--ps-line)}.ps-hours span{position:absolute;left:0;right:0;padding-right:7px;text-align:right;font-size:11px;font-weight:600;line-height:16px;color:#50657a;transform:translateY(-50%);background:#fff}.ps-hours span::before{content:'';position:absolute;left:0;top:50%;width:6px;border-top:2px solid #aebfce}
.ps-day{position:relative;border-right:1px solid var(--ps-line);background-image:repeating-linear-gradient(to bottom,#aebfce 0,#aebfce 2px,transparent 2px,transparent calc(var(--ps-half) + var(--ps-half))),repeating-linear-gradient(to bottom,#e9edf2 0,#e9edf2 1px,transparent 1px,transparent var(--ps-half))}.ps-day.today{background-color:#f6fbf9}
#psPlanningRoot .ps-event{position:absolute;display:block;padding:5px 6px;text-align:left;border:1px solid color-mix(in srgb,var(--event-color),white 70%);border-left:3px solid var(--event-color);border-radius:5px;background:color-mix(in srgb,var(--event-color),white 92%);color:#213349;cursor:pointer;overflow:hidden;min-width:0;font-family:inherit;box-shadow:0 1px 2px #17263710;transition:box-shadow .15s,filter .15s}
#psPlanningRoot .ps-event:hover,#psPlanningRoot .ps-event:focus-visible{z-index:4;box-shadow:0 3px 13px #233e4d40;filter:brightness(.97);outline:2px solid var(--event-color)}
.ps-event b,.ps-event span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ps-event b{font-size:12px;line-height:17px}.ps-event span{font-size:10px;line-height:14px}.ps-event .ps-count{font-weight:750;color:var(--event-color)}.ps-event.full .ps-count{color:#b23a47}.ps-event .ps-time{font-weight:700}
#psPlanningRoot .ps-event.ps-free{background:#eaf8f2;border-color:#79c5aa;border-left-color:#1b9a70;color:#106347;cursor:pointer}
#psPlanningRoot .ps-event.ps-free:hover,#psPlanningRoot .ps-event.ps-free:focus-visible{background:#ddf5eb;box-shadow:0 3px 13px #126b5440;outline:2px solid #1b9a70}
#psPlanningRoot .ps-event.ps-rental{background:#fff0f2;border-color:#e7a8b0;border-left-color:#a1263d;color:#7f2032;cursor:default}
#psPlanningRoot .ps-event.ps-rental:hover{filter:none;box-shadow:0 1px 2px #17263710;outline:0}
.ps-now{position:absolute;height:2px;background:#dc5063;left:0;right:0;z-index:3;pointer-events:none}.ps-now:before{content:'';position:absolute;width:7px;height:7px;background:#dc5063;border-radius:50%;top:-2px}
.ps-empty{padding:32px;color:#677b8b;text-align:center}.ps-error{color:#a1263d;background:#fff1f3;padding:12px;border-radius:8px}.ps-legend{display:flex;gap:12px;flex-wrap:wrap;padding:12px 18px;font-size:12px;color:#65758a}.ps-legend i{display:inline-block;width:8px;height:8px;border-radius:3px;margin-right:5px}
.ps-dialog{border:0;border-radius:18px 0 0 18px;padding:0;max-width:570px;width:calc(100% - 16px);height:100dvh;max-height:100dvh;position:fixed;inset:0 0 0 auto;margin:0;color:#213349;box-shadow:0 20px 80px #182b4650;overflow:auto}.ps-dialog::backdrop{background:#15283c40}
.ps-add-client{padding:16px 0;border-top:1px solid #e4eaf0}.ps-add-client>button{width:100%;padding:12px;border:0;border-radius:9px;background:#159c76;color:#fff;font-weight:700}.ps-add-client label{display:grid;gap:8px;margin-top:14px;font-weight:600}.ps-add-client input{width:100%;box-sizing:border-box;padding:12px;border:1px solid #cbd7df;border-radius:8px}.ps-add-client p{font-size:12px;color:#697d8d}.ps-client-result{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #e8edf1}.ps-client-result>div{min-width:0}.ps-client-result small{display:block;margin-top:4px;overflow-wrap:anywhere}.ps-client-result button{padding:8px;border:1px solid #159c76;border-radius:8px;color:#126b54;background:#f0faf6;flex-shrink:0}.ps-client-result button:disabled{opacity:.5;cursor:not-allowed}.ps-eligible{color:#167657}.ps-ineligible{color:#a55237}.ps-move-details{border-top:1px solid #e4eaf0;padding-top:16px}.ps-move-details summary{cursor:pointer;font-weight:600}.ps-move-details .ps-move{border:0}
.ps-dialog header{display:flex;gap:12px;align-items:start;padding:22px;border-bottom:1px solid #e8edf1}.ps-dialog header h2{font-size:20px;margin:0;flex:1}.ps-dialog header button{padding:4px 10px}.ps-dialog section{padding:18px 22px}.ps-detail-meta{color:#6c7d8d;font-size:14px;line-height:1.8}.ps-occupancy{display:flex;gap:20px;background:#f1f7f5;padding:14px;border-radius:10px;margin:14px 0;font-size:13px}.ps-occupancy strong{display:block;font-size:24px;color:#166c53}
.ps-rental-dialog header p{margin:6px 0 0;color:#687b8b;font-size:13px}.ps-rental-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ps-rental-fields label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#52687a}.ps-rental-fields .wide{grid-column:1/-1}.ps-rental-fields input,.ps-rental-fields select{width:100%;box-sizing:border-box;min-width:0;padding:11px;border:1px solid #cbd7df;border-radius:8px;background:#fff;color:#203347}.ps-payment-confirm{display:flex;align-items:flex-start;gap:11px;margin:18px 0;padding:14px;border:1px solid #a9d9c7;border-radius:10px;background:#eef9f5;cursor:pointer}.ps-payment-confirm input{width:19px;height:19px;margin:2px 0 0;accent-color:#159c76}.ps-payment-confirm span{display:grid;gap:4px}.ps-payment-confirm small{color:#637a70}.ps-rental-submit{width:100%;margin-top:12px;padding:13px;border:0;border-radius:9px;background:#159c76;color:#fff;font-weight:750}.ps-rental-submit:disabled{opacity:.6}
.ps-people{padding:0;list-style:none;max-height:210px;overflow:auto}.ps-people li{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f4}.ps-people small{display:block;color:#697d8d}.ps-move{border-top:1px solid #e4eaf0;padding-top:16px}.ps-move h3{font-size:16px;margin:0 0 12px}.ps-move-fields{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px}.ps-move label{display:grid;gap:5px;font-size:12px;min-width:0}.ps-move input{width:100%;min-width:0;padding:8px}.ps-move p{font-size:12px;color:#6b7b8b;line-height:1.5}.ps-move button{width:100%}
.ps-replace-details{margin:0 0 18px;border:1px solid #a9d9c7;border-radius:13px;background:#f1faf7;overflow:hidden}
.ps-replace-details>summary{display:flex;align-items:center;gap:11px;padding:13px 14px;color:#174b3d;cursor:pointer;list-style:none;transition:background .15s}.ps-replace-details>summary::-webkit-details-marker{display:none}.ps-replace-details>summary:hover{background:#e7f7f1}.ps-replace-details>summary>span:nth-child(2){display:grid;gap:2px;min-width:0;flex:1}.ps-replace-details>summary strong{font-size:14px}.ps-replace-details>summary small{color:#658078;font-size:11px;font-weight:500}.ps-replace-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#159c76;color:#fff;font-size:17px;font-weight:800}.ps-replace-chevron{font-size:20px;transition:transform .18s}.ps-replace-details[open] .ps-replace-chevron{transform:rotate(180deg)}
.ps-replace-panel{padding:15px;border-top:1px solid #b9ddcf;background:linear-gradient(145deg,#f7fcfa,#eaf8f3)}
.ps-replace-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ps-replace-fields label{display:grid;gap:5px;min-width:0;color:#52687a;font-size:11px;font-weight:750}.ps-replace-fields label.wide{grid-column:auto}.ps-replace-fields input,.ps-replace-fields select{box-sizing:border-box;width:100%;min-width:0;padding:9px;border:1px solid #bdd8ce;border-radius:8px;background:#fff;color:#203347}
.ps-notify-clients{display:flex!important;align-items:flex-start;gap:9px;margin:12px 0!important;padding:10px;border:1px solid #b9ddcf;border-radius:9px;background:#fff;cursor:pointer}.ps-notify-clients input{flex:0 0 auto!important;width:17px!important;height:17px;margin:2px 0 0;accent-color:#159c76}.ps-notify-clients span{display:grid;gap:2px}.ps-notify-clients strong{color:#225948;font-size:12px}.ps-notify-clients small{color:#688077;font-size:11px;line-height:1.35}
.ps-replace-panel p{margin:10px 0;color:#60776f;font-size:11px;line-height:1.45}.ps-replace-submit{width:100%;padding:11px;border:0;border-radius:9px;background:#159c76;color:#fff;font-weight:750}.ps-replace-submit:disabled{opacity:.6}
@media(max-width:700px){.ps-toolbar{padding:12px}.ps-toolbar h2{font-size:17px}.ps-filters{padding:10px}.ps-summary{font-size:12px}.ps-scroll{max-height:68vh}.ps-move-fields{grid-template-columns:1fr 1fr}.ps-move-fields label:first-child{grid-column:1/-1}.ps-rental-fields,.ps-replace-fields{grid-template-columns:1fr}.ps-replace-fields label.wide{grid-column:auto}}
