:root{font-family:system-ui,-apple-system,sans-serif;color-scheme:light dark;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-height:100vh}.app{max-width:960px;margin:0 auto;padding:1rem;display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid color-mix(in srgb,currentColor 20%,transparent)}.app-title{font-weight:700}.app-header nav{display:flex;gap:1rem;align-items:center}main{flex:1;padding:2rem 0}button{font:inherit;cursor:pointer}input{font:inherit;padding:.5rem .75rem;border-radius:6px;border:1px solid color-mix(in srgb,currentColor 30%,transparent);background:transparent;color:inherit}.muted{opacity:.65;font-size:.9em}.error{color:#dc2626;margin-top:.5rem}.success{color:#16a34a;margin-top:.5rem}.tonight{display:flex;flex-direction:column;align-items:center;gap:1.25rem;text-align:center;padding-top:2rem}.tonight h1{margin:0}.tonight .program-name{font-size:1.5rem}.run-panel{display:flex;flex-direction:column;align-items:center;gap:1rem}.connect-run{font-size:1.5rem;padding:1.25rem 3rem;border-radius:12px;border:none;background:#2563eb;color:#fff}.connect-run:disabled{opacity:.5;cursor:default}.status-panel{border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:8px;padding:1rem 1.5rem;min-width:320px;text-align:left}.anytime-list{width:100%;max-width:480px;text-align:left}.anytime-list h2{font-size:1rem}.list-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:.6rem .9rem;border:1px solid color-mix(in srgb,currentColor 15%,transparent);border-radius:8px;background:transparent;color:inherit;text-align:left;margin-bottom:.4rem}.list-row.selectable:hover{border-color:#2563eb}.list-row.selected{border-color:#2563eb;background:color-mix(in srgb,#2563eb 10%,transparent)}.result-list{margin-top:1rem}.link-button{background:none;border:none;color:#2563eb;padding:0;text-decoration:underline}.link-button.danger{color:#dc2626}.auth-screen{max-width:380px;margin:0 auto}.stacked-form{display:flex;flex-direction:column;gap:.9rem;margin-top:1rem}.stacked-form label{display:flex;flex-direction:column;gap:.3rem}.stacked-form button[type=submit]{padding:.7rem;border-radius:8px;border:none;background:#2563eb;color:#fff}.search-input{width:100%;margin-top:.5rem}.program-detail{margin-top:1rem}.tabs{display:flex;gap:.5rem;margin-bottom:1.25rem}.tab{padding:.5rem 1rem;border-radius:8px;border:1px solid color-mix(in srgb,currentColor 20%,transparent);background:transparent;color:inherit}.tab.active{background:#2563eb;border-color:#2563eb;color:#fff}.inline-form{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.inline-form input{flex:1;min-width:180px}.inline-form button{padding:.5rem 1rem;border-radius:8px;border:none;background:#2563eb;color:#fff}.patient-list{margin-top:.75rem}.row-main{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex:1;background:none;border:none;color:inherit;text-align:left;padding:0}.row-actions{display:flex;gap:.75rem;white-space:nowrap}.badge{font-size:.75rem;padding:.1rem .5rem;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);opacity:.8}.badge-ok{border-color:#16a34a;color:#16a34a}.checkbox-label{display:inline-flex;align-items:center;gap:.3rem;margin-bottom:.5rem}.schedule-section{margin-top:1.5rem}.patient-programs{margin-top:1.5rem;border-top:1px solid color-mix(in srgb,currentColor 15%,transparent);padding-top:1rem}.patient-programs h3{margin-top:0}.org-switcher{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:1rem}.org-switcher select{font:inherit;padding:.35rem .5rem;border-radius:6px}.schedule-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}@media (min-width: 800px){.schedule-grid{grid-template-columns:repeat(8,1fr)}}.schedule-cell{border:1px solid color-mix(in srgb,currentColor 15%,transparent);border-radius:8px;padding:.5rem;min-height:90px;display:flex;flex-direction:column;gap:.4rem}.schedule-day{font-weight:600;font-size:.85rem}.chip{border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:6px;padding:.25rem .4rem;font-size:.78rem;position:relative;word-break:break-word}.chip-name{display:block}.chip-remove{position:absolute;top:0;right:.2rem;background:none;border:none;color:#dc2626;font-size:.9rem;padding:0}.upload-row{margin-bottom:1rem}.upload-label{display:flex;flex-direction:column;gap:.4rem;font-weight:600}.picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:10}.picker{background:canvas;color:canvastext;border-radius:12px;padding:1.25rem;width:min(480px,92vw);max-height:80vh;display:flex;flex-direction:column;gap:.75rem}.picker-results{overflow-y:auto;flex:1}.disclaimer{font-size:.75rem;opacity:.7;border-top:1px solid color-mix(in srgb,currentColor 20%,transparent);padding-top:.75rem}.library-body{display:flex;gap:.5rem;margin-top:.75rem}.result-list.scrollable{flex:1;max-height:65vh;overflow-y:auto;margin-top:0;scroll-behavior:auto}.letter-bar{display:flex;flex-direction:column;position:sticky;top:0;align-self:flex-start}.letter-jump{background:none;border:none;color:#2563eb;font-size:.72rem;padding:0 .4rem;line-height:1.5}.letter-jump:disabled{color:color-mix(in srgb,currentColor 25%,transparent);cursor:default}.my-programs{margin-bottom:1rem}.my-programs h2{font-size:1rem;margin-bottom:.4rem}.stack-tray{position:sticky;bottom:0;background:canvas;border:1px solid #2563eb;border-radius:10px;padding:.75rem 1rem;margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 -4px 16px #0000001f}.stack-header{display:flex;justify-content:space-between;align-items:center}.stack-chips{display:flex;flex-wrap:wrap;gap:.4rem}.stack-chips .chip{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .5rem}.chip-controls button{background:none;border:none;color:inherit;padding:0 .15rem;font-size:.75rem;opacity:.7}.chip-controls button:hover{opacity:1}.stack-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.stack-actions input{flex:1;min-width:160px}.stack-actions button{padding:.45rem .9rem;border-radius:8px;border:none;background:#2563eb;color:#fff}.stack-actions button:disabled{opacity:.5}.stack-order{text-align:left;margin:0 auto 1rem;max-width:420px}.machine-options{max-width:460px;text-align:left;font-size:.9rem}.machine-options summary{cursor:pointer;color:#2563eb}.machine-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.machine-buttons button{padding:.45rem .8rem;border-radius:8px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);background:transparent;color:inherit}
