.advisor-planner { padding: 0; overflow: hidden; }
.planner-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:20px 22px 16px; border-bottom:1px solid var(--g5); }
.planner-kicker { display:block; margin-bottom:5px; color:var(--gold-deep); font-size:9.5px; font-weight:850; letter-spacing:.12em; }
.planner-head h2 { color:var(--ink); font-size:20px; letter-spacing:-.025em; }
.planner-head p { margin-top:5px; color:var(--g3); font-size:11px; line-height:1.55; }
.planner-primary,.planner-secondary,.planner-delete { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:0 14px; border-radius:10px; font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
.planner-primary { border:1px solid var(--bl); background:var(--bl); color:#fff; }
.planner-primary:hover { background:var(--bl2); }
.planner-primary:disabled { opacity:.55; cursor:wait; }
.planner-secondary { border:1px solid var(--g5); background:var(--wht); color:var(--g2); }
.planner-delete { border:1px solid transparent; background:var(--redbg); color:var(--red); }
.planner-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 22px 10px; }
.planner-month-nav,.planner-filters { display:flex; align-items:center; gap:6px; }
.planner-month-nav > button,.planner-filters > button { min-width:40px; min-height:40px; border:1px solid var(--g5); border-radius:9px; background:var(--wht); color:var(--g2); font:inherit; font-size:11px; font-weight:750; cursor:pointer; }
.planner-month-nav strong { min-width:92px; color:var(--ink); font-size:15px; text-align:center; }
.planner-month-nav .planner-today { min-width:48px; margin-left:3px; }
.planner-filters > button { display:inline-flex; align-items:center; gap:6px; padding:0 10px; }
.planner-filters > button i { width:7px; height:7px; border-radius:50%; background:var(--g4); }
.planner-filters > button:nth-child(2) i { background:var(--bl); }.planner-filters > button:nth-child(3) i { background:var(--gold); }.planner-filters > button:nth-child(4) i { background:var(--grn); }
.planner-filters > button.on { border-color:var(--ink); color:var(--ink); background:var(--g6); }
.planner-status { display:flex; align-items:flex-start; gap:6px; margin:0 22px 12px; color:var(--g3); font-size:10.5px; line-height:1.5; }
.planner-status i { margin-top:1px; color:var(--gold-deep); font-size:14px; }
.planner-weekdays,.planner-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); margin:0 22px; }
.planner-weekdays { border:1px solid var(--g5); border-bottom:0; border-radius:11px 11px 0 0; background:var(--g6); }
.planner-weekdays span { padding:8px 7px; color:var(--g3); font-size:9.5px; font-weight:800; text-align:center; }
.planner-weekdays span:first-child { color:var(--red); }.planner-weekdays span:last-child { color:var(--bl); }
.planner-grid { margin-bottom:22px; border-top:1px solid var(--g5); border-left:1px solid var(--g5); }
.planner-day { min-width:0; min-height:112px; padding:6px; border-right:1px solid var(--g5); border-bottom:1px solid var(--g5); background:var(--wht); }
.planner-day.is-out { background:var(--g6); opacity:.5; }.planner-day.is-today { background:var(--blglow); }.planner-day.is-drop { box-shadow:inset 0 0 0 2px var(--bl); }
.planner-day-number { width:28px; height:28px; border:0; border-radius:50%; background:transparent; color:var(--g2); font:inherit; font-size:10px; font-weight:800; cursor:pointer; }
.planner-day-number:hover { background:var(--g6); }.planner-day.is-today .planner-day-number { background:var(--bl); color:#fff; }
.planner-day-events { display:flex; flex-direction:column; gap:3px; margin-top:2px; }
.planner-event { width:100%; min-width:0; min-height:25px; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:4px; padding:4px 6px; border:1px solid var(--g5); border-radius:6px; background:var(--gold-bg); color:var(--ink); font:inherit; text-align:left; cursor:pointer; }
.planner-event time { color:var(--g3); font-size:8.5px; font-variant-numeric:tabular-nums; }.planner-event span { overflow:hidden; font-size:9.5px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }.planner-event small { grid-column:1/-1; overflow:hidden; color:var(--g3); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.planner-event.source-customer { background:var(--blglow); }.planner-event.source-team { background:var(--grnbg); }
.planner-event.kind-request { background:var(--g6); color:var(--g2); border-style:dashed; }
.planner-more { min-height:24px; border:0; background:transparent; color:var(--g3); font:inherit; font-size:9px; cursor:pointer; text-align:left; }
.planner-loading,.planner-error,.planner-empty { min-height:220px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; padding:24px; color:var(--g3); font-size:12px; text-align:center; }
.planner-loading i { font-size:20px; color:var(--gold-deep); animation:planner-spin 1s linear infinite; }
.planner-error button,.planner-empty button { min-height:40px; padding:0 13px; border:1px solid var(--g5); border-radius:9px; background:var(--wht); color:var(--g2); font:inherit; font-size:11px; font-weight:750; cursor:pointer; }
.planner-mobile { display:none; }
.planner-dialog { width:min(560px,calc(100vw - 28px)); max-height:calc(100vh - 28px); margin:auto; padding:0; border:1px solid var(--g5); border-radius:16px; background:var(--wht); color:var(--ink); box-shadow:0 24px 80px rgba(14,22,38,.24); overflow:auto; }
.planner-dialog::backdrop { background:rgba(14,22,38,.46); backdrop-filter:blur(2px); }
.planner-dialog form { padding:20px; }.planner-dialog header { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:18px; }.planner-dialog header span { color:var(--gold-deep); font-size:9px; font-weight:850; letter-spacing:.12em; }.planner-dialog h3 { margin-top:3px; font-size:19px; }
.planner-dialog-close { width:44px; height:44px; border:0; border-radius:10px; background:var(--g6); color:var(--g2); cursor:pointer; }
.planner-field { display:flex; min-width:0; flex:1; flex-direction:column; gap:6px; color:var(--g2); font-size:11px; font-weight:750; }.planner-field input,.planner-field select { width:100%; min-height:44px; padding:0 11px; border:1px solid var(--g5); border-radius:9px; background:var(--wht); color:var(--ink); font:inherit; font-size:12px; }.planner-field-wide { margin-bottom:12px; }.planner-field span small { color:var(--g4); font-weight:600; }
.planner-form-row { display:flex; gap:9px; }.planner-form-row + * { margin-top:15px; }
.planner-scope { display:grid; grid-template-columns:1fr 1fr; gap:8px; border:0; }.planner-scope legend { grid-column:1/-1; margin-bottom:7px; color:var(--g2); font-size:11px; font-weight:750; }.planner-scope label input { position:absolute; opacity:0; pointer-events:none; }.planner-scope label > span { min-height:64px; display:grid; grid-template-columns:21px 1fr; align-items:center; padding:10px; border:1px solid var(--g5); border-radius:10px; cursor:pointer; }.planner-scope label i { grid-row:1/3; color:var(--gold-deep); font-size:17px; }.planner-scope label b { color:var(--ink); font-size:11.5px; }.planner-scope label small { color:var(--g3); font-size:9.5px; }.planner-scope input:checked + span { border-color:var(--gold); background:var(--gold-bg); }.planner-scope input:disabled + span { opacity:.65; cursor:default; }
.planner-customer-field,.planner-team-field { margin-top:12px; }.planner-privacy { display:flex; align-items:flex-start; gap:7px; margin-top:12px; padding:10px 11px; border-radius:9px; background:var(--g6); color:var(--g3); font-size:10px; line-height:1.5; }.planner-privacy i { color:var(--gold-deep); font-size:15px; }
.planner-dialog footer { display:grid; grid-template-columns:auto 1fr auto auto; gap:8px; margin-top:18px; padding-top:15px; border-top:1px solid var(--g5); }.hidden { display:none!important; }
@keyframes planner-spin { to { transform:rotate(360deg); } }

html[data-theme="dark"] .advisor-planner,html[data-theme="gray"] .advisor-planner,html[data-theme="dark"] .planner-dialog,html[data-theme="gray"] .planner-dialog,html[data-theme="dark"] .planner-day,html[data-theme="gray"] .planner-day,html[data-theme="dark"] .planner-month-nav>button,html[data-theme="gray"] .planner-month-nav>button,html[data-theme="dark"] .planner-filters>button,html[data-theme="gray"] .planner-filters>button { background:var(--surface-1); border-color:var(--sep); color:var(--label-1); }
html[data-theme="dark"] .planner-weekdays,html[data-theme="gray"] .planner-weekdays,html[data-theme="dark"] .planner-day.is-out,html[data-theme="gray"] .planner-day.is-out,html[data-theme="dark"] .planner-dialog-close,html[data-theme="gray"] .planner-dialog-close,html[data-theme="dark"] .planner-privacy,html[data-theme="gray"] .planner-privacy { background:var(--surface-2); border-color:var(--sep); }
html[data-theme="dark"] .planner-field input,html[data-theme="gray"] .planner-field input,html[data-theme="dark"] .planner-field select,html[data-theme="gray"] .planner-field select { background:var(--surface-2); border-color:var(--sep); color:var(--label-1); }

@media (max-width:720px) {
  .planner-head { padding:17px 15px 14px; }.planner-head h2 { font-size:18px; }.planner-head p { max-width:230px; }.planner-head .planner-primary { flex:none; width:44px; padding:0; font-size:0; }.planner-head .planner-primary i { font-size:18px; }
  .planner-toolbar { display:block; padding:12px 15px 8px; }.planner-month-nav { justify-content:space-between; }.planner-month-nav strong { flex:1; }.planner-filters { display:grid; grid-template-columns:repeat(4,1fr); margin-top:10px; }.planner-filters>button { min-width:0; justify-content:center; padding:0 4px; }
  .planner-status { margin:0 15px 10px; }.planner-desktop { display:none; }.planner-mobile { display:block; padding:0 15px 16px; }
  .planner-agenda { display:flex; flex-direction:column; gap:12px; }.planner-agenda section { border-top:1px solid var(--g5); padding-top:10px; }.planner-agenda section>h3 { display:flex; align-items:center; justify-content:space-between; color:var(--g2); font-size:11px; }.planner-agenda section>h3 button { width:40px; height:40px; border:0; border-radius:9px; background:var(--g6); color:var(--g2); cursor:pointer; }.planner-agenda section>div { display:flex; flex-direction:column; gap:6px; }.planner-agenda .planner-event { min-height:48px; grid-template-columns:42px minmax(0,1fr); padding:8px 10px; }.planner-agenda .planner-event time { font-size:10px; }.planner-agenda .planner-event span { overflow:visible; font-size:11px; line-height:1.4; text-overflow:clip; white-space:normal; }.planner-agenda .planner-event small { grid-column:2; font-size:9px; }
  .planner-form-row { display:grid; grid-template-columns:1fr 1fr; }.planner-form-row .planner-field:last-child { grid-column:1/-1; }.planner-dialog form { padding:16px; }.planner-dialog footer { grid-template-columns:auto 1fr auto; }.planner-dialog footer>span { display:none; }.planner-dialog footer .planner-primary { grid-column:1/-1; grid-row:2; width:100%; }
}
@media (prefers-reduced-motion:reduce) { .planner-loading i { animation:none; }.planner-event { transition:none; } }
