*,:before,:after{box-sizing:border-box}html,body{color:#1a1a1a;background:#fff;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}main{max-width:40rem;margin:0 auto;padding:1.5rem 1rem}h1{overflow-wrap:anywhere;margin:0;font-size:1.75rem;line-height:1.2}.test-banner{z-index:10;color:#fff;text-align:center;letter-spacing:.04em;background:#c2410c;padding:.5rem 1rem;font-weight:700;position:sticky;top:0}.muted{color:#555}main:has(.weeks){max-width:56rem}h2{margin:2rem 0 .5rem;font-size:1.25rem}ul.plain{margin:0;padding:0;list-style:none}.row{align-items:center;gap:.5rem .75rem;margin:.4rem 0;display:flex}.row.wrap{flex-wrap:wrap}.grow{flex:12rem;min-width:0}label{color:#555;flex-direction:column;gap:.2rem;font-size:.85rem;display:flex}input,select,button{font:inherit;color:#1a1a1a;background:#fff;border:1px solid #8a8a8a;border-radius:.35rem;max-width:100%;min-height:2.5rem;padding:.25rem .6rem}input[type=color]{width:3rem;padding:.1rem}button{cursor:pointer;background:#f1f1f1}button.link{color:#0b57d0;background:0 0;border:0;padding:0 .25rem;text-decoration:underline}button.link.current{color:#1a1a1a;font-weight:700;text-decoration:none}.badge{color:#14501c;background:#dff3e1;border-radius:1rem;padding:.1rem .5rem;font-size:.8rem}.badge.closed{color:#333;background:#e4e4e4}.error{color:#a30000;margin:.3rem 0}.week{border:1px solid #c8c8c8;border-left-width:.5rem;border-radius:.4rem;margin:.6rem 0;padding:.5rem .75rem}.week.closed{background:#f0f0f0}.week p{margin:.2rem 0}.notes{margin-top:.5rem}.legend{flex-wrap:wrap;gap:.5rem 1rem;display:flex}.chip i{vertical-align:-.15rem;border:1px solid #8a8a8a;width:1rem;height:1rem;display:inline-block}.warning{background:#fff4e0;border:1px solid #b26a00;border-radius:.35rem;margin:.4rem 0;padding:.25rem .75rem}button:disabled{opacity:.5;cursor:not-allowed}.admin-nav{margin:0 0 1rem}main:has(.people){max-width:56rem}.panel{border:1px solid #c8c8c8;border-radius:.4rem;margin:.6rem 0;padding:.5rem .75rem .75rem}.panel h2,.panel h3{margin:.5rem 0;font-size:1.05rem}.person{border-bottom:1px solid #e0e0e0;padding:.25rem 0}textarea{font:inherit;resize:vertical;border:1px solid #8a8a8a;border-radius:.35rem;max-width:100%;padding:.35rem .6rem}label.wide{flex-basis:100%}.link-box{font-family:ui-monospace,Consolas,monospace;font-size:.85rem}.danger{border-top:1px solid #e0b4b4;margin-top:1rem;padding-top:.25rem}main:has(.staff){max-width:64rem}.staff-header p{margin:.3rem 0}.staff-blocks{grid-template-columns:minmax(0,1fr);gap:0 1.5rem;display:grid}@media (width>=48rem){.staff-blocks{grid-template-columns:repeat(2,minmax(0,1fr))}}.staff-blocks h2{margin:1.5rem 0 .5rem}.card{overflow-wrap:anywhere;border:1px solid #c8c8c8;border-radius:.4rem;margin:.5rem 0;padding:.5rem .75rem}.card h3{margin:0;font-size:1rem}.card .dates{margin-left:.4rem;font-weight:400}.card p{margin:.25rem 0 0;font-size:.92rem}.card.closed{color:#555;background:#ececec;border-style:dashed}.closed-reason,.note-kind{font-weight:600}.narrow{width:5.5rem}.round{border:1px solid #c8c8c8;border-radius:.4rem;margin:.6rem 0;padding:.5rem .75rem}.grid-scroll{border:1px solid #c8c8c8;border-radius:.4rem;max-width:100%;overflow-x:auto}table.grid{border-collapse:collapse;min-width:100%}table.grid th,table.grid td{text-align:left;vertical-align:top;white-space:nowrap;border-bottom:1px solid #e4e4e4;padding:.3rem .5rem;font-weight:400}table.grid thead th{background:#f6f6f6;font-weight:700}table.grid tbody th{background:#fff;font-weight:700;position:sticky;left:0}table.grid tr.inactive th{font-weight:400}table.grid td.over{color:#a30000;font-weight:700}.rounds-list ul{margin:0}.round-block{border:1px solid #c8c8c8;border-radius:.4rem;margin:.5rem 0;padding:.5rem .75rem}.round-block p{margin:.25rem 0 0}.round-block.completed{color:#444;background:#f0f0f0}.round-block.open{border-width:2px;border-color:#14501c}.round-block.not_open{color:#555}main:has(.rounds){max-width:56rem}.card-tap{text-align:left;width:100%;min-height:3rem;font:inherit;color:inherit;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.15rem;margin:0;padding:.25rem 0;display:flex}.card-title{font-weight:700}.card-state{color:#555;font-size:.88rem}.card.selected{background:#e8f0fe;border:2px solid #0b57d0}.card.selected .card-state{color:#0b3d91;font-weight:600}.card.confirmed{background:#dff3e1;border:2px solid #14501c}.card.confirmed .card-state{color:#14501c;font-weight:700}.card.confirmed .card-state:before{content:"🔒︎ "}.days{margin-top:.25rem}.days button.link{min-height:2.5rem;padding:0 .25rem}.day-grid{border:0;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;margin:.25rem 0 0;padding:0;display:grid}.day-grid legend{color:#333;margin-bottom:.25rem;font-size:.85rem}label.day{color:#1a1a1a;cursor:pointer;background:#fff;border:1px solid #8a8a8a;border-radius:.35rem;flex-direction:column;align-items:center;gap:.1rem;min-height:3.25rem;padding:.2rem 0;font-size:.8rem;display:flex}label.day.on{color:#fff;background:#0b57d0;border-color:#0b57d0}label.day input{width:1.1rem;height:1.1rem;min-height:0;margin:0}.day-num{font-weight:700}.pick-list{margin:.25rem 0;padding-left:1.2rem}.round-block.current{background:#f3f8ff}.staff.picking{padding-bottom:5rem}.submit-bar{z-index:5;padding:.5rem 1rem calc(.5rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #c8c8c8;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 6px #00000014}.submit-bar .row{max-width:64rem;margin:0 auto}.submit-bar .error-line{max-width:64rem;margin:0 auto .3rem}.error-line .error{margin:0 0 .3rem}.round-note{color:#8a4b00;font-weight:600}button.primary{color:#fff;background:#0b57d0;border-color:#0b57d0;padding:.25rem 1.25rem;font-weight:700}.overlay{z-index:10;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.dialog{background:#fff;border-radius:.5rem;width:100%;max-width:28rem;max-height:100%;padding:1rem;overflow-y:auto}.dialog h2{margin-top:0}.success{background:#dff3e1;border:2px solid #14501c;border-radius:.5rem;padding:1rem}.person-round p{margin:0 0 .4rem}
