/* OPDlive line icons (js/icons.js) */
svg.ic{display:inline-block;width:1.1em;height:1.1em;vertical-align:-0.18em;flex:none;}
svg.ic.ic-ok{color:#1f7a3a;} svg.ic.ic-bad{color:#c62828;} svg.ic.ic-warn{color:#b26b00;}
/* bigger icon boxes keep their size */
.qa-icon svg.ic,.dash-help-icon svg.ic{width:26px;height:26px;vertical-align:middle;}
.dash-bell svg.ic,.doc-bell svg.ic,.rec-bell svg.ic,.hos-bell svg.ic{width:24px;height:24px;vertical-align:middle;}
.notice-bar .notice-icon svg.ic{width:22px;height:22px;vertical-align:middle;color:#105272;}
.role-icon svg.ic{width:30px;height:30px;}
.qa-icon svg.ic,.dash-help-icon svg.ic{color:#105272;}
/* Upcoming appointments (js/upcoming.js) */
.up-wrap{margin:6px 0 22px;}
.up-wrap h4{font-size:15px;margin:0 0 10px;}
.up-day{background:#fff;border:1px solid #e6ecf2;border-radius:12px;margin-bottom:10px;overflow:hidden;}
.up-day-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#eef4fb;font-size:14px;color:#105272;}
.up-day-head span{font-size:12px;color:#51666d;}
.up-row{display:grid;grid-template-columns:1fr 110px 130px;gap:10px;align-items:center;padding:10px 14px;border-top:1px solid #f0f3f6;font-size:14px;}
.up-sub{font-size:12px;color:#777;}
.up-time{color:#555;font-size:13px;}
.up-status{font-size:12px;font-weight:600;text-align:right;}
.up-status.pend{color:#b26b00;} .up-status.ok{color:#1f7a3a;}
.up-empty{padding:20px;color:#888;text-align:center;background:#fff;border:1px dashed #d6dde4;border-radius:12px;}
.up-mini{display:flex;align-items:center;gap:10px;width:100%;background:#eef4fb;border:1px solid #d6e4f2;border-radius:12px;padding:12px 16px;font:inherit;color:#105272;cursor:pointer;margin-bottom:16px;text-align:left;}
.up-mini span{flex:1;font-weight:600;} .up-mini b{font-size:13px;}
.up-tabs{display:flex;gap:8px;margin-bottom:12px;}
.up-tabs button{border:1px solid #d6dde4;background:#fff;border-radius:20px;padding:7px 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;}
.up-tabs button.on{background:#105272;color:#fff;border-color:#105272;}
@media (max-width:560px){ .up-row{grid-template-columns:1fr auto;} .up-status{grid-column:1/-1;text-align:left;} }
/* menu items with an icon: icon + text together on the left */
.doc-nav li a{justify-content:flex-start;}
.doc-nav li a svg.ic{margin-right:8px;}
.doc-nav li a .nav-badge{margin-left:auto;}
