:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#172033;background:#f4f7fb;line-height:1.4}*{box-sizing:border-box}body{margin:0}main{max-width:1100px;margin:auto;padding:36px 22px 70px}header{display:flex;align-items:end;justify-content:space-between;margin-bottom:24px}h1{font-size:clamp(1.8rem,4vw,2.7rem);margin:2px 0}h2{margin:0;font-size:1.2rem}p{margin:4px 0;color:#667085}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.72rem;color:#3568d4}.next-card{background:linear-gradient(120deg,#173f92,#3178e8);color:white;border-radius:18px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:25px;box-shadow:0 13px 32px #2356a82b;margin-bottom:22px}.next-card span{display:block;opacity:.8;font-size:.85rem}.next-card strong{display:block;font-size:1.8rem}.next-card form{display:flex;gap:10px;flex:1;justify-content:flex-end}.next-card input{max-width:240px}.grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:22px}.panel{background:white;border:1px solid #e3e9f2;border-radius:16px;padding:22px;box-shadow:0 5px 18px #1b31520a}.panel-title{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid #edf0f5;padding-bottom:16px}.panel-title p{font-size:.84rem}.state-filter{display:flex;align-items:center;gap:9px;margin:14px 0}.state-filter label{font-size:.82rem;font-weight:750;color:#59657a}.state-filter select{min-width:130px}.count{background:#eef4ff;color:#2f63c6;border-radius:100px;padding:4px 10px;font-weight:800}.roster{list-style:none;padding:0;margin:10px 0}.roster li{display:flex;align-items:center;gap:12px;padding:12px 5px;border-bottom:1px solid #edf0f5}.roster li[draggable="true"]{cursor:grab}.roster li.dragging{opacity:.35;border:2px dashed #3974d8}.roster li.next-up{background:#edf5ff;border:1px solid #b9d2ff;border-radius:10px;padding-left:10px;padding-right:10px;box-shadow:0 3px 10px #2868d712}.roster li.unavailable{opacity:.57}.position{width:27px;height:27px;border-radius:8px;background:#edf3ff;color:#3363be;display:grid;place-items:center;font-weight:800}.person{display:flex;flex-direction:column;flex:1}.person span{font-size:.78rem;color:#738098}.move{display:flex;gap:4px}.move form{display:inline}.assign-person{background:#2868d7;color:white;min-width:66px}.availability{min-width:48px}.availability.yes{background:#e7f8ee;color:#147744}.availability.no{background:#fff0f0;color:#bc3232}.delete{color:#c73333;background:#fff0f0;font-size:1.1rem}.add-form{display:grid;grid-template-columns:1fr 80px auto auto;gap:9px;margin-top:18px}.history ul{list-style:none;padding:0;margin:10px 0}.history li{display:flex;justify-content:space-between;padding:13px 3px;border-bottom:1px solid #edf0f5}.history li div{display:flex;flex-direction:column}.history li span,.history time{font-size:.8rem;color:#778198}.empty{text-align:center;padding:30px 5px}button,input,select{font:inherit;border-radius:9px;border:1px solid #d8e0eb;padding:9px 12px}input,select{background:#fff;color:#172033}button{background:#2868d7;color:white;border:0;font-weight:750;cursor:pointer}button:hover{filter:brightness(.95)}button:disabled{opacity:.45;cursor:not-allowed}.secondary{background:white;color:#345481;border:1px solid #ced8e7}.header-actions{display:flex;gap:9px;align-items:center}.danger{background:#c93636;color:white}.flash{padding:11px 15px;border-radius:10px;margin-bottom:15px}.flash.success{background:#e6f7ed;color:#17643e}.flash.error{background:#fff0f0;color:#9d2d2d}@media(max-width:760px){header{align-items:start}.next-card{align-items:stretch;flex-direction:column}.next-card form{justify-content:stretch;flex-direction:column}.next-card input{max-width:none}.grid{grid-template-columns:1fr}.add-form{grid-template-columns:1fr}.move{display:none}}

.importer{margin-bottom:22px}.importer summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none}.importer summary::-webkit-details-marker{display:none}.importer summary span:first-child{display:flex;flex-direction:column}.importer summary small{color:#6f7b90;margin-top:3px}.open-label{color:#3568d4;font-weight:750}.importer[open] summary{padding-bottom:16px;border-bottom:1px solid #edf0f5;margin-bottom:16px}.importer form{display:grid;gap:10px}.importer textarea{width:100%;resize:vertical;font:inherit;border:1px solid #d8e0eb;border-radius:10px;padding:13px}.import-note{font-size:.8rem;color:#778198}
