.planning-page{max-width:120rem;margin-inline:auto;padding:2.4rem clamp(1rem,3vw,2.5rem) 3rem}.planning-heading{justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2rem;display:flex}.planning-heading h1{font-size:2rem;line-height:1.2}.planning-heading p{color:var(--color-muted);margin-top:.55rem;font-size:.95rem}.planning-demo{color:var(--color-muted);border:1px solid var(--color-rule);border-radius:.3rem;padding:.25rem .5rem;font-size:.72rem}.planning-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.25rem;display:flex}.planning-date{margin-left:.3rem;font-size:.9rem;font-weight:650}.planning-date-input{border:1px solid var(--color-rule);width:9.3rem;color:var(--color-ink);background:#fff;border-radius:.4rem;margin-left:.3rem;padding:.35rem .5rem;font-size:.8rem}.planning-select{border:1px solid var(--color-rule);background:#fff;border-radius:.45rem;max-width:100%;height:2.25rem;padding-inline:.7rem 1.5rem;font-size:.8rem}.planning-filters{flex-wrap:wrap;align-items:center;gap:.55rem;padding-bottom:1.2rem;display:flex}.planning-search{border:1px solid var(--color-rule);height:2.25rem;color:var(--color-muted);background:#fff;border-radius:.45rem;align-items:center;gap:.5rem;padding-inline:.7rem;display:flex}.planning-search input{width:10rem;color:var(--color-ink);outline:none;font-size:.8rem}.planning-search:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}.planning-filter{font-size:.8rem;position:relative}.planning-filter>button{border:1px solid var(--color-rule);cursor:pointer;background:#fff;border-radius:.45rem;justify-content:space-between;align-items:center;gap:.65rem;height:2.25rem;padding-inline:.7rem;list-style:none;display:flex}.planning-filter>button::-webkit-details-marker{display:none}.planning-filter-count{background:var(--color-success-bg);color:var(--color-success-fg);border-radius:.25rem;padding:.05rem .35rem;font-size:.7rem;font-weight:700}.planning-filter-menu{color:var(--color-ink);z-index:40;background:#fff;border:0;border-radius:.6rem;width:17rem;max-height:21rem;margin:0;padding:.9rem;position:fixed;inset:auto;overflow-y:auto;box-shadow:0 8px 28px #1a233229}.planning-legend{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:1rem;margin-left:auto;font-size:.72rem;display:flex}.planning-legend span{align-items:center;gap:.4rem;display:inline-flex}.planning-legend i{border-radius:2px;width:.6rem;height:.6rem;display:inline-block}.legend-booked{background:var(--color-accent)}.legend-actual{background:#7965aa}.legend-over{background:#ba6060}.planning-avatar{color:#365c4a;background:#e2ebe5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:650;display:inline-flex}.planning-avatar.department-tax{color:#795734;background:#eee5db}.planning-avatar.department-cas{color:#655086;background:#e4e1f0}.planning-avatar.department-admin{color:#446479;background:#dfe9ef}.planning-actual-number{color:#66508d}.planning-summary{color:var(--color-muted);border:1px solid var(--color-rule);background:#fff;border-bottom:0;border-radius:.75rem .75rem 0 0;flex-wrap:wrap;align-items:center;gap:1.5rem;padding:.9rem 1rem;font-size:.78rem;display:flex}.planning-summary strong{color:var(--color-ink);font-weight:650}.planning-ledger{border:1px solid var(--color-rule);background:#fff;border-radius:.6rem;width:100%;max-height:72vh;overflow:auto}.planning-summary+.planning-ledger{border-radius:0 0 .75rem .75rem}.planning-footnote{color:var(--color-muted);margin-top:1rem;font-size:.75rem;line-height:1.6}.planning-empty{color:var(--color-muted);flex-direction:column;align-items:center;gap:.7rem;padding:4rem 1rem;font-size:.85rem;display:flex}.planning-empty h3{color:var(--color-ink);font-size:1rem}.planning-dialog{width:min(42rem,100vw - 2rem);max-height:calc(100dvh - 3rem);color:var(--color-ink);background:#fff;border:0;border-radius:.9rem;padding:0;overflow-y:auto;box-shadow:0 20px 65px #1a233238}.planning-dialog-wide{width:min(73rem,100vw - 2rem)}.planning-segments{background:var(--color-soft);border-radius:.5rem;gap:.2rem;padding:.25rem;display:flex}.planning-segments button{color:var(--color-muted);cursor:pointer;border-radius:.35rem;flex:1;justify-content:center;align-items:center;gap:.45rem;padding:.5rem .6rem;font-size:.8rem;display:inline-flex}.planning-segments button[aria-pressed=true]{color:var(--color-pine);background:#fff;font-weight:650;box-shadow:0 1px 3px #1a23321a}.planning-detail-totals{border-bottom:1px solid var(--color-rule);grid-template-columns:repeat(4,1fr);gap:1rem;padding-bottom:1rem;font-size:.75rem;display:grid}.planning-detail-totals strong{font-variant-numeric:tabular-nums;margin-top:.35rem;font-size:1.3rem;font-weight:600;display:block}.planning-booking-row{border-bottom:1px solid var(--color-table-hairline);text-align:left;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding-block:1rem;font-size:.82rem;display:flex}.planning-booking-row strong{font-weight:550}.planning-booking-row small{color:var(--color-muted);margin-top:.25rem;font-size:.73rem;display:block}.planning-booking-row>span:last-child{white-space:nowrap;align-items:center;gap:.5rem;display:flex}button.planning-booking-row:hover{background:var(--color-row-hover);cursor:pointer}.planning-toast{background:var(--color-pine);color:#fff;z-index:50;border-radius:.6rem;align-items:center;gap:1.5rem;max-width:calc(100vw - 2rem);padding:.9rem 1.25rem;font-size:.85rem;display:flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #1a23322e}.planning-toast button{cursor:pointer;font-size:1.2rem}@media (max-width:800px){.planning-heading{flex-direction:column;align-items:flex-start;gap:1rem}.planning-heading h1{font-size:1.7rem}.planning-legend{width:100%;margin-left:0;padding-top:.5rem}.planning-summary{gap:.6rem 1.2rem}.planning-summary>span:last-child{margin-left:0}.planning-toolbar{gap:.75rem}.planning-date{font-size:.82rem}.planning-detail-totals{gap:.5rem}.planning-detail-totals strong{font-size:1rem}}@media (prefers-reduced-motion:reduce){.planning-page *,.planning-dialog *{transition:none!important}}
