.doctor-appointments{display:block}.doctor-appointments[hidden]{display:none}.appointment-toolbar{display:flex;align-items:end;gap:10px;margin:16px 0}.appointment-toolbar label{display:grid;gap:6px}.appointment-toolbar label span{font-size:12px;color:var(--muted)}.appointment-toolbar input,.appointment-form select{min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#091923;color:#fff}.appointment-toolbar button,.appointment-form button,.appointment-action{min-height:44px;border:0;border-radius:11px;padding:0 14px;background:#236ddd;color:#fff;font-weight:900}.appointment-form{display:grid;grid-template-columns:1.5fr 1.2fr 1.2fr auto;gap:9px;margin-bottom:13px}.appointment-form button{background:#177a50}.appointment-hint{margin:10px 0;padding:11px 12px;border:1px dashed #456170;border-radius:11px;color:var(--muted)}.appointment-list{display:grid;gap:9px}.appointment-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:13px;border:1px solid #234050;border-radius:13px;background:#0a1923}.appointment-time{min-width:100px;text-align:center;padding:9px;border-radius:11px;background:#173d58;color:#c8e4ff;font-weight:900}.appointment-main small{display:block;color:var(--muted);margin-top:4px}.appointment-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#273d4d;color:#d6e7f0;font-size:11px;font-weight:900}.appointment-status.arrived{background:#5b430f;color:#ffe092}.appointment-status.in_progress{background:#173d78;color:#b9dcff}.appointment-status.completed{background:#104d38;color:#83f2bd}.appointment-status.cancelled,.appointment-status.no_show{background:#5c1d27;color:#ffb1b8}.appointment-actions{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:7px}.appointment-action{min-height:36px;font-size:12px}.appointment-action.secondary{background:#173246}.appointment-action.warning{background:#8a5a13}.appointment-action.danger{background:#7d2430}.appointment-action.success{background:#177a50}.appointment-empty{padding:14px;border:1px dashed #345465;border-radius:12px;color:var(--muted)}@media(max-width:800px){.appointment-form{grid-template-columns:1fr}.appointment-toolbar{align-items:stretch}.appointment-toolbar label{flex:1}.appointment-card{grid-template-columns:1fr}.appointment-time{text-align:left;width:max-content}.appointment-actions{grid-column:auto}.appointment-actions>*{flex:1 1 130px}}
