/* step31 Chairside Scheduling (sea green, big tap targets) */
.sc-tabs{display:flex;gap:4px;overflow-x:auto;margin:0 0 12px;padding:4px;background:#fff;border:1px solid #e1e9e4;border-radius:12px;align-items:center;scrollbar-width:none}
.sc-tabs a{flex:none;padding:8px 12px;border-radius:9px;text-decoration:none;color:#34424f;font-weight:600;font-size:14px}.sc-tabs a.on{background:#2E8B57;color:#fff}
.sc-loc{margin-left:auto;flex:none;font-size:12px;color:#6b7c8f;padding:0 8px}
.sc-rolehint{font-size:13px;color:#4a5866;background:#E8F5EE;border-radius:10px;padding:8px 12px;margin:0 0 10px}
.cs-main:has(.sc-book){max-width:none}
.sc-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}
.sc-bar input[type=date]{width:auto;min-height:40px;margin:0;padding:6px 10px;font-size:15px}
.sc-title{font-size:18px;margin-right:auto}
.sc-seg{display:inline-flex;border:1px solid #cfd8e0;border-radius:10px;overflow:hidden;background:#fff}
.sc-seg button{border:0;background:none;padding:9px 13px;font:inherit;font-weight:600;color:#34424f;cursor:pointer;min-height:40px}.sc-seg button+button{border-left:1px solid #e1e9e4}
.sc-seg button.on{background:#2E8B57;color:#fff}
.sc-chk{display:inline-flex;align-items:center;margin:0;font-weight:500;font-size:14px}
.sc-legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:#4a5866;margin-bottom:6px}.sc-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}.sc-lg-st{color:#6b7c8f}
.sc-tip{font-size:13px;color:#6b7c8f;margin:0 0 8px}
.sc-gridwrap{overflow:auto;max-height:calc(100vh - 230px);border:1px solid #e1e9e4;border-radius:12px;background:#fff;position:relative}
.sc-loading{padding:40px;text-align:center;color:#6b7c8f}
.sc-grid{display:grid;min-width:min-content}
.sc-corner{position:sticky;left:0;z-index:4;background:#fff}
.sc-dayh,.sc-colh{position:sticky;z-index:3;background:#F4FAF6;border-bottom:1px solid #e1e9e4;text-align:center;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-dayh{top:0;padding:6px 4px;font-size:14px;border-left:2px solid #cfe3d7}.sc-dayh a{color:#1E6B42;text-decoration:none}.sc-dayh.today{background:#2E8B57}.sc-dayh.today a{color:#fff}
.sc-colh{top:0;padding:7px 4px;font-size:13px;color:#34424f}.sc-week .sc-colh{top:31px;font-size:11px;padding:4px 2px}.sc-colh i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}
.sc-colh.first,.sc-col.first{border-left:2px solid #cfe3d7}
.sc-times{position:sticky;left:0;z-index:2;background:#fff;border-right:1px solid #e1e9e4}.sc-times span{position:absolute;right:6px;font-size:11px;color:#6b7c8f;transform:translateY(-1px)}
.sc-col{position:relative;border-left:1px solid #eef1f4;background-image:linear-gradient(#eef1f4 1px,transparent 1px);cursor:copy}
.sc-col.today{background-color:#FBFEFC}
.sc-closed{position:absolute;left:0;right:0;background:repeating-linear-gradient(135deg,#f1f3f5 0 6px,#e9ecef 6px 12px);pointer-events:none;display:flex;align-items:flex-start;justify-content:center}
.sc-closed span,.sc-lunch span{font-size:11px;color:#6b7c8f;font-weight:600;margin-top:4px}
.sc-closed.off{background:repeating-linear-gradient(135deg,#FFF3D6 0 6px,#fdebc0 6px 12px);pointer-events:auto;cursor:not-allowed}
.sc-lunch{position:absolute;left:0;right:0;background:#F1F5F9;border-top:1px dashed #cbd5e1;border-bottom:1px dashed #cbd5e1;pointer-events:none;display:flex;justify-content:center}
.sc-now{position:absolute;left:0;right:0;height:2px;background:#E5484D;z-index:2;pointer-events:none}
.sc-ap{position:absolute;z-index:1;overflow:hidden;border-radius:7px;background:color-mix(in srgb,var(--c) 16%,#fff);border:1px solid color-mix(in srgb,var(--c) 45%,#fff);border-left:4px solid var(--c);padding:2px 5px;font-size:12px;line-height:1.25;cursor:pointer;color:#1f2d3d;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.sc-ap b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.sc-ap span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#4a5866;font-size:11px}
.sc-ap em{font-style:normal;color:var(--c)}.sc-ap.mv{cursor:grab}
.sc-week .sc-ap{padding:1px 3px}.sc-week .sc-ap b{font-size:10.5px}
.sc-ap.st-confirmed{background:color-mix(in srgb,var(--c) 22%,#fff)}
.sc-ap.st-checked_in{box-shadow:0 0 0 2px #2E8B57;background:color-mix(in srgb,var(--c) 30%,#fff)}
.sc-ap.st-in_chair{background:var(--c);color:#fff}.sc-ap.st-in_chair span,.sc-ap.st-in_chair em{color:#fff}
.sc-ap.st-done{opacity:.55}.sc-ap.st-no_show{background:repeating-linear-gradient(135deg,#fde7e7 0 5px,#fff 5px 10px);border-color:#f3b4b4;border-left-color:#B42318}
.sc-ap.st-cancelled{opacity:.45;text-decoration:line-through;border-style:dashed}
.sc-ap.labbad{outline:2px solid #C0392B;outline-offset:-1px}
.sc-ghost{position:fixed;z-index:9999;pointer-events:none;opacity:.85;box-shadow:0 8px 24px rgba(0,0,0,.25)}.sc-dragging{opacity:.3}
.sc-modal{position:fixed;inset:0;z-index:1000;background:rgba(15,30,25,.45);display:flex;align-items:flex-start;justify-content:center;padding:4vh 10px;overflow:auto}.sc-modal[hidden]{display:none}
.sc-sheet{background:#fff;border-radius:16px;width:100%;max-width:560px;padding:16px 18px 18px;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.sc-sheet-h{display:flex;align-items:center;justify-content:space-between}.sc-sheet-h h2{margin:0;font-size:19px}
.sc-x{border:0;background:#E8F5EE;color:#1E6B42;font-size:24px;line-height:1;width:40px;height:40px;border-radius:50%;cursor:pointer}
body.sc-noscroll{overflow:hidden}
.sc-form label{margin-top:10px}
.sc-pick{position:relative}.sc-pick-r{position:absolute;left:0;right:0;top:100%;z-index:5;background:#fff;border:1px solid #cfd8e0;border-radius:10px;box-shadow:0 8px 20px rgba(0,0,0,.12);max-height:260px;overflow:auto;margin-top:4px}
.sc-pick-r button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #eef1f4;background:#fff;padding:10px 12px;font:inherit;cursor:pointer}.sc-pick-r button:hover{background:#E8F5EE}.sc-pick-r small{display:block;color:#6b7c8f;font-weight:400}.sc-pick-r p{padding:10px 12px;margin:0}
.sc-newp{margin-top:8px}.sc-newp summary{cursor:pointer;color:#1E6B42;font-weight:700}
.sc-labrow{margin-top:4px}
.sc-labbox{border-radius:12px;padding:10px 12px;margin:10px 0;font-size:14px;border:1px solid}.sc-labbox b{display:block}.sc-labbox span{display:block;margin-top:2px}
.sc-labbox.ok{background:#E8F5EE;border-color:#b9dfc8;color:#1E6B42}.sc-labbox.warn{background:#FFF3D6;border-color:#F5D77A;color:#7a4f00}.sc-labbox.bad{background:#FDE7E7;border-color:#f3b4b4;color:#B42318}
.sc-ad-top{border-left:6px solid var(--c);padding:6px 0 6px 12px;margin:8px 0}.sc-ad-top b{font-size:20px;display:block}.sc-ad-top span{display:block;color:#4a5866}
.sc-ad-top .sc-st{display:inline-block;margin-top:6px}
.sc-ad-c{margin:4px 0;font-size:14px}.sc-ad-note{background:#F8FBF9;border-radius:8px;padding:8px 10px;font-size:14px;margin:6px 0}
.sc-ad-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}
.sc-big{min-height:52px;padding:0 22px;border:0;border-radius:12px;background:#2E8B57;color:#fff;font:inherit;font-size:17px;font-weight:800;cursor:pointer;box-shadow:0 3px 0 #1F6B45}
.sc-big:active{transform:translateY(2px);box-shadow:none}.sc-big.confirmed{background:#3B6BB5;box-shadow:0 3px 0 #24426E}.sc-big.seat,.sc-big.in_chair{background:#6A4C9C;box-shadow:0 3px 0 #46306B}.sc-big.done{background:#475569;box-shadow:0 3px 0 #1e293b}
.sc-ad-edit{margin-top:10px;border-top:1px solid #eef1f4;padding-top:8px}.sc-ad-edit summary{cursor:pointer;font-weight:700;color:#1E6B42}
.sc-st{font-size:12px;font-weight:700;padding:2px 9px;border-radius:20px;white-space:nowrap;background:#EEF1F4;color:#4a5866}
.sc-st.st-confirmed{background:#E3F0FB;color:#1c5d8f}.sc-st.st-checked_in{background:#E8F5EE;color:#1E6B42}.sc-st.st-in_chair{background:#EFE7FA;color:#5b3d8c}.sc-st.st-done{background:#eee;color:#555}.sc-st.st-no_show,.sc-st.st-cancelled{background:#FDE7E7;color:#B42318}
.sc-openbox{background:#E8F5EE;border-radius:12px;padding:10px 12px;margin-top:10px}
.sc-mlist{list-style:none;margin:6px 0 0;padding:0}.sc-mlist li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid rgba(0,0,0,.06);flex-wrap:wrap}
.sc-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:1100;background:#1E6B42;color:#fff;padding:12px 18px;border-radius:12px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.2);max-width:92vw}.sc-toast.bad{background:#B42318}
.sc-badge{display:inline-block;font-size:12px;font-weight:700;padding:2px 8px;border-radius:20px;background:#EEF1F4;color:#4a5866;white-space:nowrap}
.sc-badge.ok{background:#E8F5EE;color:#1E6B42}.sc-badge.bad{background:#FDE7E7;color:#B42318}.sc-badge.amber{background:#FFF3D6;color:#8a5a00}
/* Today */
.sc-dayform{display:flex;gap:6px;align-items:center;margin-left:auto}.sc-dayform input{width:auto;margin:0;min-height:38px;padding:5px 8px;font-size:14px}
.sc-counts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.sc-counts span{background:#fff;border:1px solid #e1e9e4;border-radius:12px;padding:8px 14px;font-size:14px;color:#4a5866}.sc-counts b{font-size:20px;color:#1E6B42;margin-right:4px}.sc-counts .hot{border-color:#2E8B57;box-shadow:0 0 0 2px rgba(46,139,87,.2)}.sc-counts .grey b{color:#8795a4}
.sc-arr{list-style:none;margin:0;padding:0}
.sc-arow{display:grid;grid-template-columns:86px 1fr auto;gap:12px;align-items:center;background:#fff;border:1px solid #e1e9e4;border-radius:14px;padding:12px 14px;margin-bottom:8px}
.sc-arow.st-checked_in{border-color:#2E8B57;box-shadow:0 0 0 2px rgba(46,139,87,.25)}.sc-arow.st-in_chair{border-color:#6A4C9C}.sc-arow.st-done,.sc-arow.st-no_show{opacity:.6}.sc-arow.late{border-color:#E8A317}
.sc-atime b{display:block;font-size:18px}.sc-atime span{font-size:12px;color:#6b7c8f}
.sc-awho{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.sc-aname{font-size:17px;font-weight:800;color:#1f2d3d;text-decoration:none}.sc-ameta{width:100%;font-size:13px;color:#4a5866}
.sc-tchip{font-size:12px;font-weight:700;padding:2px 9px;border-radius:20px;background:color-mix(in srgb,var(--c) 18%,#fff);color:color-mix(in srgb,var(--c) 80%,#000);border:1px solid color-mix(in srgb,var(--c) 40%,#fff)}
.sc-lab{display:block;width:100%;font-size:13px;font-weight:700;border-radius:8px;padding:5px 8px}.sc-lab small{display:block;font-weight:400}
.sc-lab.bad{background:#FDE7E7;color:#B42318}.sc-lab.warn{background:#FFF3D6;color:#7a4f00}.sc-lab.ok{background:none;color:#1E6B42;padding:0;font-weight:600}
.sc-wait{font-size:13px;font-weight:700;color:#1E6B42}.sc-wait.long{color:#B42318}
.sc-aact{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.sc-stl{font-weight:700;color:#6b7c8f}
@media (max-width:640px){.sc-arow{grid-template-columns:64px 1fr}.sc-aact{grid-column:1/-1;flex-direction:row;justify-content:flex-end}.sc-aact .sc-big{flex:1}}
/* lists */
.sc-search{display:flex;gap:8px;margin-bottom:12px}.sc-search input{margin:0}.sc-search .cs-btn{margin:0}
.sc-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}
.sc-chips a.on{background:#2E8B57;color:#fff;border-color:#2E8B57}
.sc-rlist,.sc-wlist{list-style:none;margin:0;padding:0}
.sc-rrow{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;background:#fff;border:1px solid #e1e9e4;border-radius:14px;padding:12px 14px;margin-bottom:8px}.sc-rrow.late{border-left:5px solid #E5484D}
.sc-rwho a{color:#1f2d3d;text-decoration:none;font-size:16px}.sc-ract{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.sc-slots{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.sc-slots[hidden]{display:none}
.sc-slot{border:2px solid #2E8B57;background:#fff;border-radius:12px;padding:8px 12px;font:inherit;cursor:pointer;text-align:left;min-height:48px}.sc-slot:hover{background:#E8F5EE}.sc-slot b{display:block;color:#1E6B42}.sc-slot small{color:#4a5866}
.sc-wlist li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid #eef1f4}.sc-wact{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sc-open{border:1px solid #b9dfc8;background:#F4FAF6;border-radius:12px;padding:10px 12px;margin-bottom:8px}.sc-sm{font-size:13px;margin:4px 0}
.sc-days{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px}.sc-days label{margin:0}.sc-asap{margin-top:34px}
.sc-tablewrap{overflow-x:auto}.sc-table{width:100%;border-collapse:collapse;font-size:14px}.sc-table th{text-align:left;font-size:12px;color:#6b7c8f;padding:6px;border-bottom:1px solid #e1e9e4}.sc-table td{padding:7px 6px;border-bottom:1px solid #eef1f4;vertical-align:top}
.sc-table input,.sc-table select{margin:0;min-height:38px;padding:6px 8px;font-size:14px}.sc-table input[type=color]{width:46px;padding:2px}.sc-table input[type=number]{width:80px}.sc-nowrap{white-space:nowrap}
.sc-skip{display:block;color:#8a5a00;font-size:12px}.sc-msgprev{background:#E8F5EE;border-radius:12px 12px 12px 2px;padding:10px 12px;max-width:420px}
.sc-h3{font-size:15px;margin:16px 0 0}
.sc-hgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.sc-hours{border:1px solid #e1e9e4;border-radius:12px;padding:10px 12px}.sc-hours h3{margin:0 0 6px;font-size:15px}
.sc-hrow{display:grid;grid-template-columns:76px 1fr 22px 1fr;gap:6px;align-items:center;margin:4px 0}.sc-hrow label{margin:0}.sc-hrow input[type=time]{margin:0;min-height:36px;padding:4px 6px;font-size:14px}.sc-hrow span{text-align:center;color:#8795a4;font-size:12px}.sc-hl{font-size:14px}
.sc-offform{display:grid;grid-template-columns:2fr 1fr 1fr 2fr auto;gap:8px;align-items:end}.sc-offform label{margin:0}.sc-offform .cs-btn{margin:0}
@media (max-width:760px){.sc-offform{grid-template-columns:1fr}.cs-grid2.sc-pgrid{grid-template-columns:1fr}}
/* Call Doctor op tile tag (step31) */
.sc-optag{display:block;margin-top:4px;font-size:13px;font-weight:700;background:rgba(255,255,255,.22);border-radius:10px;padding:2px 10px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-optag.in_chair{background:#fff;color:#46306B}.sc-optag.checked_in{background:#FFE58A;color:#5c4400}.sc-optag.next{background:rgba(255,255,255,.14);font-weight:600}
.sc-finh{font-size:13px;font-weight:700;color:#6b7c8f;margin:14px 2px 6px;text-transform:uppercase;letter-spacing:.04em}
