*{box-sizing:border-box}body{color:#222;background:#f4f4f0;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.container{max-width:640px;margin:0 auto;padding:12px}h1{font-size:1.4rem}h2{border-bottom:2px solid #2e7d32;margin-top:24px;padding-bottom:4px;font-size:1.1rem}.subtitle{color:#555}.info{text-align:center;padding:40px 16px}.error{color:#b71c1c}.tabs{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.tab{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:8px;flex:1;min-width:100px;padding:8px;font-size:.95rem}.tab.active{background:#e8f5e9;border-color:#2e7d32;font-weight:600}.tab-progress{color:#555;font-size:.8rem;display:block}.shift{background:#fff;border:1px solid #ddd;border-radius:8px;margin:10px 0;padding:12px}.shift.open{border-left:5px solid #ef6c00}.shift.full{opacity:.85;border-left:5px solid #2e7d32}.shift-head{margin-bottom:4px}.note{color:#666;font-size:.9rem}.shift-status{margin-bottom:6px;font-size:.9rem}.shift.open .shift-status{color:#ef6c00;font-weight:600}.shift.full .shift-status{color:#2e7d32}.names{margin:0 0 8px;padding:0;list-style:none}.names li{padding:2px 0}.btn{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:6px;padding:8px 16px;font-size:1rem}.btn:disabled{opacity:.5}.btn.danger{background:#b71c1c}.link{color:#1565c0;cursor:pointer;background:0 0;border:none;padding:0 6px;font-size:.9rem}.link:disabled{opacity:.3;cursor:default}.signup-form{flex-direction:column;gap:8px;margin-top:8px;display:flex}.signup-form input,.admin-form input,.admin-form select{border:1px solid #ccc;border-radius:6px;padding:8px;font-size:1rem}.admin-form{background:#fff;border:1px solid #ddd;border-radius:8px;flex-direction:column;gap:8px;margin:12px 0;padding:12px;display:flex}.admin-form label{color:#444;margin-bottom:-4px;font-size:.85rem;font-weight:600}.admin-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.print-container{background:#fff;max-width:800px;margin:0 auto;padding:16px}.print-container table{border-collapse:collapse;width:100%;margin-bottom:12px}.print-container th,.print-container td{text-align:left;border:1px solid #999;padding:4px 6px;font-size:.9rem}@media print{.no-print{display:none}.print-day{break-inside:avoid}body{background:#fff}}
