.qr-timeline-root{--background:#fff;--foreground:#020817;--card:#fff;--card-foreground:#020817;--primary:#2563eb;--primary-foreground:#f8fafc;--secondary:#f1f5f9;--muted:#f1f5f9;--muted-foreground:#64748b;--accent:#f1f5f9;--accent-foreground:#0f172a;--destructive:#ef4444;--border:#e2e8f0;--input:#e2e8f0;--ring:#2563eb;background:var(--background);color:var(--foreground)}.dark .qr-timeline-root{--background:#020817;--foreground:#f8fafc;--card:#020817;--card-foreground:#f8fafc;--primary:#3b82f6;--primary-foreground:#0f172a;--secondary:#1e293b;--muted:#1e293b;--muted-foreground:#94a3b8;--accent:#1e293b;--accent-foreground:#f8fafc;--destructive:#ef4444;--border:#1e293b;--input:#1e293b;--ring:#1d4ed8}.qr-timeline-bar{flex-shrink:0;align-items:center;gap:12px;padding:8px 12px 0;display:flex}.qr-timeline-fs{border:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-left:auto;transition:background-color .15s,color .15s;display:inline-flex}.qr-timeline-fs svg{width:16px;height:16px}.qr-timeline-filters{flex-shrink:0;padding:8px 12px 0}.qr-timeline-error{flex-shrink:0;padding:6px 12px 0}.qr-timeline-view{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.qr-timeline-loading{z-index:40;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.qr-sched-month-grid{grid-auto-rows:minmax(76px,1fr)}.qr-sched-scroll-hide{scrollbar-width:none}.qr-sched-scroll-hide::-webkit-scrollbar{display:none}.qr-sched-empty-card{background:linear-gradient(to bottom right,#f0fdf4,#eff6ff)}.qr-sched-empty-icon{color:#16a34a;background:#dcfce7}.dark .qr-sched-empty-card{background:linear-gradient(to bottom right,rgba(20,83,45,.1),rgba(30,58,138,.1))}.dark .qr-sched-empty-icon{color:#4ade80;background:rgba(20,83,45,.3)}.qr-patient-day{color:#0f172a;background:#fff;border:1px solid rgba(160,181,205,.35);border-radius:12px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.dark .qr-patient-day{color:#e7eefc;background:#07101f;border-color:rgba(86,115,153,.32)}.qr-patient-day-top{border-bottom:1px solid rgba(160,181,205,.24);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.qr-patient-month{color:inherit;font-size:16px;font-weight:800}.qr-patient-day-nav{align-items:center;gap:6px;display:inline-flex}.qr-patient-day-nav button{color:#1f5799;cursor:pointer;background:#f7fbff;border:1px solid rgba(66,127,190,.35);border-radius:6px;min-width:32px;height:30px;padding:0 10px;font-size:13px;font-weight:700}.dark .qr-patient-day-nav button{color:#c7dcff;background:#111d31;border-color:rgba(94,129,177,.55)}.qr-patient-day-head{background:linear-gradient(90deg,rgba(248,251,255,.8),#fff);border-bottom:1px solid rgba(160,181,205,.24);justify-content:center;align-items:center;gap:12px;padding:14px 16px;display:flex}.dark .qr-patient-day-head{background:linear-gradient(90deg,rgba(17,29,49,.8),#07101f)}.qr-patient-day-head h2{color:inherit;margin:0;font-size:19px;font-weight:800}.qr-patient-day-head span{color:#07101f;background:#3b82f6;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:800}.qr-patient-day-content{flex:1;min-height:0;display:flex;overflow:hidden}.qr-patient-day-sidebar{background:rgba(248,251,255,.58);border-right:1px solid rgba(160,181,205,.24);flex:0 0 236px;padding:14px 14px 18px;overflow-y:auto}.dark .qr-patient-day-sidebar{background:rgba(6,15,29,.66)}.qr-patient-mini-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.qr-patient-mini-head strong{color:inherit;font-size:15px;font-weight:800}.qr-patient-mini-head span{gap:6px;display:inline-flex}.qr-patient-mini-head button{color:#1f5799;cursor:pointer;background:#f7fbff;border:1px solid rgba(66,127,190,.32);border-radius:7px;width:30px;height:30px;font-size:16px;font-weight:800}.dark .qr-patient-mini-head button{color:#c7dcff;background:#111d31;border-color:rgba(94,129,177,.48)}.qr-patient-mini-week,.qr-patient-mini-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.qr-patient-mini-week{color:#7a8798;text-align:center;margin-bottom:8px;font-size:11px;font-weight:800}.qr-patient-mini-grid button{aspect-ratio:1;width:100%;color:inherit;cursor:pointer;background:0 0;border:1px solid transparent;border-radius:50%;font-size:12px;font-weight:700}.qr-patient-mini-grid button:hover{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.24)}.qr-patient-mini-grid button.is-muted{color:#a8b2c0}.dark .qr-patient-mini-grid button.is-muted{color:#42516a}.qr-patient-mini-grid button.is-today{border-color:rgba(59,130,246,.65)}.qr-patient-mini-grid button.is-selected{color:#fff;background:#3b82f6;border-color:#3b82f6;box-shadow:0 6px 14px rgba(59,130,246,.26)}.qr-patient-lane-card{background:#fff;border:1px solid rgba(160,181,205,.22);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin-top:22px;padding:14px 16px;display:flex}.dark .qr-patient-lane-card{background:#0a1425;border-color:rgba(86,115,153,.24)}.qr-patient-lane-card strong{font-size:14px;font-weight:800}.qr-patient-lane-card span{color:#68778c;font-size:12px;font-weight:700}.dark .qr-patient-lane-card span{color:#9aa9c0}.qr-patient-groupby-card{background:#fff;border:1px solid rgba(160,181,205,.22);border-radius:12px;margin-top:12px;padding:14px 16px}.dark .qr-patient-groupby-card{background:#0a1425;border-color:rgba(86,115,153,.24)}.qr-patient-groupby-card strong{margin-bottom:8px;font-size:14px;font-weight:800;display:block}.qr-patient-groupby-buttons{flex-wrap:wrap;gap:8px;display:flex}.qr-patient-groupby-btn{box-sizing:border-box;color:#53657d;text-align:center;white-space:normal;cursor:pointer;background:rgba(160,181,205,.1);border:1px solid rgba(160,181,205,.3);border-radius:8px;flex:calc(50% - 4px);min-width:0;padding:6px 8px;font-size:12px;font-weight:600;line-height:1.25;transition:background-color .15s,color .15s,border-color .15s}.qr-patient-groupby-btn.is-active{color:#fff;background:#2e7dd1;border-color:#2e7dd1}.dark .qr-patient-groupby-btn{color:#a8bad4;background:rgba(86,115,153,.16);border-color:rgba(86,115,153,.32)}.dark .qr-patient-groupby-btn.is-active{color:#071120;background:#4a9ef5;border-color:#4a9ef5}.qr-patient-groupby-legend{flex-direction:column;gap:6px;max-height:160px;margin-top:10px;display:flex;overflow-y:auto}.qr-patient-groupby-legend-item{width:100%;font:inherit;color:#53657d;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:2px 4px;font-size:12px;font-weight:600;transition:opacity .15s,background-color .15s;display:flex}.qr-patient-groupby-legend-item:hover{background:rgba(160,181,205,.14)}.qr-patient-groupby-legend-item.is-hidden{opacity:.4}.dark .qr-patient-groupby-legend-item{color:#a8bad4}.dark .qr-patient-groupby-legend-item:hover{background:rgba(86,115,153,.2)}.qr-patient-groupby-dot{border-radius:50%;flex:0 0 8px;width:8px;height:8px}.qr-patient-day-scroll{flex:1;min-height:0;padding:14px;overflow:auto}.qr-patient-split{grid-template-columns:repeat(2,minmax(320px,1fr));gap:14px;min-width:720px;display:grid}.qr-patient-range{background:#fff;border:1px solid rgba(160,181,205,.24);border-radius:10px;min-width:0;overflow:hidden}.dark .qr-patient-range{background:#07101f;border-color:rgba(86,115,153,.26)}.qr-patient-range-title{color:#1f5799;border-bottom:1px solid rgba(160,181,205,.22);padding:10px 14px;font-size:13px;font-weight:800}.dark .qr-patient-range-title{color:#b8d4ff}.qr-patient-day-grid{min-height:100%;display:flex;position:relative}.qr-patient-time-axis{background:rgba(248,251,255,.7);border-right:1px solid rgba(160,181,205,.24);flex:0 0 74px;position:relative}.dark .qr-patient-time-axis{background:rgba(7,16,31,.76)}.qr-patient-hour-label{box-sizing:border-box;color:#708096;font-size:12px;font-weight:700;position:relative}.qr-patient-hour-label span{background:inherit;padding:2px 4px;position:absolute;top:-8px;right:14px}.qr-patient-hour-label:first-child span{top:8px}.qr-patient-lanes{flex:1;min-width:0;display:grid;position:relative}.qr-patient-lane{border-right:1px solid rgba(160,181,205,.16);min-width:0;position:relative}.qr-patient-lane:last-child{border-right:0}.qr-patient-hour-line{box-sizing:border-box;border-bottom:1px dashed rgba(160,181,205,.22)}.qr-patient-event{box-sizing:border-box;z-index:3;color:inherit;text-align:left;cursor:pointer;background:rgba(46,125,209,.1);border:1px solid rgba(46,125,209,.24);border-left:4px solid #2e7dd1;border-radius:8px;flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;padding:4px 10px;display:flex;position:absolute;overflow:hidden;box-shadow:0 8px 18px rgba(15,44,75,.08)}.qr-patient-event strong,.qr-patient-event span,.qr-patient-event em{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.qr-patient-event strong{font-size:12.5px;line-height:1.15}.qr-patient-event span{color:#53657d;font-size:11px;font-weight:700}.qr-patient-event em{color:#6b7c93;font-size:10.5px;font-style:normal}.dark .qr-patient-event span,.dark .qr-patient-event em{color:#a8bad4}.qr-patient-block-wash{z-index:1;pointer-events:none;box-sizing:border-box;background:repeating-linear-gradient(135deg,rgba(192,57,43,.12),rgba(192,57,43,.12) 6px,rgba(192,57,43,.04) 6px,rgba(192,57,43,.04) 12px);border:1px dashed rgba(192,57,43,.55);border-radius:8px;position:absolute}.qr-patient-block-chip{z-index:3;color:#c0392b;white-space:nowrap;text-overflow:ellipsis;pointer-events:auto;cursor:pointer;background:#fff;border:1px solid rgba(192,57,43,.55);border-radius:999px;max-width:calc(100% - 20px);padding:1px 8px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:0;left:10px;overflow:hidden;transform:translateY(-50%)}.qr-patient-block-wash.is-clipped-top{border-top:0;border-top-left-radius:0;border-top-right-radius:0}.qr-patient-block-chip.is-clipped{top:3px;transform:none}.qr-patient-block-chip:hover{filter:brightness(.92)}.dark .qr-patient-block-chip{color:#ff8b7a;background:#10151f;border-color:rgba(255,139,122,.5)}.dark .qr-patient-block-chip:hover{filter:brightness(1.25)}.qr-patient-day-blocked-badge{color:#c0392b;cursor:pointer;background:rgba(192,57,43,.12);border:1px solid rgba(192,57,43,.55);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700}.qr-patient-day-blocked-badge:hover{background:rgba(192,57,43,.22)}.dark .qr-patient-day-blocked-badge{color:#ff8b7a;background:rgba(255,139,122,.14);border-color:rgba(255,139,122,.5)}.dark .qr-patient-day-blocked-badge:hover{background:rgba(255,139,122,.24)}.qr-patient-now-line{z-index:2;background:#3b82f6;height:2px;position:absolute;left:0;right:0;box-shadow:0 0 0 1px rgba(59,130,246,.15)}@media (max-width:860px){.qr-patient-day-content{flex-direction:column}.qr-patient-day-sidebar{border-bottom:1px solid rgba(160,181,205,.24);border-right:0;flex:none}}.qr-timeline-root .qr-cal-filter-input{border:1px solid var(--border);background:var(--background);color:var(--foreground);box-shadow:none;border-radius:8px;padding:0 10px;font-size:12px;line-height:1.2}.qr-timeline-root .qr-cal-filter-input:focus-visible{border-color:var(--primary);box-shadow:none}.qr-timeline-root .qr-cal-filter-input::placeholder,.dark .qr-timeline-root .qr-cal-filter-input::placeholder{color:var(--muted-foreground)}.qr-timeline-root{--qr-status-booked:#2e7dd1;--qr-status-arrived:#8b5cf6;--qr-status-scanned:#ec4899;--qr-status-reported:#14b8a6;--qr-status-dispatched:#84cc16;--qr-status-pending:#f59e0b;--qr-status-rescheduled:#f97316;--qr-status-completed:#16a34a;--qr-status-canceled:#ef4444}.dark .qr-timeline-root{--qr-status-booked:#a78bfa;--qr-status-arrived:#e879f9;--qr-status-scanned:#f472b6;--qr-status-reported:#2dd4bf;--qr-status-dispatched:#a3e635;--qr-status-pending:#fbbf24;--qr-status-rescheduled:#fb923c;--qr-status-completed:#4ade80;--qr-status-canceled:#f87171}
