.ag-controls{margin-bottom:24px}.ag-toolbar{display:flex;gap:18px;justify-content:space-between;align-items:center;flex-wrap:wrap}.ag-toolbar+.ag-filter-row,.ag-filter-row+.ag-toolbar{margin-top:22px}.ag-filter-row{display:grid;grid-template-columns:1.2fr 1fr 1fr .9fr 1.8fr;gap:18px}.ag-filter-row label,.ag-date-label{display:grid;gap:8px;font-size:12px;color:var(--muted)}.ag-date-label{min-width:170px}.ag-calendar-card{padding:0;overflow:hidden}.ag-scroll{overflow:auto;max-height:74vh;overscroll-behavior:contain}.ag-calendar{display:grid;min-width:100%}.ag-heading{position:sticky;top:0;z-index:8;background:#edf5df;border-right:1px solid #cadbb7;border-bottom:1px solid #b8cfa0;padding:14px 8px;text-align:center;display:grid;gap:6px}.ag-heading .btn{padding:5px 10px}.ag-heading small{font-size:11px}.ag-hours{position:relative;background:#f5f9ec;border-right:1px solid #cadbb7}.ag-hours span{position:absolute;left:6px;font-size:10px;color:#4c684b;transform:translateY(3px)}.ag-day{position:relative;border-right:1px solid #d4e1c2;min-width:190px;background:#fbfdf6}.ag-slot{position:absolute;left:0;width:100%;border:0;border-bottom:1px dashed #dce7ce;background:transparent;text-align:left;color:transparent;padding-left:12px}.ag-slot:hover,.ag-slot:focus-visible{background:#d8ecc7;color:#237a24}.ag-slot.ag-unavailable{background:repeating-linear-gradient(-45deg,#edf0e8,#edf0e8 5px,#e7ebdf 5px,#e7ebdf 6px)}.ag-event{position:absolute;z-index:3;border:2px solid #fbfdf6;border-left:4px solid #368838;border-radius:9px;background:#d8ecc7;color:#193f20;overflow:hidden;text-align:left;padding:6px 8px;display:flex;flex-direction:column;gap:6px;cursor:pointer;min-width:0}.ag-event strong{font-size:11px;line-height:1.4;overflow-wrap:anywhere}.ag-event small{font-size:10px;line-height:1.4;overflow-wrap:anywhere}.ag-event.ag-attended{background:#bddbad;border-left-color:#216e28}.ag-event.ag-selected{outline:3px solid #174d23;outline-offset:-3px}.ag-block{position:absolute;left:0;width:100%;z-index:4;background:#e9e2ce;border:2px solid #fff;color:#6a5739;border-radius:8px;text-align:left;padding:8px;font-size:11px;overflow:hidden}.ag-block small{display:block;margin-top:6px}.ag-bottom{margin-top:24px}.ag-list-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 12px;border-bottom:1px solid #dce7ce;min-width:0}.ag-list-row>div{min-width:0;flex:1;overflow-wrap:anywhere}.ag-list-row small{display:block;margin-top:7px;line-height:1.5}.ag-detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.ag-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.ag-review{max-height:48vh;overflow:auto;margin:20px 0}.ag-review>div{display:grid;gap:7px;padding:16px 0;border-bottom:1px solid #dce7ce}.ag-selection{margin:0 0 24px;display:grid;gap:20px}.ag-patient-list{max-height:220px;overflow:auto;padding:18px;border:1px solid #cadbb7;border-radius:12px;margin:20px 0}.ag-patient-list label{display:flex;gap:12px;align-items:center;padding:10px 0}.ag-color{width:100%;height:44px}.ag-controls .input{min-width:0}.ag-calendar-card>p{padding:18px;margin:0}@media(max-width:900px){.ag-filter-row{grid-template-columns:1fr 1fr}.ag-filter-row label:last-child{grid-column:1/-1}}@media(max-width:650px){.ag-toolbar{align-items:stretch}.ag-toolbar .actions{gap:10px}.ag-toolbar .btn{font-size:11px;padding:10px 12px}.ag-toolbar .ag-date-label{width:100%}.ag-tool-grid{grid-template-columns:1fr}.ag-detail-actions .btn{flex:1 1 44%;font-size:11px}.ag-scroll{max-height:65vh}.ag-list-row{flex-wrap:wrap}.ag-heading{top:0}}@media print{.ag-controls,.ag-selection,.ag-bottom,.sidebar,.topbar,.notice-footer,.clinic-session,.presentation-bar{display:none!important}.ag-scroll{max-height:none;overflow:visible}.ag-calendar{min-width:0}.ag-heading{position:static}.ag-slot{color:transparent!important}.ag-event{break-inside:avoid}.ag-calendar-card{overflow:visible}.content{padding:0!important}.main{margin:0!important}}

.ag-hours{position:sticky;left:0;z-index:5}.ag-heading:first-child{left:0;z-index:9}

.ag-event small{color:inherit}.ag-payment{font-size:9px;font-weight:700;line-height:1.3}.ag-payment:before{content:"● ";}#ag-new-patient-fields[hidden]{display:none!important}#ag-new-patient-fields:not([hidden]){margin:20px 0;padding:20px;border:1px solid #cadbb7;border-radius:12px}
