.appointments-page{max-width:1500px}.appointment-header-actions{display:flex;gap:8px;flex-wrap:wrap}.appointment-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:17px}.appointment-summary button{min-height:112px;padding:16px;border:1px solid rgba(42,55,47,.07);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-sm);text-align:left}.appointment-summary button:hover{transform:translateY(-2px);border-color:var(--line-strong)}.appointment-summary span,.appointment-summary strong,.appointment-summary small{display:block}.appointment-summary span{color:var(--muted);font-size:11px}.appointment-summary strong{margin:4px 0;font-size:25px}.appointment-summary small{color:var(--green-dark);font-size:10px;font-weight:750}.appointment-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px;padding:14px}.appointment-search{flex:1}.appointment-search input{width:100%;min-height:44px;padding:0 13px;border:1px solid var(--line);border-radius:11px}.appointment-filters{display:flex;gap:5px;overflow-x:auto}.appointment-filters button{min-height:40px;padding:0 11px;border:0;border-radius:9px;background:var(--surface-soft);white-space:nowrap;font-size:10px;font-weight:750}.appointment-filters button.is-active{background:var(--green);color:#fff}.appointment-list-section{margin-top:4px}.appointment-list-section>.section-heading-row>span{color:var(--muted);font-size:11px}.appointment-column-headings,.appointment-card{display:grid;grid-template-columns:1.2fr 1fr 1.35fr 1fr 1.1fr 1fr .8fr;gap:10px;align-items:center}.appointment-column-headings{padding:0 15px 7px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.appointment-list{display:grid;gap:8px}.appointment-card{width:100%;min-height:76px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left}.appointment-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.appointment-card span{min-width:0}.appointment-card strong,.appointment-card small{display:block}.appointment-card strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-card small{margin-top:2px;color:var(--muted);font-size:9px}.transport-ready{color:var(--green-dark)}.appointment-status{display:inline-flex!important;width:max-content;padding:5px 8px;border-radius:999px;background:var(--green-soft);color:var(--green-dark)!important;font-size:9px!important;font-weight:800}.appointment-status.completed{background:var(--surface-soft);color:var(--muted)!important}.appointment-status.cancelled,.appointment-status.no-show{background:#f5e7e3;color:#854a40!important}.appointment-status.follow-up{background:var(--amber-soft);color:#805d32!important}.appointment-empty{padding:50px 20px;border:1px dashed var(--line);border-radius:15px;text-align:center;color:var(--muted)}.form-section{margin:0 0 18px;padding:16px;border:1px solid var(--line);border-radius:14px}.form-section h3{margin:0 0 13px;font-size:14px}.preparation-grid,.notification-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.preparation-grid label,.notification-grid label,.followup-options label{min-height:42px;padding:9px;border-radius:9px;background:var(--surface-soft);font-size:11px}.recurrence-toggle{display:flex;align-items:flex-start;gap:9px}.recurrence-toggle strong,.recurrence-toggle small{display:block}.recurrence-toggle small{color:var(--muted);font-size:10px}.recurrence-section #recurrence-fields{margin-top:15px}.appointment-detail-hero{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px;border-radius:14px;background:var(--surface-soft)}.appointment-detail-date{width:58px;padding:8px;border-radius:13px;background:var(--green);color:#fff;text-align:center}.appointment-detail-date strong,.appointment-detail-date small{display:block}.appointment-detail-date strong{font-size:23px}.appointment-detail-date small{font-size:9px;text-transform:uppercase}.appointment-detail-hero h3,.appointment-detail-hero p{margin:0}.appointment-detail-hero p{color:var(--muted);font-size:11px}.appointment-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}.appointment-detail-section{padding:14px;border:1px solid var(--line);border-radius:13px}.appointment-detail-section h3{margin:0 0 9px;font-size:13px}.appointment-detail-section dl{display:grid;gap:7px;margin:0}.appointment-detail-section dl div{display:flex;justify-content:space-between;gap:13px}.appointment-detail-section dt{color:var(--muted);font-size:10px}.appointment-detail-section dd{margin:0;text-align:right;font-size:10px;font-weight:750}.check-chip-list{display:flex;flex-wrap:wrap;gap:6px}.check-chip-list span{padding:5px 8px;border-radius:999px;background:var(--green-soft);font-size:9px}.followup-list{display:grid;gap:6px}.followup-row{display:flex;justify-content:space-between;gap:10px;padding:8px;border-radius:8px;background:var(--amber-soft);font-size:10px}.provider-list{display:grid;gap:8px}.provider-card{padding:13px;border:1px solid var(--line);border-radius:12px}.provider-card header{display:flex;justify-content:space-between;gap:10px}.provider-card h3,.provider-card p{margin:0}.provider-card p{color:var(--muted);font-size:10px}.provider-card dl{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0 0}.provider-card dl div{padding:8px;border-radius:8px;background:var(--surface-soft)}.provider-card dt{color:var(--muted);font-size:9px}.provider-card dd{margin:2px 0 0;font-size:10px}.followup-options{display:grid;gap:6px;margin:0 0 15px;padding:12px;border:1px solid var(--line);border-radius:12px}.followup-options legend{font-size:12px;font-weight:800}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1100px){.appointment-summary{grid-template-columns:repeat(2,1fr)}.appointment-column-headings{display:none}.appointment-card{grid-template-columns:1.2fr 1fr 1.2fr 1fr}.appointment-card span:nth-child(5),.appointment-card span:nth-child(6),.appointment-card span:nth-child(7){margin-top:5px}.appointment-card span:nth-child(5)::before,.appointment-card span:nth-child(6)::before{display:block;color:var(--muted);font-size:8px}.appointment-card span:nth-child(5)::before{content:'Transportation'}.appointment-card span:nth-child(6)::before{content:'Assigned staff'}}@media(max-width:760px){.appointment-header-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.appointment-header-actions .button:last-child{grid-column:1/-1}.appointment-controls{display:grid}.appointment-filters{width:calc(100vw - 70px)}.appointment-card{grid-template-columns:1fr 1fr;gap:12px;min-height:0}.appointment-card span{margin:0!important}.appointment-summary button{min-height:96px}.appointment-detail-grid{grid-template-columns:1fr}.preparation-grid,.notification-grid{grid-template-columns:1fr}.appointment-detail-actions{display:grid}.appointment-detail-actions .button{width:100%}}@media(max-width:450px){.appointment-summary{grid-template-columns:1fr}.appointment-header-actions{grid-template-columns:1fr}.appointment-header-actions .button{grid-column:auto!important}.appointment-card{grid-template-columns:1fr}.provider-card dl{grid-template-columns:1fr}}
