:root {
  --v86-bg:#f5f7fb; --v86-card:#fff; --v86-text:#152033; --v86-muted:#657084;
  --v86-border:#dfe5ee; --v86-accent:#2f6f5e; --v86-accent-2:#e9f3ef;
  --v86-danger:#b42318; --v86-warn:#b54708; --v86-radius:16px; --v86-shadow:0 8px 30px rgba(16,24,40,.08);
}
.v86-shell{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--v86-text)}
.v86-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 14px}
.v86-btn{appearance:none;border:1px solid var(--v86-border);background:#fff;color:var(--v86-text);padding:10px 14px;border-radius:12px;font-weight:700;cursor:pointer}
.v86-btn:hover{box-shadow:0 3px 12px rgba(16,24,40,.08)}
.v86-btn.primary{background:var(--v86-accent);border-color:var(--v86-accent);color:#fff}
.v86-btn.soft{background:var(--v86-accent-2);border-color:transparent;color:#245c4e}
.v86-btn.danger{color:var(--v86-danger)}
.v86-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#eef2f7;font-size:12px;font-weight:700}
.v86-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.v86-card{background:var(--v86-card);border:1px solid var(--v86-border);border-radius:var(--v86-radius);padding:16px;box-shadow:0 1px 2px rgba(16,24,40,.03)}
.v86-card h3{margin:0 0 10px;font-size:16px}.v86-card p{margin:4px 0;color:var(--v86-muted)}
.v86-kpi{grid-column:span 3}.v86-kpi .n{font-size:28px;font-weight:800;line-height:1.1}.v86-kpi .l{font-size:12px;color:var(--v86-muted);margin-top:5px}
.v86-section{grid-column:span 6}.v86-wide{grid-column:1/-1}
.v86-list{display:flex;flex-direction:column;gap:8px}.v86-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #edf0f4}.v86-row:last-child{border-bottom:0}
.v86-muted{color:var(--v86-muted)}
.v86-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.48);z-index:9998;display:flex;align-items:center;justify-content:center;padding:18px}
.v86-modal{width:min(760px,100%);max-height:min(90vh,900px);overflow:auto;background:#fff;border-radius:20px;box-shadow:0 24px 80px rgba(0,0,0,.24);z-index:9999}
.v86-modal-head{position:sticky;top:0;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--v86-border);z-index:2}
.v86-modal-body{padding:20px}.v86-modal-foot{position:sticky;bottom:0;background:#fff;display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--v86-border)}
.v86-form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.v86-field{grid-column:span 6}.v86-field.full{grid-column:1/-1}.v86-field.third{grid-column:span 4}
.v86-field label{display:block;font-size:12px;font-weight:800;margin:0 0 6px;color:#344054}.v86-field input,.v86-field select,.v86-field textarea{width:100%;box-sizing:border-box;border:1px solid #cfd6e1;border-radius:11px;padding:10px 11px;font:inherit;background:#fff}.v86-field textarea{min-height:82px;resize:vertical}
.v86-template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}.v86-template{border:1px solid var(--v86-border);border-radius:12px;padding:10px;background:#fff;cursor:pointer;text-align:left}.v86-template:hover,.v86-template.active{border-color:var(--v86-accent);background:var(--v86-accent-2)}
.v86-duration{display:flex;gap:7px;flex-wrap:wrap}.v86-duration button{border:1px solid var(--v86-border);background:#fff;border-radius:999px;padding:7px 10px;cursor:pointer}.v86-duration button.active{background:var(--v86-accent);color:#fff;border-color:var(--v86-accent)}
.v86-advanced{margin-top:12px;border-top:1px solid var(--v86-border);padding-top:12px}.v86-advanced summary{font-weight:800;cursor:pointer}
.v86-calendar{display:grid;grid-template-columns:68px repeat(7,minmax(130px,1fr));border:1px solid var(--v86-border);border-radius:14px;overflow:auto;background:#fff;max-height:72vh}.v86-timecol,.v86-daycol{position:relative;min-height:1008px}.v86-timecol{border-right:1px solid var(--v86-border);background:#fafbfc}.v86-daycol{border-right:1px solid var(--v86-border)}.v86-daycol:last-child{border-right:0}
.v86-dayhead{position:sticky;top:0;height:48px;background:#fff;border-bottom:1px solid var(--v86-border);z-index:3;padding:8px;box-sizing:border-box;font-size:12px;font-weight:800}.v86-slot{position:absolute;left:0;right:0;border-top:1px solid #f0f2f5;box-sizing:border-box}.v86-slot.hour{border-top-color:#dfe5ee}.v86-time{position:absolute;right:7px;font-size:10px;color:#7b8494;transform:translateY(-50%)}
.v86-event{position:absolute;left:5px;right:5px;border-radius:9px;padding:6px 8px;background:#e8f3ef;border-left:4px solid var(--v86-accent);font-size:11px;overflow:hidden;cursor:grab;box-shadow:0 1px 3px rgba(16,24,40,.08)}.v86-event.appointment{background:#fff4e5;border-left-color:#b54708}.v86-event.away{background:#f2f4f7;border-left-color:#667085}.v86-event.major{outline:2px solid #f79009}.v86-event .t{font-weight:800}.v86-event .m{color:#475467;margin-top:2px}
.v86-drop-active{background:#f0f8f5}
.v86-view-tabs{display:flex;gap:6px}.v86-view-tabs button.active{background:#152033;color:#fff}
.v86-month{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));border:1px solid var(--v86-border);border-radius:14px;overflow:auto;background:#fff}.v86-month-day{min-height:130px;border-right:1px solid var(--v86-border);border-bottom:1px solid var(--v86-border);padding:7px}.v86-month-day:nth-child(7n){border-right:0}.v86-month-day .d{font-weight:800;font-size:12px}.v86-month-event{font-size:11px;margin-top:5px;padding:4px 6px;border-radius:7px;background:#eef6f3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:grab}.v86-month-event.appointment{background:#fff4e5}
.v86-toast-wrap{position:fixed;right:16px;bottom:16px;z-index:10050;display:flex;flex-direction:column;gap:8px}.v86-toast{background:#111827;color:#fff;padding:11px 14px;border-radius:11px;box-shadow:var(--v86-shadow);max-width:360px}.v86-toast.error{background:#7a271a}
.v86-empty{padding:20px;text-align:center;color:var(--v86-muted)}
@media(max-width:980px){.v86-kpi{grid-column:span 6}.v86-section{grid-column:1/-1}.v86-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v86-field,.v86-field.third{grid-column:1/-1}.v86-calendar{grid-template-columns:58px repeat(7,minmax(150px,1fr))}}
@media(max-width:600px){.v86-kpi{grid-column:1/-1}.v86-modal-backdrop{padding:0;align-items:flex-end}.v86-modal{border-radius:18px 18px 0 0;max-height:94vh}.v86-template-grid{grid-template-columns:1fr 1fr}.v86-toolbar{align-items:stretch}.v86-toolbar .v86-btn{flex:1}}

/* v8.6 native-admin integration */
.v86-native-surface{overflow:hidden}
.v86-soft-hidden{display:none!important}
.v86-full-form-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #e1e6ed;border-radius:12px;background:#f8fafc}
.v86-full-form-tools strong{display:block;margin-bottom:7px;font-size:12px;color:#344054}
#schedule-form:not(.v86-show-advanced) .v86-schedule-advanced{display:none!important}
#schedule-form.v86-show-advanced label.v86-schedule-advanced:not(.check){display:grid}
#schedule-form.v86-show-advanced label.check.v86-schedule-advanced{display:flex}
#schedule-form.v86-show-advanced fieldset.v86-schedule-advanced,#schedule-form.v86-show-advanced div.v86-schedule-advanced{display:block}
#schedule-form .v86-duration{margin-top:0}
.admin-section[data-section-panel="weekplanner"] #v86-schedule-root{margin-top:10px}
#v86-schedule-root .v86-calendar{max-height:76vh}
#v86-dashboard-root .v86-grid,#v86-roster-root .v86-grid{padding:0}
@media(max-width:760px){.v86-full-form-tools{align-items:stretch;flex-direction:column}.v86-full-form-tools>button{width:100%}}

/* v8.6.2 Outlook-style 15-minute planner movement */
.v86-planner-hint{margin:-3px 0 11px;padding:8px 10px;border-radius:10px;background:#f7fafc;color:var(--v86-muted);font-size:12px;font-weight:650}
.v86-slot.half{border-top-color:#e8edf2}.v86-slot.quarter{border-top-style:dotted;border-top-color:#edf1f5}
.v86-event.dragging{opacity:.42}
.v86-drop-preview{position:absolute;left:3px;right:3px;z-index:8;border:2px solid #2f6f5e;background:rgba(47,111,94,.14);border-radius:5px;pointer-events:none;box-shadow:0 0 0 2px rgba(47,111,94,.08)}
.v86-drop-preview span{position:absolute;left:5px;top:50%;transform:translateY(-50%);padding:2px 5px;border-radius:5px;background:#245c4e;color:#fff;font-size:9px;font-weight:900;line-height:1}

/* v8.7 planner productivity */
.v86-event{user-select:none}.v86-event.resizing{cursor:ns-resize!important;opacity:.88;z-index:20}.v86-resize-handle{position:absolute;left:8px;right:8px;height:7px;z-index:6;cursor:ns-resize;opacity:0;transition:opacity .12s}.v86-event:hover .v86-resize-handle,.v86-event.resizing .v86-resize-handle{opacity:1}.v86-resize-handle.top{top:-2px;border-top:3px solid rgba(31,95,80,.72)}.v86-resize-handle.bottom{bottom:-2px;border-bottom:3px solid rgba(31,95,80,.72)}.v86-event.appointment .v86-resize-handle.top{border-top-color:rgba(181,71,8,.78)}.v86-event.appointment .v86-resize-handle.bottom{border-bottom-color:rgba(181,71,8,.78)}.v86-resize-label{position:absolute;right:5px;bottom:5px;z-index:9;padding:2px 5px;border-radius:5px;background:#20364a;color:#fff;font-size:9px;font-weight:900;pointer-events:none}.v86-event-menu{position:fixed;z-index:10050;display:grid;gap:5px;width:215px;padding:10px;border:1px solid #d7e2ea;border-radius:12px;background:#fff;box-shadow:0 16px 44px rgba(20,53,78,.25)}.v86-event-menu strong{color:#203f5c}.v86-event-menu span{font-size:10px;color:#6e8190;margin-bottom:3px}.v86-event-menu button{border:1px solid #dce7ee;border-radius:8px;background:#f8fbfd;color:#2b5675;text-align:left;padding:7px 8px;font-weight:800;cursor:pointer}.v86-event-menu button:hover{background:#eaf5fc}.v86-planner-hint strong{color:#294f70}
